@topconsultnpm/sdkui-react 6.22.0-dev2.2 → 6.22.0-dev2.21

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.
Files changed (109) hide show
  1. package/lib/components/NewComponents/ContextMenu/TMContextMenu.js +1 -1
  2. package/lib/components/NewComponents/FloatingMenuBar/TMFloatingMenuBar.js +1 -1
  3. package/lib/components/base/TMButton.d.ts +13 -0
  4. package/lib/components/base/TMButton.js +137 -5
  5. package/lib/components/base/TMDataGrid.d.ts +2 -0
  6. package/lib/components/base/TMDataGrid.js +68 -4
  7. package/lib/components/base/TMEditorBase.d.ts +2 -0
  8. package/lib/components/base/TMModal.d.ts +4 -0
  9. package/lib/components/base/TMModal.js +42 -11
  10. package/lib/components/base/TMPanel.d.ts +1 -0
  11. package/lib/components/base/TMPanel.js +79 -20
  12. package/lib/components/base/TMTooltip.d.ts +2 -1
  13. package/lib/components/base/TMTooltip.js +23 -6
  14. package/lib/components/base/TMTreeView.js +108 -67
  15. package/lib/components/choosers/TMDcmtTypeChooser.js +4 -3
  16. package/lib/components/choosers/TMDistinctValues.d.ts +9 -7
  17. package/lib/components/choosers/TMDistinctValues.js +149 -142
  18. package/lib/components/choosers/TMMetadataChooser.js +1 -1
  19. package/lib/components/choosers/TMQuickSearchInfo.d.ts +12 -0
  20. package/lib/components/choosers/TMQuickSearchInfo.js +279 -0
  21. package/lib/components/choosers/TMQuickSearchSettingsForm.d.ts +16 -0
  22. package/lib/components/choosers/TMQuickSearchSettingsForm.js +94 -0
  23. package/lib/components/choosers/TMSelectedValuesSummary.d.ts +13 -0
  24. package/lib/components/choosers/TMSelectedValuesSummary.js +91 -0
  25. package/lib/components/editors/TMDropDown.d.ts +3 -0
  26. package/lib/components/editors/TMDropDown.js +197 -5
  27. package/lib/components/editors/TMMetadataEditor.d.ts +5 -1
  28. package/lib/components/editors/TMMetadataEditor.js +8 -3
  29. package/lib/components/editors/TMTextBox.js +15 -15
  30. package/lib/components/features/documents/TMBatchUpdateForm.js +19 -5
  31. package/lib/components/features/documents/TMDcmtForm.d.ts +7 -0
  32. package/lib/components/features/documents/TMDcmtForm.js +104 -42
  33. package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +11 -0
  34. package/lib/components/features/documents/TMDcmtFormActionButtons.js +74 -7
  35. package/lib/components/features/documents/TMMasterDetailDcmts.js +95 -33
  36. package/lib/components/features/documents/TMMasterInfoFields.d.ts +19 -0
  37. package/lib/components/features/documents/TMMasterInfoFields.js +172 -0
  38. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +40 -0
  39. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.js +277 -0
  40. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +354 -0
  41. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.js +234 -0
  42. package/lib/components/features/documents/TMRelationViewer.d.ts +14 -1
  43. package/lib/components/features/documents/TMRelationViewer.js +69 -20
  44. package/lib/components/features/search/TMSearch.js +29 -16
  45. package/lib/components/features/search/TMSearchQueryEditor.js +5 -3
  46. package/lib/components/features/search/TMSearchQueryPanel.d.ts +1 -1
  47. package/lib/components/features/search/TMSearchQueryPanel.js +28 -7
  48. package/lib/components/features/search/TMSearchResult.d.ts +9 -0
  49. package/lib/components/features/search/TMSearchResult.js +323 -92
  50. package/lib/components/features/search/TMTreeSelector.js +18 -5
  51. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +10 -0
  52. package/lib/components/features/workflow/TMWorkflowPopup.js +8 -4
  53. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -0
  54. package/lib/components/layout/panelManager/TMPanelManagerContainer.js +24 -14
  55. package/lib/components/layout/panelManager/TMPanelWrapper.js +2 -2
  56. package/lib/components/layout/panelManager/types.d.ts +3 -0
  57. package/lib/components/viewers/TMMidViewer.js +4 -1
  58. package/lib/components/viewers/TMTidViewer.js +25 -11
  59. package/lib/helper/SDKUI_Globals.d.ts +55 -0
  60. package/lib/helper/SDKUI_Globals.js +82 -0
  61. package/lib/helper/SDKUI_Localizator.d.ts +24 -0
  62. package/lib/helper/SDKUI_Localizator.js +240 -0
  63. package/lib/helper/TMIcons.d.ts +1 -0
  64. package/lib/helper/TMIcons.js +3 -0
  65. package/lib/helper/dataGridSearchHelper.d.ts +28 -0
  66. package/lib/helper/dataGridSearchHelper.js +51 -0
  67. package/lib/helper/dcmtsHelper.d.ts +20 -0
  68. package/lib/helper/dcmtsHelper.js +58 -1
  69. package/lib/helper/helpers.d.ts +20 -0
  70. package/lib/helper/helpers.js +40 -0
  71. package/lib/helper/index.d.ts +1 -0
  72. package/lib/helper/index.js +1 -0
  73. package/lib/helper/queryHelper.d.ts +2 -0
  74. package/lib/helper/queryHelper.js +3 -1
  75. package/lib/hooks/tmDistinctValuesGridHelper.d.ts +16 -0
  76. package/lib/hooks/tmDistinctValuesGridHelper.js +31 -0
  77. package/lib/hooks/useArchiveListForm.d.ts +39 -0
  78. package/lib/hooks/useArchiveListForm.js +46 -0
  79. package/lib/hooks/useCaseFlowApprove.d.ts +56 -0
  80. package/lib/hooks/useCaseFlowApprove.js +157 -0
  81. package/lib/hooks/useDataUserIdItem.d.ts +1 -0
  82. package/lib/hooks/useDataUserIdItem.js +1 -0
  83. package/lib/hooks/useDocumentOperations.d.ts +2 -0
  84. package/lib/hooks/useDocumentOperations.js +28 -5
  85. package/lib/hooks/useMultiMasterDetailDcmts.d.ts +98 -0
  86. package/lib/hooks/useMultiMasterDetailDcmts.js +567 -0
  87. package/lib/hooks/useRelatedDocuments.js +2 -26
  88. package/lib/hooks/useTMDistinctValuesMetadataDisplay.d.ts +18 -0
  89. package/lib/hooks/useTMDistinctValuesMetadataDisplay.js +103 -0
  90. package/lib/hooks/useTMDistinctValuesQuickSearch.d.ts +49 -0
  91. package/lib/hooks/useTMDistinctValuesQuickSearch.js +307 -0
  92. package/lib/hooks/useTMDistinctValuesSelection.d.ts +42 -0
  93. package/lib/hooks/useTMDistinctValuesSelection.js +103 -0
  94. package/lib/hooks/useTMDistinctValuesSource.d.ts +29 -0
  95. package/lib/hooks/useTMDistinctValuesSource.js +105 -0
  96. package/lib/index.d.ts +1 -0
  97. package/lib/index.js +1 -0
  98. package/lib/services/caseflow/CaseFlowService.d.ts +236 -0
  99. package/lib/services/caseflow/CaseFlowService.js +693 -0
  100. package/lib/services/caseflow/CaseFlowTemplateCacheService.d.ts +28 -0
  101. package/lib/services/caseflow/CaseFlowTemplateCacheService.js +121 -0
  102. package/lib/services/caseflow/caseFlowNameCache.d.ts +32 -0
  103. package/lib/services/caseflow/caseFlowNameCache.js +116 -0
  104. package/lib/services/caseflow/caseFlowWorkItemUtils.d.ts +61 -0
  105. package/lib/services/caseflow/caseFlowWorkItemUtils.js +113 -0
  106. package/lib/services/index.d.ts +4 -0
  107. package/lib/services/index.js +4 -0
  108. package/lib/services/platform_services.d.ts +1 -1
  109. package/package.json +66 -66
