@wordpress/editor 13.10.0 → 13.12.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 +4 -0
- package/build/components/autosave-monitor/index.js +1 -2
- package/build/components/autosave-monitor/index.js.map +1 -1
- package/build/components/deprecated.js +3 -4
- package/build/components/deprecated.js.map +1 -1
- package/build/components/document-outline/check.js +4 -5
- package/build/components/document-outline/check.js.map +1 -1
- package/build/components/document-outline/index.js +12 -16
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/document-outline/item.js +22 -25
- package/build/components/document-outline/item.js.map +1 -1
- package/build/components/editor-help/help-detail-navigation-screen.native.js +4 -5
- package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build/components/editor-help/help-get-support-button.native.js +4 -5
- package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
- package/build/components/editor-help/help-section-title.native.js +3 -4
- package/build/components/editor-help/help-section-title.native.js.map +1 -1
- package/build/components/editor-help/help-topic-row.native.js +6 -7
- package/build/components/editor-help/help-topic-row.native.js.map +1 -1
- package/build/components/editor-help/index.native.js +19 -24
- package/build/components/editor-help/index.native.js.map +1 -1
- package/build/components/editor-help/view-sections.native.js +16 -20
- package/build/components/editor-help/view-sections.native.js.map +1 -1
- package/build/components/editor-notices/index.js +12 -19
- package/build/components/editor-notices/index.js.map +1 -1
- package/build/components/editor-snackbars/index.js +3 -6
- package/build/components/editor-snackbars/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-record-item.js +7 -10
- package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build/components/entities-saved-states/entity-type-list.js +6 -7
- package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build/components/entities-saved-states/hooks/use-is-dirty.js +84 -0
- package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -0
- package/build/components/entities-saved-states/index.js +42 -110
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/error-boundary/index.js +4 -5
- package/build/components/error-boundary/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/save-shortcut.js +3 -4
- package/build/components/global-keyboard-shortcuts/save-shortcut.js.map +1 -1
- package/build/components/index.js +9 -0
- package/build/components/index.js.map +1 -1
- package/build/components/media-categories/index.js +25 -42
- package/build/components/media-categories/index.js.map +1 -1
- package/build/components/page-attributes/check.js +4 -7
- package/build/components/page-attributes/check.js.map +1 -1
- package/build/components/page-attributes/order.js +5 -8
- package/build/components/page-attributes/order.js.map +1 -1
- package/build/components/page-attributes/parent.js +5 -12
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/post-author/check.js +6 -7
- package/build/components/post-author/check.js.map +1 -1
- package/build/components/post-author/combobox.js +3 -6
- package/build/components/post-author/combobox.js.map +1 -1
- package/build/components/post-author/index.js +1 -1
- package/build/components/post-author/index.js.map +1 -1
- package/build/components/post-comments/index.js +4 -6
- package/build/components/post-comments/index.js.map +1 -1
- package/build/components/post-excerpt/index.js +4 -5
- package/build/components/post-excerpt/index.js.map +1 -1
- package/build/components/post-featured-image/index.js +56 -69
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-format/check.js +4 -5
- package/build/components/post-format/check.js.map +1 -1
- package/build/components/post-format/index.js +1 -1
- package/build/components/post-format/index.js.map +1 -1
- package/build/components/post-last-revision/check.js +5 -7
- package/build/components/post-last-revision/check.js.map +1 -1
- package/build/components/post-last-revision/index.js +4 -5
- package/build/components/post-last-revision/index.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-pending-status/check.js +7 -9
- package/build/components/post-pending-status/check.js.map +1 -1
- package/build/components/post-pending-status/index.js +4 -6
- package/build/components/post-pending-status/index.js.map +1 -1
- package/build/components/post-pingbacks/index.js +4 -6
- package/build/components/post-pingbacks/index.js.map +1 -1
- package/build/components/post-preview-button/index.js +8 -12
- package/build/components/post-preview-button/index.js.map +1 -1
- package/build/components/post-publish-button/index.js +6 -13
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-button/label.js +14 -17
- package/build/components/post-publish-button/label.js.map +1 -1
- package/build/components/post-publish-panel/index.js +6 -7
- package/build/components/post-publish-panel/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-publish-panel/maybe-post-format-panel.js +9 -12
- package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-tags-panel.js +4 -7
- package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build/components/post-publish-panel/postpublish.js +8 -11
- package/build/components/post-publish-panel/postpublish.js.map +1 -1
- package/build/components/post-publish-panel/prepublish.js +5 -6
- package/build/components/post-publish-panel/prepublish.js.map +1 -1
- package/build/components/post-saved-state/index.js +13 -8
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/check.js +6 -8
- package/build/components/post-schedule/check.js.map +1 -1
- package/build/components/post-schedule/index.js +8 -12
- package/build/components/post-schedule/index.js.map +1 -1
- package/build/components/post-schedule/label.js +7 -10
- package/build/components/post-schedule/label.js.map +1 -1
- package/build/components/post-slug/check.js +3 -4
- package/build/components/post-slug/check.js.map +1 -1
- package/build/components/post-slug/index.js +5 -6
- package/build/components/post-slug/index.js.map +1 -1
- package/build/components/post-sticky/check.js +7 -9
- package/build/components/post-sticky/check.js.map +1 -1
- package/build/components/post-sticky/index.js +4 -5
- package/build/components/post-sticky/index.js.map +1 -1
- package/build/components/post-switch-to-draft-button/index.js +6 -7
- package/build/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build/components/post-taxonomies/check.js +6 -7
- package/build/components/post-taxonomies/check.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +13 -14
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js +13 -14
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +6 -11
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/most-used-terms.js +5 -6
- package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build/components/post-template/index.js +6 -9
- package/build/components/post-template/index.js.map +1 -1
- package/build/components/post-title/index.js +2 -6
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/index.native.js +8 -11
- package/build/components/post-title/index.native.js.map +1 -1
- package/build/components/post-trash/check.js +7 -9
- package/build/components/post-trash/check.js.map +1 -1
- package/build/components/post-type-support-check/index.js +5 -6
- package/build/components/post-type-support-check/index.js.map +1 -1
- package/build/components/post-url/check.js +4 -5
- package/build/components/post-url/check.js.map +1 -1
- package/build/components/post-url/index.js +8 -9
- package/build/components/post-url/index.js.map +1 -1
- package/build/components/post-visibility/check.js +6 -7
- package/build/components/post-visibility/check.js.map +1 -1
- package/build/components/post-visibility/index.js +10 -12
- package/build/components/post-visibility/index.js.map +1 -1
- package/build/components/post-visibility/label.js +1 -3
- package/build/components/post-visibility/label.js.map +1 -1
- package/build/components/provider/index.js +9 -10
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +14 -20
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +6 -10
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.native.js +1 -3
- package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
- package/build/components/table-of-contents/index.js +26 -33
- package/build/components/table-of-contents/index.js.map +1 -1
- package/build/components/table-of-contents/panel.js +4 -5
- package/build/components/table-of-contents/panel.js.map +1 -1
- package/build/components/template-validation-notice/index.js +4 -6
- package/build/components/template-validation-notice/index.js.map +1 -1
- package/build/components/theme-support-check/index.js +7 -8
- package/build/components/theme-support-check/index.js.map +1 -1
- package/build/hooks/custom-sources-backwards-compatibility.js +16 -35
- package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build/hooks/default-autocompleters.js +1 -2
- package/build/hooks/default-autocompleters.js.map +1 -1
- package/build/private-apis.js +4 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +147 -179
- package/build/store/actions.js.map +1 -1
- package/build/store/actions.native.js +1 -2
- package/build/store/actions.native.js.map +1 -1
- package/build/store/reducer.js +14 -44
- package/build/store/reducer.js.map +1 -1
- package/build/store/reducer.native.js +3 -12
- package/build/store/reducer.native.js.map +1 -1
- package/build/store/selectors.js +23 -54
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils/notice-builder.js +3 -3
- package/build/store/utils/notice-builder.js.map +1 -1
- package/build/utils/media-upload/index.js +11 -15
- package/build/utils/media-upload/index.js.map +1 -1
- package/build/utils/terms.js +3 -6
- package/build/utils/terms.js.map +1 -1
- package/build-module/components/autosave-monitor/index.js +1 -2
- package/build-module/components/autosave-monitor/index.js.map +1 -1
- package/build-module/components/deprecated.js +3 -4
- package/build-module/components/deprecated.js.map +1 -1
- package/build-module/components/document-outline/check.js +4 -5
- package/build-module/components/document-outline/check.js.map +1 -1
- package/build-module/components/document-outline/index.js +12 -16
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/document-outline/item.js +22 -25
- package/build-module/components/document-outline/item.js.map +1 -1
- package/build-module/components/editor-help/help-detail-navigation-screen.native.js +4 -5
- package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build-module/components/editor-help/help-get-support-button.native.js +4 -5
- package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
- package/build-module/components/editor-help/help-section-title.native.js +3 -4
- package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
- package/build-module/components/editor-help/help-topic-row.native.js +6 -7
- package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
- package/build-module/components/editor-help/index.native.js +19 -23
- package/build-module/components/editor-help/index.native.js.map +1 -1
- package/build-module/components/editor-help/view-sections.native.js +16 -20
- package/build-module/components/editor-help/view-sections.native.js.map +1 -1
- package/build-module/components/editor-notices/index.js +12 -19
- package/build-module/components/editor-notices/index.js.map +1 -1
- package/build-module/components/editor-snackbars/index.js +3 -6
- package/build-module/components/editor-snackbars/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js +7 -10
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js +6 -7
- package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +70 -0
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -0
- package/build-module/components/entities-saved-states/index.js +43 -113
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/error-boundary/index.js +4 -5
- package/build-module/components/error-boundary/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/save-shortcut.js +3 -4
- package/build-module/components/global-keyboard-shortcuts/save-shortcut.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/media-categories/index.js +25 -42
- package/build-module/components/media-categories/index.js.map +1 -1
- package/build-module/components/page-attributes/check.js +4 -7
- package/build-module/components/page-attributes/check.js.map +1 -1
- package/build-module/components/page-attributes/order.js +5 -8
- package/build-module/components/page-attributes/order.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +5 -12
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/post-author/check.js +6 -7
- package/build-module/components/post-author/check.js.map +1 -1
- package/build-module/components/post-author/combobox.js +3 -6
- package/build-module/components/post-author/combobox.js.map +1 -1
- package/build-module/components/post-author/index.js +1 -1
- package/build-module/components/post-author/index.js.map +1 -1
- package/build-module/components/post-comments/index.js +4 -6
- package/build-module/components/post-comments/index.js.map +1 -1
- package/build-module/components/post-excerpt/index.js +4 -5
- package/build-module/components/post-excerpt/index.js.map +1 -1
- package/build-module/components/post-featured-image/index.js +56 -69
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-format/check.js +4 -5
- package/build-module/components/post-format/check.js.map +1 -1
- package/build-module/components/post-format/index.js +1 -1
- package/build-module/components/post-format/index.js.map +1 -1
- package/build-module/components/post-last-revision/check.js +5 -7
- package/build-module/components/post-last-revision/check.js.map +1 -1
- package/build-module/components/post-last-revision/index.js +4 -5
- package/build-module/components/post-last-revision/index.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-pending-status/check.js +7 -9
- package/build-module/components/post-pending-status/check.js.map +1 -1
- package/build-module/components/post-pending-status/index.js +4 -6
- package/build-module/components/post-pending-status/index.js.map +1 -1
- package/build-module/components/post-pingbacks/index.js +4 -6
- package/build-module/components/post-pingbacks/index.js.map +1 -1
- package/build-module/components/post-preview-button/index.js +8 -12
- package/build-module/components/post-preview-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +6 -13
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/label.js +14 -17
- package/build-module/components/post-publish-button/label.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js +6 -7
- package/build-module/components/post-publish-panel/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-publish-panel/maybe-post-format-panel.js +9 -12
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js +4 -7
- package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/postpublish.js +8 -11
- package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
- package/build-module/components/post-publish-panel/prepublish.js +5 -6
- package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +13 -8
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/check.js +6 -8
- package/build-module/components/post-schedule/check.js.map +1 -1
- package/build-module/components/post-schedule/index.js +8 -12
- package/build-module/components/post-schedule/index.js.map +1 -1
- package/build-module/components/post-schedule/label.js +7 -10
- package/build-module/components/post-schedule/label.js.map +1 -1
- package/build-module/components/post-slug/check.js +3 -4
- package/build-module/components/post-slug/check.js.map +1 -1
- package/build-module/components/post-slug/index.js +5 -6
- package/build-module/components/post-slug/index.js.map +1 -1
- package/build-module/components/post-sticky/check.js +7 -9
- package/build-module/components/post-sticky/check.js.map +1 -1
- package/build-module/components/post-sticky/index.js +4 -5
- package/build-module/components/post-sticky/index.js.map +1 -1
- package/build-module/components/post-switch-to-draft-button/index.js +6 -7
- package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build-module/components/post-taxonomies/check.js +6 -7
- package/build-module/components/post-taxonomies/check.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +13 -14
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js +13 -14
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +6 -11
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-taxonomies/most-used-terms.js +5 -6
- package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build-module/components/post-template/index.js +6 -9
- package/build-module/components/post-template/index.js.map +1 -1
- package/build-module/components/post-title/index.js +2 -6
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/index.native.js +8 -11
- package/build-module/components/post-title/index.native.js.map +1 -1
- package/build-module/components/post-trash/check.js +7 -9
- package/build-module/components/post-trash/check.js.map +1 -1
- package/build-module/components/post-type-support-check/index.js +5 -6
- package/build-module/components/post-type-support-check/index.js.map +1 -1
- package/build-module/components/post-url/check.js +4 -5
- package/build-module/components/post-url/check.js.map +1 -1
- package/build-module/components/post-url/index.js +8 -9
- package/build-module/components/post-url/index.js.map +1 -1
- package/build-module/components/post-visibility/check.js +6 -7
- package/build-module/components/post-visibility/check.js.map +1 -1
- package/build-module/components/post-visibility/index.js +10 -12
- package/build-module/components/post-visibility/index.js.map +1 -1
- package/build-module/components/post-visibility/label.js +1 -3
- package/build-module/components/post-visibility/label.js.map +1 -1
- package/build-module/components/provider/index.js +9 -10
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +14 -20
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +6 -10
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.native.js +1 -3
- package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
- package/build-module/components/table-of-contents/index.js +26 -33
- package/build-module/components/table-of-contents/index.js.map +1 -1
- package/build-module/components/table-of-contents/panel.js +4 -5
- package/build-module/components/table-of-contents/panel.js.map +1 -1
- package/build-module/components/template-validation-notice/index.js +4 -6
- package/build-module/components/template-validation-notice/index.js.map +1 -1
- package/build-module/components/theme-support-check/index.js +7 -8
- package/build-module/components/theme-support-check/index.js.map +1 -1
- package/build-module/hooks/custom-sources-backwards-compatibility.js +16 -35
- package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build-module/hooks/default-autocompleters.js +1 -2
- package/build-module/hooks/default-autocompleters.js.map +1 -1
- package/build-module/private-apis.js +3 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +147 -179
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/actions.native.js +1 -2
- package/build-module/store/actions.native.js.map +1 -1
- package/build-module/store/reducer.js +14 -44
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/reducer.native.js +3 -12
- package/build-module/store/reducer.native.js.map +1 -1
- package/build-module/store/selectors.js +21 -54
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils/notice-builder.js +3 -3
- package/build-module/store/utils/notice-builder.js.map +1 -1
- package/build-module/utils/media-upload/index.js +11 -15
- package/build-module/utils/media-upload/index.js.map +1 -1
- package/build-module/utils/terms.js +3 -6
- package/build-module/utils/terms.js.map +1 -1
- package/build-style/style-rtl.css +1 -1
- package/build-style/style.css +1 -1
- package/package.json +31 -31
- package/src/components/entities-saved-states/hooks/use-is-dirty.js +85 -0
- package/src/components/entities-saved-states/index.js +29 -107
- package/src/components/entities-saved-states/test/use-is-dirty.js +94 -0
- package/src/components/index.js +1 -0
- package/src/components/post-saved-state/index.js +6 -0
- package/src/components/post-taxonomies/flat-term-selector.js +1 -1
- package/src/components/post-title/index.js +2 -1
- package/src/components/provider/use-block-editor-settings.js +1 -0
- package/src/private-apis.js +2 -0
|
@@ -5,6 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.EntitiesSavedStatesExtensible = EntitiesSavedStatesExtensible;
|
|
8
9
|
exports.default = EntitiesSavedStates;
|
|
9
10
|
|
|
10
11
|
var _element = require("@wordpress/element");
|
|
@@ -25,10 +26,10 @@ var _compose = require("@wordpress/compose");
|
|
|
25
26
|
|
|
26
27
|
var _notices = require("@wordpress/notices");
|
|
27
28
|
|
|
28
|
-
var _url = require("@wordpress/url");
|
|
29
|
-
|
|
30
29
|
var _entityTypeList = _interopRequireDefault(require("./entity-type-list"));
|
|
31
30
|
|
|
31
|
+
var _useIsDirty = require("./hooks/use-is-dirty");
|
|
32
|
+
|
|
32
33
|
/**
|
|
33
34
|
* WordPress dependencies
|
|
34
35
|
*/
|
|
@@ -36,14 +37,6 @@ var _entityTypeList = _interopRequireDefault(require("./entity-type-list"));
|
|
|
36
37
|
/**
|
|
37
38
|
* Internal dependencies
|
|
38
39
|
*/
|
|
39
|
-
const TRANSLATED_SITE_PROPERTIES = {
|
|
40
|
-
title: (0, _i18n.__)('Title'),
|
|
41
|
-
description: (0, _i18n.__)('Tagline'),
|
|
42
|
-
site_logo: (0, _i18n.__)('Logo'),
|
|
43
|
-
site_icon: (0, _i18n.__)('Icon'),
|
|
44
|
-
show_on_front: (0, _i18n.__)('Show on front'),
|
|
45
|
-
page_on_front: (0, _i18n.__)('Page on front')
|
|
46
|
-
};
|
|
47
40
|
const PUBLISH_ON_SAVE_ENTITIES = [{
|
|
48
41
|
kind: 'postType',
|
|
49
42
|
name: 'wp_navigation'
|
|
@@ -53,56 +46,27 @@ function identity(values) {
|
|
|
53
46
|
return values;
|
|
54
47
|
}
|
|
55
48
|
|
|
56
|
-
function
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
function EntitiesSavedStates({
|
|
50
|
+
close
|
|
51
|
+
}) {
|
|
52
|
+
const isDirtyProps = (0, _useIsDirty.useIsDirty)();
|
|
53
|
+
return (0, _element.createElement)(EntitiesSavedStatesExtensible, (0, _extends2.default)({
|
|
54
|
+
close: close
|
|
55
|
+
}, isDirtyProps));
|
|
60
56
|
}
|
|
61
57
|
|
|
62
|
-
function
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
let {
|
|
74
|
-
close,
|
|
75
|
-
onSave = identity
|
|
76
|
-
} = _ref;
|
|
58
|
+
function EntitiesSavedStatesExtensible({
|
|
59
|
+
additionalPrompt = undefined,
|
|
60
|
+
close,
|
|
61
|
+
onSave = identity,
|
|
62
|
+
saveEnabled: saveEnabledProp = undefined,
|
|
63
|
+
saveLabel = (0, _i18n.__)('Save'),
|
|
64
|
+
dirtyEntityRecords,
|
|
65
|
+
isDirty,
|
|
66
|
+
setUnselectedEntities,
|
|
67
|
+
unselectedEntities
|
|
68
|
+
}) {
|
|
77
69
|
const saveButtonRef = (0, _element.useRef)();
|
|
78
|
-
const {
|
|
79
|
-
getTheme
|
|
80
|
-
} = (0, _data.useSelect)(_coreData.store);
|
|
81
|
-
const theme = getTheme(currentlyPreviewingTheme());
|
|
82
|
-
const {
|
|
83
|
-
dirtyEntityRecords
|
|
84
|
-
} = (0, _data.useSelect)(select => {
|
|
85
|
-
const dirtyRecords = select(_coreData.store).__experimentalGetDirtyEntityRecords(); // Remove site object and decouple into its edited pieces.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
const dirtyRecordsWithoutSite = dirtyRecords.filter(record => !(record.kind === 'root' && record.name === 'site'));
|
|
89
|
-
const siteEdits = select(_coreData.store).getEntityRecordEdits('root', 'site');
|
|
90
|
-
const siteEditsAsEntities = [];
|
|
91
|
-
|
|
92
|
-
for (const property in siteEdits) {
|
|
93
|
-
siteEditsAsEntities.push({
|
|
94
|
-
kind: 'root',
|
|
95
|
-
name: 'site',
|
|
96
|
-
title: TRANSLATED_SITE_PROPERTIES[property] || property,
|
|
97
|
-
property
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
const dirtyRecordsWithSiteItems = [...dirtyRecordsWithoutSite, ...siteEditsAsEntities];
|
|
102
|
-
return {
|
|
103
|
-
dirtyEntityRecords: dirtyRecordsWithSiteItems
|
|
104
|
-
};
|
|
105
|
-
}, []);
|
|
106
70
|
const {
|
|
107
71
|
editEntityRecord,
|
|
108
72
|
saveEditedEntityRecord,
|
|
@@ -113,7 +77,8 @@ function EntitiesSavedStates(_ref) {
|
|
|
113
77
|
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
114
78
|
const {
|
|
115
79
|
createSuccessNotice,
|
|
116
|
-
createErrorNotice
|
|
80
|
+
createErrorNotice,
|
|
81
|
+
removeNotice
|
|
117
82
|
} = (0, _data.useDispatch)(_notices.store); // To group entities by type.
|
|
118
83
|
|
|
119
84
|
const partitionedSavables = dirtyEntityRecords.reduce((acc, record) => {
|
|
@@ -135,51 +100,29 @@ function EntitiesSavedStates(_ref) {
|
|
|
135
100
|
wp_template_part: templatePartSavables,
|
|
136
101
|
...contentSavables
|
|
137
102
|
} = partitionedSavables;
|
|
138
|
-
const sortedPartitionedSavables = [siteSavables, templateSavables, templatePartSavables, ...Object.values(contentSavables)].filter(Array.isArray);
|
|
139
|
-
|
|
140
|
-
const [unselectedEntities, _setUnselectedEntities] = (0, _element.useState)([]);
|
|
103
|
+
const sortedPartitionedSavables = [siteSavables, templateSavables, templatePartSavables, ...Object.values(contentSavables)].filter(Array.isArray);
|
|
104
|
+
const saveEnabled = saveEnabledProp !== null && saveEnabledProp !== void 0 ? saveEnabledProp : isDirty;
|
|
141
105
|
|
|
142
|
-
const
|
|
143
|
-
|
|
106
|
+
const saveCheckedEntities = () => {
|
|
107
|
+
const saveNoticeId = 'site-editor-save-success';
|
|
108
|
+
removeNotice(saveNoticeId);
|
|
109
|
+
const entitiesToSave = dirtyEntityRecords.filter(({
|
|
144
110
|
kind,
|
|
145
111
|
name,
|
|
146
112
|
key,
|
|
147
113
|
property
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
if (checked) {
|
|
151
|
-
_setUnselectedEntities(unselectedEntities.filter(elt => elt.kind !== kind || elt.name !== name || elt.key !== key || elt.property !== property));
|
|
152
|
-
} else {
|
|
153
|
-
_setUnselectedEntities([...unselectedEntities, {
|
|
154
|
-
kind,
|
|
155
|
-
name,
|
|
156
|
-
key,
|
|
157
|
-
property
|
|
158
|
-
}]);
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
const saveCheckedEntitiesAndActivate = () => {
|
|
163
|
-
const entitiesToSave = dirtyEntityRecords.filter(_ref3 => {
|
|
164
|
-
let {
|
|
165
|
-
kind,
|
|
166
|
-
name,
|
|
167
|
-
key,
|
|
168
|
-
property
|
|
169
|
-
} = _ref3;
|
|
114
|
+
}) => {
|
|
170
115
|
return !unselectedEntities.some(elt => elt.kind === kind && elt.name === name && elt.key === key && elt.property === property);
|
|
171
116
|
});
|
|
172
117
|
close(entitiesToSave);
|
|
173
118
|
const siteItemsToSave = [];
|
|
174
119
|
const pendingSavedRecords = [];
|
|
175
|
-
entitiesToSave.forEach(
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
} = _ref4;
|
|
182
|
-
|
|
120
|
+
entitiesToSave.forEach(({
|
|
121
|
+
kind,
|
|
122
|
+
name,
|
|
123
|
+
key,
|
|
124
|
+
property
|
|
125
|
+
}) => {
|
|
183
126
|
if ('root' === kind && 'site' === name) {
|
|
184
127
|
siteItemsToSave.push(property);
|
|
185
128
|
} else {
|
|
@@ -206,7 +149,8 @@ function EntitiesSavedStates(_ref) {
|
|
|
206
149
|
createErrorNotice((0, _i18n.__)('Saving failed.'));
|
|
207
150
|
} else {
|
|
208
151
|
createSuccessNotice((0, _i18n.__)('Site updated.'), {
|
|
209
|
-
type: 'snackbar'
|
|
152
|
+
type: 'snackbar',
|
|
153
|
+
id: saveNoticeId
|
|
210
154
|
});
|
|
211
155
|
}
|
|
212
156
|
}).catch(error => createErrorNotice(`${(0, _i18n.__)('Saving failed.')} ${error}`));
|
|
@@ -218,18 +162,6 @@ function EntitiesSavedStates(_ref) {
|
|
|
218
162
|
const [saveDialogRef, saveDialogProps] = (0, _compose.__experimentalUseDialog)({
|
|
219
163
|
onClose: () => dismissPanel()
|
|
220
164
|
});
|
|
221
|
-
const isDirty = dirtyEntityRecords.length - unselectedEntities.length > 0;
|
|
222
|
-
const activateSaveEnabled = isPreviewingTheme() || isDirty;
|
|
223
|
-
let activateSaveLabel;
|
|
224
|
-
|
|
225
|
-
if (isPreviewingTheme() && isDirty) {
|
|
226
|
-
activateSaveLabel = (0, _i18n.__)('Activate & Save');
|
|
227
|
-
} else if (isPreviewingTheme()) {
|
|
228
|
-
activateSaveLabel = (0, _i18n.__)('Activate');
|
|
229
|
-
} else {
|
|
230
|
-
activateSaveLabel = (0, _i18n.__)('Save');
|
|
231
|
-
}
|
|
232
|
-
|
|
233
165
|
return (0, _element.createElement)("div", (0, _extends2.default)({
|
|
234
166
|
ref: saveDialogRef
|
|
235
167
|
}, saveDialogProps, {
|
|
@@ -242,17 +174,17 @@ function EntitiesSavedStates(_ref) {
|
|
|
242
174
|
as: _components.Button,
|
|
243
175
|
ref: saveButtonRef,
|
|
244
176
|
variant: "primary",
|
|
245
|
-
disabled: !
|
|
246
|
-
onClick:
|
|
177
|
+
disabled: !saveEnabled,
|
|
178
|
+
onClick: saveCheckedEntities,
|
|
247
179
|
className: "editor-entities-saved-states__save-button"
|
|
248
|
-
},
|
|
180
|
+
}, saveLabel), (0, _element.createElement)(_components.FlexItem, {
|
|
249
181
|
isBlock: true,
|
|
250
182
|
as: _components.Button,
|
|
251
183
|
variant: "secondary",
|
|
252
184
|
onClick: dismissPanel
|
|
253
185
|
}, (0, _i18n.__)('Cancel'))), (0, _element.createElement)("div", {
|
|
254
186
|
className: "entities-saved-states__text-prompt"
|
|
255
|
-
}, (0, _element.createElement)("strong", null, (0, _i18n.__)('Are you ready to save?')),
|
|
187
|
+
}, (0, _element.createElement)("strong", null, (0, _i18n.__)('Are you ready to save?')), additionalPrompt, isDirty && (0, _element.createElement)("p", null, (0, _i18n.__)('The following changes have been made to your site, templates, and content.'))), sortedPartitionedSavables.map(list => {
|
|
256
188
|
return (0, _element.createElement)(_entityTypeList.default, {
|
|
257
189
|
key: list[0].name,
|
|
258
190
|
list: list,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/entities-saved-states/index.js"],"names":["TRANSLATED_SITE_PROPERTIES","title","description","site_logo","site_icon","show_on_front","page_on_front","PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","isPreviewingTheme","window","__experimentalEnableThemePreviews","location","href","undefined","currentlyPreviewingTheme","EntitiesSavedStates","close","onSave","saveButtonRef","getTheme","coreStore","theme","dirtyEntityRecords","select","dirtyRecords","__experimentalGetDirtyEntityRecords","dirtyRecordsWithoutSite","filter","record","siteEdits","getEntityRecordEdits","siteEditsAsEntities","property","push","dirtyRecordsWithSiteItems","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","__unstableMarkLastChangeAsPersistent","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","partitionedSavables","reduce","acc","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","Array","isArray","unselectedEntities","_setUnselectedEntities","setUnselectedEntities","checked","key","elt","saveCheckedEntitiesAndActivate","entitiesToSave","some","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","isDirty","activateSaveEnabled","activateSaveLabel","Button","rendered","map","list"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { getQueryArg } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\n\nconst TRANSLATED_SITE_PROPERTIES = {\n\ttitle: __( 'Title' ),\n\tdescription: __( 'Tagline' ),\n\tsite_logo: __( 'Logo' ),\n\tsite_icon: __( 'Icon' ),\n\tshow_on_front: __( 'Show on front' ),\n\tpage_on_front: __( 'Page on front' ),\n};\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nfunction isPreviewingTheme() {\n\treturn (\n\t\twindow?.__experimentalEnableThemePreviews &&\n\t\tgetQueryArg( window.location.href, 'theme_preview' ) !== undefined\n\t);\n}\n\nfunction currentlyPreviewingTheme() {\n\tif ( isPreviewingTheme() ) {\n\t\treturn getQueryArg( window.location.href, 'theme_preview' );\n\t}\n\treturn null;\n}\n\nexport default function EntitiesSavedStates( { close, onSave = identity } ) {\n\tconst saveButtonRef = useRef();\n\tconst { getTheme } = useSelect( coreStore );\n\tconst theme = getTheme( currentlyPreviewingTheme() );\n\tconst { dirtyEntityRecords } = useSelect( ( select ) => {\n\t\tconst dirtyRecords =\n\t\t\tselect( coreStore ).__experimentalGetDirtyEntityRecords();\n\n\t\t// Remove site object and decouple into its edited pieces.\n\t\tconst dirtyRecordsWithoutSite = dirtyRecords.filter(\n\t\t\t( record ) => ! ( record.kind === 'root' && record.name === 'site' )\n\t\t);\n\n\t\tconst siteEdits = select( coreStore ).getEntityRecordEdits(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\n\t\tconst siteEditsAsEntities = [];\n\t\tfor ( const property in siteEdits ) {\n\t\t\tsiteEditsAsEntities.push( {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t\ttitle: TRANSLATED_SITE_PROPERTIES[ property ] || property,\n\t\t\t\tproperty,\n\t\t\t} );\n\t\t}\n\t\tconst dirtyRecordsWithSiteItems = [\n\t\t\t...dirtyRecordsWithoutSite,\n\t\t\t...siteEditsAsEntities,\n\t\t];\n\n\t\treturn {\n\t\t\tdirtyEntityRecords: dirtyRecordsWithSiteItems,\n\t\t};\n\t}, [] );\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\t// Unchecked entities to be ignored by save function.\n\tconst [ unselectedEntities, _setUnselectedEntities ] = useState( [] );\n\n\tconst setUnselectedEntities = (\n\t\t{ kind, name, key, property },\n\t\tchecked\n\t) => {\n\t\tif ( checked ) {\n\t\t\t_setUnselectedEntities(\n\t\t\t\tunselectedEntities.filter(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind !== kind ||\n\t\t\t\t\t\telt.name !== name ||\n\t\t\t\t\t\telt.key !== key ||\n\t\t\t\t\t\telt.property !== property\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\t_setUnselectedEntities( [\n\t\t\t\t...unselectedEntities,\n\t\t\t\t{ kind, name, key, property },\n\t\t\t] );\n\t\t}\n\t};\n\n\tconst saveCheckedEntitiesAndActivate = () => {\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\n\tconst isDirty = dirtyEntityRecords.length - unselectedEntities.length > 0;\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\n\tlet activateSaveLabel;\n\tif ( isPreviewingTheme() && isDirty ) {\n\t\tactivateSaveLabel = __( 'Activate & Save' );\n\t} else if ( isPreviewingTheme() ) {\n\t\tactivateSaveLabel = __( 'Activate' );\n\t} else {\n\t\tactivateSaveLabel = __( 'Save' );\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! activateSaveEnabled }\n\t\t\t\t\tonClick={ saveCheckedEntitiesAndActivate }\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ activateSaveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<strong>{ __( 'Are you ready to save?' ) }</strong>\n\t\t\t\t{ isPreviewingTheme() && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t'Saving your changes will change your active theme to %1$s.',\n\t\t\t\t\t\t\ttheme?.name?.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tclosePanel={ dismissPanel }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/entities-saved-states/index.js"],"names":["PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","EntitiesSavedStates","close","isDirtyProps","EntitiesSavedStatesExtensible","additionalPrompt","undefined","onSave","saveEnabled","saveEnabledProp","saveLabel","dirtyEntityRecords","isDirty","setUnselectedEntities","unselectedEntities","saveButtonRef","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","coreStore","__unstableMarkLastChangeAsPersistent","blockEditorStore","createSuccessNotice","createErrorNotice","removeNotice","noticesStore","partitionedSavables","reduce","acc","record","push","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","filter","Array","isArray","saveCheckedEntities","saveNoticeId","entitiesToSave","key","property","some","elt","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","id","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","Button","map","list"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\nimport { useIsDirty } from './hooks/use-is-dirty';\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nexport default function EntitiesSavedStates( { close } ) {\n\tconst isDirtyProps = useIsDirty();\n\treturn (\n\t\t<EntitiesSavedStatesExtensible close={ close } { ...isDirtyProps } />\n\t);\n}\n\nexport function EntitiesSavedStatesExtensible( {\n\tadditionalPrompt = undefined,\n\tclose,\n\tonSave = identity,\n\tsaveEnabled: saveEnabledProp = undefined,\n\tsaveLabel = __( 'Save' ),\n\n\tdirtyEntityRecords,\n\tisDirty,\n\tsetUnselectedEntities,\n\tunselectedEntities,\n} ) {\n\tconst saveButtonRef = useRef();\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\tconst saveEnabled = saveEnabledProp ?? isDirty;\n\n\tconst saveCheckedEntities = () => {\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tremoveNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! saveEnabled }\n\t\t\t\t\tonClick={ saveCheckedEntities }\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ saveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<strong>{ __( 'Are you ready to save?' ) }</strong>\n\t\t\t\t{ additionalPrompt }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tclosePanel={ dismissPanel }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -40,11 +40,10 @@ function getContent() {
|
|
|
40
40
|
} catch (error) {}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function CopyButton(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
} = _ref;
|
|
43
|
+
function CopyButton({
|
|
44
|
+
text,
|
|
45
|
+
children
|
|
46
|
+
}) {
|
|
48
47
|
const ref = (0, _compose.useCopyToClipboard)(text);
|
|
49
48
|
return (0, _element.createElement)(_components.Button, {
|
|
50
49
|
variant: "secondary",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/error-boundary/index.js"],"names":["getContent","editorStore","getEditedPostContent","error","CopyButton","text","children","ref","ErrorBoundary","Component","constructor","arguments","state","componentDidCatch","getDerivedStateFromError","render","props","actions","stack"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAdA;AACA;AACA;;AASA;AACA;AACA;AAGA,SAASA,UAAT,GAAsB;AACrB,MAAI;AACH;AACA;AACA;AACA;AACA;AACA;AACA,WAAO,kBAAQC,YAAR,EAAsBC,oBAAtB,EAAP;AACA,GARD,CAQE,OAAQC,KAAR,EAAgB,CAAE;AACpB;;AAED,SAASC,UAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/error-boundary/index.js"],"names":["getContent","editorStore","getEditedPostContent","error","CopyButton","text","children","ref","ErrorBoundary","Component","constructor","arguments","state","componentDidCatch","getDerivedStateFromError","render","props","actions","stack"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAdA;AACA;AACA;;AASA;AACA;AACA;AAGA,SAASA,UAAT,GAAsB;AACrB,MAAI;AACH;AACA;AACA;AACA;AACA;AACA;AACA,WAAO,kBAAQC,YAAR,EAAsBC,oBAAtB,EAAP;AACA,GARD,CAQE,OAAQC,KAAR,EAAgB,CAAE;AACpB;;AAED,SAASC,UAAT,CAAqB;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAArB,EAA0C;AACzC,QAAMC,GAAG,GAAG,iCAAoBF,IAApB,CAAZ;AACA,SACC,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAC,WAAhB;AAA4B,IAAA,GAAG,EAAGE;AAAlC,KACGD,QADH,CADD;AAKA;;AAED,MAAME,aAAN,SAA4BC,kBAA5B,CAAsC;AACrCC,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,KAAL,GAAa;AACZT,MAAAA,KAAK,EAAE;AADK,KAAb;AAGA;;AAEDU,EAAAA,iBAAiB,CAAEV,KAAF,EAAU;AAC1B,yBAAU,kCAAV,EAA8CA,KAA9C;AACA;;AAE8B,SAAxBW,wBAAwB,CAAEX,KAAF,EAAU;AACxC,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACA;;AAEDY,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEZ,MAAAA;AAAF,QAAY,KAAKS,KAAvB;;AACA,QAAK,CAAET,KAAP,EAAe;AACd,aAAO,KAAKa,KAAL,CAAWV,QAAlB;AACA;;AAED,UAAMW,OAAO,GAAG,CACf,4BAAC,UAAD;AAAY,MAAA,GAAG,EAAC,WAAhB;AAA4B,MAAA,IAAI,EAAGjB;AAAnC,OACG,cAAI,gBAAJ,CADH,CADe,EAIf,4BAAC,UAAD;AAAY,MAAA,GAAG,EAAC,YAAhB;AAA6B,MAAA,IAAI,EAAGG,KAAK,CAACe;AAA1C,OACG,cAAI,YAAJ,CADH,CAJe,CAAhB;AASA,WACC,4BAAC,oBAAD;AAAS,MAAA,SAAS,EAAC,uBAAnB;AAA2C,MAAA,OAAO,EAAGD;AAArD,OACG,cAAI,iDAAJ,CADH,CADD;AAKA;;AArCoC;;eAwCvBT,a","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { select } from '@wordpress/data';\nimport { Warning } from '@wordpress/block-editor';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { doAction } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction getContent() {\n\ttry {\n\t\t// While `select` in a component is generally discouraged, it is\n\t\t// used here because it (a) reduces the chance of data loss in the\n\t\t// case of additional errors by performing a direct retrieval and\n\t\t// (b) avoids the performance cost associated with unnecessary\n\t\t// content serialization throughout the lifetime of a non-erroring\n\t\t// application.\n\t\treturn select( editorStore ).getEditedPostContent();\n\t} catch ( error ) {}\n}\n\nfunction CopyButton( { text, children } ) {\n\tconst ref = useCopyToClipboard( text );\n\treturn (\n\t\t<Button variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nclass ErrorBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t};\n\t}\n\n\tcomponentDidCatch( error ) {\n\t\tdoAction( 'editor.ErrorBoundary.errorLogged', error );\n\t}\n\n\tstatic getDerivedStateFromError( error ) {\n\t\treturn { error };\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tif ( ! error ) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\tconst actions = [\n\t\t\t<CopyButton key=\"copy-post\" text={ getContent }>\n\t\t\t\t{ __( 'Copy Post Text' ) }\n\t\t\t</CopyButton>,\n\t\t\t<CopyButton key=\"copy-error\" text={ error.stack }>\n\t\t\t\t{ __( 'Copy Error' ) }\n\t\t\t</CopyButton>,\n\t\t];\n\n\t\treturn (\n\t\t\t<Warning className=\"editor-error-boundary\" actions={ actions }>\n\t\t\t\t{ __( 'The editor has encountered an unexpected error.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n}\n\nexport default ErrorBoundary;\n"]}
|
|
@@ -20,10 +20,9 @@ var _store = require("../../store");
|
|
|
20
20
|
/**
|
|
21
21
|
* Internal dependencies
|
|
22
22
|
*/
|
|
23
|
-
function SaveShortcut(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
} = _ref;
|
|
23
|
+
function SaveShortcut({
|
|
24
|
+
resetBlocksOnSave
|
|
25
|
+
}) {
|
|
27
26
|
const {
|
|
28
27
|
resetEditorBlocks,
|
|
29
28
|
savePost
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/save-shortcut.js"],"names":["SaveShortcut","resetBlocksOnSave","resetEditorBlocks","savePost","editorStore","isEditedPostDirty","getPostEdits","isPostSavingLocked","event","preventDefault","postEdits","content","blocks"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGA,SAASA,YAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/save-shortcut.js"],"names":["SaveShortcut","resetBlocksOnSave","resetEditorBlocks","savePost","editorStore","isEditedPostDirty","getPostEdits","isPostSavingLocked","event","preventDefault","postEdits","content","blocks"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGA,SAASA,YAAT,CAAuB;AAAEC,EAAAA;AAAF,CAAvB,EAA+C;AAC9C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAAkC,uBAAaC,YAAb,CAAxC;AACA,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA,YAArB;AAAmCC,IAAAA;AAAnC,MACL,qBAAWH,YAAX,CADD;AAGA,sCAAa,kBAAb,EAAmCI,KAAF,IAAa;AAC7CA,IAAAA,KAAK,CAACC,cAAN;AAEA;AACF;AACA;;AACE,QAAKF,kBAAkB,EAAvB,EAA4B;AAC3B;AACA,KAR4C,CAU7C;AACA;AACA;AACA;AACA;;;AACA,QAAK,CAAEF,iBAAiB,EAAxB,EAA6B;AAC5B;AACA,KAjB4C,CAmB7C;AACA;AACA;AACA;;;AACA,QAAKJ,iBAAL,EAAyB;AACxB,YAAMS,SAAS,GAAGJ,YAAY,EAA9B;;AACA,UAAKI,SAAS,CAACC,OAAV,IAAqB,OAAOD,SAAS,CAACC,OAAjB,KAA6B,QAAvD,EAAkE;AACjE,cAAMC,MAAM,GAAG,mBAAOF,SAAS,CAACC,OAAjB,CAAf;AACAT,QAAAA,iBAAiB,CAAEU,MAAF,CAAjB;AACA;AACD;;AAEDT,IAAAA,QAAQ;AACR,GAhCD;AAkCA,SAAO,IAAP;AACA;;eAEcH,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction SaveShortcut( { resetBlocksOnSave } ) {\n\tconst { resetEditorBlocks, savePost } = useDispatch( editorStore );\n\tconst { isEditedPostDirty, getPostEdits, isPostSavingLocked } =\n\t\tuseSelect( editorStore );\n\n\tuseShortcut( 'core/editor/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\t/**\n\t\t * Do not save the post if post saving is locked.\n\t\t */\n\t\tif ( isPostSavingLocked() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// TODO: This should be handled in the `savePost` effect in\n\t\t// considering `isSaveable`. See note on `isEditedPostSaveable`\n\t\t// selector about dirtiness and meta-boxes.\n\t\t//\n\t\t// See: `isEditedPostSaveable`\n\t\tif ( ! isEditedPostDirty() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The text editor requires that editor blocks are updated for a\n\t\t// save to work correctly. Usually this happens when the textarea\n\t\t// for the code editors blurs, but the shortcut can be used without\n\t\t// blurring the textarea.\n\t\tif ( resetBlocksOnSave ) {\n\t\t\tconst postEdits = getPostEdits();\n\t\t\tif ( postEdits.content && typeof postEdits.content === 'string' ) {\n\t\t\t\tconst blocks = parse( postEdits.content );\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t}\n\t\t}\n\n\t\tsavePost();\n\t} );\n\n\treturn null;\n}\n\nexport default SaveShortcut;\n"]}
|
|
@@ -17,6 +17,7 @@ var _exportNames = {
|
|
|
17
17
|
EditorNotices: true,
|
|
18
18
|
EditorSnackbars: true,
|
|
19
19
|
EntitiesSavedStates: true,
|
|
20
|
+
useEntitiesSavedStatesIsDirty: true,
|
|
20
21
|
ErrorBoundary: true,
|
|
21
22
|
LocalAutosaveMonitor: true,
|
|
22
23
|
PageAttributesCheck: true,
|
|
@@ -479,6 +480,12 @@ Object.defineProperty(exports, "WordCount", {
|
|
|
479
480
|
return _wordCount.default;
|
|
480
481
|
}
|
|
481
482
|
});
|
|
483
|
+
Object.defineProperty(exports, "useEntitiesSavedStatesIsDirty", {
|
|
484
|
+
enumerable: true,
|
|
485
|
+
get: function () {
|
|
486
|
+
return _useIsDirty.useIsDirty;
|
|
487
|
+
}
|
|
488
|
+
});
|
|
482
489
|
Object.defineProperty(exports, "usePostScheduleLabel", {
|
|
483
490
|
enumerable: true,
|
|
484
491
|
get: function () {
|
|
@@ -534,6 +541,8 @@ var _editorSnackbars = _interopRequireDefault(require("./editor-snackbars"));
|
|
|
534
541
|
|
|
535
542
|
var _entitiesSavedStates = _interopRequireDefault(require("./entities-saved-states"));
|
|
536
543
|
|
|
544
|
+
var _useIsDirty = require("./entities-saved-states/hooks/use-is-dirty");
|
|
545
|
+
|
|
537
546
|
var _errorBoundary = _interopRequireDefault(require("./error-boundary"));
|
|
538
547
|
|
|
539
548
|
var _localAutosaveMonitor = _interopRequireDefault(require("./local-autosave-monitor"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["// Block Creation Components.\nexport * from './autocompleters';\n\n// Post Related Components.\nexport { default as AutosaveMonitor } from './autosave-monitor';\nexport { default as DocumentOutline } from './document-outline';\nexport { default as DocumentOutlineCheck } from './document-outline/check';\nexport { default as VisualEditorGlobalKeyboardShortcuts } from './global-keyboard-shortcuts/visual-editor-shortcuts';\nexport { default as TextEditorGlobalKeyboardShortcuts } from './global-keyboard-shortcuts/text-editor-shortcuts';\nexport { default as EditorKeyboardShortcutsRegister } from './global-keyboard-shortcuts/register-shortcuts';\nexport { default as EditorHistoryRedo } from './editor-history/redo';\nexport { default as EditorHistoryUndo } from './editor-history/undo';\nexport { default as EditorNotices } from './editor-notices';\nexport { default as EditorSnackbars } from './editor-snackbars';\nexport { default as EntitiesSavedStates } from './entities-saved-states';\nexport { useIsDirty as useEntitiesSavedStatesIsDirty } from './entities-saved-states/hooks/use-is-dirty';\nexport { default as ErrorBoundary } from './error-boundary';\nexport { default as LocalAutosaveMonitor } from './local-autosave-monitor';\nexport { default as PageAttributesCheck } from './page-attributes/check';\nexport { default as PageAttributesOrder } from './page-attributes/order';\nexport { default as PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostComments } from './post-comments';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\nexport { default as PostFormat } from './post-format';\nexport { default as PostFormatCheck } from './post-format/check';\nexport { default as PostLastRevision } from './post-last-revision';\nexport { default as PostLastRevisionCheck } from './post-last-revision/check';\nexport { default as PostLockedModal } from './post-locked-modal';\nexport { default as PostPendingStatus } from './post-pending-status';\nexport { default as PostPendingStatusCheck } from './post-pending-status/check';\nexport { default as PostPingbacks } from './post-pingbacks';\nexport { default as PostPreviewButton } from './post-preview-button';\nexport { default as PostPublishButton } from './post-publish-button';\nexport { default as PostPublishButtonLabel } from './post-publish-button/label';\nexport { default as PostPublishPanel } from './post-publish-panel';\nexport { default as PostSavedState } from './post-saved-state';\nexport { default as PostSchedule } from './post-schedule';\nexport { default as PostScheduleCheck } from './post-schedule/check';\nexport {\n\tdefault as PostScheduleLabel,\n\tusePostScheduleLabel,\n} from './post-schedule/label';\nexport { default as PostSlug } from './post-slug';\nexport { default as PostSlugCheck } from './post-slug/check';\nexport { default as PostSticky } from './post-sticky';\nexport { default as PostStickyCheck } from './post-sticky/check';\nexport { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';\nexport { default as PostTaxonomies } from './post-taxonomies';\nexport { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';\nexport { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';\nexport { default as PostTaxonomiesCheck } from './post-taxonomies/check';\nexport { default as PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\nexport { default as PostTrash } from './post-trash';\nexport { default as PostTrashCheck } from './post-trash/check';\nexport { default as PostTypeSupportCheck } from './post-type-support-check';\nexport { default as PostURL } from './post-url';\nexport { default as PostURLCheck } from './post-url/check';\nexport { default as PostURLLabel, usePostURLLabel } from './post-url/label';\nexport { default as PostVisibility } from './post-visibility';\nexport {\n\tdefault as PostVisibilityLabel,\n\tusePostVisibilityLabel,\n} from './post-visibility/label';\nexport { default as PostVisibilityCheck } from './post-visibility/check';\nexport { default as TableOfContents } from './table-of-contents';\nexport { default as ThemeSupportCheck } from './theme-support-check';\nexport { default as UnsavedChangesWarning } from './unsaved-changes-warning';\nexport { default as WordCount } from './word-count';\nexport { default as TimeToRead } from './time-to-read';\nexport { default as CharacterCount } from './character-count';\n\n// State Related Components.\nexport { default as EditorProvider } from './provider';\n\nexport * from './deprecated';\n"]}
|
|
@@ -110,21 +110,16 @@ const getOpenverseCaption = item => {
|
|
|
110
110
|
return _caption.replace(/\s{2}/g, ' ');
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
-
const coreMediaFetch = async
|
|
114
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
113
|
+
const coreMediaFetch = async (query = {}) => {
|
|
115
114
|
const mediaItems = await (0, _data.resolveSelect)(_coreData.store).getMediaItems({ ...query,
|
|
116
|
-
orderBy: !!
|
|
117
|
-
});
|
|
118
|
-
return mediaItems.map(mediaItem => {
|
|
119
|
-
var _mediaItem$media_deta, _mediaItem$media_deta2, _mediaItem$media_deta3, _mediaItem$caption;
|
|
120
|
-
|
|
121
|
-
return { ...mediaItem,
|
|
122
|
-
alt: mediaItem.alt_text,
|
|
123
|
-
url: mediaItem.source_url,
|
|
124
|
-
previewUrl: (_mediaItem$media_deta = mediaItem.media_details) === null || _mediaItem$media_deta === void 0 ? void 0 : (_mediaItem$media_deta2 = _mediaItem$media_deta.sizes) === null || _mediaItem$media_deta2 === void 0 ? void 0 : (_mediaItem$media_deta3 = _mediaItem$media_deta2.medium) === null || _mediaItem$media_deta3 === void 0 ? void 0 : _mediaItem$media_deta3.source_url,
|
|
125
|
-
caption: (_mediaItem$caption = mediaItem.caption) === null || _mediaItem$caption === void 0 ? void 0 : _mediaItem$caption.raw
|
|
126
|
-
};
|
|
115
|
+
orderBy: !!query?.search ? 'relevance' : 'date'
|
|
127
116
|
});
|
|
117
|
+
return mediaItems.map(mediaItem => ({ ...mediaItem,
|
|
118
|
+
alt: mediaItem.alt_text,
|
|
119
|
+
url: mediaItem.source_url,
|
|
120
|
+
previewUrl: mediaItem.media_details?.sizes?.medium?.source_url,
|
|
121
|
+
caption: mediaItem.caption?.raw
|
|
122
|
+
}));
|
|
128
123
|
};
|
|
129
124
|
/** @type {InserterMediaCategory[]} */
|
|
130
125
|
|
|
@@ -137,8 +132,7 @@ const inserterMediaCategories = [{
|
|
|
137
132
|
},
|
|
138
133
|
mediaType: 'image',
|
|
139
134
|
|
|
140
|
-
async fetch() {
|
|
141
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
135
|
+
async fetch(query = {}) {
|
|
142
136
|
return coreMediaFetch({ ...query,
|
|
143
137
|
media_type: 'image'
|
|
144
138
|
});
|
|
@@ -152,8 +146,7 @@ const inserterMediaCategories = [{
|
|
|
152
146
|
},
|
|
153
147
|
mediaType: 'video',
|
|
154
148
|
|
|
155
|
-
async fetch() {
|
|
156
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
149
|
+
async fetch(query = {}) {
|
|
157
150
|
return coreMediaFetch({ ...query,
|
|
158
151
|
media_type: 'video'
|
|
159
152
|
});
|
|
@@ -167,8 +160,7 @@ const inserterMediaCategories = [{
|
|
|
167
160
|
},
|
|
168
161
|
mediaType: 'audio',
|
|
169
162
|
|
|
170
|
-
async fetch() {
|
|
171
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
163
|
+
async fetch(query = {}) {
|
|
172
164
|
return coreMediaFetch({ ...query,
|
|
173
165
|
media_type: 'audio'
|
|
174
166
|
});
|
|
@@ -182,8 +174,7 @@ const inserterMediaCategories = [{
|
|
|
182
174
|
},
|
|
183
175
|
mediaType: 'image',
|
|
184
176
|
|
|
185
|
-
async fetch() {
|
|
186
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
177
|
+
async fetch(query = {}) {
|
|
187
178
|
const defaultArgs = {
|
|
188
179
|
mature: false,
|
|
189
180
|
excluded_source: 'flickr,inaturalist,wikimedia',
|
|
@@ -197,8 +188,7 @@ const inserterMediaCategories = [{
|
|
|
197
188
|
search: 'q'
|
|
198
189
|
};
|
|
199
190
|
const url = new URL('https://api.openverse.engineering/v1/images/');
|
|
200
|
-
Object.entries(finalQuery).forEach(
|
|
201
|
-
let [key, value] = _ref;
|
|
191
|
+
Object.entries(finalQuery).forEach(([key, value]) => {
|
|
202
192
|
const queryKey = mapFromInserterMediaRequest[key] || key;
|
|
203
193
|
url.searchParams.set(queryKey, value);
|
|
204
194
|
});
|
|
@@ -209,27 +199,20 @@ const inserterMediaCategories = [{
|
|
|
209
199
|
});
|
|
210
200
|
const jsonResponse = await response.json();
|
|
211
201
|
const results = jsonResponse.results;
|
|
212
|
-
return results.map(result => {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
caption: getOpenverseCaption(result),
|
|
222
|
-
previewUrl: result.thumbnail
|
|
223
|
-
};
|
|
224
|
-
});
|
|
202
|
+
return results.map(result => ({ ...result,
|
|
203
|
+
// This is a temp solution for better titles, until Openverse API
|
|
204
|
+
// completes the cleaning up of some titles of their upstream data.
|
|
205
|
+
title: result.title?.toLowerCase().startsWith('file:') ? result.title.slice(5) : result.title,
|
|
206
|
+
sourceId: result.id,
|
|
207
|
+
id: undefined,
|
|
208
|
+
caption: getOpenverseCaption(result),
|
|
209
|
+
previewUrl: result.thumbnail
|
|
210
|
+
}));
|
|
225
211
|
},
|
|
226
212
|
|
|
227
|
-
getReportUrl:
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
} = _ref2;
|
|
231
|
-
return `https://wordpress.org/openverse/image/${sourceId}/report/`;
|
|
232
|
-
},
|
|
213
|
+
getReportUrl: ({
|
|
214
|
+
sourceId
|
|
215
|
+
}) => `https://wordpress.org/openverse/image/${sourceId}/report/`,
|
|
233
216
|
isExternalResource: true
|
|
234
217
|
}];
|
|
235
218
|
var _default = inserterMediaCategories;
|