UNPKG

@wordpress/editor

Version:
81 lines (66 loc) 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PostTemplate = PostTemplate; exports.default = void 0; var _element = require("@wordpress/element"); var _lodash = require("lodash"); var _i18n = require("@wordpress/i18n"); var _components = require("@wordpress/components"); var _data = require("@wordpress/data"); var _coreData = require("@wordpress/core-data"); var _store = require("../../store"); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function PostTemplate({}) { const { availableTemplates, selectedTemplate, isViewable } = (0, _data.useSelect)(select => { var _getPostType$viewable, _getPostType; const { getEditedPostAttribute, getEditorSettings, getCurrentPostType } = select(_store.store); const { getPostType } = select(_coreData.store); return { selectedTemplate: getEditedPostAttribute('template'), availableTemplates: getEditorSettings().availableTemplates, isViewable: (_getPostType$viewable = (_getPostType = getPostType(getCurrentPostType())) === null || _getPostType === void 0 ? void 0 : _getPostType.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false }; }, []); const { editPost } = (0, _data.useDispatch)(_store.store); if (!isViewable || (0, _lodash.isEmpty)(availableTemplates)) { return null; } return (0, _element.createElement)(_components.SelectControl, { label: (0, _i18n.__)('Template:'), value: selectedTemplate, onChange: templateSlug => { editPost({ template: templateSlug || '' }); }, options: (0, _lodash.map)(availableTemplates, (templateName, templateSlug) => ({ value: templateSlug, label: templateName })) }); } var _default = PostTemplate; exports.default = _default; //# sourceMappingURL=index.js.map