@@ -21,10 +21,11 @@ import { useDcmtOperations } from "./useDcmtOperations";
21
21
  import useFloatingBarPinnedItems from "./useFloatingBarPinnedItems";
22
22
  import { useInputAttachmentsDialog, useInputCvtFormatDialog } from "./useInputDialog";
23
23
  import { useRelatedDocuments } from "./useRelatedDocuments";
24
- import { convertSearchResultDescriptorToFileItems, dcmtsFileCachePreview, getDcmtCicoStatus, getMoreInfoTasksForDocument, IconActivity, IconArchiveDetail, IconArchiveDoc, IconArchiveMaster, IconBatchUpdate, IconCheck, IconCheckFile, IconCheckIn, IconCircleInfo, IconCloseCircle, IconConvertFilePdf, IconCopy, IconCustom, IconDelete, IconDetailDcmts, IconDotsVerticalCircleOutline, IconDownload, IconEdit, IconExportTo, IconFileDots, IconHide, IconInfo, IconMenuCAArchive, IconMoveToFolder, IconPair, IconPin, IconPlatform, IconPreview, IconRelation, IconSearch, IconShare, IconSharedDcmt, IconShow, IconSignaturePencil, IconStar, IconSubstFile, IconUndo, IconUnpair, IconUserGroupOutline, isConvertibleToPdfExt, isPdfEditorAvailable, S4T_USER_REGISTRY_MASTER, SDKUI_Globals, SDKUI_Localizator, searchResultToMetadataValues, TMImageLibrary, IconCertificateBadge } from '../helper';
24
+ import { convertSearchResultDescriptorToFileItems, dcmtsFileCachePreview, getDcmtCicoStatus, getMoreInfoTasksForDocument, IconActivity, IconArchiveDetail, IconArchiveDoc, IconArchiveMaster, IconBatchUpdate, IconCheck, IconCheckFile, IconCheckIn, IconCircleInfo, IconCloseCircle, IconConvertFilePdf, IconCopy, IconCustom, IconDelete, IconDetailDcmts, IconDotsVerticalCircleOutline, IconDownload, IconEdit, IconExportTo, IconFileDots, IconHide, IconInfo, IconMenuCAArchive, IconMoveToFolder, IconPair, IconPin, IconPlatform, IconPreview, IconRelation, IconSearch, IconShare, IconSharedDcmt, IconShow, IconSignaturePencil, IconStar, IconSubstFile, IconUndo, IconUnpair, IconUserGroupOutline, isConvertibleToPdfExt, isPdfEditorAvailable, S4T_USER_REGISTRY_MASTER, SDKUI_Globals, SDKUI_Localizator, searchResultToMetadataValues, TMImageLibrary, IconCertificateBadge, IconArchiveMultipleDetailDocuments } from '../helper';
25
25
  import { isXMLFileExt } from "../helper/dcmtsHelper";
