@leav/ui 0.4.0-68fec6f → 0.4.0-72d37f7
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/__mocks__/common/form.js +5 -1
- package/dist/__mocks__/common/form.js.map +1 -1
- package/dist/__mocks__/common/value.d.ts +1 -2
- package/dist/__mocks__/common/value.js +0 -11
- package/dist/__mocks__/common/value.js.map +1 -1
- package/dist/_gqlTypes/index.d.ts +327 -0
- package/dist/_gqlTypes/index.js +174 -0
- 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 +4 -0
- package/dist/_queries/records/getRecordFormQuery.js.map +1 -1
- package/dist/components/CreateDirectory/CreateDirectory.js +4 -4
- 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 +31 -11
- package/dist/components/Explorer/DataView.js.map +1 -1
- package/dist/components/Explorer/Explorer.d.ts +5 -4
- package/dist/components/Explorer/Explorer.js +25 -11
- package/dist/components/Explorer/Explorer.js.map +1 -1
- package/dist/components/Explorer/IdCard.js +1 -1
- package/dist/components/Explorer/IdCard.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/TableTagGroup.d.ts +0 -1
- package/dist/components/Explorer/TableTagGroup.js +3 -16
- package/dist/components/Explorer/TableTagGroup.js.map +1 -1
- package/dist/components/Explorer/_constants.d.ts +3 -0
- package/dist/components/Explorer/_constants.js +3 -0
- package/dist/components/Explorer/_constants.js.map +1 -1
- package/dist/components/Explorer/_queries/useExplorerData.d.ts +1 -0
- package/dist/components/Explorer/_queries/useExplorerData.js +20 -10
- package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
- package/dist/components/Explorer/_types.d.ts +7 -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 +4 -2
- package/dist/components/Explorer/actions-item/useEditItemAction.js.map +1 -1
- package/dist/components/Explorer/actions-item/{useRemoveItemAction.d.ts → useEditStatusItemAction.d.ts} +4 -2
- package/dist/components/Explorer/actions-item/{useRemoveItemAction.js → useEditStatusItemAction.js} +81 -24
- package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -0
- package/dist/components/Explorer/actions-item/useReplaceItemAction.d.ts +21 -0
- package/dist/components/Explorer/actions-item/useReplaceItemAction.js +42 -0
- package/dist/components/Explorer/actions-item/useReplaceItemAction.js.map +1 -0
- package/dist/components/Explorer/actions-mass/useDeactivateMassAction.d.ts +2 -1
- package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js +12 -3
- package/dist/components/Explorer/actions-mass/useDeactivateMassAction.js.map +1 -1
- package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js +5 -5
- package/dist/components/Explorer/actions-mass/useDeleteLinkValues.js.map +1 -1
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +2 -1
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +11 -3
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
- package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.d.ts +5 -2
- package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js +20 -4
- package/dist/components/Explorer/actions-primary/useLinkPrimaryAction.js.map +1 -1
- package/dist/components/Explorer/link-item/LinkModal.d.ts +2 -0
- package/dist/components/Explorer/link-item/LinkModal.js +14 -4
- package/dist/components/Explorer/link-item/LinkModal.js.map +1 -1
- package/dist/components/Explorer/link-item/{useLinkMassAction.d.ts → useAddLinkMassAction.d.ts} +1 -1
- package/dist/components/Explorer/link-item/{useLinkMassAction.js → useAddLinkMassAction.js} +2 -2
- package/dist/components/Explorer/link-item/useAddLinkMassAction.js.map +1 -0
- package/dist/components/Explorer/link-item/useReplaceLinkMassAction.d.ts +23 -0
- package/dist/components/Explorer/link-item/useReplaceLinkMassAction.js +35 -0
- package/dist/components/Explorer/link-item/useReplaceLinkMassAction.js.map +1 -0
- package/dist/components/Explorer/manage-view-settings/_shared/useAttributeDetailsData.js +11 -9
- package/dist/components/Explorer/manage-view-settings/_shared/useAttributeDetailsData.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/_shared/useTransformFilters.d.ts +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/useLoadView.js +4 -2
- package/dist/components/Explorer/useLoadView.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 +43 -19
- 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 +2 -2
- 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/LibraryItemsListTable/Cell/typeGuards.d.ts +4 -0
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.js +4 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/typeGuards.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/{RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd → LinkSelect}/index.js +2 -2
- package/dist/components/LinkSelect/index.js.map +1 -0
- package/dist/components/RecordEdition/EditRecord/EditRecord.d.ts +2 -4
- package/dist/components/RecordEdition/EditRecord/EditRecord.js +37 -39
- 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/{EditRecordContent/uiElements/TreeField/TreeFieldValue → EditRecordButtons}/index.js +2 -2
- package/dist/components/RecordEdition/EditRecordButtons/index.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.d.ts +3 -1
- package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js +12 -3
- package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +5 -0
- package/dist/components/RecordEdition/EditRecordContent/_types.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/formConstants.d.ts +1 -0
- package/dist/components/RecordEdition/EditRecordContent/formConstants.js +1 -0
- package/dist/components/RecordEdition/EditRecordContent/formConstants.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.d.ts +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/Container/Container.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.d.ts +8 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +102 -92
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useEditRecord.d.ts +5 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useEditRecord.js +39 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useEditRecord.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useUnselectRecord.d.ts +8 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useUnselectRecord.js +23 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-item/useUnselectRecord.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-mass/useUnselectAllRecords.d.ts +9 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-mass/useUnselectAllRecords.js +23 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-mass/useUnselectAllRecords.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useCreateRecord.d.ts +8 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useCreateRecord.js +26 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useCreateRecord.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useRecordSelector.d.ts +12 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useRecordSelector.js +24 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/action-primary/useRecordSelector.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecords.d.ts +19 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecords.js +103 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecords.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.d.ts +22 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js +104 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecords.d.ts +22 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecords.js +85 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecords.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.d.ts +27 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js +215 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.d.ts +265 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.js +13 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/ExplorerWrapper.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/LinkActionsButtons.d.ts +9 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/LinkActionsButtons.js +15 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/LinkActionsButtons.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/utils.d.ts +4 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/utils.js +22 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/shared/utils.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +34 -47
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js +1 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js +1 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js +1 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputEncryptedWrapper.js +2 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputEncryptedWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js +1 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +1 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js +1 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +1 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.d.ts +2 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +2 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js +5 -8
- 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 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.d.ts +4 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +67 -215
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.d.ts +265 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.js +13 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeFieldWrapper.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.d.ts +10 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +51 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.d.ts +11 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js +8 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +15 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +44 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.d.ts +23 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js +145 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/useManageTreeNodeSelection.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/ComputeIndicator.d.ts +4 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/DeleteAllValuesButton.d.ts +8 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/DeleteAllValuesButton.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/DeleteAllValuesButton.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.d.ts +17 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.js +76 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/useOutsideInteractionDetector.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.d.ts +4 -0
- package/dist/components/RecordEdition/EditRecordModal/EditRecordModal.js +51 -51
- 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 +9 -7
- 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/ValuesSummary/ValuesSummary.js +3 -0
- package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.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 +29 -3
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +65 -5
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
- package/dist/components/RecordEdition/hooks/useGetSubmitButtons.d.ts +1 -1
- package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js +3 -3
- package/dist/components/RecordEdition/hooks/useGetSubmitButtons.js.map +1 -1
- package/dist/components/RecordEdition/index.d.ts +2 -0
- package/dist/components/RecordEdition/index.js +2 -0
- package/dist/components/RecordEdition/index.js.map +1 -1
- package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +2 -0
- package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +8 -6
- package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNode.d.ts +3 -1
- package/dist/components/SelectTreeNode/SelectTreeNode.js +4 -4
- package/dist/components/SelectTreeNode/SelectTreeNode.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.d.ts +3 -1
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +14 -6
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNodeContentSkeleton.d.ts +2 -0
- package/dist/components/SelectTreeNode/SelectTreeNodeContentSkeleton.js +17 -0
- package/dist/components/SelectTreeNode/SelectTreeNodeContentSkeleton.js.map +1 -0
- package/dist/components/SelectTreeNode/TreeNodeTitle.d.ts +9 -0
- package/dist/components/SelectTreeNode/TreeNodeTitle.js +8 -0
- package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -0
- package/dist/components/SelectTreeNodeModal/SelectTreeNodeModal.js +1 -1
- package/dist/components/SelectTreeNodeModal/SelectTreeNodeModal.js.map +1 -1
- 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 +4 -4
- package/dist/components/UploadFiles/UploadFiles.js.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.js +0 -1
- package/dist/components/index.js.map +1 -1
- package/dist/constants.d.ts +3 -1
- package/dist/constants.js +3 -1
- package/dist/constants.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 +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useAppLang/useAppLang.js.map +1 -1
- package/dist/hooks/useGetRecordForm/useGetRecordForm.js +1 -1
- package/dist/hooks/useGetRecordForm/useGetRecordForm.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +14 -0
- package/dist/hooks/useIFrameMessenger/messageHandlers.js +118 -0
- package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -0
- package/dist/hooks/useIFrameMessenger/types.d.ts +92 -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 +11 -0
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +73 -0
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.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 +16 -1
- package/dist/locales/fr/shared.json +16 -1
- package/dist/types/attributes.d.ts +2 -1
- package/dist/types/trees.d.ts +1 -0
- package/package.json +3 -4
- package/dist/components/Explorer/actions-item/useRemoveItemAction.js.map +0 -1
- package/dist/components/Explorer/link-item/useLinkMassAction.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/FloatingMenuHandler.d.ts +0 -14
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/FloatingMenuHandler.js +0 -29
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/FloatingMenuHandler.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/index.d.ts +0 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/index.js +0 -6
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/FloatingMenuHandler/index.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/MonoValueSelect.d.ts +0 -20
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/MonoValueSelect.js +0 -53
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/MonoValueSelect.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/useGetOptionsQuery.d.ts +0 -19
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/useGetOptionsQuery.js +0 -111
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MonoValueSelect/useGetOptionsQuery.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/MultiValueSelect.d.ts +0 -20
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/MultiValueSelect.js +0 -71
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/MultiValueSelect.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/useGetOptionsQuery.d.ts +0 -14
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/useGetOptionsQuery.js +0 -58
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/MultiValueSelect/useGetOptionsQuery.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/RecordIdentityCell.d.ts +0 -6
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/RecordIdentityCell.js +0 -11
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/RecordIdentityCell.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/index.d.ts +0 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/index.js +0 -6
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/RecordIdentityCell/index.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/QuickSearch.d.ts +0 -13
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/QuickSearch.js +0 -50
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/QuickSearch.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/index.d.ts +0 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/index.js +0 -6
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/QuickSearch/index.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/ValuesAdd.d.ts +0 -9
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/ValuesAdd.js +0 -215
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/ValuesAdd.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/index.d.ts +0 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/ValuesAdd/index.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/ComputeIndicator.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/DeleteAllValuesButton.d.ts +0 -4
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/DeleteAllValuesButton.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/calculatedInheritedFlags.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/TreeFieldValue.d.ts +0 -10
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/TreeFieldValue.js +0 -50
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/TreeFieldValue.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/index.d.ts +0 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeFieldValue/index.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/ValuesAdd.d.ts +0 -9
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/ValuesAdd.js +0 -106
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/ValuesAdd.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/index.d.ts +0 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/index.js +0 -6
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/ValuesAdd/index.js.map +0 -1
- /package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/ComputeIndicator.js +0 -0
- /package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/calculatedInheritedFlags.d.ts +0 -0
- /package/dist/components/RecordEdition/EditRecordContent/uiElements/{StandardField → shared}/calculatedInheritedFlags.js +0 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
3
|
+
// This file is released under LGPL V3
|
|
4
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
5
|
+
import { FaEye, FaList, FaPlus, FaTrash } from 'react-icons/fa';
|
|
6
|
+
import { Explorer } from '../../../../../../components/Explorer';
|
|
7
|
+
import { ExplorerWrapper } from '../shared/ExplorerWrapper';
|
|
8
|
+
import { LinkActionsButtons } from '../shared/LinkActionsButtons';
|
|
9
|
+
import { useSharedTranslation } from '../../../../../../hooks/useSharedTranslation';
|
|
10
|
+
import { useRecordSelector } from '../action-primary/useRecordSelector';
|
|
11
|
+
import { useEditRecord } from '../action-item/useEditRecord';
|
|
12
|
+
import { useUnselectRecord } from '../action-item/useUnselectRecord';
|
|
13
|
+
import { ACTION_ITEM_EMPTY_LABEL } from '../shared/utils';
|
|
14
|
+
import { useCreateRecord } from '../action-primary/useCreateRecord';
|
|
15
|
+
import { RecordFilterOperator } from '../../../../../../_gqlTypes';
|
|
16
|
+
import { useUnselectAllRecords } from '../action-mass/useUnselectAllRecords';
|
|
17
|
+
import { useLinkRecords } from './useLinkRecords';
|
|
18
|
+
import { DeleteAllValuesButton } from '../../shared/DeleteAllValuesButton';
|
|
19
|
+
import { useEffect } from 'react';
|
|
20
|
+
import { AntForm } from 'aristid-ds';
|
|
21
|
+
import { EditRecordReducerActionsTypes } from '../../../../../../components/RecordEdition/editRecordReducer/editRecordReducer';
|
|
22
|
+
export const useLinkRecordsInCreation = ({ attribute, libraryId, pendingValues, activeAttribute, dispatch, isHookUsed, isReadOnly, isFieldInError, onValueSubmit, onValueDelete }) => {
|
|
23
|
+
const { t } = useSharedTranslation();
|
|
24
|
+
const form = AntForm.useFormInstance();
|
|
25
|
+
const { explorerFilters, explorerKey, linkRecords, unlinkRecords, hasNoSelectedRecord, canDeleteAllValues } = useLinkRecords({
|
|
26
|
+
attribute,
|
|
27
|
+
libraryId,
|
|
28
|
+
onValueSubmit,
|
|
29
|
+
onValueDelete
|
|
30
|
+
});
|
|
31
|
+
const { openModal: openCreateRecordModal, CreateRecordModal } = useCreateRecord({
|
|
32
|
+
linkRecords
|
|
33
|
+
});
|
|
34
|
+
const { openModal: openRecordSelectorModal, RecordSelectorModal } = useRecordSelector({
|
|
35
|
+
libraryId,
|
|
36
|
+
isReplacementMode: !attribute.multiple_values && !hasNoSelectedRecord,
|
|
37
|
+
selectionMode: attribute.multiple_values ? 'multiple' : 'simple',
|
|
38
|
+
linkRecords
|
|
39
|
+
});
|
|
40
|
+
const { openModal: openEditRecordModal, EditRecordModal } = useEditRecord();
|
|
41
|
+
const { callback: unselectRecordCallback } = useUnselectRecord({
|
|
42
|
+
unlinkRecords
|
|
43
|
+
});
|
|
44
|
+
const { callback: unselectAllRecordsCallback } = useUnselectAllRecords({
|
|
45
|
+
unlinkRecords
|
|
46
|
+
});
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (isHookUsed && pendingValues.length === 0 && attribute.required) {
|
|
49
|
+
// Set field in error when LinkField is displayed for the first time. Otherwise, errors will be handled by useLinkRecords
|
|
50
|
+
form.setFields([
|
|
51
|
+
{
|
|
52
|
+
name: attribute.id,
|
|
53
|
+
errors: [t('errors.standard_field_required')]
|
|
54
|
+
}
|
|
55
|
+
]);
|
|
56
|
+
}
|
|
57
|
+
}, []);
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (isHookUsed && activeAttribute?.attribute.id === attribute.id) {
|
|
60
|
+
// Update active value used in the sidebar when pendingValues change
|
|
61
|
+
dispatch({
|
|
62
|
+
type: EditRecordReducerActionsTypes.SET_ACTIVE_VALUE,
|
|
63
|
+
values: pendingValues
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}, [pendingValues]);
|
|
67
|
+
return {
|
|
68
|
+
UnlinkAllRecordsInCreation: isHookUsed && canDeleteAllValues && (_jsx(DeleteAllValuesButton, { handleDelete: unlinkRecords, disabled: isReadOnly, danger: isFieldInError })),
|
|
69
|
+
LinkRecordsInCreation: isHookUsed && (_jsxs(_Fragment, { children: [_jsx(ExplorerWrapper, { children: _jsx(Explorer, { defaultViewSettings: {
|
|
70
|
+
filters: explorerFilters,
|
|
71
|
+
filtersOperator: RecordFilterOperator.OR
|
|
72
|
+
}, entrypoint: {
|
|
73
|
+
type: 'library',
|
|
74
|
+
libraryId
|
|
75
|
+
}, showTitle: false, showSearch: false, selectionMode: attribute.multiple_values ? 'multiple' : 'simple', hideSelectAllAction: !attribute.multiple_values, disableSelection: isReadOnly || !attribute.multiple_values, defaultActionsForItem: [], itemActions: [
|
|
76
|
+
{ label: ACTION_ITEM_EMPTY_LABEL, icon: _jsx(FaEye, {}), callback: openEditRecordModal },
|
|
77
|
+
...(attribute.multiple_values
|
|
78
|
+
? [
|
|
79
|
+
{
|
|
80
|
+
label: ACTION_ITEM_EMPTY_LABEL,
|
|
81
|
+
icon: _jsx(FaTrash, {}),
|
|
82
|
+
callback: unselectRecordCallback,
|
|
83
|
+
isDanger: true
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
: [])
|
|
87
|
+
], defaultMassActions: [], massActions: attribute.multiple_values
|
|
88
|
+
? [{ icon: _jsx(FaTrash, {}), label: t('global.delete'), callback: unselectAllRecordsCallback }]
|
|
89
|
+
: [], hidePrimaryActions: true, hideTableHeader: true, iconsOnlyItemActions: true, noPagination: true }, explorerKey) }), _jsx(LinkActionsButtons, { createButtonProps: {
|
|
90
|
+
icon: _jsx(FaPlus, {}),
|
|
91
|
+
label: t('explorer.create-one'),
|
|
92
|
+
callback: () => openCreateRecordModal(libraryId),
|
|
93
|
+
disabled: isReadOnly || !attribute.permissions.edit_value
|
|
94
|
+
}, linkButtonProps: {
|
|
95
|
+
icon: _jsx(FaList, {}),
|
|
96
|
+
label: attribute.multiple_values || hasNoSelectedRecord
|
|
97
|
+
? t('explorer.add-existing-item')
|
|
98
|
+
: t('record_edition.replace-by-existing-item'),
|
|
99
|
+
callback: openRecordSelectorModal,
|
|
100
|
+
disabled: isReadOnly || !attribute.permissions.edit_value
|
|
101
|
+
}, hasNoValue: hasNoSelectedRecord }), CreateRecordModal, RecordSelectorModal, EditRecordModal] }))
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=useLinkRecordsInCreation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLinkRecordsInCreation.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RecordFilterInput, RecordFormAttributeLinkAttributeFragment } from '../../../../../../_gqlTypes';
|
|
2
|
+
import { DeleteMultipleValuesFunc, ISubmitMultipleResult } from '../../../_types';
|
|
3
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
4
|
+
import { IItemData, MassSelection } from '../../../../../../components/Explorer/_types';
|
|
5
|
+
import { RecordFormElementsValueLinkValue } from '../../../../../../hooks/useGetRecordForm';
|
|
6
|
+
interface IUseLinkRecordsProps {
|
|
7
|
+
attribute: RecordFormAttributeLinkAttributeFragment;
|
|
8
|
+
backendValues: RecordFormElementsValueLinkValue[];
|
|
9
|
+
setBackendValues: Dispatch<SetStateAction<RecordFormElementsValueLinkValue[]>>;
|
|
10
|
+
onDeleteMultipleValues: DeleteMultipleValuesFunc;
|
|
11
|
+
}
|
|
12
|
+
export declare const useLinkRecords: ({ attribute, backendValues, setBackendValues, onDeleteMultipleValues }: IUseLinkRecordsProps) => {
|
|
13
|
+
handleDeleteAllValues: () => Promise<void>;
|
|
14
|
+
handleExplorerRemoveValue: (item: IItemData) => void;
|
|
15
|
+
handleExplorerMassDeactivateValues: (_massSelectedFilter: RecordFilterInput[], massSelection: MassSelection) => void;
|
|
16
|
+
handleExplorerLinkValue: (saveValuesResult: ISubmitMultipleResult) => void;
|
|
17
|
+
handleExplorerCreateValue: ({ recordIdCreated, saveValuesResultOnLink }: {
|
|
18
|
+
recordIdCreated: string;
|
|
19
|
+
saveValuesResultOnLink?: ISubmitMultipleResult;
|
|
20
|
+
}) => void;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { APICallStatus } from '../../../_types';
|
|
2
|
+
import { AntForm } from 'aristid-ds';
|
|
3
|
+
import { useSharedTranslation } from '../../../../../../hooks/useSharedTranslation';
|
|
4
|
+
import { ErrorTypes } from '@leav/utils';
|
|
5
|
+
export const useLinkRecords = ({ attribute, backendValues, setBackendValues, onDeleteMultipleValues }) => {
|
|
6
|
+
const { t } = useSharedTranslation();
|
|
7
|
+
const form = AntForm.useFormInstance();
|
|
8
|
+
const removeValues = (filterFn, useIdValue = false) => {
|
|
9
|
+
if (!filterFn) {
|
|
10
|
+
form.setFieldValue(attribute.id, []);
|
|
11
|
+
form.setFields([
|
|
12
|
+
{
|
|
13
|
+
name: attribute.id,
|
|
14
|
+
errors: attribute.required ? [t('errors.standard_field_required')] : []
|
|
15
|
+
}
|
|
16
|
+
]);
|
|
17
|
+
setBackendValues([]);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const newBackendValues = backendValues.filter(backendValue => filterFn(useIdValue ? backendValue.id_value : backendValue.linkValue.id));
|
|
21
|
+
form.setFieldValue(attribute.id, newBackendValues.map(({ linkValue }) => linkValue.id));
|
|
22
|
+
form.setFields([
|
|
23
|
+
{
|
|
24
|
+
name: attribute.id,
|
|
25
|
+
errors: attribute.required && newBackendValues.length === 0 ? [t('errors.standard_field_required')] : []
|
|
26
|
+
}
|
|
27
|
+
]);
|
|
28
|
+
setBackendValues(previousBackendValues => previousBackendValues.filter(backendValue => filterFn(useIdValue ? backendValue.id_value : backendValue.linkValue.id)));
|
|
29
|
+
};
|
|
30
|
+
const handleDeleteAllValues = async () => {
|
|
31
|
+
const deleteRes = await onDeleteMultipleValues(attribute.id, backendValues.filter(backendValue => backendValue.id_value), null);
|
|
32
|
+
if (deleteRes.status === APICallStatus.SUCCESS) {
|
|
33
|
+
removeValues();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const handleExplorerRemoveValue = (item) => {
|
|
37
|
+
removeValues(id => id !== item.itemId);
|
|
38
|
+
};
|
|
39
|
+
const handleExplorerMassDeactivateValues = (_massSelectedFilter, massSelection) => {
|
|
40
|
+
removeValues(idValue => !massSelection.includes(idValue), true);
|
|
41
|
+
};
|
|
42
|
+
const handleExplorerLinkValue = (saveValuesResult) => {
|
|
43
|
+
if (saveValuesResult.status === APICallStatus.SUCCESS) {
|
|
44
|
+
const saveLinkValues = saveValuesResult.values;
|
|
45
|
+
form.setFieldValue(attribute.id, [
|
|
46
|
+
...backendValues.map(({ linkValue }) => linkValue.id),
|
|
47
|
+
...saveLinkValues.map(({ linkValue }) => linkValue.id)
|
|
48
|
+
]);
|
|
49
|
+
form.setFields([
|
|
50
|
+
{
|
|
51
|
+
name: attribute.id,
|
|
52
|
+
errors: []
|
|
53
|
+
}
|
|
54
|
+
]);
|
|
55
|
+
setBackendValues([...backendValues, ...saveLinkValues]);
|
|
56
|
+
}
|
|
57
|
+
if (saveValuesResult.status === APICallStatus.ERROR && saveValuesResult.errors) {
|
|
58
|
+
const attributeError = saveValuesResult.errors.filter(err => err.attribute === attribute.id)?.[0];
|
|
59
|
+
if (attributeError) {
|
|
60
|
+
const errorMessage = attributeError.type === ErrorTypes.VALIDATION_ERROR
|
|
61
|
+
? attributeError.message
|
|
62
|
+
: t(`errors.${attributeError.type}`);
|
|
63
|
+
form.setFields([
|
|
64
|
+
{
|
|
65
|
+
name: attribute.id,
|
|
66
|
+
errors: [errorMessage]
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const handleExplorerCreateValue = ({ recordIdCreated, saveValuesResultOnLink }) => {
|
|
73
|
+
if (saveValuesResultOnLink) {
|
|
74
|
+
handleExplorerLinkValue(saveValuesResultOnLink);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
return {
|
|
78
|
+
handleDeleteAllValues,
|
|
79
|
+
handleExplorerRemoveValue,
|
|
80
|
+
handleExplorerMassDeactivateValues,
|
|
81
|
+
handleExplorerLinkValue,
|
|
82
|
+
handleExplorerCreateValue
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=useLinkRecords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLinkRecords.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecords.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Explorer } from '../../../../../../components/Explorer';
|
|
2
|
+
import { ComponentProps, Dispatch, SetStateAction } from 'react';
|
|
3
|
+
import { DeleteMultipleValuesFunc } from '../../../_types';
|
|
4
|
+
import { RecordFormAttributeLinkAttributeFragment } from '../../../../../../_gqlTypes';
|
|
5
|
+
import { RecordFormElementsValueLinkValue } from '../../../../../../hooks/useGetRecordForm';
|
|
6
|
+
import { IEditRecordReducerActions, IRecordPropertyWithAttribute } from '../../../../../../components/RecordEdition/editRecordReducer/editRecordReducer';
|
|
7
|
+
interface ILinkRecordsInCreationProps {
|
|
8
|
+
libraryId: string;
|
|
9
|
+
recordId: string;
|
|
10
|
+
attribute: RecordFormAttributeLinkAttributeFragment;
|
|
11
|
+
columnsToDisplay: ComponentProps<typeof Explorer>['defaultViewSettings']['attributesIds'];
|
|
12
|
+
backendValues: RecordFormElementsValueLinkValue[];
|
|
13
|
+
setBackendValues: Dispatch<SetStateAction<RecordFormElementsValueLinkValue[]>>;
|
|
14
|
+
activeAttribute: IRecordPropertyWithAttribute | null;
|
|
15
|
+
dispatch: Dispatch<IEditRecordReducerActions>;
|
|
16
|
+
isHookUsed: boolean;
|
|
17
|
+
isReadOnly: boolean;
|
|
18
|
+
isFieldInError: boolean;
|
|
19
|
+
tagDisplayMode: boolean;
|
|
20
|
+
hasNoValue: boolean;
|
|
21
|
+
onDeleteMultipleValues: DeleteMultipleValuesFunc;
|
|
22
|
+
}
|
|
23
|
+
export declare const useLinkRecordsInEdition: ({ libraryId, recordId, attribute, columnsToDisplay, backendValues, setBackendValues, activeAttribute, dispatch, isHookUsed, isReadOnly, isFieldInError, tagDisplayMode, onDeleteMultipleValues }: ILinkRecordsInCreationProps) => {
|
|
24
|
+
UnlinkAllRecordsInEdition: JSX.Element;
|
|
25
|
+
LinkRecordsInEditionExplorer: JSX.Element;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
3
|
+
// This file is released under LGPL V3
|
|
4
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
5
|
+
import { Explorer } from '../../../../../../components/Explorer';
|
|
6
|
+
import { useEffect, useState } from 'react';
|
|
7
|
+
import { useSharedTranslation } from '../../../../../../hooks/useSharedTranslation';
|
|
8
|
+
import { ExplorerWrapper } from '../shared/ExplorerWrapper';
|
|
9
|
+
import { DeleteAllValuesButton } from '../../shared/DeleteAllValuesButton';
|
|
10
|
+
import { RecordFilterCondition, RecordFilterOperator, useGetLibraryByIdQuery, useGetRecordsFromLibraryQuery } from '../../../../../../_gqlTypes';
|
|
11
|
+
import useSaveValueBatchMutation from '../../../../../../components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';
|
|
12
|
+
import { AntForm, KitButton } from 'aristid-ds';
|
|
13
|
+
import { EditRecordReducerActionsTypes } from '../../../../../../components/RecordEdition/editRecordReducer/editRecordReducer';
|
|
14
|
+
import { useLinkRecords } from './useLinkRecords';
|
|
15
|
+
import LinkSelect from '../../../../../../components/LinkSelect';
|
|
16
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
17
|
+
import { faPlus } from '@fortawesome/free-solid-svg-icons';
|
|
18
|
+
const _shouldUpdateExplorerActions = (ref, explorerActions) => ref?.createAction?.disabled !== explorerActions?.createAction?.disabled ||
|
|
19
|
+
ref?.linkAction?.disabled !== explorerActions?.linkAction?.disabled ||
|
|
20
|
+
ref?.totalCount !== explorerActions?.totalCount;
|
|
21
|
+
export const useLinkRecordsInEdition = ({ libraryId, recordId, attribute, columnsToDisplay, backendValues, setBackendValues, activeAttribute, dispatch, isHookUsed, isReadOnly, isFieldInError, tagDisplayMode, onDeleteMultipleValues }) => {
|
|
22
|
+
const { t } = useSharedTranslation();
|
|
23
|
+
const form = AntForm.useFormInstance();
|
|
24
|
+
const [isExplorerAddButtonClicked, setIsExplorerAddButtonClicked] = useState(false);
|
|
25
|
+
const [explorerActions, setExplorerActions] = useState(null);
|
|
26
|
+
const [fullTextSearchAttributes, setFullTextSearchAttributes] = useState([]);
|
|
27
|
+
const [linkedIds, setLinkIds] = useState([]);
|
|
28
|
+
const [selectOptions, setSelectOptions] = useState([]);
|
|
29
|
+
const { handleDeleteAllValues, handleExplorerCreateValue, handleExplorerLinkValue, handleExplorerMassDeactivateValues, handleExplorerRemoveValue } = useLinkRecords({
|
|
30
|
+
attribute,
|
|
31
|
+
backendValues,
|
|
32
|
+
setBackendValues,
|
|
33
|
+
onDeleteMultipleValues
|
|
34
|
+
});
|
|
35
|
+
// Query to get all records from the linked library
|
|
36
|
+
// Network-only is useful to avoid caching, we have a side effect otherwise
|
|
37
|
+
// When the record is created, if we call getRecordsFromLibrary(), the previous records are returned
|
|
38
|
+
const { data: libraryItems, refetch: getRecordsFromLibrary } = useGetRecordsFromLibraryQuery({
|
|
39
|
+
fetchPolicy: 'network-only'
|
|
40
|
+
});
|
|
41
|
+
// Function to get the library configuration
|
|
42
|
+
const { data: libraryLinked } = useGetLibraryByIdQuery({
|
|
43
|
+
variables: {
|
|
44
|
+
id: attribute.linked_library.id
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (libraryLinked) {
|
|
49
|
+
setFullTextSearchAttributes(libraryLinked.libraries.list[0].fullTextAttributes);
|
|
50
|
+
}
|
|
51
|
+
}, [libraryLinked]);
|
|
52
|
+
// Function to refetch data with current parameters
|
|
53
|
+
const getRecordsRefetch = (customVariables = {}) => getRecordsFromLibrary({
|
|
54
|
+
libraryId: attribute.linked_library.id,
|
|
55
|
+
pagination: { limit: 10, offset: 0 },
|
|
56
|
+
...customVariables
|
|
57
|
+
});
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
setLinkIds(backendValues.map(bv => bv.linkValue.id));
|
|
60
|
+
if (isHookUsed && activeAttribute?.attribute.id === attribute.id) {
|
|
61
|
+
// Update active value used in the sidebar when backendValues change
|
|
62
|
+
dispatch({
|
|
63
|
+
type: EditRecordReducerActionsTypes.SET_ACTIVE_VALUE,
|
|
64
|
+
values: backendValues
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}, [backendValues]);
|
|
68
|
+
// Update options for LinkSelect when libraryItems update
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
if (libraryItems?.records?.list) {
|
|
71
|
+
setSelectOptions(libraryItems.records.list.map(record => ({
|
|
72
|
+
value: record.id,
|
|
73
|
+
label: record.whoAmI.label ?? record.whoAmI.id,
|
|
74
|
+
idCard: {
|
|
75
|
+
description: record.whoAmI.label ?? record.whoAmI.id,
|
|
76
|
+
avatarProps: {
|
|
77
|
+
size: 'small',
|
|
78
|
+
shape: 'square',
|
|
79
|
+
imageFit: 'contain',
|
|
80
|
+
src: record.whoAmI.preview?.small,
|
|
81
|
+
label: record.whoAmI.label ?? record.whoAmI.id
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
})));
|
|
85
|
+
}
|
|
86
|
+
}, [libraryItems]);
|
|
87
|
+
useEffect(() => {
|
|
88
|
+
if (isHookUsed && backendValues.length === 0 && attribute.required) {
|
|
89
|
+
// Set field in error when LinkField is displayed for the first time. Otherwise, errors will be handled by _removeValues() or _handleExplorerLinkValue()
|
|
90
|
+
form.setFields([
|
|
91
|
+
{
|
|
92
|
+
name: attribute.id,
|
|
93
|
+
errors: [t('errors.standard_field_required')]
|
|
94
|
+
}
|
|
95
|
+
]);
|
|
96
|
+
}
|
|
97
|
+
}, []);
|
|
98
|
+
const _handleExplorerRef = (ref) => {
|
|
99
|
+
if (_shouldUpdateExplorerActions(ref, explorerActions)) {
|
|
100
|
+
setExplorerActions({
|
|
101
|
+
createAction: ref?.createAction,
|
|
102
|
+
linkAction: ref?.linkAction,
|
|
103
|
+
totalCount: ref?.totalCount
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
const _openLinkSelect = () => {
|
|
108
|
+
setIsExplorerAddButtonClicked(true);
|
|
109
|
+
};
|
|
110
|
+
const { saveValues } = useSaveValueBatchMutation();
|
|
111
|
+
const _onBlurLinkSelect = async (itemsToLink, itemsToDelete) => {
|
|
112
|
+
// If there is no value to link or to remove, return early
|
|
113
|
+
if (itemsToLink.size === 0 && itemsToDelete.size === 0) {
|
|
114
|
+
setIsExplorerAddButtonClicked(false);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
// Convert itemsToLink Set to Array once to avoid repeated conversions
|
|
118
|
+
const itemsToLinkArray = Array.from(itemsToLink);
|
|
119
|
+
// Find values to remove and prepare payload for backend
|
|
120
|
+
const valuesToRemove = backendValues.filter(bv => itemsToDelete.has(bv.linkValue.id));
|
|
121
|
+
const idValuesToRemove = valuesToRemove.map(bv => bv.id_value);
|
|
122
|
+
// Prepare batch operation payload
|
|
123
|
+
const values = [
|
|
124
|
+
// Items to link (create new links)
|
|
125
|
+
...itemsToLinkArray.map(item => ({
|
|
126
|
+
attribute: attribute.id,
|
|
127
|
+
idValue: null,
|
|
128
|
+
value: item
|
|
129
|
+
})),
|
|
130
|
+
// Items to delete (remove existing links)
|
|
131
|
+
...idValuesToRemove.map(item => ({
|
|
132
|
+
attribute: attribute.id,
|
|
133
|
+
idValue: item,
|
|
134
|
+
value: null
|
|
135
|
+
}))
|
|
136
|
+
];
|
|
137
|
+
// Send the values to the backend
|
|
138
|
+
const res = await saveValues({ id: recordId, library: { id: libraryId } }, values, undefined, true);
|
|
139
|
+
const resValues = res.values;
|
|
140
|
+
// Update linked IDs: add new links and remove deleted ones
|
|
141
|
+
const updatedLinkedIds = linkedIds.filter(id => !itemsToDelete.has(id)).concat(itemsToLinkArray);
|
|
142
|
+
setLinkIds(updatedLinkedIds);
|
|
143
|
+
// Extract newly added values from response
|
|
144
|
+
const newlyAddedValues = resValues.filter(v => itemsToLink.has(v.linkValue.id));
|
|
145
|
+
// Update backend values: remove deleted ones and add new ones
|
|
146
|
+
setBackendValues([...backendValues.filter(bv => !itemsToDelete.has(bv.linkValue.id)), ...newlyAddedValues]);
|
|
147
|
+
// Hide linkSelect
|
|
148
|
+
setIsExplorerAddButtonClicked(false);
|
|
149
|
+
};
|
|
150
|
+
// search records that match the text typed in the search bar
|
|
151
|
+
const _onLinkSelectSearch = async (text) => {
|
|
152
|
+
const filters = fullTextSearchAttributes.reduce((acc, attr, index) => {
|
|
153
|
+
// Add OR operator between filters (except before the first filter)
|
|
154
|
+
if (index > 0) {
|
|
155
|
+
acc.push({ operator: RecordFilterOperator.OR });
|
|
156
|
+
}
|
|
157
|
+
// Add the filter condition
|
|
158
|
+
acc.push({
|
|
159
|
+
condition: RecordFilterCondition.CONTAINS,
|
|
160
|
+
field: attr.id,
|
|
161
|
+
value: text
|
|
162
|
+
});
|
|
163
|
+
return acc;
|
|
164
|
+
}, []);
|
|
165
|
+
await getRecordsRefetch({
|
|
166
|
+
filters
|
|
167
|
+
});
|
|
168
|
+
};
|
|
169
|
+
const _onCreateLinkSelect = async () => {
|
|
170
|
+
setIsExplorerAddButtonClicked(false);
|
|
171
|
+
explorerActions?.createAction?.callback();
|
|
172
|
+
};
|
|
173
|
+
const _onDeselect = linkId => {
|
|
174
|
+
const item = backendValues.find(bv => bv.linkValue.id === linkId);
|
|
175
|
+
if (!item) {
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
id_value: item.id_value,
|
|
180
|
+
libraryId,
|
|
181
|
+
attribute,
|
|
182
|
+
recordId
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
return {
|
|
186
|
+
UnlinkAllRecordsInEdition: isHookUsed &&
|
|
187
|
+
backendValues.length > 1 &&
|
|
188
|
+
attribute.multiple_values &&
|
|
189
|
+
!attribute.required && (_jsx(DeleteAllValuesButton, { handleDelete: handleDeleteAllValues, disabled: isReadOnly, danger: isFieldInError })),
|
|
190
|
+
LinkRecordsInEditionExplorer: isHookUsed &&
|
|
191
|
+
recordId &&
|
|
192
|
+
(tagDisplayMode ? (_jsx(LinkSelect, { tagDisplay: true, options: selectOptions, defaultValues: linkedIds })) : (_jsxs(_Fragment, { children: [_jsx(ExplorerWrapper, { children: _jsx(Explorer, { ref: _handleExplorerRef, defaultViewSettings: {
|
|
193
|
+
attributesIds: columnsToDisplay
|
|
194
|
+
}, entrypoint: {
|
|
195
|
+
type: 'link',
|
|
196
|
+
parentLibraryId: libraryId,
|
|
197
|
+
parentRecordId: recordId,
|
|
198
|
+
linkAttributeId: attribute.id
|
|
199
|
+
}, defaultCallbacks: {
|
|
200
|
+
item: {
|
|
201
|
+
remove: handleExplorerRemoveValue
|
|
202
|
+
},
|
|
203
|
+
mass: {
|
|
204
|
+
deactivate: handleExplorerMassDeactivateValues
|
|
205
|
+
},
|
|
206
|
+
primary: {
|
|
207
|
+
link: handleExplorerLinkValue,
|
|
208
|
+
create: handleExplorerCreateValue
|
|
209
|
+
}
|
|
210
|
+
}, showTitle: false, showSearch: false, selectionMode: attribute.multiple_values ? 'multiple' : 'simple', disableSelection: isReadOnly ||
|
|
211
|
+
!attribute.multiple_values ||
|
|
212
|
+
(attribute.required && attribute.multiple_values && backendValues.length === 1), defaultActionsForItem: [], hidePrimaryActions: true, hideTableHeader: true, iconsOnlyItemActions: true }) }), _jsx(KitButton, { onClick: _openLinkSelect, icon: _jsx(FontAwesomeIcon, { icon: faPlus }) }), isExplorerAddButtonClicked && (_jsx(LinkSelect, { tagDisplay: false, options: selectOptions, defaultValues: linkedIds, onClickCreateButton: _onCreateLinkSelect, onBlur: _onBlurLinkSelect, onParentDeselect: _onDeselect, onSearch: _onLinkSelectSearch }))] })))
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
//# sourceMappingURL=useLinkRecordsInEdition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLinkRecordsInEdition.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAA2C,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACpF,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EACH,qBAAqB,EACrB,oBAAoB,EAEpB,sBAAsB,EACtB,6BAA6B,EAEhC,MAAM,eAAe,CAAC;AAEvB,OAAO,yBAAyB,MAAM,uFAAuF,CAAC;AAE9H,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,EACH,6BAA6B,EAGhC,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAoBzD,MAAM,4BAA4B,GAAG,CAAC,GAAiB,EAAE,eAA6B,EAAE,EAAE,CACtF,GAAG,EAAE,YAAY,EAAE,QAAQ,KAAK,eAAe,EAAE,YAAY,EAAE,QAAQ;IACvE,GAAG,EAAE,UAAU,EAAE,QAAQ,KAAK,eAAe,EAAE,UAAU,EAAE,QAAQ;IACnE,GAAG,EAAE,UAAU,KAAK,eAAe,EAAE,UAAU,CAAC;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACpC,SAAS,EACT,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,sBAAsB,EACI,EAAE,EAAE;IAC9B,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAEvC,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpF,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAClF,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAC;IAClG,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IAErE,MAAM,EACF,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,kCAAkC,EAClC,yBAAyB,EAC5B,GAAG,cAAc,CAAC;QACf,SAAS;QACT,aAAa;QACb,gBAAgB;QAChB,sBAAsB;KACzB,CAAC,CAAC;IAEH,mDAAmD;IACnD,2EAA2E;IAC3E,oGAAoG;IACpG,MAAM,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAC,GAAG,6BAA6B,CAAC;QACvF,WAAW,EAAE,cAAc;KAC9B,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,EAAC,IAAI,EAAE,aAAa,EAAC,GAAG,sBAAsB,CAAC;QACjD,SAAS,EAAE;YACP,EAAE,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE;SAClC;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,aAAa,EAAE,CAAC;YAChB,2BAA2B,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpF,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,CAAC,eAAe,GAAG,EAAE,EAAE,EAAE,CAC/C,qBAAqB,CAAC;QAClB,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE;QACtC,UAAU,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAC;QAClC,GAAG,eAAe;KACrB,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACX,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAErD,IAAI,UAAU,IAAI,eAAe,EAAE,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;YAC/D,oEAAoE;YACpE,QAAQ,CAAC;gBACL,IAAI,EAAE,6BAA6B,CAAC,gBAAgB;gBACpD,MAAM,EAAE,aAAa;aACxB,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,yDAAyD;IACzD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9B,gBAAgB,CACZ,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAa,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjD,KAAK,EAAE,MAAM,CAAC,EAAE;gBAChB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC9C,MAAM,EAAE;oBACJ,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;oBACpD,WAAW,EAAE;wBACT,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,QAAQ;wBACf,QAAQ,EAAE,SAAS;wBACnB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK;wBACjC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;qBACjD;iBACJ;aACJ,CAAC,CAAC,CACN,CAAC;QACN,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,UAAU,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACjE,wJAAwJ;YACxJ,IAAI,CAAC,SAAS,CAAC;gBACX;oBACI,IAAI,EAAE,SAAS,CAAC,EAAE;oBAClB,MAAM,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC;iBAChD;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,CAAC,GAAiB,EAAE,EAAE;QAC7C,IAAI,4BAA4B,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,CAAC;YACrD,kBAAkB,CAAC;gBACf,YAAY,EAAE,GAAG,EAAE,YAAY;gBAC/B,UAAU,EAAE,GAAG,EAAE,UAAU;gBAC3B,UAAU,EAAE,GAAG,EAAE,UAAU;aAC9B,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QACzB,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,EAAC,UAAU,EAAC,GAAG,yBAAyB,EAAE,CAAC;IAEjD,MAAM,iBAAiB,GAAgD,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE;QACxG,0DAA0D;QAC1D,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACrD,6BAA6B,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO;QACX,CAAC;QAED,sEAAsE;QACtE,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjD,wDAAwD;QACxD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAE/D,kCAAkC;QAClC,MAAM,MAAM,GAAG;YACX,mCAAmC;YACnC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,SAAS,EAAE,SAAS,CAAC,EAAE;gBACvB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YACH,0CAA0C;YAC1C,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,SAAS,EAAE,SAAS,CAAC,EAAE;gBACvB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;SACN,CAAC;QAEF,iCAAiC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAC,EAAE,EAAE,SAAS,EAAC,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAEhG,MAAM,SAAS,GAAG,GAAG,CAAC,MAAyC,CAAC;QAEhE,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjG,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAE7B,2CAA2C;QAC3C,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC1C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,SAAU,CAAC,EAAE,CAAC,CACc,CAAC;QAEnD,8DAA8D;QAC9D,gBAAgB,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAE5G,kBAAkB;QAClB,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,6DAA6D;IAC7D,MAAM,mBAAmB,GAAkD,KAAK,EAAC,IAAI,EAAC,EAAE;QACpF,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAC3C,CAAC,GAAmB,EAAE,IAAuB,EAAE,KAAa,EAAE,EAAE;YAC5D,mEAAmE;YACnE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,oBAAoB,CAAC,EAAE,EAAC,CAAC,CAAC;YAClD,CAAC;YAED,2BAA2B;YAC3B,GAAG,CAAC,IAAI,CAAC;gBACL,SAAS,EAAE,qBAAqB,CAAC,QAAQ;gBACzC,KAAK,EAAE,IAAI,CAAC,EAAE;gBACd,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC;QACf,CAAC,EACD,EAAE,CACL,CAAC;QAEF,MAAM,iBAAiB,CAAC;YACpB,OAAO;SACV,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAA6D,KAAK,IAAI,EAAE;QAC7F,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACrC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,WAAW,GAA0D,MAAM,CAAC,EAAE;QAChF,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAElE,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS;YACT,SAAS;YACT,QAAQ;SACX,CAAC;IACN,CAAC,CAAC;IAEF,OAAO;QACH,yBAAyB,EAAE,UAAU;YACjC,aAAa,CAAC,MAAM,GAAG,CAAC;YACxB,SAAS,CAAC,eAAe;YACzB,CAAC,SAAS,CAAC,QAAQ,IAAI,CACnB,KAAC,qBAAqB,IAClB,YAAY,EAAE,qBAAqB,EACnC,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,cAAc,GACxB,CACL;QACL,4BAA4B,EACxB,UAAU;YACV,QAAQ;YACR,CAAC,cAAc,CAAC,CAAC,CAAC,CACd,KAAC,UAAU,IAAC,UAAU,QAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,GAAI,CAC9E,CAAC,CAAC,CAAC,CACA,8BACI,KAAC,eAAe,cACZ,KAAC,QAAQ,IACL,GAAG,EAAE,kBAAkB,EACvB,mBAAmB,EAAE;gCACjB,aAAa,EAAE,gBAAgB;6BAClC,EACD,UAAU,EAAE;gCACR,IAAI,EAAE,MAAM;gCACZ,eAAe,EAAE,SAAS;gCAC1B,cAAc,EAAE,QAAQ;gCACxB,eAAe,EAAE,SAAS,CAAC,EAAE;6BAChC,EACD,gBAAgB,EAAE;gCACd,IAAI,EAAE;oCACF,MAAM,EAAE,yBAAyB;iCACpC;gCACD,IAAI,EAAE;oCACF,UAAU,EAAE,kCAAkC;iCACjD;gCACD,OAAO,EAAE;oCACL,IAAI,EAAE,uBAAuB;oCAC7B,MAAM,EAAE,yBAAyB;iCACpC;6BACJ,EACD,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,KAAK,EACjB,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAChE,gBAAgB,EACZ,UAAU;gCACV,CAAC,SAAS,CAAC,eAAe;gCAC1B,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,EAEnF,qBAAqB,EAAE,EAAE,EACzB,kBAAkB,QAClB,eAAe,QACf,oBAAoB,SACtB,GACY,EAElB,KAAC,SAAS,IAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,MAAM,GAAI,GAAc,EACzF,0BAA0B,IAAI,CAC3B,KAAC,UAAU,IACP,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,SAAS,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,iBAAiB,EACzB,gBAAgB,EAAE,WAAW,EAC7B,QAAQ,EAAE,mBAAmB,GAC/B,CACL,IACF,CACN,CAAC;KACT,CAAC;AACN,CAAC,CAAC"}
|