@strapi/content-manager 5.37.1 → 5.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/ActionsDrawer.js.map +1 -1
- package/dist/admin/components/ActionsDrawer.mjs.map +1 -1
- package/dist/admin/components/ComponentIcon.js.map +1 -1
- package/dist/admin/components/ComponentIcon.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.mjs +2 -2
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.js +62 -30
- package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.mjs +62 -30
- package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
- package/dist/admin/components/DragLayer.js.map +1 -1
- package/dist/admin/components/DragLayer.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
- package/dist/admin/components/FieldTypeIcon.js.map +1 -1
- package/dist/admin/components/FieldTypeIcon.mjs +1 -1
- package/dist/admin/components/FieldTypeIcon.mjs.map +1 -1
- package/dist/admin/components/InjectionZone.js.map +1 -1
- package/dist/admin/components/InjectionZone.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js.map +1 -1
- 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.map +1 -1
- package/dist/admin/components/Widgets.mjs +1 -1
- package/dist/admin/components/Widgets.mjs.map +1 -1
- package/dist/admin/constants/attributes.js.map +1 -1
- package/dist/admin/constants/attributes.mjs.map +1 -1
- package/dist/admin/constants/collections.js.map +1 -1
- package/dist/admin/constants/collections.mjs.map +1 -1
- package/dist/admin/constants/dragAndDrop.js.map +1 -1
- package/dist/admin/constants/dragAndDrop.mjs.map +1 -1
- package/dist/admin/constants/hooks.js.map +1 -1
- package/dist/admin/constants/hooks.mjs.map +1 -1
- package/dist/admin/constants/plugin.js.map +1 -1
- package/dist/admin/constants/plugin.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/features/DocumentRBAC.js.map +1 -1
- package/dist/admin/features/DocumentRBAC.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/VersionContent.js.map +1 -1
- package/dist/admin/history/components/VersionContent.mjs.map +1 -1
- package/dist/admin/history/components/VersionHeader.js.map +1 -1
- package/dist/admin/history/components/VersionHeader.mjs +1 -1
- 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 +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
- package/dist/admin/history/components/VersionsList.js.map +1 -1
- package/dist/admin/history/components/VersionsList.mjs.map +1 -1
- package/dist/admin/history/index.js.map +1 -1
- package/dist/admin/history/index.mjs.map +1 -1
- package/dist/admin/history/pages/History.js.map +1 -1
- package/dist/admin/history/pages/History.mjs +1 -1
- package/dist/admin/history/pages/History.mjs.map +1 -1
- package/dist/admin/history/routes.js.map +1 -1
- package/dist/admin/history/routes.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/useContentTypeSchema.js.map +1 -1
- package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -1
- package/dist/admin/hooks/useDebounce.js.map +1 -1
- package/dist/admin/hooks/useDebounce.mjs.map +1 -1
- package/dist/admin/hooks/useDocument.js.map +1 -1
- package/dist/admin/hooks/useDocument.mjs +1 -1
- package/dist/admin/hooks/useDocument.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentContext.js.map +1 -1
- package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentLayout.js +2 -1
- package/dist/admin/hooks/useDocumentLayout.js.map +1 -1
- package/dist/admin/hooks/useDocumentLayout.mjs +2 -1
- package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -1
- package/dist/admin/hooks/useDragAndDrop.js +1 -3
- package/dist/admin/hooks/useDragAndDrop.js.map +1 -1
- package/dist/admin/hooks/useDragAndDrop.mjs +1 -3
- package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -1
- package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -1
- package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -1
- package/dist/admin/hooks/useLazyComponents.js.map +1 -1
- package/dist/admin/hooks/useLazyComponents.mjs.map +1 -1
- package/dist/admin/hooks/useOnce.js.map +1 -1
- package/dist/admin/hooks/useOnce.mjs.map +1 -1
- package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
- package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
- package/dist/admin/hooks/usePrev.js.map +1 -1
- package/dist/admin/hooks/usePrev.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.map +1 -1
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/modules/app.js.map +1 -1
- package/dist/admin/modules/app.mjs.map +1 -1
- package/dist/admin/modules/hooks.js.map +1 -1
- package/dist/admin/modules/hooks.mjs +1 -1
- package/dist/admin/modules/hooks.mjs.map +1 -1
- package/dist/admin/modules/reducers.js.map +1 -1
- package/dist/admin/modules/reducers.mjs.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditConfigurationPage.js.map +1 -1
- package/dist/admin/pages/EditConfigurationPage.mjs +1 -1
- package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +4 -4
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Blocker.js.map +1 -1
- package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +4 -4
- 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/EditorToolbarObserver.js.map +1 -1
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.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 +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/Heading.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -1
- 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.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.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/BlocksEditor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.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 +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.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +1 -1
- 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 +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.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.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.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/NotAllowed.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +45 -6
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +46 -9
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -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.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.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/WysiwygFooter.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.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/continueList.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +8 -6
- 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 +8 -6
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Header.js.map +1 -1
- package/dist/admin/pages/EditView/components/Header.mjs +2 -2
- package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Panels.js.map +1 -1
- package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/data.js.map +1 -1
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/forms.js.map +1 -1
- package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -1
- 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 +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.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/ListConfiguration/components/Settings.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +3 -3
- 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.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +1 -4
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -5
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +4 -4
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +2 -2
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -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.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js +7 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +7 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs +2 -2
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +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.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
- package/dist/admin/pages/NoContentTypePage.js.map +1 -1
- package/dist/admin/pages/NoContentTypePage.mjs.map +1 -1
- package/dist/admin/pages/NoPermissionsPage.js.map +1 -1
- package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -1
- package/dist/admin/preview/components/InputPopover.js.map +1 -1
- package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -1
- package/dist/admin/preview/index.js.map +1 -1
- package/dist/admin/preview/index.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/preview/routes.js.map +1 -1
- package/dist/admin/preview/routes.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 +0 -1
- package/dist/admin/preview/utils/constants.js.map +1 -1
- package/dist/admin/preview/utils/constants.mjs +0 -1
- package/dist/admin/preview/utils/constants.mjs.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
- package/dist/admin/preview/utils/getSendMessage.js.map +1 -1
- package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -1
- package/dist/admin/preview/utils/previewScript.js.map +1 -1
- 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.map +1 -1
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/services/components.js.map +1 -1
- package/dist/admin/services/components.mjs.map +1 -1
- package/dist/admin/services/contentTypes.js.map +1 -1
- package/dist/admin/services/contentTypes.mjs.map +1 -1
- package/dist/admin/services/documents.js.map +1 -1
- 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/init.js.map +1 -1
- package/dist/admin/services/init.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/services/uid.js.map +1 -1
- package/dist/admin/services/uid.mjs.map +1 -1
- package/dist/admin/src/hooks/useDocumentLayout.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +7 -2
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +1 -1
- 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 +72 -1
- package/dist/admin/translations/fr.json.js.map +1 -1
- package/dist/admin/translations/fr.json.mjs +72 -1
- package/dist/admin/translations/fr.json.mjs.map +1 -1
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/attributes.js.map +1 -1
- package/dist/admin/utils/attributes.mjs.map +1 -1
- package/dist/admin/utils/objects.js.map +1 -1
- package/dist/admin/utils/objects.mjs.map +1 -1
- package/dist/admin/utils/relations.js.map +1 -1
- package/dist/admin/utils/relations.mjs.map +1 -1
- package/dist/admin/utils/strings.js.map +1 -1
- package/dist/admin/utils/strings.mjs.map +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/bootstrap.js.map +1 -1
- package/dist/server/bootstrap.mjs.map +1 -1
- package/dist/server/constants/index.js.map +1 -1
- package/dist/server/constants/index.mjs.map +1 -1
- package/dist/server/controllers/collection-types.js.map +1 -1
- package/dist/server/controllers/collection-types.mjs +1 -1
- package/dist/server/controllers/collection-types.mjs.map +1 -1
- package/dist/server/controllers/components.js.map +1 -1
- package/dist/server/controllers/components.mjs.map +1 -1
- package/dist/server/controllers/content-types.js +10 -10
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/content-types.mjs.map +1 -1
- package/dist/server/controllers/index.js +4 -4
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/init.js.map +1 -1
- package/dist/server/controllers/init.mjs.map +1 -1
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +3 -3
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/single-types.js.map +1 -1
- package/dist/server/controllers/single-types.mjs +1 -1
- package/dist/server/controllers/single-types.mjs.map +1 -1
- package/dist/server/controllers/uid.js.map +1 -1
- package/dist/server/controllers/uid.mjs +1 -1
- package/dist/server/controllers/uid.mjs.map +1 -1
- package/dist/server/controllers/utils/clone.js.map +1 -1
- package/dist/server/controllers/utils/clone.mjs.map +1 -1
- package/dist/server/controllers/utils/document-status.js.map +1 -1
- package/dist/server/controllers/utils/document-status.mjs.map +1 -1
- package/dist/server/controllers/utils/metadata.js.map +1 -1
- package/dist/server/controllers/utils/metadata.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 +1 -1
- package/dist/server/controllers/validation/index.mjs.map +1 -1
- package/dist/server/controllers/validation/model-configuration.js +6 -1
- package/dist/server/controllers/validation/model-configuration.js.map +1 -1
- package/dist/server/controllers/validation/model-configuration.mjs +6 -1
- package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
- package/dist/server/controllers/validation/relations.js.map +1 -1
- package/dist/server/controllers/validation/relations.mjs.map +1 -1
- package/dist/server/destroy.js.map +1 -1
- package/dist/server/destroy.mjs.map +1 -1
- package/dist/server/history/constants.js.map +1 -1
- package/dist/server/history/constants.mjs.map +1 -1
- package/dist/server/history/controllers/history-version.js.map +1 -1
- package/dist/server/history/controllers/history-version.mjs.map +1 -1
- package/dist/server/history/controllers/index.js.map +1 -1
- package/dist/server/history/controllers/index.mjs.map +1 -1
- package/dist/server/history/controllers/validation/history-version.js.map +1 -1
- package/dist/server/history/controllers/validation/history-version.mjs.map +1 -1
- package/dist/server/history/index.js +4 -4
- package/dist/server/history/index.js.map +1 -1
- package/dist/server/history/index.mjs.map +1 -1
- package/dist/server/history/models/history-version.js.map +1 -1
- package/dist/server/history/models/history-version.mjs.map +1 -1
- package/dist/server/history/routes/history-version.js.map +1 -1
- package/dist/server/history/routes/history-version.mjs.map +1 -1
- package/dist/server/history/routes/index.js.map +1 -1
- package/dist/server/history/routes/index.mjs.map +1 -1
- package/dist/server/history/services/history.js.map +1 -1
- package/dist/server/history/services/history.mjs.map +1 -1
- package/dist/server/history/services/index.js.map +1 -1
- package/dist/server/history/services/index.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/history/services/utils.js.map +1 -1
- package/dist/server/history/services/utils.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/controllers/homepage.js.map +1 -1
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
- package/dist/server/homepage/controllers/index.js.map +1 -1
- package/dist/server/homepage/controllers/index.mjs.map +1 -1
- package/dist/server/homepage/index.js +6 -6
- package/dist/server/homepage/index.js.map +1 -1
- package/dist/server/homepage/index.mjs.map +1 -1
- package/dist/server/homepage/routes/homepage.js.map +1 -1
- package/dist/server/homepage/routes/homepage.mjs.map +1 -1
- package/dist/server/homepage/routes/index.js.map +1 -1
- package/dist/server/homepage/routes/index.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/homepage/services/index.js.map +1 -1
- package/dist/server/homepage/services/index.mjs.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/middlewares/routing.js.map +1 -1
- package/dist/server/middlewares/routing.mjs.map +1 -1
- package/dist/server/policies/hasPermissions.js.map +1 -1
- package/dist/server/policies/hasPermissions.mjs.map +1 -1
- package/dist/server/policies/index.js.map +1 -1
- package/dist/server/policies/index.mjs.map +1 -1
- package/dist/server/preview/controllers/index.js.map +1 -1
- package/dist/server/preview/controllers/index.mjs.map +1 -1
- package/dist/server/preview/controllers/preview.js.map +1 -1
- package/dist/server/preview/controllers/preview.mjs.map +1 -1
- package/dist/server/preview/controllers/validation/preview.js.map +1 -1
- package/dist/server/preview/controllers/validation/preview.mjs.map +1 -1
- package/dist/server/preview/index.js +4 -4
- package/dist/server/preview/index.js.map +1 -1
- package/dist/server/preview/index.mjs.map +1 -1
- package/dist/server/preview/routes/index.js.map +1 -1
- package/dist/server/preview/routes/index.mjs.map +1 -1
- package/dist/server/preview/routes/preview.js.map +1 -1
- package/dist/server/preview/routes/preview.mjs.map +1 -1
- package/dist/server/preview/services/index.js.map +1 -1
- package/dist/server/preview/services/index.mjs.map +1 -1
- package/dist/server/preview/services/preview-config.js.map +1 -1
- package/dist/server/preview/services/preview-config.mjs +1 -1
- 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/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs.map +1 -1
- package/dist/server/routes/index.js +4 -4
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/services/components.js.map +1 -1
- package/dist/server/services/components.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/content-types.js.map +1 -1
- package/dist/server/services/content-types.mjs.map +1 -1
- package/dist/server/services/data-mapper.js.map +1 -1
- package/dist/server/services/data-mapper.mjs.map +1 -1
- package/dist/server/services/document-manager.js.map +1 -1
- package/dist/server/services/document-manager.mjs +2 -2
- package/dist/server/services/document-manager.mjs.map +1 -1
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +2 -2
- 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/index.js +4 -4
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/metrics.js.map +1 -1
- package/dist/server/services/metrics.mjs.map +1 -1
- package/dist/server/services/permission-checker.js.map +1 -1
- package/dist/server/services/permission-checker.mjs.map +1 -1
- package/dist/server/services/permission.js.map +1 -1
- package/dist/server/services/permission.mjs.map +1 -1
- package/dist/server/services/populate-builder.js.map +1 -1
- package/dist/server/services/populate-builder.mjs +4 -4
- package/dist/server/services/populate-builder.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/configuration/attributes.js.map +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
- package/dist/server/services/utils/configuration/index.js.map +1 -1
- package/dist/server/services/utils/configuration/index.mjs +3 -3
- package/dist/server/services/utils/configuration/index.mjs.map +1 -1
- package/dist/server/services/utils/configuration/layouts.js.map +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
- package/dist/server/services/utils/configuration/settings.js +4 -2
- package/dist/server/services/utils/configuration/settings.js.map +1 -1
- package/dist/server/services/utils/configuration/settings.mjs +5 -3
- package/dist/server/services/utils/configuration/settings.mjs.map +1 -1
- package/dist/server/services/utils/draft.js.map +1 -1
- package/dist/server/services/utils/draft.mjs.map +1 -1
- package/dist/server/services/utils/populate.js.map +1 -1
- package/dist/server/services/utils/populate.mjs +1 -1
- package/dist/server/services/utils/populate.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/services/utils/configuration/settings.d.ts.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/server/validation/policies/hasPermissions.js.map +1 -1
- package/dist/server/validation/policies/hasPermissions.mjs.map +1 -1
- package/dist/shared/contracts/content-types.d.ts +2 -0
- package/dist/shared/contracts/content-types.d.ts.map +1 -1
- package/dist/shared/contracts/relations.d.ts +1 -1
- package/dist/shared/contracts/relations.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListViewPage.mjs","sources":["../../../../admin/src/pages/ListView/ListViewPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Page,\n Pagination,\n SearchInput,\n Table,\n BackButton,\n useNotification,\n useStrapiApp,\n useTracking,\n useAPIErrorHandler,\n useQueryParams,\n useScopedPersistentState,\n useRBAC,\n Layouts,\n useTable,\n useIsMobile,\n useIsDesktop,\n tours,\n} from '@strapi/admin/strapi-admin';\nimport {\n Button,\n Flex,\n Typography,\n ButtonProps,\n Box,\n EmptyStateLayout,\n} from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, Link as ReactRouterLink, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { InjectionZone } from '../../components/InjectionZone';\nimport { HOOKS } from '../../constants/hooks';\nimport { PERMISSIONS } from '../../constants/plugin';\nimport { DocumentRBAC, useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDoc } from '../../hooks/useDocument';\nimport {\n ListFieldLayout,\n convertListLayoutToFieldLayouts,\n useDocumentLayout,\n} from '../../hooks/useDocumentLayout';\nimport { usePersistentPartialQueryParams } from '../../hooks/usePersistentQueryParams';\nimport { usePrev } from '../../hooks/usePrev';\nimport { useGetAllDocumentsQuery } from '../../services/documents';\nimport { buildValidParams } from '../../utils/api';\nimport { getTranslation } from '../../utils/translations';\nimport { getDisplayName } from '../../utils/users';\nimport { DocumentStatus } from '../EditView/components/DocumentStatus';\n\nimport { BulkActionsRenderer } from './components/BulkActions/Actions';\nimport { listViewFilters as Filters } from './components/Filters';\nimport { TableActions } from './components/TableActions';\nimport { CellContent } from './components/TableCells/CellContent';\nimport { ViewSettingsMenu } from './components/ViewSettingsMenu';\n\nimport type { Modules } from '@strapi/types';\n\nconst { INJECT_COLUMN_IN_TABLE } = HOOKS;\n\n/* -------------------------------------------------------------------------------------------------\n * ListViewPage\n * -----------------------------------------------------------------------------------------------*/\nconst LayoutsHeaderCustom = styled(Layouts.Header)`\n overflow-wrap: anywhere;\n`;\n\nconst ListViewPage = () => {\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n const isMobile = useIsMobile();\n const isDesktop = useIsDesktop();\n\n usePersistentPartialQueryParams('STRAPI_LIST_VIEW_SETTINGS:', ['sort', 'filters', 'pageSize']);\n usePersistentPartialQueryParams('STRAPI_LOCALE', ['plugins.i18n.locale'], false);\n\n const { collectionType, model, schema } = useDoc();\n const { list } = useDocumentLayout(model);\n\n const [displayedHeaderNames, setDisplayedHeaderNames] = useScopedPersistentState<string[] | null>(\n `STRAPI_LIST_VIEW_DISPLAYED_HEADERS:${model}`,\n null\n );\n\n const mapDisplayedHeaders = (headers: ListFieldLayout[]) => headers.map((header) => header.name);\n\n const displayedHeaders: ListFieldLayout[] = React.useMemo(() => {\n if (\n !displayedHeaderNames ||\n !list.metadatas ||\n Object.keys(list.metadatas).length <= 0 ||\n !schema?.attributes\n )\n return [];\n\n return convertListLayoutToFieldLayouts(displayedHeaderNames, schema.attributes, list.metadatas);\n }, [displayedHeaderNames, schema, list]);\n\n const handleSetHeaders = (headers: string[]) => {\n setDisplayedHeaderNames(headers);\n };\n\n const handleResetHeaders = () => {\n setDisplayedHeaderNames(mapDisplayedHeaders(list.layout));\n };\n\n /**\n * If the persistent displayedHeaders are not yet initialized, set them to list.layout\n */\n React.useEffect(() => {\n // wait for list.layout to be loaded\n if (list.layout.length === 0) {\n return;\n }\n\n if (!displayedHeaderNames) {\n handleResetHeaders();\n }\n }, [list.layout]);\n\n React.useEffect(() => {\n if (!schema?.attributes) return;\n if (!displayedHeaderNames || displayedHeaderNames.length === 0) return;\n if (schema.uid !== model) return;\n\n const allowedDisplayHeaders = displayedHeaderNames.filter((header) =>\n Object.keys(schema?.attributes).includes(header)\n );\n\n if (allowedDisplayHeaders.length !== displayedHeaderNames.length) {\n handleSetHeaders(allowedDisplayHeaders);\n }\n }, [displayedHeaderNames]);\n\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n page?: string;\n pageSize?: string;\n sort?: string;\n }>({\n page: '1',\n pageSize: list.settings.pageSize.toString(),\n sort: list.settings.defaultSortBy\n ? `${list.settings.defaultSortBy}:${list.settings.defaultSortOrder}`\n : '',\n });\n\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const hasAppliedFilters = Boolean((query as any)?.filters?.$and?.length);\n\n const { data, error, isLoading, isFetching } = useGetAllDocumentsQuery({\n model,\n params,\n });\n\n /**\n * If the API returns an error, display a notification\n */\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const { results = [], pagination } = data ?? {};\n\n React.useEffect(() => {\n if (pagination && pagination.pageCount > 0 && pagination.page > pagination.pageCount) {\n navigate(\n {\n search: stringify({\n ...query,\n page: pagination.pageCount,\n }),\n },\n { replace: true }\n );\n }\n }, [pagination, formatMessage, query, navigate]);\n\n const { canCreate } = useDocumentRBAC('ListViewPage', ({ canCreate }) => ({\n canCreate,\n }));\n\n const runHookWaterfall = useStrapiApp('ListViewPage', ({ runHookWaterfall }) => runHookWaterfall);\n /**\n * Run the waterfall and then inject our additional table headers.\n */\n const tableHeaders = React.useMemo(() => {\n const headers = runHookWaterfall(INJECT_COLUMN_IN_TABLE, {\n displayedHeaders,\n layout: list,\n });\n\n const formattedHeaders = headers.displayedHeaders.map<ListFieldLayout>((header) => {\n /**\n * When the header label is a string, it is an attribute on the current content-type:\n * Use the attribute name value to compute the translation.\n * Otherwise, it should be a translation object coming from a plugin that injects into the table (ie i18n, content-releases, review-workflows):\n * Use the translation object as is.\n */\n const translation =\n typeof header.label === 'string'\n ? {\n id: `content-manager.content-types.${model}.${header.name}`,\n defaultMessage: header.label,\n }\n : header.label;\n\n return {\n ...header,\n label: formatMessage(translation),\n name: `${header.name}${header.mainField?.name ? `.${header.mainField.name}` : ''}`,\n };\n });\n\n if (schema?.options?.draftAndPublish) {\n formattedHeaders.push({\n attribute: {\n type: 'custom',\n },\n name: 'status',\n label: formatMessage({\n id: getTranslation(`containers.list.table-headers.status`),\n defaultMessage: 'status',\n }),\n searchable: false,\n sortable: false,\n } satisfies ListFieldLayout);\n }\n\n return formattedHeaders;\n }, [\n displayedHeaders,\n formatMessage,\n list,\n runHookWaterfall,\n schema?.options?.draftAndPublish,\n model,\n ]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error) {\n return <Page.Error />;\n }\n\n const contentTypeTitle = schema?.info.displayName\n ? formatMessage({ id: schema.info.displayName, defaultMessage: schema.info.displayName })\n : formatMessage({\n id: 'content-manager.containers.untitled',\n defaultMessage: 'Untitled',\n });\n\n const handleRowClick = (id: Modules.Documents.ID) => () => {\n trackUsage('willEditEntryFromList');\n navigate({\n pathname: id.toString(),\n search: stringify({ plugins: query.plugins }),\n });\n };\n\n const isEmptyState = !isFetching && results.length === 0;\n\n const endActions = (\n <>\n {isMobile && list.settings.filterable && schema && <Filters.Trigger />}\n <InjectionZone area=\"listView.actions\" />\n <ViewSettingsMenu\n setHeaders={handleSetHeaders}\n resetHeaders={handleResetHeaders}\n headers={displayedHeaderNames ?? []}\n />\n </>\n );\n\n const searchInput = (\n <>\n {list.settings.searchable && (\n <SearchInput\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: contentTypeTitle }\n )}\n placeholder={formatMessage({\n id: 'global.search',\n defaultMessage: 'Search',\n })}\n trackedEvent=\"didSearch\"\n />\n )}\n </>\n );\n\n const startActions = (\n <>\n {searchInput}\n {!isMobile && list.settings.filterable && schema && (\n <>\n <Filters.Trigger />\n <Filters.List />\n </>\n )}\n </>\n );\n\n const actions =\n list.settings.filterable && schema ? (\n <Filters.Root schema={schema}>\n <Layouts.Action\n endActions={endActions}\n startActions={startActions}\n bottomActions={isMobile && hasAppliedFilters ? <Filters.List /> : null}\n />\n <Filters.Popover />\n </Filters.Root>\n ) : (\n <Layouts.Action endActions={endActions} startActions={startActions} />\n );\n\n return (\n <>\n <tours.contentManager.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentManager.Introduction>\n <Page.Main>\n <Page.Title>{`${contentTypeTitle}`}</Page.Title>\n <LayoutsHeaderCustom\n primaryAction={\n canCreate ? (\n <tours.contentManager.CreateNewEntry>\n <CreateButton />\n </tours.contentManager.CreateNewEntry>\n ) : null\n }\n subtitle={formatMessage(\n {\n id: getTranslation('pages.ListView.header-subtitle'),\n defaultMessage:\n '{number, plural, =0 {# entries} one {# entry} other {# entries}} found',\n },\n { number: pagination?.total }\n )}\n title={contentTypeTitle}\n navigationAction={<BackButton />}\n />\n {actions}\n <Layouts.Content>\n {isEmptyState ? (\n <Box background=\"neutral0\" shadow=\"filterShadow\" hasRadius>\n <EmptyStateLayout\n action={\n canCreate && (\n <Box>\n <CreateButton variant=\"secondary\" />\n </Box>\n )\n }\n content={formatMessage({\n id: 'app.components.EmptyStateLayout.content-document',\n defaultMessage: 'No content found',\n })}\n hasRadius\n icon={<EmptyDocuments width=\"16rem\" />}\n />\n </Box>\n ) : (\n <Flex gap={4} direction=\"column\" alignItems=\"stretch\">\n <Table.Root rows={results} headers={tableHeaders} isLoading={isFetching}>\n <TableActionsBar />\n <Table.Content>\n <Table.Head>\n <Table.HeaderCheckboxCell />\n {tableHeaders.map((header: ListFieldLayout) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Loading />\n <Table.Empty action={canCreate ? <CreateButton variant=\"secondary\" /> : null} />\n <Table.Body>\n {results.map((row) => {\n return (\n <Table.Row\n cursor=\"pointer\"\n key={row.id}\n onClick={handleRowClick(row.documentId)}\n >\n <Table.CheckboxCell id={row.id} />\n {tableHeaders.map(({ cellFormatter, ...header }) => {\n if (header.name === 'status') {\n const { status } = row;\n\n return (\n <Table.Cell key={header.name}>\n <DocumentStatus status={status} maxWidth={'min-content'} />\n </Table.Cell>\n );\n }\n if (['createdBy', 'updatedBy'].includes(header.name.split('.')[0])) {\n // Display the users full name\n // Some entries doesn't have a user assigned as creator/updater (ex: entries created through content API)\n // In this case, we display a dash\n return (\n <Table.Cell key={header.name}>\n <Typography textColor=\"neutral800\">\n {row[header.name.split('.')[0]]\n ? getDisplayName(row[header.name.split('.')[0]])\n : '-'}\n </Typography>\n </Table.Cell>\n );\n }\n if (typeof cellFormatter === 'function') {\n return (\n <Table.Cell key={header.name}>\n {/* @ts-expect-error – TODO: fix this TS error */}\n {cellFormatter(row, header, { collectionType, model })}\n </Table.Cell>\n );\n }\n return (\n <Table.Cell key={header.name}>\n <CellContent\n content={row[header.name.split('.')[0]]}\n rowId={row.documentId}\n {...header}\n />\n </Table.Cell>\n );\n })}\n {/* we stop propagation here to allow the menu to trigger it's events without triggering the row redirect */}\n <ActionsCell onClick={(e) => e.stopPropagation()}>\n <TableActions document={row} />\n </ActionsCell>\n </Table.Row>\n );\n })}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n <Pagination.Root\n {...pagination}\n onPageSizeChange={() => trackUsage('willChangeNumberOfEntriesPerPage')}\n >\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Flex>\n )}\n </Layouts.Content>\n </Page.Main>\n </>\n );\n};\n\nconst ActionsCell = styled(Table.Cell)`\n display: flex;\n justify-content: flex-end;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * TableActionsBar\n * -----------------------------------------------------------------------------------------------*/\n\nconst TableActionsBar = () => {\n const selectRow = useTable('TableActionsBar', (state) => state.selectRow);\n const [{ query }] = useQueryParams<{ plugins: { i18n: { locale: string } } }>();\n const locale = query?.plugins?.i18n?.locale;\n const prevLocale = usePrev(locale);\n\n // TODO: find a better way to reset the selected rows when the locale changes across all the app\n React.useEffect(() => {\n if (prevLocale !== locale) {\n selectRow([]);\n }\n }, [selectRow, prevLocale, locale]);\n\n return (\n <Table.ActionBar>\n <BulkActionsRenderer />\n </Table.ActionBar>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CreateButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CreateButtonProps extends Pick<ButtonProps, 'variant'> {}\n\nconst CreateButton = ({ variant }: CreateButtonProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [{ query }] = useQueryParams<{ plugins: object }>();\n\n return (\n <Button\n variant={variant}\n tag={ReactRouterLink}\n onClick={() => {\n trackUsage('willCreateEntry', { status: 'draft' });\n }}\n startIcon={<Plus />}\n style={{ textDecoration: 'none' }}\n to={{\n pathname: 'create',\n search: stringify({ plugins: query.plugins }),\n }}\n minWidth=\"max-content\"\n fullWidth\n >\n {formatMessage({\n id: getTranslation('HeaderLayout.button.label-add-entry'),\n defaultMessage: 'Create new entry',\n })}\n </Button>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListViewPage = () => {\n const { slug = '' } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC(\n PERMISSIONS.map((action) => ({\n action,\n subject: slug,\n }))\n );\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !slug) {\n return <Page.Error />;\n }\n\n return (\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <ListViewPage key={slug} />\n </DocumentRBAC>\n )}\n </Page.Protect>\n );\n};\n\nexport { ListViewPage, ProtectedListViewPage };\n"],"names":["INJECT_COLUMN_IN_TABLE","HOOKS","LayoutsHeaderCustom","styled","Layouts","Header","ListViewPage","trackUsage","useTracking","navigate","useNavigate","formatMessage","useIntl","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","getTranslation","isMobile","useIsMobile","useIsDesktop","usePersistentPartialQueryParams","collectionType","model","schema","useDoc","list","useDocumentLayout","displayedHeaderNames","setDisplayedHeaderNames","useScopedPersistentState","mapDisplayedHeaders","headers","map","header","name","displayedHeaders","React","useMemo","metadatas","Object","keys","length","attributes","convertListLayoutToFieldLayouts","handleSetHeaders","handleResetHeaders","layout","useEffect","uid","allowedDisplayHeaders","filter","includes","query","useQueryParams","page","pageSize","settings","toString","sort","defaultSortBy","defaultSortOrder","params","buildValidParams","hasAppliedFilters","Boolean","filters","$and","data","error","isLoading","isFetching","useGetAllDocumentsQuery","type","message","results","pagination","pageCount","search","stringify","replace","canCreate","useDocumentRBAC","runHookWaterfall","useStrapiApp","tableHeaders","formattedHeaders","translation","label","id","defaultMessage","mainField","options","draftAndPublish","push","attribute","searchable","sortable","_jsx","Page","Loading","Error","contentTypeTitle","info","displayName","handleRowClick","pathname","plugins","isEmptyState","endActions","_jsxs","_Fragment","filterable","Filters","Trigger","InjectionZone","area","ViewSettingsMenu","setHeaders","resetHeaders","searchInput","SearchInput","target","placeholder","trackedEvent","startActions","List","actions","Root","Action","bottomActions","Popover","tours","contentManager","Introduction","Box","Main","Title","primaryAction","CreateNewEntry","CreateButton","subtitle","number","total","title","navigationAction","BackButton","Content","background","shadow","hasRadius","EmptyStateLayout","action","variant","content","icon","EmptyDocuments","width","Flex","gap","direction","alignItems","Table","rows","TableActionsBar","Head","HeaderCheckboxCell","HeaderCell","Empty","Body","row","Row","cursor","onClick","documentId","CheckboxCell","cellFormatter","status","Cell","DocumentStatus","maxWidth","split","Typography","textColor","getDisplayName","CellContent","rowId","ActionsCell","e","stopPropagation","TableActions","document","Pagination","onPageSizeChange","PageSize","Links","selectRow","useTable","state","locale","i18n","prevLocale","usePrev","ActionBar","BulkActionsRenderer","Button","tag","ReactRouterLink","startIcon","Plus","style","textDecoration","to","minWidth","fullWidth","ProtectedListViewPage","slug","useParams","permissions","useRBAC","PERMISSIONS","subject","Protect","DocumentRBAC"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListViewPage.mjs","sources":["../../../../admin/src/pages/ListView/ListViewPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Page,\n Pagination,\n SearchInput,\n Table,\n BackButton,\n useNotification,\n useStrapiApp,\n useTracking,\n useAPIErrorHandler,\n useQueryParams,\n useScopedPersistentState,\n useRBAC,\n Layouts,\n useTable,\n useIsMobile,\n useIsDesktop,\n tours,\n} from '@strapi/admin/strapi-admin';\nimport {\n Button,\n Flex,\n Typography,\n ButtonProps,\n Box,\n EmptyStateLayout,\n} from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, Link as ReactRouterLink, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { InjectionZone } from '../../components/InjectionZone';\nimport { HOOKS } from '../../constants/hooks';\nimport { PERMISSIONS } from '../../constants/plugin';\nimport { DocumentRBAC, useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDoc } from '../../hooks/useDocument';\nimport {\n ListFieldLayout,\n convertListLayoutToFieldLayouts,\n useDocumentLayout,\n} from '../../hooks/useDocumentLayout';\nimport { usePersistentPartialQueryParams } from '../../hooks/usePersistentQueryParams';\nimport { usePrev } from '../../hooks/usePrev';\nimport { useGetAllDocumentsQuery } from '../../services/documents';\nimport { buildValidParams } from '../../utils/api';\nimport { getTranslation } from '../../utils/translations';\nimport { getDisplayName } from '../../utils/users';\nimport { DocumentStatus } from '../EditView/components/DocumentStatus';\n\nimport { BulkActionsRenderer } from './components/BulkActions/Actions';\nimport { listViewFilters as Filters } from './components/Filters';\nimport { TableActions } from './components/TableActions';\nimport { CellContent } from './components/TableCells/CellContent';\nimport { ViewSettingsMenu } from './components/ViewSettingsMenu';\n\nimport type { Modules } from '@strapi/types';\n\nconst { INJECT_COLUMN_IN_TABLE } = HOOKS;\n\n/* -------------------------------------------------------------------------------------------------\n * ListViewPage\n * -----------------------------------------------------------------------------------------------*/\nconst LayoutsHeaderCustom = styled(Layouts.Header)`\n overflow-wrap: anywhere;\n`;\n\nconst ListViewPage = () => {\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n const isMobile = useIsMobile();\n const isDesktop = useIsDesktop();\n\n usePersistentPartialQueryParams('STRAPI_LIST_VIEW_SETTINGS:', ['sort', 'filters', 'pageSize']);\n usePersistentPartialQueryParams('STRAPI_LOCALE', ['plugins.i18n.locale'], false);\n\n const { collectionType, model, schema } = useDoc();\n const { list } = useDocumentLayout(model);\n\n const [displayedHeaderNames, setDisplayedHeaderNames] = useScopedPersistentState<string[] | null>(\n `STRAPI_LIST_VIEW_DISPLAYED_HEADERS:${model}`,\n null\n );\n\n const mapDisplayedHeaders = (headers: ListFieldLayout[]) => headers.map((header) => header.name);\n\n const displayedHeaders: ListFieldLayout[] = React.useMemo(() => {\n if (\n !displayedHeaderNames ||\n !list.metadatas ||\n Object.keys(list.metadatas).length <= 0 ||\n !schema?.attributes\n )\n return [];\n\n return convertListLayoutToFieldLayouts(displayedHeaderNames, schema.attributes, list.metadatas);\n }, [displayedHeaderNames, schema, list]);\n\n const handleSetHeaders = (headers: string[]) => {\n setDisplayedHeaderNames(headers);\n };\n\n const handleResetHeaders = () => {\n setDisplayedHeaderNames(mapDisplayedHeaders(list.layout));\n };\n\n /**\n * If the persistent displayedHeaders are not yet initialized, set them to list.layout\n */\n React.useEffect(() => {\n // wait for list.layout to be loaded\n if (list.layout.length === 0) {\n return;\n }\n\n if (!displayedHeaderNames) {\n handleResetHeaders();\n }\n }, [list.layout]);\n\n React.useEffect(() => {\n if (!schema?.attributes) return;\n if (!displayedHeaderNames || displayedHeaderNames.length === 0) return;\n if (schema.uid !== model) return;\n\n const allowedDisplayHeaders = displayedHeaderNames.filter((header) =>\n Object.keys(schema?.attributes).includes(header)\n );\n\n if (allowedDisplayHeaders.length !== displayedHeaderNames.length) {\n handleSetHeaders(allowedDisplayHeaders);\n }\n }, [displayedHeaderNames]);\n\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n page?: string;\n pageSize?: string;\n sort?: string;\n }>({\n page: '1',\n pageSize: list.settings.pageSize.toString(),\n sort: list.settings.defaultSortBy\n ? `${list.settings.defaultSortBy}:${list.settings.defaultSortOrder}`\n : '',\n });\n\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const hasAppliedFilters = Boolean((query as any)?.filters?.$and?.length);\n\n const { data, error, isLoading, isFetching } = useGetAllDocumentsQuery({\n model,\n params,\n });\n\n /**\n * If the API returns an error, display a notification\n */\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const { results = [], pagination } = data ?? {};\n\n React.useEffect(() => {\n if (pagination && pagination.pageCount > 0 && pagination.page > pagination.pageCount) {\n navigate(\n {\n search: stringify({\n ...query,\n page: pagination.pageCount,\n }),\n },\n { replace: true }\n );\n }\n }, [pagination, formatMessage, query, navigate]);\n\n const { canCreate } = useDocumentRBAC('ListViewPage', ({ canCreate }) => ({\n canCreate,\n }));\n\n const runHookWaterfall = useStrapiApp('ListViewPage', ({ runHookWaterfall }) => runHookWaterfall);\n /**\n * Run the waterfall and then inject our additional table headers.\n */\n const tableHeaders = React.useMemo(() => {\n const headers = runHookWaterfall(INJECT_COLUMN_IN_TABLE, {\n displayedHeaders,\n layout: list,\n });\n\n const formattedHeaders = headers.displayedHeaders.map<ListFieldLayout>((header) => {\n /**\n * When the header label is a string, it is an attribute on the current content-type:\n * Use the attribute name value to compute the translation.\n * Otherwise, it should be a translation object coming from a plugin that injects into the table (ie i18n, content-releases, review-workflows):\n * Use the translation object as is.\n */\n const translation =\n typeof header.label === 'string'\n ? {\n id: `content-manager.content-types.${model}.${header.name}`,\n defaultMessage: header.label,\n }\n : header.label;\n\n return {\n ...header,\n label: formatMessage(translation),\n name: `${header.name}${header.mainField?.name ? `.${header.mainField.name}` : ''}`,\n };\n });\n\n if (schema?.options?.draftAndPublish) {\n formattedHeaders.push({\n attribute: {\n type: 'custom',\n },\n name: 'status',\n label: formatMessage({\n id: getTranslation(`containers.list.table-headers.status`),\n defaultMessage: 'status',\n }),\n searchable: false,\n sortable: false,\n } satisfies ListFieldLayout);\n }\n\n return formattedHeaders;\n }, [\n displayedHeaders,\n formatMessage,\n list,\n runHookWaterfall,\n schema?.options?.draftAndPublish,\n model,\n ]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error) {\n return <Page.Error />;\n }\n\n const contentTypeTitle = schema?.info.displayName\n ? formatMessage({ id: schema.info.displayName, defaultMessage: schema.info.displayName })\n : formatMessage({\n id: 'content-manager.containers.untitled',\n defaultMessage: 'Untitled',\n });\n\n const handleRowClick = (id: Modules.Documents.ID) => () => {\n trackUsage('willEditEntryFromList');\n navigate({\n pathname: id.toString(),\n search: stringify({ plugins: query.plugins }),\n });\n };\n\n const isEmptyState = !isFetching && results.length === 0;\n\n const endActions = (\n <>\n {isMobile && list.settings.filterable && schema && <Filters.Trigger />}\n <InjectionZone area=\"listView.actions\" />\n <ViewSettingsMenu\n setHeaders={handleSetHeaders}\n resetHeaders={handleResetHeaders}\n headers={displayedHeaderNames ?? []}\n />\n </>\n );\n\n const searchInput = (\n <>\n {list.settings.searchable && (\n <SearchInput\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: contentTypeTitle }\n )}\n placeholder={formatMessage({\n id: 'global.search',\n defaultMessage: 'Search',\n })}\n trackedEvent=\"didSearch\"\n />\n )}\n </>\n );\n\n const startActions = (\n <>\n {searchInput}\n {!isMobile && list.settings.filterable && schema && (\n <>\n <Filters.Trigger />\n <Filters.List />\n </>\n )}\n </>\n );\n\n const actions =\n list.settings.filterable && schema ? (\n <Filters.Root schema={schema}>\n <Layouts.Action\n endActions={endActions}\n startActions={startActions}\n bottomActions={isMobile && hasAppliedFilters ? <Filters.List /> : null}\n />\n <Filters.Popover />\n </Filters.Root>\n ) : (\n <Layouts.Action endActions={endActions} startActions={startActions} />\n );\n\n return (\n <>\n <tours.contentManager.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentManager.Introduction>\n <Page.Main>\n <Page.Title>{`${contentTypeTitle}`}</Page.Title>\n <LayoutsHeaderCustom\n primaryAction={\n canCreate ? (\n <tours.contentManager.CreateNewEntry>\n <CreateButton />\n </tours.contentManager.CreateNewEntry>\n ) : null\n }\n subtitle={formatMessage(\n {\n id: getTranslation('pages.ListView.header-subtitle'),\n defaultMessage:\n '{number, plural, =0 {# entries} one {# entry} other {# entries}} found',\n },\n { number: pagination?.total }\n )}\n title={contentTypeTitle}\n navigationAction={<BackButton />}\n />\n {actions}\n <Layouts.Content>\n {isEmptyState ? (\n <Box background=\"neutral0\" shadow=\"filterShadow\" hasRadius>\n <EmptyStateLayout\n action={\n canCreate && (\n <Box>\n <CreateButton variant=\"secondary\" />\n </Box>\n )\n }\n content={formatMessage({\n id: 'app.components.EmptyStateLayout.content-document',\n defaultMessage: 'No content found',\n })}\n hasRadius\n icon={<EmptyDocuments width=\"16rem\" />}\n />\n </Box>\n ) : (\n <Flex gap={4} direction=\"column\" alignItems=\"stretch\">\n <Table.Root rows={results} headers={tableHeaders} isLoading={isFetching}>\n <TableActionsBar />\n <Table.Content>\n <Table.Head>\n <Table.HeaderCheckboxCell />\n {tableHeaders.map((header: ListFieldLayout) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Loading />\n <Table.Empty action={canCreate ? <CreateButton variant=\"secondary\" /> : null} />\n <Table.Body>\n {results.map((row) => {\n return (\n <Table.Row\n cursor=\"pointer\"\n key={row.id}\n onClick={handleRowClick(row.documentId)}\n >\n <Table.CheckboxCell id={row.id} />\n {tableHeaders.map(({ cellFormatter, ...header }) => {\n if (header.name === 'status') {\n const { status } = row;\n\n return (\n <Table.Cell key={header.name}>\n <DocumentStatus status={status} maxWidth={'min-content'} />\n </Table.Cell>\n );\n }\n if (['createdBy', 'updatedBy'].includes(header.name.split('.')[0])) {\n // Display the users full name\n // Some entries doesn't have a user assigned as creator/updater (ex: entries created through content API)\n // In this case, we display a dash\n return (\n <Table.Cell key={header.name}>\n <Typography textColor=\"neutral800\">\n {row[header.name.split('.')[0]]\n ? getDisplayName(row[header.name.split('.')[0]])\n : '-'}\n </Typography>\n </Table.Cell>\n );\n }\n if (typeof cellFormatter === 'function') {\n return (\n <Table.Cell key={header.name}>\n {/* @ts-expect-error – TODO: fix this TS error */}\n {cellFormatter(row, header, { collectionType, model })}\n </Table.Cell>\n );\n }\n return (\n <Table.Cell key={header.name}>\n <CellContent\n content={row[header.name.split('.')[0]]}\n rowId={row.documentId}\n {...header}\n />\n </Table.Cell>\n );\n })}\n {/* we stop propagation here to allow the menu to trigger it's events without triggering the row redirect */}\n <ActionsCell onClick={(e) => e.stopPropagation()}>\n <TableActions document={row} />\n </ActionsCell>\n </Table.Row>\n );\n })}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n <Pagination.Root\n {...pagination}\n onPageSizeChange={() => trackUsage('willChangeNumberOfEntriesPerPage')}\n >\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Flex>\n )}\n </Layouts.Content>\n </Page.Main>\n </>\n );\n};\n\nconst ActionsCell = styled(Table.Cell)`\n display: flex;\n justify-content: flex-end;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * TableActionsBar\n * -----------------------------------------------------------------------------------------------*/\n\nconst TableActionsBar = () => {\n const selectRow = useTable('TableActionsBar', (state) => state.selectRow);\n const [{ query }] = useQueryParams<{ plugins: { i18n: { locale: string } } }>();\n const locale = query?.plugins?.i18n?.locale;\n const prevLocale = usePrev(locale);\n\n // TODO: find a better way to reset the selected rows when the locale changes across all the app\n React.useEffect(() => {\n if (prevLocale !== locale) {\n selectRow([]);\n }\n }, [selectRow, prevLocale, locale]);\n\n return (\n <Table.ActionBar>\n <BulkActionsRenderer />\n </Table.ActionBar>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CreateButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CreateButtonProps extends Pick<ButtonProps, 'variant'> {}\n\nconst CreateButton = ({ variant }: CreateButtonProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [{ query }] = useQueryParams<{ plugins: object }>();\n\n return (\n <Button\n variant={variant}\n tag={ReactRouterLink}\n onClick={() => {\n trackUsage('willCreateEntry', { status: 'draft' });\n }}\n startIcon={<Plus />}\n style={{ textDecoration: 'none' }}\n to={{\n pathname: 'create',\n search: stringify({ plugins: query.plugins }),\n }}\n minWidth=\"max-content\"\n fullWidth\n >\n {formatMessage({\n id: getTranslation('HeaderLayout.button.label-add-entry'),\n defaultMessage: 'Create new entry',\n })}\n </Button>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListViewPage = () => {\n const { slug = '' } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC(\n PERMISSIONS.map((action) => ({\n action,\n subject: slug,\n }))\n );\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !slug) {\n return <Page.Error />;\n }\n\n return (\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <ListViewPage key={slug} />\n </DocumentRBAC>\n )}\n </Page.Protect>\n );\n};\n\nexport { ListViewPage, ProtectedListViewPage };\n"],"names":["INJECT_COLUMN_IN_TABLE","HOOKS","LayoutsHeaderCustom","styled","Layouts","Header","ListViewPage","trackUsage","useTracking","navigate","useNavigate","formatMessage","useIntl","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","getTranslation","isMobile","useIsMobile","useIsDesktop","usePersistentPartialQueryParams","collectionType","model","schema","useDoc","list","useDocumentLayout","displayedHeaderNames","setDisplayedHeaderNames","useScopedPersistentState","mapDisplayedHeaders","headers","map","header","name","displayedHeaders","React","useMemo","metadatas","Object","keys","length","attributes","convertListLayoutToFieldLayouts","handleSetHeaders","handleResetHeaders","layout","useEffect","uid","allowedDisplayHeaders","filter","includes","query","useQueryParams","page","pageSize","settings","toString","sort","defaultSortBy","defaultSortOrder","params","buildValidParams","hasAppliedFilters","Boolean","filters","$and","data","error","isLoading","isFetching","useGetAllDocumentsQuery","type","message","results","pagination","pageCount","search","stringify","replace","canCreate","useDocumentRBAC","runHookWaterfall","useStrapiApp","tableHeaders","formattedHeaders","translation","label","id","defaultMessage","mainField","options","draftAndPublish","push","attribute","searchable","sortable","_jsx","Page","Loading","Error","contentTypeTitle","info","displayName","handleRowClick","pathname","plugins","isEmptyState","endActions","_jsxs","_Fragment","filterable","Filters","Trigger","InjectionZone","area","ViewSettingsMenu","setHeaders","resetHeaders","searchInput","SearchInput","target","placeholder","trackedEvent","startActions","List","actions","Root","Action","bottomActions","Popover","tours","contentManager","Introduction","Box","Main","Title","primaryAction","CreateNewEntry","CreateButton","subtitle","number","total","title","navigationAction","BackButton","Content","background","shadow","hasRadius","EmptyStateLayout","action","variant","content","icon","EmptyDocuments","width","Flex","gap","direction","alignItems","Table","rows","TableActionsBar","Head","HeaderCheckboxCell","HeaderCell","Empty","Body","row","Row","cursor","onClick","documentId","CheckboxCell","cellFormatter","status","Cell","DocumentStatus","maxWidth","split","Typography","textColor","getDisplayName","CellContent","rowId","ActionsCell","e","stopPropagation","TableActions","document","Pagination","onPageSizeChange","PageSize","Links","selectRow","useTable","state","locale","i18n","prevLocale","usePrev","ActionBar","BulkActionsRenderer","Button","tag","ReactRouterLink","startIcon","Plus","style","textDecoration","to","minWidth","fullWidth","ProtectedListViewPage","slug","useParams","permissions","useRBAC","PERMISSIONS","subject","Protect","DocumentRBAC"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoCloneFailureModal.js","sources":["../../../../../admin/src/pages/ListView/components/AutoCloneFailureModal.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ProhibitedCloningField } from '../../../../../shared/contracts/collection-types';\n\ntype Reason = ProhibitedCloningField[1];\n\ninterface AutoCloneFailureModalBodyProps {\n prohibitedFields: ProhibitedCloningField[];\n}\n\nconst AutoCloneFailureModalBody = ({ prohibitedFields }: AutoCloneFailureModalBodyProps) => {\n const { formatMessage } = useIntl();\n\n const getDefaultErrorMessage = (reason: Reason) => {\n switch (reason) {\n case 'relation':\n return 'Duplicating the relation could remove it from the original entry.';\n case 'unique':\n return 'Identical values in a unique field are not allowed';\n default:\n return reason;\n }\n };\n\n return (\n <>\n <Typography variant=\"beta\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.title'),\n defaultMessage: \"This entry can't be duplicated directly.\",\n })}\n </Typography>\n <Box marginTop={2}>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.description'),\n defaultMessage:\n \"A new entry will be created with the same content, but you'll have to change the following fields to save it.\",\n })}\n </Typography>\n </Box>\n <Flex marginTop={6} gap={2} direction=\"column\" alignItems=\"stretch\">\n {prohibitedFields.map(([fieldPath, reason]) => (\n <Flex\n direction=\"column\"\n gap={2}\n alignItems=\"flex-start\"\n borderColor=\"neutral200\"\n hasRadius\n padding={6}\n key={fieldPath.join()}\n >\n <Flex direction=\"row\" tag=\"ol\">\n {fieldPath.map((pathSegment, index) => (\n <Typography fontWeight=\"semiBold\" tag=\"li\" key={index}>\n {pathSegment}\n {index !== fieldPath.length - 1 && (\n <ChevronRight\n fill=\"neutral500\"\n height=\"0.8rem\"\n width=\"0.8rem\"\n style={{ margin: '0 0.8rem' }}\n />\n )}\n </Typography>\n ))}\n </Flex>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),\n defaultMessage: getDefaultErrorMessage(reason),\n })}\n </Typography>\n </Flex>\n ))}\n </Flex>\n </>\n );\n};\n\nexport { AutoCloneFailureModalBody };\nexport type { AutoCloneFailureModalBodyProps };\n"],"names":["AutoCloneFailureModalBody","prohibitedFields","formatMessage","useIntl","getDefaultErrorMessage","reason","_jsxs","_Fragment","_jsx","Typography","variant","id","getTranslation","defaultMessage","Box","marginTop","textColor","Flex","gap","direction","alignItems","map","fieldPath","borderColor","hasRadius","padding","tag","pathSegment","index","fontWeight","length","ChevronRight","fill","height","width","style","margin","join"],"mappings":";;;;;;;;AAcA,MAAMA,
|
|
1
|
+
{"version":3,"file":"AutoCloneFailureModal.js","sources":["../../../../../admin/src/pages/ListView/components/AutoCloneFailureModal.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ProhibitedCloningField } from '../../../../../shared/contracts/collection-types';\n\ntype Reason = ProhibitedCloningField[1];\n\ninterface AutoCloneFailureModalBodyProps {\n prohibitedFields: ProhibitedCloningField[];\n}\n\nconst AutoCloneFailureModalBody = ({ prohibitedFields }: AutoCloneFailureModalBodyProps) => {\n const { formatMessage } = useIntl();\n\n const getDefaultErrorMessage = (reason: Reason) => {\n switch (reason) {\n case 'relation':\n return 'Duplicating the relation could remove it from the original entry.';\n case 'unique':\n return 'Identical values in a unique field are not allowed';\n default:\n return reason;\n }\n };\n\n return (\n <>\n <Typography variant=\"beta\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.title'),\n defaultMessage: \"This entry can't be duplicated directly.\",\n })}\n </Typography>\n <Box marginTop={2}>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.description'),\n defaultMessage:\n \"A new entry will be created with the same content, but you'll have to change the following fields to save it.\",\n })}\n </Typography>\n </Box>\n <Flex marginTop={6} gap={2} direction=\"column\" alignItems=\"stretch\">\n {prohibitedFields.map(([fieldPath, reason]) => (\n <Flex\n direction=\"column\"\n gap={2}\n alignItems=\"flex-start\"\n borderColor=\"neutral200\"\n hasRadius\n padding={6}\n key={fieldPath.join()}\n >\n <Flex direction=\"row\" tag=\"ol\">\n {fieldPath.map((pathSegment, index) => (\n <Typography fontWeight=\"semiBold\" tag=\"li\" key={index}>\n {pathSegment}\n {index !== fieldPath.length - 1 && (\n <ChevronRight\n fill=\"neutral500\"\n height=\"0.8rem\"\n width=\"0.8rem\"\n style={{ margin: '0 0.8rem' }}\n />\n )}\n </Typography>\n ))}\n </Flex>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),\n defaultMessage: getDefaultErrorMessage(reason),\n })}\n </Typography>\n </Flex>\n ))}\n </Flex>\n </>\n );\n};\n\nexport { AutoCloneFailureModalBody };\nexport type { AutoCloneFailureModalBodyProps };\n"],"names":["AutoCloneFailureModalBody","prohibitedFields","formatMessage","useIntl","getDefaultErrorMessage","reason","_jsxs","_Fragment","_jsx","Typography","variant","id","getTranslation","defaultMessage","Box","marginTop","textColor","Flex","gap","direction","alignItems","map","fieldPath","borderColor","hasRadius","padding","tag","pathSegment","index","fontWeight","length","ChevronRight","fill","height","width","style","margin","join"],"mappings":";;;;;;;;AAcA,MAAMA,yBAAAA,GAA4B,CAAC,EAAEC,gBAAgB,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,MAAMC,yBAAyB,CAACC,MAAAA,GAAAA;QAC9B,OAAQA,MAAAA;YACN,KAAK,UAAA;gBACH,OAAO,mEAAA;YACT,KAAK,QAAA;gBACH,OAAO,oDAAA;AACT,YAAA;gBACE,OAAOA,MAAAA;AACX;AACF,IAAA,CAAA;IAEA,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;0BACEC,cAAA,CAACC,uBAAAA,EAAAA;gBAAWC,OAAAA,EAAQ,MAAA;0BACjBR,aAAAA,CAAc;AACbS,oBAAAA,EAAAA,EAAIC,2BAAAA,CAAe,sCAAA,CAAA;oBACnBC,cAAAA,EAAgB;AAClB,iBAAA;;0BAEFL,cAAA,CAACM,gBAAAA,EAAAA;gBAAIC,SAAAA,EAAW,CAAA;AACd,gBAAA,QAAA,gBAAAP,cAAA,CAACC,uBAAAA,EAAAA;oBAAWO,SAAAA,EAAU,YAAA;8BACnBd,aAAAA,CAAc;AACbS,wBAAAA,EAAAA,EAAIC,2BAAAA,CAAe,4CAAA,CAAA;wBACnBC,cAAAA,EACE;AACJ,qBAAA;;;0BAGJL,cAAA,CAACS,iBAAAA,EAAAA;gBAAKF,SAAAA,EAAW,CAAA;gBAAGG,GAAAA,EAAK,CAAA;gBAAGC,SAAAA,EAAU,QAAA;gBAASC,UAAAA,EAAW,SAAA;AACvDnB,gBAAAA,QAAAA,EAAAA,gBAAAA,CAAiBoB,GAAG,CAAC,CAAC,CAACC,SAAAA,EAAWjB,MAAAA,CAAO,iBACxCC,eAAA,CAACW,iBAAAA,EAAAA;wBACCE,SAAAA,EAAU,QAAA;wBACVD,GAAAA,EAAK,CAAA;wBACLE,UAAAA,EAAW,YAAA;wBACXG,WAAAA,EAAY,YAAA;wBACZC,SAAS,EAAA,IAAA;wBACTC,OAAAA,EAAS,CAAA;;0CAGTjB,cAAA,CAACS,iBAAAA,EAAAA;gCAAKE,SAAAA,EAAU,KAAA;gCAAMO,GAAAA,EAAI,IAAA;AACvBJ,gCAAAA,QAAAA,EAAAA,SAAAA,CAAUD,GAAG,CAAC,CAACM,WAAAA,EAAaC,sBAC3BtB,eAAA,CAACG,uBAAAA,EAAAA;wCAAWoB,UAAAA,EAAW,UAAA;wCAAWH,GAAAA,EAAI,IAAA;;AACnCC,4CAAAA,WAAAA;AACAC,4CAAAA,KAAAA,KAAUN,SAAAA,CAAUQ,MAAM,GAAG,CAAA,kBAC5BtB,cAAA,CAACuB,kBAAAA,EAAAA;gDACCC,IAAAA,EAAK,YAAA;gDACLC,MAAAA,EAAO,QAAA;gDACPC,KAAAA,EAAM,QAAA;gDACNC,KAAAA,EAAO;oDAAEC,MAAAA,EAAQ;AAAW;;;AAPcR,qCAAAA,EAAAA,KAAAA,CAAAA;;0CAapDpB,cAAA,CAACC,uBAAAA,EAAAA;gCAAWiB,GAAAA,EAAI,GAAA;gCAAIV,SAAAA,EAAU,YAAA;0CAC3Bd,aAAAA,CAAc;AACbS,oCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,CAAC,qCAAqC,EAAEP,MAAAA,CAAAA,CAAQ,CAAA;AACnEQ,oCAAAA,cAAAA,EAAgBT,sBAAAA,CAAuBC,MAAAA;AACzC,iCAAA;;;AArBGiB,qBAAAA,EAAAA,SAAAA,CAAUe,IAAI,EAAA,CAAA;;;;AA4B/B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoCloneFailureModal.mjs","sources":["../../../../../admin/src/pages/ListView/components/AutoCloneFailureModal.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ProhibitedCloningField } from '../../../../../shared/contracts/collection-types';\n\ntype Reason = ProhibitedCloningField[1];\n\ninterface AutoCloneFailureModalBodyProps {\n prohibitedFields: ProhibitedCloningField[];\n}\n\nconst AutoCloneFailureModalBody = ({ prohibitedFields }: AutoCloneFailureModalBodyProps) => {\n const { formatMessage } = useIntl();\n\n const getDefaultErrorMessage = (reason: Reason) => {\n switch (reason) {\n case 'relation':\n return 'Duplicating the relation could remove it from the original entry.';\n case 'unique':\n return 'Identical values in a unique field are not allowed';\n default:\n return reason;\n }\n };\n\n return (\n <>\n <Typography variant=\"beta\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.title'),\n defaultMessage: \"This entry can't be duplicated directly.\",\n })}\n </Typography>\n <Box marginTop={2}>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.description'),\n defaultMessage:\n \"A new entry will be created with the same content, but you'll have to change the following fields to save it.\",\n })}\n </Typography>\n </Box>\n <Flex marginTop={6} gap={2} direction=\"column\" alignItems=\"stretch\">\n {prohibitedFields.map(([fieldPath, reason]) => (\n <Flex\n direction=\"column\"\n gap={2}\n alignItems=\"flex-start\"\n borderColor=\"neutral200\"\n hasRadius\n padding={6}\n key={fieldPath.join()}\n >\n <Flex direction=\"row\" tag=\"ol\">\n {fieldPath.map((pathSegment, index) => (\n <Typography fontWeight=\"semiBold\" tag=\"li\" key={index}>\n {pathSegment}\n {index !== fieldPath.length - 1 && (\n <ChevronRight\n fill=\"neutral500\"\n height=\"0.8rem\"\n width=\"0.8rem\"\n style={{ margin: '0 0.8rem' }}\n />\n )}\n </Typography>\n ))}\n </Flex>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),\n defaultMessage: getDefaultErrorMessage(reason),\n })}\n </Typography>\n </Flex>\n ))}\n </Flex>\n </>\n );\n};\n\nexport { AutoCloneFailureModalBody };\nexport type { AutoCloneFailureModalBodyProps };\n"],"names":["AutoCloneFailureModalBody","prohibitedFields","formatMessage","useIntl","getDefaultErrorMessage","reason","_jsxs","_Fragment","_jsx","Typography","variant","id","getTranslation","defaultMessage","Box","marginTop","textColor","Flex","gap","direction","alignItems","map","fieldPath","borderColor","hasRadius","padding","tag","pathSegment","index","fontWeight","length","ChevronRight","fill","height","width","style","margin","join"],"mappings":";;;;;;AAcA,MAAMA,
|
|
1
|
+
{"version":3,"file":"AutoCloneFailureModal.mjs","sources":["../../../../../admin/src/pages/ListView/components/AutoCloneFailureModal.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ProhibitedCloningField } from '../../../../../shared/contracts/collection-types';\n\ntype Reason = ProhibitedCloningField[1];\n\ninterface AutoCloneFailureModalBodyProps {\n prohibitedFields: ProhibitedCloningField[];\n}\n\nconst AutoCloneFailureModalBody = ({ prohibitedFields }: AutoCloneFailureModalBodyProps) => {\n const { formatMessage } = useIntl();\n\n const getDefaultErrorMessage = (reason: Reason) => {\n switch (reason) {\n case 'relation':\n return 'Duplicating the relation could remove it from the original entry.';\n case 'unique':\n return 'Identical values in a unique field are not allowed';\n default:\n return reason;\n }\n };\n\n return (\n <>\n <Typography variant=\"beta\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.title'),\n defaultMessage: \"This entry can't be duplicated directly.\",\n })}\n </Typography>\n <Box marginTop={2}>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.description'),\n defaultMessage:\n \"A new entry will be created with the same content, but you'll have to change the following fields to save it.\",\n })}\n </Typography>\n </Box>\n <Flex marginTop={6} gap={2} direction=\"column\" alignItems=\"stretch\">\n {prohibitedFields.map(([fieldPath, reason]) => (\n <Flex\n direction=\"column\"\n gap={2}\n alignItems=\"flex-start\"\n borderColor=\"neutral200\"\n hasRadius\n padding={6}\n key={fieldPath.join()}\n >\n <Flex direction=\"row\" tag=\"ol\">\n {fieldPath.map((pathSegment, index) => (\n <Typography fontWeight=\"semiBold\" tag=\"li\" key={index}>\n {pathSegment}\n {index !== fieldPath.length - 1 && (\n <ChevronRight\n fill=\"neutral500\"\n height=\"0.8rem\"\n width=\"0.8rem\"\n style={{ margin: '0 0.8rem' }}\n />\n )}\n </Typography>\n ))}\n </Flex>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),\n defaultMessage: getDefaultErrorMessage(reason),\n })}\n </Typography>\n </Flex>\n ))}\n </Flex>\n </>\n );\n};\n\nexport { AutoCloneFailureModalBody };\nexport type { AutoCloneFailureModalBodyProps };\n"],"names":["AutoCloneFailureModalBody","prohibitedFields","formatMessage","useIntl","getDefaultErrorMessage","reason","_jsxs","_Fragment","_jsx","Typography","variant","id","getTranslation","defaultMessage","Box","marginTop","textColor","Flex","gap","direction","alignItems","map","fieldPath","borderColor","hasRadius","padding","tag","pathSegment","index","fontWeight","length","ChevronRight","fill","height","width","style","margin","join"],"mappings":";;;;;;AAcA,MAAMA,yBAAAA,GAA4B,CAAC,EAAEC,gBAAgB,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,MAAMC,yBAAyB,CAACC,MAAAA,GAAAA;QAC9B,OAAQA,MAAAA;YACN,KAAK,UAAA;gBACH,OAAO,mEAAA;YACT,KAAK,QAAA;gBACH,OAAO,oDAAA;AACT,YAAA;gBACE,OAAOA,MAAAA;AACX;AACF,IAAA,CAAA;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;0BACEC,GAAA,CAACC,UAAAA,EAAAA;gBAAWC,OAAAA,EAAQ,MAAA;0BACjBR,aAAAA,CAAc;AACbS,oBAAAA,EAAAA,EAAIC,cAAAA,CAAe,sCAAA,CAAA;oBACnBC,cAAAA,EAAgB;AAClB,iBAAA;;0BAEFL,GAAA,CAACM,GAAAA,EAAAA;gBAAIC,SAAAA,EAAW,CAAA;AACd,gBAAA,QAAA,gBAAAP,GAAA,CAACC,UAAAA,EAAAA;oBAAWO,SAAAA,EAAU,YAAA;8BACnBd,aAAAA,CAAc;AACbS,wBAAAA,EAAAA,EAAIC,cAAAA,CAAe,4CAAA,CAAA;wBACnBC,cAAAA,EACE;AACJ,qBAAA;;;0BAGJL,GAAA,CAACS,IAAAA,EAAAA;gBAAKF,SAAAA,EAAW,CAAA;gBAAGG,GAAAA,EAAK,CAAA;gBAAGC,SAAAA,EAAU,QAAA;gBAASC,UAAAA,EAAW,SAAA;AACvDnB,gBAAAA,QAAAA,EAAAA,gBAAAA,CAAiBoB,GAAG,CAAC,CAAC,CAACC,SAAAA,EAAWjB,MAAAA,CAAO,iBACxCC,IAAA,CAACW,IAAAA,EAAAA;wBACCE,SAAAA,EAAU,QAAA;wBACVD,GAAAA,EAAK,CAAA;wBACLE,UAAAA,EAAW,YAAA;wBACXG,WAAAA,EAAY,YAAA;wBACZC,SAAS,EAAA,IAAA;wBACTC,OAAAA,EAAS,CAAA;;0CAGTjB,GAAA,CAACS,IAAAA,EAAAA;gCAAKE,SAAAA,EAAU,KAAA;gCAAMO,GAAAA,EAAI,IAAA;AACvBJ,gCAAAA,QAAAA,EAAAA,SAAAA,CAAUD,GAAG,CAAC,CAACM,WAAAA,EAAaC,sBAC3BtB,IAAA,CAACG,UAAAA,EAAAA;wCAAWoB,UAAAA,EAAW,UAAA;wCAAWH,GAAAA,EAAI,IAAA;;AACnCC,4CAAAA,WAAAA;AACAC,4CAAAA,KAAAA,KAAUN,SAAAA,CAAUQ,MAAM,GAAG,CAAA,kBAC5BtB,GAAA,CAACuB,YAAAA,EAAAA;gDACCC,IAAAA,EAAK,YAAA;gDACLC,MAAAA,EAAO,QAAA;gDACPC,KAAAA,EAAM,QAAA;gDACNC,KAAAA,EAAO;oDAAEC,MAAAA,EAAQ;AAAW;;;AAPcR,qCAAAA,EAAAA,KAAAA,CAAAA;;0CAapDpB,GAAA,CAACC,UAAAA,EAAAA;gCAAWiB,GAAAA,EAAI,GAAA;gCAAIV,SAAAA,EAAU,YAAA;0CAC3Bd,aAAAA,CAAc;AACbS,oCAAAA,EAAAA,EAAIC,cAAAA,CAAe,CAAC,qCAAqC,EAAEP,MAAAA,CAAAA,CAAQ,CAAA;AACnEQ,oCAAAA,cAAAA,EAAgBT,sBAAAA,CAAuBC,MAAAA;AACzC,iCAAA;;;AArBGiB,qBAAAA,EAAAA,SAAAA,CAAUe,IAAI,EAAA,CAAA;;;;AA4B/B;;;;"}
|
|
@@ -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 { 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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"}
|
|
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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"}
|
|
@@ -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 { 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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"}
|
|
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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"}
|
|
@@ -92,15 +92,12 @@ const ConfirmDialogPublishAll = ({ isOpen, onToggleDialog, isConfirmButtonLoadin
|
|
|
92
92
|
const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler(translations.getTranslation);
|
|
93
93
|
const { model } = useDocument.useDoc();
|
|
94
94
|
const [{ query }] = strapiAdmin.useQueryParams();
|
|
95
|
-
// TODO skipping this for now as there is a bug with the draft relation count that will be worked on separately
|
|
96
|
-
// see RFC "Count draft relations" in Notion
|
|
97
|
-
const enableDraftRelationsCount = false;
|
|
98
95
|
const { data: countDraftRelations = 0, isLoading, error } = documents.useGetManyDraftRelationCountQuery({
|
|
99
96
|
model,
|
|
100
97
|
documentIds: selectedEntries.map((entry)=>entry.documentId),
|
|
101
98
|
locale: query?.plugins?.i18n?.locale
|
|
102
99
|
}, {
|
|
103
|
-
skip:
|
|
100
|
+
skip: true
|
|
104
101
|
});
|
|
105
102
|
React__namespace.useEffect(()=>{
|
|
106
103
|
if (error) {
|
|
@@ -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 } = 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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"}
|
|
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","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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
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
|
-
import {
|
|
4
|
+
import { Button, Typography, Dialog, Flex } from '@strapi/design-system';
|
|
5
5
|
import { Check, WarningCircle } from '@strapi/icons';
|
|
6
6
|
import { useIntl } from 'react-intl';
|
|
7
7
|
import { useDoc } from '../../../../hooks/useDocument.mjs';
|
|
@@ -71,15 +71,12 @@ const ConfirmDialogPublishAll = ({ isOpen, onToggleDialog, isConfirmButtonLoadin
|
|
|
71
71
|
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);
|
|
72
72
|
const { model } = useDoc();
|
|
73
73
|
const [{ query }] = useQueryParams();
|
|
74
|
-
// TODO skipping this for now as there is a bug with the draft relation count that will be worked on separately
|
|
75
|
-
// see RFC "Count draft relations" in Notion
|
|
76
|
-
const enableDraftRelationsCount = false;
|
|
77
74
|
const { data: countDraftRelations = 0, isLoading, error } = useGetManyDraftRelationCountQuery({
|
|
78
75
|
model,
|
|
79
76
|
documentIds: selectedEntries.map((entry)=>entry.documentId),
|
|
80
77
|
locale: query?.plugins?.i18n?.locale
|
|
81
78
|
}, {
|
|
82
|
-
skip:
|
|
79
|
+
skip: true
|
|
83
80
|
});
|
|
84
81
|
React.useEffect(()=>{
|
|
85
82
|
if (error) {
|
|
@@ -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 } = 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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"}
|
|
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","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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"}
|