26
26
  import TMCopyToFolderForm from "../components/features/documents/TMCopyToFolderForm";
27
27
  import TMMergeToPdfForm from "../components/features/documents/TMMergeToPdfForm";
28
+ import TMMultiMasterDetailDcmtsForm from "../components/features/documents/TMMultiMasterDetailDcmtsForm";
28
29
  export const getSelectedDcmtsOrFocused = (selectedItems, focusedItem, fileFormat) => {
29
30
  if (selectedItems.length <= 0 && !focusedItem)
30
31
  return [];
@@ -152,6 +153,7 @@ export const useDocumentOperations = (props) => {
152
153
  const [currentCustomButton, setCurrentCustomButton] = useState();
153
154
  // State to control the visibility of the details form
154
155
  const [showSearchTMDatagrid, setShowSearchTMDatagrid] = useState(false);
156
+ const [showDcmtTypesSelection, setShowDcmtTypesSelection] = useState(false);
155
157
  const [secondaryMasterDcmts, setSecondaryMasterDcmts] = useState([]);
156
158
  const [isOpenSharedArchive, setIsOpenSharedArchive] = useState(false);
157
159
  const [sharedDcmtFile, setSharedDcmtFile] = useState(undefined);
@@ -169,6 +171,7 @@ export const useDocumentOperations = (props) => {
169
171
  // State to control modal opening for master/detail documents
170
172
  const [isOpenDetailsModal, setIsOpenDetailsModal] = useState(false);
171
173
  const [isOpenMasterModal, setIsOpenMasterModal] = useState(false);
174
+ const [isOpenMultiDetailModal, setIsOpenMultiDetailModal] = useState(false);
172
175
  const openDetailDcmtsFormHandler = (value) => { setIsOpenDetails(value); };
173
176
  const openMasterDcmtsFormHandler = (value) => { setIsOpenMaster(value); };
174
177
  const openDetailDcmtsModalHandler = (value) => { setIsOpenDetailsModal(value); };
@@ -907,10 +910,18 @@ export const useDocumentOperations = (props) => {
907
910
  id: 'rel-ark-det',
908
911
  icon: _jsx(IconArchiveDetail, {}),
909
912
  name: SDKUI_Localizator.ArchiveDetailDocument,
910
- operationType: 'multiRow',
911
- disabled: canArchiveDetailRelation !== true,
913
+ operationType: 'singleRow',
914
+ disabled: canArchiveDetailRelation !== true || isDisabledForMultiRow(),
912
915
  onClick: async () => await archiveDetailDocuments(selectedDcmtInfos?.[0]?.TID)
913
916
  },
917
+ {
918
+ id: 'multi-detail',
919
+ icon: _jsx(IconArchiveMultipleDetailDocuments, {}),
920
+ name: SDKUI_Localizator.ArchiveMultipleDetailDocuments,
921
+ operationType: 'singleRow',
922
+ disabled: canArchiveDetailRelation !== true || isDisabledForMultiRow(),
923
+ onClick: () => setIsOpenMultiDetailModal(true),
924
+ },
914
925
  {
915
926
  id: 'rel-mst',
916
927
  icon: _jsx(IconDetailDcmts, { transform: 'scale(-1, 1)' }),
@@ -1054,6 +1065,7 @@ export const useDocumentOperations = (props) => {
1054
1065
  ]
1055
1066
  };
1056
1067
  };
1068
+ const canToggleDcmtTypesSelection = !isMobile && context === SearchResultContext.WORKFLOW_APPROVE;
1057
1069
  const otherOperationsMenuItem = () => {
1058
1070
  return {
1059
1071
  id: 'oth',
@@ -1085,7 +1097,15 @@ export const useDocumentOperations = (props) => {
1085
1097
  disabled: false,
1086
1098
  onClick: () => setShowFloatingBar(prev => !prev)
1087
1099
  }]
1088
- : [])
1100
+ : []),
1101
+ {
1102
+ id: 'oth-dcmt-types',
1103
+ icon: showDcmtTypesSelection ? _jsx(IconHide, {}) : _jsx(IconShow, {}),
1104
+ name: showDcmtTypesSelection ? SDKUI_Localizator.HideDcmtTypes : SDKUI_Localizator.ShowDcmtTypes,
1105
+ visible: canToggleDcmtTypesSelection,
1106
+ disabled: false,
1107
+ onClick: () => setShowDcmtTypesSelection(prev => !prev)
1108
+ }
1089
1109
  ]
