@strapi/content-manager 0.0.0-next.8c98bb4ad3e89fc5a3f45b1925795444d17042d6 → 0.0.0-next.8d576f41729640e32a4a0cfcb258b6288e6631f6
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/ConfigurationForm/Fields.js +300 -204
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.mjs +304 -209
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js +34 -30
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs +36 -32
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/components/Widgets.js +161 -0
- package/dist/admin/components/Widgets.js.map +1 -0
- package/dist/admin/components/Widgets.mjs +158 -0
- package/dist/admin/components/Widgets.mjs.map +1 -0
- package/dist/admin/content-manager.js.map +1 -1
- package/dist/admin/content-manager.mjs.map +1 -1
- package/dist/admin/history/components/VersionHeader.js +6 -0
- package/dist/admin/history/components/VersionHeader.js.map +1 -1
- package/dist/admin/history/components/VersionHeader.mjs +7 -1
- package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
- package/dist/admin/history/pages/History.js +1 -9
- package/dist/admin/history/pages/History.js.map +1 -1
- package/dist/admin/history/pages/History.mjs +1 -9
- package/dist/admin/history/pages/History.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js +20 -5
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +20 -5
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentContext.js +57 -0
- package/dist/admin/hooks/useDocumentContext.js.map +1 -0
- package/dist/admin/hooks/useDocumentContext.mjs +36 -0
- package/dist/admin/hooks/useDocumentContext.mjs.map +1 -0
- package/dist/admin/index.js +42 -5
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +42 -3
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js +90 -91
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +92 -93
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +256 -58
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +262 -64
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +61 -26
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +63 -28
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +46 -95
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +48 -78
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +4 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +4 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +5 -16
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +5 -16
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +2 -3
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +2 -3
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +506 -345
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +506 -347
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +145 -87
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +148 -90
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js +11 -9
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +11 -9
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +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 +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +50 -97
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +51 -79
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.js +20 -24
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs +20 -24
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.js +3 -10
- package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.mjs +3 -10
- package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js +77 -0
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +78 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js +1 -0
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +1 -0
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.js +13 -3
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.js +3 -6
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.mjs +3 -6
- package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js +94 -102
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs +94 -102
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/services/documents.js +2 -2
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs +2 -2
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/services/homepage.js +30 -0
- package/dist/admin/services/homepage.js.map +1 -0
- package/dist/admin/services/homepage.mjs +28 -0
- package/dist/admin/services/homepage.mjs.map +1 -0
- package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
- package/dist/admin/src/components/Widgets.d.ts +3 -0
- package/dist/admin/src/content-manager.d.ts +0 -3
- package/dist/admin/src/features/DocumentRBAC.d.ts +1 -1
- package/dist/admin/src/history/pages/History.d.ts +1 -1
- package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
- package/dist/admin/src/hooks/useDocumentContext.d.ts +30 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +73 -7
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -8
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
- package/dist/admin/src/preview/pages/Preview.d.ts +2 -1
- package/dist/admin/src/services/documents.d.ts +7 -1
- package/dist/admin/src/services/homepage.d.ts +5 -0
- package/dist/admin/translations/en.json.js +3 -1
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +3 -1
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/ru.json.js +235 -226
- package/dist/admin/translations/ru.json.js.map +1 -1
- package/dist/admin/translations/ru.json.mjs +230 -226
- package/dist/admin/translations/ru.json.mjs.map +1 -1
- package/dist/admin/utils/validation.js +1 -1
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs +1 -1
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/controllers/content-types.js +11 -1
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/content-types.mjs +11 -1
- package/dist/server/controllers/content-types.mjs.map +1 -1
- package/dist/server/controllers/index.js +3 -1
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs +3 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/validation/index.js +14 -2
- package/dist/server/controllers/validation/index.js.map +1 -1
- package/dist/server/controllers/validation/index.mjs +14 -2
- package/dist/server/controllers/validation/index.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js +3 -0
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs +3 -0
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/homepage/controllers/homepage.js +57 -0
- package/dist/server/homepage/controllers/homepage.js.map +1 -0
- package/dist/server/homepage/controllers/homepage.mjs +36 -0
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
- package/dist/server/homepage/controllers/index.js +10 -0
- package/dist/server/homepage/controllers/index.js.map +1 -0
- package/dist/server/homepage/controllers/index.mjs +8 -0
- package/dist/server/homepage/controllers/index.mjs.map +1 -0
- package/dist/server/homepage/index.js +14 -0
- package/dist/server/homepage/index.js.map +1 -0
- package/dist/server/homepage/index.mjs +12 -0
- package/dist/server/homepage/index.mjs.map +1 -0
- package/dist/server/homepage/routes/homepage.js +25 -0
- package/dist/server/homepage/routes/homepage.js.map +1 -0
- package/dist/server/homepage/routes/homepage.mjs +23 -0
- package/dist/server/homepage/routes/homepage.mjs.map +1 -0
- package/dist/server/homepage/routes/index.js +13 -0
- package/dist/server/homepage/routes/index.js.map +1 -0
- package/dist/server/homepage/routes/index.mjs +11 -0
- package/dist/server/homepage/routes/index.mjs.map +1 -0
- package/dist/server/homepage/services/homepage.js +157 -0
- package/dist/server/homepage/services/homepage.js.map +1 -0
- package/dist/server/homepage/services/homepage.mjs +155 -0
- package/dist/server/homepage/services/homepage.mjs.map +1 -0
- package/dist/server/homepage/services/index.js +10 -0
- package/dist/server/homepage/services/index.js.map +1 -0
- package/dist/server/homepage/services/index.mjs +8 -0
- package/dist/server/homepage/services/index.mjs.map +1 -0
- package/dist/server/preview/services/preview.js +0 -1
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs +0 -1
- package/dist/server/preview/services/preview.mjs.map +1 -1
- package/dist/server/routes/index.js +3 -1
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs +3 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/services/data-mapper.js +4 -1
- package/dist/server/services/data-mapper.js.map +1 -1
- package/dist/server/services/data-mapper.mjs +4 -1
- package/dist/server/services/data-mapper.mjs.map +1 -1
- package/dist/server/services/document-manager.js +8 -1
- package/dist/server/services/document-manager.js.map +1 -1
- package/dist/server/services/document-manager.mjs +8 -1
- package/dist/server/services/document-manager.mjs.map +1 -1
- package/dist/server/services/document-metadata.js +2 -0
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +2 -0
- package/dist/server/services/document-metadata.mjs.map +1 -1
- package/dist/server/services/index.js +3 -1
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs +3 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/utils/configuration/attributes.js +1 -1
- package/dist/server/services/utils/configuration/attributes.js.map +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
- package/dist/server/services/utils/configuration/layouts.js +1 -1
- package/dist/server/services/utils/configuration/layouts.js.map +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.js +8 -0
- package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
- package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
- package/dist/server/services/utils/populate.js +11 -0
- package/dist/server/services/utils/populate.js.map +1 -1
- package/dist/server/services/utils/populate.mjs +11 -0
- package/dist/server/services/utils/populate.mjs.map +1 -1
- package/dist/server/src/controllers/content-types.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/index.d.ts +6 -1
- package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/homepage/controllers/homepage.d.ts +7 -0
- package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/controllers/index.d.ts +2 -0
- package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
- package/dist/server/src/homepage/index.d.ts +16 -0
- package/dist/server/src/homepage/index.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
- package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/index.d.ts +8 -0
- package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
- package/dist/server/src/homepage/services/homepage.d.ts +11 -0
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/services/index.d.ts +9 -0
- package/dist/server/src/homepage/services/index.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +8 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview.d.ts.map +1 -1
- package/dist/server/src/routes/index.d.ts +1 -0
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/data-mapper.d.ts +1 -0
- package/dist/server/src/services/data-mapper.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +7 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/dist/shared/contracts/collection-types.d.ts +0 -1
- package/dist/shared/contracts/collection-types.d.ts.map +1 -1
- package/dist/shared/contracts/homepage.d.ts +25 -0
- package/dist/shared/contracts/homepage.d.ts.map +1 -0
- package/package.json +12 -9
- package/dist/admin/features/DocumentContext.js +0 -71
- package/dist/admin/features/DocumentContext.js.map +0 -1
- package/dist/admin/features/DocumentContext.mjs +0 -49
- package/dist/admin/features/DocumentContext.mjs.map +0 -1
- package/dist/admin/src/features/DocumentContext.d.ts +0 -53
|
@@ -1,23 +1,60 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useNotification, useAPIErrorHandler, useQueryParams, useForm } from '@strapi/admin/strapi-admin';
|
|
4
|
-
import { Menu, Flex,
|
|
5
|
-
import { Cross, WarningCircle
|
|
4
|
+
import { Menu, Flex, Button, VisuallyHidden, Dialog, Modal, Typography, Radio } from '@strapi/design-system';
|
|
5
|
+
import { More, Cross, WarningCircle } from '@strapi/icons';
|
|
6
6
|
import mapValues from 'lodash/fp/mapValues';
|
|
7
|
+
import get from 'lodash/get';
|
|
8
|
+
import merge from 'lodash/merge';
|
|
9
|
+
import set from 'lodash/set';
|
|
7
10
|
import { useIntl } from 'react-intl';
|
|
8
11
|
import { useNavigate, useMatch, useParams } from 'react-router-dom';
|
|
9
12
|
import { styled } from 'styled-components';
|
|
10
13
|
import { PUBLISHED_AT_ATTRIBUTE_NAME } from '../../../constants/attributes.mjs';
|
|
11
14
|
import { SINGLE_TYPES } from '../../../constants/collections.mjs';
|
|
12
|
-
import { useDocumentContext } from '../../../features/DocumentContext.mjs';
|
|
13
15
|
import { useDocumentRBAC } from '../../../features/DocumentRBAC.mjs';
|
|
14
|
-
import { useDoc } from '../../../hooks/useDocument.mjs';
|
|
16
|
+
import { useDocument, useDoc } from '../../../hooks/useDocument.mjs';
|
|
15
17
|
import { useDocumentActions } from '../../../hooks/useDocumentActions.mjs';
|
|
18
|
+
import { useDocumentContext } from '../../../hooks/useDocumentContext.mjs';
|
|
19
|
+
import { usePreviewContext } from '../../../preview/pages/Preview.mjs';
|
|
16
20
|
import { LIST_PATH, CLONE_PATH } from '../../../router.mjs';
|
|
17
|
-
import { useGetDraftRelationCountQuery as useLazyGetDraftRelationCountQuery } from '../../../services/documents.mjs';
|
|
18
|
-
import {
|
|
21
|
+
import { useGetDraftRelationCountQuery as useLazyGetDraftRelationCountQuery, useUpdateDocumentMutation } from '../../../services/documents.mjs';
|
|
22
|
+
import { isBaseQueryError, buildValidParams } from '../../../utils/api.mjs';
|
|
19
23
|
import { getTranslation } from '../../../utils/translations.mjs';
|
|
24
|
+
import { useRelationModal } from './FormInputs/Relations/RelationModal.mjs';
|
|
20
25
|
|
|
26
|
+
const connectRelationToParent = (parentDataToUpdate, fieldToConnect, data, fieldToConnectUID)=>{
|
|
27
|
+
/*
|
|
28
|
+
* Check if the fieldToConnect is already present in the parentDataToUpdate.
|
|
29
|
+
* This happens in particular when in the parentDocument you have created
|
|
30
|
+
* a new component without saving.
|
|
31
|
+
*/ const isFieldPresent = !!get(parentDataToUpdate, fieldToConnect);
|
|
32
|
+
const fieldToConnectPath = isFieldPresent ? fieldToConnect : fieldToConnect.split('.').slice(0, -1).join('.');
|
|
33
|
+
const fieldToConnectValue = isFieldPresent ? {
|
|
34
|
+
connect: [
|
|
35
|
+
{
|
|
36
|
+
id: data.documentId,
|
|
37
|
+
documentId: data.documentId,
|
|
38
|
+
locale: data.locale
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
} : {
|
|
42
|
+
[fieldToConnect.split('.').pop()]: {
|
|
43
|
+
connect: [
|
|
44
|
+
{
|
|
45
|
+
id: data.documentId,
|
|
46
|
+
documentId: data.documentId,
|
|
47
|
+
locale: data.locale
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
disconnect: []
|
|
51
|
+
},
|
|
52
|
+
// In case the object was not present you need to pass the componentUID of the parent document
|
|
53
|
+
__component: fieldToConnectUID
|
|
54
|
+
};
|
|
55
|
+
const objectToConnect = set({}, fieldToConnectPath, fieldToConnectValue);
|
|
56
|
+
return merge(parentDataToUpdate, objectToConnect);
|
|
57
|
+
};
|
|
21
58
|
const DocumentActions = ({ actions })=>{
|
|
22
59
|
const { formatMessage } = useIntl();
|
|
23
60
|
const [primaryAction, secondaryAction, ...restActions] = actions.filter((action)=>{
|
|
@@ -350,8 +387,8 @@ const transformData = (data)=>{
|
|
|
350
387
|
};
|
|
351
388
|
/* -------------------------------------------------------------------------------------------------
|
|
352
389
|
* DocumentActionComponents
|
|
353
|
-
* -----------------------------------------------------------------------------------------------*/ const PublishAction = ({ activeTab, documentId, model, collectionType, meta, document
|
|
354
|
-
const schema = useDocumentContext('PublishAction'
|
|
390
|
+
* -----------------------------------------------------------------------------------------------*/ const PublishAction = ({ activeTab, documentId, model, collectionType, meta, document })=>{
|
|
391
|
+
const { currentDocument: { schema } } = useDocumentContext('PublishAction');
|
|
355
392
|
const navigate = useNavigate();
|
|
356
393
|
const { toggleNotification } = useNotification();
|
|
357
394
|
const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
|
|
@@ -359,23 +396,35 @@ const transformData = (data)=>{
|
|
|
359
396
|
const isCloning = useMatch(CLONE_PATH) !== null;
|
|
360
397
|
const { id } = useParams();
|
|
361
398
|
const { formatMessage } = useIntl();
|
|
362
|
-
const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>
|
|
363
|
-
|
|
399
|
+
const { canPublish, canReadFields } = useDocumentRBAC('PublishAction', ({ canPublish, canReadFields })=>({
|
|
400
|
+
canPublish,
|
|
401
|
+
canReadFields
|
|
402
|
+
}));
|
|
403
|
+
const { publish, isLoading } = useDocumentActions();
|
|
404
|
+
const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
|
|
364
405
|
const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
|
|
365
406
|
const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React.useState(0);
|
|
366
407
|
const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React.useState(0);
|
|
367
|
-
const [{
|
|
368
|
-
const params = React.useMemo(()=>buildValidParams(query), [
|
|
369
|
-
query
|
|
370
|
-
]);
|
|
408
|
+
const [{ rawQuery }] = useQueryParams();
|
|
371
409
|
const modified = useForm('PublishAction', ({ modified })=>modified);
|
|
372
410
|
const setSubmitting = useForm('PublishAction', ({ setSubmitting })=>setSubmitting);
|
|
373
411
|
const isSubmitting = useForm('PublishAction', ({ isSubmitting })=>isSubmitting);
|
|
374
412
|
const validate = useForm('PublishAction', (state)=>state.validate);
|
|
375
413
|
const setErrors = useForm('PublishAction', (state)=>state.setErrors);
|
|
376
414
|
const formValues = useForm('PublishAction', ({ values })=>values);
|
|
377
|
-
const
|
|
378
|
-
|
|
415
|
+
const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
|
|
416
|
+
// need to discriminate if the publish is coming from a relation modal or in the edit view
|
|
417
|
+
const relationContext = useRelationModal('PublishAction', ()=>true, false);
|
|
418
|
+
const fromRelationModal = relationContext != undefined;
|
|
419
|
+
const dispatch = useRelationModal('PublishAction', (state)=>state.dispatch);
|
|
420
|
+
const fieldToConnect = useRelationModal('PublishAction', (state)=>state.state.fieldToConnect, false);
|
|
421
|
+
const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
|
|
422
|
+
const documentHistory = useRelationModal('PublishAction', (state)=>state.state.documentHistory, false);
|
|
423
|
+
const rootDocumentMeta = useRelationModal('PublishAction', (state)=>state.rootDocumentMeta);
|
|
424
|
+
const { currentDocumentMeta } = useDocumentContext('PublishAction');
|
|
425
|
+
const [updateDocumentMutation] = useUpdateDocumentMutation();
|
|
426
|
+
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
|
427
|
+
const idToPublish = currentDocumentMeta.documentId || id;
|
|
379
428
|
React.useEffect(()=>{
|
|
380
429
|
if (isErrorDraftRelations) {
|
|
381
430
|
toggleNotification({
|
|
@@ -439,7 +488,7 @@ const transformData = (data)=>{
|
|
|
439
488
|
collectionType,
|
|
440
489
|
model,
|
|
441
490
|
documentId,
|
|
442
|
-
params
|
|
491
|
+
params: currentDocumentMeta.params
|
|
443
492
|
});
|
|
444
493
|
if (error) {
|
|
445
494
|
throw error;
|
|
@@ -456,8 +505,18 @@ const transformData = (data)=>{
|
|
|
456
505
|
countDraftRelations,
|
|
457
506
|
collectionType,
|
|
458
507
|
model,
|
|
459
|
-
params
|
|
508
|
+
currentDocumentMeta.params
|
|
460
509
|
]);
|
|
510
|
+
const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
|
|
511
|
+
const parentDocumentData = useDocument({
|
|
512
|
+
documentId: parentDocumentMetaToUpdate?.documentId,
|
|
513
|
+
model: parentDocumentMetaToUpdate?.model,
|
|
514
|
+
collectionType: parentDocumentMetaToUpdate?.collectionType,
|
|
515
|
+
params: parentDocumentMetaToUpdate?.params
|
|
516
|
+
}, {
|
|
517
|
+
skip: !parentDocumentMetaToUpdate
|
|
518
|
+
});
|
|
519
|
+
const { getInitialFormValues } = useDoc();
|
|
461
520
|
const isDocumentPublished = (document?.[PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc)=>doc[PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== 'modified';
|
|
462
521
|
if (!schema?.options?.draftAndPublish) {
|
|
463
522
|
return null;
|
|
@@ -469,30 +528,95 @@ const transformData = (data)=>{
|
|
|
469
528
|
status: 'published'
|
|
470
529
|
});
|
|
471
530
|
if (errors) {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
id: 'content-manager.validation.error',
|
|
476
|
-
defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
|
|
477
|
-
})
|
|
531
|
+
const hasUnreadableRequiredField = Object.keys(schema.attributes).some((fieldName)=>{
|
|
532
|
+
const attribute = schema.attributes[fieldName];
|
|
533
|
+
return attribute?.required && !(canReadFields ?? []).includes(fieldName);
|
|
478
534
|
});
|
|
535
|
+
if (hasUnreadableRequiredField) {
|
|
536
|
+
toggleNotification({
|
|
537
|
+
type: 'danger',
|
|
538
|
+
message: formatMessage({
|
|
539
|
+
id: 'content-manager.validation.error.unreadable-required-field',
|
|
540
|
+
defaultMessage: 'Your current permissions prevent access to certain required fields. Please request access from an administrator to proceed.'
|
|
541
|
+
})
|
|
542
|
+
});
|
|
543
|
+
} else {
|
|
544
|
+
toggleNotification({
|
|
545
|
+
type: 'danger',
|
|
546
|
+
message: formatMessage({
|
|
547
|
+
id: 'content-manager.validation.error',
|
|
548
|
+
defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
|
|
549
|
+
})
|
|
550
|
+
});
|
|
551
|
+
}
|
|
479
552
|
return;
|
|
480
553
|
}
|
|
481
|
-
const isPublishingRelation = rootDocumentMeta.documentId !== currentDocumentMeta.documentId;
|
|
482
554
|
const res = await publish({
|
|
483
555
|
collectionType,
|
|
484
556
|
model,
|
|
485
557
|
documentId,
|
|
486
|
-
params:
|
|
558
|
+
params: currentDocumentMeta.params
|
|
487
559
|
}, transformData(formValues));
|
|
560
|
+
// Reset form if successful
|
|
561
|
+
if ('data' in res) {
|
|
562
|
+
resetForm();
|
|
563
|
+
}
|
|
488
564
|
if ('data' in res && collectionType !== SINGLE_TYPES) {
|
|
489
565
|
/**
|
|
490
566
|
* TODO: refactor the router so we can just do `../${res.data.documentId}` instead of this.
|
|
491
|
-
*/ if (
|
|
567
|
+
*/ if (idToPublish === 'create' && !fromRelationModal) {
|
|
492
568
|
navigate({
|
|
493
569
|
pathname: `../${collectionType}/${model}/${res.data.documentId}`,
|
|
494
570
|
search: rawQuery
|
|
495
571
|
});
|
|
572
|
+
} else if (fromRelationModal) {
|
|
573
|
+
const newRelation = {
|
|
574
|
+
documentId: res.data.documentId,
|
|
575
|
+
collectionType,
|
|
576
|
+
model,
|
|
577
|
+
params: currentDocumentMeta.params
|
|
578
|
+
};
|
|
579
|
+
/*
|
|
580
|
+
* Update, if needed, the parent relation with the newly published document.
|
|
581
|
+
* Check if in history we have the parent relation otherwise use the
|
|
582
|
+
* rootDocument
|
|
583
|
+
*/ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES)) {
|
|
584
|
+
const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
|
|
585
|
+
const metaDocumentToUpdate = documentHistory.at(-2) ?? rootDocumentMeta;
|
|
586
|
+
const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
|
|
587
|
+
try {
|
|
588
|
+
const updateRes = await updateDocumentMutation({
|
|
589
|
+
collectionType: metaDocumentToUpdate.collectionType,
|
|
590
|
+
model: metaDocumentToUpdate.model,
|
|
591
|
+
documentId: metaDocumentToUpdate.collectionType !== SINGLE_TYPES ? metaDocumentToUpdate.documentId : undefined,
|
|
592
|
+
params: metaDocumentToUpdate.params,
|
|
593
|
+
data: dataToUpdate
|
|
594
|
+
});
|
|
595
|
+
if ('error' in updateRes) {
|
|
596
|
+
toggleNotification({
|
|
597
|
+
type: 'danger',
|
|
598
|
+
message: formatAPIError(updateRes.error)
|
|
599
|
+
});
|
|
600
|
+
return;
|
|
601
|
+
}
|
|
602
|
+
} catch (err) {
|
|
603
|
+
toggleNotification({
|
|
604
|
+
type: 'danger',
|
|
605
|
+
message: formatMessage({
|
|
606
|
+
id: 'notification.error',
|
|
607
|
+
defaultMessage: 'An error occurred'
|
|
608
|
+
})
|
|
609
|
+
});
|
|
610
|
+
throw err;
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
dispatch({
|
|
614
|
+
type: 'GO_TO_CREATED_RELATION',
|
|
615
|
+
payload: {
|
|
616
|
+
document: newRelation,
|
|
617
|
+
shouldBypassConfirmation: true
|
|
618
|
+
}
|
|
619
|
+
});
|
|
496
620
|
}
|
|
497
621
|
} else if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
|
498
622
|
setErrors(formatValidationErrors(res.error));
|
|
@@ -558,27 +682,44 @@ PublishAction.position = [
|
|
|
558
682
|
'preview',
|
|
559
683
|
'relation-modal'
|
|
560
684
|
];
|
|
561
|
-
const UpdateAction = ({ activeTab, documentId, model, collectionType
|
|
685
|
+
const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
562
686
|
const navigate = useNavigate();
|
|
563
687
|
const { toggleNotification } = useNotification();
|
|
564
688
|
const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
|
|
565
689
|
const cloneMatch = useMatch(CLONE_PATH);
|
|
566
690
|
const isCloning = cloneMatch !== null;
|
|
567
691
|
const { formatMessage } = useIntl();
|
|
568
|
-
const { create, update, clone, isLoading } = useDocumentActions(
|
|
569
|
-
const [{
|
|
570
|
-
const
|
|
571
|
-
|
|
572
|
-
]);
|
|
692
|
+
const { create, update, clone, isLoading } = useDocumentActions();
|
|
693
|
+
const [{ rawQuery }] = useQueryParams();
|
|
694
|
+
const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
|
|
695
|
+
const { getInitialFormValues } = useDoc();
|
|
573
696
|
const isSubmitting = useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
|
|
574
697
|
const modified = useForm('UpdateAction', ({ modified })=>modified);
|
|
575
698
|
const setSubmitting = useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
|
|
576
699
|
const document = useForm('UpdateAction', ({ values })=>values);
|
|
577
700
|
const validate = useForm('UpdateAction', (state)=>state.validate);
|
|
578
701
|
const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
|
|
579
|
-
const resetForm = useForm('
|
|
580
|
-
const
|
|
581
|
-
|
|
702
|
+
const resetForm = useForm('UpdateAction', ({ resetForm })=>resetForm);
|
|
703
|
+
const dispatch = useRelationModal('UpdateAction', (state)=>state.dispatch);
|
|
704
|
+
// need to discriminate if the update is coming from a relation modal or in the edit view
|
|
705
|
+
const relationContext = useRelationModal('UpdateAction', ()=>true, false);
|
|
706
|
+
const fieldToConnect = useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
|
|
707
|
+
const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
|
|
708
|
+
const documentHistory = useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
|
|
709
|
+
const rootDocumentMeta = useRelationModal('UpdateAction', (state)=>state.rootDocumentMeta);
|
|
710
|
+
const fromRelationModal = relationContext != undefined;
|
|
711
|
+
const { currentDocumentMeta } = useDocumentContext('UpdateAction');
|
|
712
|
+
const [updateDocumentMutation] = useUpdateDocumentMutation();
|
|
713
|
+
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
|
714
|
+
const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
|
|
715
|
+
const parentDocumentData = useDocument({
|
|
716
|
+
documentId: parentDocumentMetaToUpdate?.documentId,
|
|
717
|
+
model: parentDocumentMetaToUpdate?.model,
|
|
718
|
+
collectionType: parentDocumentMetaToUpdate?.collectionType,
|
|
719
|
+
params: parentDocumentMetaToUpdate?.params
|
|
720
|
+
}, {
|
|
721
|
+
skip: !parentDocumentMetaToUpdate
|
|
722
|
+
});
|
|
582
723
|
const handleUpdate = React.useCallback(async ()=>{
|
|
583
724
|
setSubmitting(true);
|
|
584
725
|
try {
|
|
@@ -602,7 +743,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview,
|
|
|
602
743
|
const res = await clone({
|
|
603
744
|
model,
|
|
604
745
|
documentId: cloneMatch.params.origin,
|
|
605
|
-
params
|
|
746
|
+
params: currentDocumentMeta.params
|
|
606
747
|
}, transformData(document));
|
|
607
748
|
if ('data' in res) {
|
|
608
749
|
navigate({
|
|
@@ -615,12 +756,11 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview,
|
|
|
615
756
|
setErrors(formatValidationErrors(res.error));
|
|
616
757
|
}
|
|
617
758
|
} else if (documentId || collectionType === SINGLE_TYPES) {
|
|
618
|
-
const isEditingRelation = rootDocumentMeta.documentId !== currentDocumentMeta.documentId;
|
|
619
759
|
const res = await update({
|
|
620
760
|
collectionType,
|
|
621
761
|
model,
|
|
622
762
|
documentId,
|
|
623
|
-
params:
|
|
763
|
+
params: currentDocumentMeta.params
|
|
624
764
|
}, transformData(document));
|
|
625
765
|
if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
|
626
766
|
setErrors(formatValidationErrors(res.error));
|
|
@@ -630,16 +770,67 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview,
|
|
|
630
770
|
} else {
|
|
631
771
|
const res = await create({
|
|
632
772
|
model,
|
|
633
|
-
params
|
|
773
|
+
params: currentDocumentMeta.params
|
|
634
774
|
}, transformData(document));
|
|
635
775
|
if ('data' in res && collectionType !== SINGLE_TYPES) {
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
776
|
+
if (fromRelationModal) {
|
|
777
|
+
const createdRelation = {
|
|
778
|
+
documentId: res.data.documentId,
|
|
779
|
+
collectionType,
|
|
780
|
+
model,
|
|
781
|
+
params: currentDocumentMeta.params
|
|
782
|
+
};
|
|
783
|
+
/*
|
|
784
|
+
* Update, if needed, the parent relation with the newly published document.
|
|
785
|
+
* Check if in history we have the parent relation otherwise use the
|
|
786
|
+
* rootDocument
|
|
787
|
+
*/ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES)) {
|
|
788
|
+
const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
|
|
789
|
+
const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
|
|
790
|
+
try {
|
|
791
|
+
const updateRes = await updateDocumentMutation({
|
|
792
|
+
collectionType: parentDocumentMetaToUpdate.collectionType,
|
|
793
|
+
model: parentDocumentMetaToUpdate.model,
|
|
794
|
+
documentId: parentDocumentMetaToUpdate.collectionType !== SINGLE_TYPES ? parentDocumentMetaToUpdate.documentId : undefined,
|
|
795
|
+
params: parentDocumentMetaToUpdate.params,
|
|
796
|
+
data: {
|
|
797
|
+
...dataToUpdate
|
|
798
|
+
}
|
|
799
|
+
});
|
|
800
|
+
if ('error' in updateRes) {
|
|
801
|
+
toggleNotification({
|
|
802
|
+
type: 'danger',
|
|
803
|
+
message: formatAPIError(updateRes.error)
|
|
804
|
+
});
|
|
805
|
+
return;
|
|
806
|
+
}
|
|
807
|
+
} catch (err) {
|
|
808
|
+
toggleNotification({
|
|
809
|
+
type: 'danger',
|
|
810
|
+
message: formatMessage({
|
|
811
|
+
id: 'notification.error',
|
|
812
|
+
defaultMessage: 'An error occurred'
|
|
813
|
+
})
|
|
814
|
+
});
|
|
815
|
+
throw err;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
dispatch({
|
|
819
|
+
type: 'GO_TO_CREATED_RELATION',
|
|
820
|
+
payload: {
|
|
821
|
+
document: createdRelation,
|
|
822
|
+
shouldBypassConfirmation: true
|
|
823
|
+
}
|
|
824
|
+
});
|
|
825
|
+
} else {
|
|
826
|
+
navigate({
|
|
827
|
+
pathname: `../${res.data.documentId}`,
|
|
828
|
+
search: rawQuery
|
|
829
|
+
}, {
|
|
830
|
+
replace: true,
|
|
831
|
+
relative: 'path'
|
|
832
|
+
});
|
|
833
|
+
}
|
|
643
834
|
} else if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
|
644
835
|
setErrors(formatValidationErrors(res.error));
|
|
645
836
|
}
|
|
@@ -651,30 +842,37 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview,
|
|
|
651
842
|
}
|
|
652
843
|
}
|
|
653
844
|
}, [
|
|
845
|
+
setSubmitting,
|
|
846
|
+
modified,
|
|
847
|
+
validate,
|
|
848
|
+
isCloning,
|
|
849
|
+
documentId,
|
|
850
|
+
collectionType,
|
|
851
|
+
toggleNotification,
|
|
852
|
+
formatMessage,
|
|
654
853
|
clone,
|
|
854
|
+
model,
|
|
655
855
|
cloneMatch?.params.origin,
|
|
656
|
-
collectionType,
|
|
657
|
-
create,
|
|
658
|
-
currentDocumentMeta.documentId,
|
|
659
856
|
currentDocumentMeta.params,
|
|
660
857
|
document,
|
|
661
|
-
documentId,
|
|
662
|
-
formatMessage,
|
|
663
|
-
formatValidationErrors,
|
|
664
|
-
isCloning,
|
|
665
|
-
model,
|
|
666
|
-
modified,
|
|
667
858
|
navigate,
|
|
668
|
-
onPreview,
|
|
669
|
-
params,
|
|
670
859
|
rawQuery,
|
|
671
|
-
resetForm,
|
|
672
|
-
rootDocumentMeta.documentId,
|
|
673
860
|
setErrors,
|
|
674
|
-
|
|
675
|
-
toggleNotification,
|
|
861
|
+
formatValidationErrors,
|
|
676
862
|
update,
|
|
677
|
-
|
|
863
|
+
resetForm,
|
|
864
|
+
create,
|
|
865
|
+
fromRelationModal,
|
|
866
|
+
fieldToConnect,
|
|
867
|
+
documentHistory,
|
|
868
|
+
parentDocumentMetaToUpdate,
|
|
869
|
+
dispatch,
|
|
870
|
+
getInitialFormValues,
|
|
871
|
+
parentDocumentData,
|
|
872
|
+
fieldToConnectUID,
|
|
873
|
+
updateDocumentMutation,
|
|
874
|
+
formatAPIError,
|
|
875
|
+
onPreview
|
|
678
876
|
]);
|
|
679
877
|
// Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
|
|
680
878
|
React.useEffect(()=>{
|