@strapi/content-manager 5.50.0 → 5.50.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/ComponentIcon.js.map +1 -1
- package/dist/admin/components/ComponentIcon.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.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/LeftMenu.js +66 -67
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs +68 -69
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.js +3 -3
- package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs +3 -3
- package/dist/admin/history/components/VersionInputRenderer.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/hooks/useDocumentActions.js +15 -8
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +15 -8
- 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/index.js.map +1 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/layout.js +18 -6
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/layout.mjs +18 -6
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +7 -6
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +7 -6
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +6 -3
- 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 +6 -3
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js +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 +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.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 +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 +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +2 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +2 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.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/Relations/Relations.js +8 -5
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +8 -5
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js +5 -4
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +5 -4
- 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/Field.js +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/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/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 +71 -11
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +73 -13
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js +5 -3
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +5 -3
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.js +37 -0
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.mjs +39 -2
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js +26 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +26 -2
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js +8 -7
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +8 -7
- 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.map +1 -1
- package/dist/admin/preview/pages/Preview.js +2 -0
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs +2 -0
- 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/utils/fieldUtils.js.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
- package/dist/admin/router.js.map +1 -1
- package/dist/admin/router.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/src/components/ComponentIcon.d.ts +4 -3
- package/dist/admin/src/components/DragLayer.d.ts +1 -1
- package/dist/admin/src/history/routes.d.ts +2 -2
- package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/hooks/useDocumentActions.d.ts +17 -16
- package/dist/admin/src/hooks/useDocumentContext.d.ts +1 -1
- package/dist/admin/src/index.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.d.ts +7 -1
- package/dist/admin/src/pages/ListView/components/TableCells/CellContent.d.ts +11 -2
- package/dist/admin/src/pages/ListView/components/TableCells/CellValue.d.ts +1 -1
- package/dist/admin/src/preview/routes.d.ts +2 -2
- package/dist/admin/src/preview/services/preview.d.ts +1 -1
- package/dist/admin/src/router.d.ts +2 -2
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/components.d.ts +2 -2
- package/dist/admin/src/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/services/documents.d.ts +19 -19
- package/dist/admin/src/services/homepage.d.ts +1 -1
- package/dist/admin/src/services/init.d.ts +1 -1
- package/dist/admin/src/services/relations.d.ts +2 -2
- package/dist/admin/src/services/uid.d.ts +3 -3
- package/dist/admin/src/utils/api.d.ts +2 -2
- package/dist/admin/src/utils/conditionalFields.d.ts +1 -0
- package/dist/admin/src/utils/objects.d.ts +7 -4
- package/dist/admin/src/utils/validation.d.ts +2 -1
- package/dist/admin/translations/en.json.js +1 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +1 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/utils/api.js +6 -1
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs +6 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/conditionalFields.js.map +1 -1
- package/dist/admin/utils/conditionalFields.mjs.map +1 -1
- package/dist/admin/utils/objects.js +43 -13
- package/dist/admin/utils/objects.js.map +1 -1
- package/dist/admin/utils/objects.mjs +43 -13
- package/dist/admin/utils/objects.mjs.map +1 -1
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/controllers/collection-types.js +4 -1
- package/dist/server/controllers/collection-types.js.map +1 -1
- package/dist/server/controllers/collection-types.mjs +4 -1
- package/dist/server/controllers/collection-types.mjs.map +1 -1
- package/dist/server/controllers/relations.js +5 -4
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +5 -4
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/validation/model-configuration.js +3 -1
- package/dist/server/controllers/validation/model-configuration.js.map +1 -1
- package/dist/server/controllers/validation/model-configuration.mjs +3 -1
- package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js +27 -7
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs +27 -7
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/services/permission.js +4 -3
- package/dist/server/services/permission.js.map +1 -1
- package/dist/server/services/permission.mjs +4 -3
- package/dist/server/services/permission.mjs.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
- package/dist/server/src/services/permission.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentActions.mjs","sources":["../../../admin/src/hooks/useDocumentActions.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { SerializedError } from '@reduxjs/toolkit';\nimport {\n useNotification,\n useTracking,\n type TrackingEvent,\n useAPIErrorHandler,\n} from '@strapi/admin/strapi-admin';\nimport { useGetAiFeatureConfigQuery, useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport { useIntl, type MessageDescriptor } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\n\nimport { useRelationModal } from '../pages/EditView/components/FormInputs/Relations/RelationModal';\nimport { usePreviewContext } from '../preview/pages/Preview';\nimport {\n useAutoCloneDocumentMutation,\n useCloneDocumentMutation,\n useCreateDocumentMutation,\n useDeleteDocumentMutation,\n useDeleteManyDocumentsMutation,\n useDiscardDocumentMutation,\n useLazyGetDocumentQuery,\n usePublishDocumentMutation,\n usePublishManyDocumentsMutation,\n useUnpublishDocumentMutation,\n useUnpublishManyDocumentsMutation,\n useUpdateDocumentMutation,\n} from '../services/documents';\nimport { BaseQueryError } from '../utils/api';\nimport { getTranslation } from '../utils/translations';\n\nimport type { Document } from './useDocument';\nimport type {\n AutoClone,\n Clone,\n Create,\n Delete,\n BulkDelete,\n Discard,\n FindOne,\n Publish,\n BulkPublish,\n Update,\n Unpublish,\n BulkUnpublish,\n} from '../../../shared/contracts/collection-types';\n\nconst DEFAULT_UNEXPECTED_ERROR_MSG = {\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n} satisfies MessageDescriptor;\n\ntype OperationResponse<TResponse extends { data: any; meta?: any; error?: any }> =\n | Pick<TResponse, 'data'>\n | Pick<TResponse, 'data' | 'meta'>\n | { error: BaseQueryError | SerializedError };\n\ntype BulkOperationResponse<TResponse extends { data: any; error?: any }> =\n | Pick<TResponse, 'data'>\n | { error: BaseQueryError | SerializedError };\n\ntype UseDocumentActions = (\n fromPreview?: boolean,\n fromRelationModal?: boolean\n) => {\n /**\n * @description Attempts to clone a document based on the provided sourceId.\n * This will return a list of the fields as an error if it's unable to clone.\n * You most likely want to use the `clone` action instead.\n */\n isLoading: boolean;\n autoClone: (args: {\n model: string;\n sourceId: string;\n locale?: string;\n }) => Promise<OperationResponse<AutoClone.Response>>;\n clone: (\n args: {\n model: string;\n documentId: string;\n params?: object;\n },\n document: Omit<Document, 'id'>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willCreateEntry' | 'didCreateEntry' | 'didNotCreateEntry' }\n >['properties']\n ) => Promise<OperationResponse<Clone.Response>>;\n create: (\n args: {\n model: string;\n params?: object;\n },\n document: Omit<Document, 'id'>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willCreateEntry' | 'didCreateEntry' | 'didNotCreateEntry' }\n >['properties']\n ) => Promise<OperationResponse<Create.Response>>;\n delete: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willDeleteEntry' | 'didDeleteEntry' | 'didNotDeleteEntry' }\n >['properties']\n ) => Promise<OperationResponse<Delete.Response>>;\n deleteMany: (args: {\n model: string;\n documentIds: string[];\n params?: object;\n }) => Promise<BulkOperationResponse<BulkDelete.Response>>;\n discard: (args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n }) => Promise<OperationResponse<Discard.Response>>;\n getDocument: (args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n }) => Promise<FindOne.Response | undefined>;\n publish: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n document: Partial<Document>\n ) => Promise<OperationResponse<Publish.Response>>;\n publishMany: (args: {\n model: string;\n documentIds: string[];\n params?: object;\n }) => Promise<BulkOperationResponse<BulkPublish.Response>>;\n update: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n document: Partial<Document>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willEditEntry' | 'didEditEntry' | 'didNotEditEntry' }\n >['properties']\n ) => Promise<OperationResponse<Update.Response>>;\n unpublish: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n discardDraft?: boolean\n ) => Promise<OperationResponse<Unpublish.Response>>;\n unpublishMany: (args: {\n model: string;\n documentIds: string[];\n params?: object;\n }) => Promise<BulkOperationResponse<BulkUnpublish.Response>>;\n};\n\ntype IUseDocumentActs = ReturnType<UseDocumentActions>;\n\n/**\n * @alpha\n * @public\n * @description Contains all the operations that can be performed on a single document.\n * Designed to be able to be used anywhere within a Strapi app. The hooks will handle\n * notifications should the operation fail, however the response is always returned incase\n * the user needs to handle side-effects.\n * @example\n * ```tsx\n * import { Form } from '@strapi/admin/admin';\n *\n * const { id, model, collectionType } = useParams<{ id: string; model: string; collectionType: string }>();\n * const { update } = useDocumentActions();\n *\n * const handleSubmit = async (data) => {\n * await update({ collectionType, model, documentId: id }, data);\n * }\n *\n * return <Form method=\"PUT\" onSubmit={handleSubmit} />\n * ```\n *\n */\nconst useDocumentActions: UseDocumentActions = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const navigate = useNavigate();\n const { data: aiFeatureConfig } = useGetAiFeatureConfigQuery();\n const isAiAvailable = useAIAvailability();\n\n // Get metadata from context providers for tracking purposes\n const previewContext = usePreviewContext('useDocumentActions', () => true, false);\n const relationContext = useRelationModal('useDocumentActions', () => true, false);\n const fromPreview = previewContext != undefined;\n const fromRelationModal = relationContext != undefined;\n\n const [deleteDocument, { isLoading: isDeleting }] = useDeleteDocumentMutation();\n const _delete: IUseDocumentActs['delete'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, trackerProperty) => {\n try {\n trackUsage('willDeleteEntry', trackerProperty);\n\n const res = await deleteDocument({\n collectionType,\n model,\n documentId,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.delete'),\n defaultMessage: 'Deleted document',\n }),\n });\n\n trackUsage('didDeleteEntry', trackerProperty);\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotDeleteEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [trackUsage, deleteDocument, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [deleteManyDocuments, { isLoading: isDeletingMany }] = useDeleteManyDocumentsMutation();\n\n const deleteMany: IUseDocumentActs['deleteMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n trackUsage('willBulkDeleteEntries');\n\n const res = await deleteManyDocuments({\n model,\n documentIds,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n title: formatMessage({\n id: getTranslation('success.records.delete'),\n defaultMessage: 'Successfully deleted.',\n }),\n message: '',\n });\n\n trackUsage('didBulkDeleteEntries');\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotBulkDeleteEntries');\n\n throw err;\n }\n },\n [trackUsage, deleteManyDocuments, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [discardDocument, { isLoading: isDiscardingDocument }] = useDiscardDocumentMutation();\n const discard: IUseDocumentActs['discard'] = React.useCallback(\n async ({ collectionType, model, documentId, params }) => {\n try {\n const res = await discardDocument({\n collectionType,\n model,\n documentId,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.success.record.discard',\n defaultMessage: 'Changes discarded',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [discardDocument, formatAPIError, formatMessage, toggleNotification]\n );\n\n const [publishDocument, { isLoading: isPublishing }] = usePublishDocumentMutation();\n\n const publish: IUseDocumentActs['publish'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, data) => {\n try {\n trackUsage('willPublishEntry', { documentId });\n\n const res = await publishDocument({\n collectionType,\n model,\n documentId,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n return { error: res.error };\n }\n\n trackUsage('didPublishEntry', {\n documentId,\n fromPreview,\n fromRelationModal,\n ...(isAiAvailable\n ? { isAiI18nConfigured: Boolean(aiFeatureConfig?.isAiI18nConfigured) }\n : {}),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.publish'),\n defaultMessage: 'Published document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [\n trackUsage,\n publishDocument,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();\n const publishMany: IUseDocumentActs['publishMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n // TODO Confirm tracking events for bulk publish?\n\n const res = await publishManyDocuments({\n model,\n documentIds,\n params,\n });\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.publish'),\n defaultMessage: 'Published document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n throw err;\n }\n },\n [\n // trackUsage,\n publishManyDocuments,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();\n const update: IUseDocumentActs['update'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, data, trackerProperty) => {\n try {\n trackUsage('willEditEntry', trackerProperty);\n\n const res = await updateDocument({\n collectionType,\n model,\n documentId,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotEditEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n\n trackUsage('didEditEntry', {\n ...trackerProperty,\n documentId: res.data.data.documentId,\n fromPreview,\n fromRelationModal,\n ...(isAiAvailable\n ? { isAiI18nConfigured: Boolean(aiFeatureConfig?.isAiI18nConfigured) }\n : {}),\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.save'),\n defaultMessage: 'Saved document',\n }),\n });\n\n return res.data;\n } catch (err) {\n trackUsage('didNotEditEntry', { error: err, ...trackerProperty });\n\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [\n trackUsage,\n updateDocument,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [unpublishDocument] = useUnpublishDocumentMutation();\n const unpublish: IUseDocumentActs['unpublish'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, discardDraft = false) => {\n try {\n trackUsage('willUnpublishEntry');\n\n const res = await unpublishDocument({\n collectionType,\n model,\n documentId,\n params,\n data: {\n discardDraft,\n },\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return { error: res.error };\n }\n\n trackUsage('didUnpublishEntry');\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.unpublish'),\n defaultMessage: 'Unpublished document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [trackUsage, unpublishDocument, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] =\n useUnpublishManyDocumentsMutation();\n const unpublishMany: IUseDocumentActs['unpublishMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n trackUsage('willBulkUnpublishEntries');\n\n const res = await unpublishManyDocuments({\n model,\n documentIds,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return { error: res.error };\n }\n\n trackUsage('didBulkUnpublishEntries');\n\n toggleNotification({\n type: 'success',\n title: formatMessage({\n id: getTranslation('success.records.unpublish'),\n defaultMessage: 'Successfully unpublished.',\n }),\n message: '',\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotBulkUnpublishEntries');\n\n throw err;\n }\n },\n [trackUsage, unpublishManyDocuments, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [createDocument] = useCreateDocumentMutation();\n const create: IUseDocumentActs['create'] = React.useCallback(\n async ({ model, params }, data, trackerProperty) => {\n try {\n const res = await createDocument({\n model,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotCreateEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n trackUsage('didCreateEntry', {\n ...trackerProperty,\n documentId: res.data.data.documentId,\n fromPreview,\n fromRelationModal,\n ...(isAiAvailable\n ? { isAiI18nConfigured: Boolean(aiFeatureConfig?.isAiI18nConfigured) }\n : {}),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.save'),\n defaultMessage: 'Saved document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotCreateEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [\n createDocument,\n formatAPIError,\n formatMessage,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n trackUsage,\n isAiAvailable,\n aiFeatureConfig,\n ]\n );\n\n const [autoCloneDocument] = useAutoCloneDocumentMutation();\n const autoClone: IUseDocumentActs['autoClone'] = React.useCallback(\n async ({ model, sourceId, locale }) => {\n try {\n const res = await autoCloneDocument({\n model,\n sourceId,\n params: locale ? { locale } : undefined,\n });\n\n if ('error' in res) {\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.clone'),\n defaultMessage: 'Cloned document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [autoCloneDocument, formatMessage, toggleNotification]\n );\n\n const [cloneDocument] = useCloneDocumentMutation();\n const clone: IUseDocumentActs['clone'] = React.useCallback(\n async ({ model, documentId, params }, body, trackerProperty) => {\n try {\n // Omit id and documentId so they are not copied to the clone\n const { id: _id, documentId: _documentId, ...restBody } = body;\n\n /**\n * If we're cloning we want to post directly to this endpoint\n * so that the relations even if they're not listed in the EditView\n * are correctly attached to the entry.\n */\n const res = await cloneDocument({\n model,\n sourceId: documentId,\n data: restBody,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotCreateEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n\n trackUsage('didCreateEntry', {\n ...trackerProperty,\n ...(isAiAvailable\n ? { isAiI18nConfigured: Boolean(aiFeatureConfig?.isAiI18nConfigured) }\n : {}),\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.clone'),\n defaultMessage: 'Cloned document',\n }),\n });\n\n // Redirect to normal edit view\n navigate(`../../${res.data.data.documentId}`, { relative: 'path' });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotCreateEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [cloneDocument, trackUsage, toggleNotification, formatMessage, formatAPIError, navigate]\n );\n\n const [getDoc] = useLazyGetDocumentQuery();\n const getDocument: IUseDocumentActs['getDocument'] = React.useCallback(\n async (args) => {\n const { data } = await getDoc(args);\n\n return data;\n },\n [getDoc]\n );\n\n return {\n isLoading:\n isPublishing ||\n isUpdating ||\n isDiscardingDocument ||\n isDeleting ||\n isDeletingMany ||\n isUnpublishingMany ||\n isPublishingMany,\n autoClone,\n clone,\n create,\n delete: _delete,\n deleteMany,\n discard,\n getDocument,\n publish,\n publishMany,\n unpublish,\n unpublishMany,\n update,\n } satisfies IUseDocumentActs;\n};\n\nexport { useDocumentActions };\nexport type { UseDocumentActions, OperationResponse };\n"],"names":["DEFAULT_UNEXPECTED_ERROR_MSG","id","defaultMessage","useDocumentActions","toggleNotification","useNotification","formatMessage","useIntl","trackUsage","useTracking","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","navigate","useNavigate","data","aiFeatureConfig","useGetAiFeatureConfigQuery","isAiAvailable","useAIAvailability","previewContext","usePreviewContext","relationContext","useRelationModal","fromPreview","undefined","fromRelationModal","deleteDocument","isLoading","isDeleting","useDeleteDocumentMutation","_delete","React","useCallback","collectionType","model","documentId","params","trackerProperty","res","type","message","error","getTranslation","err","deleteManyDocuments","isDeletingMany","useDeleteManyDocumentsMutation","deleteMany","documentIds","title","discardDocument","isDiscardingDocument","useDiscardDocumentMutation","discard","publishDocument","isPublishing","usePublishDocumentMutation","publish","isAiI18nConfigured","Boolean","publishManyDocuments","isPublishingMany","usePublishManyDocumentsMutation","publishMany","updateDocument","isUpdating","useUpdateDocumentMutation","update","unpublishDocument","useUnpublishDocumentMutation","unpublish","discardDraft","unpublishManyDocuments","isUnpublishingMany","useUnpublishManyDocumentsMutation","unpublishMany","createDocument","useCreateDocumentMutation","create","autoCloneDocument","useAutoCloneDocumentMutation","autoClone","sourceId","locale","cloneDocument","useCloneDocumentMutation","clone","body","_id","_documentId","restBody","relative","getDoc","useLazyGetDocumentQuery","getDocument","args","delete"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDocumentActions.mjs","sources":["../../../admin/src/hooks/useDocumentActions.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { SerializedError } from '@reduxjs/toolkit';\nimport {\n useNotification,\n useTracking,\n type TrackingEvent,\n useAPIErrorHandler,\n} from '@strapi/admin/strapi-admin';\nimport { useGetAiFeatureConfigQuery, useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport { useIntl, type MessageDescriptor } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\n\nimport { useRelationModal } from '../pages/EditView/components/FormInputs/Relations/RelationModal';\nimport { usePreviewContext } from '../preview/pages/Preview';\nimport {\n useAutoCloneDocumentMutation,\n useCloneDocumentMutation,\n useCreateDocumentMutation,\n useDeleteDocumentMutation,\n useDeleteManyDocumentsMutation,\n useDiscardDocumentMutation,\n useLazyGetDocumentQuery,\n usePublishDocumentMutation,\n usePublishManyDocumentsMutation,\n useUnpublishDocumentMutation,\n useUnpublishManyDocumentsMutation,\n useUpdateDocumentMutation,\n} from '../services/documents';\nimport { BaseQueryError } from '../utils/api';\nimport { getTranslation } from '../utils/translations';\n\nimport type { Document } from './useDocument';\nimport type {\n AutoClone,\n Clone,\n Create,\n Delete,\n BulkDelete,\n Discard,\n FindOne,\n Publish,\n BulkPublish,\n Update,\n Unpublish,\n BulkUnpublish,\n} from '../../../shared/contracts/collection-types';\n\nconst DEFAULT_UNEXPECTED_ERROR_MSG = {\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n} satisfies MessageDescriptor;\n\ntype OperationResponse<TResponse extends { data: unknown; meta?: unknown; error?: unknown }> =\n | Pick<TResponse, 'data'>\n | Pick<TResponse, 'data' | 'meta'>\n | { error: BaseQueryError | SerializedError };\n\ntype BulkOperationResponse<TResponse extends { data: unknown; error?: unknown }> =\n | Pick<TResponse, 'data'>\n | { error: BaseQueryError | SerializedError };\n\ntype QueryParams = Record<string, unknown>;\n\ntype UseDocumentActions = (\n fromPreview?: boolean,\n fromRelationModal?: boolean\n) => {\n /**\n * @description Attempts to clone a document based on the provided sourceId.\n * This will return a list of the fields as an error if it's unable to clone.\n * You most likely want to use the `clone` action instead.\n */\n isLoading: boolean;\n autoClone: (args: {\n model: string;\n sourceId: string;\n locale?: string;\n }) => Promise<OperationResponse<AutoClone.Response>>;\n clone: (\n args: {\n model: string;\n documentId: string;\n params?: QueryParams;\n },\n document: Omit<Document, 'id'>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willCreateEntry' | 'didCreateEntry' | 'didNotCreateEntry' }\n >['properties']\n ) => Promise<OperationResponse<Clone.Response>>;\n create: (\n args: {\n model: string;\n params?: QueryParams;\n },\n document: Omit<Document, 'id'>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willCreateEntry' | 'didCreateEntry' | 'didNotCreateEntry' }\n >['properties']\n ) => Promise<OperationResponse<Create.Response>>;\n delete: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: QueryParams;\n },\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willDeleteEntry' | 'didDeleteEntry' | 'didNotDeleteEntry' }\n >['properties']\n ) => Promise<OperationResponse<Delete.Response>>;\n deleteMany: (args: {\n model: string;\n documentIds: string[];\n params?: QueryParams;\n }) => Promise<BulkOperationResponse<BulkDelete.Response>>;\n discard: (args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: QueryParams;\n }) => Promise<OperationResponse<Discard.Response>>;\n getDocument: (args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: QueryParams;\n }) => Promise<FindOne.Response | undefined>;\n publish: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: QueryParams;\n },\n document: Partial<Document>\n ) => Promise<OperationResponse<Publish.Response>>;\n publishMany: (args: {\n model: string;\n documentIds: string[];\n params?: QueryParams;\n }) => Promise<BulkOperationResponse<BulkPublish.Response>>;\n update: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: QueryParams;\n },\n document: Partial<Document>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willEditEntry' | 'didEditEntry' | 'didNotEditEntry' }\n >['properties']\n ) => Promise<OperationResponse<Update.Response>>;\n unpublish: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: QueryParams;\n },\n discardDraft?: boolean\n ) => Promise<OperationResponse<Unpublish.Response>>;\n unpublishMany: (args: {\n model: string;\n documentIds: string[];\n params?: QueryParams;\n }) => Promise<BulkOperationResponse<BulkUnpublish.Response>>;\n};\n\ntype IUseDocumentActs = ReturnType<UseDocumentActions>;\n\n/**\n * @alpha\n * @public\n * @description Contains all the operations that can be performed on a single document.\n * Designed to be able to be used anywhere within a Strapi app. The hooks will handle\n * notifications should the operation fail, however the response is always returned incase\n * the user needs to handle side-effects.\n * @example\n * ```tsx\n * import { Form } from '@strapi/admin/admin';\n *\n * const { id, model, collectionType } = useParams<{ id: string; model: string; collectionType: string }>();\n * const { update } = useDocumentActions();\n *\n * const handleSubmit = async (data) => {\n * await update({ collectionType, model, documentId: id }, data);\n * }\n *\n * return <Form method=\"PUT\" onSubmit={handleSubmit} />\n * ```\n *\n */\nconst useDocumentActions: UseDocumentActions = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const navigate = useNavigate();\n const { data: aiFeatureConfig } = useGetAiFeatureConfigQuery();\n const isAiAvailable = useAIAvailability();\n const isAiI18nConfigured = Boolean(aiFeatureConfig?.isAiI18nConfigured);\n\n // Get metadata from context providers for tracking purposes\n const previewContext = usePreviewContext('useDocumentActions', () => true, false);\n const relationContext = useRelationModal('useDocumentActions', () => true, false);\n const fromPreview = previewContext != undefined;\n const fromRelationModal = relationContext != undefined;\n\n const [deleteDocument, { isLoading: isDeleting }] = useDeleteDocumentMutation();\n const _delete: IUseDocumentActs['delete'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, trackerProperty) => {\n try {\n trackUsage('willDeleteEntry', trackerProperty);\n\n const res = await deleteDocument({\n collectionType,\n model,\n documentId,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.delete'),\n defaultMessage: 'Deleted document',\n }),\n });\n\n trackUsage('didDeleteEntry', trackerProperty);\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotDeleteEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [trackUsage, deleteDocument, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [deleteManyDocuments, { isLoading: isDeletingMany }] = useDeleteManyDocumentsMutation();\n\n const deleteMany: IUseDocumentActs['deleteMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n trackUsage('willBulkDeleteEntries');\n\n const res = await deleteManyDocuments({\n model,\n documentIds,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n title: formatMessage({\n id: getTranslation('success.records.delete'),\n defaultMessage: 'Successfully deleted.',\n }),\n message: '',\n });\n\n trackUsage('didBulkDeleteEntries');\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotBulkDeleteEntries');\n\n throw err;\n }\n },\n [trackUsage, deleteManyDocuments, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [discardDocument, { isLoading: isDiscardingDocument }] = useDiscardDocumentMutation();\n const discard: IUseDocumentActs['discard'] = React.useCallback(\n async ({ collectionType, model, documentId, params }) => {\n try {\n const res = await discardDocument({\n collectionType,\n model,\n documentId,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.success.record.discard',\n defaultMessage: 'Changes discarded',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [discardDocument, formatAPIError, formatMessage, toggleNotification]\n );\n\n const [publishDocument, { isLoading: isPublishing }] = usePublishDocumentMutation();\n\n const publish: IUseDocumentActs['publish'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, data) => {\n try {\n trackUsage('willPublishEntry', { documentId });\n\n const res = await publishDocument({\n collectionType,\n model,\n documentId,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n return { error: res.error };\n }\n\n trackUsage('didPublishEntry', {\n documentId,\n fromPreview,\n fromRelationModal,\n ...(isAiAvailable ? { isAiI18nConfigured } : {}),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.publish'),\n defaultMessage: 'Published document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [\n trackUsage,\n publishDocument,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n formatMessage,\n formatAPIError,\n isAiAvailable,\n isAiI18nConfigured,\n ]\n );\n\n const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();\n const publishMany: IUseDocumentActs['publishMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n // TODO Confirm tracking events for bulk publish?\n\n const res = await publishManyDocuments({\n model,\n documentIds,\n params,\n });\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.publish'),\n defaultMessage: 'Published document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n throw err;\n }\n },\n [\n // trackUsage,\n publishManyDocuments,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();\n const update: IUseDocumentActs['update'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, data, trackerProperty) => {\n try {\n trackUsage('willEditEntry', trackerProperty);\n\n const res = await updateDocument({\n collectionType,\n model,\n documentId,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotEditEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n\n trackUsage('didEditEntry', {\n ...trackerProperty,\n documentId: res.data.data.documentId,\n fromPreview,\n fromRelationModal,\n ...(isAiAvailable ? { isAiI18nConfigured } : {}),\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.save'),\n defaultMessage: 'Saved document',\n }),\n });\n\n return res.data;\n } catch (err) {\n trackUsage('didNotEditEntry', { error: err, ...trackerProperty });\n\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [\n trackUsage,\n updateDocument,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n formatMessage,\n formatAPIError,\n isAiAvailable,\n isAiI18nConfigured,\n ]\n );\n\n const [unpublishDocument] = useUnpublishDocumentMutation();\n const unpublish: IUseDocumentActs['unpublish'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, discardDraft = false) => {\n try {\n trackUsage('willUnpublishEntry');\n\n const res = await unpublishDocument({\n collectionType,\n model,\n documentId,\n params,\n data: {\n discardDraft,\n },\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return { error: res.error };\n }\n\n trackUsage('didUnpublishEntry');\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.unpublish'),\n defaultMessage: 'Unpublished document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [trackUsage, unpublishDocument, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] =\n useUnpublishManyDocumentsMutation();\n const unpublishMany: IUseDocumentActs['unpublishMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n trackUsage('willBulkUnpublishEntries');\n\n const res = await unpublishManyDocuments({\n model,\n documentIds,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return { error: res.error };\n }\n\n trackUsage('didBulkUnpublishEntries');\n\n toggleNotification({\n type: 'success',\n title: formatMessage({\n id: getTranslation('success.records.unpublish'),\n defaultMessage: 'Successfully unpublished.',\n }),\n message: '',\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotBulkUnpublishEntries');\n\n throw err;\n }\n },\n [trackUsage, unpublishManyDocuments, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [createDocument] = useCreateDocumentMutation();\n const create: IUseDocumentActs['create'] = React.useCallback(\n async ({ model, params }, data, trackerProperty) => {\n try {\n const res = await createDocument({\n model,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotCreateEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n trackUsage('didCreateEntry', {\n ...trackerProperty,\n documentId: res.data.data.documentId,\n fromPreview,\n fromRelationModal,\n ...(isAiAvailable ? { isAiI18nConfigured } : {}),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.save'),\n defaultMessage: 'Saved document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotCreateEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [\n createDocument,\n formatAPIError,\n formatMessage,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n trackUsage,\n isAiAvailable,\n isAiI18nConfigured,\n ]\n );\n\n const [autoCloneDocument] = useAutoCloneDocumentMutation();\n const autoClone: IUseDocumentActs['autoClone'] = React.useCallback(\n async ({ model, sourceId, locale }) => {\n try {\n const res = await autoCloneDocument({\n model,\n sourceId,\n params: locale ? { locale } : undefined,\n });\n\n if ('error' in res) {\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.clone'),\n defaultMessage: 'Cloned document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [autoCloneDocument, formatMessage, toggleNotification]\n );\n\n const [cloneDocument] = useCloneDocumentMutation();\n const clone: IUseDocumentActs['clone'] = React.useCallback(\n async ({ model, documentId, params }, body, trackerProperty) => {\n try {\n // Omit id and documentId so they are not copied to the clone\n const { id: _id, documentId: _documentId, ...restBody } = body;\n\n /**\n * If we're cloning we want to post directly to this endpoint\n * so that the relations even if they're not listed in the EditView\n * are correctly attached to the entry.\n */\n const res = await cloneDocument({\n model,\n sourceId: documentId,\n data: restBody,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotCreateEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n\n trackUsage('didCreateEntry', {\n ...trackerProperty,\n ...(isAiAvailable ? { isAiI18nConfigured } : {}),\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.clone'),\n defaultMessage: 'Cloned document',\n }),\n });\n\n // Redirect to normal edit view\n navigate(`../../${res.data.data.documentId}`, { relative: 'path' });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotCreateEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [\n cloneDocument,\n trackUsage,\n toggleNotification,\n formatMessage,\n formatAPIError,\n navigate,\n isAiAvailable,\n isAiI18nConfigured,\n ]\n );\n\n const [getDoc] = useLazyGetDocumentQuery();\n const getDocument: IUseDocumentActs['getDocument'] = React.useCallback(\n async (args) => {\n const { data } = await getDoc(args);\n\n return data;\n },\n [getDoc]\n );\n\n return {\n isLoading:\n isPublishing ||\n isUpdating ||\n isDiscardingDocument ||\n isDeleting ||\n isDeletingMany ||\n isUnpublishingMany ||\n isPublishingMany,\n autoClone,\n clone,\n create,\n delete: _delete,\n deleteMany,\n discard,\n getDocument,\n publish,\n publishMany,\n unpublish,\n unpublishMany,\n update,\n } satisfies IUseDocumentActs;\n};\n\nexport { useDocumentActions };\nexport type { UseDocumentActions, OperationResponse };\n"],"names":["DEFAULT_UNEXPECTED_ERROR_MSG","id","defaultMessage","useDocumentActions","toggleNotification","useNotification","formatMessage","useIntl","trackUsage","useTracking","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","navigate","useNavigate","data","aiFeatureConfig","useGetAiFeatureConfigQuery","isAiAvailable","useAIAvailability","isAiI18nConfigured","Boolean","previewContext","usePreviewContext","relationContext","useRelationModal","fromPreview","undefined","fromRelationModal","deleteDocument","isLoading","isDeleting","useDeleteDocumentMutation","_delete","React","useCallback","collectionType","model","documentId","params","trackerProperty","res","type","message","error","getTranslation","err","deleteManyDocuments","isDeletingMany","useDeleteManyDocumentsMutation","deleteMany","documentIds","title","discardDocument","isDiscardingDocument","useDiscardDocumentMutation","discard","publishDocument","isPublishing","usePublishDocumentMutation","publish","publishManyDocuments","isPublishingMany","usePublishManyDocumentsMutation","publishMany","updateDocument","isUpdating","useUpdateDocumentMutation","update","unpublishDocument","useUnpublishDocumentMutation","unpublish","discardDraft","unpublishManyDocuments","isUnpublishingMany","useUnpublishManyDocumentsMutation","unpublishMany","createDocument","useCreateDocumentMutation","create","autoCloneDocument","useAutoCloneDocumentMutation","autoClone","sourceId","locale","cloneDocument","useCloneDocumentMutation","clone","body","_id","_documentId","restBody","relative","getDoc","useLazyGetDocumentQuery","getDocument","args","delete"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentContext.js","sources":["../../../admin/src/hooks/useDocumentContext.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\n\nimport { useDoc, useDocument, type UseDocument } from '../hooks/useDocument';\nimport { useRelationModal } from '../pages/EditView/components/FormInputs/Relations/RelationModal';\nimport { buildValidParams } from '../utils/api';\n\ninterface DocumentMeta {\n /**\n * The equivalent of the \":id\" url param value\n * i.e. gus5a67jcboa3o2zjnz39mb1\n */\n documentId?: string;\n /**\n * The equivalent of the url \":slug\" param value\n * i.e. api::articles.article\n */\n model: string;\n /**\n * The equivalent of the url \":collectionType\" param value\n * i.e. collection-types or single-types\n */\n collectionType: string;\n /**\n * Query params object\n * i.e. { locale: 'fr' }\n */\n params?: Record<string,
|
|
1
|
+
{"version":3,"file":"useDocumentContext.js","sources":["../../../admin/src/hooks/useDocumentContext.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\n\nimport { useDoc, useDocument, type UseDocument } from '../hooks/useDocument';\nimport { useRelationModal } from '../pages/EditView/components/FormInputs/Relations/RelationModal';\nimport { buildValidParams } from '../utils/api';\n\ninterface DocumentMeta {\n /**\n * The equivalent of the \":id\" url param value\n * i.e. gus5a67jcboa3o2zjnz39mb1\n */\n documentId?: string;\n /**\n * The equivalent of the url \":slug\" param value\n * i.e. api::articles.article\n */\n model: string;\n /**\n * The equivalent of the url \":collectionType\" param value\n * i.e. collection-types or single-types\n */\n collectionType: string;\n /**\n * Query params object\n * i.e. { locale: 'fr' }\n */\n params?: Record<string, unknown>;\n}\n\ninterface DocumentContextValue {\n currentDocumentMeta: DocumentMeta;\n currentDocument: ReturnType<UseDocument>;\n}\n\nfunction useDocumentContext(consumerName: string): DocumentContextValue {\n // Try to get state from the relation modal context first\n const currentRelationDocumentMeta = useRelationModal(\n consumerName,\n (state) => state.currentDocumentMeta,\n false\n );\n const currentRelationDocument = useRelationModal(\n consumerName,\n (state) => state.currentDocument,\n false\n );\n\n // Then try to get the same state from the URL\n const { collectionType, model, id: documentId } = useDoc();\n const [{ query }] = useQueryParams();\n\n // TODO: look into why we never seem to pass any params\n const params = React.useMemo(() => buildValidParams(query ?? {}), [query]);\n const urlDocumentMeta: DocumentMeta = { collectionType, model, documentId: documentId!, params };\n const urlDocument = useDocument(urlDocumentMeta);\n\n /**\n * If there's modal state, use it in priority as it's the most specific\n * Fallback to the state derived from the URL, which is the default behavior,\n * used for the edit view, history and preview.\n */\n return {\n currentDocumentMeta: currentRelationDocumentMeta ?? urlDocumentMeta,\n currentDocument: currentRelationDocument ?? urlDocument,\n };\n}\n\nexport { useDocumentContext };\nexport type { DocumentMeta };\n"],"names":["useDocumentContext","consumerName","currentRelationDocumentMeta","useRelationModal","state","currentDocumentMeta","currentRelationDocument","currentDocument","collectionType","model","id","documentId","useDoc","query","useQueryParams","params","React","useMemo","buildValidParams","urlDocumentMeta","urlDocument","useDocument"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,SAASA,mBAAmBC,YAAoB,EAAA;;AAE9C,IAAA,MAAMC,8BAA8BC,8BAAAA,CAClCF,YAAAA,EACA,CAACG,KAAAA,GAAUA,KAAAA,CAAMC,mBAAmB,EACpC,KAAA,CAAA;AAEF,IAAA,MAAMC,0BAA0BH,8BAAAA,CAC9BF,YAAAA,EACA,CAACG,KAAAA,GAAUA,KAAAA,CAAMG,eAAe,EAChC,KAAA,CAAA;;IAIF,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEC,EAAAA,EAAIC,UAAU,EAAE,GAAGC,kBAAAA,EAAAA;AAClD,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,0BAAAA,EAAAA;;IAGpB,MAAMC,MAAAA,GAASC,iBAAMC,OAAO,CAAC,IAAMC,oBAAAA,CAAiBL,KAAAA,IAAS,EAAC,CAAA,EAAI;AAACA,QAAAA;AAAM,KAAA,CAAA;AACzE,IAAA,MAAMM,eAAAA,GAAgC;AAAEX,QAAAA,cAAAA;AAAgBC,QAAAA,KAAAA;QAAOE,UAAAA,EAAYA,UAAAA;AAAaI,QAAAA;AAAO,KAAA;AAC/F,IAAA,MAAMK,cAAcC,uBAAAA,CAAYF,eAAAA,CAAAA;AAEhC;;;;AAIC,MACD,OAAO;AACLd,QAAAA,mBAAAA,EAAqBH,2BAAAA,IAA+BiB,eAAAA;AACpDZ,QAAAA,eAAAA,EAAiBD,uBAAAA,IAA2Bc;AAC9C,KAAA;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentContext.mjs","sources":["../../../admin/src/hooks/useDocumentContext.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\n\nimport { useDoc, useDocument, type UseDocument } from '../hooks/useDocument';\nimport { useRelationModal } from '../pages/EditView/components/FormInputs/Relations/RelationModal';\nimport { buildValidParams } from '../utils/api';\n\ninterface DocumentMeta {\n /**\n * The equivalent of the \":id\" url param value\n * i.e. gus5a67jcboa3o2zjnz39mb1\n */\n documentId?: string;\n /**\n * The equivalent of the url \":slug\" param value\n * i.e. api::articles.article\n */\n model: string;\n /**\n * The equivalent of the url \":collectionType\" param value\n * i.e. collection-types or single-types\n */\n collectionType: string;\n /**\n * Query params object\n * i.e. { locale: 'fr' }\n */\n params?: Record<string,
|
|
1
|
+
{"version":3,"file":"useDocumentContext.mjs","sources":["../../../admin/src/hooks/useDocumentContext.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\n\nimport { useDoc, useDocument, type UseDocument } from '../hooks/useDocument';\nimport { useRelationModal } from '../pages/EditView/components/FormInputs/Relations/RelationModal';\nimport { buildValidParams } from '../utils/api';\n\ninterface DocumentMeta {\n /**\n * The equivalent of the \":id\" url param value\n * i.e. gus5a67jcboa3o2zjnz39mb1\n */\n documentId?: string;\n /**\n * The equivalent of the url \":slug\" param value\n * i.e. api::articles.article\n */\n model: string;\n /**\n * The equivalent of the url \":collectionType\" param value\n * i.e. collection-types or single-types\n */\n collectionType: string;\n /**\n * Query params object\n * i.e. { locale: 'fr' }\n */\n params?: Record<string, unknown>;\n}\n\ninterface DocumentContextValue {\n currentDocumentMeta: DocumentMeta;\n currentDocument: ReturnType<UseDocument>;\n}\n\nfunction useDocumentContext(consumerName: string): DocumentContextValue {\n // Try to get state from the relation modal context first\n const currentRelationDocumentMeta = useRelationModal(\n consumerName,\n (state) => state.currentDocumentMeta,\n false\n );\n const currentRelationDocument = useRelationModal(\n consumerName,\n (state) => state.currentDocument,\n false\n );\n\n // Then try to get the same state from the URL\n const { collectionType, model, id: documentId } = useDoc();\n const [{ query }] = useQueryParams();\n\n // TODO: look into why we never seem to pass any params\n const params = React.useMemo(() => buildValidParams(query ?? {}), [query]);\n const urlDocumentMeta: DocumentMeta = { collectionType, model, documentId: documentId!, params };\n const urlDocument = useDocument(urlDocumentMeta);\n\n /**\n * If there's modal state, use it in priority as it's the most specific\n * Fallback to the state derived from the URL, which is the default behavior,\n * used for the edit view, history and preview.\n */\n return {\n currentDocumentMeta: currentRelationDocumentMeta ?? urlDocumentMeta,\n currentDocument: currentRelationDocument ?? urlDocument,\n };\n}\n\nexport { useDocumentContext };\nexport type { DocumentMeta };\n"],"names":["useDocumentContext","consumerName","currentRelationDocumentMeta","useRelationModal","state","currentDocumentMeta","currentRelationDocument","currentDocument","collectionType","model","id","documentId","useDoc","query","useQueryParams","params","React","useMemo","buildValidParams","urlDocumentMeta","urlDocument","useDocument"],"mappings":";;;;;;AAoCA,SAASA,mBAAmBC,YAAoB,EAAA;;AAE9C,IAAA,MAAMC,8BAA8BC,gBAAAA,CAClCF,YAAAA,EACA,CAACG,KAAAA,GAAUA,KAAAA,CAAMC,mBAAmB,EACpC,KAAA,CAAA;AAEF,IAAA,MAAMC,0BAA0BH,gBAAAA,CAC9BF,YAAAA,EACA,CAACG,KAAAA,GAAUA,KAAAA,CAAMG,eAAe,EAChC,KAAA,CAAA;;IAIF,MAAM,EAAEC,cAAc,EAAEC,KAAK,EAAEC,EAAAA,EAAIC,UAAU,EAAE,GAAGC,MAAAA,EAAAA;AAClD,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;;IAGpB,MAAMC,MAAAA,GAASC,MAAMC,OAAO,CAAC,IAAMC,gBAAAA,CAAiBL,KAAAA,IAAS,EAAC,CAAA,EAAI;AAACA,QAAAA;AAAM,KAAA,CAAA;AACzE,IAAA,MAAMM,eAAAA,GAAgC;AAAEX,QAAAA,cAAAA;AAAgBC,QAAAA,KAAAA;QAAOE,UAAAA,EAAYA,UAAAA;AAAaI,QAAAA;AAAO,KAAA;AAC/F,IAAA,MAAMK,cAAcC,WAAAA,CAAYF,eAAAA,CAAAA;AAEhC;;;;AAIC,MACD,OAAO;AACLd,QAAAA,mBAAAA,EAAqBH,2BAAAA,IAA+BiB,eAAAA;AACpDZ,QAAAA,eAAAA,EAAiBD,uBAAAA,IAA2Bc;AAC9C,KAAA;AACF;;;;"}
|
package/dist/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { CheckCircle, Feather, Pencil, PuzzlePiece } from '@strapi/icons';\n\nimport { PLUGIN_ID } from './constants/plugin';\nimport { ContentManagerPlugin } from './content-manager';\nimport { historyAdmin } from './history';\nimport { reducer } from './modules/reducers';\nimport { previewAdmin } from './preview';\nimport { routes } from './router';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\n\n// NOTE: we have to preload it to ensure chunks will have it available as global\nimport 'prismjs';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app:
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { CheckCircle, Feather, Pencil, PuzzlePiece } from '@strapi/icons';\n\nimport { PLUGIN_ID } from './constants/plugin';\nimport { ContentManagerPlugin } from './content-manager';\nimport { historyAdmin } from './history';\nimport { reducer } from './modules/reducers';\nimport { previewAdmin } from './preview';\nimport { routes } from './router';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\n\n// NOTE: we have to preload it to ensure chunks will have it available as global\nimport 'prismjs';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: StrapiApp) {\n const cm = new ContentManagerPlugin();\n\n app.addReducers({\n [PLUGIN_ID]: reducer,\n });\n\n app.addMenuLink({\n to: PLUGIN_ID,\n icon: Feather,\n intlLabel: {\n id: `content-manager.plugin.name`,\n defaultMessage: 'Content Manager',\n },\n permissions: [],\n position: 1,\n });\n\n app.router.addRoute({\n path: 'content-manager/*',\n lazy: async () => {\n const { Layout } = await import('./layout');\n\n return {\n Component: Layout,\n };\n },\n children: routes,\n });\n\n app.registerPlugin(cm.config);\n\n app.widgets.register((widgets: WidgetArgs[]) => {\n const lastEditedWidget: WidgetArgs = {\n icon: Pencil,\n title: {\n id: `${PLUGIN_ID}.widget.last-edited.title`,\n defaultMessage: 'Last edited entries',\n },\n component: async () => {\n const { LastEditedWidget } = await import('./components/Widgets');\n return LastEditedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-edited-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n const lastPublishedWidget: WidgetArgs = {\n icon: CheckCircle,\n title: {\n id: `${PLUGIN_ID}.widget.last-published.title`,\n defaultMessage: 'Last published entries',\n },\n component: async () => {\n const { LastPublishedWidget } = await import('./components/Widgets');\n return LastPublishedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-published-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n const entriesWidget: WidgetArgs = {\n icon: PuzzlePiece,\n title: {\n id: `${PLUGIN_ID}.widget.chart-entries.title`,\n defaultMessage: 'Entries',\n },\n component: async () => {\n const { ChartEntriesWidget } = await import('./components/Widgets');\n return ChartEntriesWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'chart-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n\n const profileInfoIndex = widgets.findIndex(\n (widget) => widget.id === 'profile-info' && widget.pluginId === 'admin'\n );\n\n // Insert chart-entries after the profile-info widget\n if (profileInfoIndex !== -1) {\n const newWidgets: WidgetArgs[] = [...widgets];\n newWidgets.splice(profileInfoIndex + 1, 0, entriesWidget);\n return [lastEditedWidget, lastPublishedWidget, ...newWidgets];\n }\n\n // Fallback: add to the end if the target widget aren't found\n return [lastEditedWidget, lastPublishedWidget, ...widgets, entriesWidget];\n });\n },\n bootstrap(app: StrapiApp) {\n if (typeof historyAdmin.bootstrap === 'function') {\n historyAdmin.bootstrap(app);\n }\n if (typeof previewAdmin.bootstrap === 'function') {\n previewAdmin.bootstrap(app);\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","cm","ContentManagerPlugin","addReducers","PLUGIN_ID","reducer","addMenuLink","to","icon","Feather","intlLabel","id","defaultMessage","permissions","position","router","addRoute","path","lazy","Layout","Component","children","routes","registerPlugin","config","widgets","lastEditedWidget","Pencil","title","component","LastEditedWidget","pluginId","action","lastPublishedWidget","CheckCircle","LastPublishedWidget","entriesWidget","PuzzlePiece","ChartEntriesWidget","profileInfoIndex","findIndex","widget","newWidgets","splice","bootstrap","historyAdmin","previewAdmin","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
package/dist/admin/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { CheckCircle, Feather, Pencil, PuzzlePiece } from '@strapi/icons';\n\nimport { PLUGIN_ID } from './constants/plugin';\nimport { ContentManagerPlugin } from './content-manager';\nimport { historyAdmin } from './history';\nimport { reducer } from './modules/reducers';\nimport { previewAdmin } from './preview';\nimport { routes } from './router';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\n\n// NOTE: we have to preload it to ensure chunks will have it available as global\nimport 'prismjs';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app:
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { CheckCircle, Feather, Pencil, PuzzlePiece } from '@strapi/icons';\n\nimport { PLUGIN_ID } from './constants/plugin';\nimport { ContentManagerPlugin } from './content-manager';\nimport { historyAdmin } from './history';\nimport { reducer } from './modules/reducers';\nimport { previewAdmin } from './preview';\nimport { routes } from './router';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\n\n// NOTE: we have to preload it to ensure chunks will have it available as global\nimport 'prismjs';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: StrapiApp) {\n const cm = new ContentManagerPlugin();\n\n app.addReducers({\n [PLUGIN_ID]: reducer,\n });\n\n app.addMenuLink({\n to: PLUGIN_ID,\n icon: Feather,\n intlLabel: {\n id: `content-manager.plugin.name`,\n defaultMessage: 'Content Manager',\n },\n permissions: [],\n position: 1,\n });\n\n app.router.addRoute({\n path: 'content-manager/*',\n lazy: async () => {\n const { Layout } = await import('./layout');\n\n return {\n Component: Layout,\n };\n },\n children: routes,\n });\n\n app.registerPlugin(cm.config);\n\n app.widgets.register((widgets: WidgetArgs[]) => {\n const lastEditedWidget: WidgetArgs = {\n icon: Pencil,\n title: {\n id: `${PLUGIN_ID}.widget.last-edited.title`,\n defaultMessage: 'Last edited entries',\n },\n component: async () => {\n const { LastEditedWidget } = await import('./components/Widgets');\n return LastEditedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-edited-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n const lastPublishedWidget: WidgetArgs = {\n icon: CheckCircle,\n title: {\n id: `${PLUGIN_ID}.widget.last-published.title`,\n defaultMessage: 'Last published entries',\n },\n component: async () => {\n const { LastPublishedWidget } = await import('./components/Widgets');\n return LastPublishedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-published-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n const entriesWidget: WidgetArgs = {\n icon: PuzzlePiece,\n title: {\n id: `${PLUGIN_ID}.widget.chart-entries.title`,\n defaultMessage: 'Entries',\n },\n component: async () => {\n const { ChartEntriesWidget } = await import('./components/Widgets');\n return ChartEntriesWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'chart-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n\n const profileInfoIndex = widgets.findIndex(\n (widget) => widget.id === 'profile-info' && widget.pluginId === 'admin'\n );\n\n // Insert chart-entries after the profile-info widget\n if (profileInfoIndex !== -1) {\n const newWidgets: WidgetArgs[] = [...widgets];\n newWidgets.splice(profileInfoIndex + 1, 0, entriesWidget);\n return [lastEditedWidget, lastPublishedWidget, ...newWidgets];\n }\n\n // Fallback: add to the end if the target widget aren't found\n return [lastEditedWidget, lastPublishedWidget, ...widgets, entriesWidget];\n });\n },\n bootstrap(app: StrapiApp) {\n if (typeof historyAdmin.bootstrap === 'function') {\n historyAdmin.bootstrap(app);\n }\n if (typeof previewAdmin.bootstrap === 'function') {\n previewAdmin.bootstrap(app);\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","cm","ContentManagerPlugin","addReducers","PLUGIN_ID","reducer","addMenuLink","to","icon","Feather","intlLabel","id","defaultMessage","permissions","position","router","addRoute","path","lazy","Layout","Component","children","routes","registerPlugin","config","widgets","lastEditedWidget","Pencil","title","component","LastEditedWidget","pluginId","action","lastPublishedWidget","CheckCircle","LastPublishedWidget","entriesWidget","PuzzlePiece","ChartEntriesWidget","profileInfoIndex","findIndex","widget","newWidgets","splice","bootstrap","historyAdmin","previewAdmin","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
package/dist/admin/layout.js
CHANGED
|
@@ -118,22 +118,34 @@ var translations = require('./utils/translations.js');
|
|
|
118
118
|
switch(actualType){
|
|
119
119
|
case dragAndDrop.ItemTypes.EDIT_FIELD:
|
|
120
120
|
case dragAndDrop.ItemTypes.FIELD:
|
|
121
|
-
return /*#__PURE__*/ jsxRuntime.jsx(CardDragPreview.CardDragPreview, {
|
|
121
|
+
return isCardDragItem(item) ? /*#__PURE__*/ jsxRuntime.jsx(CardDragPreview.CardDragPreview, {
|
|
122
122
|
label: item.label
|
|
123
|
-
});
|
|
123
|
+
}) : null;
|
|
124
124
|
case dragAndDrop.ItemTypes.COMPONENT:
|
|
125
125
|
case dragAndDrop.ItemTypes.DYNAMIC_ZONE:
|
|
126
|
-
return /*#__PURE__*/ jsxRuntime.jsx(ComponentDragPreview.ComponentDragPreview, {
|
|
126
|
+
return isComponentDragItem(item) ? /*#__PURE__*/ jsxRuntime.jsx(ComponentDragPreview.ComponentDragPreview, {
|
|
127
127
|
displayedValue: item.displayedValue
|
|
128
|
-
});
|
|
128
|
+
}) : null;
|
|
129
129
|
case dragAndDrop.ItemTypes.RELATION:
|
|
130
|
-
return /*#__PURE__*/ jsxRuntime.jsx(RelationDragPreview.RelationDragPreview, {
|
|
130
|
+
return isRelationDragItem(item) ? /*#__PURE__*/ jsxRuntime.jsx(RelationDragPreview.RelationDragPreview, {
|
|
131
131
|
...item
|
|
132
|
-
});
|
|
132
|
+
}) : null;
|
|
133
133
|
default:
|
|
134
134
|
return null;
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
+
const isRecord = (value)=>{
|
|
138
|
+
return value !== null && typeof value === 'object';
|
|
139
|
+
};
|
|
140
|
+
const isCardDragItem = (item)=>{
|
|
141
|
+
return isRecord(item) && typeof item.label === 'string';
|
|
142
|
+
};
|
|
143
|
+
const isComponentDragItem = (item)=>{
|
|
144
|
+
return isRecord(item) && typeof item.displayedValue === 'string';
|
|
145
|
+
};
|
|
146
|
+
const isRelationDragItem = (item)=>{
|
|
147
|
+
return isRecord(item) && typeof item.displayedValue === 'string' && (typeof item.id === 'string' || typeof item.id === 'number') && typeof item.index === 'number' && typeof item.width === 'number' && (item.status === undefined || typeof item.status === 'string');
|
|
148
|
+
};
|
|
137
149
|
|
|
138
150
|
exports.Layout = Layout;
|
|
139
151
|
//# sourceMappingURL=layout.js.map
|
package/dist/admin/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sources":["../../admin/src/layout.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, Layouts, SubNav, useIsMobile, LazyOutlet } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { getTranslation } from './utils/translations';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n const isMobile = useIsMobile();\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n // On /content-manager base route\n if (!contentTypeMatch && authorisedModels.length > 0) {\n // On desktop: redirect to first collection type\n if (!isMobile) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n replace\n />\n );\n }\n\n // On mobile: show navigation page\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <SubNav.PageWrapper>\n <LeftMenu isFullPage />\n </SubNav.PageWrapper>\n </>\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <LazyOutlet nested />\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return <CardDragPreview label={item.label} />;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return <ComponentDragPreview displayedValue={item.displayedValue} />;\n\n case ItemTypes.RELATION:\n return <RelationDragPreview {...item} />;\n\n default:\n return null;\n }\n}\n\nexport { Layout };\n"],"names":["Layout","contentTypeMatch","useMatch","isMobile","useIsMobile","isLoading","collectionTypeLinks","models","singleTypeLinks","useContentManagerInitData","authorisedModels","sort","a","b","title","localeCompare","pathname","useLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Page","Title","id","getTranslation","defaultMessage","Loading","supportedModelsToDisplay","filter","isDisplayed","length","Navigate","to","search","replace","SubNav","PageWrapper","LeftMenu","isFullPage","Layouts","Root","sideNav","DragLayer","renderItem","renderDraglayerItem","LazyOutlet","nested","type","item","actualType","split","ItemTypes","EDIT_FIELD","FIELD","CardDragPreview","label","COMPONENT","DYNAMIC_ZONE","ComponentDragPreview","displayedValue","RELATION","RelationDragPreview"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout.js","sources":["../../admin/src/layout.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, Layouts, SubNav, useIsMobile, LazyOutlet } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { getTranslation } from './utils/translations';\n\nimport type { CardDragPreviewProps } from './components/DragPreviews/CardDragPreview';\nimport type { ComponentDragPreviewProps } from './components/DragPreviews/ComponentDragPreview';\nimport type { RelationDragPreviewProps } from './components/DragPreviews/RelationDragPreview';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n const isMobile = useIsMobile();\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n // On /content-manager base route\n if (!contentTypeMatch && authorisedModels.length > 0) {\n // On desktop: redirect to first collection type\n if (!isMobile) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n replace\n />\n );\n }\n\n // On mobile: show navigation page\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <SubNav.PageWrapper>\n <LeftMenu isFullPage />\n </SubNav.PageWrapper>\n </>\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <LazyOutlet nested />\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return isCardDragItem(item) ? <CardDragPreview label={item.label} /> : null;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return isComponentDragItem(item) ? (\n <ComponentDragPreview displayedValue={item.displayedValue} />\n ) : null;\n\n case ItemTypes.RELATION:\n return isRelationDragItem(item) ? <RelationDragPreview {...item} /> : null;\n\n default:\n return null;\n }\n}\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return value !== null && typeof value === 'object';\n};\n\nconst isCardDragItem = (item: unknown): item is CardDragPreviewProps => {\n return isRecord(item) && typeof item.label === 'string';\n};\n\nconst isComponentDragItem = (item: unknown): item is ComponentDragPreviewProps => {\n return isRecord(item) && typeof item.displayedValue === 'string';\n};\n\nconst isRelationDragItem = (item: unknown): item is RelationDragPreviewProps => {\n return (\n isRecord(item) &&\n typeof item.displayedValue === 'string' &&\n (typeof item.id === 'string' || typeof item.id === 'number') &&\n typeof item.index === 'number' &&\n typeof item.width === 'number' &&\n (item.status === undefined || typeof item.status === 'string')\n );\n};\n\nexport { Layout };\n"],"names":["Layout","contentTypeMatch","useMatch","isMobile","useIsMobile","isLoading","collectionTypeLinks","models","singleTypeLinks","useContentManagerInitData","authorisedModels","sort","a","b","title","localeCompare","pathname","useLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Page","Title","id","getTranslation","defaultMessage","Loading","supportedModelsToDisplay","filter","isDisplayed","length","Navigate","to","search","replace","SubNav","PageWrapper","LeftMenu","isFullPage","Layouts","Root","sideNav","DragLayer","renderItem","renderDraglayerItem","LazyOutlet","nested","type","item","actualType","split","ItemTypes","EDIT_FIELD","FIELD","isCardDragItem","CardDragPreview","label","COMPONENT","DYNAMIC_ZONE","isComponentDragItem","ComponentDragPreview","displayedValue","RELATION","isRelationDragItem","RelationDragPreview","isRecord","value","index","width","status","undefined"],"mappings":"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"}
|
package/dist/admin/layout.mjs
CHANGED
|
@@ -116,22 +116,34 @@ import { getTranslation } from './utils/translations.mjs';
|
|
|
116
116
|
switch(actualType){
|
|
117
117
|
case ItemTypes.EDIT_FIELD:
|
|
118
118
|
case ItemTypes.FIELD:
|
|
119
|
-
return /*#__PURE__*/ jsx(CardDragPreview, {
|
|
119
|
+
return isCardDragItem(item) ? /*#__PURE__*/ jsx(CardDragPreview, {
|
|
120
120
|
label: item.label
|
|
121
|
-
});
|
|
121
|
+
}) : null;
|
|
122
122
|
case ItemTypes.COMPONENT:
|
|
123
123
|
case ItemTypes.DYNAMIC_ZONE:
|
|
124
|
-
return /*#__PURE__*/ jsx(ComponentDragPreview, {
|
|
124
|
+
return isComponentDragItem(item) ? /*#__PURE__*/ jsx(ComponentDragPreview, {
|
|
125
125
|
displayedValue: item.displayedValue
|
|
126
|
-
});
|
|
126
|
+
}) : null;
|
|
127
127
|
case ItemTypes.RELATION:
|
|
128
|
-
return /*#__PURE__*/ jsx(RelationDragPreview, {
|
|
128
|
+
return isRelationDragItem(item) ? /*#__PURE__*/ jsx(RelationDragPreview, {
|
|
129
129
|
...item
|
|
130
|
-
});
|
|
130
|
+
}) : null;
|
|
131
131
|
default:
|
|
132
132
|
return null;
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
+
const isRecord = (value)=>{
|
|
136
|
+
return value !== null && typeof value === 'object';
|
|
137
|
+
};
|
|
138
|
+
const isCardDragItem = (item)=>{
|
|
139
|
+
return isRecord(item) && typeof item.label === 'string';
|
|
140
|
+
};
|
|
141
|
+
const isComponentDragItem = (item)=>{
|
|
142
|
+
return isRecord(item) && typeof item.displayedValue === 'string';
|
|
143
|
+
};
|
|
144
|
+
const isRelationDragItem = (item)=>{
|
|
145
|
+
return isRecord(item) && typeof item.displayedValue === 'string' && (typeof item.id === 'string' || typeof item.id === 'number') && typeof item.index === 'number' && typeof item.width === 'number' && (item.status === undefined || typeof item.status === 'string');
|
|
146
|
+
};
|
|
135
147
|
|
|
136
148
|
export { Layout };
|
|
137
149
|
//# sourceMappingURL=layout.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.mjs","sources":["../../admin/src/layout.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, Layouts, SubNav, useIsMobile, LazyOutlet } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { getTranslation } from './utils/translations';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n const isMobile = useIsMobile();\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n // On /content-manager base route\n if (!contentTypeMatch && authorisedModels.length > 0) {\n // On desktop: redirect to first collection type\n if (!isMobile) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n replace\n />\n );\n }\n\n // On mobile: show navigation page\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <SubNav.PageWrapper>\n <LeftMenu isFullPage />\n </SubNav.PageWrapper>\n </>\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <LazyOutlet nested />\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return <CardDragPreview label={item.label} />;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return <ComponentDragPreview displayedValue={item.displayedValue} />;\n\n case ItemTypes.RELATION:\n return <RelationDragPreview {...item} />;\n\n default:\n return null;\n }\n}\n\nexport { Layout };\n"],"names":["Layout","contentTypeMatch","useMatch","isMobile","useIsMobile","isLoading","collectionTypeLinks","models","singleTypeLinks","useContentManagerInitData","authorisedModels","sort","a","b","title","localeCompare","pathname","useLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Page","Title","id","getTranslation","defaultMessage","Loading","supportedModelsToDisplay","filter","isDisplayed","length","Navigate","to","search","replace","SubNav","PageWrapper","LeftMenu","isFullPage","Layouts","Root","sideNav","DragLayer","renderItem","renderDraglayerItem","LazyOutlet","nested","type","item","actualType","split","ItemTypes","EDIT_FIELD","FIELD","CardDragPreview","label","COMPONENT","DYNAMIC_ZONE","ComponentDragPreview","displayedValue","RELATION","RelationDragPreview"],"mappings":";;;;;;;;;;;;;;AAgBA;;AAEkG,2GAE5FA,MAAAA,GAAS,IAAA;AACb,IAAA,MAAMC,mBAAmBC,QAAAA,CAAS,+BAAA,CAAA;AAClC,IAAA,MAAMC,QAAAA,GAAWC,WAAAA,EAAAA;IAEjB,MAAM,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,eAAe,EAAE,GAAGC,yBAAAA,EAAAA;AACpE,IAAA,MAAMC,gBAAAA,GAAmB;AAAIJ,QAAAA,GAAAA,mBAAAA;AAAwBE,QAAAA,GAAAA;KAAgB,CAACG,IAAI,CAAC,CAACC,CAAAA,EAAGC,CAAAA,GAC7ED,CAAAA,CAAEE,KAAK,CAACC,aAAa,CAACF,CAAAA,CAAEC,KAAK,CAAA,CAAA;IAG/B,MAAM,EAAEE,QAAQ,EAAE,GAAGC,WAAAA,EAAAA;IACrB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,IAAId,SAAAA,EAAW;QACb,qBACEe,IAAA,CAAAC,QAAA,EAAA;;AACE,8BAAAC,GAAA,CAACC,KAAKC,KAAK,EAAA;8BACRN,aAAAA,CAAc;AACbO,wBAAAA,EAAAA,EAAIC,cAAAA,CAAe,aAAA,CAAA;wBACnBC,cAAAA,EAAgB;AAClB,qBAAA;;AAEF,8BAAAL,GAAA,CAACC,KAAKK,OAAO,EAAA,EAAA;;;AAGnB,IAAA;;IAGA,MAAMC,wBAAAA,GAA2BtB,OAAOuB,MAAM,CAAC,CAAC,EAAEC,WAAW,EAAE,GAAKA,WAAAA,CAAAA;;IAGpE,IACErB,gBAAAA,CAAiBsB,MAAM,KAAK,CAAA,IAC5BH,yBAAyBG,MAAM,GAAG,CAAA,IAClChB,QAAAA,KAAa,sBAAA,EACb;AACA,QAAA,qBAAOM,GAAA,CAACW,QAAAA,EAAAA;YAASC,EAAAA,EAAG;;AACtB,IAAA;;AAGA,IAAA,IAAIL,wBAAAA,CAAyBG,MAAM,KAAK,CAAA,IAAKhB,aAAa,mBAAA,EAAqB;AAC7E,QAAA,qBAAOM,GAAA,CAACW,QAAAA,EAAAA;YAASC,EAAAA,EAAG;;AACtB,IAAA;;AAGA,IAAA,IAAI,CAACjC,gBAAAA,IAAoBS,gBAAAA,CAAiBsB,MAAM,GAAG,CAAA,EAAG;;AAEpD,QAAA,IAAI,CAAC7B,QAAAA,EAAU;AACb,YAAA,qBACEmB,GAAA,CAACW,QAAAA,EAAAA;gBACCC,EAAAA,EAAI;AACFlB,oBAAAA,QAAAA,EAAUN,gBAAgB,CAAC,CAAA,CAAE,CAACwB,EAAE;AAChCC,oBAAAA,MAAAA,EAAQzB,gBAAgB,CAAC,CAAA,CAAE,CAACyB,MAAM,IAAI;AACxC,iBAAA;gBACAC,OAAO,EAAA;;AAGb,QAAA;;QAGA,qBACEhB,IAAA,CAAAC,QAAA,EAAA;;AACE,8BAAAC,GAAA,CAACC,KAAKC,KAAK,EAAA;8BACRN,aAAAA,CAAc;AACbO,wBAAAA,EAAAA,EAAIC,cAAAA,CAAe,aAAA,CAAA;wBACnBC,cAAAA,EAAgB;AAClB,qBAAA;;AAEF,8BAAAL,GAAA,CAACe,OAAOC,WAAW,EAAA;AACjB,oBAAA,QAAA,gBAAAhB,GAAA,CAACiB,QAAAA,EAAAA;wBAASC,UAAU,EAAA;;;;;AAI5B,IAAA;IAEA,qBACEpB,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAC,GAAA,CAACC,KAAKC,KAAK,EAAA;0BACRN,aAAAA,CAAc;AACbO,oBAAAA,EAAAA,EAAIC,cAAAA,CAAe,aAAA,CAAA;oBACnBC,cAAAA,EAAgB;AAClB,iBAAA;;AAEF,0BAAAP,IAAA,CAACqB,QAAQC,IAAI,EAAA;AAACC,gBAAAA,OAAAA,gBAASrB,GAAA,CAACiB,QAAAA,EAAAA,EAAAA,CAAAA;;kCACtBjB,GAAA,CAACsB,SAAAA,EAAAA;wBAAUC,UAAAA,EAAYC;;kCACvBxB,GAAA,CAACyB,UAAAA,EAAAA;wBAAWC,MAAM,EAAA;;;;;;AAI1B;AAEA;;AAEkG,qGAElG,SAASF,mBAAAA,CAAoB,EAAEG,IAAI,EAAEC,IAAI,EAA+C,EAAA;AACtF,IAAA,IAAI,CAACD,IAAAA,IAASA,IAAAA,IAAQ,OAAOA,SAAS,QAAA,EAAW;QAC/C,OAAO,IAAA;AACT,IAAA;AAEA;;;;AAIC,MACD,MAAM,CAACE,UAAAA,CAAW,GAAGF,IAAAA,CAAKG,KAAK,CAAC,GAAA,CAAA;IAEhC,OAAQD,UAAAA;AACN,QAAA,KAAKE,UAAUC,UAAU;AACzB,QAAA,KAAKD,UAAUE,KAAK;AAClB,YAAA,qBAAOjC,GAAA,CAACkC,eAAAA,EAAAA;AAAgBC,gBAAAA,KAAAA,EAAOP,KAAKO;;AACtC,QAAA,KAAKJ,UAAUK,SAAS;AACxB,QAAA,KAAKL,UAAUM,YAAY;AACzB,YAAA,qBAAOrC,GAAA,CAACsC,oBAAAA,EAAAA;AAAqBC,gBAAAA,cAAAA,EAAgBX,KAAKW;;AAEpD,QAAA,KAAKR,UAAUS,QAAQ;AACrB,YAAA,qBAAOxC,GAAA,CAACyC,mBAAAA,EAAAA;AAAqB,gBAAA,GAAGb;;AAElC,QAAA;YACE,OAAO,IAAA;AACX;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"layout.mjs","sources":["../../admin/src/layout.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, Layouts, SubNav, useIsMobile, LazyOutlet } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { getTranslation } from './utils/translations';\n\nimport type { CardDragPreviewProps } from './components/DragPreviews/CardDragPreview';\nimport type { ComponentDragPreviewProps } from './components/DragPreviews/ComponentDragPreview';\nimport type { RelationDragPreviewProps } from './components/DragPreviews/RelationDragPreview';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n const isMobile = useIsMobile();\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n // On /content-manager base route\n if (!contentTypeMatch && authorisedModels.length > 0) {\n // On desktop: redirect to first collection type\n if (!isMobile) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n replace\n />\n );\n }\n\n // On mobile: show navigation page\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <SubNav.PageWrapper>\n <LeftMenu isFullPage />\n </SubNav.PageWrapper>\n </>\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <LazyOutlet nested />\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return isCardDragItem(item) ? <CardDragPreview label={item.label} /> : null;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return isComponentDragItem(item) ? (\n <ComponentDragPreview displayedValue={item.displayedValue} />\n ) : null;\n\n case ItemTypes.RELATION:\n return isRelationDragItem(item) ? <RelationDragPreview {...item} /> : null;\n\n default:\n return null;\n }\n}\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return value !== null && typeof value === 'object';\n};\n\nconst isCardDragItem = (item: unknown): item is CardDragPreviewProps => {\n return isRecord(item) && typeof item.label === 'string';\n};\n\nconst isComponentDragItem = (item: unknown): item is ComponentDragPreviewProps => {\n return isRecord(item) && typeof item.displayedValue === 'string';\n};\n\nconst isRelationDragItem = (item: unknown): item is RelationDragPreviewProps => {\n return (\n isRecord(item) &&\n typeof item.displayedValue === 'string' &&\n (typeof item.id === 'string' || typeof item.id === 'number') &&\n typeof item.index === 'number' &&\n typeof item.width === 'number' &&\n (item.status === undefined || typeof item.status === 'string')\n );\n};\n\nexport { Layout };\n"],"names":["Layout","contentTypeMatch","useMatch","isMobile","useIsMobile","isLoading","collectionTypeLinks","models","singleTypeLinks","useContentManagerInitData","authorisedModels","sort","a","b","title","localeCompare","pathname","useLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Page","Title","id","getTranslation","defaultMessage","Loading","supportedModelsToDisplay","filter","isDisplayed","length","Navigate","to","search","replace","SubNav","PageWrapper","LeftMenu","isFullPage","Layouts","Root","sideNav","DragLayer","renderItem","renderDraglayerItem","LazyOutlet","nested","type","item","actualType","split","ItemTypes","EDIT_FIELD","FIELD","isCardDragItem","CardDragPreview","label","COMPONENT","DYNAMIC_ZONE","isComponentDragItem","ComponentDragPreview","displayedValue","RELATION","isRelationDragItem","RelationDragPreview","isRecord","value","index","width","status","undefined"],"mappings":"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"}
|