@wordpress/block-library 6.0.9 → 6.0.10
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/build/cover/edit.js +8 -3
- package/build/cover/edit.js.map +1 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/v1/update-gallery-modal.js +1 -1
- package/build/gallery/v1/update-gallery-modal.js.map +1 -1
- package/build/index.js +3 -2
- package/build/index.js.map +1 -1
- package/build/navigation/deprecated.js +118 -12
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +45 -31
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +2 -2
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +16 -48
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +4 -35
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +50 -0
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -0
- package/build/navigation/edit/use-generate-default-navigation-title.js +73 -0
- package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -0
- package/build/navigation/index.js +1 -1
- package/build/navigation/save.js +2 -2
- package/build/navigation/save.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +19 -8
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/pattern/index.js +1 -1
- package/build/post-featured-image/edit.js +2 -3
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-terms/index.js +1 -1
- package/build/post-title/edit.js +2 -2
- package/build/post-title/edit.js.map +1 -1
- package/build/query-title/index.js +1 -1
- package/build/site-logo/index.js +1 -1
- package/build/site-tagline/index.js +1 -1
- package/build/site-title/index.js +1 -1
- package/build/template-part/edit/placeholder/index.js +1 -1
- package/build/template-part/edit/placeholder/index.js.map +1 -1
- package/build/template-part/index.js +2 -1
- package/build/template-part/index.js.map +1 -1
- package/build-module/cover/edit.js +8 -3
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/v1/update-gallery-modal.js +1 -1
- package/build-module/gallery/v1/update-gallery-modal.js.map +1 -1
- package/build-module/index.js +3 -2
- package/build-module/index.js.map +1 -1
- package/build-module/navigation/deprecated.js +118 -12
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +46 -31
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +2 -2
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +15 -45
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +6 -35
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +36 -0
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -0
- package/build-module/navigation/edit/use-generate-default-navigation-title.js +57 -0
- package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -0
- package/build-module/navigation/index.js +1 -1
- package/build-module/navigation/save.js +2 -2
- package/build-module/navigation/save.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +19 -8
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/pattern/index.js +1 -1
- package/build-module/post-featured-image/edit.js +2 -3
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-terms/index.js +1 -1
- package/build-module/post-title/edit.js +2 -2
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query-title/index.js +1 -1
- package/build-module/site-logo/index.js +1 -1
- package/build-module/site-tagline/index.js +1 -1
- package/build-module/site-title/index.js +1 -1
- package/build-module/template-part/edit/placeholder/index.js +2 -2
- package/build-module/template-part/edit/placeholder/index.js.map +1 -1
- package/build-module/template-part/index.js +2 -1
- package/build-module/template-part/index.js.map +1 -1
- package/build-style/editor-rtl.css +5 -4
- package/build-style/editor.css +5 -4
- package/build-style/gallery/editor-rtl.css +1 -0
- package/build-style/gallery/editor.css +1 -0
- package/build-style/post-featured-image/editor-rtl.css +2 -2
- package/build-style/post-featured-image/editor.css +2 -2
- package/build-style/site-logo/editor-rtl.css +2 -2
- package/build-style/site-logo/editor.css +2 -2
- package/package.json +8 -8
- package/src/calendar/index.php +2 -2
- package/src/cover/edit.js +8 -1
- package/src/gallery/edit.js +1 -1
- package/src/gallery/editor.scss +1 -0
- package/src/gallery/v1/update-gallery-modal.js +1 -1
- package/src/index.js +27 -25
- package/src/navigation/block.json +1 -1
- package/src/navigation/deprecated.js +105 -4
- package/src/navigation/edit/index.js +43 -36
- package/src/navigation/edit/navigation-menu-selector.js +2 -2
- package/src/navigation/edit/placeholder/index.js +16 -62
- package/src/navigation/edit/unsaved-inner-blocks.js +6 -57
- package/src/navigation/edit/use-create-navigation-menu.js +39 -0
- package/src/navigation/edit/use-generate-default-navigation-title.js +79 -0
- package/src/navigation/index.php +128 -14
- package/src/navigation/save.js +2 -2
- package/src/navigation/use-navigation-menu.js +20 -9
- package/src/page-list/index.php +5 -0
- package/src/pattern/block.json +1 -1
- package/src/post-featured-image/edit.js +2 -5
- package/src/post-featured-image/editor.scss +2 -2
- package/src/post-terms/block.json +1 -1
- package/src/post-title/edit.js +2 -2
- package/src/query-title/block.json +1 -1
- package/src/site-logo/block.json +1 -1
- package/src/site-logo/editor.scss +2 -2
- package/src/site-tagline/block.json +1 -1
- package/src/site-title/block.json +1 -1
- package/src/template-part/block.json +2 -1
- package/src/template-part/edit/placeholder/index.js +2 -2
- package/src/template-part/index.php +2 -1
- package/build/navigation/edit/navigation-menu-name-modal.js +0 -55
- package/build/navigation/edit/navigation-menu-name-modal.js.map +0 -1
- package/build/navigation/edit/navigation-menu-publish-button.js +0 -53
- package/build/navigation/edit/navigation-menu-publish-button.js.map +0 -1
- package/build-module/navigation/edit/navigation-menu-name-modal.js +0 -47
- package/build-module/navigation/edit/navigation-menu-name-modal.js.map +0 -1
- package/build-module/navigation/edit/navigation-menu-publish-button.js +0 -40
- package/build-module/navigation/edit/navigation-menu-publish-button.js.map +0 -1
- package/src/navigation/edit/navigation-menu-name-modal.js +0 -69
- package/src/navigation/edit/navigation-menu-publish-button.js +0 -57
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-name-modal.js"],"names":["Button","Flex","FlexItem","Modal","TextControl","useState","__","NavigationMenuNameModal","title","finishButtonText","onFinish","onRequestClose","value","name","setName","event","preventDefault","length"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,MADD,EAECC,IAFD,EAGCC,QAHD,EAICC,KAJD,EAKCC,WALD,QAMO,uBANP;AAOA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,eAAe,SAASC,uBAAT,OAMX;AAAA,MAN6C;AAChDC,IAAAA,KADgD;AAEhDC,IAAAA,gBAAgB,GAAGH,EAAE,CAAE,QAAF,CAF2B;AAGhDI,IAAAA,QAHgD;AAIhDC,IAAAA,cAJgD;AAKhDC,IAAAA,KAAK,GAAG;AALwC,GAM7C;AACH,QAAM,CAAEC,IAAF,EAAQC,OAAR,IAAoBT,QAAQ,CAAEO,KAAF,CAAlC;AAEA,SACC,cAAC,KAAD;AACC,IAAA,KAAK,EAAGJ,KADT;AAEC,IAAA,UAAU,EAAGF,EAAE,CAAE,QAAF,CAFhB;AAGC,IAAA,cAAc,EAAGK,cAHlB;AAIC,IAAA,gBAAgB,EAAC;AAJlB,KAMC;AACC,IAAA,QAAQ,EAAKI,KAAF,IAAa;AACvBA,MAAAA,KAAK,CAACC,cAAN;AACAN,MAAAA,QAAQ,CAAEG,IAAF,CAAR;AACA;AAJF,KAMC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGP,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,KAAK,EAAGO,IAFT;AAGC,IAAA,QAAQ,EAAGC;AAHZ,IAND,EAWC,cAAC,IAAD;AACC,IAAA,SAAS,EAAC,oEADX;AAEC,IAAA,OAAO,EAAC;AAFT,KAIC,cAAC,QAAD,QACC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,WADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfH,MAAAA,cAAc;AACd;AAJF,KAMGL,EAAE,CAAE,QAAF,CANL,CADD,CAJD,EAcC,cAAC,QAAD,QACC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,QAAQ,EAAG,CAAEO,IAAI,CAACI,MAHnB;AAIC,qBAAgB,CAAEJ,IAAI,CAACI;AAJxB,KAMGR,gBANH,CADD,CAdD,CAXD,CAND,CADD;AA8CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tModal,\n\tTextControl,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nexport default function NavigationMenuNameModal( {\n\ttitle,\n\tfinishButtonText = __( 'Create' ),\n\tonFinish,\n\tonRequestClose,\n\tvalue = '',\n} ) {\n\tconst [ name, setName ] = useState( value );\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ title }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tonRequestClose={ onRequestClose }\n\t\t\toverlayClassName=\"wp-block-template-part__placeholder-create-new__title-form\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonFinish( name );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ name }\n\t\t\t\t\tonChange={ setName }\n\t\t\t\t/>\n\t\t\t\t<Flex\n\t\t\t\t\tclassName=\"wp-block-template-part__placeholder-create-new__title-form-actions\"\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonRequestClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! name.length }\n\t\t\t\t\t\t\taria-disabled={ ! name.length }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ finishButtonText }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { createElement, Fragment } from "@wordpress/element";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* WordPress dependencies
|
|
5
|
-
*/
|
|
6
|
-
import { ToolbarButton } from '@wordpress/components';
|
|
7
|
-
import { useEntityId, useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
8
|
-
import { useDispatch } from '@wordpress/data';
|
|
9
|
-
import { useState } from '@wordpress/element';
|
|
10
|
-
import { __ } from '@wordpress/i18n';
|
|
11
|
-
/**
|
|
12
|
-
* Internal dependencies
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import NavigationMenuNameModal from './navigation-menu-name-modal';
|
|
16
|
-
export default function NavigationMenuPublishButton() {
|
|
17
|
-
const [isNameModalVisible, setIsNameModalVisible] = useState(false);
|
|
18
|
-
const id = useEntityId('postType', 'wp_navigation');
|
|
19
|
-
const [navigationMenuTitle] = useEntityProp('postType', 'wp_navigation', 'title');
|
|
20
|
-
const {
|
|
21
|
-
editEntityRecord,
|
|
22
|
-
saveEditedEntityRecord
|
|
23
|
-
} = useDispatch(coreStore);
|
|
24
|
-
return createElement(Fragment, null, createElement(ToolbarButton, {
|
|
25
|
-
onClick: () => setIsNameModalVisible(true)
|
|
26
|
-
}, __('Save as')), isNameModalVisible && createElement(NavigationMenuNameModal, {
|
|
27
|
-
title: __('Save your new navigation menu'),
|
|
28
|
-
value: navigationMenuTitle,
|
|
29
|
-
onRequestClose: () => setIsNameModalVisible(false),
|
|
30
|
-
finishButtonText: __('Save'),
|
|
31
|
-
onFinish: updatedTitle => {
|
|
32
|
-
editEntityRecord('postType', 'wp_navigation', id, {
|
|
33
|
-
title: updatedTitle,
|
|
34
|
-
status: 'publish'
|
|
35
|
-
});
|
|
36
|
-
saveEditedEntityRecord('postType', 'wp_navigation', id);
|
|
37
|
-
}
|
|
38
|
-
}));
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=navigation-menu-publish-button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-publish-button.js"],"names":["ToolbarButton","useEntityId","useEntityProp","store","coreStore","useDispatch","useState","__","NavigationMenuNameModal","NavigationMenuPublishButton","isNameModalVisible","setIsNameModalVisible","id","navigationMenuTitle","editEntityRecord","saveEditedEntityRecord","updatedTitle","title","status"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,uBAA9B;AACA,SACCC,WADD,EAECC,aAFD,EAGCC,KAAK,IAAIC,SAHV,QAIO,sBAJP;AAKA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,8BAApC;AAEA,eAAe,SAASC,2BAAT,GAAuC;AACrD,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IAAgDL,QAAQ,CAAE,KAAF,CAA9D;AACA,QAAMM,EAAE,GAAGX,WAAW,CAAE,UAAF,EAAc,eAAd,CAAtB;AACA,QAAM,CAAEY,mBAAF,IAA0BX,aAAa,CAC5C,UAD4C,EAE5C,eAF4C,EAG5C,OAH4C,CAA7C;AAKA,QAAM;AAAEY,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MAA+CV,WAAW,CAC/DD,SAD+D,CAAhE;AAIA,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,OAAO,EAAG,MAAMO,qBAAqB,CAAE,IAAF;AAApD,KACGJ,EAAE,CAAE,SAAF,CADL,CADD,EAIGG,kBAAkB,IACnB,cAAC,uBAAD;AACC,IAAA,KAAK,EAAGH,EAAE,CAAE,+BAAF,CADX;AAEC,IAAA,KAAK,EAAGM,mBAFT;AAGC,IAAA,cAAc,EAAG,MAAMF,qBAAqB,CAAE,KAAF,CAH7C;AAIC,IAAA,gBAAgB,EAAGJ,EAAE,CAAE,MAAF,CAJtB;AAKC,IAAA,QAAQ,EAAKS,YAAF,IAAoB;AAC9BF,MAAAA,gBAAgB,CAAE,UAAF,EAAc,eAAd,EAA+BF,EAA/B,EAAmC;AAClDK,QAAAA,KAAK,EAAED,YAD2C;AAElDE,QAAAA,MAAM,EAAE;AAF0C,OAAnC,CAAhB;AAIAH,MAAAA,sBAAsB,CACrB,UADqB,EAErB,eAFqB,EAGrBH,EAHqB,CAAtB;AAKA;AAfF,IALF,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarButton } from '@wordpress/components';\nimport {\n\tuseEntityId,\n\tuseEntityProp,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuNameModal from './navigation-menu-name-modal';\n\nexport default function NavigationMenuPublishButton() {\n\tconst [ isNameModalVisible, setIsNameModalVisible ] = useState( false );\n\tconst id = useEntityId( 'postType', 'wp_navigation' );\n\tconst [ navigationMenuTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\tconst { editEntityRecord, saveEditedEntityRecord } = useDispatch(\n\t\tcoreStore\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton onClick={ () => setIsNameModalVisible( true ) }>\n\t\t\t\t{ __( 'Save as' ) }\n\t\t\t</ToolbarButton>\n\t\t\t{ isNameModalVisible && (\n\t\t\t\t<NavigationMenuNameModal\n\t\t\t\t\ttitle={ __( 'Save your new navigation menu' ) }\n\t\t\t\t\tvalue={ navigationMenuTitle }\n\t\t\t\t\tonRequestClose={ () => setIsNameModalVisible( false ) }\n\t\t\t\t\tfinishButtonText={ __( 'Save' ) }\n\t\t\t\t\tonFinish={ ( updatedTitle ) => {\n\t\t\t\t\t\teditEntityRecord( 'postType', 'wp_navigation', id, {\n\t\t\t\t\t\t\ttitle: updatedTitle,\n\t\t\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsaveEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'wp_navigation',\n\t\t\t\t\t\t\tid\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import {
|
|
5
|
-
Button,
|
|
6
|
-
Flex,
|
|
7
|
-
FlexItem,
|
|
8
|
-
Modal,
|
|
9
|
-
TextControl,
|
|
10
|
-
} from '@wordpress/components';
|
|
11
|
-
import { useState } from '@wordpress/element';
|
|
12
|
-
import { __ } from '@wordpress/i18n';
|
|
13
|
-
|
|
14
|
-
export default function NavigationMenuNameModal( {
|
|
15
|
-
title,
|
|
16
|
-
finishButtonText = __( 'Create' ),
|
|
17
|
-
onFinish,
|
|
18
|
-
onRequestClose,
|
|
19
|
-
value = '',
|
|
20
|
-
} ) {
|
|
21
|
-
const [ name, setName ] = useState( value );
|
|
22
|
-
|
|
23
|
-
return (
|
|
24
|
-
<Modal
|
|
25
|
-
title={ title }
|
|
26
|
-
closeLabel={ __( 'Cancel' ) }
|
|
27
|
-
onRequestClose={ onRequestClose }
|
|
28
|
-
overlayClassName="wp-block-template-part__placeholder-create-new__title-form"
|
|
29
|
-
>
|
|
30
|
-
<form
|
|
31
|
-
onSubmit={ ( event ) => {
|
|
32
|
-
event.preventDefault();
|
|
33
|
-
onFinish( name );
|
|
34
|
-
} }
|
|
35
|
-
>
|
|
36
|
-
<TextControl
|
|
37
|
-
label={ __( 'Name' ) }
|
|
38
|
-
value={ name }
|
|
39
|
-
onChange={ setName }
|
|
40
|
-
/>
|
|
41
|
-
<Flex
|
|
42
|
-
className="wp-block-template-part__placeholder-create-new__title-form-actions"
|
|
43
|
-
justify="flex-end"
|
|
44
|
-
>
|
|
45
|
-
<FlexItem>
|
|
46
|
-
<Button
|
|
47
|
-
variant="secondary"
|
|
48
|
-
onClick={ () => {
|
|
49
|
-
onRequestClose();
|
|
50
|
-
} }
|
|
51
|
-
>
|
|
52
|
-
{ __( 'Cancel' ) }
|
|
53
|
-
</Button>
|
|
54
|
-
</FlexItem>
|
|
55
|
-
<FlexItem>
|
|
56
|
-
<Button
|
|
57
|
-
variant="primary"
|
|
58
|
-
type="submit"
|
|
59
|
-
disabled={ ! name.length }
|
|
60
|
-
aria-disabled={ ! name.length }
|
|
61
|
-
>
|
|
62
|
-
{ finishButtonText }
|
|
63
|
-
</Button>
|
|
64
|
-
</FlexItem>
|
|
65
|
-
</Flex>
|
|
66
|
-
</form>
|
|
67
|
-
</Modal>
|
|
68
|
-
);
|
|
69
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { ToolbarButton } from '@wordpress/components';
|
|
5
|
-
import {
|
|
6
|
-
useEntityId,
|
|
7
|
-
useEntityProp,
|
|
8
|
-
store as coreStore,
|
|
9
|
-
} from '@wordpress/core-data';
|
|
10
|
-
import { useDispatch } from '@wordpress/data';
|
|
11
|
-
import { useState } from '@wordpress/element';
|
|
12
|
-
import { __ } from '@wordpress/i18n';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Internal dependencies
|
|
16
|
-
*/
|
|
17
|
-
import NavigationMenuNameModal from './navigation-menu-name-modal';
|
|
18
|
-
|
|
19
|
-
export default function NavigationMenuPublishButton() {
|
|
20
|
-
const [ isNameModalVisible, setIsNameModalVisible ] = useState( false );
|
|
21
|
-
const id = useEntityId( 'postType', 'wp_navigation' );
|
|
22
|
-
const [ navigationMenuTitle ] = useEntityProp(
|
|
23
|
-
'postType',
|
|
24
|
-
'wp_navigation',
|
|
25
|
-
'title'
|
|
26
|
-
);
|
|
27
|
-
const { editEntityRecord, saveEditedEntityRecord } = useDispatch(
|
|
28
|
-
coreStore
|
|
29
|
-
);
|
|
30
|
-
|
|
31
|
-
return (
|
|
32
|
-
<>
|
|
33
|
-
<ToolbarButton onClick={ () => setIsNameModalVisible( true ) }>
|
|
34
|
-
{ __( 'Save as' ) }
|
|
35
|
-
</ToolbarButton>
|
|
36
|
-
{ isNameModalVisible && (
|
|
37
|
-
<NavigationMenuNameModal
|
|
38
|
-
title={ __( 'Save your new navigation menu' ) }
|
|
39
|
-
value={ navigationMenuTitle }
|
|
40
|
-
onRequestClose={ () => setIsNameModalVisible( false ) }
|
|
41
|
-
finishButtonText={ __( 'Save' ) }
|
|
42
|
-
onFinish={ ( updatedTitle ) => {
|
|
43
|
-
editEntityRecord( 'postType', 'wp_navigation', id, {
|
|
44
|
-
title: updatedTitle,
|
|
45
|
-
status: 'publish',
|
|
46
|
-
} );
|
|
47
|
-
saveEditedEntityRecord(
|
|
48
|
-
'postType',
|
|
49
|
-
'wp_navigation',
|
|
50
|
-
id
|
|
51
|
-
);
|
|
52
|
-
} }
|
|
53
|
-
/>
|
|
54
|
-
) }
|
|
55
|
-
</>
|
|
56
|
-
);
|
|
57
|
-
}
|