@wordpress/editor 13.11.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 +2 -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 +38 -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 +12 -13
- 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 +5 -9
- 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 +39 -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 +12 -13
- 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 +5 -9
- 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/package.json +30 -30
- package/src/components/entities-saved-states/hooks/use-is-dirty.js +85 -0
- package/src/components/entities-saved-states/index.js +25 -106
- 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-title/index.js +2 -1
- package/src/private-apis.js +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-featured-image/index.js"],"names":["ALLOWED_MEDIA_TYPES","DEFAULT_FEATURE_IMAGE_LABEL","DEFAULT_SET_FEATURE_IMAGE_LABEL","instructions","getMediaDetails","media","postId","defaultSize","id","media_details","sizes","mediaWidth","width","mediaHeight","height","mediaSourceUrl","source_url","fallbackSize","PostFeaturedImage","currentPostId","featuredImageId","onUpdateImage","onRemoveImage","postType","noticeUI","noticeOperations","toggleRef","isLoading","setIsLoading","mediaUpload","select","blockEditorStore","getSettings","onDropFiles","filesList","allowedTypes","onFileChange","image","url","onError","message","removeAllNotices","createErrorNotice","alt_text","full","file","slug","labels","featured_image","open","set_featured_image","current","focus","applyWithSelect","getMedia","getPostType","coreStore","getCurrentPostId","getEditedPostAttribute","editorStore","context","applyWithDispatch","dispatch","editPost","featured_media","onDropImage","withNotices"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tDropZone,\n\tButton,\n\tSpinner,\n\tResponsiveWrapper,\n\twithNotices,\n\twithFilters,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { useSelect, withDispatch, withSelect } from '@wordpress/data';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFeaturedImageCheck from './check';\nimport { store as editorStore } from '../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n// Used when labels from post type were not yet loaded or when they are not present.\nconst DEFAULT_FEATURE_IMAGE_LABEL = __( 'Featured image' );\nconst DEFAULT_SET_FEATURE_IMAGE_LABEL = __( 'Set featured image' );\n\nconst instructions = (\n\t<p>\n\t\t{ __(\n\t\t\t'To edit the featured image, you need permission to upload media.'\n\t\t) }\n\t</p>\n);\n\nfunction getMediaDetails( media, postId ) {\n\tif ( ! media ) {\n\t\treturn {};\n\t}\n\n\tconst defaultSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'large',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( defaultSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ defaultSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ defaultSize ].height,\n\t\t\tmediaSourceUrl: media.media_details.sizes[ defaultSize ].source_url,\n\t\t};\n\t}\n\n\t// Use fallbackSize when defaultSize is not available.\n\tconst fallbackSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'thumbnail',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( fallbackSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ fallbackSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ fallbackSize ].height,\n\t\t\tmediaSourceUrl:\n\t\t\t\tmedia.media_details.sizes[ fallbackSize ].source_url,\n\t\t};\n\t}\n\n\t// Use full image size when fallbackSize and defaultSize are not available.\n\treturn {\n\t\tmediaWidth: media.media_details.width,\n\t\tmediaHeight: media.media_details.height,\n\t\tmediaSourceUrl: media.source_url,\n\t};\n}\n\nfunction PostFeaturedImage( {\n\tcurrentPostId,\n\tfeaturedImageId,\n\tonUpdateImage,\n\tonRemoveImage,\n\tmedia,\n\tpostType,\n\tnoticeUI,\n\tnoticeOperations,\n} ) {\n\tconst toggleRef = useRef();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst { mediaWidth, mediaHeight, mediaSourceUrl } = getMediaDetails(\n\t\tmedia,\n\t\tcurrentPostId\n\t);\n\n\tfunction onDropFiles( filesList ) {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ 'image' ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetIsLoading( true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonUpdateImage( image );\n\t\t\t\tsetIsLoading( false );\n\t\t\t},\n\t\t\tonError( message ) {\n\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PostFeaturedImageCheck>\n\t\t\t{ noticeUI }\n\t\t\t<div className=\"editor-post-featured-image\">\n\t\t\t\t{ media && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={ `editor-post-featured-image-${ featuredImageId }-describedby` }\n\t\t\t\t\t\tclassName=\"hidden\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image alt text.\n\t\t\t\t\t\t\t\t__( 'Current image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image filename.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'The current image has no alternative text. The file name is: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tmedia.media_details.sizes?.full?.file ||\n\t\t\t\t\t\t\t\t\tmedia.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<MediaUploadCheck fallback={ instructions }>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tpostType?.labels?.featured_image ||\n\t\t\t\t\t\t\tDEFAULT_FEATURE_IMAGE_LABEL\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ onUpdateImage }\n\t\t\t\t\t\tunstableFeaturedImageFlow\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tmodalClass=\"editor-post-featured-image__media-modal\"\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div className=\"editor-post-featured-image__container\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? 'editor-post-featured-image__toggle'\n\t\t\t\t\t\t\t\t\t\t\t: 'editor-post-featured-image__preview'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Edit or replace the image' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: `editor-post-featured-image-${ featuredImageId }-describedby`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ !! featuredImageId && media && (\n\t\t\t\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\t\t\t\tnaturalWidth={ mediaWidth }\n\t\t\t\t\t\t\t\t\t\t\tnaturalHeight={ mediaHeight }\n\t\t\t\t\t\t\t\t\t\t\tisInline\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={ mediaSourceUrl }\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t\t\t\t\t\t{ ! featuredImageId &&\n\t\t\t\t\t\t\t\t\t\t! isLoading &&\n\t\t\t\t\t\t\t\t\t\t( postType?.labels\n\t\t\t\t\t\t\t\t\t\t\t?.set_featured_image ||\n\t\t\t\t\t\t\t\t\t\t\tDEFAULT_SET_FEATURE_IMAGE_LABEL ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ !! featuredImageId && (\n\t\t\t\t\t\t\t\t\t<HStack className=\"editor-post-featured-image__actions\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\t// Prefer that screen readers use the .editor-post-featured-image__preview button.\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonRemoveImage();\n\t\t\t\t\t\t\t\t\t\t\t\ttoggleRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onDropFiles } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ featuredImageId }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</div>\n\t\t</PostFeaturedImageCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getMedia, getPostType } = select( coreStore );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( editorStore );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\treturn {\n\t\tmedia: featuredImageId\n\t\t\t? getMedia( featuredImageId, { context: 'view' } )\n\t\t\t: null,\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tfeaturedImageId,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch(\n\t( dispatch, { noticeOperations }, { select } ) => {\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonUpdateImage( image ) {\n\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t},\n\t\t\tonDropImage( filesList ) {\n\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t.getSettings()\n\t\t\t\t\t.mediaUpload( {\n\t\t\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\t\t\tfilesList,\n\t\t\t\t\t\tonFileChange( [ image ] ) {\n\t\t\t\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t},\n\t\t\tonRemoveImage() {\n\t\t\t\teditPost( { featured_media: 0 } );\n\t\t\t},\n\t\t};\n\t}\n);\n\nexport default compose(\n\twithNotices,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.PostFeaturedImage' )\n)( PostFeaturedImage );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-featured-image/index.js"],"names":["ALLOWED_MEDIA_TYPES","DEFAULT_FEATURE_IMAGE_LABEL","DEFAULT_SET_FEATURE_IMAGE_LABEL","instructions","getMediaDetails","media","postId","defaultSize","id","media_details","sizes","mediaWidth","width","mediaHeight","height","mediaSourceUrl","source_url","fallbackSize","PostFeaturedImage","currentPostId","featuredImageId","onUpdateImage","onRemoveImage","postType","noticeUI","noticeOperations","toggleRef","isLoading","setIsLoading","mediaUpload","select","blockEditorStore","getSettings","onDropFiles","filesList","allowedTypes","onFileChange","image","url","onError","message","removeAllNotices","createErrorNotice","alt_text","full","file","slug","labels","featured_image","open","set_featured_image","current","focus","applyWithSelect","getMedia","getPostType","coreStore","getCurrentPostId","getEditedPostAttribute","editorStore","context","applyWithDispatch","dispatch","editPost","featured_media","onDropImage","withNotices"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tDropZone,\n\tButton,\n\tSpinner,\n\tResponsiveWrapper,\n\twithNotices,\n\twithFilters,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { useSelect, withDispatch, withSelect } from '@wordpress/data';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFeaturedImageCheck from './check';\nimport { store as editorStore } from '../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n// Used when labels from post type were not yet loaded or when they are not present.\nconst DEFAULT_FEATURE_IMAGE_LABEL = __( 'Featured image' );\nconst DEFAULT_SET_FEATURE_IMAGE_LABEL = __( 'Set featured image' );\n\nconst instructions = (\n\t<p>\n\t\t{ __(\n\t\t\t'To edit the featured image, you need permission to upload media.'\n\t\t) }\n\t</p>\n);\n\nfunction getMediaDetails( media, postId ) {\n\tif ( ! media ) {\n\t\treturn {};\n\t}\n\n\tconst defaultSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'large',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( defaultSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ defaultSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ defaultSize ].height,\n\t\t\tmediaSourceUrl: media.media_details.sizes[ defaultSize ].source_url,\n\t\t};\n\t}\n\n\t// Use fallbackSize when defaultSize is not available.\n\tconst fallbackSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'thumbnail',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( fallbackSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ fallbackSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ fallbackSize ].height,\n\t\t\tmediaSourceUrl:\n\t\t\t\tmedia.media_details.sizes[ fallbackSize ].source_url,\n\t\t};\n\t}\n\n\t// Use full image size when fallbackSize and defaultSize are not available.\n\treturn {\n\t\tmediaWidth: media.media_details.width,\n\t\tmediaHeight: media.media_details.height,\n\t\tmediaSourceUrl: media.source_url,\n\t};\n}\n\nfunction PostFeaturedImage( {\n\tcurrentPostId,\n\tfeaturedImageId,\n\tonUpdateImage,\n\tonRemoveImage,\n\tmedia,\n\tpostType,\n\tnoticeUI,\n\tnoticeOperations,\n} ) {\n\tconst toggleRef = useRef();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst { mediaWidth, mediaHeight, mediaSourceUrl } = getMediaDetails(\n\t\tmedia,\n\t\tcurrentPostId\n\t);\n\n\tfunction onDropFiles( filesList ) {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ 'image' ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetIsLoading( true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonUpdateImage( image );\n\t\t\t\tsetIsLoading( false );\n\t\t\t},\n\t\t\tonError( message ) {\n\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PostFeaturedImageCheck>\n\t\t\t{ noticeUI }\n\t\t\t<div className=\"editor-post-featured-image\">\n\t\t\t\t{ media && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={ `editor-post-featured-image-${ featuredImageId }-describedby` }\n\t\t\t\t\t\tclassName=\"hidden\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image alt text.\n\t\t\t\t\t\t\t\t__( 'Current image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image filename.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'The current image has no alternative text. The file name is: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tmedia.media_details.sizes?.full?.file ||\n\t\t\t\t\t\t\t\t\tmedia.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<MediaUploadCheck fallback={ instructions }>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tpostType?.labels?.featured_image ||\n\t\t\t\t\t\t\tDEFAULT_FEATURE_IMAGE_LABEL\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ onUpdateImage }\n\t\t\t\t\t\tunstableFeaturedImageFlow\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tmodalClass=\"editor-post-featured-image__media-modal\"\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div className=\"editor-post-featured-image__container\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? 'editor-post-featured-image__toggle'\n\t\t\t\t\t\t\t\t\t\t\t: 'editor-post-featured-image__preview'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Edit or replace the image' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: `editor-post-featured-image-${ featuredImageId }-describedby`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ !! featuredImageId && media && (\n\t\t\t\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\t\t\t\tnaturalWidth={ mediaWidth }\n\t\t\t\t\t\t\t\t\t\t\tnaturalHeight={ mediaHeight }\n\t\t\t\t\t\t\t\t\t\t\tisInline\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={ mediaSourceUrl }\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t\t\t\t\t\t{ ! featuredImageId &&\n\t\t\t\t\t\t\t\t\t\t! isLoading &&\n\t\t\t\t\t\t\t\t\t\t( postType?.labels\n\t\t\t\t\t\t\t\t\t\t\t?.set_featured_image ||\n\t\t\t\t\t\t\t\t\t\t\tDEFAULT_SET_FEATURE_IMAGE_LABEL ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ !! featuredImageId && (\n\t\t\t\t\t\t\t\t\t<HStack className=\"editor-post-featured-image__actions\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\t// Prefer that screen readers use the .editor-post-featured-image__preview button.\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonRemoveImage();\n\t\t\t\t\t\t\t\t\t\t\t\ttoggleRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onDropFiles } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ featuredImageId }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</div>\n\t\t</PostFeaturedImageCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getMedia, getPostType } = select( coreStore );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( editorStore );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\treturn {\n\t\tmedia: featuredImageId\n\t\t\t? getMedia( featuredImageId, { context: 'view' } )\n\t\t\t: null,\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tfeaturedImageId,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch(\n\t( dispatch, { noticeOperations }, { select } ) => {\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonUpdateImage( image ) {\n\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t},\n\t\t\tonDropImage( filesList ) {\n\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t.getSettings()\n\t\t\t\t\t.mediaUpload( {\n\t\t\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\t\t\tfilesList,\n\t\t\t\t\t\tonFileChange( [ image ] ) {\n\t\t\t\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t},\n\t\t\tonRemoveImage() {\n\t\t\t\teditPost( { featured_media: 0 } );\n\t\t\t},\n\t\t};\n\t}\n);\n\nexport default compose(\n\twithNotices,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.PostFeaturedImage' )\n)( PostFeaturedImage );\n"]}
|
|
@@ -24,11 +24,10 @@ var _store = require("../../store");
|
|
|
24
24
|
/**
|
|
25
25
|
* Internal dependencies
|
|
26
26
|
*/
|
|
27
|
-
function PostFormatCheck(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
} = _ref;
|
|
27
|
+
function PostFormatCheck({
|
|
28
|
+
disablePostFormats,
|
|
29
|
+
...props
|
|
30
|
+
}) {
|
|
32
31
|
return !disablePostFormats && (0, _element.createElement)(_postTypeSupportCheck.default, (0, _extends2.default)({}, props, {
|
|
33
32
|
supportKeys: "post-formats"
|
|
34
33
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-format/check.js"],"names":["PostFormatCheck","disablePostFormats","props","select","editorSettings","editorStore","getEditorSettings"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIA,SAASA,eAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-format/check.js"],"names":["PostFormatCheck","disablePostFormats","props","select","editorSettings","editorStore","getEditorSettings"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIA,SAASA,eAAT,CAA0B;AAAEC,EAAAA,kBAAF;AAAsB,KAAGC;AAAzB,CAA1B,EAA6D;AAC5D,SACC,CAAED,kBAAF,IACC,4BAAC,6BAAD,6BAA2BC,KAA3B;AAAmC,IAAA,WAAW,EAAC;AAA/C,KAFF;AAKA;;eAEc,sBAAcC,MAAF,IAAc;AACxC,QAAMC,cAAc,GAAGD,MAAM,CAAEE,YAAF,CAAN,CAAsBC,iBAAtB,EAAvB;AACA,SAAO;AACNL,IAAAA,kBAAkB,EAAEG,cAAc,CAACH;AAD7B,GAAP;AAGA,CALc,EAKVD,eALU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\nfunction PostFormatCheck( { disablePostFormats, ...props } ) {\n\treturn (\n\t\t! disablePostFormats && (\n\t\t\t<PostTypeSupportCheck { ...props } supportKeys=\"post-formats\" />\n\t\t)\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\tconst editorSettings = select( editorStore ).getEditorSettings();\n\treturn {\n\t\tdisablePostFormats: editorSettings.disablePostFormats,\n\t};\n} )( PostFormatCheck );\n"]}
|
|
@@ -103,7 +103,7 @@ function PostFormat() {
|
|
|
103
103
|
const formats = POST_FORMATS.filter(format => {
|
|
104
104
|
// Ensure current format is always in the set.
|
|
105
105
|
// The current format may not be a format supported by the theme.
|
|
106
|
-
return
|
|
106
|
+
return supportedFormats?.includes(format.id) || postFormat === format.id;
|
|
107
107
|
});
|
|
108
108
|
const suggestion = formats.find(format => format.id === suggestedFormat);
|
|
109
109
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-format/index.js"],"names":["POST_FORMATS","id","caption","sort","a","b","normalizedA","toUpperCase","normalizedB","PostFormat","instanceId","postFormatSelectorId","postFormat","suggestedFormat","supportedFormats","select","getEditedPostAttribute","getSuggestedPostFormat","editorStore","_postFormat","themeSupports","coreStore","getThemeSupports","formats","filter","format","includes","suggestion","find","editPost","onUpdatePostFormat","map","label","value"],"mappings":";;;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAbA;AACA;AACA;;AAOA;AACA;AACA;AAIA;AACO,MAAMA,YAAY,GAAG,CAC3B;AAAEC,EAAAA,EAAE,EAAE,OAAN;AAAeC,EAAAA,OAAO,EAAE,cAAI,OAAJ;AAAxB,CAD2B,EAE3B;AAAED,EAAAA,EAAE,EAAE,OAAN;AAAeC,EAAAA,OAAO,EAAE,cAAI,OAAJ;AAAxB,CAF2B,EAG3B;AAAED,EAAAA,EAAE,EAAE,MAAN;AAAcC,EAAAA,OAAO,EAAE,cAAI,MAAJ;AAAvB,CAH2B,EAI3B;AAAED,EAAAA,EAAE,EAAE,SAAN;AAAiBC,EAAAA,OAAO,EAAE,cAAI,SAAJ;AAA1B,CAJ2B,EAK3B;AAAED,EAAAA,EAAE,EAAE,OAAN;AAAeC,EAAAA,OAAO,EAAE,cAAI,OAAJ;AAAxB,CAL2B,EAM3B;AAAED,EAAAA,EAAE,EAAE,MAAN;AAAcC,EAAAA,OAAO,EAAE,cAAI,MAAJ;AAAvB,CAN2B,EAO3B;AAAED,EAAAA,EAAE,EAAE,OAAN;AAAeC,EAAAA,OAAO,EAAE,cAAI,OAAJ;AAAxB,CAP2B,EAQ3B;AAAED,EAAAA,EAAE,EAAE,UAAN;AAAkBC,EAAAA,OAAO,EAAE,cAAI,UAAJ;AAA3B,CAR2B,EAS3B;AAAED,EAAAA,EAAE,EAAE,QAAN;AAAgBC,EAAAA,OAAO,EAAE,cAAI,QAAJ;AAAzB,CAT2B,EAU3B;AAAED,EAAAA,EAAE,EAAE,OAAN;AAAeC,EAAAA,OAAO,EAAE,cAAI,OAAJ;AAAxB,CAV2B,EAW1BC,IAX0B,CAWpB,CAAEC,CAAF,EAAKC,CAAL,KAAY;AACnB,QAAMC,WAAW,GAAGF,CAAC,CAACF,OAAF,CAAUK,WAAV,EAApB;AACA,QAAMC,WAAW,GAAGH,CAAC,CAACH,OAAF,CAAUK,WAAV,EAApB;;AAEA,MAAKD,WAAW,GAAGE,WAAnB,EAAiC;AAChC,WAAO,CAAC,CAAR;AACA;;AACD,MAAKF,WAAW,GAAGE,WAAnB,EAAiC;AAChC,WAAO,CAAP;AACA;;AACD,SAAO,CAAP;AACA,CAtB2B,CAArB;;;AAwBQ,SAASC,UAAT,GAAsB;AACpC,QAAMC,UAAU,GAAG,4BAAeD,UAAf,CAAnB;AACA,QAAME,oBAAoB,GAAI,wBAAwBD,UAAY,EAAlE;AAEA,QAAM;AAAEE,IAAAA,UAAF;AAAcC,IAAAA,eAAd;AAA+BC,IAAAA;AAA/B,MAAoD,qBACvDC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,sBAAF;AAA0BC,MAAAA;AAA1B,QACLF,MAAM,CAAEG,YAAF,CADP;;AAEA,UAAMC,WAAW,GAAGH,sBAAsB,CAAE,QAAF,CAA1C;;AACA,UAAMI,aAAa,GAAGL,MAAM,CAAEM,eAAF,CAAN,CAAoBC,gBAApB,EAAtB;AACA,WAAO;AACNV,MAAAA,UAAU,EAAEO,WAAF,aAAEA,WAAF,cAAEA,WAAF,GAAiB,UADrB;AAENN,MAAAA,eAAe,EAAEI,sBAAsB,EAFjC;AAGNH,MAAAA,gBAAgB,EAAEM,aAAa,CAACG;AAH1B,KAAP;AAKA,GAXwD,EAYzD,EAZyD,CAA1D;AAeA,QAAMA,OAAO,GAAGvB,YAAY,CAACwB,MAAb,CAAuBC,MAAF,IAAc;AAClD;AACA;AACA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-format/index.js"],"names":["POST_FORMATS","id","caption","sort","a","b","normalizedA","toUpperCase","normalizedB","PostFormat","instanceId","postFormatSelectorId","postFormat","suggestedFormat","supportedFormats","select","getEditedPostAttribute","getSuggestedPostFormat","editorStore","_postFormat","themeSupports","coreStore","getThemeSupports","formats","filter","format","includes","suggestion","find","editPost","onUpdatePostFormat","map","label","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, SelectControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFormatCheck from './check';\nimport { store as editorStore } from '../../store';\n\n// All WP post formats, sorted alphabetically by translated name.\nexport const POST_FORMATS = [\n\t{ id: 'aside', caption: __( 'Aside' ) },\n\t{ id: 'audio', caption: __( 'Audio' ) },\n\t{ id: 'chat', caption: __( 'Chat' ) },\n\t{ id: 'gallery', caption: __( 'Gallery' ) },\n\t{ id: 'image', caption: __( 'Image' ) },\n\t{ id: 'link', caption: __( 'Link' ) },\n\t{ id: 'quote', caption: __( 'Quote' ) },\n\t{ id: 'standard', caption: __( 'Standard' ) },\n\t{ id: 'status', caption: __( 'Status' ) },\n\t{ id: 'video', caption: __( 'Video' ) },\n].sort( ( a, b ) => {\n\tconst normalizedA = a.caption.toUpperCase();\n\tconst normalizedB = b.caption.toUpperCase();\n\n\tif ( normalizedA < normalizedB ) {\n\t\treturn -1;\n\t}\n\tif ( normalizedA > normalizedB ) {\n\t\treturn 1;\n\t}\n\treturn 0;\n} );\n\nexport default function PostFormat() {\n\tconst instanceId = useInstanceId( PostFormat );\n\tconst postFormatSelectorId = `post-format-selector-${ instanceId }`;\n\n\tconst { postFormat, suggestedFormat, supportedFormats } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst _postFormat = getEditedPostAttribute( 'format' );\n\t\t\tconst themeSupports = select( coreStore ).getThemeSupports();\n\t\t\treturn {\n\t\t\t\tpostFormat: _postFormat ?? 'standard',\n\t\t\t\tsuggestedFormat: getSuggestedPostFormat(),\n\t\t\t\tsupportedFormats: themeSupports.formats,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst formats = POST_FORMATS.filter( ( format ) => {\n\t\t// Ensure current format is always in the set.\n\t\t// The current format may not be a format supported by the theme.\n\t\treturn (\n\t\t\tsupportedFormats?.includes( format.id ) || postFormat === format.id\n\t\t);\n\t} );\n\tconst suggestion = formats.find(\n\t\t( format ) => format.id === suggestedFormat\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<div className=\"editor-post-format\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Post Format' ) }\n\t\t\t\t\tvalue={ postFormat }\n\t\t\t\t\tonChange={ ( format ) => onUpdatePostFormat( format ) }\n\t\t\t\t\tid={ postFormatSelectorId }\n\t\t\t\t\toptions={ formats.map( ( format ) => ( {\n\t\t\t\t\t\tlabel: format.caption,\n\t\t\t\t\t\tvalue: format.id,\n\t\t\t\t\t} ) ) }\n\t\t\t\t/>\n\t\t\t\t{ suggestion && suggestion.id !== postFormat && (\n\t\t\t\t\t<p className=\"editor-post-format__suggestion\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonUpdatePostFormat( suggestion.id )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post format */\n\t\t\t\t\t\t\t\t__( 'Apply suggested format: %s' ),\n\t\t\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</PostFormatCheck>\n\t);\n}\n"]}
|
|
@@ -23,13 +23,11 @@ var _store = require("../../store");
|
|
|
23
23
|
/**
|
|
24
24
|
* Internal dependencies
|
|
25
25
|
*/
|
|
26
|
-
function PostLastRevisionCheck(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
} = _ref;
|
|
32
|
-
|
|
26
|
+
function PostLastRevisionCheck({
|
|
27
|
+
lastRevisionId,
|
|
28
|
+
revisionsCount,
|
|
29
|
+
children
|
|
30
|
+
}) {
|
|
33
31
|
if (!lastRevisionId || revisionsCount < 2) {
|
|
34
32
|
return null;
|
|
35
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-last-revision/check.js"],"names":["PostLastRevisionCheck","lastRevisionId","revisionsCount","children","select","getCurrentPostLastRevisionId","getCurrentPostRevisionsCount","editorStore"],"mappings":";;;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIO,SAASA,qBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-last-revision/check.js"],"names":["PostLastRevisionCheck","lastRevisionId","revisionsCount","children","select","getCurrentPostLastRevisionId","getCurrentPostRevisionsCount","editorStore"],"mappings":";;;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIO,SAASA,qBAAT,CAAgC;AACtCC,EAAAA,cADsC;AAEtCC,EAAAA,cAFsC;AAGtCC,EAAAA;AAHsC,CAAhC,EAIH;AACH,MAAK,CAAEF,cAAF,IAAoBC,cAAc,GAAG,CAA1C,EAA8C;AAC7C,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,6BAAD;AAAsB,IAAA,WAAW,EAAC;AAAlC,KACGC,QADH,CADD;AAKA;;eAEc,sBAAcC,MAAF,IAAc;AACxC,QAAM;AAAEC,IAAAA,4BAAF;AAAgCC,IAAAA;AAAhC,MACLF,MAAM,CAAEG,YAAF,CADP;AAEA,SAAO;AACNN,IAAAA,cAAc,EAAEI,4BAA4B,EADtC;AAENH,IAAAA,cAAc,EAAEI,4BAA4B;AAFtC,GAAP;AAIA,CAPc,EAOVN,qBAPU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\nexport function PostLastRevisionCheck( {\n\tlastRevisionId,\n\trevisionsCount,\n\tchildren,\n} ) {\n\tif ( ! lastRevisionId || revisionsCount < 2 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"revisions\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getCurrentPostLastRevisionId, getCurrentPostRevisionsCount } =\n\t\tselect( editorStore );\n\treturn {\n\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t};\n} )( PostLastRevisionCheck );\n"]}
|
|
@@ -30,11 +30,10 @@ var _store = require("../../store");
|
|
|
30
30
|
/**
|
|
31
31
|
* Internal dependencies
|
|
32
32
|
*/
|
|
33
|
-
function LastRevision(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
} = _ref;
|
|
33
|
+
function LastRevision({
|
|
34
|
+
lastRevisionId,
|
|
35
|
+
revisionsCount
|
|
36
|
+
}) {
|
|
38
37
|
return (0, _element.createElement)(_check.default, null, (0, _element.createElement)(_components.Button, {
|
|
39
38
|
href: (0, _url.addQueryArgs)('revision.php', {
|
|
40
39
|
revision: lastRevisionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-last-revision/index.js"],"names":["LastRevision","lastRevisionId","revisionsCount","revision","gutenberg","backup","select","getCurrentPostLastRevisionId","getCurrentPostRevisionsCount","editorStore"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAbA;AACA;AACA;;AAOA;AACA;AACA;AAIA,SAASA,YAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-last-revision/index.js"],"names":["LastRevision","lastRevisionId","revisionsCount","revision","gutenberg","backup","select","getCurrentPostLastRevisionId","getCurrentPostRevisionsCount","editorStore"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAbA;AACA;AACA;;AAOA;AACA;AACA;AAIA,SAASA,YAAT,CAAuB;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA;AAAlB,CAAvB,EAA4D;AAC3D,SACC,4BAAC,cAAD,QACC,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAG,uBAAc,cAAd,EAA8B;AACpCC,MAAAA,QAAQ,EAAEF,cAD0B;AAEpCG,MAAAA,SAAS,EAAE;AAFyB,KAA9B,CADR;AAKC,IAAA,SAAS,EAAC,kCALX;AAMC,IAAA,IAAI,EAAGC;AANR,KAQG;AACD;AACA,gBAAI,aAAJ,EAAmB,cAAnB,EAAmCH,cAAnC,CAFC,EAGDA,cAHC,CARH,CADD,CADD;AAkBA;;eAEc,sBAAcI,MAAF,IAAc;AACxC,QAAM;AAAEC,IAAAA,4BAAF;AAAgCC,IAAAA;AAAhC,MACLF,MAAM,CAAEG,YAAF,CADP;AAEA,SAAO;AACNR,IAAAA,cAAc,EAAEM,4BAA4B,EADtC;AAENL,IAAAA,cAAc,EAAEM,4BAA4B;AAFtC,GAAP;AAIA,CAPc,EAOVR,YAPU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport PostLastRevisionCheck from './check';\nimport { store as editorStore } from '../../store';\n\nfunction LastRevision( { lastRevisionId, revisionsCount } ) {\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<Button\n\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\trevision: lastRevisionId,\n\t\t\t\t\tgutenberg: true,\n\t\t\t\t} ) }\n\t\t\t\tclassName=\"editor-post-last-revision__title\"\n\t\t\t\ticon={ backup }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: %d: number of revisions */\n\t\t\t\t\t_n( '%d Revision', '%d Revisions', revisionsCount ),\n\t\t\t\t\trevisionsCount\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getCurrentPostLastRevisionId, getCurrentPostRevisionsCount } =\n\t\tselect( editorStore );\n\treturn {\n\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t};\n} )( LastRevision );\n"]}
|
|
@@ -173,7 +173,7 @@ function PostLockedModal() {
|
|
|
173
173
|
_wpnonce: postLockUtils.nonce
|
|
174
174
|
});
|
|
175
175
|
const allPostsUrl = (0, _url.addQueryArgs)('edit.php', {
|
|
176
|
-
post_type: postType
|
|
176
|
+
post_type: postType?.slug
|
|
177
177
|
});
|
|
178
178
|
const allPostsLabel = (0, _i18n.__)('Exit editor');
|
|
179
179
|
return (0, _element.createElement)(_components.Modal, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-locked-modal/index.js"],"names":["PostLockedModal","instanceId","hookName","autosave","updatePostLock","editorStore","isLocked","isTakeover","user","postId","postLockUtils","activePostLock","postType","previewLink","select","isPostLocked","isPostLockTakeover","getPostLockUser","getCurrentPostId","getActivePostLock","getEditedPostAttribute","getEditedPostPreviewLink","getEditorSettings","getPostType","coreStore","sendPostLock","data","lock","post_id","receivePostLock","received","lock_error","name","avatar","avatar_src_2x","new_lock","releasePostLock","window","FormData","append","unlockNonce","navigator","sendBeacon","ajaxUrl","xhr","XMLHttpRequest","open","send","addEventListener","removeEventListener","userDisplayName","userAvatar","unlockUrl","lockKey","post","action","_wpnonce","nonce","allPostsUrl","post_type","slug","allPostsLabel","strong","PreviewLink"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tModal,\n\tButton,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEffect, createInterpolateElement } from '@wordpress/element';\nimport { addAction, removeAction } from '@wordpress/hooks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostLockedModal() {\n\tconst instanceId = useInstanceId( PostLockedModal );\n\tconst hookName = 'core/editor/post-locked-modal-' + instanceId;\n\tconst { autosave, updatePostLock } = useDispatch( editorStore );\n\tconst {\n\t\tisLocked,\n\t\tisTakeover,\n\t\tuser,\n\t\tpostId,\n\t\tpostLockUtils,\n\t\tactivePostLock,\n\t\tpostType,\n\t\tpreviewLink,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisPostLocked,\n\t\t\tisPostLockTakeover,\n\t\t\tgetPostLockUser,\n\t\t\tgetCurrentPostId,\n\t\t\tgetActivePostLock,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostPreviewLink,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\treturn {\n\t\t\tisLocked: isPostLocked(),\n\t\t\tisTakeover: isPostLockTakeover(),\n\t\t\tuser: getPostLockUser(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostLockUtils: getEditorSettings().postLockUtils,\n\t\t\tactivePostLock: getActivePostLock(),\n\t\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\t\tpreviewLink: getEditedPostPreviewLink(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t/**\n\t\t * Keep the lock refreshed.\n\t\t *\n\t\t * When the user does not send a heartbeat in a heartbeat-tick\n\t\t * the user is no longer editing and another user can start editing.\n\t\t *\n\t\t * @param {Object} data Data to send in the heartbeat request.\n\t\t */\n\t\tfunction sendPostLock( data ) {\n\t\t\tif ( isLocked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdata[ 'wp-refresh-post-lock' ] = {\n\t\t\t\tlock: activePostLock,\n\t\t\t\tpost_id: postId,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Refresh post locks: update the lock string or show the dialog if somebody has taken over editing.\n\t\t *\n\t\t * @param {Object} data Data received in the heartbeat request\n\t\t */\n\t\tfunction receivePostLock( data ) {\n\t\t\tif ( ! data[ 'wp-refresh-post-lock' ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst received = data[ 'wp-refresh-post-lock' ];\n\t\t\tif ( received.lock_error ) {\n\t\t\t\t// Auto save and display the takeover modal.\n\t\t\t\tautosave();\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: true,\n\t\t\t\t\tisTakeover: true,\n\t\t\t\t\tuser: {\n\t\t\t\t\t\tname: received.lock_error.name,\n\t\t\t\t\t\tavatar: received.lock_error.avatar_src_2x,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else if ( received.new_lock ) {\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: false,\n\t\t\t\t\tactivePostLock: received.new_lock,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Unlock the post before the window is exited.\n\t\t */\n\t\tfunction releasePostLock() {\n\t\t\tif ( isLocked || ! activePostLock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst data = new window.FormData();\n\t\t\tdata.append( 'action', 'wp-remove-post-lock' );\n\t\t\tdata.append( '_wpnonce', postLockUtils.unlockNonce );\n\t\t\tdata.append( 'post_ID', postId );\n\t\t\tdata.append( 'active_post_lock', activePostLock );\n\n\t\t\tif ( window.navigator.sendBeacon ) {\n\t\t\t\twindow.navigator.sendBeacon( postLockUtils.ajaxUrl, data );\n\t\t\t} else {\n\t\t\t\tconst xhr = new window.XMLHttpRequest();\n\t\t\t\txhr.open( 'POST', postLockUtils.ajaxUrl, false );\n\t\t\t\txhr.send( data );\n\t\t\t}\n\t\t}\n\n\t\t// Details on these events on the Heartbeat API docs\n\t\t// https://developer.wordpress.org/plugins/javascript/heartbeat-api/\n\t\taddAction( 'heartbeat.send', hookName, sendPostLock );\n\t\taddAction( 'heartbeat.tick', hookName, receivePostLock );\n\t\twindow.addEventListener( 'beforeunload', releasePostLock );\n\n\t\treturn () => {\n\t\t\tremoveAction( 'heartbeat.send', hookName );\n\t\t\tremoveAction( 'heartbeat.tick', hookName );\n\t\t\twindow.removeEventListener( 'beforeunload', releasePostLock );\n\t\t};\n\t}, [] );\n\n\tif ( ! isLocked ) {\n\t\treturn null;\n\t}\n\n\tconst userDisplayName = user.name;\n\tconst userAvatar = user.avatar;\n\n\tconst unlockUrl = addQueryArgs( 'post.php', {\n\t\t'get-post-lock': '1',\n\t\tlockKey: true,\n\t\tpost: postId,\n\t\taction: 'edit',\n\t\t_wpnonce: postLockUtils.nonce,\n\t} );\n\tconst allPostsUrl = addQueryArgs( 'edit.php', {\n\t\tpost_type: postType?.slug,\n\t} );\n\tconst allPostsLabel = __( 'Exit editor' );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={\n\t\t\t\tisTakeover\n\t\t\t\t\t? __( 'Someone else has taken over this post' )\n\t\t\t\t\t: __( 'This post is already being edited' )\n\t\t\t}\n\t\t\tfocusOnMount={ true }\n\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\tshouldCloseOnEsc={ false }\n\t\t\tisDismissible={ false }\n\t\t\tclassName=\"editor-post-locked-modal\"\n\t\t>\n\t\t\t<HStack alignment=\"top\" spacing={ 6 }>\n\t\t\t\t{ !! userAvatar && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ userAvatar }\n\t\t\t\t\t\talt={ __( 'Avatar' ) }\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__avatar\"\n\t\t\t\t\t\twidth={ 64 }\n\t\t\t\t\t\theight={ 64 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ !! isTakeover && (\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'<strong>%s</strong> now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'Another user now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\n\t\t\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'<strong>%s</strong> is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Another user is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\n\t\t\t\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'If you take over, the other user will lose editing control to the post, but their changes will be saved.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__buttons\"\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t\t<Button variant=\"tertiary\" href={ unlockUrl }>\n\t\t\t\t\t\t\t\t{ __( 'Take over' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button variant=\"primary\" href={ allPostsUrl }>\n\t\t\t\t\t\t\t{ allPostsLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</div>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-locked-modal/index.js"],"names":["PostLockedModal","instanceId","hookName","autosave","updatePostLock","editorStore","isLocked","isTakeover","user","postId","postLockUtils","activePostLock","postType","previewLink","select","isPostLocked","isPostLockTakeover","getPostLockUser","getCurrentPostId","getActivePostLock","getEditedPostAttribute","getEditedPostPreviewLink","getEditorSettings","getPostType","coreStore","sendPostLock","data","lock","post_id","receivePostLock","received","lock_error","name","avatar","avatar_src_2x","new_lock","releasePostLock","window","FormData","append","unlockNonce","navigator","sendBeacon","ajaxUrl","xhr","XMLHttpRequest","open","send","addEventListener","removeEventListener","userDisplayName","userAvatar","unlockUrl","lockKey","post","action","_wpnonce","nonce","allPostsUrl","post_type","slug","allPostsLabel","strong","PreviewLink"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tModal,\n\tButton,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEffect, createInterpolateElement } from '@wordpress/element';\nimport { addAction, removeAction } from '@wordpress/hooks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostLockedModal() {\n\tconst instanceId = useInstanceId( PostLockedModal );\n\tconst hookName = 'core/editor/post-locked-modal-' + instanceId;\n\tconst { autosave, updatePostLock } = useDispatch( editorStore );\n\tconst {\n\t\tisLocked,\n\t\tisTakeover,\n\t\tuser,\n\t\tpostId,\n\t\tpostLockUtils,\n\t\tactivePostLock,\n\t\tpostType,\n\t\tpreviewLink,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisPostLocked,\n\t\t\tisPostLockTakeover,\n\t\t\tgetPostLockUser,\n\t\t\tgetCurrentPostId,\n\t\t\tgetActivePostLock,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostPreviewLink,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\treturn {\n\t\t\tisLocked: isPostLocked(),\n\t\t\tisTakeover: isPostLockTakeover(),\n\t\t\tuser: getPostLockUser(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostLockUtils: getEditorSettings().postLockUtils,\n\t\t\tactivePostLock: getActivePostLock(),\n\t\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\t\tpreviewLink: getEditedPostPreviewLink(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t/**\n\t\t * Keep the lock refreshed.\n\t\t *\n\t\t * When the user does not send a heartbeat in a heartbeat-tick\n\t\t * the user is no longer editing and another user can start editing.\n\t\t *\n\t\t * @param {Object} data Data to send in the heartbeat request.\n\t\t */\n\t\tfunction sendPostLock( data ) {\n\t\t\tif ( isLocked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdata[ 'wp-refresh-post-lock' ] = {\n\t\t\t\tlock: activePostLock,\n\t\t\t\tpost_id: postId,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Refresh post locks: update the lock string or show the dialog if somebody has taken over editing.\n\t\t *\n\t\t * @param {Object} data Data received in the heartbeat request\n\t\t */\n\t\tfunction receivePostLock( data ) {\n\t\t\tif ( ! data[ 'wp-refresh-post-lock' ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst received = data[ 'wp-refresh-post-lock' ];\n\t\t\tif ( received.lock_error ) {\n\t\t\t\t// Auto save and display the takeover modal.\n\t\t\t\tautosave();\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: true,\n\t\t\t\t\tisTakeover: true,\n\t\t\t\t\tuser: {\n\t\t\t\t\t\tname: received.lock_error.name,\n\t\t\t\t\t\tavatar: received.lock_error.avatar_src_2x,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else if ( received.new_lock ) {\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: false,\n\t\t\t\t\tactivePostLock: received.new_lock,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Unlock the post before the window is exited.\n\t\t */\n\t\tfunction releasePostLock() {\n\t\t\tif ( isLocked || ! activePostLock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst data = new window.FormData();\n\t\t\tdata.append( 'action', 'wp-remove-post-lock' );\n\t\t\tdata.append( '_wpnonce', postLockUtils.unlockNonce );\n\t\t\tdata.append( 'post_ID', postId );\n\t\t\tdata.append( 'active_post_lock', activePostLock );\n\n\t\t\tif ( window.navigator.sendBeacon ) {\n\t\t\t\twindow.navigator.sendBeacon( postLockUtils.ajaxUrl, data );\n\t\t\t} else {\n\t\t\t\tconst xhr = new window.XMLHttpRequest();\n\t\t\t\txhr.open( 'POST', postLockUtils.ajaxUrl, false );\n\t\t\t\txhr.send( data );\n\t\t\t}\n\t\t}\n\n\t\t// Details on these events on the Heartbeat API docs\n\t\t// https://developer.wordpress.org/plugins/javascript/heartbeat-api/\n\t\taddAction( 'heartbeat.send', hookName, sendPostLock );\n\t\taddAction( 'heartbeat.tick', hookName, receivePostLock );\n\t\twindow.addEventListener( 'beforeunload', releasePostLock );\n\n\t\treturn () => {\n\t\t\tremoveAction( 'heartbeat.send', hookName );\n\t\t\tremoveAction( 'heartbeat.tick', hookName );\n\t\t\twindow.removeEventListener( 'beforeunload', releasePostLock );\n\t\t};\n\t}, [] );\n\n\tif ( ! isLocked ) {\n\t\treturn null;\n\t}\n\n\tconst userDisplayName = user.name;\n\tconst userAvatar = user.avatar;\n\n\tconst unlockUrl = addQueryArgs( 'post.php', {\n\t\t'get-post-lock': '1',\n\t\tlockKey: true,\n\t\tpost: postId,\n\t\taction: 'edit',\n\t\t_wpnonce: postLockUtils.nonce,\n\t} );\n\tconst allPostsUrl = addQueryArgs( 'edit.php', {\n\t\tpost_type: postType?.slug,\n\t} );\n\tconst allPostsLabel = __( 'Exit editor' );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={\n\t\t\t\tisTakeover\n\t\t\t\t\t? __( 'Someone else has taken over this post' )\n\t\t\t\t\t: __( 'This post is already being edited' )\n\t\t\t}\n\t\t\tfocusOnMount={ true }\n\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\tshouldCloseOnEsc={ false }\n\t\t\tisDismissible={ false }\n\t\t\tclassName=\"editor-post-locked-modal\"\n\t\t>\n\t\t\t<HStack alignment=\"top\" spacing={ 6 }>\n\t\t\t\t{ !! userAvatar && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ userAvatar }\n\t\t\t\t\t\talt={ __( 'Avatar' ) }\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__avatar\"\n\t\t\t\t\t\twidth={ 64 }\n\t\t\t\t\t\theight={ 64 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ !! isTakeover && (\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'<strong>%s</strong> now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'Another user now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\n\t\t\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'<strong>%s</strong> is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Another user is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\n\t\t\t\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'If you take over, the other user will lose editing control to the post, but their changes will be saved.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__buttons\"\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t\t<Button variant=\"tertiary\" href={ unlockUrl }>\n\t\t\t\t\t\t\t\t{ __( 'Take over' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button variant=\"primary\" href={ allPostsUrl }>\n\t\t\t\t\t\t\t{ allPostsLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</div>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"]}
|
|
@@ -19,13 +19,11 @@ var _store = require("../../store");
|
|
|
19
19
|
/**
|
|
20
20
|
* Internal dependencies
|
|
21
21
|
*/
|
|
22
|
-
function PostPendingStatusCheck(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
} = _ref;
|
|
28
|
-
|
|
22
|
+
function PostPendingStatusCheck({
|
|
23
|
+
hasPublishAction,
|
|
24
|
+
isPublished,
|
|
25
|
+
children
|
|
26
|
+
}) {
|
|
29
27
|
if (isPublished || !hasPublishAction) {
|
|
30
28
|
return null;
|
|
31
29
|
}
|
|
@@ -34,7 +32,7 @@ function PostPendingStatusCheck(_ref) {
|
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
var _default = (0, _compose.compose)((0, _data.withSelect)(select => {
|
|
37
|
-
var _getCurrentPost$_link
|
|
35
|
+
var _getCurrentPost$_link;
|
|
38
36
|
|
|
39
37
|
const {
|
|
40
38
|
isCurrentPostPublished,
|
|
@@ -42,7 +40,7 @@ var _default = (0, _compose.compose)((0, _data.withSelect)(select => {
|
|
|
42
40
|
getCurrentPost
|
|
43
41
|
} = select(_store.store);
|
|
44
42
|
return {
|
|
45
|
-
hasPublishAction: (_getCurrentPost$_link =
|
|
43
|
+
hasPublishAction: (_getCurrentPost$_link = getCurrentPost()._links?.['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
|
|
46
44
|
isPublished: isCurrentPostPublished(),
|
|
47
45
|
postType: getCurrentPostType()
|
|
48
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-pending-status/check.js"],"names":["PostPendingStatusCheck","hasPublishAction","isPublished","children","select","isCurrentPostPublished","getCurrentPostType","getCurrentPost","editorStore","_links","postType"],"mappings":";;;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGO,SAASA,sBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-pending-status/check.js"],"names":["PostPendingStatusCheck","hasPublishAction","isPublished","children","select","isCurrentPostPublished","getCurrentPostType","getCurrentPost","editorStore","_links","postType"],"mappings":";;;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGO,SAASA,sBAAT,CAAiC;AACvCC,EAAAA,gBADuC;AAEvCC,EAAAA,WAFuC;AAGvCC,EAAAA;AAHuC,CAAjC,EAIH;AACH,MAAKD,WAAW,IAAI,CAAED,gBAAtB,EAAyC;AACxC,WAAO,IAAP;AACA;;AAED,SAAOE,QAAP;AACA;;eAEc,sBACd,sBAAcC,MAAF,IAAc;AAAA;;AACzB,QAAM;AAAEC,IAAAA,sBAAF;AAA0BC,IAAAA,kBAA1B;AAA8CC,IAAAA;AAA9C,MACLH,MAAM,CAAEI,YAAF,CADP;AAEA,SAAO;AACNP,IAAAA,gBAAgB,2BACfM,cAAc,GAAGE,MAAjB,GAA2B,mBAA3B,CADe,yEACqC,KAF/C;AAGNP,IAAAA,WAAW,EAAEG,sBAAsB,EAH7B;AAINK,IAAAA,QAAQ,EAAEJ,kBAAkB;AAJtB,GAAP;AAMA,CATD,CADc,EAWZN,sBAXY,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport function PostPendingStatusCheck( {\n\thasPublishAction,\n\tisPublished,\n\tchildren,\n} ) {\n\tif ( isPublished || ! hasPublishAction ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { isCurrentPostPublished, getCurrentPostType, getCurrentPost } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t} )\n)( PostPendingStatusCheck );\n"]}
|
|
@@ -29,12 +29,10 @@ var _store = require("../../store");
|
|
|
29
29
|
/**
|
|
30
30
|
* Internal dependencies
|
|
31
31
|
*/
|
|
32
|
-
function PostPendingStatus(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
} = _ref;
|
|
37
|
-
|
|
32
|
+
function PostPendingStatus({
|
|
33
|
+
status,
|
|
34
|
+
onUpdateStatus
|
|
35
|
+
}) {
|
|
38
36
|
const togglePendingStatus = () => {
|
|
39
37
|
const updatedStatus = status === 'pending' ? 'draft' : 'pending';
|
|
40
38
|
onUpdateStatus(updatedStatus);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-pending-status/index.js"],"names":["PostPendingStatus","status","onUpdateStatus","togglePendingStatus","updatedStatus","select","editorStore","getEditedPostAttribute","dispatch","editPost"],"mappings":";;;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAZA;AACA;AACA;;AAMA;AACA;AACA;AAIO,SAASA,iBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-pending-status/index.js"],"names":["PostPendingStatus","status","onUpdateStatus","togglePendingStatus","updatedStatus","select","editorStore","getEditedPostAttribute","dispatch","editPost"],"mappings":";;;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAZA;AACA;AACA;;AAMA;AACA;AACA;AAIO,SAASA,iBAAT,CAA4B;AAAEC,EAAAA,MAAF;AAAUC,EAAAA;AAAV,CAA5B,EAAyD;AAC/D,QAAMC,mBAAmB,GAAG,MAAM;AACjC,UAAMC,aAAa,GAAGH,MAAM,KAAK,SAAX,GAAuB,OAAvB,GAAiC,SAAvD;AACAC,IAAAA,cAAc,CAAEE,aAAF,CAAd;AACA,GAHD;;AAKA,SACC,4BAAC,cAAD,QACC,4BAAC,2BAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,gBAAJ,CAFT;AAGC,IAAA,OAAO,EAAGH,MAAM,KAAK,SAHtB;AAIC,IAAA,QAAQ,EAAGE;AAJZ,IADD,CADD;AAUA;;eAEc,sBACd,sBAAcE,MAAF,KAAgB;AAC3BJ,EAAAA,MAAM,EAAEI,MAAM,CAAEC,YAAF,CAAN,CAAsBC,sBAAtB,CAA8C,QAA9C;AADmB,CAAhB,CAAZ,CADc,EAId,wBAAgBC,QAAF,KAAkB;AAC/BN,EAAAA,cAAc,CAAED,MAAF,EAAW;AACxBO,IAAAA,QAAQ,CAAEF,YAAF,CAAR,CAAwBG,QAAxB,CAAkC;AAAER,MAAAA;AAAF,KAAlC;AACA;;AAH8B,CAAlB,CAAd,CAJc,EASZD,iBATY,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostPendingStatusCheck from './check';\nimport { store as editorStore } from '../../store';\n\nexport function PostPendingStatus( { status, onUpdateStatus } ) {\n\tconst togglePendingStatus = () => {\n\t\tconst updatedStatus = status === 'pending' ? 'draft' : 'pending';\n\t\tonUpdateStatus( updatedStatus );\n\t};\n\n\treturn (\n\t\t<PostPendingStatusCheck>\n\t\t\t<CheckboxControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Pending review' ) }\n\t\t\t\tchecked={ status === 'pending' }\n\t\t\t\tonChange={ togglePendingStatus }\n\t\t\t/>\n\t\t</PostPendingStatusCheck>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\tstatus: select( editorStore ).getEditedPostAttribute( 'status' ),\n\t} ) ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdateStatus( status ) {\n\t\t\tdispatch( editorStore ).editPost( { status } );\n\t\t},\n\t} ) )\n)( PostPendingStatus );\n"]}
|
|
@@ -24,12 +24,10 @@ var _store = require("../../store");
|
|
|
24
24
|
/**
|
|
25
25
|
* Internal dependencies
|
|
26
26
|
*/
|
|
27
|
-
function PostPingbacks(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
} = _ref;
|
|
32
|
-
|
|
27
|
+
function PostPingbacks({
|
|
28
|
+
pingStatus = 'open',
|
|
29
|
+
...props
|
|
30
|
+
}) {
|
|
33
31
|
const onTogglePingback = () => props.editPost({
|
|
34
32
|
ping_status: pingStatus === 'open' ? 'closed' : 'open'
|
|
35
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-pingbacks/index.js"],"names":["PostPingbacks","pingStatus","props","onTogglePingback","editPost","ping_status","select","editorStore","getEditedPostAttribute","dispatch"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;AAGA,SAASA,aAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-pingbacks/index.js"],"names":["PostPingbacks","pingStatus","props","onTogglePingback","editPost","ping_status","select","editorStore","getEditedPostAttribute","dispatch"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;AAGA,SAASA,aAAT,CAAwB;AAAEC,EAAAA,UAAU,GAAG,MAAf;AAAuB,KAAGC;AAA1B,CAAxB,EAA4D;AAC3D,QAAMC,gBAAgB,GAAG,MACxBD,KAAK,CAACE,QAAN,CAAgB;AACfC,IAAAA,WAAW,EAAEJ,UAAU,KAAK,MAAf,GAAwB,QAAxB,GAAmC;AADjC,GAAhB,CADD;;AAKA,SACC,4BAAC,2BAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,8BAAJ,CAFT;AAGC,IAAA,OAAO,EAAGA,UAAU,KAAK,MAH1B;AAIC,IAAA,QAAQ,EAAGE;AAJZ,IADD;AAQA;;eAEc,sBAAS,CACvB,sBAAcG,MAAF,IAAc;AACzB,SAAO;AACNL,IAAAA,UAAU,EACTK,MAAM,CAAEC,YAAF,CAAN,CAAsBC,sBAAtB,CAA8C,aAA9C;AAFK,GAAP;AAIA,CALD,CADuB,EAOvB,wBAAgBC,QAAF,KAAkB;AAC/BL,EAAAA,QAAQ,EAAEK,QAAQ,CAAEF,YAAF,CAAR,CAAwBH;AADH,CAAlB,CAAd,CAPuB,CAAT,EAUVJ,aAVU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostPingbacks( { pingStatus = 'open', ...props } ) {\n\tconst onTogglePingback = () =>\n\t\tprops.editPost( {\n\t\t\tping_status: pingStatus === 'open' ? 'closed' : 'open',\n\t\t} );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow pingbacks & trackbacks' ) }\n\t\t\tchecked={ pingStatus === 'open' }\n\t\t\tonChange={ onTogglePingback }\n\t\t/>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tpingStatus:\n\t\t\t\tselect( editorStore ).getEditedPostAttribute( 'ping_status' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\teditPost: dispatch( editorStore ).editPost,\n\t} ) ),\n] )( PostPingbacks );\n"]}
|
|
@@ -240,13 +240,12 @@ class PostPreviewButton extends _element.Component {
|
|
|
240
240
|
|
|
241
241
|
exports.PostPreviewButton = PostPreviewButton;
|
|
242
242
|
|
|
243
|
-
var _default = (0, _compose.compose)([(0, _data.withSelect)((select,
|
|
243
|
+
var _default = (0, _compose.compose)([(0, _data.withSelect)((select, {
|
|
244
|
+
forcePreviewLink,
|
|
245
|
+
forceIsAutosaveable
|
|
246
|
+
}) => {
|
|
244
247
|
var _postType$viewable;
|
|
245
248
|
|
|
246
|
-
let {
|
|
247
|
-
forcePreviewLink,
|
|
248
|
-
forceIsAutosaveable
|
|
249
|
-
} = _ref;
|
|
250
249
|
const {
|
|
251
250
|
getCurrentPostId,
|
|
252
251
|
getCurrentPostAttribute,
|
|
@@ -267,19 +266,16 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref) => {
|
|
|
267
266
|
previewLink: forcePreviewLink !== undefined ? forcePreviewLink : previewLink,
|
|
268
267
|
isSaveable: isEditedPostSaveable(),
|
|
269
268
|
isAutosaveable: forceIsAutosaveable || isEditedPostAutosaveable(),
|
|
270
|
-
isViewable: (_postType$viewable = postType
|
|
269
|
+
isViewable: (_postType$viewable = postType?.viewable) !== null && _postType$viewable !== void 0 ? _postType$viewable : false,
|
|
271
270
|
isDraft: ['draft', 'auto-draft'].indexOf(getEditedPostAttribute('status')) !== -1,
|
|
272
271
|
isPostLocked: isPostLocked()
|
|
273
272
|
};
|
|
274
273
|
}), (0, _data.withDispatch)(dispatch => ({
|
|
275
274
|
autosave: dispatch(_store.store).autosave,
|
|
276
275
|
savePost: dispatch(_store.store).savePost
|
|
277
|
-
})), (0, _compose.ifCondition)(
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
} = _ref2;
|
|
281
|
-
return isViewable;
|
|
282
|
-
})])(PostPreviewButton);
|
|
276
|
+
})), (0, _compose.ifCondition)(({
|
|
277
|
+
isViewable
|
|
278
|
+
}) => isViewable)])(PostPreviewButton);
|
|
283
279
|
|
|
284
280
|
exports.default = _default;
|
|
285
281
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-preview-button/index.js"],"names":["writeInterstitialMessage","targetDocument","markup","write","title","close","PostPreviewButton","Component","constructor","arguments","buttonRef","openPreviewWindow","bind","componentDidUpdate","prevProps","previewLink","props","setPreviewWindowLink","url","previewWindow","closed","location","current","focus","getWindowTarget","postId","event","preventDefault","window","open","isAutosaveable","isPostLocked","target","href","isDraft","savePost","isPreview","autosave","document","render","currentPostLink","isSaveable","role","classNames","className","undefined","textContent","select","forcePreviewLink","forceIsAutosaveable","getCurrentPostId","getCurrentPostAttribute","getEditedPostAttribute","isEditedPostSaveable","isEditedPostAutosaveable","getEditedPostPreviewLink","editorStore","getPostType","coreStore","postType","isViewable","viewable","indexOf","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef, renderToString } from '@wordpress/element';\nimport { Button, Path, SVG, VisuallyHidden } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { ifCondition, compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction writeInterstitialMessage( targetDocument ) {\n\tlet markup = renderToString(\n\t\t<div className=\"editor-post-preview-button__interstitial-message\">\n\t\t\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"outer\"\n\t\t\t\t\td=\"M48 12c19.9 0 36 16.1 36 36S67.9 84 48 84 12 67.9 12 48s16.1-36 36-36\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"inner\"\n\t\t\t\t\td=\"M69.5 46.4c0-3.9-1.4-6.7-2.6-8.8-1.6-2.6-3.1-4.9-3.1-7.5 0-2.9 2.2-5.7 5.4-5.7h.4C63.9 19.2 56.4 16 48 16c-11.2 0-21 5.7-26.7 14.4h2.1c3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3L40 67.5l7-20.9L42 33c-1.7-.1-3.3-.3-3.3-.3-1.7-.1-1.5-2.7.2-2.6 0 0 5.3.4 8.4.4 3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3l11.5 34.3 3.3-10.4c1.6-4.5 2.4-7.8 2.4-10.5zM16.1 48c0 12.6 7.3 23.5 18 28.7L18.8 35c-1.7 4-2.7 8.4-2.7 13zm32.5 2.8L39 78.6c2.9.8 5.9 1.3 9 1.3 3.7 0 7.3-.6 10.6-1.8-.1-.1-.2-.3-.2-.4l-9.8-26.9zM76.2 36c0 3.2-.6 6.9-2.4 11.4L64 75.6c9.5-5.5 15.9-15.8 15.9-27.6 0-5.5-1.4-10.8-3.9-15.3.1 1 .2 2.1.2 3.3z\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t\t<p>{ __( 'Generating preview…' ) }</p>\n\t\t</div>\n\t);\n\n\tmarkup += `\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\twidth: 100vw;\n\t\t\t}\n\t\t\t@-webkit-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-moz-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-o-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg {\n\t\t\t\twidth: 192px;\n\t\t\t\theight: 192px;\n\t\t\t\tstroke: #555d66;\n\t\t\t\tstroke-width: 0.75;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg .outer,\n\t\t\t.editor-post-preview-button__interstitial-message svg .inner {\n\t\t\t\tstroke-dasharray: 280;\n\t\t\t\tstroke-dashoffset: 280;\n\t\t\t\t-webkit-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-moz-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-o-animation: paint 1.5s ease infinite alternate;\n\t\t\t\tanimation: paint 1.5s ease infinite alternate;\n\t\t\t}\n\t\t\tp {\n\t\t\t\ttext-align: center;\n\t\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\t\t}\n\t\t</style>\n\t`;\n\n\t/**\n\t * Filters the interstitial message shown when generating previews.\n\t *\n\t * @param {string} markup The preview interstitial markup.\n\t */\n\tmarkup = applyFilters( 'editor.PostPreview.interstitialMarkup', markup );\n\n\ttargetDocument.write( markup );\n\ttargetDocument.title = __( 'Generating preview…' );\n\ttargetDocument.close();\n}\n\nexport class PostPreviewButton extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.buttonRef = createRef();\n\n\t\tthis.openPreviewWindow = this.openPreviewWindow.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { previewLink } = this.props;\n\t\t// This relies on the window being responsible to unset itself when\n\t\t// navigation occurs or a new preview window is opened, to avoid\n\t\t// unintentional forceful redirects.\n\t\tif ( previewLink && ! prevProps.previewLink ) {\n\t\t\tthis.setPreviewWindowLink( previewLink );\n\t\t}\n\t}\n\n\t/**\n\t * Sets the preview window's location to the given URL, if a preview window\n\t * exists and is not closed.\n\t *\n\t * @param {string} url URL to assign as preview window location.\n\t */\n\tsetPreviewWindowLink( url ) {\n\t\tconst { previewWindow } = this;\n\n\t\tif ( previewWindow && ! previewWindow.closed ) {\n\t\t\tpreviewWindow.location = url;\n\t\t\tif ( this.buttonRef.current ) {\n\t\t\t\tthis.buttonRef.current.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetWindowTarget() {\n\t\tconst { postId } = this.props;\n\t\treturn `wp-preview-${ postId }`;\n\t}\n\n\topenPreviewWindow( event ) {\n\t\t// Our Preview button has its 'href' and 'target' set correctly for a11y\n\t\t// purposes. Unfortunately, though, we can't rely on the default 'click'\n\t\t// handler since sometimes it incorrectly opens a new tab instead of reusing\n\t\t// the existing one.\n\t\t// https://github.com/WordPress/gutenberg/pull/8330\n\t\tevent.preventDefault();\n\n\t\t// Open up a Preview tab if needed. This is where we'll show the preview.\n\t\tif ( ! this.previewWindow || this.previewWindow.closed ) {\n\t\t\tthis.previewWindow = window.open( '', this.getWindowTarget() );\n\t\t}\n\n\t\t// Focus the Preview tab. This might not do anything, depending on the browser's\n\t\t// and user's preferences.\n\t\t// https://html.spec.whatwg.org/multipage/interaction.html#dom-window-focus\n\t\tthis.previewWindow.focus();\n\n\t\tif (\n\t\t\t// If we don't need to autosave the post before previewing, then we simply\n\t\t\t// load the Preview URL in the Preview tab.\n\t\t\t! this.props.isAutosaveable ||\n\t\t\t// Do not save or overwrite the post, if the post is already locked.\n\t\t\tthis.props.isPostLocked\n\t\t) {\n\t\t\tthis.setPreviewWindowLink( event.target.href );\n\t\t\treturn;\n\t\t}\n\n\t\t// Request an autosave. This happens asynchronously and causes the component\n\t\t// to update when finished.\n\t\tif ( this.props.isDraft ) {\n\t\t\tthis.props.savePost( { isPreview: true } );\n\t\t} else {\n\t\t\tthis.props.autosave( { isPreview: true } );\n\t\t}\n\n\t\t// Display a 'Generating preview' message in the Preview tab while we wait for the\n\t\t// autosave to finish.\n\t\twriteInterstitialMessage( this.previewWindow.document );\n\t}\n\n\trender() {\n\t\tconst { previewLink, currentPostLink, isSaveable, role } = this.props;\n\n\t\t// Link to the `?preview=true` URL if we have it, since this lets us see\n\t\t// changes that were autosaved since the post was last published. Otherwise,\n\t\t// just link to the post's URL.\n\t\tconst href = previewLink || currentPostLink;\n\n\t\tconst classNames = classnames(\n\t\t\t{\n\t\t\t\t'editor-post-preview': ! this.props.className,\n\t\t\t},\n\t\t\tthis.props.className\n\t\t);\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tvariant={ ! this.props.className ? 'tertiary' : undefined }\n\t\t\t\tclassName={ classNames }\n\t\t\t\thref={ href }\n\t\t\t\ttarget={ this.getWindowTarget() }\n\t\t\t\tdisabled={ ! isSaveable }\n\t\t\t\tonClick={ this.openPreviewWindow }\n\t\t\t\tref={ this.buttonRef }\n\t\t\t\trole={ role }\n\t\t\t>\n\t\t\t\t{ this.props.textContent ? (\n\t\t\t\t\tthis.props.textContent\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ _x( 'Preview', 'imperative verb' ) }\n\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { forcePreviewLink, forceIsAutosaveable } ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostAttribute,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostAutosaveable,\n\t\t\tgetEditedPostPreviewLink,\n\t\t\tisPostLocked,\n\t\t} = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\n\t\tconst previewLink = getEditedPostPreviewLink();\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tcurrentPostLink: getCurrentPostAttribute( 'link' ),\n\t\t\tpreviewLink:\n\t\t\t\tforcePreviewLink !== undefined ? forcePreviewLink : previewLink,\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisAutosaveable: forceIsAutosaveable || isEditedPostAutosaveable(),\n\t\t\tisViewable: postType?.viewable ?? false,\n\t\t\tisDraft:\n\t\t\t\t[ 'draft', 'auto-draft' ].indexOf(\n\t\t\t\t\tgetEditedPostAttribute( 'status' )\n\t\t\t\t) !== -1,\n\t\t\tisPostLocked: isPostLocked(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tautosave: dispatch( editorStore ).autosave,\n\t\tsavePost: dispatch( editorStore ).savePost,\n\t} ) ),\n\tifCondition( ( { isViewable } ) => isViewable ),\n] )( PostPreviewButton );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-preview-button/index.js"],"names":["writeInterstitialMessage","targetDocument","markup","write","title","close","PostPreviewButton","Component","constructor","arguments","buttonRef","openPreviewWindow","bind","componentDidUpdate","prevProps","previewLink","props","setPreviewWindowLink","url","previewWindow","closed","location","current","focus","getWindowTarget","postId","event","preventDefault","window","open","isAutosaveable","isPostLocked","target","href","isDraft","savePost","isPreview","autosave","document","render","currentPostLink","isSaveable","role","classNames","className","undefined","textContent","select","forcePreviewLink","forceIsAutosaveable","getCurrentPostId","getCurrentPostAttribute","getEditedPostAttribute","isEditedPostSaveable","isEditedPostAutosaveable","getEditedPostPreviewLink","editorStore","getPostType","coreStore","postType","isViewable","viewable","indexOf","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef, renderToString } from '@wordpress/element';\nimport { Button, Path, SVG, VisuallyHidden } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { ifCondition, compose } from '@wordpress/compose';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction writeInterstitialMessage( targetDocument ) {\n\tlet markup = renderToString(\n\t\t<div className=\"editor-post-preview-button__interstitial-message\">\n\t\t\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"outer\"\n\t\t\t\t\td=\"M48 12c19.9 0 36 16.1 36 36S67.9 84 48 84 12 67.9 12 48s16.1-36 36-36\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"inner\"\n\t\t\t\t\td=\"M69.5 46.4c0-3.9-1.4-6.7-2.6-8.8-1.6-2.6-3.1-4.9-3.1-7.5 0-2.9 2.2-5.7 5.4-5.7h.4C63.9 19.2 56.4 16 48 16c-11.2 0-21 5.7-26.7 14.4h2.1c3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3L40 67.5l7-20.9L42 33c-1.7-.1-3.3-.3-3.3-.3-1.7-.1-1.5-2.7.2-2.6 0 0 5.3.4 8.4.4 3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3l11.5 34.3 3.3-10.4c1.6-4.5 2.4-7.8 2.4-10.5zM16.1 48c0 12.6 7.3 23.5 18 28.7L18.8 35c-1.7 4-2.7 8.4-2.7 13zm32.5 2.8L39 78.6c2.9.8 5.9 1.3 9 1.3 3.7 0 7.3-.6 10.6-1.8-.1-.1-.2-.3-.2-.4l-9.8-26.9zM76.2 36c0 3.2-.6 6.9-2.4 11.4L64 75.6c9.5-5.5 15.9-15.8 15.9-27.6 0-5.5-1.4-10.8-3.9-15.3.1 1 .2 2.1.2 3.3z\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t\t<p>{ __( 'Generating preview…' ) }</p>\n\t\t</div>\n\t);\n\n\tmarkup += `\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\twidth: 100vw;\n\t\t\t}\n\t\t\t@-webkit-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-moz-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-o-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg {\n\t\t\t\twidth: 192px;\n\t\t\t\theight: 192px;\n\t\t\t\tstroke: #555d66;\n\t\t\t\tstroke-width: 0.75;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg .outer,\n\t\t\t.editor-post-preview-button__interstitial-message svg .inner {\n\t\t\t\tstroke-dasharray: 280;\n\t\t\t\tstroke-dashoffset: 280;\n\t\t\t\t-webkit-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-moz-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-o-animation: paint 1.5s ease infinite alternate;\n\t\t\t\tanimation: paint 1.5s ease infinite alternate;\n\t\t\t}\n\t\t\tp {\n\t\t\t\ttext-align: center;\n\t\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\t\t}\n\t\t</style>\n\t`;\n\n\t/**\n\t * Filters the interstitial message shown when generating previews.\n\t *\n\t * @param {string} markup The preview interstitial markup.\n\t */\n\tmarkup = applyFilters( 'editor.PostPreview.interstitialMarkup', markup );\n\n\ttargetDocument.write( markup );\n\ttargetDocument.title = __( 'Generating preview…' );\n\ttargetDocument.close();\n}\n\nexport class PostPreviewButton extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.buttonRef = createRef();\n\n\t\tthis.openPreviewWindow = this.openPreviewWindow.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { previewLink } = this.props;\n\t\t// This relies on the window being responsible to unset itself when\n\t\t// navigation occurs or a new preview window is opened, to avoid\n\t\t// unintentional forceful redirects.\n\t\tif ( previewLink && ! prevProps.previewLink ) {\n\t\t\tthis.setPreviewWindowLink( previewLink );\n\t\t}\n\t}\n\n\t/**\n\t * Sets the preview window's location to the given URL, if a preview window\n\t * exists and is not closed.\n\t *\n\t * @param {string} url URL to assign as preview window location.\n\t */\n\tsetPreviewWindowLink( url ) {\n\t\tconst { previewWindow } = this;\n\n\t\tif ( previewWindow && ! previewWindow.closed ) {\n\t\t\tpreviewWindow.location = url;\n\t\t\tif ( this.buttonRef.current ) {\n\t\t\t\tthis.buttonRef.current.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetWindowTarget() {\n\t\tconst { postId } = this.props;\n\t\treturn `wp-preview-${ postId }`;\n\t}\n\n\topenPreviewWindow( event ) {\n\t\t// Our Preview button has its 'href' and 'target' set correctly for a11y\n\t\t// purposes. Unfortunately, though, we can't rely on the default 'click'\n\t\t// handler since sometimes it incorrectly opens a new tab instead of reusing\n\t\t// the existing one.\n\t\t// https://github.com/WordPress/gutenberg/pull/8330\n\t\tevent.preventDefault();\n\n\t\t// Open up a Preview tab if needed. This is where we'll show the preview.\n\t\tif ( ! this.previewWindow || this.previewWindow.closed ) {\n\t\t\tthis.previewWindow = window.open( '', this.getWindowTarget() );\n\t\t}\n\n\t\t// Focus the Preview tab. This might not do anything, depending on the browser's\n\t\t// and user's preferences.\n\t\t// https://html.spec.whatwg.org/multipage/interaction.html#dom-window-focus\n\t\tthis.previewWindow.focus();\n\n\t\tif (\n\t\t\t// If we don't need to autosave the post before previewing, then we simply\n\t\t\t// load the Preview URL in the Preview tab.\n\t\t\t! this.props.isAutosaveable ||\n\t\t\t// Do not save or overwrite the post, if the post is already locked.\n\t\t\tthis.props.isPostLocked\n\t\t) {\n\t\t\tthis.setPreviewWindowLink( event.target.href );\n\t\t\treturn;\n\t\t}\n\n\t\t// Request an autosave. This happens asynchronously and causes the component\n\t\t// to update when finished.\n\t\tif ( this.props.isDraft ) {\n\t\t\tthis.props.savePost( { isPreview: true } );\n\t\t} else {\n\t\t\tthis.props.autosave( { isPreview: true } );\n\t\t}\n\n\t\t// Display a 'Generating preview' message in the Preview tab while we wait for the\n\t\t// autosave to finish.\n\t\twriteInterstitialMessage( this.previewWindow.document );\n\t}\n\n\trender() {\n\t\tconst { previewLink, currentPostLink, isSaveable, role } = this.props;\n\n\t\t// Link to the `?preview=true` URL if we have it, since this lets us see\n\t\t// changes that were autosaved since the post was last published. Otherwise,\n\t\t// just link to the post's URL.\n\t\tconst href = previewLink || currentPostLink;\n\n\t\tconst classNames = classnames(\n\t\t\t{\n\t\t\t\t'editor-post-preview': ! this.props.className,\n\t\t\t},\n\t\t\tthis.props.className\n\t\t);\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tvariant={ ! this.props.className ? 'tertiary' : undefined }\n\t\t\t\tclassName={ classNames }\n\t\t\t\thref={ href }\n\t\t\t\ttarget={ this.getWindowTarget() }\n\t\t\t\tdisabled={ ! isSaveable }\n\t\t\t\tonClick={ this.openPreviewWindow }\n\t\t\t\tref={ this.buttonRef }\n\t\t\t\trole={ role }\n\t\t\t>\n\t\t\t\t{ this.props.textContent ? (\n\t\t\t\t\tthis.props.textContent\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ _x( 'Preview', 'imperative verb' ) }\n\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { forcePreviewLink, forceIsAutosaveable } ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostAttribute,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostAutosaveable,\n\t\t\tgetEditedPostPreviewLink,\n\t\t\tisPostLocked,\n\t\t} = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\n\t\tconst previewLink = getEditedPostPreviewLink();\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tcurrentPostLink: getCurrentPostAttribute( 'link' ),\n\t\t\tpreviewLink:\n\t\t\t\tforcePreviewLink !== undefined ? forcePreviewLink : previewLink,\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisAutosaveable: forceIsAutosaveable || isEditedPostAutosaveable(),\n\t\t\tisViewable: postType?.viewable ?? false,\n\t\t\tisDraft:\n\t\t\t\t[ 'draft', 'auto-draft' ].indexOf(\n\t\t\t\t\tgetEditedPostAttribute( 'status' )\n\t\t\t\t) !== -1,\n\t\t\tisPostLocked: isPostLocked(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tautosave: dispatch( editorStore ).autosave,\n\t\tsavePost: dispatch( editorStore ).savePost,\n\t} ) ),\n\tifCondition( ( { isViewable } ) => isViewable ),\n] )( PostPreviewButton );\n"]}
|
|
@@ -65,17 +65,11 @@ class PostPublishButton extends _element.Component {
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
createOnClick(callback) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return function () {
|
|
71
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
72
|
-
args[_key] = arguments[_key];
|
|
73
|
-
}
|
|
74
|
-
|
|
68
|
+
return (...args) => {
|
|
75
69
|
const {
|
|
76
70
|
hasNonPostEntityChanges,
|
|
77
71
|
setEntitiesSavedStatesCallback
|
|
78
|
-
} =
|
|
72
|
+
} = this.props; // If a post with non-post entities is published, but the user
|
|
79
73
|
// elects to not save changes to the non-post entities, those
|
|
80
74
|
// entities will still be dirty when the Publish button is clicked.
|
|
81
75
|
// We also need to check that the `setEntitiesSavedStatesCallback`
|
|
@@ -85,15 +79,14 @@ class PostPublishButton extends _element.Component {
|
|
|
85
79
|
// The modal for multiple entity saving will open,
|
|
86
80
|
// hold the callback for saving/publishing the post
|
|
87
81
|
// so that we can call it if the post entity is checked.
|
|
88
|
-
|
|
82
|
+
this.setState({
|
|
89
83
|
entitiesSavedStatesCallback: () => callback(...args)
|
|
90
84
|
}); // Open the save panel by setting its callback.
|
|
91
85
|
// To set a function on the useState hook, we must set it
|
|
92
86
|
// with another function (() => myFunction). Passing the
|
|
93
87
|
// function on its own will cause an error when called.
|
|
94
88
|
|
|
95
|
-
|
|
96
|
-
setEntitiesSavedStatesCallback(() => _this.closeEntitiesSavedStates);
|
|
89
|
+
setEntitiesSavedStatesCallback(() => this.closeEntitiesSavedStates);
|
|
97
90
|
return noop;
|
|
98
91
|
}
|
|
99
92
|
|
|
@@ -209,7 +202,7 @@ class PostPublishButton extends _element.Component {
|
|
|
209
202
|
exports.PostPublishButton = PostPublishButton;
|
|
210
203
|
|
|
211
204
|
var _default = (0, _compose.compose)([(0, _data.withSelect)(select => {
|
|
212
|
-
var _getCurrentPost$_link
|
|
205
|
+
var _getCurrentPost$_link;
|
|
213
206
|
|
|
214
207
|
const {
|
|
215
208
|
isSavingPost,
|
|
@@ -238,7 +231,7 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)(select => {
|
|
|
238
231
|
isPostSavingLocked: isPostSavingLocked(),
|
|
239
232
|
isPublishable: isEditedPostPublishable(),
|
|
240
233
|
isPublished: isCurrentPostPublished(),
|
|
241
|
-
hasPublishAction: (_getCurrentPost$_link =
|
|
234
|
+
hasPublishAction: (_getCurrentPost$_link = getCurrentPost()._links?.['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
|
|
242
235
|
postType: getCurrentPostType(),
|
|
243
236
|
postId: getCurrentPostId(),
|
|
244
237
|
hasNonPostEntityChanges: hasNonPostEntityChanges(),
|