1090
1110
  };
1091
1111
  };
@@ -1381,7 +1401,8 @@ export const useDocumentOperations = (props) => {
1381
1401
  onRefreshBlogDatagrid,
1382
1402
  onRefreshPreviewDatagrid
1383
1403
  }, fetchRemoteCertificates: fetchRemoteCertificates, graphometricManager: graphometricManager })) }), (showHistory && dtd && selectedDcmtInfos.length > 0) && _jsx(TMViewHistoryDcmt, { fromDTD: dtd, deviceType: deviceType, inputDcmt: selectedDcmtInfos[0], onClose: hideHistoryCallback, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }), (commentFormState.show && selectedDcmtInfos.length > 0) && _jsx(TMBlogCommentForm, { context: { engine: 'SearchEngine', object: { tid: selectedDcmtInfos[0].TID, did: selectedDcmtInfos[0].DID } }, onClose: hideCommentFormCallback, refreshCallback: onRefreshBlog, participants: [], showAttachmentsSection: true, allArchivedDocumentsFileItems: convertSearchResultDescriptorToFileItems(currentSearchResults ?? []), isCommentRequired: commentFormState.isRequired, removeAndEditAttachment: commentFormState.removeAndEditAttachment, selectedAttachmentDid: [Number(selectedDcmtInfos[0].DID)] }), (showCheckoutInformationForm && dtd && selectedDcmtInfos.length > 0) &&
