@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
8 lines (7 loc) • 4.33 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": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAuC;AACvC,uBAAmC;AACnC,wBAA0B;AAC1B,kBAAmB;AACnB,0BAAqE;AACrE,oBAA0B;AAK1B,mBAAqC;AACrC,mBAAqC;AACrC,uBAGO;AAQL;AANF,SAAS,cAAe,EAAE,oBAAoB,SAAS,GAAI;AAC1D,MAAK,CAAE,sBAAsB,oBAAoB,WAAW,GAAI;AAC/D,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC,oBAAAA;AAAA,IAAA;AAAA,MACA,WAAQ,gBAAI,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,QAAI,uBAAW,CAAE,WAAY;AACvE,UAAM,EAAE,oBAAoB,iBAAiB,IAAI,OAAQ,aAAAC,KAAY;AACrE,UAAM,EAAE,sBAAsB,IAAI,OAAQ,iBAAAC,KAAU;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,QAAI,yBAAa,iBAAAA,KAAU;AACpD,QAAM,wBAAoB,mCAAsB,EAAE,MAAM,MAAM,KAAK,CAAE;AACrE,QAAM,mBAAmB,OAAQ,qBAAsB;AACtD,UAAM,iBAAkB,YAAY,UAAU,QAAQ;AAAA,MACrD,QAAQ,iBAAiB;AAAA,MACzB,aAAS,yBAAW,iBAAiB,MAAO;AAAA,IAC7C,CAAE;AAAA,EACH;AACA,MAAK,CAAE,mBAAmB,QAAS;AAClC,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAQ,gBAAI,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,QAAI,uBAAW,CAAE,WAAY;AAC7C,UAAM,EAAE,mBAAmB,IAAI,OAAQ,aAAAD,KAAY;AACnD,WAAO;AAAA,MACN,UAAU,mBAAmB;AAAA,IAC9B;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,MACC,CAAE,CAAE,0CAAyB,mCAAmB,EAAE,SAAU,QAAS,GACpE;AACD,WAAO;AAAA,EACR;AAEA,SAAO,4CAAC,iBAAc;AACvB;",
"names": ["BlockPatternsList", "editorStore", "coreStore"]
}