@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
8 lines (7 loc) • 4.28 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/post-transform-panel/index.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { useAvailablePatterns } from './hooks';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../store/constants';\n\nfunction TemplatesList( { availableTemplates, onSelect } ) {\n\tif ( ! availableTemplates || availableTemplates?.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ availableTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t\tshowTitlesAsTooltip\n\t\t/>\n\t);\n}\n\nfunction PostTransform() {\n\tconst { area, name, slug, postType, postId } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostType, getCurrentPostId } = select( editorStore );\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst type = getCurrentPostType();\n\t\tconst id = getCurrentPostId();\n\t\tconst record = getEditedEntityRecord( 'postType', type, id );\n\n\t\treturn {\n\t\t\tarea: record?.area,\n\t\t\tname: record?.name,\n\t\t\tslug: record?.slug,\n\t\t\tpostType: type,\n\t\t\tpostId: id,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst availablePatterns = useAvailablePatterns( { area, name, slug } );\n\tconst onTemplateSelect = async ( selectedTemplate ) => {\n\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\tblocks: selectedTemplate.blocks,\n\t\t\tcontent: serialize( selectedTemplate.blocks ),\n\t\t} );\n\t};\n\tif ( ! availablePatterns?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ __( 'Design' ) }\n\t\t\tinitialOpen={ postType === TEMPLATE_PART_POST_TYPE }\n\t\t>\n\t\t\t<TemplatesList\n\t\t\t\tavailableTemplates={ availablePatterns }\n\t\t\t\tonSelect={ onTemplateSelect }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function PostTransformPanel() {\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostType } = select( editorStore );\n\t\treturn {\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t}, [] );\n\n\tif (\n\t\t! [ TEMPLATE_PART_POST_TYPE, TEMPLATE_POST_TYPE ].includes( postType )\n\t) {\n\t\treturn null;\n\t}\n\n\treturn <PostTransform />;\n}\n"],
"mappings": ";AAGA,SAAS,WAAW,mBAAmB;AACvC,SAAS,SAAS,iBAAiB;AACnC,SAAS,iBAAiB;AAC1B,SAAS,UAAU;AACnB,SAAS,mCAAmC,yBAAyB;AACrE,SAAS,iBAAiB;AAK1B,SAAS,SAAS,mBAAmB;AACrC,SAAS,4BAA4B;AACrC;AAAA,EACC;AAAA,EACA;AAAA,OACM;AAQL;AANF,SAAS,cAAe,EAAE,oBAAoB,SAAS,GAAI;AAC1D,MAAK,CAAE,sBAAsB,oBAAoB,WAAW,GAAI;AAC/D,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,WAAY;AAAA,MACxB,eAAgB;AAAA,MAChB,gBAAiB;AAAA,MACjB,qBAAmB;AAAA;AAAA,EACpB;AAEF;AAEA,SAAS,gBAAgB;AACxB,QAAM,EAAE,MAAM,MAAM,MAAM,UAAU,OAAO,IAAI,UAAW,CAAE,WAAY;AACvE,UAAM,EAAE,oBAAoB,iBAAiB,IAAI,OAAQ,WAAY;AACrE,UAAM,EAAE,sBAAsB,IAAI,OAAQ,SAAU;AACpD,UAAM,OAAO,mBAAmB;AAChC,UAAM,KAAK,iBAAiB;AAC5B,UAAM,SAAS,sBAAuB,YAAY,MAAM,EAAG;AAE3D,WAAO;AAAA,MACN,MAAM,QAAQ;AAAA,MACd,MAAM,QAAQ;AAAA,MACd,MAAM,QAAQ;AAAA,MACd,UAAU;AAAA,MACV,QAAQ;AAAA,IACT;AAAA,EACD,GAAG,CAAC,CAAE;AACN,QAAM,EAAE,iBAAiB,IAAI,YAAa,SAAU;AACpD,QAAM,oBAAoB,qBAAsB,EAAE,MAAM,MAAM,KAAK,CAAE;AACrE,QAAM,mBAAmB,OAAQ,qBAAsB;AACtD,UAAM,iBAAkB,YAAY,UAAU,QAAQ;AAAA,MACrD,QAAQ,iBAAiB;AAAA,MACzB,SAAS,UAAW,iBAAiB,MAAO;AAAA,IAC7C,CAAE;AAAA,EACH;AACA,MAAK,CAAE,mBAAmB,QAAS;AAClC,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,QAAS;AAAA,MACrB,aAAc,aAAa;AAAA,MAE3B;AAAA,QAAC;AAAA;AAAA,UACA,oBAAqB;AAAA,UACrB,UAAW;AAAA;AAAA,MACZ;AAAA;AAAA,EACD;AAEF;AAEe,SAAR,qBAAsC;AAC5C,QAAM,EAAE,SAAS,IAAI,UAAW,CAAE,WAAY;AAC7C,UAAM,EAAE,mBAAmB,IAAI,OAAQ,WAAY;AACnD,WAAO;AAAA,MACN,UAAU,mBAAmB;AAAA,IAC9B;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,MACC,CAAE,CAAE,yBAAyB,kBAAmB,EAAE,SAAU,QAAS,GACpE;AACD,WAAO;AAAA,EACR;AAEA,SAAO,oBAAC,iBAAc;AACvB;",
"names": []
}