1384
- _jsx(TMDcmtCheckoutInfoForm, { dtdName: dtd.name ?? SDKUI_Localizator.SearchResult, selectedDcmtOrFocused: selectedDcmtInfos[0], onClose: hideCheckoutInformationFormCallback }), isOpenDetailsModal && _jsx(TMModal, { width: "95%", height: "95%", onClose: () => setIsOpenDetailsModal(false), title: SDKUI_Localizator.Relations, children: _jsx(TMMasterDetailDcmts, { ...masterDetailDetailsCommonProps, onBack: () => setIsOpenDetailsModal(false) }) }), _jsx(StyledMultiViewPanel, { "$isVisible": isOpenDetails, children: isOpenDetails && _jsx(TMMasterDetailDcmts, { ...masterDetailDetailsCommonProps, onBack: () => setIsOpenDetails(false) }) }), isOpenMasterModal && _jsx(TMModal, { width: "95%", height: "95%", onClose: () => setIsOpenMasterModal(false), title: SDKUI_Localizator.Relations, children: _jsx(TMMasterDetailDcmts, { ...masterDetailMasterCommonProps, onBack: () => setIsOpenMasterModal(false) }) }), _jsxs(StyledMultiViewPanel, { "$isVisible": isOpenMaster, children: [isOpenMaster && _jsx(TMMasterDetailDcmts, { ...masterDetailMasterCommonProps, onBack: () => setIsOpenMaster(false) }), secondaryMasterDcmts.length > 0 && secondaryMasterDcmts.map((dcmt, index) => {
1404
+ _jsx(TMDcmtCheckoutInfoForm, { dtdName: dtd.name ?? SDKUI_Localizator.SearchResult, selectedDcmtOrFocused: selectedDcmtInfos[0], onClose: hideCheckoutInformationFormCallback }), isOpenDetailsModal && _jsx(TMModal, { width: "95%", height: "95%", onClose: () => setIsOpenDetailsModal(false), title: SDKUI_Localizator.Relations, children: _jsx(TMMasterDetailDcmts, { ...masterDetailDetailsCommonProps, onBack: () => setIsOpenDetailsModal(false) }) }), _jsx(StyledMultiViewPanel, { "$isVisible": isOpenDetails, children: isOpenDetails && _jsx(TMMasterDetailDcmts, { ...masterDetailDetailsCommonProps, onBack: () => setIsOpenDetails(false) }) }), (isOpenMultiDetailModal && dtd) &&
1405
+ _jsx(TMMultiMasterDetailDcmtsForm, { dtd: dtd, masterDcmt: selectedDcmtInfos[0], onClose: () => setIsOpenMultiDetailModal(false), allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, showDcmtFormSidebar: showDcmtFormSidebar, showTodoDcmtForm: showTodoDcmtForm, openFileUploaderPdfEditor: openFileUploaderPdfEditor, graphometricManager: graphometricManager, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, showToppyDraggableHelpCenter: showToppyDraggableHelpCenter, toppyHelpCenterUsePortal: toppyHelpCenterUsePortal, fetchRemoteCertificates: fetchRemoteCertificates, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, onReferenceClick: onReferenceClick, onTaskCreateRequest: onTaskCreateRequest, onRefreshAfterAddDcmtToFavs: onRefreshAfterAddDcmtToFavs, onFileOpened: onFileOpened, passToArchiveCallback: passToArchiveCallback, openWGsCopyMoveForm: openWGsCopyMoveForm }), isOpenMasterModal && _jsx(TMModal, { width: "95%", height: "95%", onClose: () => setIsOpenMasterModal(false), title: SDKUI_Localizator.Relations, children: _jsx(TMMasterDetailDcmts, { ...masterDetailMasterCommonProps, onBack: () => setIsOpenMasterModal(false) }) }), _jsxs(StyledMultiViewPanel, { "$isVisible": isOpenMaster, children: [isOpenMaster && _jsx(TMMasterDetailDcmts, { ...masterDetailMasterCommonProps, onBack: () => setIsOpenMaster(false) }), secondaryMasterDcmts.length > 0 && secondaryMasterDcmts.map((dcmt, index) => {
1385
1406
  return (_jsx(StyledModalContainer, { style: { backgroundColor: 'white' }, children: _jsx(TMMasterDetailDcmts, { ...masterDetailMasterCommonProps, inputDcmts: [dcmt], allowNavigation: false, onBack: () => handleRemoveItem(dcmt.TID, dcmt.DID) }) }, `${index}-${dcmt.DID}`));
1386
1407
  })] }), isOpenArchiveRelationForm && _jsx(TMDcmtForm, { isModal: true, titleModal: SDKUI_Localizator.Archive + ' - ' + (archiveType === 'detail' ? SDKUI_Localizator.DcmtsDetail : SDKUI_Localizator.DcmtsMaster), TID: archiveRelatedDcmtFormTID, layoutMode: LayoutModes.Ark, inputMids: archiveRelatedDcmtFormMids, showBackButton: false, allowButtonsRefs: false, onClose: () => {
1387
1408
  setIsOpenArchiveRelationForm(false);
@@ -1446,6 +1467,7 @@ export const useDocumentOperations = (props) => {
1446
1467
  } }))] }));
1447
1468
  return {
1448
1469
  operationItems: operationItems(),
1470
+ selectedDcmtInfos,
1449
1471
  renderFloatingBar,
1450
1472
  renderDcmtOperations,
1451
1473
  features: {
@@ -1454,6 +1476,7 @@ export const useDocumentOperations = (props) => {
1454
1476
  dcmtFormLayoutMode,
1455
1477
  onDcmtFormOpenChange,
1456
1478
  showSearchTMDatagrid,
1479
+ showDcmtTypesSelection,
1457
1480
  showExportForm,
1458
1481
  isOpenBatchUpdate,
1459
1482
  isModifiedBatchUpdate,
@@ -0,0 +1,98 @@
1
+ import { DcmtTypeDescriptor, RelationDescriptor, SearchResultDescriptor } from '@topconsultnpm/sdk-ts';
2
+ import { IColumnProps } from 'devextreme-react/data-grid';
3
+ import { DcmtInfo, MetadataValueDescriptorEx } from '../ts';
4
+ import { AccordionSection, ArchiveRow, ArchiveRowChanges, DetailRelationItem, MetadataScalarValue } from '../components/features/documents/TMMultiMasterDetailDcmtsUtils';
5
+ /** Fasi del flusso di archiviazione multipla dei dettagli */
6
+ export declare enum MultiDetailArchivePhase {
7
+ /** Scelta del tipo documento */
8
+ SelectDcmtType = 0,
9
+ /** Riepilogo delle archiviazioni */
10
+ ArchiveSummary = 1
11
+ }
12
+ /** Riga di riepilogo: definita con i tipi della feature (vedi TMMultiMasterDetailDcmtsUtils) */
13
+ export type { ArchiveRow };
14
+ /** Coppia mid/valore per pre-compilare il form */
15
+ export type MidValue = {
16
+ mid: number;
17
+ value: string;
18
+ };
19
+ /** Stato del wait panel: le chiavi sono quelle dei props di TMLayoutWaitingContainer */
20
+ export type WaitPanelState = {
21
+ showWaitPanel: boolean;
22
+ waitPanelTitle: string;
23
+ showWaitPanelPrimary: boolean;
24
+ waitPanelTextPrimary: string;
25
+ waitPanelValuePrimary: number;
26
+ waitPanelMaxValuePrimary: number;
27
+ showWaitPanelSecondary: boolean;
28
+ waitPanelTextSecondary: string;
29
+ waitPanelValueSecondary: number;
30
+ waitPanelMaxValueSecondary: number;
31
+ };
32
+ interface UseMultiMasterDetailDcmtsParams {
33
+ /** Tipo documento del master */
34
+ dtd: DcmtTypeDescriptor;
35
+ /** Documento master da cui parte l'archiviazione dei dettagli */
36
+ masterDcmt: DcmtInfo;
37
+ /** Chiusura del modale */
38
+ onClose: () => void;
39
+ }
40
+ /**
41
+ * Logica dell'archiviazione multipla dei dettagli: relazioni, sezioni, righe del riepilogo e
42
+ * archiviazione. Il rendering sta in TMMultiMasterDetailDcmtsForm
43
+ */
44
+ export declare const useMultiMasterDetailDcmts: ({ dtd, masterDcmt, onClose }: UseMultiMasterDetailDcmtsParams) => {
45
+ isLoading: boolean;
46
+ isSummaryReady: boolean;
47
+ phase: MultiDetailArchivePhase;
48
+ setPhase: import("react").Dispatch<import("react").SetStateAction<MultiDetailArchivePhase>>;
49
+ detailRelationItems: DetailRelationItem[];
50
+ selectedRelation: RelationDescriptor | undefined;
51
+ selectedItem: DetailRelationItem | undefined;
52
+ hasMultipleTypes: boolean;
53
+ selectRelation: (item: DetailRelationItem) => void;
54
+ backToTypeSelection: () => void;
55
+ isBackLocked: boolean;
56
+ closeModal: () => void;
57
+ sectionsOpen: Record<AccordionSection, boolean>;
58
+ setSectionOpen: (section: AccordionSection, isOpen: boolean) => void;
59
+ openAllSections: () => void;
60
+ clearLayout: () => void;
61
+ layoutResetToken: number;
62
+ canUpdateMaster: boolean;
63
+ masterFieldsCount: number;
64
+ getMasterMetadataAsync: () => Promise<Map<number, MetadataScalarValue>>;
65
+ masterInfoReloadToken: number;
66
+ isOpenMasterForm: boolean;
67
+ setIsOpenMasterForm: import("react").Dispatch<import("react").SetStateAction<boolean>>;
68
+ handleMasterSavedAsync: () => Promise<void>;
69
+ archivedDetailResults: SearchResultDescriptor[];
70
+ archivedDetailsCount: number;
71
+ isLoadingArchivedDetails: boolean;
72
+ refreshArchivedDetailsAsync: () => Promise<void>;
73
+ detailColumns: IColumnProps[];
74
+ detailSupportsFile: boolean;
75
+ archiveRows: ArchiveRow[];
76
+ currentRows: ArchiveRow[];
77
+ focusedRowKey: number | undefined;
78
+ setFocusedRowKey: import("react").Dispatch<import("react").SetStateAction<number | undefined>>;
79
+ selectedRowKeys: number[];
80
+ setSelectedRowKeys: import("react").Dispatch<import("react").SetStateAction<number[]>>;
81
+ isOpenAddForm: boolean;
82
+ editingRowId: number | undefined;
83
+ editingRow: ArchiveRow | undefined;
84
+ formInputMids: MidValue[];
85
+ openAddForm: () => void;
86
+ openEditForm: (row: ArchiveRow | undefined) => void;
87
+ closeAddForm: () => void;
88
+ deleteRow: (row: ArchiveRow | undefined) => void;
89
+ duplicateRow: (row: ArchiveRow | undefined) => void;
90
+ upsertRow: (values: Array<MetadataValueDescriptorEx>, file: File | undefined) => void;
91
+ updateRowValues: (rowId: number, changes: ArchiveRowChanges) => void;
92
+ stopOnFirstError: boolean;
93
+ setStopOnFirstError: import("react").Dispatch<import("react").SetStateAction<boolean>>;
94
+ isArchiving: boolean;
95
+ archiveAllAsync: () => Promise<void>;
96
+ waitPanel: WaitPanelState;
97
+ abortController: AbortController | undefined;
98
+ };