@strapi/content-manager 0.0.0-next.318e33b8c2c2d8af588acb73383750664a9336e3 → 0.0.0-next.32e19446d7ac2d8eaffa53da59f933ca5716d727
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/dist/admin/components/ComponentIcon.js +3 -0
- package/dist/admin/components/ComponentIcon.js.map +1 -1
- package/dist/admin/components/ComponentIcon.mjs +3 -0
- package/dist/admin/components/ComponentIcon.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js +3 -2
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs +3 -2
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.js +4 -1
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.mjs +5 -2
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.js +1 -1
- package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.mjs +3 -3
- package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.js +3 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs +3 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js +3 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs +3 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.js +3 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs +3 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js +90 -48
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs +92 -50
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/components/RelativeTime.js.map +1 -1
- package/dist/admin/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/components/Widgets.js +22 -6
- package/dist/admin/components/Widgets.js.map +1 -1
- package/dist/admin/components/Widgets.mjs +22 -6
- package/dist/admin/components/Widgets.mjs.map +1 -1
- package/dist/admin/content-manager.js.map +1 -1
- package/dist/admin/content-manager.mjs.map +1 -1
- package/dist/admin/history/components/HistoryAction.js.map +1 -1
- package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
- package/dist/admin/history/components/VersionHeader.js +1 -0
- package/dist/admin/history/components/VersionHeader.js.map +1 -1
- package/dist/admin/history/components/VersionHeader.mjs +1 -0
- package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
- package/dist/admin/history/components/VersionsList.js +1 -1
- package/dist/admin/history/components/VersionsList.js.map +1 -1
- package/dist/admin/history/components/VersionsList.mjs +1 -1
- package/dist/admin/history/components/VersionsList.mjs.map +1 -1
- package/dist/admin/history/pages/History.js +7 -7
- package/dist/admin/history/pages/History.js.map +1 -1
- package/dist/admin/history/pages/History.mjs +7 -7
- package/dist/admin/history/pages/History.mjs.map +1 -1
- package/dist/admin/history/services/historyVersion.js.map +1 -1
- package/dist/admin/history/services/historyVersion.mjs.map +1 -1
- package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
- package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js +24 -5
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +24 -5
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/layout.js +27 -6
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/layout.mjs +28 -7
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js +7 -3
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +8 -4
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +11 -3
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +11 -3
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js +66 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs +66 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js +7 -3
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs +7 -3
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +2 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +3 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +1 -2
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +1 -2
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +4 -3
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +5 -4
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +2 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +3 -2
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js +2 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +2 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.js +13 -8
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs +14 -8
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Header.js +92 -27
- package/dist/admin/pages/EditView/components/Header.js.map +1 -1
- package/dist/admin/pages/EditView/components/Header.mjs +94 -29
- package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.js +25 -20
- package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.mjs +25 -20
- package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/data.js +1 -1
- package/dist/admin/pages/EditView/utils/data.js.map +1 -1
- package/dist/admin/pages/EditView/utils/data.mjs +1 -1
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +1 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js +0 -2
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +0 -2
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js +6 -16
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +6 -16
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +18 -31
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +19 -32
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js +4 -1
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.js +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.js +8 -4
- package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs +8 -4
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js +5 -2
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs +5 -2
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
- package/dist/admin/preview/components/InputPopover.js +130 -14
- package/dist/admin/preview/components/InputPopover.js.map +1 -1
- package/dist/admin/preview/components/InputPopover.mjs +112 -15
- package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.js +0 -1
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.mjs +0 -1
- package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.js +18 -8
- package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs +18 -8
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js +12 -10
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs +14 -12
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/preview/services/preview.js.map +1 -1
- package/dist/admin/preview/services/preview.mjs.map +1 -1
- package/dist/admin/preview/utils/constants.js +34 -0
- package/dist/admin/preview/utils/constants.js.map +1 -1
- package/dist/admin/preview/utils/constants.mjs +34 -1
- package/dist/admin/preview/utils/constants.mjs.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.js +107 -0
- package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
- package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
- package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
- package/dist/admin/preview/utils/previewScript.js +134 -50
- package/dist/admin/preview/utils/previewScript.js.map +1 -1
- package/dist/admin/preview/utils/previewScript.mjs +134 -50
- package/dist/admin/preview/utils/previewScript.mjs.map +1 -1
- package/dist/admin/router.js.map +1 -1
- package/dist/admin/router.mjs.map +1 -1
- package/dist/admin/services/api.js +2 -1
- package/dist/admin/services/api.js.map +1 -1
- package/dist/admin/services/api.mjs +2 -1
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/services/documents.js +19 -3
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs +19 -3
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/services/homepage.js.map +1 -1
- package/dist/admin/services/homepage.mjs.map +1 -1
- package/dist/admin/services/relations.js.map +1 -1
- package/dist/admin/services/relations.mjs.map +1 -1
- package/dist/admin/src/components/LeftMenu.d.ts +3 -1
- package/dist/admin/src/components/Widgets.d.ts +6 -2
- package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.d.ts +2 -0
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +0 -3
- package/dist/admin/src/pages/EditView/components/Header.d.ts +15 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Relations.d.ts +0 -3
- package/dist/admin/src/preview/components/InputPopover.d.ts +1 -1
- package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +2 -1
- package/dist/admin/src/preview/pages/Preview.d.ts +6 -2
- package/dist/admin/src/preview/services/preview.d.ts +1 -1
- package/dist/admin/src/preview/utils/constants.d.ts +35 -0
- package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
- package/dist/admin/src/preview/utils/previewScript.d.ts +1 -0
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/components.d.ts +2 -2
- package/dist/admin/src/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/services/documents.d.ts +16 -16
- package/dist/admin/src/services/homepage.d.ts +1 -1
- package/dist/admin/src/services/init.d.ts +1 -1
- package/dist/admin/src/services/relations.d.ts +2 -2
- package/dist/admin/src/services/uid.d.ts +3 -3
- package/dist/admin/translations/en.json.js +5 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +5 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/fr.json.js +1 -1
- package/dist/admin/translations/fr.json.mjs +1 -1
- package/dist/admin/utils/translations.js.map +1 -1
- package/dist/admin/utils/translations.mjs.map +1 -1
- package/dist/admin/utils/urls.js.map +1 -1
- package/dist/admin/utils/urls.mjs.map +1 -1
- package/dist/admin/utils/users.js.map +1 -1
- package/dist/admin/utils/users.mjs.map +1 -1
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/controllers/collection-types.js +2 -1
- package/dist/server/controllers/collection-types.js.map +1 -1
- package/dist/server/controllers/collection-types.mjs +2 -1
- package/dist/server/controllers/collection-types.mjs.map +1 -1
- package/dist/server/controllers/relations.js +6 -4
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +6 -4
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/single-types.js +3 -1
- package/dist/server/controllers/single-types.js.map +1 -1
- package/dist/server/controllers/single-types.mjs +3 -1
- package/dist/server/controllers/single-types.mjs.map +1 -1
- package/dist/server/controllers/validation/dimensions.js.map +1 -1
- package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
- package/dist/server/controllers/validation/index.js.map +1 -1
- package/dist/server/controllers/validation/index.mjs.map +1 -1
- package/dist/server/controllers/validation/model-configuration.js +2 -2
- package/dist/server/controllers/validation/model-configuration.js.map +1 -1
- package/dist/server/controllers/validation/model-configuration.mjs +2 -2
- package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
- package/dist/server/history/utils.js.map +1 -1
- package/dist/server/history/utils.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js +2 -1
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs +2 -1
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/middlewares/routing.js.map +1 -1
- package/dist/server/middlewares/routing.mjs.map +1 -1
- package/dist/server/preview/services/preview-config.js +8 -33
- package/dist/server/preview/services/preview-config.js.map +1 -1
- package/dist/server/preview/services/preview-config.mjs +9 -34
- package/dist/server/preview/services/preview-config.mjs.map +1 -1
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs.map +1 -1
- package/dist/server/preview/utils.js.map +1 -1
- package/dist/server/preview/utils.mjs.map +1 -1
- package/dist/server/services/configuration.js.map +1 -1
- package/dist/server/services/configuration.mjs.map +1 -1
- package/dist/server/services/document-metadata.js +23 -1
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +23 -1
- package/dist/server/services/document-metadata.mjs.map +1 -1
- package/dist/server/services/field-sizes.js.map +1 -1
- package/dist/server/services/field-sizes.mjs.map +1 -1
- package/dist/server/services/uid.js.map +1 -1
- package/dist/server/services/uid.mjs.map +1 -1
- package/dist/server/services/utils/store.js.map +1 -1
- package/dist/server/services/utils/store.mjs.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/single-types.d.ts.map +1 -1
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -9,6 +9,7 @@ var reactIntl = require('react-intl');
|
|
|
9
9
|
var DocumentRBAC = require('../../../../features/DocumentRBAC.js');
|
|
10
10
|
var useDocument = require('../../../../hooks/useDocument.js');
|
|
11
11
|
var useDocumentActions = require('../../../../hooks/useDocumentActions.js');
|
|
12
|
+
var useDocumentLayout = require('../../../../hooks/useDocumentLayout.js');
|
|
12
13
|
var api = require('../../../../utils/api.js');
|
|
13
14
|
var translations = require('../../../../utils/translations.js');
|
|
14
15
|
var DocumentActions = require('../../../EditView/components/DocumentActions.js');
|
|
@@ -38,6 +39,7 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
|
38
39
|
* -----------------------------------------------------------------------------------------------*/ const BulkActionsRenderer = ()=>{
|
|
39
40
|
const plugins = strapiAdmin.useStrapiApp('BulkActionsRenderer', (state)=>state.plugins);
|
|
40
41
|
const { model, collectionType } = useDocument.useDoc();
|
|
42
|
+
const { list } = useDocumentLayout.useDocumentLayout(model);
|
|
41
43
|
const { selectedRows } = strapiAdmin.useTable('BulkActionsRenderer', (state)=>state);
|
|
42
44
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
43
45
|
gap: 2,
|
|
@@ -48,9 +50,11 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
|
48
50
|
documents: selectedRows
|
|
49
51
|
},
|
|
50
52
|
descriptions: plugins['content-manager'].apis.getBulkActions(),
|
|
51
|
-
children: (actions)=>actions.map((action)
|
|
53
|
+
children: (actions)=>actions.map((action)=>{
|
|
54
|
+
return list.settings.bulkable && /*#__PURE__*/ jsxRuntime.jsx(DocumentActions.DocumentActionButton, {
|
|
52
55
|
...action
|
|
53
|
-
}, action.id)
|
|
56
|
+
}, action.id);
|
|
57
|
+
})
|
|
54
58
|
})
|
|
55
59
|
});
|
|
56
60
|
};
|
|
@@ -138,7 +142,6 @@ const UnpublishAction = ({ documents, model })=>{
|
|
|
138
142
|
const { schema } = useDocument.useDoc();
|
|
139
143
|
const selectRow = strapiAdmin.useTable('UnpublishAction', (state)=>state.selectRow);
|
|
140
144
|
const hasPublishPermission = DocumentRBAC.useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
|
|
141
|
-
const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
|
|
142
145
|
const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
|
|
143
146
|
const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions.useDocumentActions();
|
|
144
147
|
const documentIds = documents.map(({ documentId })=>documentId);
|
|
@@ -191,19 +194,6 @@ const UnpublishAction = ({ documents, model })=>{
|
|
|
191
194
|
id: 'popUpWarning.bodyMessage.contentType.unpublish.all',
|
|
192
195
|
defaultMessage: 'Are you sure you want to unpublish these entries?'
|
|
193
196
|
})
|
|
194
|
-
}),
|
|
195
|
-
hasI18nEnabled && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
196
|
-
textAlign: "center",
|
|
197
|
-
padding: 3,
|
|
198
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
199
|
-
textColor: "danger500",
|
|
200
|
-
children: formatMessage({
|
|
201
|
-
id: translations.getTranslation('Settings.list.actions.unpublishAdditionalInfos'),
|
|
202
|
-
defaultMessage: 'This will unpublish the active locale versions <em>(from Internationalization)</em>'
|
|
203
|
-
}, {
|
|
204
|
-
em: Emphasis
|
|
205
|
-
})
|
|
206
|
-
})
|
|
207
197
|
})
|
|
208
198
|
]
|
|
209
199
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../../../../../admin/src/pages/ListView/components/BulkActions/Actions.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n DescriptionComponentRenderer,\n useTable,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Box, ButtonProps, Flex, Typography } from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDocumentRBAC } from '../../../../features/DocumentRBAC';\nimport { useDoc } from '../../../../hooks/useDocument';\nimport { useDocumentActions } from '../../../../hooks/useDocumentActions';\nimport { buildValidParams } from '../../../../utils/api';\nimport { getTranslation } from '../../../../utils/translations';\nimport {\n DialogOptions,\n DocumentActionButton,\n ModalOptions,\n NotificationOptions,\n} from '../../../EditView/components/DocumentActions';\n\nimport { PublishAction } from './PublishAction';\n\nimport type { BulkActionComponent, ContentManagerPlugin } from '../../../../content-manager';\n\ninterface BulkActionDescription {\n dialog?: DialogOptions | NotificationOptions | ModalOptions;\n disabled?: boolean;\n icon?: React.ReactNode;\n label: string;\n onClick?: (event: React.SyntheticEvent) => void;\n /**\n * @default 'default'\n */\n type?: 'icon' | 'default';\n /**\n * @default 'secondary'\n */\n variant?: ButtonProps['variant'];\n}\n\n/* -------------------------------------------------------------------------------------------------\n * BulkActionsRenderer\n * -----------------------------------------------------------------------------------------------*/\n\nconst BulkActionsRenderer = () => {\n const plugins = useStrapiApp('BulkActionsRenderer', (state) => state.plugins);\n\n const { model, collectionType } = useDoc();\n const { selectedRows } = useTable('BulkActionsRenderer', (state) => state);\n\n return (\n <Flex gap={2}>\n <DescriptionComponentRenderer\n props={{\n model,\n collectionType,\n documents: selectedRows,\n }}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getBulkActions()}\n >\n {(actions) => actions.map((action) => <DocumentActionButton key={action.id} {...action} />)}\n </DescriptionComponentRenderer>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DefaultBulkActions\n * -----------------------------------------------------------------------------------------------*/\n\nconst DeleteAction: BulkActionComponent = ({ documents, model }) => {\n const { formatMessage } = useIntl();\n const { schema: contentType } = useDoc();\n const selectRow = useTable('DeleteAction', (state) => state.selectRow);\n const hasI18nEnabled = Boolean(contentType?.pluginOptions?.i18n);\n const [{ query }] = useQueryParams<{ plugins?: { i18n?: { locale?: string } } }>();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const hasDeletePermission = useDocumentRBAC('deleteAction', (state) => state.canDelete);\n const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();\n const documentIds = documents.map(({ documentId }) => documentId);\n\n const handleConfirmBulkDelete = async () => {\n const res = await bulkDeleteAction({\n documentIds,\n model,\n params,\n });\n if (!('error' in res)) {\n selectRow([]);\n }\n };\n\n if (!hasDeletePermission) return null;\n\n return {\n variant: 'danger-light',\n label: formatMessage({ id: 'global.delete', defaultMessage: 'Delete' }),\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n loading: isLoading,\n content: (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {formatMessage({\n id: 'popUpWarning.bodyMessage.contentType.delete.all',\n defaultMessage: 'Are you sure you want to delete these entries?',\n })}\n </Typography>\n {hasI18nEnabled && (\n <Box textAlign=\"center\" padding={3}>\n <Typography textColor=\"danger500\">\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.deleteAdditionalInfos'),\n defaultMessage:\n 'This will delete the active locale versions <em>(from Internationalization)</em>',\n },\n {\n em: Emphasis,\n }\n )}\n </Typography>\n </Box>\n )}\n </Flex>\n ),\n onConfirm: handleConfirmBulkDelete,\n },\n };\n};\n\nDeleteAction.type = 'delete';\n\nconst UnpublishAction: BulkActionComponent = ({ documents, model }) => {\n const { formatMessage } = useIntl();\n const { schema } = useDoc();\n const selectRow = useTable('UnpublishAction', (state) => state.selectRow);\n const hasPublishPermission = useDocumentRBAC('unpublishAction', (state) => state.canPublish);\n const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);\n const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);\n const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();\n const documentIds = documents.map(({ documentId }) => documentId);\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n const handleConfirmBulkUnpublish = async () => {\n const data = await bulkUnpublishAction({ documentIds, model, params });\n if (!('error' in data)) {\n selectRow([]);\n }\n };\n\n const showUnpublishButton =\n hasDraftAndPublishEnabled &&\n hasPublishPermission &&\n documents.some((entry) => entry.status === 'published' || entry.status === 'modified');\n\n if (!showUnpublishButton) return null;\n\n return {\n variant: 'tertiary',\n label: formatMessage({ id: 'app.utils.unpublish', defaultMessage: 'Unpublish' }),\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n loading: isLoading,\n content: (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {formatMessage({\n id: 'popUpWarning.bodyMessage.contentType.unpublish.all',\n defaultMessage: 'Are you sure you want to unpublish these entries?',\n })}\n </Typography>\n {hasI18nEnabled && (\n <Box textAlign=\"center\" padding={3}>\n <Typography textColor=\"danger500\">\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.unpublishAdditionalInfos'),\n defaultMessage:\n 'This will unpublish the active locale versions <em>(from Internationalization)</em>',\n },\n {\n em: Emphasis,\n }\n )}\n </Typography>\n </Box>\n )}\n </Flex>\n ),\n confirmButton: formatMessage({\n id: 'app.utils.unpublish',\n defaultMessage: 'Unpublish',\n }),\n onConfirm: handleConfirmBulkUnpublish,\n },\n };\n};\n\nUnpublishAction.type = 'unpublish';\n\nconst Emphasis = (chunks: React.ReactNode) => (\n <Typography fontWeight=\"semiBold\" textColor=\"danger500\">\n {chunks}\n </Typography>\n);\n\nconst DEFAULT_BULK_ACTIONS: BulkActionComponent[] = [PublishAction, UnpublishAction, DeleteAction];\n\nexport { DEFAULT_BULK_ACTIONS, BulkActionsRenderer, Emphasis };\nexport type { BulkActionDescription };\n"],"names":["BulkActionsRenderer","plugins","useStrapiApp","state","model","collectionType","useDoc","selectedRows","useTable","_jsx","Flex","gap","DescriptionComponentRenderer","props","documents","descriptions","apis","getBulkActions","actions","map","action","DocumentActionButton","id","DeleteAction","formatMessage","useIntl","schema","contentType","selectRow","hasI18nEnabled","Boolean","pluginOptions","i18n","query","useQueryParams","params","React","useMemo","buildValidParams","hasDeletePermission","useDocumentRBAC","canDelete","deleteMany","bulkDeleteAction","isLoading","useDocumentActions","documentIds","documentId","handleConfirmBulkDelete","res","variant","label","defaultMessage","dialog","type","title","loading","content","_jsxs","direction","alignItems","justifyContent","WarningCircle","width","height","fill","Typography","textAlign","Box","padding","textColor","getTranslation","em","Emphasis","onConfirm","UnpublishAction","hasPublishPermission","canPublish","hasDraftAndPublishEnabled","options","draftAndPublish","unpublishMany","bulkUnpublishAction","handleConfirmBulkUnpublish","data","showUnpublishButton","some","entry","status","confirmButton","chunks","fontWeight","DEFAULT_BULK_ACTIONS","PublishAction"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../../../../../admin/src/pages/ListView/components/BulkActions/Actions.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n DescriptionComponentRenderer,\n useTable,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Box, ButtonProps, Flex, Typography } from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDocumentRBAC } from '../../../../features/DocumentRBAC';\nimport { useDoc } from '../../../../hooks/useDocument';\nimport { useDocumentActions } from '../../../../hooks/useDocumentActions';\nimport { useDocumentLayout } from '../../../../hooks/useDocumentLayout';\nimport { buildValidParams } from '../../../../utils/api';\nimport { getTranslation } from '../../../../utils/translations';\nimport {\n DialogOptions,\n DocumentActionButton,\n ModalOptions,\n NotificationOptions,\n} from '../../../EditView/components/DocumentActions';\n\nimport { PublishAction } from './PublishAction';\n\nimport type { BulkActionComponent, ContentManagerPlugin } from '../../../../content-manager';\n\ninterface BulkActionDescription {\n dialog?: DialogOptions | NotificationOptions | ModalOptions;\n disabled?: boolean;\n icon?: React.ReactNode;\n label: string;\n onClick?: (event: React.SyntheticEvent) => void;\n /**\n * @default 'default'\n */\n type?: 'icon' | 'default';\n /**\n * @default 'secondary'\n */\n variant?: ButtonProps['variant'];\n}\n\n/* -------------------------------------------------------------------------------------------------\n * BulkActionsRenderer\n * -----------------------------------------------------------------------------------------------*/\n\nconst BulkActionsRenderer = () => {\n const plugins = useStrapiApp('BulkActionsRenderer', (state) => state.plugins);\n\n const { model, collectionType } = useDoc();\n const { list } = useDocumentLayout(model);\n const { selectedRows } = useTable('BulkActionsRenderer', (state) => state);\n\n return (\n <Flex gap={2}>\n <DescriptionComponentRenderer\n props={{\n model,\n collectionType,\n documents: selectedRows,\n }}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getBulkActions()}\n >\n {(actions) =>\n actions.map((action) => {\n return list.settings.bulkable && <DocumentActionButton key={action.id} {...action} />;\n })\n }\n </DescriptionComponentRenderer>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DefaultBulkActions\n * -----------------------------------------------------------------------------------------------*/\n\nconst DeleteAction: BulkActionComponent = ({ documents, model }) => {\n const { formatMessage } = useIntl();\n const { schema: contentType } = useDoc();\n const selectRow = useTable('DeleteAction', (state) => state.selectRow);\n const hasI18nEnabled = Boolean(contentType?.pluginOptions?.i18n);\n const [{ query }] = useQueryParams<{ plugins?: { i18n?: { locale?: string } } }>();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const hasDeletePermission = useDocumentRBAC('deleteAction', (state) => state.canDelete);\n const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();\n const documentIds = documents.map(({ documentId }) => documentId);\n\n const handleConfirmBulkDelete = async () => {\n const res = await bulkDeleteAction({\n documentIds,\n model,\n params,\n });\n if (!('error' in res)) {\n selectRow([]);\n }\n };\n\n if (!hasDeletePermission) return null;\n\n return {\n variant: 'danger-light',\n label: formatMessage({ id: 'global.delete', defaultMessage: 'Delete' }),\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n loading: isLoading,\n content: (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {formatMessage({\n id: 'popUpWarning.bodyMessage.contentType.delete.all',\n defaultMessage: 'Are you sure you want to delete these entries?',\n })}\n </Typography>\n {hasI18nEnabled && (\n <Box textAlign=\"center\" padding={3}>\n <Typography textColor=\"danger500\">\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.deleteAdditionalInfos'),\n defaultMessage:\n 'This will delete the active locale versions <em>(from Internationalization)</em>',\n },\n {\n em: Emphasis,\n }\n )}\n </Typography>\n </Box>\n )}\n </Flex>\n ),\n onConfirm: handleConfirmBulkDelete,\n },\n };\n};\n\nDeleteAction.type = 'delete';\n\nconst UnpublishAction: BulkActionComponent = ({ documents, model }) => {\n const { formatMessage } = useIntl();\n const { schema } = useDoc();\n const selectRow = useTable('UnpublishAction', (state) => state.selectRow);\n const hasPublishPermission = useDocumentRBAC('unpublishAction', (state) => state.canPublish);\n const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);\n const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();\n const documentIds = documents.map(({ documentId }) => documentId);\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n const handleConfirmBulkUnpublish = async () => {\n const data = await bulkUnpublishAction({ documentIds, model, params });\n if (!('error' in data)) {\n selectRow([]);\n }\n };\n\n const showUnpublishButton =\n hasDraftAndPublishEnabled &&\n hasPublishPermission &&\n documents.some((entry) => entry.status === 'published' || entry.status === 'modified');\n\n if (!showUnpublishButton) return null;\n\n return {\n variant: 'tertiary',\n label: formatMessage({ id: 'app.utils.unpublish', defaultMessage: 'Unpublish' }),\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n loading: isLoading,\n content: (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {formatMessage({\n id: 'popUpWarning.bodyMessage.contentType.unpublish.all',\n defaultMessage: 'Are you sure you want to unpublish these entries?',\n })}\n </Typography>\n </Flex>\n ),\n confirmButton: formatMessage({\n id: 'app.utils.unpublish',\n defaultMessage: 'Unpublish',\n }),\n onConfirm: handleConfirmBulkUnpublish,\n },\n };\n};\n\nUnpublishAction.type = 'unpublish';\n\nconst Emphasis = (chunks: React.ReactNode) => (\n <Typography fontWeight=\"semiBold\" textColor=\"danger500\">\n {chunks}\n </Typography>\n);\n\nconst DEFAULT_BULK_ACTIONS: BulkActionComponent[] = [PublishAction, UnpublishAction, DeleteAction];\n\nexport { DEFAULT_BULK_ACTIONS, BulkActionsRenderer, Emphasis };\nexport type { BulkActionDescription };\n"],"names":["BulkActionsRenderer","plugins","useStrapiApp","state","model","collectionType","useDoc","list","useDocumentLayout","selectedRows","useTable","_jsx","Flex","gap","DescriptionComponentRenderer","props","documents","descriptions","apis","getBulkActions","actions","map","action","settings","bulkable","DocumentActionButton","id","DeleteAction","formatMessage","useIntl","schema","contentType","selectRow","hasI18nEnabled","Boolean","pluginOptions","i18n","query","useQueryParams","params","React","useMemo","buildValidParams","hasDeletePermission","useDocumentRBAC","canDelete","deleteMany","bulkDeleteAction","isLoading","useDocumentActions","documentIds","documentId","handleConfirmBulkDelete","res","variant","label","defaultMessage","dialog","type","title","loading","content","_jsxs","direction","alignItems","justifyContent","WarningCircle","width","height","fill","Typography","textAlign","Box","padding","textColor","getTranslation","em","Emphasis","onConfirm","UnpublishAction","hasPublishPermission","canPublish","hasDraftAndPublishEnabled","options","draftAndPublish","unpublishMany","bulkUnpublishAction","handleConfirmBulkUnpublish","data","showUnpublishButton","some","entry","status","confirmButton","chunks","fontWeight","DEFAULT_BULK_ACTIONS","PublishAction"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { useIntl } from 'react-intl';
|
|
|
7
7
|
import { useDocumentRBAC } from '../../../../features/DocumentRBAC.mjs';
|
|
8
8
|
import { useDoc } from '../../../../hooks/useDocument.mjs';
|
|
9
9
|
import { useDocumentActions } from '../../../../hooks/useDocumentActions.mjs';
|
|
10
|
+
import { useDocumentLayout } from '../../../../hooks/useDocumentLayout.mjs';
|
|
10
11
|
import { buildValidParams } from '../../../../utils/api.mjs';
|
|
11
12
|
import { getTranslation } from '../../../../utils/translations.mjs';
|
|
12
13
|
import { DocumentActionButton } from '../../../EditView/components/DocumentActions.mjs';
|
|
@@ -17,6 +18,7 @@ import { PublishAction } from './PublishAction.mjs';
|
|
|
17
18
|
* -----------------------------------------------------------------------------------------------*/ const BulkActionsRenderer = ()=>{
|
|
18
19
|
const plugins = useStrapiApp('BulkActionsRenderer', (state)=>state.plugins);
|
|
19
20
|
const { model, collectionType } = useDoc();
|
|
21
|
+
const { list } = useDocumentLayout(model);
|
|
20
22
|
const { selectedRows } = useTable('BulkActionsRenderer', (state)=>state);
|
|
21
23
|
return /*#__PURE__*/ jsx(Flex, {
|
|
22
24
|
gap: 2,
|
|
@@ -27,9 +29,11 @@ import { PublishAction } from './PublishAction.mjs';
|
|
|
27
29
|
documents: selectedRows
|
|
28
30
|
},
|
|
29
31
|
descriptions: plugins['content-manager'].apis.getBulkActions(),
|
|
30
|
-
children: (actions)=>actions.map((action)
|
|
32
|
+
children: (actions)=>actions.map((action)=>{
|
|
33
|
+
return list.settings.bulkable && /*#__PURE__*/ jsx(DocumentActionButton, {
|
|
31
34
|
...action
|
|
32
|
-
}, action.id)
|
|
35
|
+
}, action.id);
|
|
36
|
+
})
|
|
33
37
|
})
|
|
34
38
|
});
|
|
35
39
|
};
|
|
@@ -117,7 +121,6 @@ const UnpublishAction = ({ documents, model })=>{
|
|
|
117
121
|
const { schema } = useDoc();
|
|
118
122
|
const selectRow = useTable('UnpublishAction', (state)=>state.selectRow);
|
|
119
123
|
const hasPublishPermission = useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
|
|
120
|
-
const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
|
|
121
124
|
const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
|
|
122
125
|
const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();
|
|
123
126
|
const documentIds = documents.map(({ documentId })=>documentId);
|
|
@@ -170,19 +173,6 @@ const UnpublishAction = ({ documents, model })=>{
|
|
|
170
173
|
id: 'popUpWarning.bodyMessage.contentType.unpublish.all',
|
|
171
174
|
defaultMessage: 'Are you sure you want to unpublish these entries?'
|
|
172
175
|
})
|
|
173
|
-
}),
|
|
174
|
-
hasI18nEnabled && /*#__PURE__*/ jsx(Box, {
|
|
175
|
-
textAlign: "center",
|
|
176
|
-
padding: 3,
|
|
177
|
-
children: /*#__PURE__*/ jsx(Typography, {
|
|
178
|
-
textColor: "danger500",
|
|
179
|
-
children: formatMessage({
|
|
180
|
-
id: getTranslation('Settings.list.actions.unpublishAdditionalInfos'),
|
|
181
|
-
defaultMessage: 'This will unpublish the active locale versions <em>(from Internationalization)</em>'
|
|
182
|
-
}, {
|
|
183
|
-
em: Emphasis
|
|
184
|
-
})
|
|
185
|
-
})
|
|
186
176
|
})
|
|
187
177
|
]
|
|
188
178
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.mjs","sources":["../../../../../../admin/src/pages/ListView/components/BulkActions/Actions.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n DescriptionComponentRenderer,\n useTable,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Box, ButtonProps, Flex, Typography } from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDocumentRBAC } from '../../../../features/DocumentRBAC';\nimport { useDoc } from '../../../../hooks/useDocument';\nimport { useDocumentActions } from '../../../../hooks/useDocumentActions';\nimport { buildValidParams } from '../../../../utils/api';\nimport { getTranslation } from '../../../../utils/translations';\nimport {\n DialogOptions,\n DocumentActionButton,\n ModalOptions,\n NotificationOptions,\n} from '../../../EditView/components/DocumentActions';\n\nimport { PublishAction } from './PublishAction';\n\nimport type { BulkActionComponent, ContentManagerPlugin } from '../../../../content-manager';\n\ninterface BulkActionDescription {\n dialog?: DialogOptions | NotificationOptions | ModalOptions;\n disabled?: boolean;\n icon?: React.ReactNode;\n label: string;\n onClick?: (event: React.SyntheticEvent) => void;\n /**\n * @default 'default'\n */\n type?: 'icon' | 'default';\n /**\n * @default 'secondary'\n */\n variant?: ButtonProps['variant'];\n}\n\n/* -------------------------------------------------------------------------------------------------\n * BulkActionsRenderer\n * -----------------------------------------------------------------------------------------------*/\n\nconst BulkActionsRenderer = () => {\n const plugins = useStrapiApp('BulkActionsRenderer', (state) => state.plugins);\n\n const { model, collectionType } = useDoc();\n const { selectedRows } = useTable('BulkActionsRenderer', (state) => state);\n\n return (\n <Flex gap={2}>\n <DescriptionComponentRenderer\n props={{\n model,\n collectionType,\n documents: selectedRows,\n }}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getBulkActions()}\n >\n {(actions) => actions.map((action) => <DocumentActionButton key={action.id} {...action} />)}\n </DescriptionComponentRenderer>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DefaultBulkActions\n * -----------------------------------------------------------------------------------------------*/\n\nconst DeleteAction: BulkActionComponent = ({ documents, model }) => {\n const { formatMessage } = useIntl();\n const { schema: contentType } = useDoc();\n const selectRow = useTable('DeleteAction', (state) => state.selectRow);\n const hasI18nEnabled = Boolean(contentType?.pluginOptions?.i18n);\n const [{ query }] = useQueryParams<{ plugins?: { i18n?: { locale?: string } } }>();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const hasDeletePermission = useDocumentRBAC('deleteAction', (state) => state.canDelete);\n const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();\n const documentIds = documents.map(({ documentId }) => documentId);\n\n const handleConfirmBulkDelete = async () => {\n const res = await bulkDeleteAction({\n documentIds,\n model,\n params,\n });\n if (!('error' in res)) {\n selectRow([]);\n }\n };\n\n if (!hasDeletePermission) return null;\n\n return {\n variant: 'danger-light',\n label: formatMessage({ id: 'global.delete', defaultMessage: 'Delete' }),\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n loading: isLoading,\n content: (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {formatMessage({\n id: 'popUpWarning.bodyMessage.contentType.delete.all',\n defaultMessage: 'Are you sure you want to delete these entries?',\n })}\n </Typography>\n {hasI18nEnabled && (\n <Box textAlign=\"center\" padding={3}>\n <Typography textColor=\"danger500\">\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.deleteAdditionalInfos'),\n defaultMessage:\n 'This will delete the active locale versions <em>(from Internationalization)</em>',\n },\n {\n em: Emphasis,\n }\n )}\n </Typography>\n </Box>\n )}\n </Flex>\n ),\n onConfirm: handleConfirmBulkDelete,\n },\n };\n};\n\nDeleteAction.type = 'delete';\n\nconst UnpublishAction: BulkActionComponent = ({ documents, model }) => {\n const { formatMessage } = useIntl();\n const { schema } = useDoc();\n const selectRow = useTable('UnpublishAction', (state) => state.selectRow);\n const hasPublishPermission = useDocumentRBAC('unpublishAction', (state) => state.canPublish);\n const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);\n const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);\n const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();\n const documentIds = documents.map(({ documentId }) => documentId);\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n const handleConfirmBulkUnpublish = async () => {\n const data = await bulkUnpublishAction({ documentIds, model, params });\n if (!('error' in data)) {\n selectRow([]);\n }\n };\n\n const showUnpublishButton =\n hasDraftAndPublishEnabled &&\n hasPublishPermission &&\n documents.some((entry) => entry.status === 'published' || entry.status === 'modified');\n\n if (!showUnpublishButton) return null;\n\n return {\n variant: 'tertiary',\n label: formatMessage({ id: 'app.utils.unpublish', defaultMessage: 'Unpublish' }),\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n loading: isLoading,\n content: (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {formatMessage({\n id: 'popUpWarning.bodyMessage.contentType.unpublish.all',\n defaultMessage: 'Are you sure you want to unpublish these entries?',\n })}\n </Typography>\n {hasI18nEnabled && (\n <Box textAlign=\"center\" padding={3}>\n <Typography textColor=\"danger500\">\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.unpublishAdditionalInfos'),\n defaultMessage:\n 'This will unpublish the active locale versions <em>(from Internationalization)</em>',\n },\n {\n em: Emphasis,\n }\n )}\n </Typography>\n </Box>\n )}\n </Flex>\n ),\n confirmButton: formatMessage({\n id: 'app.utils.unpublish',\n defaultMessage: 'Unpublish',\n }),\n onConfirm: handleConfirmBulkUnpublish,\n },\n };\n};\n\nUnpublishAction.type = 'unpublish';\n\nconst Emphasis = (chunks: React.ReactNode) => (\n <Typography fontWeight=\"semiBold\" textColor=\"danger500\">\n {chunks}\n </Typography>\n);\n\nconst DEFAULT_BULK_ACTIONS: BulkActionComponent[] = [PublishAction, UnpublishAction, DeleteAction];\n\nexport { DEFAULT_BULK_ACTIONS, BulkActionsRenderer, Emphasis };\nexport type { BulkActionDescription };\n"],"names":["BulkActionsRenderer","plugins","useStrapiApp","state","model","collectionType","useDoc","selectedRows","useTable","_jsx","Flex","gap","DescriptionComponentRenderer","props","documents","descriptions","apis","getBulkActions","actions","map","action","DocumentActionButton","id","DeleteAction","formatMessage","useIntl","schema","contentType","selectRow","hasI18nEnabled","Boolean","pluginOptions","i18n","query","useQueryParams","params","React","useMemo","buildValidParams","hasDeletePermission","useDocumentRBAC","canDelete","deleteMany","bulkDeleteAction","isLoading","useDocumentActions","documentIds","documentId","handleConfirmBulkDelete","res","variant","label","defaultMessage","dialog","type","title","loading","content","_jsxs","direction","alignItems","justifyContent","WarningCircle","width","height","fill","Typography","textAlign","Box","padding","textColor","getTranslation","em","Emphasis","onConfirm","UnpublishAction","hasPublishPermission","canPublish","hasDraftAndPublishEnabled","options","draftAndPublish","unpublishMany","bulkUnpublishAction","handleConfirmBulkUnpublish","data","showUnpublishButton","some","entry","status","confirmButton","chunks","fontWeight","DEFAULT_BULK_ACTIONS","PublishAction"],"mappings":";;;;;;;;;;;;;;AA4CA;;AAEkG,2GAE5FA,mBAAsB,GAAA,IAAA;AAC1B,IAAA,MAAMC,UAAUC,YAAa,CAAA,qBAAA,EAAuB,CAACC,KAAAA,GAAUA,MAAMF,OAAO,CAAA;AAE5E,IAAA,MAAM,EAAEG,KAAK,EAAEC,cAAc,EAAE,GAAGC,MAAAA,EAAAA;AAClC,IAAA,MAAM,EAAEC,YAAY,EAAE,GAAGC,QAAS,CAAA,qBAAA,EAAuB,CAACL,KAAUA,GAAAA,KAAAA,CAAAA;AAEpE,IAAA,qBACEM,GAACC,CAAAA,IAAAA,EAAAA;QAAKC,GAAK,EAAA,CAAA;AACT,QAAA,QAAA,gBAAAF,GAACG,CAAAA,4BAAAA,EAAAA;YACCC,KAAO,EAAA;AACLT,gBAAAA,KAAAA;AACAC,gBAAAA,cAAAA;gBACAS,SAAWP,EAAAA;AACb,aAAA;AACAQ,YAAAA,YAAAA,EAAc,OACL,CAAC,kBAAkB,CAACC,IAAI,CAC/BC,cAAc,EAAA;AAEf,YAAA,QAAA,EAAA,CAACC,UAAYA,OAAQC,CAAAA,GAAG,CAAC,CAACC,uBAAWX,GAACY,CAAAA,oBAAAA,EAAAA;AAAsC,wBAAA,GAAGD;AAAfA,qBAAAA,EAAAA,MAAAA,CAAOE,EAAE,CAAA;;;AAIlF;AAEA;;AAEkG,qGAElG,MAAMC,YAAoC,GAAA,CAAC,EAAET,SAAS,EAAEV,KAAK,EAAE,GAAA;IAC7D,MAAM,EAAEoB,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,MAAAA,EAAQC,WAAW,EAAE,GAAGrB,MAAAA,EAAAA;AAChC,IAAA,MAAMsB,YAAYpB,QAAS,CAAA,cAAA,EAAgB,CAACL,KAAAA,GAAUA,MAAMyB,SAAS,CAAA;IACrE,MAAMC,cAAAA,GAAiBC,OAAQH,CAAAA,WAAAA,EAAaI,aAAeC,EAAAA,IAAAA,CAAAA;AAC3D,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;AACpB,IAAA,MAAMC,SAASC,KAAMC,CAAAA,OAAO,CAAC,IAAMC,iBAAiBL,KAAQ,CAAA,EAAA;AAACA,QAAAA;AAAM,KAAA,CAAA;AACnE,IAAA,MAAMM,sBAAsBC,eAAgB,CAAA,cAAA,EAAgB,CAACrC,KAAAA,GAAUA,MAAMsC,SAAS,CAAA;AACtF,IAAA,MAAM,EAAEC,UAAYC,EAAAA,gBAAgB,EAAEC,SAAS,EAAE,GAAGC,kBAAAA,EAAAA;IACpD,MAAMC,WAAAA,GAAchC,UAAUK,GAAG,CAAC,CAAC,EAAE4B,UAAU,EAAE,GAAKA,UAAAA,CAAAA;AAEtD,IAAA,MAAMC,uBAA0B,GAAA,UAAA;QAC9B,MAAMC,GAAAA,GAAM,MAAMN,gBAAiB,CAAA;AACjCG,YAAAA,WAAAA;AACA1C,YAAAA,KAAAA;AACA+B,YAAAA;AACF,SAAA,CAAA;AACA,QAAA,IAAI,EAAE,OAAWc,IAAAA,GAAE,CAAI,EAAA;AACrBrB,YAAAA,SAAAA,CAAU,EAAE,CAAA;AACd;AACF,KAAA;IAEA,IAAI,CAACW,qBAAqB,OAAO,IAAA;IAEjC,OAAO;QACLW,OAAS,EAAA,cAAA;AACTC,QAAAA,KAAAA,EAAO3B,aAAc,CAAA;YAAEF,EAAI,EAAA,eAAA;YAAiB8B,cAAgB,EAAA;AAAS,SAAA,CAAA;QACrEC,MAAQ,EAAA;YACNC,IAAM,EAAA,QAAA;AACNC,YAAAA,KAAAA,EAAO/B,aAAc,CAAA;gBACnBF,EAAI,EAAA,oCAAA;gBACJ8B,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAI,OAASZ,EAAAA,SAAAA;AACTa,YAAAA,OAAAA,gBACEC,IAAChD,CAAAA,IAAAA,EAAAA;gBAAKiD,SAAU,EAAA,QAAA;gBAASC,UAAW,EAAA,SAAA;gBAAUjD,GAAK,EAAA,CAAA;;kCACjDF,GAACC,CAAAA,IAAAA,EAAAA;wBAAKmD,cAAe,EAAA,QAAA;AACnB,wBAAA,QAAA,gBAAApD,GAACqD,CAAAA,aAAAA,EAAAA;4BAAcC,KAAM,EAAA,MAAA;4BAAOC,MAAO,EAAA,MAAA;4BAAOC,IAAK,EAAA;;;kCAEjDxD,GAACyD,CAAAA,UAAAA,EAAAA;wBAAW5C,EAAG,EAAA,qBAAA;wBAAsB6C,SAAU,EAAA,QAAA;kCAC5C3C,aAAc,CAAA;4BACbF,EAAI,EAAA,iDAAA;4BACJ8B,cAAgB,EAAA;AAClB,yBAAA;;AAEDvB,oBAAAA,cAAAA,kBACCpB,GAAC2D,CAAAA,GAAAA,EAAAA;wBAAID,SAAU,EAAA,QAAA;wBAASE,OAAS,EAAA,CAAA;AAC/B,wBAAA,QAAA,gBAAA5D,GAACyD,CAAAA,UAAAA,EAAAA;4BAAWI,SAAU,EAAA,WAAA;sCACnB9C,aACC,CAAA;AACEF,gCAAAA,EAAAA,EAAIiD,cAAe,CAAA,6CAAA,CAAA;gCACnBnB,cACE,EAAA;6BAEJ,EAAA;gCACEoB,EAAIC,EAAAA;AACN,6BAAA;;;;;YAOZC,SAAW1B,EAAAA;AACb;AACF,KAAA;AACF,CAAA;AAEAzB,YAAAA,CAAa+B,IAAI,GAAG,QAAA;AAEpB,MAAMqB,kBAAuC,CAAC,EAAE7D,SAAS,EAAEV,KAAK,EAAE,GAAA;IAChE,MAAM,EAAEoB,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,MAAM,EAAE,GAAGpB,MAAAA,EAAAA;AACnB,IAAA,MAAMsB,YAAYpB,QAAS,CAAA,iBAAA,EAAmB,CAACL,KAAAA,GAAUA,MAAMyB,SAAS,CAAA;AACxE,IAAA,MAAMgD,uBAAuBpC,eAAgB,CAAA,iBAAA,EAAmB,CAACrC,KAAAA,GAAUA,MAAM0E,UAAU,CAAA;IAC3F,MAAMhD,cAAAA,GAAiBC,OAAQJ,CAAAA,MAAAA,EAAQK,aAAeC,EAAAA,IAAAA,CAAAA;IACtD,MAAM8C,yBAAAA,GAA4BhD,OAAQJ,CAAAA,MAAAA,EAAQqD,OAASC,EAAAA,eAAAA,CAAAA;AAC3D,IAAA,MAAM,EAAEC,aAAeC,EAAAA,mBAAmB,EAAEtC,SAAS,EAAE,GAAGC,kBAAAA,EAAAA;IAC1D,MAAMC,WAAAA,GAAchC,UAAUK,GAAG,CAAC,CAAC,EAAE4B,UAAU,EAAE,GAAKA,UAAAA,CAAAA;AACtD,IAAA,MAAM,CAAC,EAAEd,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;AACpB,IAAA,MAAMC,SAASC,KAAMC,CAAAA,OAAO,CAAC,IAAMC,iBAAiBL,KAAQ,CAAA,EAAA;AAACA,QAAAA;AAAM,KAAA,CAAA;AAEnE,IAAA,MAAMkD,0BAA6B,GAAA,UAAA;QACjC,MAAMC,IAAAA,GAAO,MAAMF,mBAAoB,CAAA;AAAEpC,YAAAA,WAAAA;AAAa1C,YAAAA,KAAAA;AAAO+B,YAAAA;AAAO,SAAA,CAAA;AACpE,QAAA,IAAI,EAAE,OAAWiD,IAAAA,IAAG,CAAI,EAAA;AACtBxD,YAAAA,SAAAA,CAAU,EAAE,CAAA;AACd;AACF,KAAA;AAEA,IAAA,MAAMyD,mBACJP,GAAAA,yBAAAA,IACAF,oBACA9D,IAAAA,SAAAA,CAAUwE,IAAI,CAAC,CAACC,KAAUA,GAAAA,KAAAA,CAAMC,MAAM,KAAK,WAAeD,IAAAA,KAAAA,CAAMC,MAAM,KAAK,UAAA,CAAA;IAE7E,IAAI,CAACH,qBAAqB,OAAO,IAAA;IAEjC,OAAO;QACLnC,OAAS,EAAA,UAAA;AACTC,QAAAA,KAAAA,EAAO3B,aAAc,CAAA;YAAEF,EAAI,EAAA,qBAAA;YAAuB8B,cAAgB,EAAA;AAAY,SAAA,CAAA;QAC9EC,MAAQ,EAAA;YACNC,IAAM,EAAA,QAAA;AACNC,YAAAA,KAAAA,EAAO/B,aAAc,CAAA;gBACnBF,EAAI,EAAA,oCAAA;gBACJ8B,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAI,OAASZ,EAAAA,SAAAA;AACTa,YAAAA,OAAAA,gBACEC,IAAChD,CAAAA,IAAAA,EAAAA;gBAAKiD,SAAU,EAAA,QAAA;gBAASC,UAAW,EAAA,SAAA;gBAAUjD,GAAK,EAAA,CAAA;;kCACjDF,GAACC,CAAAA,IAAAA,EAAAA;wBAAKmD,cAAe,EAAA,QAAA;AACnB,wBAAA,QAAA,gBAAApD,GAACqD,CAAAA,aAAAA,EAAAA;4BAAcC,KAAM,EAAA,MAAA;4BAAOC,MAAO,EAAA,MAAA;4BAAOC,IAAK,EAAA;;;kCAEjDxD,GAACyD,CAAAA,UAAAA,EAAAA;wBAAW5C,EAAG,EAAA,qBAAA;wBAAsB6C,SAAU,EAAA,QAAA;kCAC5C3C,aAAc,CAAA;4BACbF,EAAI,EAAA,oDAAA;4BACJ8B,cAAgB,EAAA;AAClB,yBAAA;;AAEDvB,oBAAAA,cAAAA,kBACCpB,GAAC2D,CAAAA,GAAAA,EAAAA;wBAAID,SAAU,EAAA,QAAA;wBAASE,OAAS,EAAA,CAAA;AAC/B,wBAAA,QAAA,gBAAA5D,GAACyD,CAAAA,UAAAA,EAAAA;4BAAWI,SAAU,EAAA,WAAA;sCACnB9C,aACC,CAAA;AACEF,gCAAAA,EAAAA,EAAIiD,cAAe,CAAA,gDAAA,CAAA;gCACnBnB,cACE,EAAA;6BAEJ,EAAA;gCACEoB,EAAIC,EAAAA;AACN,6BAAA;;;;;AAOZgB,YAAAA,aAAAA,EAAejE,aAAc,CAAA;gBAC3BF,EAAI,EAAA,qBAAA;gBACJ8B,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAsB,SAAWS,EAAAA;AACb;AACF,KAAA;AACF,CAAA;AAEAR,eAAAA,CAAgBrB,IAAI,GAAG,WAAA;AAEjBmB,MAAAA,QAAAA,GAAW,CAACiB,MAAAA,iBAChBjF,GAACyD,CAAAA,UAAAA,EAAAA;QAAWyB,UAAW,EAAA,UAAA;QAAWrB,SAAU,EAAA,WAAA;AACzCoB,QAAAA,QAAAA,EAAAA;;AAIL,MAAME,oBAA8C,GAAA;AAACC,IAAAA,aAAAA;AAAelB,IAAAA,eAAAA;AAAiBpD,IAAAA;AAAa;;;;"}
|
|
1
|
+
{"version":3,"file":"Actions.mjs","sources":["../../../../../../admin/src/pages/ListView/components/BulkActions/Actions.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n DescriptionComponentRenderer,\n useTable,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Box, ButtonProps, Flex, Typography } from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDocumentRBAC } from '../../../../features/DocumentRBAC';\nimport { useDoc } from '../../../../hooks/useDocument';\nimport { useDocumentActions } from '../../../../hooks/useDocumentActions';\nimport { useDocumentLayout } from '../../../../hooks/useDocumentLayout';\nimport { buildValidParams } from '../../../../utils/api';\nimport { getTranslation } from '../../../../utils/translations';\nimport {\n DialogOptions,\n DocumentActionButton,\n ModalOptions,\n NotificationOptions,\n} from '../../../EditView/components/DocumentActions';\n\nimport { PublishAction } from './PublishAction';\n\nimport type { BulkActionComponent, ContentManagerPlugin } from '../../../../content-manager';\n\ninterface BulkActionDescription {\n dialog?: DialogOptions | NotificationOptions | ModalOptions;\n disabled?: boolean;\n icon?: React.ReactNode;\n label: string;\n onClick?: (event: React.SyntheticEvent) => void;\n /**\n * @default 'default'\n */\n type?: 'icon' | 'default';\n /**\n * @default 'secondary'\n */\n variant?: ButtonProps['variant'];\n}\n\n/* -------------------------------------------------------------------------------------------------\n * BulkActionsRenderer\n * -----------------------------------------------------------------------------------------------*/\n\nconst BulkActionsRenderer = () => {\n const plugins = useStrapiApp('BulkActionsRenderer', (state) => state.plugins);\n\n const { model, collectionType } = useDoc();\n const { list } = useDocumentLayout(model);\n const { selectedRows } = useTable('BulkActionsRenderer', (state) => state);\n\n return (\n <Flex gap={2}>\n <DescriptionComponentRenderer\n props={{\n model,\n collectionType,\n documents: selectedRows,\n }}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getBulkActions()}\n >\n {(actions) =>\n actions.map((action) => {\n return list.settings.bulkable && <DocumentActionButton key={action.id} {...action} />;\n })\n }\n </DescriptionComponentRenderer>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DefaultBulkActions\n * -----------------------------------------------------------------------------------------------*/\n\nconst DeleteAction: BulkActionComponent = ({ documents, model }) => {\n const { formatMessage } = useIntl();\n const { schema: contentType } = useDoc();\n const selectRow = useTable('DeleteAction', (state) => state.selectRow);\n const hasI18nEnabled = Boolean(contentType?.pluginOptions?.i18n);\n const [{ query }] = useQueryParams<{ plugins?: { i18n?: { locale?: string } } }>();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const hasDeletePermission = useDocumentRBAC('deleteAction', (state) => state.canDelete);\n const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();\n const documentIds = documents.map(({ documentId }) => documentId);\n\n const handleConfirmBulkDelete = async () => {\n const res = await bulkDeleteAction({\n documentIds,\n model,\n params,\n });\n if (!('error' in res)) {\n selectRow([]);\n }\n };\n\n if (!hasDeletePermission) return null;\n\n return {\n variant: 'danger-light',\n label: formatMessage({ id: 'global.delete', defaultMessage: 'Delete' }),\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n loading: isLoading,\n content: (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {formatMessage({\n id: 'popUpWarning.bodyMessage.contentType.delete.all',\n defaultMessage: 'Are you sure you want to delete these entries?',\n })}\n </Typography>\n {hasI18nEnabled && (\n <Box textAlign=\"center\" padding={3}>\n <Typography textColor=\"danger500\">\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.deleteAdditionalInfos'),\n defaultMessage:\n 'This will delete the active locale versions <em>(from Internationalization)</em>',\n },\n {\n em: Emphasis,\n }\n )}\n </Typography>\n </Box>\n )}\n </Flex>\n ),\n onConfirm: handleConfirmBulkDelete,\n },\n };\n};\n\nDeleteAction.type = 'delete';\n\nconst UnpublishAction: BulkActionComponent = ({ documents, model }) => {\n const { formatMessage } = useIntl();\n const { schema } = useDoc();\n const selectRow = useTable('UnpublishAction', (state) => state.selectRow);\n const hasPublishPermission = useDocumentRBAC('unpublishAction', (state) => state.canPublish);\n const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);\n const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();\n const documentIds = documents.map(({ documentId }) => documentId);\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n const handleConfirmBulkUnpublish = async () => {\n const data = await bulkUnpublishAction({ documentIds, model, params });\n if (!('error' in data)) {\n selectRow([]);\n }\n };\n\n const showUnpublishButton =\n hasDraftAndPublishEnabled &&\n hasPublishPermission &&\n documents.some((entry) => entry.status === 'published' || entry.status === 'modified');\n\n if (!showUnpublishButton) return null;\n\n return {\n variant: 'tertiary',\n label: formatMessage({ id: 'app.utils.unpublish', defaultMessage: 'Unpublish' }),\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n loading: isLoading,\n content: (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {formatMessage({\n id: 'popUpWarning.bodyMessage.contentType.unpublish.all',\n defaultMessage: 'Are you sure you want to unpublish these entries?',\n })}\n </Typography>\n </Flex>\n ),\n confirmButton: formatMessage({\n id: 'app.utils.unpublish',\n defaultMessage: 'Unpublish',\n }),\n onConfirm: handleConfirmBulkUnpublish,\n },\n };\n};\n\nUnpublishAction.type = 'unpublish';\n\nconst Emphasis = (chunks: React.ReactNode) => (\n <Typography fontWeight=\"semiBold\" textColor=\"danger500\">\n {chunks}\n </Typography>\n);\n\nconst DEFAULT_BULK_ACTIONS: BulkActionComponent[] = [PublishAction, UnpublishAction, DeleteAction];\n\nexport { DEFAULT_BULK_ACTIONS, BulkActionsRenderer, Emphasis };\nexport type { BulkActionDescription };\n"],"names":["BulkActionsRenderer","plugins","useStrapiApp","state","model","collectionType","useDoc","list","useDocumentLayout","selectedRows","useTable","_jsx","Flex","gap","DescriptionComponentRenderer","props","documents","descriptions","apis","getBulkActions","actions","map","action","settings","bulkable","DocumentActionButton","id","DeleteAction","formatMessage","useIntl","schema","contentType","selectRow","hasI18nEnabled","Boolean","pluginOptions","i18n","query","useQueryParams","params","React","useMemo","buildValidParams","hasDeletePermission","useDocumentRBAC","canDelete","deleteMany","bulkDeleteAction","isLoading","useDocumentActions","documentIds","documentId","handleConfirmBulkDelete","res","variant","label","defaultMessage","dialog","type","title","loading","content","_jsxs","direction","alignItems","justifyContent","WarningCircle","width","height","fill","Typography","textAlign","Box","padding","textColor","getTranslation","em","Emphasis","onConfirm","UnpublishAction","hasPublishPermission","canPublish","hasDraftAndPublishEnabled","options","draftAndPublish","unpublishMany","bulkUnpublishAction","handleConfirmBulkUnpublish","data","showUnpublishButton","some","entry","status","confirmButton","chunks","fontWeight","DEFAULT_BULK_ACTIONS","PublishAction"],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ var reactIntl = require('react-intl');
|
|
|
9
9
|
var useDocument = require('../../../../hooks/useDocument.js');
|
|
10
10
|
var documents = require('../../../../services/documents.js');
|
|
11
11
|
var translations = require('../../../../utils/translations.js');
|
|
12
|
-
var Actions = require('./Actions.js');
|
|
13
12
|
|
|
14
13
|
function _interopNamespaceDefault(e) {
|
|
15
14
|
var n = Object.create(null);
|
|
@@ -91,7 +90,7 @@ const ConfirmDialogPublishAll = ({ isOpen, onToggleDialog, isConfirmButtonLoadin
|
|
|
91
90
|
const selectedEntries = strapiAdmin.useTable('ConfirmDialogPublishAll', (state)=>state.selectedRows);
|
|
92
91
|
const { toggleNotification } = strapiAdmin.useNotification();
|
|
93
92
|
const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler(translations.getTranslation);
|
|
94
|
-
const { model
|
|
93
|
+
const { model } = useDocument.useDoc();
|
|
95
94
|
const [{ query }] = strapiAdmin.useQueryParams();
|
|
96
95
|
// TODO skipping this for now as there is a bug with the draft relation count that will be worked on separately
|
|
97
96
|
// see RFC "Count draft relations" in Notion
|
|
@@ -121,37 +120,25 @@ const ConfirmDialogPublishAll = ({ isOpen, onToggleDialog, isConfirmButtonLoadin
|
|
|
121
120
|
return /*#__PURE__*/ jsxRuntime.jsx(ConfirmBulkActionDialog, {
|
|
122
121
|
isOpen: isOpen && !isLoading,
|
|
123
122
|
onToggleDialog: onToggleDialog,
|
|
124
|
-
dialogBody: /*#__PURE__*/ jsxRuntime.
|
|
125
|
-
children:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
defaultMessage: '<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. '
|
|
133
|
-
}, {
|
|
134
|
-
b: BoldChunk,
|
|
135
|
-
count: countDraftRelations,
|
|
136
|
-
entities: selectedEntries.length
|
|
137
|
-
}),
|
|
138
|
-
formatMessage({
|
|
139
|
-
id: translations.getTranslation('popUpWarning.bodyMessage.contentType.publish.all'),
|
|
140
|
-
defaultMessage: 'Are you sure you want to publish these entries?'
|
|
141
|
-
})
|
|
142
|
-
]
|
|
143
|
-
}),
|
|
144
|
-
schema?.pluginOptions && 'i18n' in schema.pluginOptions && schema?.pluginOptions.i18n && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
145
|
-
textColor: "danger500",
|
|
146
|
-
textAlign: "center",
|
|
147
|
-
children: formatMessage({
|
|
148
|
-
id: translations.getTranslation('Settings.list.actions.publishAdditionalInfos'),
|
|
149
|
-
defaultMessage: 'This will publish the active locale versions <em>(from Internationalization)</em>'
|
|
123
|
+
dialogBody: /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
124
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Typography, {
|
|
125
|
+
id: "confirm-description",
|
|
126
|
+
textAlign: "center",
|
|
127
|
+
children: [
|
|
128
|
+
countDraftRelations > 0 && formatMessage({
|
|
129
|
+
id: translations.getTranslation(`popUpwarning.warning.bulk-has-draft-relations.message`),
|
|
130
|
+
defaultMessage: '<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. '
|
|
150
131
|
}, {
|
|
151
|
-
|
|
132
|
+
b: BoldChunk,
|
|
133
|
+
count: countDraftRelations,
|
|
134
|
+
entities: selectedEntries.length
|
|
135
|
+
}),
|
|
136
|
+
formatMessage({
|
|
137
|
+
id: translations.getTranslation('popUpWarning.bodyMessage.contentType.publish.all'),
|
|
138
|
+
defaultMessage: 'Are you sure you want to publish these entries?'
|
|
152
139
|
})
|
|
153
|
-
|
|
154
|
-
|
|
140
|
+
]
|
|
141
|
+
})
|
|
155
142
|
}),
|
|
156
143
|
endAction: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
157
144
|
width: '50%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmBulkActionDialog.js","sources":["../../../../../../admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useTable,\n useNotification,\n useAPIErrorHandler,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Flex, Dialog, Typography } from '@strapi/design-system';\nimport { Check, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../../hooks/useDocument';\nimport { useGetManyDraftRelationCountQuery } from '../../../../services/documents';\nimport { getTranslation } from '../../../../utils/translations';\n\nimport { Emphasis } from './Actions';\n\ninterface ConfirmBulkActionDialogProps {\n endAction: React.ReactNode;\n onToggleDialog: () => void;\n isOpen?: boolean;\n dialogBody: React.ReactNode;\n}\n\nconst ConfirmBulkActionDialog = ({\n onToggleDialog,\n isOpen = false,\n dialogBody,\n endAction,\n}: ConfirmBulkActionDialogProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Dialog.Root open={isOpen}>\n <Dialog.Content>\n <Dialog.Header>\n {formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n })}\n </Dialog.Header>\n <Dialog.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n {dialogBody}\n </Flex>\n </Dialog.Body>\n <Dialog.Footer>\n <Dialog.Cancel>\n <Button width={'50%'} onClick={onToggleDialog} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Dialog.Cancel>\n {endAction}\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * BoldChunk\n * -----------------------------------------------------------------------------------------------*/\n\nconst BoldChunk = (chunks: React.ReactNode) => <Typography fontWeight=\"bold\">{chunks}</Typography>;\n\n/* -------------------------------------------------------------------------------------------------\n * ConfirmDialogPublishAll\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ConfirmDialogPublishAllProps\n extends Pick<ConfirmBulkActionDialogProps, 'isOpen' | 'onToggleDialog'> {\n isConfirmButtonLoading?: boolean;\n onConfirm: () => void;\n}\n\nconst ConfirmDialogPublishAll = ({\n isOpen,\n onToggleDialog,\n isConfirmButtonLoading = false,\n onConfirm,\n}: ConfirmDialogPublishAllProps) => {\n const { formatMessage } = useIntl();\n const selectedEntries = useTable('ConfirmDialogPublishAll', (state) => state.selectedRows);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n const { model, schema } = useDoc();\n const [{ query }] = useQueryParams<{\n plugins?: {\n i18n?: {\n locale?: string;\n };\n };\n }>();\n\n // TODO skipping this for now as there is a bug with the draft relation count that will be worked on separately\n // see RFC \"Count draft relations\" in Notion\n const enableDraftRelationsCount = false;\n\n const {\n data: countDraftRelations = 0,\n isLoading,\n error,\n } = useGetManyDraftRelationCountQuery(\n {\n model,\n documentIds: selectedEntries.map((entry) => entry.documentId),\n locale: query?.plugins?.i18n?.locale,\n },\n {\n skip: !enableDraftRelationsCount || selectedEntries.length === 0,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'danger', message: formatAPIError(error) });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n if (error) {\n return null;\n }\n\n return (\n <ConfirmBulkActionDialog\n isOpen={isOpen && !isLoading}\n onToggleDialog={onToggleDialog}\n dialogBody={\n <>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {countDraftRelations > 0 &&\n formatMessage(\n {\n id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.message`),\n defaultMessage:\n '<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. ',\n },\n {\n b: BoldChunk,\n count: countDraftRelations,\n entities: selectedEntries.length,\n }\n )}\n {formatMessage({\n id: getTranslation('popUpWarning.bodyMessage.contentType.publish.all'),\n defaultMessage: 'Are you sure you want to publish these entries?',\n })}\n </Typography>\n {schema?.pluginOptions &&\n 'i18n' in schema.pluginOptions &&\n schema?.pluginOptions.i18n && (\n <Typography textColor=\"danger500\" textAlign=\"center\">\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.publishAdditionalInfos'),\n defaultMessage:\n 'This will publish the active locale versions <em>(from Internationalization)</em>',\n },\n {\n em: Emphasis,\n }\n )}\n </Typography>\n )}\n </>\n }\n endAction={\n <Button\n width={'50%'}\n onClick={onConfirm}\n variant=\"secondary\"\n startIcon={<Check />}\n loading={isConfirmButtonLoading}\n >\n {formatMessage({\n id: 'app.utils.publish',\n defaultMessage: 'Publish',\n })}\n </Button>\n }\n />\n );\n};\n\nexport { ConfirmDialogPublishAll, ConfirmBulkActionDialog };\nexport type { ConfirmDialogPublishAllProps, ConfirmBulkActionDialogProps };\n"],"names":["ConfirmBulkActionDialog","onToggleDialog","isOpen","dialogBody","endAction","formatMessage","useIntl","_jsx","Dialog","Root","open","_jsxs","Content","Header","id","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","WarningCircle","width","height","fill","Footer","Cancel","Button","onClick","variant","BoldChunk","chunks","Typography","fontWeight","ConfirmDialogPublishAll","isConfirmButtonLoading","onConfirm","selectedEntries","useTable","state","selectedRows","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","getTranslation","model","schema","useDoc","query","useQueryParams","enableDraftRelationsCount","data","countDraftRelations","isLoading","error","useGetManyDraftRelationCountQuery","documentIds","map","entry","documentId","locale","plugins","i18n","skip","React","useEffect","type","message","_Fragment","textAlign","b","count","entities","length","pluginOptions","textColor","em","Emphasis","startIcon","Check","loading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfirmBulkActionDialog.js","sources":["../../../../../../admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useTable,\n useNotification,\n useAPIErrorHandler,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Flex, Dialog, Typography } from '@strapi/design-system';\nimport { Check, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../../hooks/useDocument';\nimport { useGetManyDraftRelationCountQuery } from '../../../../services/documents';\nimport { getTranslation } from '../../../../utils/translations';\n\nimport { Emphasis } from './Actions';\n\ninterface ConfirmBulkActionDialogProps {\n endAction: React.ReactNode;\n onToggleDialog: () => void;\n isOpen?: boolean;\n dialogBody: React.ReactNode;\n}\n\nconst ConfirmBulkActionDialog = ({\n onToggleDialog,\n isOpen = false,\n dialogBody,\n endAction,\n}: ConfirmBulkActionDialogProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Dialog.Root open={isOpen}>\n <Dialog.Content>\n <Dialog.Header>\n {formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n })}\n </Dialog.Header>\n <Dialog.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n {dialogBody}\n </Flex>\n </Dialog.Body>\n <Dialog.Footer>\n <Dialog.Cancel>\n <Button width={'50%'} onClick={onToggleDialog} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Dialog.Cancel>\n {endAction}\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * BoldChunk\n * -----------------------------------------------------------------------------------------------*/\n\nconst BoldChunk = (chunks: React.ReactNode) => <Typography fontWeight=\"bold\">{chunks}</Typography>;\n\n/* -------------------------------------------------------------------------------------------------\n * ConfirmDialogPublishAll\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ConfirmDialogPublishAllProps\n extends Pick<ConfirmBulkActionDialogProps, 'isOpen' | 'onToggleDialog'> {\n isConfirmButtonLoading?: boolean;\n onConfirm: () => void;\n}\n\nconst ConfirmDialogPublishAll = ({\n isOpen,\n onToggleDialog,\n isConfirmButtonLoading = false,\n onConfirm,\n}: ConfirmDialogPublishAllProps) => {\n const { formatMessage } = useIntl();\n const selectedEntries = useTable('ConfirmDialogPublishAll', (state) => state.selectedRows);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n const { model } = useDoc();\n const [{ query }] = useQueryParams<{\n plugins?: {\n i18n?: {\n locale?: string;\n };\n };\n }>();\n\n // TODO skipping this for now as there is a bug with the draft relation count that will be worked on separately\n // see RFC \"Count draft relations\" in Notion\n const enableDraftRelationsCount = false;\n\n const {\n data: countDraftRelations = 0,\n isLoading,\n error,\n } = useGetManyDraftRelationCountQuery(\n {\n model,\n documentIds: selectedEntries.map((entry) => entry.documentId),\n locale: query?.plugins?.i18n?.locale,\n },\n {\n skip: !enableDraftRelationsCount || selectedEntries.length === 0,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'danger', message: formatAPIError(error) });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n if (error) {\n return null;\n }\n\n return (\n <ConfirmBulkActionDialog\n isOpen={isOpen && !isLoading}\n onToggleDialog={onToggleDialog}\n dialogBody={\n <>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {countDraftRelations > 0 &&\n formatMessage(\n {\n id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.message`),\n defaultMessage:\n '<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. ',\n },\n {\n b: BoldChunk,\n count: countDraftRelations,\n entities: selectedEntries.length,\n }\n )}\n {formatMessage({\n id: getTranslation('popUpWarning.bodyMessage.contentType.publish.all'),\n defaultMessage: 'Are you sure you want to publish these entries?',\n })}\n </Typography>\n </>\n }\n endAction={\n <Button\n width={'50%'}\n onClick={onConfirm}\n variant=\"secondary\"\n startIcon={<Check />}\n loading={isConfirmButtonLoading}\n >\n {formatMessage({\n id: 'app.utils.publish',\n defaultMessage: 'Publish',\n })}\n </Button>\n }\n />\n );\n};\n\nexport { ConfirmDialogPublishAll, ConfirmBulkActionDialog };\nexport type { ConfirmDialogPublishAllProps, ConfirmBulkActionDialogProps };\n"],"names":["ConfirmBulkActionDialog","onToggleDialog","isOpen","dialogBody","endAction","formatMessage","useIntl","_jsx","Dialog","Root","open","_jsxs","Content","Header","id","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","WarningCircle","width","height","fill","Footer","Cancel","Button","onClick","variant","BoldChunk","chunks","Typography","fontWeight","ConfirmDialogPublishAll","isConfirmButtonLoading","onConfirm","selectedEntries","useTable","state","selectedRows","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","getTranslation","model","useDoc","query","useQueryParams","enableDraftRelationsCount","data","countDraftRelations","isLoading","error","useGetManyDraftRelationCountQuery","documentIds","map","entry","documentId","locale","plugins","i18n","skip","React","useEffect","type","message","_Fragment","textAlign","b","count","entities","length","startIcon","Check","loading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBMA,MAAAA,uBAAAA,GAA0B,CAAC,EAC/BC,cAAc,EACdC,MAAS,GAAA,KAAK,EACdC,UAAU,EACVC,SAAS,EACoB,GAAA;IAC7B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEC,cAAA,CAACC,oBAAOC,IAAI,EAAA;QAACC,IAAMR,EAAAA,MAAAA;gCACjBS,eAAA,CAACH,oBAAOI,OAAO,EAAA;;AACb,8BAAAL,cAAA,CAACC,oBAAOK,MAAM,EAAA;8BACXR,aAAc,CAAA;wBACbS,EAAI,EAAA,oCAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA;;AAEF,8BAAAR,cAAA,CAACC,oBAAOQ,IAAI,EAAA;AACV,oBAAA,QAAA,gBAAAL,eAACM,CAAAA,iBAAAA,EAAAA;wBAAKC,SAAU,EAAA,QAAA;wBAASC,UAAW,EAAA,SAAA;wBAAUC,GAAK,EAAA,CAAA;;0CACjDb,cAACU,CAAAA,iBAAAA,EAAAA;gCAAKI,cAAe,EAAA,QAAA;AACnB,gCAAA,QAAA,gBAAAd,cAACe,CAAAA,mBAAAA,EAAAA;oCAAcC,KAAM,EAAA,MAAA;oCAAOC,MAAO,EAAA,MAAA;oCAAOC,IAAK,EAAA;;;AAEhDtB,4BAAAA;;;;AAGL,8BAAAQ,eAAA,CAACH,oBAAOkB,MAAM,EAAA;;AACZ,sCAAAnB,cAAA,CAACC,oBAAOmB,MAAM,EAAA;AACZ,4BAAA,QAAA,gBAAApB,cAACqB,CAAAA,mBAAAA,EAAAA;gCAAOL,KAAO,EAAA,KAAA;gCAAOM,OAAS5B,EAAAA,cAAAA;gCAAgB6B,OAAQ,EAAA,UAAA;0CACpDzB,aAAc,CAAA;oCACbS,EAAI,EAAA,8BAAA;oCACJC,cAAgB,EAAA;AAClB,iCAAA;;;AAGHX,wBAAAA;;;;;;AAKX;AAEA;;AAEkG,qGAElG,MAAM2B,SAAAA,GAAY,CAACC,MAAAA,iBAA4BzB,cAAC0B,CAAAA,uBAAAA,EAAAA;QAAWC,UAAW,EAAA,MAAA;AAAQF,QAAAA,QAAAA,EAAAA;;AAYxEG,MAAAA,uBAAAA,GAA0B,CAAC,EAC/BjC,MAAM,EACND,cAAc,EACdmC,sBAAyB,GAAA,KAAK,EAC9BC,SAAS,EACoB,GAAA;IAC7B,MAAM,EAAEhC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMgC,kBAAkBC,oBAAS,CAAA,yBAAA,EAA2B,CAACC,KAAAA,GAAUA,MAAMC,YAAY,CAAA;IACzF,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;AAC/B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,8BAAmBC,CAAAA,2BAAAA,CAAAA;IACvE,MAAM,EAAEC,KAAK,EAAE,GAAGC,kBAAAA,EAAAA;AAClB,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,0BAAAA,EAAAA;;;AAUpB,IAAA,MAAMC,yBAA4B,GAAA,KAAA;IAElC,MAAM,EACJC,IAAMC,EAAAA,mBAAAA,GAAsB,CAAC,EAC7BC,SAAS,EACTC,KAAK,EACN,GAAGC,2CACF,CAAA;AACET,QAAAA,KAAAA;AACAU,QAAAA,WAAAA,EAAapB,gBAAgBqB,GAAG,CAAC,CAACC,KAAAA,GAAUA,MAAMC,UAAU,CAAA;QAC5DC,MAAQZ,EAAAA,KAAAA,EAAOa,SAASC,IAAMF,EAAAA;KAEhC,EAAA;AACEG,QAAAA,IAAAA,EAAM,CAACb;AACT,KAAA,CAAA;AAGFc,IAAAA,gBAAAA,CAAMC,SAAS,CAAC,IAAA;AACd,QAAA,IAAIX,KAAO,EAAA;YACTd,kBAAmB,CAAA;gBAAE0B,IAAM,EAAA,QAAA;AAAUC,gBAAAA,OAAAA,EAASxB,cAAeW,CAAAA,KAAAA;AAAO,aAAA,CAAA;AACtE;KACC,EAAA;AAACA,QAAAA,KAAAA;AAAOX,QAAAA,cAAAA;AAAgBH,QAAAA;AAAmB,KAAA,CAAA;AAE9C,IAAA,IAAIc,KAAO,EAAA;QACT,OAAO,IAAA;AACT;AAEA,IAAA,qBACEjD,cAACP,CAAAA,uBAAAA,EAAAA;AACCE,QAAAA,MAAAA,EAAQA,UAAU,CAACqD,SAAAA;QACnBtD,cAAgBA,EAAAA,cAAAA;QAChBE,UACE,gBAAAI,cAAA,CAAA+D,mBAAA,EAAA;AACE,YAAA,QAAA,gBAAA3D,eAACsB,CAAAA,uBAAAA,EAAAA;gBAAWnB,EAAG,EAAA,qBAAA;gBAAsByD,SAAU,EAAA,QAAA;;AAC5CjB,oBAAAA,mBAAAA,GAAsB,KACrBjD,aACE,CAAA;wBACES,EAAIiC,EAAAA,2BAAAA,CAAe,CAAC,qDAAqD,CAAC,CAAA;wBAC1EhC,cACE,EAAA;qBAEJ,EAAA;wBACEyD,CAAGzC,EAAAA,SAAAA;wBACH0C,KAAOnB,EAAAA,mBAAAA;AACPoB,wBAAAA,QAAAA,EAAUpC,gBAAgBqC;AAC5B,qBAAA,CAAA;oBAEHtE,aAAc,CAAA;AACbS,wBAAAA,EAAAA,EAAIiC,2BAAe,CAAA,kDAAA,CAAA;wBACnBhC,cAAgB,EAAA;AAClB,qBAAA;;;;AAINX,QAAAA,SAAAA,gBACEG,cAACqB,CAAAA,mBAAAA,EAAAA;YACCL,KAAO,EAAA,KAAA;YACPM,OAASQ,EAAAA,SAAAA;YACTP,OAAQ,EAAA,WAAA;AACR8C,YAAAA,SAAAA,gBAAWrE,cAACsE,CAAAA,WAAAA,EAAAA,EAAAA,CAAAA;YACZC,OAAS1C,EAAAA,sBAAAA;sBAER/B,aAAc,CAAA;gBACbS,EAAI,EAAA,mBAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA;;;AAKV;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx,
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useTable, useNotification, useAPIErrorHandler, useQueryParams } from '@strapi/admin/strapi-admin';
|
|
4
4
|
import { Typography, Button, Dialog, Flex } from '@strapi/design-system';
|
|
@@ -7,7 +7,6 @@ import { useIntl } from 'react-intl';
|
|
|
7
7
|
import { useDoc } from '../../../../hooks/useDocument.mjs';
|
|
8
8
|
import { useGetManyDraftRelationCountQuery } from '../../../../services/documents.mjs';
|
|
9
9
|
import { getTranslation } from '../../../../utils/translations.mjs';
|
|
10
|
-
import { Emphasis } from './Actions.mjs';
|
|
11
10
|
|
|
12
11
|
const ConfirmBulkActionDialog = ({ onToggleDialog, isOpen = false, dialogBody, endAction })=>{
|
|
13
12
|
const { formatMessage } = useIntl();
|
|
@@ -70,7 +69,7 @@ const ConfirmDialogPublishAll = ({ isOpen, onToggleDialog, isConfirmButtonLoadin
|
|
|
70
69
|
const selectedEntries = useTable('ConfirmDialogPublishAll', (state)=>state.selectedRows);
|
|
71
70
|
const { toggleNotification } = useNotification();
|
|
72
71
|
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);
|
|
73
|
-
const { model
|
|
72
|
+
const { model } = useDoc();
|
|
74
73
|
const [{ query }] = useQueryParams();
|
|
75
74
|
// TODO skipping this for now as there is a bug with the draft relation count that will be worked on separately
|
|
76
75
|
// see RFC "Count draft relations" in Notion
|
|
@@ -100,37 +99,25 @@ const ConfirmDialogPublishAll = ({ isOpen, onToggleDialog, isConfirmButtonLoadin
|
|
|
100
99
|
return /*#__PURE__*/ jsx(ConfirmBulkActionDialog, {
|
|
101
100
|
isOpen: isOpen && !isLoading,
|
|
102
101
|
onToggleDialog: onToggleDialog,
|
|
103
|
-
dialogBody: /*#__PURE__*/
|
|
104
|
-
children:
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
defaultMessage: '<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. '
|
|
112
|
-
}, {
|
|
113
|
-
b: BoldChunk,
|
|
114
|
-
count: countDraftRelations,
|
|
115
|
-
entities: selectedEntries.length
|
|
116
|
-
}),
|
|
117
|
-
formatMessage({
|
|
118
|
-
id: getTranslation('popUpWarning.bodyMessage.contentType.publish.all'),
|
|
119
|
-
defaultMessage: 'Are you sure you want to publish these entries?'
|
|
120
|
-
})
|
|
121
|
-
]
|
|
122
|
-
}),
|
|
123
|
-
schema?.pluginOptions && 'i18n' in schema.pluginOptions && schema?.pluginOptions.i18n && /*#__PURE__*/ jsx(Typography, {
|
|
124
|
-
textColor: "danger500",
|
|
125
|
-
textAlign: "center",
|
|
126
|
-
children: formatMessage({
|
|
127
|
-
id: getTranslation('Settings.list.actions.publishAdditionalInfos'),
|
|
128
|
-
defaultMessage: 'This will publish the active locale versions <em>(from Internationalization)</em>'
|
|
102
|
+
dialogBody: /*#__PURE__*/ jsx(Fragment, {
|
|
103
|
+
children: /*#__PURE__*/ jsxs(Typography, {
|
|
104
|
+
id: "confirm-description",
|
|
105
|
+
textAlign: "center",
|
|
106
|
+
children: [
|
|
107
|
+
countDraftRelations > 0 && formatMessage({
|
|
108
|
+
id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.message`),
|
|
109
|
+
defaultMessage: '<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. '
|
|
129
110
|
}, {
|
|
130
|
-
|
|
111
|
+
b: BoldChunk,
|
|
112
|
+
count: countDraftRelations,
|
|
113
|
+
entities: selectedEntries.length
|
|
114
|
+
}),
|
|
115
|
+
formatMessage({
|
|
116
|
+
id: getTranslation('popUpWarning.bodyMessage.contentType.publish.all'),
|
|
117
|
+
defaultMessage: 'Are you sure you want to publish these entries?'
|
|
131
118
|
})
|
|
132
|
-
|
|
133
|
-
|
|
119
|
+
]
|
|
120
|
+
})
|
|
134
121
|
}),
|
|
135
122
|
endAction: /*#__PURE__*/ jsx(Button, {
|
|
136
123
|
width: '50%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmBulkActionDialog.mjs","sources":["../../../../../../admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useTable,\n useNotification,\n useAPIErrorHandler,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Flex, Dialog, Typography } from '@strapi/design-system';\nimport { Check, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../../hooks/useDocument';\nimport { useGetManyDraftRelationCountQuery } from '../../../../services/documents';\nimport { getTranslation } from '../../../../utils/translations';\n\nimport { Emphasis } from './Actions';\n\ninterface ConfirmBulkActionDialogProps {\n endAction: React.ReactNode;\n onToggleDialog: () => void;\n isOpen?: boolean;\n dialogBody: React.ReactNode;\n}\n\nconst ConfirmBulkActionDialog = ({\n onToggleDialog,\n isOpen = false,\n dialogBody,\n endAction,\n}: ConfirmBulkActionDialogProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Dialog.Root open={isOpen}>\n <Dialog.Content>\n <Dialog.Header>\n {formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n })}\n </Dialog.Header>\n <Dialog.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n {dialogBody}\n </Flex>\n </Dialog.Body>\n <Dialog.Footer>\n <Dialog.Cancel>\n <Button width={'50%'} onClick={onToggleDialog} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Dialog.Cancel>\n {endAction}\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * BoldChunk\n * -----------------------------------------------------------------------------------------------*/\n\nconst BoldChunk = (chunks: React.ReactNode) => <Typography fontWeight=\"bold\">{chunks}</Typography>;\n\n/* -------------------------------------------------------------------------------------------------\n * ConfirmDialogPublishAll\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ConfirmDialogPublishAllProps\n extends Pick<ConfirmBulkActionDialogProps, 'isOpen' | 'onToggleDialog'> {\n isConfirmButtonLoading?: boolean;\n onConfirm: () => void;\n}\n\nconst ConfirmDialogPublishAll = ({\n isOpen,\n onToggleDialog,\n isConfirmButtonLoading = false,\n onConfirm,\n}: ConfirmDialogPublishAllProps) => {\n const { formatMessage } = useIntl();\n const selectedEntries = useTable('ConfirmDialogPublishAll', (state) => state.selectedRows);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n const { model, schema } = useDoc();\n const [{ query }] = useQueryParams<{\n plugins?: {\n i18n?: {\n locale?: string;\n };\n };\n }>();\n\n // TODO skipping this for now as there is a bug with the draft relation count that will be worked on separately\n // see RFC \"Count draft relations\" in Notion\n const enableDraftRelationsCount = false;\n\n const {\n data: countDraftRelations = 0,\n isLoading,\n error,\n } = useGetManyDraftRelationCountQuery(\n {\n model,\n documentIds: selectedEntries.map((entry) => entry.documentId),\n locale: query?.plugins?.i18n?.locale,\n },\n {\n skip: !enableDraftRelationsCount || selectedEntries.length === 0,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'danger', message: formatAPIError(error) });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n if (error) {\n return null;\n }\n\n return (\n <ConfirmBulkActionDialog\n isOpen={isOpen && !isLoading}\n onToggleDialog={onToggleDialog}\n dialogBody={\n <>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {countDraftRelations > 0 &&\n formatMessage(\n {\n id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.message`),\n defaultMessage:\n '<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. ',\n },\n {\n b: BoldChunk,\n count: countDraftRelations,\n entities: selectedEntries.length,\n }\n )}\n {formatMessage({\n id: getTranslation('popUpWarning.bodyMessage.contentType.publish.all'),\n defaultMessage: 'Are you sure you want to publish these entries?',\n })}\n </Typography>\n {schema?.pluginOptions &&\n 'i18n' in schema.pluginOptions &&\n schema?.pluginOptions.i18n && (\n <Typography textColor=\"danger500\" textAlign=\"center\">\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.publishAdditionalInfos'),\n defaultMessage:\n 'This will publish the active locale versions <em>(from Internationalization)</em>',\n },\n {\n em: Emphasis,\n }\n )}\n </Typography>\n )}\n </>\n }\n endAction={\n <Button\n width={'50%'}\n onClick={onConfirm}\n variant=\"secondary\"\n startIcon={<Check />}\n loading={isConfirmButtonLoading}\n >\n {formatMessage({\n id: 'app.utils.publish',\n defaultMessage: 'Publish',\n })}\n </Button>\n }\n />\n );\n};\n\nexport { ConfirmDialogPublishAll, ConfirmBulkActionDialog };\nexport type { ConfirmDialogPublishAllProps, ConfirmBulkActionDialogProps };\n"],"names":["ConfirmBulkActionDialog","onToggleDialog","isOpen","dialogBody","endAction","formatMessage","useIntl","_jsx","Dialog","Root","open","_jsxs","Content","Header","id","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","WarningCircle","width","height","fill","Footer","Cancel","Button","onClick","variant","BoldChunk","chunks","Typography","fontWeight","ConfirmDialogPublishAll","isConfirmButtonLoading","onConfirm","selectedEntries","useTable","state","selectedRows","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","getTranslation","model","schema","useDoc","query","useQueryParams","enableDraftRelationsCount","data","countDraftRelations","isLoading","error","useGetManyDraftRelationCountQuery","documentIds","map","entry","documentId","locale","plugins","i18n","skip","React","useEffect","type","message","_Fragment","textAlign","b","count","entities","length","pluginOptions","textColor","em","Emphasis","startIcon","Check","loading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfirmBulkActionDialog.mjs","sources":["../../../../../../admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useTable,\n useNotification,\n useAPIErrorHandler,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Flex, Dialog, Typography } from '@strapi/design-system';\nimport { Check, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../../hooks/useDocument';\nimport { useGetManyDraftRelationCountQuery } from '../../../../services/documents';\nimport { getTranslation } from '../../../../utils/translations';\n\nimport { Emphasis } from './Actions';\n\ninterface ConfirmBulkActionDialogProps {\n endAction: React.ReactNode;\n onToggleDialog: () => void;\n isOpen?: boolean;\n dialogBody: React.ReactNode;\n}\n\nconst ConfirmBulkActionDialog = ({\n onToggleDialog,\n isOpen = false,\n dialogBody,\n endAction,\n}: ConfirmBulkActionDialogProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Dialog.Root open={isOpen}>\n <Dialog.Content>\n <Dialog.Header>\n {formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n })}\n </Dialog.Header>\n <Dialog.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex justifyContent=\"center\">\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n </Flex>\n {dialogBody}\n </Flex>\n </Dialog.Body>\n <Dialog.Footer>\n <Dialog.Cancel>\n <Button width={'50%'} onClick={onToggleDialog} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Dialog.Cancel>\n {endAction}\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * BoldChunk\n * -----------------------------------------------------------------------------------------------*/\n\nconst BoldChunk = (chunks: React.ReactNode) => <Typography fontWeight=\"bold\">{chunks}</Typography>;\n\n/* -------------------------------------------------------------------------------------------------\n * ConfirmDialogPublishAll\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ConfirmDialogPublishAllProps\n extends Pick<ConfirmBulkActionDialogProps, 'isOpen' | 'onToggleDialog'> {\n isConfirmButtonLoading?: boolean;\n onConfirm: () => void;\n}\n\nconst ConfirmDialogPublishAll = ({\n isOpen,\n onToggleDialog,\n isConfirmButtonLoading = false,\n onConfirm,\n}: ConfirmDialogPublishAllProps) => {\n const { formatMessage } = useIntl();\n const selectedEntries = useTable('ConfirmDialogPublishAll', (state) => state.selectedRows);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n const { model } = useDoc();\n const [{ query }] = useQueryParams<{\n plugins?: {\n i18n?: {\n locale?: string;\n };\n };\n }>();\n\n // TODO skipping this for now as there is a bug with the draft relation count that will be worked on separately\n // see RFC \"Count draft relations\" in Notion\n const enableDraftRelationsCount = false;\n\n const {\n data: countDraftRelations = 0,\n isLoading,\n error,\n } = useGetManyDraftRelationCountQuery(\n {\n model,\n documentIds: selectedEntries.map((entry) => entry.documentId),\n locale: query?.plugins?.i18n?.locale,\n },\n {\n skip: !enableDraftRelationsCount || selectedEntries.length === 0,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'danger', message: formatAPIError(error) });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n if (error) {\n return null;\n }\n\n return (\n <ConfirmBulkActionDialog\n isOpen={isOpen && !isLoading}\n onToggleDialog={onToggleDialog}\n dialogBody={\n <>\n <Typography id=\"confirm-description\" textAlign=\"center\">\n {countDraftRelations > 0 &&\n formatMessage(\n {\n id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.message`),\n defaultMessage:\n '<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. ',\n },\n {\n b: BoldChunk,\n count: countDraftRelations,\n entities: selectedEntries.length,\n }\n )}\n {formatMessage({\n id: getTranslation('popUpWarning.bodyMessage.contentType.publish.all'),\n defaultMessage: 'Are you sure you want to publish these entries?',\n })}\n </Typography>\n </>\n }\n endAction={\n <Button\n width={'50%'}\n onClick={onConfirm}\n variant=\"secondary\"\n startIcon={<Check />}\n loading={isConfirmButtonLoading}\n >\n {formatMessage({\n id: 'app.utils.publish',\n defaultMessage: 'Publish',\n })}\n </Button>\n }\n />\n );\n};\n\nexport { ConfirmDialogPublishAll, ConfirmBulkActionDialog };\nexport type { ConfirmDialogPublishAllProps, ConfirmBulkActionDialogProps };\n"],"names":["ConfirmBulkActionDialog","onToggleDialog","isOpen","dialogBody","endAction","formatMessage","useIntl","_jsx","Dialog","Root","open","_jsxs","Content","Header","id","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","WarningCircle","width","height","fill","Footer","Cancel","Button","onClick","variant","BoldChunk","chunks","Typography","fontWeight","ConfirmDialogPublishAll","isConfirmButtonLoading","onConfirm","selectedEntries","useTable","state","selectedRows","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","getTranslation","model","useDoc","query","useQueryParams","enableDraftRelationsCount","data","countDraftRelations","isLoading","error","useGetManyDraftRelationCountQuery","documentIds","map","entry","documentId","locale","plugins","i18n","skip","React","useEffect","type","message","_Fragment","textAlign","b","count","entities","length","startIcon","Check","loading"],"mappings":"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"}
|
|
@@ -93,7 +93,7 @@ const EntryValidationText = ({ validationErrors, status })=>{
|
|
|
93
93
|
fill: "danger600"
|
|
94
94
|
}),
|
|
95
95
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Tooltip, {
|
|
96
|
-
|
|
96
|
+
label: validationErrorsMessages,
|
|
97
97
|
children: /*#__PURE__*/ jsxRuntime.jsx(TypographyMaxWidth, {
|
|
98
98
|
textColor: "danger600",
|
|
99
99
|
variant: "omega",
|