@wordpress/editor 12.12.0 → 12.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/page-attributes/parent.js +6 -2
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/post-locked-modal/index.js +1 -1
- package/build/components/post-locked-modal/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-category-panel.js +2 -4
- package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build/components/post-title/index.js +8 -2
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/provider/index.native.js +3 -1
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +2 -2
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/store/selectors.js +1 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +4 -3
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/post-locked-modal/index.js +1 -1
- package/build-module/components/post-locked-modal/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-category-panel.js +2 -4
- package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build-module/components/post-title/index.js +8 -2
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +3 -1
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +2 -2
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/store/selectors.js +1 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +3 -0
- package/build-style/style.css +3 -0
- package/package.json +30 -29
- package/src/components/README.md +1 -1
- package/src/components/page-attributes/parent.js +4 -9
- package/src/components/post-locked-modal/index.js +1 -1
- package/src/components/post-publish-panel/maybe-category-panel.js +3 -5
- package/src/components/post-title/index.js +8 -2
- package/src/components/post-trash/style.scss +3 -0
- package/src/components/provider/index.native.js +3 -1
- package/src/components/provider/use-block-editor-settings.js +4 -1
- package/src/store/selectors.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-category-panel.js"],"names":["some","__","useSelect","PanelBody","store","coreStore","useState","useEffect","HierarchicalTermSelector","editorStore","MaybeCategoryPanel","hasNoCategory","select","postType","getCurrentPostType","categoriesTaxonomy","getTaxonomy","defaultCategoryId","getEntityRecord","default_category","defaultCategory","
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-category-panel.js"],"names":["some","__","useSelect","PanelBody","store","coreStore","useState","useEffect","HierarchicalTermSelector","editorStore","MaybeCategoryPanel","hasNoCategory","select","postType","getCurrentPostType","categoriesTaxonomy","getTaxonomy","defaultCategoryId","getEntityRecord","default_category","defaultCategory","postTypeSupportsCategories","types","type","categories","getEditedPostAttribute","rest_base","length","id","shouldShowPanel","setShouldShowPanel","panelBodyTitle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,QAAT,EAAmBC,SAAnB,QAAoC,oBAApC;AAEA;AACA;AACA;;AACA,OAAOC,wBAAP,MAAqC,+CAArC;AACA,SAASJ,KAAK,IAAIK,WAAlB,QAAqC,aAArC;;AAEA,SAASC,kBAAT,GAA8B;AAC7B,QAAMC,aAAa,GAAGT,SAAS,CAAIU,MAAF,IAAc;AAAA;;AAC9C,UAAMC,QAAQ,GAAGD,MAAM,CAAEH,WAAF,CAAN,CAAsBK,kBAAtB,EAAjB;AACA,UAAMC,kBAAkB,GACvBH,MAAM,CAAEP,SAAF,CAAN,CAAoBW,WAApB,CAAiC,UAAjC,CADD;AAEA,UAAMC,iBAAiB,4BAAGL,MAAM,CAAEP,SAAF,CAAN,CAAoBa,eAApB,CACzB,MADyB,EAEzB,MAFyB,CAAH,0DAAG,sBAGvBC,gBAHH;AAIA,UAAMC,eAAe,GAAGR,MAAM,CAAEP,SAAF,CAAN,CAAoBa,eAApB,CACvB,UADuB,EAEvB,UAFuB,EAGvBD,iBAHuB,CAAxB;AAKA,UAAMI,0BAA0B,GAC/BN,kBAAkB,IAClBf,IAAI,CAAEe,kBAAkB,CAACO,KAArB,EAA8BC,IAAF,IAAYA,IAAI,KAAKV,QAAjD,CAFL;AAGA,UAAMW,UAAU,GACfT,kBAAkB,IAClBH,MAAM,CAAEH,WAAF,CAAN,CAAsBgB,sBAAtB,CACCV,kBAAkB,CAACW,SADpB,CAFD,CAhB8C,CAsB9C;AACA;AACA;;AACA,WACC,CAAC,CAAEX,kBAAH,IACA,CAAC,CAAEK,eADH,IAEAC,0BAFA,KAGE,CAAAG,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEG,MAAZ,MAAuB,CAAvB,IACC,CAAAH,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEG,MAAZ,MAAuB,CAAvB,IACDP,eAAe,CAACQ,EAAhB,KAAuBJ,UAAU,CAAE,CAAF,CALnC,CADD;AAQA,GAjC8B,EAiC5B,EAjC4B,CAA/B;AAkCA,QAAM,CAAEK,eAAF,EAAmBC,kBAAnB,IAA0CxB,QAAQ,CAAE,KAAF,CAAxD;AACAC,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA;AACA,QAAKI,aAAL,EAAqB;AACpBmB,MAAAA,kBAAkB,CAAE,IAAF,CAAlB;AACA;AACD,GANQ,EAMN,CAAEnB,aAAF,CANM,CAAT;;AAQA,MAAK,CAAEkB,eAAP,EAAyB;AACxB,WAAO,IAAP;AACA;;AAED,QAAME,cAAc,GAAG,CACtB9B,EAAE,CAAE,aAAF,CADoB,EAEtB;AAAM,IAAA,SAAS,EAAC,iCAAhB;AAAkD,IAAA,GAAG,EAAC;AAAtD,KACGA,EAAE,CAAE,mBAAF,CADL,CAFsB,CAAvB;AAOA,SACC,cAAC,SAAD;AAAW,IAAA,WAAW,EAAG,KAAzB;AAAiC,IAAA,KAAK,EAAG8B;AAAzC,KACC,yBACG9B,EAAE,CACH,oHADG,CADL,CADD,EAMC,cAAC,wBAAD;AAA0B,IAAA,IAAI,EAAC;AAA/B,IAND,CADD;AAUA;;AAED,eAAeS,kBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport HierarchicalTermSelector from '../post-taxonomies/hierarchical-term-selector';\nimport { store as editorStore } from '../../store';\n\nfunction MaybeCategoryPanel() {\n\tconst hasNoCategory = useSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst categoriesTaxonomy =\n\t\t\tselect( coreStore ).getTaxonomy( 'category' );\n\t\tconst defaultCategoryId = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t)?.default_category;\n\t\tconst defaultCategory = select( coreStore ).getEntityRecord(\n\t\t\t'taxonomy',\n\t\t\t'category',\n\t\t\tdefaultCategoryId\n\t\t);\n\t\tconst postTypeSupportsCategories =\n\t\t\tcategoriesTaxonomy &&\n\t\t\tsome( categoriesTaxonomy.types, ( type ) => type === postType );\n\t\tconst categories =\n\t\t\tcategoriesTaxonomy &&\n\t\t\tselect( editorStore ).getEditedPostAttribute(\n\t\t\t\tcategoriesTaxonomy.rest_base\n\t\t\t);\n\n\t\t// This boolean should return true if everything is loaded\n\t\t// ( categoriesTaxonomy, defaultCategory )\n\t\t// and the post has not been assigned a category different than \"uncategorized\".\n\t\treturn (\n\t\t\t!! categoriesTaxonomy &&\n\t\t\t!! defaultCategory &&\n\t\t\tpostTypeSupportsCategories &&\n\t\t\t( categories?.length === 0 ||\n\t\t\t\t( categories?.length === 1 &&\n\t\t\t\t\tdefaultCategory.id === categories[ 0 ] ) )\n\t\t);\n\t}, [] );\n\tconst [ shouldShowPanel, setShouldShowPanel ] = useState( false );\n\tuseEffect( () => {\n\t\t// We use state to avoid hiding the panel if the user edits the categories\n\t\t// and adds one within the panel itself (while visible).\n\t\tif ( hasNoCategory ) {\n\t\t\tsetShouldShowPanel( true );\n\t\t}\n\t}, [ hasNoCategory ] );\n\n\tif ( ! shouldShowPanel ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Assign a category' ) }\n\t\t</span>,\n\t];\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Categories provide a helpful way to group related posts together and to quickly tell readers what a post is about.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<HierarchicalTermSelector slug=\"category\" />\n\t\t</PanelBody>\n\t);\n}\n\nexport default MaybeCategoryPanel;\n"]}
|
|
@@ -160,9 +160,13 @@ function PostTitle(_, forwardedRef) {
|
|
|
160
160
|
HTML: html,
|
|
161
161
|
plainText
|
|
162
162
|
});
|
|
163
|
+
event.preventDefault();
|
|
163
164
|
|
|
164
|
-
if (
|
|
165
|
-
|
|
165
|
+
if (!content.length) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (typeof content !== 'string') {
|
|
166
170
|
const [firstBlock] = content;
|
|
167
171
|
|
|
168
172
|
if (!title && (firstBlock.name === 'core/heading' || firstBlock.name === 'core/paragraph')) {
|
|
@@ -171,6 +175,8 @@ function PostTitle(_, forwardedRef) {
|
|
|
171
175
|
} else {
|
|
172
176
|
onInsertBlockAfter(content);
|
|
173
177
|
}
|
|
178
|
+
} else {
|
|
179
|
+
onUpdate(content);
|
|
174
180
|
}
|
|
175
181
|
} // The wp-block className is important for editor styles.
|
|
176
182
|
// This same block is used in both the visual and the code editor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-title/index.js"],"names":["classnames","__","forwardRef","useEffect","useImperativeHandle","useRef","useState","decodeEntities","ENTER","useSelect","useDispatch","pasteHandler","store","blockEditorStore","__unstableUseRichText","useRichText","useMergeRefs","PostTypeSupportCheck","editorStore","REGEXP_NEWLINES","PostTitle","_","forwardedRef","ref","isSelected","setIsSelected","editPost","insertDefaultBlock","clearSelectedBlock","insertBlocks","isCleanNewPost","title","placeholder","isFocusMode","hasFixedToolbar","select","getEditedPostAttribute","_isCleanNewPost","getSettings","titlePlaceholder","focusMode","_hasFixedToolbar","focus","current","ownerDocument","activeElement","body","onEnterPress","undefined","onInsertBlockAfter","blocks","onUpdate","newTitle","selection","setSelection","onSelect","onUnselect","onChange","value","replace","onKeyDown","event","keyCode","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","HTML","length","firstBlock","name","attributes","slice","className","decodedPlaceholder","richTextRef","selectionStart","start","selectionEnd","end","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","preserveWhiteSpace"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { ENTER } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __unstableUseRichText as useRichText } from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\n/**\n * Constants\n */\nconst REGEXP_NEWLINES = /[\\r\\n]+/g;\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst ref = useRef();\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { insertDefaultBlock, clearSelectedBlock, insertBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { isCleanNewPost, title, placeholder, isFocusMode, hasFixedToolbar } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostAttribute, isCleanNewPost: _isCleanNewPost } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\tconst {\n\t\t\t\ttitlePlaceholder,\n\t\t\t\tfocusMode,\n\t\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t\t} = getSettings();\n\n\t\t\treturn {\n\t\t\t\tisCleanNewPost: _isCleanNewPost(),\n\t\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\t\tplaceholder: titlePlaceholder,\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t\t};\n\t\t}, [] );\n\n\tuseImperativeHandle( forwardedRef, () => ( {\n\t\tfocus: () => {\n\t\t\tref?.current?.focus();\n\t\t},\n\t} ) );\n\n\tuseEffect( () => {\n\t\tif ( ! ref.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { activeElement, body } = ownerDocument;\n\n\t\t// Only autofocus the title when the post is entirely empty. This should\n\t\t// only happen for a new post, which means we focus the title on new\n\t\t// post so the author can start typing right away, without needing to\n\t\t// click anything.\n\t\tif ( isCleanNewPost && ( ! activeElement || body === activeElement ) ) {\n\t\t\tref.current.focus();\n\t\t}\n\t}, [ isCleanNewPost ] );\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onUpdate( newTitle ) {\n\t\teditPost( { title: newTitle } );\n\t}\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tif ( typeof content !== 'string' && content.length ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\tonUpdate( firstBlock.attributes.content );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t}\n\t}\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = classnames(\n\t\t'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text',\n\t\t{\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t}\n\t);\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: true,\n\t\tpreserveWhiteSpace: true,\n\t} );\n\n\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, ref ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonKeyPress={ onUnselect }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t);\n\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( PostTitle );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-title/index.js"],"names":["classnames","__","forwardRef","useEffect","useImperativeHandle","useRef","useState","decodeEntities","ENTER","useSelect","useDispatch","pasteHandler","store","blockEditorStore","__unstableUseRichText","useRichText","useMergeRefs","PostTypeSupportCheck","editorStore","REGEXP_NEWLINES","PostTitle","_","forwardedRef","ref","isSelected","setIsSelected","editPost","insertDefaultBlock","clearSelectedBlock","insertBlocks","isCleanNewPost","title","placeholder","isFocusMode","hasFixedToolbar","select","getEditedPostAttribute","_isCleanNewPost","getSettings","titlePlaceholder","focusMode","_hasFixedToolbar","focus","current","ownerDocument","activeElement","body","onEnterPress","undefined","onInsertBlockAfter","blocks","onUpdate","newTitle","selection","setSelection","onSelect","onUnselect","onChange","value","replace","onKeyDown","event","keyCode","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","HTML","length","firstBlock","name","attributes","slice","className","decodedPlaceholder","richTextRef","selectionStart","start","selectionEnd","end","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","preserveWhiteSpace"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { ENTER } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { pasteHandler } from '@wordpress/blocks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __unstableUseRichText as useRichText } from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\n/**\n * Constants\n */\nconst REGEXP_NEWLINES = /[\\r\\n]+/g;\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst ref = useRef();\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { insertDefaultBlock, clearSelectedBlock, insertBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { isCleanNewPost, title, placeholder, isFocusMode, hasFixedToolbar } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostAttribute, isCleanNewPost: _isCleanNewPost } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\tconst {\n\t\t\t\ttitlePlaceholder,\n\t\t\t\tfocusMode,\n\t\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t\t} = getSettings();\n\n\t\t\treturn {\n\t\t\t\tisCleanNewPost: _isCleanNewPost(),\n\t\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\t\tplaceholder: titlePlaceholder,\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\thasFixedToolbar: _hasFixedToolbar,\n\t\t\t};\n\t\t}, [] );\n\n\tuseImperativeHandle( forwardedRef, () => ( {\n\t\tfocus: () => {\n\t\t\tref?.current?.focus();\n\t\t},\n\t} ) );\n\n\tuseEffect( () => {\n\t\tif ( ! ref.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { activeElement, body } = ownerDocument;\n\n\t\t// Only autofocus the title when the post is entirely empty. This should\n\t\t// only happen for a new post, which means we focus the title on new\n\t\t// post so the author can start typing right away, without needing to\n\t\t// click anything.\n\t\tif ( isCleanNewPost && ( ! activeElement || body === activeElement ) ) {\n\t\t\tref.current.focus();\n\t\t}\n\t}, [ isCleanNewPost ] );\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onUpdate( newTitle ) {\n\t\teditPost( { title: newTitle } );\n\t}\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\tonUpdate( firstBlock.attributes.content );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\tonUpdate( content );\n\t\t}\n\t}\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = classnames(\n\t\t'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text',\n\t\t{\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t}\n\t);\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: true,\n\t\tpreserveWhiteSpace: true,\n\t} );\n\n\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, ref ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonKeyPress={ onUnselect }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t);\n\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\nexport default forwardRef( PostTitle );\n"]}
|
|
@@ -75,11 +75,13 @@ class NativeEditorProvider extends Component {
|
|
|
75
75
|
const {
|
|
76
76
|
capabilities,
|
|
77
77
|
locale,
|
|
78
|
+
hostAppNamespace,
|
|
78
79
|
updateSettings
|
|
79
80
|
} = this.props;
|
|
80
81
|
updateSettings({ ...capabilities,
|
|
81
82
|
...this.getThemeColors(this.props),
|
|
82
|
-
locale
|
|
83
|
+
locale,
|
|
84
|
+
hostAppNamespace
|
|
83
85
|
});
|
|
84
86
|
this.subscriptionParentGetHtml = subscribeParentGetHtml(() => {
|
|
85
87
|
this.serializeToNativeAction();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/provider/index.native.js"],"names":["memize","SafeAreaProvider","RNReactNativeGutenbergBridge","requestBlockTypeImpressions","setBlockTypeImpressions","subscribeParentGetHtml","subscribeParentToggleHTMLMode","subscribeUpdateHtml","subscribeSetTitle","subscribeMediaAppend","subscribeReplaceBlock","subscribeUpdateEditorSettings","subscribeUpdateCapabilities","subscribeShowNotice","subscribeShowEditorHelp","Component","count","wordCount","parse","serialize","getUnregisteredTypeHandlerName","createBlock","withDispatch","withSelect","compose","applyFilters","store","blockEditorStore","getGlobalStyles","getColorsAndGradients","NEW_BLOCK_TYPES","postTypeEntities","name","baseURL","map","postTypeEntity","kind","transientEdits","blocks","selection","mergedEdits","meta","rawAttributes","EditorHelpTopics","editorStore","noticesStore","coreStore","editPostStore","EditorProvider","NativeEditorProvider","constructor","arguments","post","props","addEntities","receiveEntityRecords","type","getEditorSettings","settings","capabilities","maxSize","state","isHelpVisible","componentDidMount","locale","updateSettings","getThemeColors","subscriptionParentGetHtml","serializeToNativeAction","subscriptionParentToggleHTMLMode","toggleMode","subscriptionParentSetTitle","payload","editTitle","title","subscriptionParentUpdateHtml","updateHtmlAction","html","subscriptionParentReplaceBlock","replaceBlockAction","clientId","subscriptionParentMediaAppend","blockName","mediaType","newBlock","id","mediaId","mediaUrl","indexAfterSelected","selectedBlockIndex","insertionIndex","blockCount","insertBlock","subscriptionParentUpdateEditorSettings","galleryWithImageBlocks","editorSettings","window","wp","galleryBlockV2Enabled","subscriptionParentUpdateCapabilities","updateCapabilitiesAction","subscriptionParentShowNotice","createSuccessNotice","message","subscriptionParentShowEditorHelp","setState","storedImpressions","impressions","storedImpressionKeys","Object","keys","storedImpressionsCurrent","every","newKey","includes","componentWillUnmount","remove","rawStyles","rawFeatures","defaultEditorColors","defaultEditorGradients","componentDidUpdate","prevProps","isReady","isUnsupportedBlock","unsupportedBlockNames","filter","block","attributes","originalName","editorDidMount","mode","hasChanges","raw","content","contentInfo","characterCount","paragraphCount","provideToNative_Html","parsed","resetEditorBlocksWithoutUndoLevel","blockClientId","replaceBlock","switchMode","clearSelectedBlock","render","children","select","__unstableIsEditorReady","isEditorReady","getEditorBlocks","getEditedPostAttribute","getEditedPostContent","getEditorMode","getBlockIndex","getSelectedBlockClientId","getGlobalBlockCount","getSettings","getBlockEditorSettings","colors","gradients","selectedBlockClientId","dispatch","editPost","resetEditorBlocks","switchEditorMode","__unstableShouldCreateUndoLevel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n/**\n * WordPress dependencies\n */\nimport RNReactNativeGutenbergBridge, {\n\trequestBlockTypeImpressions,\n\tsetBlockTypeImpressions,\n\tsubscribeParentGetHtml,\n\tsubscribeParentToggleHTMLMode,\n\tsubscribeUpdateHtml,\n\tsubscribeSetTitle,\n\tsubscribeMediaAppend,\n\tsubscribeReplaceBlock,\n\tsubscribeUpdateEditorSettings,\n\tsubscribeUpdateCapabilities,\n\tsubscribeShowNotice,\n\tsubscribeShowEditorHelp,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport {\n\tparse,\n\tserialize,\n\tgetUnregisteredTypeHandlerName,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getGlobalStyles, getColorsAndGradients } from '@wordpress/components';\nimport { NEW_BLOCK_TYPES } from '@wordpress/block-library';\n\nconst postTypeEntities = [\n\t{ name: 'post', baseURL: '/wp/v2/posts' },\n\t{ name: 'page', baseURL: '/wp/v2/pages' },\n\t{ name: 'attachment', baseURL: '/wp/v2/media' },\n\t{ name: 'wp_block', baseURL: '/wp/v2/blocks' },\n].map( ( postTypeEntity ) => ( {\n\tkind: 'postType',\n\t...postTypeEntity,\n\ttransientEdits: {\n\t\tblocks: true,\n\t\tselection: true,\n\t},\n\tmergedEdits: {\n\t\tmeta: true,\n\t},\n\trawAttributes: [ 'title', 'excerpt', 'content' ],\n} ) );\nimport { EditorHelpTopics, store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport EditorProvider from './index.js';\n\nclass NativeEditorProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\t// Keep a local reference to `post` to detect changes.\n\t\tthis.post = this.props.post;\n\t\tthis.props.addEntities( postTypeEntities );\n\t\tthis.props.receiveEntityRecords(\n\t\t\t'postType',\n\t\t\tthis.post.type,\n\t\t\tthis.post\n\t\t);\n\n\t\tthis.getEditorSettings = memize(\n\t\t\t( settings, capabilities ) => ( {\n\t\t\t\t...settings,\n\t\t\t\tcapabilities,\n\t\t\t} ),\n\t\t\t{\n\t\t\t\tmaxSize: 1,\n\t\t\t}\n\t\t);\n\t\tthis.state = {\n\t\t\tisHelpVisible: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { capabilities, locale, updateSettings } = this.props;\n\n\t\tupdateSettings( {\n\t\t\t...capabilities,\n\t\t\t...this.getThemeColors( this.props ),\n\t\t\tlocale,\n\t\t} );\n\n\t\tthis.subscriptionParentGetHtml = subscribeParentGetHtml( () => {\n\t\t\tthis.serializeToNativeAction();\n\t\t} );\n\n\t\tthis.subscriptionParentToggleHTMLMode = subscribeParentToggleHTMLMode(\n\t\t\t() => {\n\t\t\t\tthis.toggleMode();\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentSetTitle = subscribeSetTitle( ( payload ) => {\n\t\t\tthis.props.editTitle( payload.title );\n\t\t} );\n\n\t\tthis.subscriptionParentUpdateHtml = subscribeUpdateHtml(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateHtmlAction( payload.html );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentReplaceBlock = subscribeReplaceBlock(\n\t\t\t( payload ) => {\n\t\t\t\tthis.replaceBlockAction( payload.html, payload.clientId );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentMediaAppend = subscribeMediaAppend(\n\t\t\t( payload ) => {\n\t\t\t\tconst blockName = 'core/' + payload.mediaType;\n\t\t\t\tconst newBlock = createBlock( blockName, {\n\t\t\t\t\tid: payload.mediaId,\n\t\t\t\t\t[ payload.mediaType === 'image' ? 'url' : 'src' ]:\n\t\t\t\t\t\tpayload.mediaUrl,\n\t\t\t\t} );\n\n\t\t\t\tconst indexAfterSelected = this.props.selectedBlockIndex + 1;\n\t\t\t\tconst insertionIndex =\n\t\t\t\t\tindexAfterSelected || this.props.blockCount;\n\n\t\t\t\tthis.props.insertBlock( newBlock, insertionIndex );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentUpdateEditorSettings =\n\t\t\tsubscribeUpdateEditorSettings(\n\t\t\t\t( { galleryWithImageBlocks, ...editorSettings } ) => {\n\t\t\t\t\tif ( typeof galleryWithImageBlocks === 'boolean' ) {\n\t\t\t\t\t\twindow.wp.galleryBlockV2Enabled =\n\t\t\t\t\t\t\tgalleryWithImageBlocks;\n\t\t\t\t\t}\n\t\t\t\t\tupdateSettings( this.getThemeColors( editorSettings ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\tthis.subscriptionParentUpdateCapabilities = subscribeUpdateCapabilities(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateCapabilitiesAction( payload );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowNotice = subscribeShowNotice(\n\t\t\t( payload ) => {\n\t\t\t\tthis.props.createSuccessNotice( payload.message );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowEditorHelp = subscribeShowEditorHelp( () => {\n\t\t\tthis.setState( { isHelpVisible: true } );\n\t\t} );\n\n\t\t// Request current block impressions from native app.\n\t\trequestBlockTypeImpressions( ( storedImpressions ) => {\n\t\t\tconst impressions = { ...NEW_BLOCK_TYPES, ...storedImpressions };\n\n\t\t\t// Persist impressions to JavaScript store.\n\t\t\tupdateSettings( { impressions } );\n\n\t\t\t// Persist impressions to native store if they do not include latest\n\t\t\t// `NEW_BLOCK_TYPES` configuration.\n\t\t\tconst storedImpressionKeys = Object.keys( storedImpressions );\n\t\t\tconst storedImpressionsCurrent = Object.keys(\n\t\t\t\tNEW_BLOCK_TYPES\n\t\t\t).every( ( newKey ) => storedImpressionKeys.includes( newKey ) );\n\t\t\tif ( ! storedImpressionsCurrent ) {\n\t\t\t\tsetBlockTypeImpressions( impressions );\n\t\t\t}\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentGetHtml ) {\n\t\t\tthis.subscriptionParentGetHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentToggleHTMLMode ) {\n\t\t\tthis.subscriptionParentToggleHTMLMode.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentSetTitle ) {\n\t\t\tthis.subscriptionParentSetTitle.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateHtml ) {\n\t\t\tthis.subscriptionParentUpdateHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentReplaceBlock ) {\n\t\t\tthis.subscriptionParentReplaceBlock.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentMediaAppend ) {\n\t\t\tthis.subscriptionParentMediaAppend.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateEditorSettings ) {\n\t\t\tthis.subscriptionParentUpdateEditorSettings.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateCapabilities ) {\n\t\t\tthis.subscriptionParentUpdateCapabilities.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowNotice ) {\n\t\t\tthis.subscriptionParentShowNotice.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowEditorHelp ) {\n\t\t\tthis.subscriptionParentShowEditorHelp.remove();\n\t\t}\n\t}\n\n\tgetThemeColors( { rawStyles, rawFeatures } ) {\n\t\tconst { defaultEditorColors, defaultEditorGradients } = this.props;\n\n\t\tif ( rawStyles && rawFeatures ) {\n\t\t\treturn getGlobalStyles( rawStyles, rawFeatures );\n\t\t}\n\n\t\treturn getColorsAndGradients(\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\trawFeatures\n\t\t);\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! prevProps.isReady && this.props.isReady ) {\n\t\t\tconst blocks = this.props.blocks;\n\t\t\tconst isUnsupportedBlock = ( { name } ) =>\n\t\t\t\tname === getUnregisteredTypeHandlerName();\n\t\t\tconst unsupportedBlockNames = blocks\n\t\t\t\t.filter( isUnsupportedBlock )\n\t\t\t\t.map( ( block ) => block.attributes.originalName );\n\t\t\tRNReactNativeGutenbergBridge.editorDidMount(\n\t\t\t\tunsupportedBlockNames\n\t\t\t);\n\t\t}\n\t}\n\n\tserializeToNativeAction() {\n\t\tconst title = this.props.title;\n\t\tlet html;\n\n\t\tif ( this.props.mode === 'text' ) {\n\t\t\t// The HTMLTextInput component does not update the store when user is doing changes\n\t\t\t// Let's request the HTML from the component's state directly.\n\t\t\thtml = applyFilters( 'native.persist-html' );\n\t\t} else {\n\t\t\thtml = serialize( this.props.blocks );\n\t\t}\n\n\t\tconst hasChanges =\n\t\t\ttitle !== this.post.title.raw || html !== this.post.content.raw;\n\n\t\t// Variable to store the content structure metrics.\n\t\tconst contentInfo = {};\n\t\tcontentInfo.characterCount = wordCount(\n\t\t\thtml,\n\t\t\t'characters_including_spaces'\n\t\t);\n\t\tcontentInfo.wordCount = wordCount( html, 'words' );\n\t\tcontentInfo.paragraphCount = this.props.paragraphCount;\n\t\tcontentInfo.blockCount = this.props.blockCount;\n\t\tRNReactNativeGutenbergBridge.provideToNative_Html(\n\t\t\thtml,\n\t\t\ttitle,\n\t\t\thasChanges,\n\t\t\tcontentInfo\n\t\t);\n\n\t\tif ( hasChanges ) {\n\t\t\tthis.post.title.raw = title;\n\t\t\tthis.post.content.raw = html;\n\t\t}\n\t}\n\n\tupdateHtmlAction( html ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.resetEditorBlocksWithoutUndoLevel( parsed );\n\t}\n\n\treplaceBlockAction( html, blockClientId ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.replaceBlock( blockClientId, parsed );\n\t}\n\n\ttoggleMode() {\n\t\tconst { mode, switchMode } = this.props;\n\t\t// Refresh html content first.\n\t\tthis.serializeToNativeAction();\n\t\t// Make sure to blur the selected block and dismiss the keyboard.\n\t\tthis.props.clearSelectedBlock();\n\t\tswitchMode( mode === 'visual' ? 'text' : 'visual' );\n\t}\n\n\tupdateCapabilitiesAction( capabilities ) {\n\t\tthis.props.updateSettings( capabilities );\n\t}\n\n\trender() {\n\t\tconst { children, post, capabilities, settings, ...props } = this.props;\n\t\tconst editorSettings = this.getEditorSettings( settings, capabilities );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ this.post }\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<SafeAreaProvider>{ children }</SafeAreaProvider>\n\t\t\t\t</EditorProvider>\n\t\t\t\t<EditorHelpTopics\n\t\t\t\t\tisVisible={ this.state.isHelpVisible }\n\t\t\t\t\tonClose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tclose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\t__unstableIsEditorReady: isEditorReady,\n\t\t\tgetEditorBlocks,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostContent,\n\t\t} = select( editorStore );\n\t\tconst { getEditorMode } = select( editPostStore );\n\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetGlobalBlockCount,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst settings = getBlockEditorSettings();\n\t\tconst defaultEditorColors = settings?.colors ?? [];\n\t\tconst defaultEditorGradients = settings?.gradients ?? [];\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tmode: getEditorMode(),\n\t\t\tisReady: isEditorReady(),\n\t\t\tblocks: getEditorBlocks(),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tgetEditedPostContent,\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\tselectedBlockIndex: getBlockIndex( selectedBlockClientId ),\n\t\t\tblockCount: getGlobalBlockCount(),\n\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, resetEditorBlocks } = dispatch( editorStore );\n\t\tconst {\n\t\t\tupdateSettings,\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t} = dispatch( blockEditorStore );\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { addEntities, receiveEntityRecords } = dispatch( coreStore );\n\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\treturn {\n\t\t\tupdateSettings,\n\t\t\taddEntities,\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\tcreateSuccessNotice,\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\treceiveEntityRecords,\n\t\t\tresetEditorBlocksWithoutUndoLevel( blocks ) {\n\t\t\t\tresetEditorBlocks( blocks, {\n\t\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tswitchMode( mode ) {\n\t\t\t\tswitchEditorMode( mode );\n\t\t\t},\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n] )( NativeEditorProvider );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/provider/index.native.js"],"names":["memize","SafeAreaProvider","RNReactNativeGutenbergBridge","requestBlockTypeImpressions","setBlockTypeImpressions","subscribeParentGetHtml","subscribeParentToggleHTMLMode","subscribeUpdateHtml","subscribeSetTitle","subscribeMediaAppend","subscribeReplaceBlock","subscribeUpdateEditorSettings","subscribeUpdateCapabilities","subscribeShowNotice","subscribeShowEditorHelp","Component","count","wordCount","parse","serialize","getUnregisteredTypeHandlerName","createBlock","withDispatch","withSelect","compose","applyFilters","store","blockEditorStore","getGlobalStyles","getColorsAndGradients","NEW_BLOCK_TYPES","postTypeEntities","name","baseURL","map","postTypeEntity","kind","transientEdits","blocks","selection","mergedEdits","meta","rawAttributes","EditorHelpTopics","editorStore","noticesStore","coreStore","editPostStore","EditorProvider","NativeEditorProvider","constructor","arguments","post","props","addEntities","receiveEntityRecords","type","getEditorSettings","settings","capabilities","maxSize","state","isHelpVisible","componentDidMount","locale","hostAppNamespace","updateSettings","getThemeColors","subscriptionParentGetHtml","serializeToNativeAction","subscriptionParentToggleHTMLMode","toggleMode","subscriptionParentSetTitle","payload","editTitle","title","subscriptionParentUpdateHtml","updateHtmlAction","html","subscriptionParentReplaceBlock","replaceBlockAction","clientId","subscriptionParentMediaAppend","blockName","mediaType","newBlock","id","mediaId","mediaUrl","indexAfterSelected","selectedBlockIndex","insertionIndex","blockCount","insertBlock","subscriptionParentUpdateEditorSettings","galleryWithImageBlocks","editorSettings","window","wp","galleryBlockV2Enabled","subscriptionParentUpdateCapabilities","updateCapabilitiesAction","subscriptionParentShowNotice","createSuccessNotice","message","subscriptionParentShowEditorHelp","setState","storedImpressions","impressions","storedImpressionKeys","Object","keys","storedImpressionsCurrent","every","newKey","includes","componentWillUnmount","remove","rawStyles","rawFeatures","defaultEditorColors","defaultEditorGradients","componentDidUpdate","prevProps","isReady","isUnsupportedBlock","unsupportedBlockNames","filter","block","attributes","originalName","editorDidMount","mode","hasChanges","raw","content","contentInfo","characterCount","paragraphCount","provideToNative_Html","parsed","resetEditorBlocksWithoutUndoLevel","blockClientId","replaceBlock","switchMode","clearSelectedBlock","render","children","select","__unstableIsEditorReady","isEditorReady","getEditorBlocks","getEditedPostAttribute","getEditedPostContent","getEditorMode","getBlockIndex","getSelectedBlockClientId","getGlobalBlockCount","getSettings","getBlockEditorSettings","colors","gradients","selectedBlockClientId","dispatch","editPost","resetEditorBlocks","switchEditorMode","__unstableShouldCreateUndoLevel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport memize from 'memize';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n/**\n * WordPress dependencies\n */\nimport RNReactNativeGutenbergBridge, {\n\trequestBlockTypeImpressions,\n\tsetBlockTypeImpressions,\n\tsubscribeParentGetHtml,\n\tsubscribeParentToggleHTMLMode,\n\tsubscribeUpdateHtml,\n\tsubscribeSetTitle,\n\tsubscribeMediaAppend,\n\tsubscribeReplaceBlock,\n\tsubscribeUpdateEditorSettings,\n\tsubscribeUpdateCapabilities,\n\tsubscribeShowNotice,\n\tsubscribeShowEditorHelp,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport {\n\tparse,\n\tserialize,\n\tgetUnregisteredTypeHandlerName,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { getGlobalStyles, getColorsAndGradients } from '@wordpress/components';\nimport { NEW_BLOCK_TYPES } from '@wordpress/block-library';\n\nconst postTypeEntities = [\n\t{ name: 'post', baseURL: '/wp/v2/posts' },\n\t{ name: 'page', baseURL: '/wp/v2/pages' },\n\t{ name: 'attachment', baseURL: '/wp/v2/media' },\n\t{ name: 'wp_block', baseURL: '/wp/v2/blocks' },\n].map( ( postTypeEntity ) => ( {\n\tkind: 'postType',\n\t...postTypeEntity,\n\ttransientEdits: {\n\t\tblocks: true,\n\t\tselection: true,\n\t},\n\tmergedEdits: {\n\t\tmeta: true,\n\t},\n\trawAttributes: [ 'title', 'excerpt', 'content' ],\n} ) );\nimport { EditorHelpTopics, store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport EditorProvider from './index.js';\n\nclass NativeEditorProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\t// Keep a local reference to `post` to detect changes.\n\t\tthis.post = this.props.post;\n\t\tthis.props.addEntities( postTypeEntities );\n\t\tthis.props.receiveEntityRecords(\n\t\t\t'postType',\n\t\t\tthis.post.type,\n\t\t\tthis.post\n\t\t);\n\n\t\tthis.getEditorSettings = memize(\n\t\t\t( settings, capabilities ) => ( {\n\t\t\t\t...settings,\n\t\t\t\tcapabilities,\n\t\t\t} ),\n\t\t\t{\n\t\t\t\tmaxSize: 1,\n\t\t\t}\n\t\t);\n\t\tthis.state = {\n\t\t\tisHelpVisible: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { capabilities, locale, hostAppNamespace, updateSettings } =\n\t\t\tthis.props;\n\n\t\tupdateSettings( {\n\t\t\t...capabilities,\n\t\t\t...this.getThemeColors( this.props ),\n\t\t\tlocale,\n\t\t\thostAppNamespace,\n\t\t} );\n\n\t\tthis.subscriptionParentGetHtml = subscribeParentGetHtml( () => {\n\t\t\tthis.serializeToNativeAction();\n\t\t} );\n\n\t\tthis.subscriptionParentToggleHTMLMode = subscribeParentToggleHTMLMode(\n\t\t\t() => {\n\t\t\t\tthis.toggleMode();\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentSetTitle = subscribeSetTitle( ( payload ) => {\n\t\t\tthis.props.editTitle( payload.title );\n\t\t} );\n\n\t\tthis.subscriptionParentUpdateHtml = subscribeUpdateHtml(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateHtmlAction( payload.html );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentReplaceBlock = subscribeReplaceBlock(\n\t\t\t( payload ) => {\n\t\t\t\tthis.replaceBlockAction( payload.html, payload.clientId );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentMediaAppend = subscribeMediaAppend(\n\t\t\t( payload ) => {\n\t\t\t\tconst blockName = 'core/' + payload.mediaType;\n\t\t\t\tconst newBlock = createBlock( blockName, {\n\t\t\t\t\tid: payload.mediaId,\n\t\t\t\t\t[ payload.mediaType === 'image' ? 'url' : 'src' ]:\n\t\t\t\t\t\tpayload.mediaUrl,\n\t\t\t\t} );\n\n\t\t\t\tconst indexAfterSelected = this.props.selectedBlockIndex + 1;\n\t\t\t\tconst insertionIndex =\n\t\t\t\t\tindexAfterSelected || this.props.blockCount;\n\n\t\t\t\tthis.props.insertBlock( newBlock, insertionIndex );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentUpdateEditorSettings =\n\t\t\tsubscribeUpdateEditorSettings(\n\t\t\t\t( { galleryWithImageBlocks, ...editorSettings } ) => {\n\t\t\t\t\tif ( typeof galleryWithImageBlocks === 'boolean' ) {\n\t\t\t\t\t\twindow.wp.galleryBlockV2Enabled =\n\t\t\t\t\t\t\tgalleryWithImageBlocks;\n\t\t\t\t\t}\n\t\t\t\t\tupdateSettings( this.getThemeColors( editorSettings ) );\n\t\t\t\t}\n\t\t\t);\n\n\t\tthis.subscriptionParentUpdateCapabilities = subscribeUpdateCapabilities(\n\t\t\t( payload ) => {\n\t\t\t\tthis.updateCapabilitiesAction( payload );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowNotice = subscribeShowNotice(\n\t\t\t( payload ) => {\n\t\t\t\tthis.props.createSuccessNotice( payload.message );\n\t\t\t}\n\t\t);\n\n\t\tthis.subscriptionParentShowEditorHelp = subscribeShowEditorHelp( () => {\n\t\t\tthis.setState( { isHelpVisible: true } );\n\t\t} );\n\n\t\t// Request current block impressions from native app.\n\t\trequestBlockTypeImpressions( ( storedImpressions ) => {\n\t\t\tconst impressions = { ...NEW_BLOCK_TYPES, ...storedImpressions };\n\n\t\t\t// Persist impressions to JavaScript store.\n\t\t\tupdateSettings( { impressions } );\n\n\t\t\t// Persist impressions to native store if they do not include latest\n\t\t\t// `NEW_BLOCK_TYPES` configuration.\n\t\t\tconst storedImpressionKeys = Object.keys( storedImpressions );\n\t\t\tconst storedImpressionsCurrent = Object.keys(\n\t\t\t\tNEW_BLOCK_TYPES\n\t\t\t).every( ( newKey ) => storedImpressionKeys.includes( newKey ) );\n\t\t\tif ( ! storedImpressionsCurrent ) {\n\t\t\t\tsetBlockTypeImpressions( impressions );\n\t\t\t}\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.subscriptionParentGetHtml ) {\n\t\t\tthis.subscriptionParentGetHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentToggleHTMLMode ) {\n\t\t\tthis.subscriptionParentToggleHTMLMode.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentSetTitle ) {\n\t\t\tthis.subscriptionParentSetTitle.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateHtml ) {\n\t\t\tthis.subscriptionParentUpdateHtml.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentReplaceBlock ) {\n\t\t\tthis.subscriptionParentReplaceBlock.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentMediaAppend ) {\n\t\t\tthis.subscriptionParentMediaAppend.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateEditorSettings ) {\n\t\t\tthis.subscriptionParentUpdateEditorSettings.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentUpdateCapabilities ) {\n\t\t\tthis.subscriptionParentUpdateCapabilities.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowNotice ) {\n\t\t\tthis.subscriptionParentShowNotice.remove();\n\t\t}\n\n\t\tif ( this.subscriptionParentShowEditorHelp ) {\n\t\t\tthis.subscriptionParentShowEditorHelp.remove();\n\t\t}\n\t}\n\n\tgetThemeColors( { rawStyles, rawFeatures } ) {\n\t\tconst { defaultEditorColors, defaultEditorGradients } = this.props;\n\n\t\tif ( rawStyles && rawFeatures ) {\n\t\t\treturn getGlobalStyles( rawStyles, rawFeatures );\n\t\t}\n\n\t\treturn getColorsAndGradients(\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\trawFeatures\n\t\t);\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! prevProps.isReady && this.props.isReady ) {\n\t\t\tconst blocks = this.props.blocks;\n\t\t\tconst isUnsupportedBlock = ( { name } ) =>\n\t\t\t\tname === getUnregisteredTypeHandlerName();\n\t\t\tconst unsupportedBlockNames = blocks\n\t\t\t\t.filter( isUnsupportedBlock )\n\t\t\t\t.map( ( block ) => block.attributes.originalName );\n\t\t\tRNReactNativeGutenbergBridge.editorDidMount(\n\t\t\t\tunsupportedBlockNames\n\t\t\t);\n\t\t}\n\t}\n\n\tserializeToNativeAction() {\n\t\tconst title = this.props.title;\n\t\tlet html;\n\n\t\tif ( this.props.mode === 'text' ) {\n\t\t\t// The HTMLTextInput component does not update the store when user is doing changes\n\t\t\t// Let's request the HTML from the component's state directly.\n\t\t\thtml = applyFilters( 'native.persist-html' );\n\t\t} else {\n\t\t\thtml = serialize( this.props.blocks );\n\t\t}\n\n\t\tconst hasChanges =\n\t\t\ttitle !== this.post.title.raw || html !== this.post.content.raw;\n\n\t\t// Variable to store the content structure metrics.\n\t\tconst contentInfo = {};\n\t\tcontentInfo.characterCount = wordCount(\n\t\t\thtml,\n\t\t\t'characters_including_spaces'\n\t\t);\n\t\tcontentInfo.wordCount = wordCount( html, 'words' );\n\t\tcontentInfo.paragraphCount = this.props.paragraphCount;\n\t\tcontentInfo.blockCount = this.props.blockCount;\n\t\tRNReactNativeGutenbergBridge.provideToNative_Html(\n\t\t\thtml,\n\t\t\ttitle,\n\t\t\thasChanges,\n\t\t\tcontentInfo\n\t\t);\n\n\t\tif ( hasChanges ) {\n\t\t\tthis.post.title.raw = title;\n\t\t\tthis.post.content.raw = html;\n\t\t}\n\t}\n\n\tupdateHtmlAction( html ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.resetEditorBlocksWithoutUndoLevel( parsed );\n\t}\n\n\treplaceBlockAction( html, blockClientId ) {\n\t\tconst parsed = parse( html );\n\t\tthis.props.replaceBlock( blockClientId, parsed );\n\t}\n\n\ttoggleMode() {\n\t\tconst { mode, switchMode } = this.props;\n\t\t// Refresh html content first.\n\t\tthis.serializeToNativeAction();\n\t\t// Make sure to blur the selected block and dismiss the keyboard.\n\t\tthis.props.clearSelectedBlock();\n\t\tswitchMode( mode === 'visual' ? 'text' : 'visual' );\n\t}\n\n\tupdateCapabilitiesAction( capabilities ) {\n\t\tthis.props.updateSettings( capabilities );\n\t}\n\n\trender() {\n\t\tconst { children, post, capabilities, settings, ...props } = this.props;\n\t\tconst editorSettings = this.getEditorSettings( settings, capabilities );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ this.post }\n\t\t\t\t\tsettings={ editorSettings }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t<SafeAreaProvider>{ children }</SafeAreaProvider>\n\t\t\t\t</EditorProvider>\n\t\t\t\t<EditorHelpTopics\n\t\t\t\t\tisVisible={ this.state.isHelpVisible }\n\t\t\t\t\tonClose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t\tclose={ () => this.setState( { isHelpVisible: false } ) }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\t__unstableIsEditorReady: isEditorReady,\n\t\t\tgetEditorBlocks,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostContent,\n\t\t} = select( editorStore );\n\t\tconst { getEditorMode } = select( editPostStore );\n\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetGlobalBlockCount,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst settings = getBlockEditorSettings();\n\t\tconst defaultEditorColors = settings?.colors ?? [];\n\t\tconst defaultEditorGradients = settings?.gradients ?? [];\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\tmode: getEditorMode(),\n\t\t\tisReady: isEditorReady(),\n\t\t\tblocks: getEditorBlocks(),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tgetEditedPostContent,\n\t\t\tdefaultEditorColors,\n\t\t\tdefaultEditorGradients,\n\t\t\tselectedBlockIndex: getBlockIndex( selectedBlockClientId ),\n\t\t\tblockCount: getGlobalBlockCount(),\n\t\t\tparagraphCount: getGlobalBlockCount( 'core/paragraph' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, resetEditorBlocks } = dispatch( editorStore );\n\t\tconst {\n\t\t\tupdateSettings,\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t} = dispatch( blockEditorStore );\n\t\tconst { switchEditorMode } = dispatch( editPostStore );\n\t\tconst { addEntities, receiveEntityRecords } = dispatch( coreStore );\n\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\treturn {\n\t\t\tupdateSettings,\n\t\t\taddEntities,\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\tcreateSuccessNotice,\n\t\t\teditTitle( title ) {\n\t\t\t\teditPost( { title } );\n\t\t\t},\n\t\t\treceiveEntityRecords,\n\t\t\tresetEditorBlocksWithoutUndoLevel( blocks ) {\n\t\t\t\tresetEditorBlocks( blocks, {\n\t\t\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tswitchMode( mode ) {\n\t\t\t\tswitchEditorMode( mode );\n\t\t\t},\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n] )( NativeEditorProvider );\n"]}
|
|
@@ -45,7 +45,7 @@ function useBlockEditorSettings(settings, hasTemplate) {
|
|
|
45
45
|
canUser,
|
|
46
46
|
getEntityRecord
|
|
47
47
|
} = select(coreStore);
|
|
48
|
-
const siteSettings = getEntityRecord('root', 'site');
|
|
48
|
+
const siteSettings = canUser('read', 'settings') ? getEntityRecord('root', 'site') : undefined;
|
|
49
49
|
return {
|
|
50
50
|
canUseUnfilteredHTML: canUserUseUnfilteredHTML(),
|
|
51
51
|
reusableBlocks: isWeb ? select(coreStore).getEntityRecords('postType', 'wp_block', {
|
|
@@ -96,7 +96,7 @@ function useBlockEditorSettings(settings, hasTemplate) {
|
|
|
96
96
|
return saveEntityRecord('postType', 'page', options);
|
|
97
97
|
};
|
|
98
98
|
|
|
99
|
-
return useMemo(() => ({ ...pick(settings, ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalPreferredStyleVariations', '__experimentalSetIsInserterOpened', '__unstableGalleryWithImageBlocks', 'alignWide', 'allowedBlockTypes', 'bodyPlaceholder', 'canLockBlocks', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomGradients', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'focusMode', 'fontSizes', 'gradients', 'generateAnchors', 'hasFixedToolbar', 'hasReducedUI', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'keepCaretInsideBlock', 'maxWidth', 'onUpdateDefaultBlockStyles', 'styles', 'template', 'templateLock', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableResolvedAssets']),
|
|
99
|
+
return useMemo(() => ({ ...pick(settings, ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalPreferredStyleVariations', '__experimentalSetIsInserterOpened', '__unstableGalleryWithImageBlocks', 'alignWide', 'allowedBlockTypes', 'bodyPlaceholder', 'canLockBlocks', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomGradients', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'focusMode', 'fontSizes', 'gradients', 'generateAnchors', 'hasFixedToolbar', 'hasReducedUI', 'hasInlineToolbar', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'keepCaretInsideBlock', 'maxWidth', 'onUpdateDefaultBlockStyles', 'styles', 'template', 'templateLock', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableResolvedAssets']),
|
|
100
100
|
mediaUpload: hasUploadPermissions ? mediaUpload : undefined,
|
|
101
101
|
__experimentalReusableBlocks: reusableBlocks,
|
|
102
102
|
__experimentalBlockPatterns: blockPatterns,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"names":["pick","unionBy","Platform","useMemo","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","__","mediaUpload","editorStore","useBlockEditorSettings","settings","hasTemplate","reusableBlocks","hasUploadPermissions","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","select","canUserUseUnfilteredHTML","isWeb","OS","canUser","getEntityRecord","siteSettings","getEntityRecords","per_page","page_on_front","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","getBlockPatterns","getBlockPatternCategories","blockPatterns","blockPatternCategories","undo","saveEntityRecord","createPageEntity","options","Promise","reject","message","undefined","__experimentalReusableBlocks","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pick, unionBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {boolean} hasTemplate Whether template mode is enabled.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, hasTemplate ) {\n\tconst {\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUserUseUnfilteredHTML } = select( editorStore );\n\t\tconst isWeb = Platform.OS === 'web';\n\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\n\t\treturn {\n\t\t\tcanUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\treusableBlocks: isWeb\n\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t\t{ per_page: -1 }\n\t\t\t\t )\n\t\t\t\t: [], // Reusable blocks are fetched in the native version of this hook.\n\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t};\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() => unionBy( settingsBlockPatterns, restBlockPatterns, 'name' ),\n\t\t[ settingsBlockPatterns, restBlockPatterns ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\tunionBy(\n\t\t\t\tsettingsBlockPatternCategories,\n\t\t\t\trestBlockPatternCategories,\n\t\t\t\t'name'\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = ( options ) => {\n\t\tif ( ! userCanCreatePages ) {\n\t\t\treturn Promise.reject( {\n\t\t\t\tmessage: __( 'You do not have permission to create Pages.' ),\n\t\t\t} );\n\t\t}\n\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t};\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...pick( settings, [\n\t\t\t\t'__experimentalBlockDirectory',\n\t\t\t\t'__experimentalDiscussionSettings',\n\t\t\t\t'__experimentalFeatures',\n\t\t\t\t'__experimentalPreferredStyleVariations',\n\t\t\t\t'__experimentalSetIsInserterOpened',\n\t\t\t\t'__unstableGalleryWithImageBlocks',\n\t\t\t\t'alignWide',\n\t\t\t\t'allowedBlockTypes',\n\t\t\t\t'bodyPlaceholder',\n\t\t\t\t'canLockBlocks',\n\t\t\t\t'codeEditingEnabled',\n\t\t\t\t'colors',\n\t\t\t\t'disableCustomColors',\n\t\t\t\t'disableCustomFontSizes',\n\t\t\t\t'disableCustomGradients',\n\t\t\t\t'enableCustomLineHeight',\n\t\t\t\t'enableCustomSpacing',\n\t\t\t\t'enableCustomUnits',\n\t\t\t\t'focusMode',\n\t\t\t\t'fontSizes',\n\t\t\t\t'gradients',\n\t\t\t\t'generateAnchors',\n\t\t\t\t'hasFixedToolbar',\n\t\t\t\t'hasReducedUI',\n\t\t\t\t'imageDefaultSize',\n\t\t\t\t'imageDimensions',\n\t\t\t\t'imageEditing',\n\t\t\t\t'imageSizes',\n\t\t\t\t'isRTL',\n\t\t\t\t'keepCaretInsideBlock',\n\t\t\t\t'maxWidth',\n\t\t\t\t'onUpdateDefaultBlockStyles',\n\t\t\t\t'styles',\n\t\t\t\t'template',\n\t\t\t\t'templateLock',\n\t\t\t\t'titlePlaceholder',\n\t\t\t\t'supportsLayout',\n\t\t\t\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t\t\t\t'__unstableResolvedAssets',\n\t\t\t] ),\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t__experimentalUndo: undo,\n\t\t\toutlineMode: hasTemplate,\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\t__experimentalPreferPatternsOnRoot: hasTemplate,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\thasTemplate,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"names":["pick","unionBy","Platform","useMemo","useDispatch","useSelect","store","coreStore","__experimentalFetchLinkSuggestions","fetchLinkSuggestions","__experimentalFetchUrlData","fetchUrlData","__","mediaUpload","editorStore","useBlockEditorSettings","settings","hasTemplate","reusableBlocks","hasUploadPermissions","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","select","canUserUseUnfilteredHTML","isWeb","OS","canUser","getEntityRecord","siteSettings","undefined","getEntityRecords","per_page","page_on_front","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","getBlockPatterns","getBlockPatternCategories","blockPatterns","blockPatternCategories","undo","saveEntityRecord","createPageEntity","options","Promise","reject","message","__experimentalReusableBlocks","search","searchOptions","__experimentalFetchRichUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pick, unionBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {boolean} hasTemplate Whether template mode is enabled.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, hasTemplate ) {\n\tconst {\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUserUseUnfilteredHTML } = select( editorStore );\n\t\tconst isWeb = Platform.OS === 'web';\n\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\n\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\treusableBlocks: isWeb\n\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t\t{ per_page: -1 }\n\t\t\t\t )\n\t\t\t\t: [], // Reusable blocks are fetched in the native version of this hook.\n\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t};\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() => unionBy( settingsBlockPatterns, restBlockPatterns, 'name' ),\n\t\t[ settingsBlockPatterns, restBlockPatterns ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\tunionBy(\n\t\t\t\tsettingsBlockPatternCategories,\n\t\t\t\trestBlockPatternCategories,\n\t\t\t\t'name'\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = ( options ) => {\n\t\tif ( ! userCanCreatePages ) {\n\t\t\treturn Promise.reject( {\n\t\t\t\tmessage: __( 'You do not have permission to create Pages.' ),\n\t\t\t} );\n\t\t}\n\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t};\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...pick( settings, [\n\t\t\t\t'__experimentalBlockDirectory',\n\t\t\t\t'__experimentalDiscussionSettings',\n\t\t\t\t'__experimentalFeatures',\n\t\t\t\t'__experimentalPreferredStyleVariations',\n\t\t\t\t'__experimentalSetIsInserterOpened',\n\t\t\t\t'__unstableGalleryWithImageBlocks',\n\t\t\t\t'alignWide',\n\t\t\t\t'allowedBlockTypes',\n\t\t\t\t'bodyPlaceholder',\n\t\t\t\t'canLockBlocks',\n\t\t\t\t'codeEditingEnabled',\n\t\t\t\t'colors',\n\t\t\t\t'disableCustomColors',\n\t\t\t\t'disableCustomFontSizes',\n\t\t\t\t'disableCustomGradients',\n\t\t\t\t'enableCustomLineHeight',\n\t\t\t\t'enableCustomSpacing',\n\t\t\t\t'enableCustomUnits',\n\t\t\t\t'focusMode',\n\t\t\t\t'fontSizes',\n\t\t\t\t'gradients',\n\t\t\t\t'generateAnchors',\n\t\t\t\t'hasFixedToolbar',\n\t\t\t\t'hasReducedUI',\n\t\t\t\t'hasInlineToolbar',\n\t\t\t\t'imageDefaultSize',\n\t\t\t\t'imageDimensions',\n\t\t\t\t'imageEditing',\n\t\t\t\t'imageSizes',\n\t\t\t\t'isRTL',\n\t\t\t\t'keepCaretInsideBlock',\n\t\t\t\t'maxWidth',\n\t\t\t\t'onUpdateDefaultBlockStyles',\n\t\t\t\t'styles',\n\t\t\t\t'template',\n\t\t\t\t'templateLock',\n\t\t\t\t'titlePlaceholder',\n\t\t\t\t'supportsLayout',\n\t\t\t\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t\t\t\t'__unstableResolvedAssets',\n\t\t\t] ),\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t__experimentalUndo: undo,\n\t\t\toutlineMode: hasTemplate,\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\t__experimentalPreferPatternsOnRoot: hasTemplate,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\thasTemplate,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"]}
|
|
@@ -463,7 +463,7 @@ export function isEditedPostEmpty(state) {
|
|
|
463
463
|
|
|
464
464
|
if (blocks.length) {
|
|
465
465
|
// Pierce the abstraction of the serializer in knowing that blocks are
|
|
466
|
-
// joined with
|
|
466
|
+
// joined with newlines such that even if every individual block
|
|
467
467
|
// produces an empty save result, the serialized content is non-empty.
|
|
468
468
|
if (blocks.length > 1) {
|
|
469
469
|
return false;
|