@leav/ui 0.4.0-d1519cc → 0.4.0-daf9f384
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/README.md +1 -0
- package/dist/__mocks__/common/form.d.ts +632 -0
- package/dist/__mocks__/common/form.js +32 -23
- package/dist/__mocks__/common/form.js.map +1 -1
- package/dist/_gqlTypes/index.d.ts +3274 -2037
- package/dist/_gqlTypes/index.js +1579 -1209
- package/dist/_gqlTypes/index.js.map +1 -1
- package/dist/_queries/attributes/attributeDetailsFragment.js +1 -0
- package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
- package/dist/_queries/records/activateRecordsMutation.d.ts +1 -0
- package/dist/_queries/records/activateRecordsMutation.js +15 -0
- package/dist/_queries/records/activateRecordsMutation.js.map +1 -0
- package/dist/_queries/records/getRecordFormQuery.js +14 -5
- package/dist/_queries/records/getRecordFormQuery.js.map +1 -1
- package/dist/_queries/trees/treeNodeChildrenQuery.js +12 -2
- package/dist/_queries/trees/treeNodeChildrenQuery.js.map +1 -1
- package/dist/components/CreateDirectory/CreateDirectory.js +3 -3
- package/dist/components/CreateDirectory/CreateDirectory.js.map +1 -1
- package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/DeleteButton/DeleteButton.js +3 -2
- package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/DeleteButton/DeleteButton.js.map +1 -1
- package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.js +8 -1
- package/dist/components/EditTreeModal/EditTree/EditTreeInfo/EditTreeInfoForm/TreeLibrariesForm/TreeLibrariesForm.js.map +1 -1
- package/dist/components/ErrorBoundary/ErrorBoundaryContent/ErrorBoundaryContent.d.ts +2 -2
- package/dist/components/ErrorBoundary/ErrorBoundaryContent/ErrorBoundaryContent.js +4 -3
- package/dist/components/ErrorBoundary/ErrorBoundaryContent/ErrorBoundaryContent.js.map +1 -1
- package/dist/components/Explorer/DataView.d.ts +2 -1
- package/dist/components/Explorer/DataView.js +21 -12
- package/dist/components/Explorer/DataView.js.map +1 -1
- package/dist/components/Explorer/Explorer.d.ts +8 -5
- package/dist/components/Explorer/Explorer.js +12 -9
- package/dist/components/Explorer/Explorer.js.map +1 -1
- package/dist/components/Explorer/ExplorerToolbar.d.ts +2 -1
- package/dist/components/Explorer/ExplorerToolbar.js +5 -4
- package/dist/components/Explorer/ExplorerToolbar.js.map +1 -1
- package/dist/components/Explorer/TableCell.js +22 -11
- package/dist/components/Explorer/TableCell.js.map +1 -1
- package/dist/components/Explorer/_queries/useExplorerData.js +7 -3
- package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
- package/dist/components/Explorer/_types.d.ts +9 -3
- package/dist/components/Explorer/_types.js.map +1 -1
- package/dist/components/Explorer/actions-item/useEditItemAction.d.ts +2 -1
- package/dist/components/Explorer/actions-item/useEditItemAction.js +2 -1
- package/dist/components/Explorer/actions-item/useEditItemAction.js.map +1 -1
- package/dist/components/Explorer/actions-item/{useRemoveItemAction.d.ts → useEditStatusItemAction.d.ts} +2 -2
- package/dist/components/Explorer/actions-item/{useRemoveItemAction.js → useEditStatusItemAction.js} +71 -24
- package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -0
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +3 -1
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +14 -6
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js +4 -0
- package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js +1 -1
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js.map +1 -1
- package/dist/components/Explorer/useColumnWidth.js +2 -1
- package/dist/components/Explorer/useColumnWidth.js.map +1 -1
- package/dist/components/Explorer/usePagination.d.ts +2 -1
- package/dist/components/Explorer/usePagination.js.map +1 -1
- package/dist/components/Explorer/useSearchInput.d.ts +3 -1
- package/dist/components/Explorer/useSearchInput.js +2 -1
- package/dist/components/Explorer/useSearchInput.js.map +1 -1
- package/dist/components/Explorer/useViewSettingsReducer.d.ts +1 -1
- package/dist/components/Explorer/useViewSettingsReducer.js +31 -16
- package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
- package/dist/components/ImportModal/ImportModalConfigStep/ImportModalConfigStep.js +1 -1
- package/dist/components/ImportModal/ImportModalConfigStep/ImportModalConfigStep.js.map +1 -1
- package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js +1 -0
- package/dist/components/LibraryItemsList/CreateNewRecordButton/CreateNewRecordButton.js.map +1 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js +3 -3
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.js.map +1 -1
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.utils.js +2 -2
- package/dist/components/LibraryItemsList/FiltersPanel/Filter/Filter.utils.js.map +1 -1
- package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js +3 -3
- package/dist/components/LibraryItemsList/shared/DeactivateRecordBtn/DeactivateRecordBtn.js.map +1 -1
- package/dist/components/LinkSelect/LinkSelect.d.ts +15 -0
- package/dist/components/LinkSelect/LinkSelect.js +88 -0
- package/dist/components/LinkSelect/LinkSelect.js.map +1 -0
- package/dist/components/LinkSelect/index.d.ts +2 -0
- package/dist/components/{SelectTreeNodeModal → LinkSelect}/index.js +2 -1
- package/dist/components/LinkSelect/index.js.map +1 -0
- package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +1 -4
- package/dist/components/RecordEdition/EditRecord/EditRecord.js +15 -28
- package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordButtons/EditRecordButtons.d.ts +2 -0
- package/dist/components/RecordEdition/EditRecordButtons/EditRecordButtons.js +43 -0
- package/dist/components/RecordEdition/EditRecordButtons/EditRecordButtons.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordButtons/SidebarButton.d.ts +2 -0
- package/dist/components/RecordEdition/EditRecordButtons/SidebarButton.js +25 -0
- package/dist/components/RecordEdition/EditRecordButtons/SidebarButton.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordButtons/index.d.ts +2 -0
- package/dist/components/RecordEdition/EditRecordButtons/index.js +6 -0
- package/dist/components/RecordEdition/EditRecordButtons/index.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js +64 -27
- package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +13 -7
- package/dist/components/RecordEdition/EditRecordContent/_types.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/antdUtils.d.ts +6 -0
- package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +7 -1
- package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.d.ts +15 -2
- package/dist/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.js +47 -24
- package/dist/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.d.ts +13 -0
- package/dist/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.js +115 -0
- package/dist/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/hooks/useTabManagement.d.ts +12 -0
- package/dist/components/RecordEdition/EditRecordContent/hooks/useTabManagement.js +39 -0
- package/dist/components/RecordEdition/EditRecordContent/hooks/useTabManagement.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.d.ts +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js +3 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/FormTabs/FormTabs.js +25 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/FormTabs/FormTabs.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.d.ts +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.js +1 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/Frame/Frame.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.d.ts +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +8 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.d.ts +4 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js +258 -53
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.d.ts +0 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +62 -71
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +2 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.d.ts +2 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +2 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js +3 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/_types.d.ts +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.d.ts +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +22 -17
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.d.ts +2 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/{useDisplayTreeNode.d.ts → TreeNodeList.d.ts} +4 -4
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeList.js +5 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeList.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +16 -4
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +12 -13
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +3 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +46 -55
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js +4 -4
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.d.ts +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.js +6 -6
- package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.d.ts +3 -0
- package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +48 -50
- package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.d.ts +3 -1
- package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js +6 -6
- package/dist/components/RecordEdition/EditRecordPage/EditRecordPage.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/Breadcrumb.js +2 -2
- package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/Breadcrumb.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.d.ts +0 -1
- package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js +18 -12
- package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js +2 -2
- package/dist/components/RecordEdition/EditRecordSidebar/ValuesVersions/ValuesVersions.js.map +1 -1
- package/dist/components/RecordEdition/constants.d.ts +2 -0
- package/dist/components/RecordEdition/constants.js +6 -0
- package/dist/components/RecordEdition/constants.js.map +1 -0
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.d.ts +33 -2
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +48 -3
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
- package/dist/components/RecordEdition/index.d.ts +3 -0
- package/dist/components/RecordEdition/index.js +3 -0
- package/dist/components/RecordEdition/index.js.map +1 -1
- package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +2 -1
- package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +2 -2
- package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +5 -3
- package/dist/components/SelectTreeNode/SelectTreeNode.js +2 -3
- package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +3 -1
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +18 -23
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
- package/dist/components/SelectTreeNode/_types.d.ts +17 -0
- package/dist/components/SelectTreeNode/_types.js +2 -0
- package/dist/components/SelectTreeNode/_types.js.map +1 -0
- package/dist/components/{SelectTreeNodeModal/SelectTreeNodeModal.d.ts → SelectTreeNodeModalOld/SelectTreeNodeModalOld.d.ts} +1 -1
- package/dist/components/{SelectTreeNodeModal/SelectTreeNodeModal.js → SelectTreeNodeModalOld/SelectTreeNodeModalOld.js} +4 -2
- package/dist/components/SelectTreeNodeModalOld/SelectTreeNodeModalOld.js.map +1 -0
- package/dist/components/SelectTreeNodeModalOld/index.d.ts +1 -0
- package/dist/components/SelectTreeNodeModalOld/index.js +5 -0
- package/dist/components/SelectTreeNodeModalOld/index.js.map +1 -0
- package/dist/components/SimpleErrorBoundary/SimpleErrorBoundary.d.ts +1 -1
- package/dist/components/SimpleErrorBoundary/SimpleErrorBoundary.js.map +1 -1
- package/dist/components/SimpleErrorBoundary/SimpleErrorBoundaryContent/SimpleErrorBoundaryContent.d.ts +2 -2
- package/dist/components/SimpleErrorBoundary/SimpleErrorBoundaryContent/SimpleErrorBoundaryContent.js +6 -3
- package/dist/components/SimpleErrorBoundary/SimpleErrorBoundaryContent/SimpleErrorBoundaryContent.js.map +1 -1
- package/dist/components/UploadFiles/UploadFiles.js +3 -3
- package/dist/components/UploadFiles/UploadFiles.js.map +1 -1
- package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js +2 -2
- package/dist/components/ValuesVersionConfigurator/VersionTree/VersionTree.js.map +1 -1
- package/dist/components/index.d.ts +1 -2
- package/dist/components/index.js +1 -2
- package/dist/components/index.js.map +1 -1
- package/dist/contexts/LangContext/LangContext.d.ts +1 -2
- package/dist/contexts/LangContext/LangContext.js +2 -2
- package/dist/contexts/LangContext/LangContext.js.map +1 -1
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useAppLang/useAppLang.js.map +1 -1
- package/dist/hooks/useGetRecordForm/useGetRecordForm.d.ts +2 -1
- package/dist/hooks/useGetRecordForm/useGetRecordForm.js +3 -14
- package/dist/hooks/useGetRecordForm/useGetRecordForm.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +15 -0
- package/dist/hooks/useIFrameMessenger/messageHandlers.js +121 -0
- package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -0
- package/dist/hooks/useIFrameMessenger/schema.d.ts +21 -0
- package/dist/hooks/useIFrameMessenger/schema.js +76 -0
- package/dist/hooks/useIFrameMessenger/schema.js.map +1 -0
- package/dist/hooks/useIFrameMessenger/types.d.ts +118 -0
- package/dist/hooks/useIFrameMessenger/types.js +2 -0
- package/dist/hooks/useIFrameMessenger/types.js.map +1 -0
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +19 -0
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +104 -0
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js.map +1 -0
- package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.d.ts +7 -0
- package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.js +13 -0
- package/dist/hooks/useIFrameMessengerClient/IFrameMessengerClient.js.map +1 -0
- package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.d.ts +13 -0
- package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.js +6 -0
- package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.js.map +1 -0
- package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.d.ts +13 -0
- package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.js +13 -0
- package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.js.map +1 -0
- package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js +1 -1
- package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js.map +1 -1
- package/dist/locales/en/shared.json +9 -1
- package/dist/locales/fr/shared.json +9 -1
- package/dist/types/attributes.d.ts +2 -1
- package/package.json +23 -8
- package/dist/components/Explorer/actions-item/useRemoveItemAction.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/hooks/useRecordEditionContext.d.ts +0 -3
- package/dist/components/RecordEdition/EditRecordContent/hooks/useRecordEditionContext.js +0 -7
- package/dist/components/RecordEdition/EditRecordContent/hooks/useRecordEditionContext.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js +0 -8
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js.map +0 -1
- package/dist/components/SelectTreeNodeModal/SelectTreeNodeModal.js.map +0 -1
- package/dist/components/SelectTreeNodeModal/index.d.ts +0 -1
- package/dist/components/SelectTreeNodeModal/index.js.map +0 -1
|
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
// This file is released under LGPL V3
|
|
4
4
|
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
5
5
|
import { FORM_ROOT_CONTAINER_ID, FormUIElementTypes, simpleStringHash } from '@leav/utils';
|
|
6
|
-
import { useEffect, useMemo } from 'react';
|
|
6
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
7
7
|
import { ErrorDisplay } from '../../../components';
|
|
8
8
|
import useGetRecordForm from '../../../hooks/useGetRecordForm';
|
|
9
9
|
import { useGetRecordUpdatesSubscription } from '../../../hooks/useGetRecordUpdatesSubscription';
|
|
@@ -12,15 +12,14 @@ import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
|
|
|
12
12
|
import { FormElementTypes } from '../../../_gqlTypes';
|
|
13
13
|
import { EditRecordReducerActionsTypes } from '../editRecordReducer/editRecordReducer';
|
|
14
14
|
import { useEditRecordReducer } from '../editRecordReducer/useEditRecordReducer';
|
|
15
|
-
import extractFormElements from './helpers/extractFormElements';
|
|
16
|
-
import { RecordEditionContext } from './hooks/useRecordEditionContext';
|
|
17
15
|
import { formComponents } from './uiElements';
|
|
18
16
|
import { Form } from 'antd';
|
|
19
17
|
import { EDIT_OR_CREATE_RECORD_FORM_ID } from './formConstants';
|
|
20
|
-
import { getAntdFormInitialValues } from '../../../components/RecordEdition/EditRecordContent/antdUtils';
|
|
21
|
-
import { useGetRecordValuesQuery } from '../../../hooks/useGetRecordValuesQuery/useGetRecordValuesQuery';
|
|
22
18
|
import EditRecordSkeleton from '../EditRecordSkeleton';
|
|
23
19
|
import styled from 'styled-components';
|
|
20
|
+
import { useFetchVisibleFormValue } from '../../../components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue';
|
|
21
|
+
import extractFormElements from '../../../components/RecordEdition/EditRecordContent/helpers/extractFormElements';
|
|
22
|
+
import useTabManagement from '../../../components/RecordEdition/EditRecordContent/hooks/useTabManagement';
|
|
24
23
|
const WrappedForm = styled(Form) `
|
|
25
24
|
height: 100%;
|
|
26
25
|
`;
|
|
@@ -31,6 +30,8 @@ const EditRecordContent = ({ antdForm, formId, formElementId, record, library, p
|
|
|
31
30
|
}
|
|
32
31
|
const { t } = useSharedTranslation();
|
|
33
32
|
const { state, dispatch } = useEditRecordReducer();
|
|
33
|
+
// Reformat values with key as attribute id to facilitate the usage in form (attribute id as reference)
|
|
34
|
+
const [valuesMappedByAttributeId, setValuesMappedByAttributeId] = useState(null);
|
|
34
35
|
useRecordsConsultationHistory(record?.library?.id ?? null, record?.id ?? null);
|
|
35
36
|
const { data: recordUpdateData } = useGetRecordUpdatesSubscription({ records: [record?.id], ignoreOwnEvents: true }, !record?.id);
|
|
36
37
|
useEffect(() => {
|
|
@@ -42,29 +43,60 @@ const EditRecordContent = ({ antdForm, formId, formElementId, record, library, p
|
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
45
|
}, [recordUpdateData]);
|
|
45
|
-
|
|
46
|
+
// Get form without values
|
|
47
|
+
const { loading, error, recordForm } = useGetRecordForm({
|
|
46
48
|
libraryId: library,
|
|
47
49
|
recordId: record?.id,
|
|
48
50
|
formId: formIdToLoad,
|
|
49
51
|
version: state.valuesVersion
|
|
50
52
|
});
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
// Keep tabId displayed in reference to re-calculate visible elementIds and get its values
|
|
54
|
+
const { tabIdVisible, handleTabClick } = useTabManagement(recordForm?.elements);
|
|
55
|
+
// Get values of formElements
|
|
56
|
+
const { loading: loadingValues, refetchRecordFormWithValues, recordFormWithValues, error: errorOnGetValues } = useFetchVisibleFormValue(formIdToLoad, recordForm, tabIdVisible);
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
if (!recordFormWithValues?.recordId || !recordFormWithValues?.elements?.length) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
// Transform elementsValues into the format by attribute id
|
|
62
|
+
const valuesMappedByAttributeIdTmp = {};
|
|
63
|
+
recordFormWithValues.elements.forEach(element => {
|
|
64
|
+
if (element.attribute && element.values) {
|
|
65
|
+
valuesMappedByAttributeIdTmp[element.attribute.id] = element.values;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
setValuesMappedByAttributeId(valuesMappedByAttributeIdTmp);
|
|
69
|
+
}, [recordFormWithValues]);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
if (!loading && recordForm) {
|
|
72
|
+
dispatch({
|
|
73
|
+
type: EditRecordReducerActionsTypes.INITIALIZE_SIDEBAR,
|
|
74
|
+
enabled: recordForm.sidePanel.enable,
|
|
75
|
+
isOpenByDefault: recordForm.sidePanel.isOpenByDefault
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}, [recordForm, loading]);
|
|
54
79
|
// Generate a hash of recordForm to detect changes
|
|
55
80
|
const recordFormHash = useMemo(() => simpleStringHash(JSON.stringify(recordForm)), [recordForm]);
|
|
56
81
|
useEffect(() => {
|
|
57
82
|
if (state.refreshRequested) {
|
|
58
|
-
|
|
83
|
+
refetchRecordFormWithValues();
|
|
59
84
|
dispatch({ type: EditRecordReducerActionsTypes.REFRESH_DONE });
|
|
60
85
|
}
|
|
61
86
|
}, [state.refreshRequested]);
|
|
62
|
-
if (loading && !recordForm) {
|
|
87
|
+
if ((loading && !recordForm) || loadingValues) {
|
|
63
88
|
return _jsx(EditRecordSkeleton, { rows: 5 });
|
|
64
89
|
}
|
|
65
|
-
|
|
66
|
-
const message = Object.values(
|
|
90
|
+
const displayError = e => {
|
|
91
|
+
const message = Object.values(e.graphQLErrors[0]?.extensions?.exception?.fields ?? {}).join('\n') ??
|
|
92
|
+
error?.message;
|
|
67
93
|
return _jsx(ErrorDisplay, { message: message ?? t('record_edition.no_form_error') });
|
|
94
|
+
};
|
|
95
|
+
if (error) {
|
|
96
|
+
return displayError(error);
|
|
97
|
+
}
|
|
98
|
+
else if (errorOnGetValues) {
|
|
99
|
+
return displayError(errorOnGetValues);
|
|
68
100
|
}
|
|
69
101
|
const _checkDependencyChange = (changedAttribute) => {
|
|
70
102
|
// If a dependency attribute has changed, we need to refresh the form
|
|
@@ -77,13 +109,14 @@ const EditRecordContent = ({ antdForm, formId, formElementId, record, library, p
|
|
|
77
109
|
_checkDependencyChange(element[0].attribute.id);
|
|
78
110
|
const isEditing = Boolean(record);
|
|
79
111
|
if (isEditing) {
|
|
80
|
-
|
|
112
|
+
await refetchRecordFormWithValues();
|
|
81
113
|
}
|
|
82
114
|
return submitRes;
|
|
83
115
|
};
|
|
84
116
|
const _handleValueDelete = async (value, attribute) => {
|
|
85
117
|
const deleteRes = await onValueDelete(value, attribute);
|
|
86
118
|
_checkDependencyChange(attribute);
|
|
119
|
+
await refetchRecordFormWithValues();
|
|
87
120
|
return deleteRes;
|
|
88
121
|
};
|
|
89
122
|
const rootElement = {
|
|
@@ -93,20 +126,24 @@ const EditRecordContent = ({ antdForm, formId, formElementId, record, library, p
|
|
|
93
126
|
uiElementType: FormUIElementTypes.FIELDS_CONTAINER,
|
|
94
127
|
settings: {},
|
|
95
128
|
attribute: null,
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
129
|
+
uiElement: formComponents[FormUIElementTypes.FIELDS_CONTAINER],
|
|
130
|
+
record
|
|
131
|
+
};
|
|
132
|
+
// Used to get different event from children elements (e.g., listen to onTabClick event from FormTab element)
|
|
133
|
+
const onCustomEvent = (event) => {
|
|
134
|
+
// If a tab has been click
|
|
135
|
+
// Re-calculate visible elements and fetch values
|
|
136
|
+
if (event.eventName === 'onTabClick') {
|
|
137
|
+
handleTabClick(event.tabIdClicked);
|
|
138
|
+
}
|
|
99
139
|
};
|
|
100
|
-
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}, children: _jsx(rootElement.uiElement
|
|
108
|
-
// Use a hash of record form as a key to force a full re-render when the form changes
|
|
109
|
-
, { antdForm: antdForm, formIdToLoad: formIdToLoad, element: rootElement, computedValues: recordComputedValues, readonly: readonly, pendingValues: pendingValues, onValueSubmit: _handleValueSubmit, onValueDelete: _handleValueDelete, onDeleteMultipleValues: onDeleteMultipleValues }, recordFormHash) }) }));
|
|
140
|
+
// Create an object where key is container id and value is the element
|
|
141
|
+
const elementsByContainer = extractFormElements(recordFormWithValues || recordForm, errorOnGetValues);
|
|
142
|
+
return (_jsx(WrappedForm, { id: formElementId ?? EDIT_OR_CREATE_RECORD_FORM_ID, form: antdForm, onFinish: () => onRecordSubmit(recordForm.elements.filter(element => element.attribute?.id).map(element => element.attribute)), children: _jsx(rootElement.uiElement
|
|
143
|
+
// Use a hash of a record form as a key to force a full re-render when the form changes
|
|
144
|
+
, { antdForm: antdForm, valuesMappedByAttributeId: valuesMappedByAttributeId, formIdToLoad: formIdToLoad, element: rootElement, readonly: readonly,
|
|
145
|
+
// todo there is two readonly, one for form and for the attribut
|
|
146
|
+
pendingValues: pendingValues, onValueSubmit: _handleValueSubmit, onValueDelete: _handleValueDelete, onDeleteMultipleValues: onDeleteMultipleValues, onCustomEvent: onCustomEvent, record: record, elementsByContainer: elementsByContainer }, recordFormHash) }));
|
|
110
147
|
};
|
|
111
148
|
export default EditRecordContent;
|
|
112
149
|
//# sourceMappingURL=EditRecordContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditRecordContent.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/EditRecordContent.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,sBAAsB,EAAE,kBAAkB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AACzF,OAAO,EAAoB,SAAS,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EditRecordContent.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/EditRecordContent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -30,16 +30,16 @@ export interface IDeleteValueResult {
|
|
|
30
30
|
status: APICallStatus;
|
|
31
31
|
error?: string;
|
|
32
32
|
}
|
|
33
|
+
export interface ICustomEventResult {
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
eventName: string;
|
|
36
|
+
element: FormElement<unknown>;
|
|
37
|
+
}
|
|
33
38
|
export interface ICreateRecordResult {
|
|
34
39
|
status: APICallStatus;
|
|
35
40
|
record?: RecordIdentityFragment['whoAmI'];
|
|
36
41
|
errors?: CreateRecordMutation['createRecord']['valuesErrors'];
|
|
37
42
|
}
|
|
38
|
-
export interface IRecordEditionContext {
|
|
39
|
-
elements: IFormElementsByContainer;
|
|
40
|
-
readOnly: boolean;
|
|
41
|
-
record: IRecordIdentityWhoAmI;
|
|
42
|
-
}
|
|
43
43
|
export interface IFormElementsByContainer {
|
|
44
44
|
[containerId: string]: Array<FormElement<unknown>>;
|
|
45
45
|
}
|
|
@@ -55,6 +55,7 @@ export interface ISubmittedValueTree extends ISubmittedValueBase {
|
|
|
55
55
|
export type SubmittedValue = ISubmittedValueStandard | ISubmittedValueLink | ISubmittedValueTree;
|
|
56
56
|
export type SubmitValueFunc = (values: SubmittedValue[], version: IValueVersion) => Promise<ISubmitMultipleResult>;
|
|
57
57
|
export type DeleteValueFunc = (value: ValueInput | null, attribute: string) => Promise<IDeleteValueResult>;
|
|
58
|
+
export type CustomEventFunc = (details: ICustomEventResult) => void;
|
|
58
59
|
export type CreateRecordFunc = (library: string, values: ValueBatchInput[]) => Promise<ICreateRecordResult>;
|
|
59
60
|
export type DeleteMultipleValuesFunc = (attribute: string, values: RecordProperty[], version: IValueVersion) => Promise<ISubmitMultipleResult>;
|
|
60
61
|
export type MetadataSubmitValueFunc = (value: RecordProperty, attribute: RecordFormAttributeFragment, metadata: IKeyValue<AnyPrimitive>) => Promise<ISubmitMultipleResult>;
|
|
@@ -70,17 +71,22 @@ export interface IFormElementProps<SettingsType, RecordFormElements = RecordForm
|
|
|
70
71
|
readonly?: boolean;
|
|
71
72
|
onValueSubmit?: SubmitValueFunc;
|
|
72
73
|
onValueDelete?: DeleteValueFunc;
|
|
74
|
+
onCustomEvent?: CustomEventFunc;
|
|
73
75
|
onDeleteMultipleValues?: DeleteMultipleValuesFunc;
|
|
74
76
|
metadataEdit?: boolean;
|
|
77
|
+
record?: IRecordIdentityWhoAmI;
|
|
78
|
+
elementsByContainer?: any;
|
|
75
79
|
}
|
|
76
80
|
export type FormElement<SettingsType, RecordFormElements = RecordFormElementsValue> = Override<RecordFormElementFragment, {
|
|
77
81
|
settings: SettingsType;
|
|
78
82
|
uiElementType: FormUIElementTypes | FormFieldTypes;
|
|
79
|
-
values
|
|
83
|
+
values?: RecordFormElements[];
|
|
84
|
+
valueError?: string;
|
|
85
|
+
record?: IRecordIdentityWhoAmI;
|
|
80
86
|
}> & {
|
|
81
87
|
uiElement: (props: IFormElementProps<unknown> & {
|
|
82
88
|
antdForm?: FormInstance;
|
|
83
|
-
|
|
89
|
+
valuesMappedByAttributeId?: GetRecordColumnsValuesRecord;
|
|
84
90
|
}) => JSX.Element;
|
|
85
91
|
};
|
|
86
92
|
export interface IDependencyValues {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/_types.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,oCAAmB,CAAA;AACvB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;
|
|
1
|
+
{"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/_types.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,oCAAmB,CAAA;AACvB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AA+GD,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA,CAAC,oEAAoE;AAC5F,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
|
|
@@ -4,4 +4,10 @@ export declare const EMPTY_INITIAL_VALUE_STRING = "";
|
|
|
4
4
|
export declare const EMPTY_INITIAL_VALUE_UNDEFINED: any;
|
|
5
5
|
export declare const getEmptyInitialValue: (attribute: RecordFormElementAttribute) => any;
|
|
6
6
|
export declare const getAntdDisplayedValue: (values: RecordFormElementsValueStandardValue[], attribute: RecordFormElementAttribute) => any;
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated This function will be removed after 2026-01-01.
|
|
9
|
+
* This fn is not used anymore, this hook is used useFetchVisibleFormValue, so we don't load default values
|
|
10
|
+
* Return formatted values for an antdForm
|
|
11
|
+
* @param recordForm
|
|
12
|
+
*/
|
|
7
13
|
export declare const getAntdFormInitialValues: (recordForm: IRecordForm) => Store;
|
|
@@ -44,8 +44,14 @@ export const getEmptyInitialValue = (attribute) => {
|
|
|
44
44
|
return EMPTY_INITIAL_VALUE_STRING;
|
|
45
45
|
};
|
|
46
46
|
export const getAntdDisplayedValue = (values, attribute) => formatStandardInitialValue(getUserInputValue(values) ?? getInheritedValue(values) ?? getCalculatedValue(values) ?? null, attribute);
|
|
47
|
+
/**
|
|
48
|
+
* @deprecated This function will be removed after 2026-01-01.
|
|
49
|
+
* This fn is not used anymore, this hook is used useFetchVisibleFormValue, so we don't load default values
|
|
50
|
+
* Return formatted values for an antdForm
|
|
51
|
+
* @param recordForm
|
|
52
|
+
*/
|
|
47
53
|
export const getAntdFormInitialValues = (recordForm) => recordForm.elements.reduce((acc, { attribute, values }) => {
|
|
48
|
-
if (!attribute) {
|
|
54
|
+
if (!attribute || values === null) {
|
|
49
55
|
return acc;
|
|
50
56
|
}
|
|
51
57
|
const value = getUserInputValue(values) ?? getInheritedValue(values) ?? getCalculatedValue(values) ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antdUtils.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/antdUtils.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"antdUtils.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/antdUtils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { IRecordForm } from '../../../../../hooks/useGetRecordForm/useGetRecordForm';
|
|
2
2
|
import { IFormElementsByContainer } from '../../_types';
|
|
3
|
-
import { GetRecordColumnsValuesRecord } from '../../../../../_queries/records/getRecordColumnsValues';
|
|
4
3
|
import { QueryResult } from '@apollo/client';
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Extracts and organizes form elements by their container IDs.
|
|
6
|
+
*
|
|
7
|
+
* This function processes the `elements` property of the given form object, organizing
|
|
8
|
+
* them into a structured object grouped by their respective `containerId`. If no `containerId`
|
|
9
|
+
* is specified for an element, it defaults to `FORM_ROOT_CONTAINER_ID`. Additionally, it determines
|
|
10
|
+
* the UI representation (`uiElement`) of each element based on various properties, such as error states
|
|
11
|
+
* and type, and processes element settings.
|
|
12
|
+
*
|
|
13
|
+
* @param {IRecordForm} form - The form object containing elements to be processed.
|
|
14
|
+
* @param {QueryResult['error']} computeErrors - The set of compute errors used to determine error states of elements.
|
|
15
|
+
* @returns {IFormElementsByContainer} An object where each key represents a container ID and its value is an array of
|
|
16
|
+
* elements belonging to that container. Each element includes processed properties such as `uiElement` and updated settings.
|
|
17
|
+
*/
|
|
18
|
+
export declare const extractFormElements: (form: IRecordForm, computeErrors: QueryResult["error"]) => IFormElementsByContainer;
|
|
@@ -1,31 +1,54 @@
|
|
|
1
1
|
import { formComponents } from '../../uiElements';
|
|
2
2
|
import ErrorField from '../../uiElements/ErrorField';
|
|
3
|
+
import { FORM_ROOT_CONTAINER_ID } from '@leav/utils';
|
|
3
4
|
const isComputeValueInError = (computeErrors, attributeId) => computeErrors?.graphQLErrors[0]?.extensions?.fields?.[attributeId];
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Extracts and organizes form elements by their container IDs.
|
|
7
|
+
*
|
|
8
|
+
* This function processes the `elements` property of the given form object, organizing
|
|
9
|
+
* them into a structured object grouped by their respective `containerId`. If no `containerId`
|
|
10
|
+
* is specified for an element, it defaults to `FORM_ROOT_CONTAINER_ID`. Additionally, it determines
|
|
11
|
+
* the UI representation (`uiElement`) of each element based on various properties, such as error states
|
|
12
|
+
* and type, and processes element settings.
|
|
13
|
+
*
|
|
14
|
+
* @param {IRecordForm} form - The form object containing elements to be processed.
|
|
15
|
+
* @param {QueryResult['error']} computeErrors - The set of compute errors used to determine error states of elements.
|
|
16
|
+
* @returns {IFormElementsByContainer} An object where each key represents a container ID and its value is an array of
|
|
17
|
+
* elements belonging to that container. Each element includes processed properties such as `uiElement` and updated settings.
|
|
18
|
+
*/
|
|
19
|
+
export const extractFormElements = (form, computeErrors) => {
|
|
20
|
+
if (!form?.elements) {
|
|
21
|
+
return {};
|
|
7
22
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const useAttributeLabel = element.settings.find(setting => setting.key === 'useAttributeLabel')?.value;
|
|
15
|
-
const settings = element.settings.reduce((allSettings, curSettings) => {
|
|
16
|
-
if (curSettings.key === 'label') {
|
|
17
|
-
return {
|
|
18
|
-
...allSettings,
|
|
19
|
-
label: useAttributeLabel ? element.attribute.label : curSettings.value
|
|
20
|
-
};
|
|
23
|
+
return form.elements.reduce((allElements, element) => {
|
|
24
|
+
// Ensure containerId exists (use FORM_ROOT_CONTAINER_ID for root elements)
|
|
25
|
+
const containerId = element.containerId || FORM_ROOT_CONTAINER_ID;
|
|
26
|
+
// Initialize array for this container if it doesn't exist
|
|
27
|
+
if (!allElements[containerId]) {
|
|
28
|
+
allElements[containerId] = [];
|
|
21
29
|
}
|
|
22
|
-
|
|
30
|
+
const computeInError = element.attribute?.id
|
|
31
|
+
? isComputeValueInError(computeErrors, element.attribute?.id)
|
|
32
|
+
: false;
|
|
33
|
+
const uiElement = (element.valueError && (!element.values || !element.values[element.attribute?.id])) || computeInError
|
|
34
|
+
? ErrorField
|
|
35
|
+
: formComponents[element.uiElementType];
|
|
36
|
+
const useAttributeLabel = element.settings.find(setting => setting.key === 'useAttributeLabel')?.value;
|
|
37
|
+
const settings = element.settings.reduce((allSettings, curSettings) => {
|
|
38
|
+
if (curSettings.key === 'label') {
|
|
39
|
+
return {
|
|
40
|
+
...allSettings,
|
|
41
|
+
label: useAttributeLabel ? element.attribute?.label : curSettings.value
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return { ...allSettings, [curSettings.key]: curSettings.value };
|
|
45
|
+
}, {});
|
|
46
|
+
allElements[containerId].push({
|
|
47
|
+
...element,
|
|
48
|
+
uiElement,
|
|
49
|
+
settings
|
|
50
|
+
});
|
|
51
|
+
return allElements;
|
|
23
52
|
}, {});
|
|
24
|
-
|
|
25
|
-
...element,
|
|
26
|
-
uiElement,
|
|
27
|
-
settings
|
|
28
|
-
});
|
|
29
|
-
return allElements;
|
|
30
|
-
}, {});
|
|
53
|
+
};
|
|
31
54
|
//# sourceMappingURL=extractFormElements.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractFormElements.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,UAAU,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"extractFormElements.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/helpers/extractFormElements/extractFormElements.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAGrD,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAEnD,MAAM,qBAAqB,GAAG,CAAC,aAAmC,EAAE,WAAmB,EAAW,EAAE,CAChG,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,IAAiB,EACjB,aAAmC,EACX,EAAE;IAC1B,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;QACjD,2EAA2E;QAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,sBAAsB,CAAC;QAElE,0DAA0D;QAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE;YACxC,CAAC,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7D,CAAC,CAAC,KAAK,CAAC;QAEZ,MAAM,SAAS,GACX,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc;YACjG,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEhD,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,mBAAmB,CAAC,EAAE,KAAK,CAAC;QAEvG,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;YAClE,IAAI,WAAW,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC9B,OAAO;oBACH,GAAG,WAAW;oBACd,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK;iBAC1E,CAAC;YACN,CAAC;YACD,OAAO,EAAC,GAAG,WAAW,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,EAAC,CAAC;QAClE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAC1B,GAAG,OAAO;YACV,SAAS;YACT,QAAQ;SACX,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IRecordForm } from '../../../../hooks/useGetRecordForm';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to fetch values from visible elements in a form (elements in the visible tab + other elements outside a tab)
|
|
4
|
+
* @param formIdToLoad
|
|
5
|
+
* @param recordForm
|
|
6
|
+
* @param tabIdVisible
|
|
7
|
+
*/
|
|
8
|
+
export declare const useFetchVisibleFormValue: (formIdToLoad: string, recordForm: IRecordForm, tabIdVisible: string) => {
|
|
9
|
+
loading: boolean;
|
|
10
|
+
error: any;
|
|
11
|
+
refetchRecordFormWithValues: () => Promise<void>;
|
|
12
|
+
recordFormWithValues: IRecordForm;
|
|
13
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
+
import { useGetRecordFormElementsValuesLazyQuery } from '../../../../_gqlTypes';
|
|
5
|
+
import { useEffect, useState } from 'react';
|
|
6
|
+
import { FormUIElementTypes } from '@leav/utils';
|
|
7
|
+
/**
|
|
8
|
+
* Hook to fetch values from visible elements in a form (elements in the visible tab + other elements outside a tab)
|
|
9
|
+
* @param formIdToLoad
|
|
10
|
+
* @param recordForm
|
|
11
|
+
* @param tabIdVisible
|
|
12
|
+
*/
|
|
13
|
+
export const useFetchVisibleFormValue = (formIdToLoad, recordForm, tabIdVisible) => {
|
|
14
|
+
const [error, setError] = useState(null);
|
|
15
|
+
const [recordFormWithValues, setRecordFormWithValues] = useState(null);
|
|
16
|
+
const [elementIdsVisible, setElementIdsVisible] = useState([]);
|
|
17
|
+
const [elementsIdsFetched, setElementsIdsFetched] = useState([]);
|
|
18
|
+
const [getRecordFormElementsValues, { loading }] = useGetRecordFormElementsValuesLazyQuery({
|
|
19
|
+
fetchPolicy: 'no-cache'
|
|
20
|
+
});
|
|
21
|
+
// Get all elements visible
|
|
22
|
+
// Exclude uiElement of a type link
|
|
23
|
+
const getElementIdsVisible = () => {
|
|
24
|
+
// Find element ids from record.elements that are in the first page of a tab or are not a tab
|
|
25
|
+
const containerToExclude = [];
|
|
26
|
+
recordForm.elements.forEach(el => {
|
|
27
|
+
if (el.uiElementType === FormUIElementTypes.TABS) {
|
|
28
|
+
const tabSettings = el.settings?.find(s => s.key === 'tabs');
|
|
29
|
+
// Exclude all tab ids that are not equals to tabIdVisible variable
|
|
30
|
+
containerToExclude.push(...tabSettings.value.filter(e => e.id !== tabIdVisible).map(e => e.id));
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
// Find all elements visible
|
|
34
|
+
return recordForm.elements
|
|
35
|
+
.filter(e => e.uiElementType !== FormUIElementTypes.LINK)
|
|
36
|
+
.filter(e =>
|
|
37
|
+
// filters all elements where containers id contains /${e.id}
|
|
38
|
+
!containerToExclude.some(c => e.containerId?.includes(c)))
|
|
39
|
+
.map(e => e.id);
|
|
40
|
+
};
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
(async () => {
|
|
43
|
+
if (!recordForm || !formIdToLoad || tabIdVisible === undefined) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const elementIds = getElementIdsVisible();
|
|
47
|
+
setElementIdsVisible(elementIds);
|
|
48
|
+
// List of elementIds that we don't have fetched their values yet
|
|
49
|
+
const elementIdsToFetch = elementIds.filter(e => !elementsIdsFetched.includes(e));
|
|
50
|
+
if (!elementIdsToFetch.length) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
const result = await getRecordFormElementsValues({
|
|
55
|
+
variables: {
|
|
56
|
+
libraryId: recordForm.library.id,
|
|
57
|
+
recordId: recordForm.recordId,
|
|
58
|
+
formId: formIdToLoad,
|
|
59
|
+
elementIds: elementIdsToFetch
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
setElementsIdsFetched([...elementsIdsFetched, ...elementIdsToFetch]);
|
|
63
|
+
const recordFormElementValues = (result.data?.getRecordFormElementsValues ||
|
|
64
|
+
[]);
|
|
65
|
+
updateRecordFormWithValues(recordFormElementValues);
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
setError(e);
|
|
69
|
+
}
|
|
70
|
+
})();
|
|
71
|
+
}, [formIdToLoad, recordForm, tabIdVisible]);
|
|
72
|
+
// Merge new values into recordForm
|
|
73
|
+
const updateRecordFormWithValues = (elementsValues) => {
|
|
74
|
+
setRecordFormWithValues({
|
|
75
|
+
...recordForm,
|
|
76
|
+
elements: recordForm.elements.map(e => {
|
|
77
|
+
const elementValue = elementsValues.find((v) => v.id === e.id);
|
|
78
|
+
if (elementValue) {
|
|
79
|
+
return {
|
|
80
|
+
...e,
|
|
81
|
+
values: elementValue.values,
|
|
82
|
+
valueError: elementValue.valueError
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return e;
|
|
87
|
+
}
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
// Create a refetch function for computed fields
|
|
92
|
+
const refetchRecordFormWithValues = async () => {
|
|
93
|
+
try {
|
|
94
|
+
const result = await getRecordFormElementsValues({
|
|
95
|
+
variables: {
|
|
96
|
+
libraryId: recordForm.library.id,
|
|
97
|
+
recordId: recordForm.recordId,
|
|
98
|
+
formId: formIdToLoad,
|
|
99
|
+
elementIds: elementIdsVisible
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
updateRecordFormWithValues((result.data?.getRecordFormElementsValues || []));
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
setError(e);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
return {
|
|
109
|
+
loading,
|
|
110
|
+
error,
|
|
111
|
+
refetchRecordFormWithValues,
|
|
112
|
+
recordFormWithValues
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=useFetchVisibleFormValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchVisibleFormValue.js","sourceRoot":"","sources":["../../../../../src/components/RecordEdition/EditRecordContent/hooks/useFetchVisibleFormValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RecordFormElement } from '../../../../hooks/useGetRecordForm';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to manage tab visibility and tab click events in the EditRecordContent component
|
|
4
|
+
* @returns Object containing the visible tab ID and a handler for tab click events
|
|
5
|
+
* undefined = not loaded yet, null = no tabs found, string = id found
|
|
6
|
+
* @param elements
|
|
7
|
+
*/
|
|
8
|
+
export declare const useTabManagement: (elements: RecordFormElement[]) => {
|
|
9
|
+
tabIdVisible: string;
|
|
10
|
+
handleTabClick: (tabIdClicked: string) => void;
|
|
11
|
+
};
|
|
12
|
+
export default useTabManagement;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
+
import { useState, useEffect } from 'react';
|
|
5
|
+
/**
|
|
6
|
+
* Hook to manage tab visibility and tab click events in the EditRecordContent component
|
|
7
|
+
* @returns Object containing the visible tab ID and a handler for tab click events
|
|
8
|
+
* undefined = not loaded yet, null = no tabs found, string = id found
|
|
9
|
+
* @param elements
|
|
10
|
+
*/
|
|
11
|
+
export const useTabManagement = (elements) => {
|
|
12
|
+
// State to track the currently visible tab ID
|
|
13
|
+
const [tabIdVisible, setTabIdVisible] = useState(undefined);
|
|
14
|
+
// Initialize the visible tab ID when the record form is loaded
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
// When we load the record form, get the ID of the first tab
|
|
17
|
+
const firstTabId = elements?.find(e => e.uiElementType === 'tabs')?.settings?.find(s => s.key === 'tabs')
|
|
18
|
+
?.value[0]?.id;
|
|
19
|
+
if (firstTabId) {
|
|
20
|
+
setTabIdVisible(firstTabId);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
setTabIdVisible(null);
|
|
24
|
+
}
|
|
25
|
+
}, [elements]);
|
|
26
|
+
/**
|
|
27
|
+
* Handler for tab click events
|
|
28
|
+
* @param tabIdClicked The ID of the tab that was clicked
|
|
29
|
+
*/
|
|
30
|
+
const handleTabClick = (tabIdClicked) => {
|
|
31
|
+
setTabIdVisible(tabIdClicked);
|
|
32
|
+
};
|
|
33
|
+
return {
|
|
34
|
+
tabIdVisible,
|
|
35
|
+
handleTabClick
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export default useTabManagement;
|
|
39
|
+
//# sourceMappingURL=useTabManagement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabManagement.js","sourceRoot":"","sources":["../../../../../src/components/RecordEdition/EditRecordContent/hooks/useTabManagement.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAG1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAA6B,EAAE,EAAE;IAC9D,8CAA8C;IAC9C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAA4B,SAAS,CAAC,CAAC;IAEvF,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE;QACX,4DAA4D;QAC5D,MAAM,UAAU,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC;YACrG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAEnB,IAAI,UAAU,EAAE,CAAC;YACb,eAAe,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf;;;OAGG;IACH,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAE,EAAE;QAC5C,eAAe,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO;QACH,YAAY;QACZ,cAAc;KACjB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|