@wordpress/core-data 7.51.0 → 7.53.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 +22 -0
- package/README.md +1 -0
- package/build/actions.cjs +64 -2
- package/build/actions.cjs.map +3 -3
- package/build/awareness/awareness-state.cjs.map +2 -2
- package/build/awareness/base-awareness.cjs.map +2 -2
- package/build/awareness/block-lookup.cjs.map +2 -2
- package/build/awareness/post-editor-awareness.cjs +7 -0
- package/build/awareness/post-editor-awareness.cjs.map +2 -2
- package/build/awareness/typed-awareness.cjs.map +2 -2
- package/build/awareness/types.cjs.map +1 -1
- package/build/awareness/utils.cjs.map +2 -2
- package/build/batch/create-batch.cjs.map +2 -2
- package/build/batch/default-processor.cjs.map +2 -2
- package/build/components/entities-saved-states/entity-record-item.cjs +67 -0
- package/build/components/entities-saved-states/entity-record-item.cjs.map +7 -0
- package/build/components/entities-saved-states/entity-type-list.cjs +135 -0
- package/build/components/entities-saved-states/entity-type-list.cjs.map +7 -0
- package/build/components/entities-saved-states/hooks/use-is-dirty.cjs +101 -0
- package/build/components/entities-saved-states/hooks/use-is-dirty.cjs.map +7 -0
- package/build/components/entities-saved-states/index.cjs +215 -0
- package/build/components/entities-saved-states/index.cjs.map +7 -0
- package/build/dynamic-entities.cjs.map +2 -2
- package/build/entities.cjs +2 -0
- package/build/entities.cjs.map +2 -2
- package/build/entity-context.cjs.map +2 -2
- package/build/entity-provider.cjs.map +2 -2
- package/build/entity-types/attachment.cjs.map +1 -1
- package/build/entity-types/base.cjs.map +1 -1
- package/build/entity-types/comment.cjs.map +1 -1
- package/build/entity-types/font-collection.cjs.map +1 -1
- package/build/entity-types/font-family.cjs.map +1 -1
- package/build/entity-types/global-styles-revision.cjs.map +1 -1
- package/build/entity-types/helpers.cjs.map +1 -1
- package/build/entity-types/icon.cjs.map +1 -1
- package/build/entity-types/index.cjs.map +1 -1
- package/build/entity-types/menu-location.cjs.map +1 -1
- package/build/entity-types/nav-menu-item.cjs.map +1 -1
- package/build/entity-types/nav-menu.cjs.map +1 -1
- package/build/entity-types/page.cjs.map +1 -1
- package/build/entity-types/plugin.cjs.map +1 -1
- package/build/entity-types/post-revision.cjs.map +1 -1
- package/build/entity-types/post-status.cjs.map +1 -1
- package/build/entity-types/post.cjs.map +1 -1
- package/build/entity-types/settings.cjs.map +1 -1
- package/build/entity-types/sidebar.cjs.map +1 -1
- package/build/entity-types/taxonomy.cjs.map +1 -1
- package/build/entity-types/term.cjs.map +1 -1
- package/build/entity-types/theme.cjs.map +1 -1
- package/build/entity-types/type.cjs.map +1 -1
- package/build/entity-types/user.cjs.map +1 -1
- package/build/entity-types/widget-type.cjs.map +1 -1
- package/build/entity-types/widget.cjs.map +1 -1
- package/build/entity-types/wp-template-part.cjs.map +1 -1
- package/build/entity-types/wp-template.cjs.map +1 -1
- package/build/fetch/__experimental-fetch-link-suggestions.cjs.map +2 -2
- package/build/fetch/__experimental-fetch-url-data.cjs.map +2 -2
- package/build/fetch/index.cjs.map +2 -2
- package/build/footnotes/get-footnotes-order.cjs.map +2 -2
- package/build/footnotes/get-rich-text-values-cached.cjs.map +2 -2
- package/build/footnotes/index.cjs +12 -1
- package/build/footnotes/index.cjs.map +3 -3
- package/build/hooks/index.cjs.map +2 -2
- package/build/hooks/use-entity-block-editor.cjs.map +2 -2
- package/build/hooks/use-entity-id.cjs.map +2 -2
- package/build/hooks/use-entity-prop.cjs.map +2 -2
- package/build/hooks/use-entity-record.cjs.map +2 -2
- package/build/hooks/use-entity-records.cjs +2 -2
- package/build/hooks/use-entity-records.cjs.map +2 -2
- package/build/hooks/use-post-editor-awareness-state.cjs.map +2 -2
- package/build/hooks/use-query-select.cjs.map +2 -2
- package/build/hooks/use-resource-permissions.cjs.map +2 -2
- package/build/hooks/utils.cjs.map +2 -2
- package/build/index.cjs.map +2 -2
- package/build/lock-unlock.cjs.map +2 -2
- package/build/locks/actions.cjs.map +2 -2
- package/build/locks/engine.cjs.map +2 -2
- package/build/locks/reducer.cjs.map +2 -2
- package/build/locks/selectors.cjs.map +2 -2
- package/build/private-actions.cjs +132 -0
- package/build/private-actions.cjs.map +3 -3
- package/build/private-apis.cjs +22 -0
- package/build/private-apis.cjs.map +3 -3
- package/build/private-selectors.cjs +5 -0
- package/build/private-selectors.cjs.map +2 -2
- package/build/queried-data/get-query-parts.cjs.map +2 -2
- package/build/queried-data/reducer.cjs.map +2 -2
- package/build/queried-data/selectors.cjs.map +2 -2
- package/build/reducer.cjs.map +2 -2
- package/build/resolvers.cjs +21 -26
- package/build/resolvers.cjs.map +2 -2
- package/build/selectors.cjs.map +2 -2
- package/build/sync.cjs +26 -0
- package/build/sync.cjs.map +2 -2
- package/build/types.cjs.map +1 -1
- package/build/utils/block-selection-history.cjs.map +2 -2
- package/build/utils/clear-unchanged-edits.cjs.map +2 -2
- package/build/utils/conservative-map-item.cjs.map +2 -2
- package/build/utils/crdt-blocks.cjs.map +2 -2
- package/build/utils/crdt-selection.cjs.map +2 -2
- package/build/utils/crdt-text.cjs.map +2 -2
- package/build/utils/crdt-user-selections.cjs +43 -16
- package/build/utils/crdt-user-selections.cjs.map +3 -3
- package/build/utils/crdt-utils.cjs.map +2 -2
- package/build/utils/crdt.cjs +4 -2
- package/build/utils/crdt.cjs.map +2 -2
- package/build/utils/get-template-info.cjs +53 -0
- package/build/utils/get-template-info.cjs.map +7 -0
- package/build/utils/get-template-part-icon.cjs +43 -0
- package/build/utils/get-template-part-icon.cjs.map +7 -0
- package/build/utils/log-entity-deprecation.cjs.map +2 -2
- package/build/utils/save-crdt-doc.cjs.map +2 -2
- package/build-module/actions.mjs +68 -2
- package/build-module/actions.mjs.map +2 -2
- package/build-module/awareness/awareness-state.mjs.map +2 -2
- package/build-module/awareness/base-awareness.mjs.map +2 -2
- package/build-module/awareness/block-lookup.mjs.map +2 -2
- package/build-module/awareness/post-editor-awareness.mjs +7 -0
- package/build-module/awareness/post-editor-awareness.mjs.map +2 -2
- package/build-module/awareness/typed-awareness.mjs.map +2 -2
- package/build-module/awareness/utils.mjs.map +2 -2
- package/build-module/batch/create-batch.mjs.map +2 -2
- package/build-module/batch/default-processor.mjs.map +2 -2
- package/build-module/components/entities-saved-states/entity-record-item.mjs +46 -0
- package/build-module/components/entities-saved-states/entity-record-item.mjs.map +7 -0
- package/build-module/components/entities-saved-states/entity-type-list.mjs +104 -0
- package/build-module/components/entities-saved-states/entity-type-list.mjs.map +7 -0
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.mjs +76 -0
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.mjs.map +7 -0
- package/build-module/components/entities-saved-states/index.mjs +187 -0
- package/build-module/components/entities-saved-states/index.mjs.map +7 -0
- package/build-module/dynamic-entities.mjs.map +2 -2
- package/build-module/entities.mjs +2 -0
- package/build-module/entities.mjs.map +2 -2
- package/build-module/entity-context.mjs.map +2 -2
- package/build-module/entity-provider.mjs.map +2 -2
- package/build-module/fetch/__experimental-fetch-link-suggestions.mjs.map +2 -2
- package/build-module/fetch/__experimental-fetch-url-data.mjs.map +2 -2
- package/build-module/fetch/index.mjs.map +2 -2
- package/build-module/footnotes/get-footnotes-order.mjs.map +2 -2
- package/build-module/footnotes/get-rich-text-values-cached.mjs.map +2 -2
- package/build-module/footnotes/index.mjs +12 -1
- package/build-module/footnotes/index.mjs.map +2 -2
- package/build-module/hooks/index.mjs.map +2 -2
- package/build-module/hooks/use-entity-block-editor.mjs.map +2 -2
- package/build-module/hooks/use-entity-id.mjs.map +2 -2
- package/build-module/hooks/use-entity-prop.mjs.map +2 -2
- package/build-module/hooks/use-entity-record.mjs.map +2 -2
- package/build-module/hooks/use-entity-records.mjs +2 -2
- package/build-module/hooks/use-entity-records.mjs.map +2 -2
- package/build-module/hooks/use-post-editor-awareness-state.mjs.map +2 -2
- package/build-module/hooks/use-query-select.mjs.map +2 -2
- package/build-module/hooks/use-resource-permissions.mjs.map +2 -2
- package/build-module/hooks/utils.mjs.map +2 -2
- package/build-module/index.mjs.map +2 -2
- package/build-module/lock-unlock.mjs.map +2 -2
- package/build-module/locks/actions.mjs.map +2 -2
- package/build-module/locks/engine.mjs.map +2 -2
- package/build-module/locks/reducer.mjs.map +2 -2
- package/build-module/locks/selectors.mjs.map +2 -2
- package/build-module/private-actions.mjs +131 -0
- package/build-module/private-actions.mjs.map +2 -2
- package/build-module/private-apis.mjs +21 -1
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/private-selectors.mjs +4 -0
- package/build-module/private-selectors.mjs.map +2 -2
- package/build-module/queried-data/get-query-parts.mjs.map +2 -2
- package/build-module/queried-data/reducer.mjs.map +2 -2
- package/build-module/queried-data/selectors.mjs.map +2 -2
- package/build-module/reducer.mjs.map +2 -2
- package/build-module/resolvers.mjs +21 -26
- package/build-module/resolvers.mjs.map +2 -2
- package/build-module/selectors.mjs.map +2 -2
- package/build-module/sync.mjs +23 -0
- package/build-module/sync.mjs.map +2 -2
- package/build-module/utils/block-selection-history.mjs.map +2 -2
- package/build-module/utils/clear-unchanged-edits.mjs.map +2 -2
- package/build-module/utils/conservative-map-item.mjs.map +2 -2
- package/build-module/utils/crdt-blocks.mjs.map +2 -2
- package/build-module/utils/crdt-selection.mjs.map +2 -2
- package/build-module/utils/crdt-text.mjs.map +2 -2
- package/build-module/utils/crdt-user-selections.mjs +43 -16
- package/build-module/utils/crdt-user-selections.mjs.map +3 -3
- package/build-module/utils/crdt-utils.mjs.map +2 -2
- package/build-module/utils/crdt.mjs +2 -1
- package/build-module/utils/crdt.mjs.map +2 -2
- package/build-module/utils/get-template-info.mjs +28 -0
- package/build-module/utils/get-template-info.mjs.map +7 -0
- package/build-module/utils/get-template-part-icon.mjs +24 -0
- package/build-module/utils/get-template-part-icon.mjs.map +7 -0
- package/build-module/utils/log-entity-deprecation.mjs.map +2 -2
- package/build-module/utils/save-crdt-doc.mjs.map +2 -2
- package/build-types/actions.d.ts +4 -0
- package/build-types/actions.d.ts.map +1 -1
- package/build-types/awareness/awareness-state.d.ts.map +1 -1
- package/build-types/awareness/base-awareness.d.ts +0 -3
- package/build-types/awareness/base-awareness.d.ts.map +1 -1
- package/build-types/awareness/block-lookup.d.ts +0 -3
- package/build-types/awareness/block-lookup.d.ts.map +1 -1
- package/build-types/awareness/post-editor-awareness.d.ts +0 -3
- package/build-types/awareness/post-editor-awareness.d.ts.map +1 -1
- package/build-types/awareness/typed-awareness.d.ts +0 -3
- package/build-types/awareness/typed-awareness.d.ts.map +1 -1
- package/build-types/awareness/types.d.ts +0 -6
- package/build-types/awareness/types.d.ts.map +1 -1
- package/build-types/awareness/utils.d.ts +0 -3
- package/build-types/awareness/utils.d.ts.map +1 -1
- package/build-types/batch/create-batch.d.ts.map +1 -1
- package/build-types/batch/default-processor.d.ts.map +1 -1
- package/build-types/components/entities-saved-states/entity-record-item.d.ts +6 -0
- package/build-types/components/entities-saved-states/entity-record-item.d.ts.map +1 -0
- package/build-types/components/entities-saved-states/entity-type-list.d.ts +6 -0
- package/build-types/components/entities-saved-states/entity-type-list.d.ts.map +1 -0
- package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts +11 -0
- package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts.map +1 -0
- package/build-types/components/entities-saved-states/index.d.ts +49 -0
- package/build-types/components/entities-saved-states/index.d.ts.map +1 -0
- package/build-types/dynamic-entities.d.ts +0 -3
- package/build-types/dynamic-entities.d.ts.map +1 -1
- package/build-types/entities.d.ts.map +1 -1
- package/build-types/entity-context.d.ts.map +1 -1
- package/build-types/entity-provider.d.ts.map +1 -1
- package/build-types/entity-types/attachment.d.ts +0 -3
- package/build-types/entity-types/attachment.d.ts.map +1 -1
- package/build-types/entity-types/base.d.ts +0 -3
- package/build-types/entity-types/base.d.ts.map +1 -1
- package/build-types/entity-types/comment.d.ts +0 -3
- package/build-types/entity-types/comment.d.ts.map +1 -1
- package/build-types/entity-types/font-collection.d.ts +0 -3
- package/build-types/entity-types/font-collection.d.ts.map +1 -1
- package/build-types/entity-types/font-family.d.ts +0 -3
- package/build-types/entity-types/font-family.d.ts.map +1 -1
- package/build-types/entity-types/global-styles-revision.d.ts +0 -3
- package/build-types/entity-types/global-styles-revision.d.ts.map +1 -1
- package/build-types/entity-types/helpers.d.ts +0 -3
- package/build-types/entity-types/helpers.d.ts.map +1 -1
- package/build-types/entity-types/icon.d.ts +0 -3
- package/build-types/entity-types/icon.d.ts.map +1 -1
- package/build-types/entity-types/index.d.ts +0 -3
- package/build-types/entity-types/index.d.ts.map +1 -1
- package/build-types/entity-types/menu-location.d.ts +0 -3
- package/build-types/entity-types/menu-location.d.ts.map +1 -1
- package/build-types/entity-types/nav-menu-item.d.ts +0 -3
- package/build-types/entity-types/nav-menu-item.d.ts.map +1 -1
- package/build-types/entity-types/nav-menu.d.ts +0 -3
- package/build-types/entity-types/nav-menu.d.ts.map +1 -1
- package/build-types/entity-types/page.d.ts +0 -3
- package/build-types/entity-types/page.d.ts.map +1 -1
- package/build-types/entity-types/plugin.d.ts +0 -3
- package/build-types/entity-types/plugin.d.ts.map +1 -1
- package/build-types/entity-types/post-revision.d.ts +0 -3
- package/build-types/entity-types/post-revision.d.ts.map +1 -1
- package/build-types/entity-types/post-status.d.ts +0 -3
- package/build-types/entity-types/post-status.d.ts.map +1 -1
- package/build-types/entity-types/post.d.ts +0 -3
- package/build-types/entity-types/post.d.ts.map +1 -1
- package/build-types/entity-types/settings.d.ts +0 -3
- package/build-types/entity-types/settings.d.ts.map +1 -1
- package/build-types/entity-types/sidebar.d.ts +0 -3
- package/build-types/entity-types/sidebar.d.ts.map +1 -1
- package/build-types/entity-types/taxonomy.d.ts +0 -3
- package/build-types/entity-types/taxonomy.d.ts.map +1 -1
- package/build-types/entity-types/term.d.ts +0 -3
- package/build-types/entity-types/term.d.ts.map +1 -1
- package/build-types/entity-types/test/attachment.test.d.ts +0 -8
- package/build-types/entity-types/test/attachment.test.d.ts.map +1 -1
- package/build-types/entity-types/theme.d.ts +0 -3
- package/build-types/entity-types/theme.d.ts.map +1 -1
- package/build-types/entity-types/type.d.ts +0 -3
- package/build-types/entity-types/type.d.ts.map +1 -1
- package/build-types/entity-types/user.d.ts +0 -3
- package/build-types/entity-types/user.d.ts.map +1 -1
- package/build-types/entity-types/widget-type.d.ts +0 -3
- package/build-types/entity-types/widget-type.d.ts.map +1 -1
- package/build-types/entity-types/widget.d.ts +0 -3
- package/build-types/entity-types/widget.d.ts.map +1 -1
- package/build-types/entity-types/wp-template-part.d.ts +0 -3
- package/build-types/entity-types/wp-template-part.d.ts.map +1 -1
- package/build-types/entity-types/wp-template.d.ts +0 -3
- package/build-types/entity-types/wp-template.d.ts.map +1 -1
- package/build-types/fetch/__experimental-fetch-link-suggestions.d.ts.map +1 -1
- package/build-types/fetch/__experimental-fetch-url-data.d.ts.map +1 -1
- package/build-types/fetch/index.d.ts.map +1 -1
- package/build-types/footnotes/get-footnotes-order.d.ts.map +1 -1
- package/build-types/footnotes/get-rich-text-values-cached.d.ts.map +1 -1
- package/build-types/footnotes/index.d.ts.map +1 -1
- package/build-types/hooks/index.d.ts +0 -3
- package/build-types/hooks/index.d.ts.map +1 -1
- package/build-types/hooks/use-entity-block-editor.d.ts.map +1 -1
- package/build-types/hooks/use-entity-id.d.ts.map +1 -1
- package/build-types/hooks/use-entity-prop.d.ts.map +1 -1
- package/build-types/hooks/use-entity-record.d.ts.map +1 -1
- package/build-types/hooks/use-entity-records.d.ts.map +1 -1
- package/build-types/hooks/use-post-editor-awareness-state.d.ts.map +1 -1
- package/build-types/hooks/use-query-select.d.ts.map +1 -1
- package/build-types/hooks/use-resource-permissions.d.ts.map +1 -1
- package/build-types/hooks/utils.d.ts +0 -6
- package/build-types/hooks/utils.d.ts.map +1 -1
- package/build-types/index.d.ts +1 -0
- package/build-types/index.d.ts.map +1 -1
- package/build-types/lock-unlock.d.ts.map +1 -1
- package/build-types/locks/actions.d.ts.map +1 -1
- package/build-types/locks/engine.d.ts.map +1 -1
- package/build-types/locks/reducer.d.ts.map +1 -1
- package/build-types/locks/selectors.d.ts.map +1 -1
- package/build-types/private-actions.d.ts +19 -0
- package/build-types/private-actions.d.ts.map +1 -1
- package/build-types/private-apis.d.ts +13 -3
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/private-selectors.d.ts +12 -3
- package/build-types/private-selectors.d.ts.map +1 -1
- package/build-types/queried-data/get-query-parts.d.ts.map +1 -1
- package/build-types/queried-data/reducer.d.ts.map +1 -1
- package/build-types/queried-data/selectors.d.ts.map +1 -1
- package/build-types/reducer.d.ts.map +1 -1
- package/build-types/resolvers.d.ts +1 -2
- package/build-types/resolvers.d.ts.map +1 -1
- package/build-types/selectors.d.ts.map +1 -1
- package/build-types/sync.d.ts +31 -3
- package/build-types/sync.d.ts.map +1 -1
- package/build-types/types.d.ts +9 -8
- package/build-types/types.d.ts.map +1 -1
- package/build-types/utils/block-selection-history.d.ts +0 -6
- package/build-types/utils/block-selection-history.d.ts.map +1 -1
- package/build-types/utils/clear-unchanged-edits.d.ts.map +1 -1
- package/build-types/utils/conservative-map-item.d.ts.map +1 -1
- package/build-types/utils/crdt-blocks.d.ts +0 -3
- package/build-types/utils/crdt-blocks.d.ts.map +1 -1
- package/build-types/utils/crdt-selection.d.ts +0 -3
- package/build-types/utils/crdt-selection.d.ts.map +1 -1
- package/build-types/utils/crdt-text.d.ts +0 -3
- package/build-types/utils/crdt-text.d.ts.map +1 -1
- package/build-types/utils/crdt-user-selections.d.ts.map +1 -1
- package/build-types/utils/crdt-utils.d.ts +0 -6
- package/build-types/utils/crdt-utils.d.ts.map +1 -1
- package/build-types/utils/crdt.d.ts +8 -0
- package/build-types/utils/crdt.d.ts.map +1 -1
- package/build-types/utils/get-template-info.d.ts +13 -0
- package/build-types/utils/get-template-info.d.ts.map +1 -0
- package/build-types/utils/get-template-part-icon.d.ts +9 -0
- package/build-types/utils/get-template-part-icon.d.ts.map +1 -0
- package/build-types/utils/log-entity-deprecation.d.ts.map +1 -1
- package/build-types/utils/save-crdt-doc.d.ts.map +1 -1
- package/package.json +28 -22
- package/src/actions.js +120 -13
- package/src/awareness/awareness-state.ts +0 -3
- package/src/awareness/base-awareness.ts +0 -8
- package/src/awareness/block-lookup.ts +1 -8
- package/src/awareness/post-editor-awareness.ts +13 -10
- package/src/awareness/test/awareness-state.ts +0 -11
- package/src/awareness/test/base-awareness.ts +0 -7
- package/src/awareness/test/block-lookup.ts +0 -8
- package/src/awareness/test/post-editor-awareness.ts +0 -7
- package/src/awareness/test/typed-awareness.ts +0 -11
- package/src/awareness/test/utils.ts +0 -3
- package/src/awareness/typed-awareness.ts +0 -7
- package/src/awareness/types.ts +0 -7
- package/src/awareness/utils.ts +0 -3
- package/src/batch/create-batch.js +0 -3
- package/src/batch/default-processor.js +0 -4
- package/src/batch/test/create-batch.js +0 -3
- package/src/batch/test/default-processor.js +0 -7
- package/src/components/entities-saved-states/entity-record-item.js +53 -0
- package/src/components/entities-saved-states/entity-type-list.js +123 -0
- package/src/components/entities-saved-states/hooks/use-is-dirty.js +98 -0
- package/src/components/entities-saved-states/index.js +231 -0
- package/src/components/entities-saved-states/style.scss +70 -0
- package/src/components/entities-saved-states/test/use-is-dirty.js +147 -0
- package/src/dynamic-entities.ts +0 -3
- package/src/entities.js +2 -11
- package/src/entity-context.js +0 -3
- package/src/entity-provider.js +0 -7
- package/src/entity-types/attachment.ts +0 -4
- package/src/entity-types/base.ts +0 -3
- package/src/entity-types/comment.ts +0 -3
- package/src/entity-types/font-collection.ts +0 -3
- package/src/entity-types/font-family.ts +0 -3
- package/src/entity-types/global-styles-revision.ts +0 -4
- package/src/entity-types/helpers.ts +0 -3
- package/src/entity-types/icon.ts +0 -4
- package/src/entity-types/index.ts +0 -3
- package/src/entity-types/menu-location.ts +0 -4
- package/src/entity-types/nav-menu-item.ts +0 -4
- package/src/entity-types/nav-menu.ts +0 -4
- package/src/entity-types/page.ts +0 -4
- package/src/entity-types/plugin.ts +0 -4
- package/src/entity-types/post-revision.ts +0 -4
- package/src/entity-types/post-status.ts +0 -3
- package/src/entity-types/post.ts +0 -4
- package/src/entity-types/settings.ts +0 -4
- package/src/entity-types/sidebar.ts +0 -4
- package/src/entity-types/taxonomy.ts +0 -4
- package/src/entity-types/term.ts +0 -4
- package/src/entity-types/test/attachment.test.ts +0 -4
- package/src/entity-types/theme.ts +0 -4
- package/src/entity-types/type.ts +0 -4
- package/src/entity-types/user.ts +0 -4
- package/src/entity-types/widget-type.ts +0 -4
- package/src/entity-types/widget.ts +0 -4
- package/src/entity-types/wp-template-part.ts +0 -4
- package/src/entity-types/wp-template.ts +0 -4
- package/src/fetch/__experimental-fetch-link-suggestions.ts +0 -3
- package/src/fetch/__experimental-fetch-url-data.js +0 -3
- package/src/fetch/index.js +0 -7
- package/src/fetch/test/__experimental-fetch-link-suggestions.js +0 -3
- package/src/fetch/test/__experimental-fetch-url-data.js +1 -7
- package/src/footnotes/get-footnotes-order.js +0 -3
- package/src/footnotes/get-rich-text-values-cached.js +0 -7
- package/src/footnotes/index.js +21 -8
- package/src/footnotes/test/index.js +57 -0
- package/src/hooks/index.ts +0 -3
- package/src/hooks/test/use-entity-record.js +0 -12
- package/src/hooks/test/use-entity-records.js +0 -12
- package/src/hooks/test/use-post-editor-awareness-state.ts +0 -7
- package/src/hooks/test/use-query-select.js +0 -11
- package/src/hooks/test/use-resource-permissions.js +0 -12
- package/src/hooks/use-entity-block-editor.js +0 -7
- package/src/hooks/use-entity-id.js +0 -7
- package/src/hooks/use-entity-prop.js +0 -7
- package/src/hooks/use-entity-record.ts +0 -7
- package/src/hooks/use-entity-records.ts +2 -9
- package/src/hooks/use-post-editor-awareness-state.ts +0 -7
- package/src/hooks/use-query-select.ts +0 -7
- package/src/hooks/use-resource-permissions.ts +0 -7
- package/src/hooks/utils.ts +0 -7
- package/src/index.js +0 -7
- package/src/lock-unlock.ts +0 -3
- package/src/locks/actions.js +0 -3
- package/src/locks/engine.js +0 -3
- package/src/locks/reducer.js +0 -3
- package/src/locks/selectors.js +0 -3
- package/src/locks/test/engine.js +0 -3
- package/src/locks/test/reducer.js +0 -7
- package/src/locks/test/selectors.js +0 -7
- package/src/locks/test/utils.js +0 -7
- package/src/private-actions.js +182 -7
- package/src/private-apis.ts +21 -4
- package/src/private-selectors.ts +22 -7
- package/src/queried-data/get-query-parts.js +0 -7
- package/src/queried-data/reducer.js +0 -7
- package/src/queried-data/selectors.js +0 -7
- package/src/queried-data/test/actions.js +0 -3
- package/src/queried-data/test/get-query-parts.js +0 -3
- package/src/queried-data/test/reducer.js +0 -7
- package/src/queried-data/test/selectors.js +0 -3
- package/src/reducer.js +0 -11
- package/src/resolvers.js +23 -40
- package/src/selectors.ts +0 -7
- package/src/style.scss +1 -0
- package/src/sync.ts +64 -7
- package/src/test/actions.js +843 -8
- package/src/test/deprecated-entity-logging.js +0 -7
- package/src/test/entities.js +0 -8
- package/src/test/entity-provider.js +0 -11
- package/src/test/private-actions.js +297 -7
- package/src/test/private-selectors.js +0 -3
- package/src/test/reducer.js +0 -7
- package/src/test/resolvers.js +0 -12
- package/src/test/rtc-rich-text-offset-space.test.js +0 -12
- package/src/test/selectors.js +0 -7
- package/src/test/store.js +8 -15
- package/src/types.ts +14 -12
- package/src/utils/block-selection-history.ts +0 -10
- package/src/utils/clear-unchanged-edits.ts +0 -3
- package/src/utils/conservative-map-item.js +0 -3
- package/src/utils/crdt-blocks.ts +0 -11
- package/src/utils/crdt-selection.ts +0 -7
- package/src/utils/crdt-text.ts +0 -3
- package/src/utils/crdt-user-selections.ts +85 -23
- package/src/utils/crdt-utils.ts +0 -7
- package/src/utils/crdt.ts +1 -12
- package/src/utils/get-template-info.js +46 -0
- package/src/utils/get-template-part-icon.js +27 -0
- package/src/utils/log-entity-deprecation.ts +0 -7
- package/src/utils/save-crdt-doc.js +0 -7
- package/src/utils/test/block-selection-history.test.ts +0 -7
- package/src/utils/test/clear-unchanged-edits.js +0 -3
- package/src/utils/test/conservative-map-item.js +0 -3
- package/src/utils/test/crdt-blocks.ts +0 -17
- package/src/utils/test/crdt-user-selections.ts +107 -30
- package/src/utils/test/crdt-utils.ts +0 -7
- package/src/utils/test/crdt.ts +0 -16
- package/src/utils/test/get-nested-value.js +0 -3
- package/src/utils/test/get-normalized-comma-separable.js +0 -3
- package/src/utils/test/get-template-info.js +218 -0
- package/src/utils/test/if-matching-action.js +0 -7
- package/src/utils/test/is-numeric-id.js +0 -3
- package/src/utils/test/log-entity-deprecation.js +0 -7
- package/src/utils/test/replace-action.js +0 -3
- package/src/utils/test/rtc-rich-text-cursor-scope.test.js +0 -14
- package/src/utils/test/rtc-rich-text-offset-space.test.js +0 -14
- package/src/utils/test/save-crdt-doc.js +0 -7
- package/src/utils/test/set-nested-value.js +0 -3
- package/src/utils/test/with-weak-map-cache.js +0 -3
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
1
|
import { useCallback, useContext } from '@wordpress/element';
|
|
5
2
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
3
|
import { STORE_NAME } from '../name';
|
|
11
4
|
import { DEFAULT_ENTITY_KEY } from '../entities';
|
|
12
5
|
import { EntityContext } from '../entity-context';
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
1
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
5
2
|
import deprecated from '@wordpress/deprecated';
|
|
6
3
|
import { useMemo } from '@wordpress/element';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Internal dependencies
|
|
10
|
-
*/
|
|
11
4
|
import { store as coreStore } from '../';
|
|
12
5
|
import type { Status } from './constants';
|
|
13
6
|
import { getResolutionStatus } from './utils';
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
1
|
import { addQueryArgs } from '@wordpress/url';
|
|
5
2
|
import deprecated from '@wordpress/deprecated';
|
|
6
3
|
import { useSelect } from '@wordpress/data';
|
|
7
4
|
import { useMemo } from '@wordpress/element';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Internal dependencies
|
|
11
|
-
*/
|
|
12
5
|
import { store as coreStore } from '../';
|
|
13
6
|
import type { Options } from './use-entity-record';
|
|
14
7
|
import type { Status } from './constants';
|
|
@@ -208,7 +201,7 @@ export function useEntityRecordsWithPermissions< RecordType >(
|
|
|
208
201
|
const ids = useMemo(
|
|
209
202
|
() =>
|
|
210
203
|
data?.map(
|
|
211
|
-
// @ts-
|
|
204
|
+
// @ts-expect-error `data` is `unknown[]`, so the callback signature does not line up.
|
|
212
205
|
( record: RecordType ) => record[ entityConfig?.key ?? 'id' ]
|
|
213
206
|
) ?? [],
|
|
214
207
|
[ data, entityConfig?.key ]
|
|
@@ -227,7 +220,7 @@ export function useEntityRecordsWithPermissions< RecordType >(
|
|
|
227
220
|
const dataWithPermissions = useMemo(
|
|
228
221
|
() =>
|
|
229
222
|
data?.map( ( record, index ) => ( {
|
|
230
|
-
// @ts-
|
|
223
|
+
// @ts-expect-error `record` is `unknown`, which cannot be spread.
|
|
231
224
|
...record,
|
|
232
225
|
permissions: permissions[ index ],
|
|
233
226
|
} ) ) ?? [],
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
1
|
import { usePrevious } from '@wordpress/compose';
|
|
5
2
|
import { useEffect, useState, useCallback } from '@wordpress/element';
|
|
6
3
|
import type { Y } from '@wordpress/sync';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Internal dependencies
|
|
10
|
-
*/
|
|
11
4
|
import { getSyncManager } from '../sync';
|
|
12
5
|
import { usePostContentBlocks } from '../awareness/block-lookup';
|
|
13
6
|
import type { EditorStoreBlock } from '../awareness/block-lookup';
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
1
|
import deprecated from '@wordpress/deprecated';
|
|
5
2
|
import warning from '@wordpress/warning';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
3
|
import { store as coreStore } from '../';
|
|
11
4
|
import { Status } from './constants';
|
|
12
5
|
import useQuerySelect from './use-query-select';
|
package/src/hooks/utils.ts
CHANGED
package/src/index.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
1
|
import { createReduxStore, register } from '@wordpress/data';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Internal dependencies
|
|
8
|
-
*/
|
|
9
2
|
import reducer from './reducer';
|
|
10
3
|
import * as selectors from './selectors';
|
|
11
4
|
import * as privateSelectors from './private-selectors';
|
package/src/lock-unlock.ts
CHANGED
package/src/locks/actions.js
CHANGED
package/src/locks/engine.js
CHANGED
package/src/locks/reducer.js
CHANGED
package/src/locks/selectors.js
CHANGED
package/src/locks/test/engine.js
CHANGED
package/src/locks/test/utils.js
CHANGED
package/src/private-actions.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
1
|
import apiFetch from '@wordpress/api-fetch';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { store as noticesStore } from '@wordpress/notices';
|
|
3
|
+
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
4
|
+
import { decodeEntities } from '@wordpress/html-entities';
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
9
6
|
import { STORE_NAME } from './name';
|
|
10
7
|
import { getSyncManager, hasSyncManager } from './sync';
|
|
11
8
|
|
|
@@ -247,3 +244,181 @@ export function setSyncConnectionStatus( kind, name, key, status ) {
|
|
|
247
244
|
status,
|
|
248
245
|
};
|
|
249
246
|
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Save entity records marked as dirty.
|
|
250
|
+
*
|
|
251
|
+
* @param {Object} options Options for the action.
|
|
252
|
+
* @param {Function} [options.onSave] Callback when saving happens.
|
|
253
|
+
* @param {object[]} [options.dirtyEntityRecords] Array of dirty entities.
|
|
254
|
+
* @param {object[]} [options.entitiesToSkip] Array of entities to skip saving.
|
|
255
|
+
* @param {Function} [options.close] Callback when the actions is called. It should be consolidated with `onSave`.
|
|
256
|
+
* @param {string} [options.successNoticeContent] Optional custom success notice content. Defaults to 'Site updated.'.
|
|
257
|
+
*/
|
|
258
|
+
export const saveDirtyEntities =
|
|
259
|
+
( {
|
|
260
|
+
onSave,
|
|
261
|
+
dirtyEntityRecords = [],
|
|
262
|
+
entitiesToSkip = [],
|
|
263
|
+
close,
|
|
264
|
+
successNoticeContent,
|
|
265
|
+
} = {} ) =>
|
|
266
|
+
( { registry } ) => {
|
|
267
|
+
const PUBLISH_ON_SAVE_ENTITIES = [
|
|
268
|
+
{ kind: 'postType', name: 'wp_navigation' },
|
|
269
|
+
];
|
|
270
|
+
const saveNoticeId = 'site-editor-save-success';
|
|
271
|
+
const homeUrl = registry
|
|
272
|
+
.select( STORE_NAME )
|
|
273
|
+
.getEntityRecord( 'root', '__unstableBase' )?.home;
|
|
274
|
+
registry.dispatch( noticesStore ).removeNotice( saveNoticeId );
|
|
275
|
+
const entitiesToSave = dirtyEntityRecords.filter(
|
|
276
|
+
( { kind, name, key, property } ) => {
|
|
277
|
+
return ! entitiesToSkip.some(
|
|
278
|
+
( elt ) =>
|
|
279
|
+
elt.kind === kind &&
|
|
280
|
+
elt.name === name &&
|
|
281
|
+
elt.key === key &&
|
|
282
|
+
elt.property === property
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
);
|
|
286
|
+
close?.( entitiesToSave );
|
|
287
|
+
const siteItemsToSave = [];
|
|
288
|
+
const pendingSavedRecords = [];
|
|
289
|
+
entitiesToSave.forEach( ( { kind, name, key, property } ) => {
|
|
290
|
+
if ( 'root' === kind && 'site' === name ) {
|
|
291
|
+
siteItemsToSave.push( property );
|
|
292
|
+
} else {
|
|
293
|
+
if (
|
|
294
|
+
PUBLISH_ON_SAVE_ENTITIES.some(
|
|
295
|
+
( typeToPublish ) =>
|
|
296
|
+
typeToPublish.kind === kind &&
|
|
297
|
+
typeToPublish.name === name
|
|
298
|
+
)
|
|
299
|
+
) {
|
|
300
|
+
registry
|
|
301
|
+
.dispatch( STORE_NAME )
|
|
302
|
+
.editEntityRecord( kind, name, key, {
|
|
303
|
+
status: 'publish',
|
|
304
|
+
} );
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
pendingSavedRecords.push(
|
|
308
|
+
registry
|
|
309
|
+
.dispatch( STORE_NAME )
|
|
310
|
+
.saveEditedEntityRecord( kind, name, key, {
|
|
311
|
+
throwOnError: true,
|
|
312
|
+
} )
|
|
313
|
+
.catch( ensureError )
|
|
314
|
+
);
|
|
315
|
+
}
|
|
316
|
+
} );
|
|
317
|
+
if ( siteItemsToSave.length ) {
|
|
318
|
+
pendingSavedRecords.push(
|
|
319
|
+
registry
|
|
320
|
+
.dispatch( STORE_NAME )
|
|
321
|
+
.__experimentalSaveSpecifiedEntityEdits(
|
|
322
|
+
'root',
|
|
323
|
+
'site',
|
|
324
|
+
undefined,
|
|
325
|
+
siteItemsToSave,
|
|
326
|
+
{
|
|
327
|
+
throwOnError: true,
|
|
328
|
+
}
|
|
329
|
+
)
|
|
330
|
+
.catch( ensureError )
|
|
331
|
+
);
|
|
332
|
+
}
|
|
333
|
+
registry
|
|
334
|
+
.dispatch( blockEditorStore )
|
|
335
|
+
.__unstableMarkLastChangeAsPersistent();
|
|
336
|
+
|
|
337
|
+
return Promise.all( pendingSavedRecords )
|
|
338
|
+
.then( async ( values ) => {
|
|
339
|
+
if ( onSave ) {
|
|
340
|
+
await onSave();
|
|
341
|
+
}
|
|
342
|
+
return values;
|
|
343
|
+
} )
|
|
344
|
+
.then( ( values ) => {
|
|
345
|
+
const errors = values.filter( ( v ) => v instanceof Error );
|
|
346
|
+
if ( errors.length ) {
|
|
347
|
+
const firstMessage = errors.find(
|
|
348
|
+
( e ) => e.message
|
|
349
|
+
)?.message;
|
|
350
|
+
|
|
351
|
+
registry
|
|
352
|
+
.dispatch( noticesStore )
|
|
353
|
+
.createErrorNotice(
|
|
354
|
+
decodeEntities(
|
|
355
|
+
firstMessage || __( 'Saving failed.' )
|
|
356
|
+
),
|
|
357
|
+
{
|
|
358
|
+
type: 'snackbar',
|
|
359
|
+
id: saveNoticeId,
|
|
360
|
+
}
|
|
361
|
+
);
|
|
362
|
+
} else {
|
|
363
|
+
registry
|
|
364
|
+
.dispatch( noticesStore )
|
|
365
|
+
.createSuccessNotice(
|
|
366
|
+
successNoticeContent || __( 'Site updated.' ),
|
|
367
|
+
{
|
|
368
|
+
type: 'snackbar',
|
|
369
|
+
id: saveNoticeId,
|
|
370
|
+
actions: [
|
|
371
|
+
{
|
|
372
|
+
label: __( 'View site' ),
|
|
373
|
+
url: homeUrl,
|
|
374
|
+
openInNewTab: true,
|
|
375
|
+
},
|
|
376
|
+
],
|
|
377
|
+
}
|
|
378
|
+
);
|
|
379
|
+
}
|
|
380
|
+
} )
|
|
381
|
+
.catch( ( error ) =>
|
|
382
|
+
registry
|
|
383
|
+
.dispatch( noticesStore )
|
|
384
|
+
.createErrorNotice(
|
|
385
|
+
decodeEntities(
|
|
386
|
+
error?.message || __( 'Saving failed.' )
|
|
387
|
+
),
|
|
388
|
+
{
|
|
389
|
+
type: 'snackbar',
|
|
390
|
+
id: saveNoticeId,
|
|
391
|
+
}
|
|
392
|
+
)
|
|
393
|
+
);
|
|
394
|
+
|
|
395
|
+
function ensureError( error ) {
|
|
396
|
+
if ( error instanceof Error ) {
|
|
397
|
+
return error;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
// Expect certain errors to be plain objects with a `message`
|
|
401
|
+
// property, such as those thrown by `apiFetch`. Otherwise, do our
|
|
402
|
+
// best to infer a message via duck typing.
|
|
403
|
+
let message;
|
|
404
|
+
if ( ! error ) {
|
|
405
|
+
} else if ( typeof error.message === 'string' ) {
|
|
406
|
+
message = error.message;
|
|
407
|
+
} else if ( typeof error === 'string' ) {
|
|
408
|
+
message = error;
|
|
409
|
+
} else if (
|
|
410
|
+
// Only consider own method, lest we erroneously end up calling
|
|
411
|
+
// `Object#toString` at the end of the prototype chain, thereby
|
|
412
|
+
// returning `"[object Object]"`.
|
|
413
|
+
Object.hasOwn( error, 'toString' ) &&
|
|
414
|
+
typeof error.toString === 'function'
|
|
415
|
+
) {
|
|
416
|
+
const result = error.toString();
|
|
417
|
+
if ( typeof result === 'string' ) {
|
|
418
|
+
message = result;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
return new Error( message, { cause: error } );
|
|
423
|
+
}
|
|
424
|
+
};
|
package/src/private-apis.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal dependencies
|
|
3
|
-
*/
|
|
4
1
|
import { useEntityRecordsWithPermissions } from './hooks/use-entity-records';
|
|
5
2
|
import { RECEIVE_INTERMEDIATE_RESULTS } from './utils';
|
|
6
3
|
import {
|
|
@@ -10,16 +7,36 @@ import {
|
|
|
10
7
|
useOnCollaboratorLeave,
|
|
11
8
|
useOnPostSave,
|
|
12
9
|
} from './hooks/use-post-editor-awareness-state';
|
|
10
|
+
import { getTemplateInfo } from './utils/get-template-info';
|
|
11
|
+
import { getTemplatePartIcon } from './utils/get-template-part-icon';
|
|
12
|
+
import {
|
|
13
|
+
EntitiesSavedStatesExtensible,
|
|
14
|
+
default as EntitiesSavedStates,
|
|
15
|
+
} from './components/entities-saved-states';
|
|
16
|
+
import { useIsDirty as useEntitiesSavedStatesIsDirty } from './components/entities-saved-states/hooks/use-is-dirty';
|
|
13
17
|
import { lock } from './lock-unlock';
|
|
14
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
CRDT_AUTOSAVE_SNAPSHOT_KEY,
|
|
20
|
+
entityContainsSnapshot,
|
|
21
|
+
getEntitySnapshot,
|
|
22
|
+
retrySyncConnection,
|
|
23
|
+
} from './sync';
|
|
15
24
|
import {
|
|
16
25
|
SelectionType,
|
|
17
26
|
SelectionDirection,
|
|
18
27
|
} from './utils/crdt-user-selections';
|
|
19
28
|
|
|
20
29
|
const lockedApis = {
|
|
30
|
+
EntitiesSavedStates,
|
|
31
|
+
EntitiesSavedStatesExtensible,
|
|
32
|
+
getTemplateInfo,
|
|
33
|
+
getTemplatePartIcon,
|
|
34
|
+
useEntitiesSavedStatesIsDirty,
|
|
21
35
|
useEntityRecordsWithPermissions,
|
|
22
36
|
RECEIVE_INTERMEDIATE_RESULTS,
|
|
37
|
+
CRDT_AUTOSAVE_SNAPSHOT_KEY,
|
|
38
|
+
entityContainsSnapshot,
|
|
39
|
+
getEntitySnapshot,
|
|
23
40
|
retrySyncConnection,
|
|
24
41
|
useActiveCollaborators,
|
|
25
42
|
useResolvedSelection,
|
package/src/private-selectors.ts
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
1
|
import { createSelector, createRegistrySelector } from '@wordpress/data';
|
|
5
2
|
import type { ConnectionStatus } from '@wordpress/sync';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
3
|
import { getDefaultTemplateId, getEntityRecord, type State } from './selectors';
|
|
11
4
|
import { STORE_NAME } from './name';
|
|
12
5
|
import { unlock } from './lock-unlock';
|
|
@@ -374,3 +367,25 @@ export function getSyncConnectionStatus(
|
|
|
374
367
|
|
|
375
368
|
return coalesced;
|
|
376
369
|
}
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Returns the sync connection status for a single entity, or undefined if
|
|
373
|
+
* the entity is not being synced or no provider has reported a status yet.
|
|
374
|
+
*
|
|
375
|
+
* @param state Data state.
|
|
376
|
+
* @param kind Entity kind.
|
|
377
|
+
* @param name Entity name.
|
|
378
|
+
* @param recordId Record ID.
|
|
379
|
+
*
|
|
380
|
+
* @return The sync connection status for the entity.
|
|
381
|
+
*/
|
|
382
|
+
export function getEntitySyncConnectionStatus(
|
|
383
|
+
state: State,
|
|
384
|
+
kind: string,
|
|
385
|
+
name: string,
|
|
386
|
+
recordId: EntityRecordKey
|
|
387
|
+
): ConnectionStatus | undefined {
|
|
388
|
+
return state.syncConnectionStatuses?.[
|
|
389
|
+
`${ kind }/${ name }:${ recordId }`
|
|
390
|
+
];
|
|
391
|
+
}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
1
|
import { combineReducers, keyedReducer } from '@wordpress/data';
|
|
5
2
|
import { compose } from '@wordpress/compose';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
3
|
import { conservativeMapItem, ifMatchingAction, replaceAction } from '../utils';
|
|
11
4
|
import { DEFAULT_ENTITY_KEY } from '../entities';
|
|
12
5
|
import getQueryParts from './get-query-parts';
|
package/src/reducer.js
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
1
|
import fastDeepEqual from 'fast-deep-equal/es6/index.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* WordPress dependencies
|
|
8
|
-
*/
|
|
9
2
|
import { compose } from '@wordpress/compose';
|
|
10
3
|
import { combineReducers } from '@wordpress/data';
|
|
11
4
|
import { createUndoManager } from '@wordpress/undo-manager';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Internal dependencies
|
|
15
|
-
*/
|
|
16
5
|
import { clearUnchangedEdits, ifMatchingAction, replaceAction } from './utils';
|
|
17
6
|
import { reducer as queriedDataReducer } from './queried-data';
|
|
18
7
|
import { rootEntitiesConfig, DEFAULT_ENTITY_KEY } from './entities';
|