@topconsultnpm/sdkui-react 6.22.0-t1 → 6.22.0-t3

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 (286) hide show
  1. package/lib/components/NewComponents/ContextMenu/TMContextMenu.js +3 -3
  2. package/lib/components/NewComponents/ContextMenu/hooks.d.ts +1 -1
  3. package/lib/components/NewComponents/ContextMenu/styles.d.ts +45 -43
  4. package/lib/components/NewComponents/FloatingMenuBar/TMFloatingMenuBar.js +6 -6
  5. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +80 -73
  6. package/lib/components/base/Styled.d.ts +92 -76
  7. package/lib/components/base/Styled.js +7 -5
  8. package/lib/components/base/TMAccordionNew.js +7 -7
  9. package/lib/components/base/TMAlert.d.ts +32 -32
  10. package/lib/components/base/TMAlert.js +6 -8
  11. package/lib/components/base/TMAreaManager.js +53 -55
  12. package/lib/components/base/TMButton.d.ts +13 -0
  13. package/lib/components/base/TMButton.js +139 -7
  14. package/lib/components/base/TMClosableList.js +3 -3
  15. package/lib/components/base/TMCustomButton.js +40 -48
  16. package/lib/components/base/TMDataGrid.d.ts +4 -0
  17. package/lib/components/base/TMDataGrid.js +292 -12
  18. package/lib/components/base/TMDataGridExportForm.js +39 -30
  19. package/lib/components/base/TMDropDownMenu.js +1 -1
  20. package/lib/components/base/TMEditorBase.d.ts +2 -0
  21. package/lib/components/base/TMFileManager.js +5 -3
  22. package/lib/components/base/TMFileManagerDataGridView.js +12 -3
  23. package/lib/components/base/TMFileManagerThumbnailItems.js +20 -10
  24. package/lib/components/base/TMFileManagerUtils.d.ts +6 -6
  25. package/lib/components/base/TMFileManagerUtils.js +37 -1
  26. package/lib/components/base/TMLayout.d.ts +2 -2
  27. package/lib/components/base/TMLayout.js +3 -3
  28. package/lib/components/base/TMList.js +1 -1
  29. package/lib/components/base/TMListView.js +3 -3
  30. package/lib/components/base/TMModal.d.ts +11 -0
  31. package/lib/components/base/TMModal.js +47 -13
  32. package/lib/components/base/TMPanel.d.ts +6 -0
  33. package/lib/components/base/TMPanel.js +141 -28
  34. package/lib/components/base/TMPopUp.js +5 -2
  35. package/lib/components/base/TMResizableMenu.js +2 -2
  36. package/lib/components/base/TMRightSidebar.js +1 -1
  37. package/lib/components/base/TMShowAllOrMaxItemsButton.js +1 -1
  38. package/lib/components/base/TMSpinner.d.ts +2 -1
  39. package/lib/components/base/TMSpinner.js +9 -7
  40. package/lib/components/base/TMTab.js +2 -2
  41. package/lib/components/base/TMTabControl.d.ts +106 -0
  42. package/lib/components/base/TMTabControl.js +664 -0
  43. package/lib/components/base/TMToggleButton.js +2 -2
  44. package/lib/components/base/TMToolbarCard.js +3 -3
  45. package/lib/components/base/TMTooltip.d.ts +2 -1
  46. package/lib/components/base/TMTooltip.js +24 -8
  47. package/lib/components/base/TMTreeView.d.ts +13 -7
  48. package/lib/components/base/TMTreeView.js +143 -70
  49. package/lib/components/base/TMWaitPanel.js +3 -3
  50. package/lib/components/base/waitPanel/TMWaitPanelConfirm.d.ts +12 -0
  51. package/lib/components/base/waitPanel/TMWaitPanelConfirm.js +185 -0
  52. package/lib/components/base/waitPanel/TMWaitPanelManager.d.ts +169 -0
  53. package/lib/components/base/waitPanel/TMWaitPanelManager.js +320 -0
  54. package/lib/components/base/waitPanel/TMWaitPanelView.d.ts +53 -0
  55. package/lib/components/base/waitPanel/TMWaitPanelView.js +274 -0
  56. package/lib/components/base/waitPanel/index.d.ts +1 -0
  57. package/lib/components/base/waitPanel/index.js +1 -0
  58. package/lib/components/choosers/TMCultureIDPicker.js +2 -2
  59. package/lib/components/choosers/TMDataListItemChooser.js +1 -1
  60. package/lib/components/choosers/TMDataListItemPicker.js +2 -2
  61. package/lib/components/choosers/TMDcmtTypeChooser.js +5 -4
  62. package/lib/components/choosers/TMDiskChooser.js +1 -1
  63. package/lib/components/choosers/TMDistinctValues.d.ts +9 -7
  64. package/lib/components/choosers/TMDistinctValues.js +157 -141
  65. package/lib/components/choosers/TMDynDataListItemChooser.js +1 -1
  66. package/lib/components/choosers/TMImageIDChooser.js +1 -1
  67. package/lib/components/choosers/TMMetadataChooser.js +3 -3
  68. package/lib/components/choosers/TMPathChooser.js +17 -34
  69. package/lib/components/choosers/TMQuickSearchInfo.d.ts +13 -0
  70. package/lib/components/choosers/TMQuickSearchInfo.js +279 -0
  71. package/lib/components/choosers/TMQuickSearchSettingsForm.d.ts +16 -0
  72. package/lib/components/choosers/TMQuickSearchSettingsForm.js +94 -0
  73. package/lib/components/choosers/TMRelationChooser.js +1 -1
  74. package/lib/components/choosers/TMSelectedValuesSummary.d.ts +13 -0
  75. package/lib/components/choosers/TMSelectedValuesSummary.js +89 -0
  76. package/lib/components/choosers/TMUserChooser.js +1 -1
  77. package/lib/components/editors/TMCheckBox.js +1 -1
  78. package/lib/components/editors/TMDateBox.d.ts +16 -1
  79. package/lib/components/editors/TMDateBox.js +90 -22
  80. package/lib/components/editors/TMDropDown.d.ts +3 -0
  81. package/lib/components/editors/TMDropDown.js +197 -5
  82. package/lib/components/editors/TMEditorStyled.d.ts +21 -43
  83. package/lib/components/editors/TMFormulaEditor.js +1 -1
  84. package/lib/components/editors/TMHtmlContentDisplay.js +1 -1
  85. package/lib/components/editors/TMLocalizedTextBox.js +1 -1
  86. package/lib/components/editors/TMMetadataEditor.d.ts +5 -1
  87. package/lib/components/editors/TMMetadataEditor.js +27 -23
  88. package/lib/components/editors/TMMetadataValues.js +6 -6
  89. package/lib/components/editors/TMRadioButton.js +2 -2
  90. package/lib/components/editors/TMSummary.js +3 -3
  91. package/lib/components/editors/TMTextArea.d.ts +1 -0
  92. package/lib/components/editors/TMTextArea.js +25 -17
  93. package/lib/components/editors/TMTextBox.d.ts +2 -0
  94. package/lib/components/editors/TMTextBox.js +32 -21
  95. package/lib/components/editors/TMTextExpression.js +1 -1
  96. package/lib/components/features/archive/TMArchive.js +24 -5
  97. package/lib/components/features/assistant/TMHelpOnLineChat.d.ts +29 -0
  98. package/lib/components/features/assistant/TMHelpOnLineChat.js +1384 -0
  99. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.js +4 -4
  100. package/lib/components/features/assistant/TMToppySpeechBubble.js +1 -1
  101. package/lib/components/features/assistant/dataset/Designer-Suggested-Questions.json +102 -0
  102. package/lib/components/features/assistant/dataset/Login-Suggested-Questions.json +32 -0
  103. package/lib/components/features/assistant/dataset/Surfer-Suggested-Questions.json +102 -0
  104. package/lib/components/features/documents/TMBatchUpdateForm.js +22 -9
  105. package/lib/components/features/documents/TMCopyToFolderForm.js +50 -42
  106. package/lib/components/features/documents/TMDcmtBlog.d.ts +3 -0
  107. package/lib/components/features/documents/TMDcmtBlog.js +4 -4
  108. package/lib/components/features/documents/TMDcmtForm.d.ts +7 -0
  109. package/lib/components/features/documents/TMDcmtForm.js +281 -113
  110. package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +11 -0
  111. package/lib/components/features/documents/TMDcmtFormActionButtons.js +79 -9
  112. package/lib/components/features/documents/TMDcmtIcon.d.ts +1 -3
  113. package/lib/components/features/documents/TMDcmtIcon.js +8 -8
  114. package/lib/components/features/documents/TMDcmtPreview.d.ts +7 -5
  115. package/lib/components/features/documents/TMDcmtPreview.js +16 -10
  116. package/lib/components/features/documents/TMDcmtTasks.js +2 -9
  117. package/lib/components/features/documents/TMDownloadRelationViewerSection.js +1 -1
  118. package/lib/components/features/documents/TMFileUploader.js +7 -7
  119. package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +2 -0
  120. package/lib/components/features/documents/TMMasterDetailDcmts.js +95 -108
  121. package/lib/components/features/documents/TMMasterInfoFields.d.ts +20 -0
  122. package/lib/components/features/documents/TMMasterInfoFields.js +185 -0
  123. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +1 -2
  124. package/lib/components/features/documents/TMMergeToPdfForm.js +83 -56
  125. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +46 -0
  126. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.js +320 -0
  127. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +370 -0
  128. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.js +283 -0
  129. package/lib/components/features/documents/TMRelationViewer.d.ts +29 -9
  130. package/lib/components/features/documents/TMRelationViewer.js +310 -208
  131. package/lib/components/features/documents/copyAndMergeDcmtsShared.d.ts +1 -1
  132. package/lib/components/features/documents/relationTreeState.d.ts +32 -0
  133. package/lib/components/features/documents/relationTreeState.js +89 -0
  134. package/lib/components/features/search/TMMetadataOutputForm.js +1 -1
  135. package/lib/components/features/search/TMMetadataSorterForm.js +1 -1
  136. package/lib/components/features/search/TMSavedQuerySelector.js +2 -2
  137. package/lib/components/features/search/TMSearch.d.ts +1 -1
  138. package/lib/components/features/search/TMSearch.js +172 -34
  139. package/lib/components/features/search/TMSearchQueryEditor.js +7 -5
  140. package/lib/components/features/search/TMSearchQueryPanel.d.ts +14 -4
  141. package/lib/components/features/search/TMSearchQueryPanel.js +153 -62
  142. package/lib/components/features/search/TMSearchResult.d.ts +21 -0
  143. package/lib/components/features/search/TMSearchResult.js +461 -152
  144. package/lib/components/features/search/TMSignatureInfoContent.js +1 -1
  145. package/lib/components/features/search/TMTreeSelector.js +130 -83
  146. package/lib/components/features/search/TMViewHistoryDcmt.js +14 -25
  147. package/lib/components/features/tasks/TMTaskForm.js +1 -1
  148. package/lib/components/features/tasks/TMTaskFormUtils.js +3 -3
  149. package/lib/components/features/tasks/TMTasksAgenda.js +1 -1
  150. package/lib/components/features/tasks/TMTasksCalendar.js +1 -1
  151. package/lib/components/features/tasks/TMTasksHeader.js +1 -1
  152. package/lib/components/features/tasks/TMTasksUtilsView.js +1 -1
  153. package/lib/components/features/tasks/TMTasksView.js +97 -102
  154. package/lib/components/features/wg/TMWGsCopyMoveForm.js +92 -92
  155. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +10 -0
  156. package/lib/components/features/workflow/TMWorkflowPopup.js +9 -5
  157. package/lib/components/features/workflow/diagram/ConnectionComponent.js +3 -3
  158. package/lib/components/features/workflow/diagram/DiagramItemComponent.js +3 -3
  159. package/lib/components/features/workflow/diagram/DiagramItemForm.js +1 -1
  160. package/lib/components/features/workflow/diagram/DiagramItemSvgContent.js +1 -1
  161. package/lib/components/features/workflow/diagram/RecipientList.js +1 -1
  162. package/lib/components/features/workflow/diagram/WFDiagram.js +4 -4
  163. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +3 -1
  164. package/lib/components/forms/Login/ChangePasswordInputs.d.ts +3 -1
  165. package/lib/components/forms/Login/Menu.js +1 -1
  166. package/lib/components/forms/Login/OTPReader.js +1 -1
  167. package/lib/components/forms/Login/PasswordStrengthChecker.js +1 -1
  168. package/lib/components/forms/Login/RapidAccessLogin.js +2 -2
  169. package/lib/components/forms/Login/RecoverPasswordFlow.js +2 -2
  170. package/lib/components/forms/Login/SelectBox.js +1 -1
  171. package/lib/components/forms/Login/StepIndicator.js +1 -1
  172. package/lib/components/forms/Login/TMLoginForm.js +7 -7
  173. package/lib/components/forms/Login/TextBox.js +1 -1
  174. package/lib/components/forms/TMApplyForm.js +3 -3
  175. package/lib/components/forms/TMChooserForm.js +1 -1
  176. package/lib/components/forms/TMResultDialog.js +1 -1
  177. package/lib/components/forms/TMSaveForm.js +3 -3
  178. package/lib/components/grids/TMBlogAttachments.js +14 -3
  179. package/lib/components/grids/TMBlogHeader.js +5 -1
  180. package/lib/components/grids/TMBlogsPost.d.ts +2 -0
  181. package/lib/components/grids/TMBlogsPost.js +122 -99
  182. package/lib/components/grids/TMBlogsPostUtils.d.ts +1 -0
  183. package/lib/components/grids/TMBlogsPostUtils.js +15 -4
  184. package/lib/components/grids/TMRecentsManager.js +4 -4
  185. package/lib/components/grids/TMValidationItemsList.js +1 -1
  186. package/lib/components/index.d.ts +6 -0
  187. package/lib/components/index.js +5 -0
  188. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -0
  189. package/lib/components/layout/panelManager/TMPanelManagerContainer.js +25 -15
  190. package/lib/components/layout/panelManager/TMPanelManagerContext.js +68 -93
  191. package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +4 -5
  192. package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +1 -1
  193. package/lib/components/layout/panelManager/TMPanelWrapper.js +3 -3
  194. package/lib/components/layout/panelManager/types.d.ts +3 -0
  195. package/lib/components/layout/panelManager/utils.js +13 -11
  196. package/lib/components/pages/TMPage.js +30 -32
  197. package/lib/components/query/TMQueryCountButton.js +1 -1
  198. package/lib/components/query/TMQueryEditor.d.ts +17 -10
  199. package/lib/components/query/TMQueryEditor.js +9 -8
  200. package/lib/components/sidebar/TMCommandsPanel.d.ts +4 -4
  201. package/lib/components/sidebar/TMCommandsPanel.js +1 -1
  202. package/lib/components/sidebar/TMHeader.d.ts +1 -0
  203. package/lib/components/sidebar/TMHeader.js +37 -27
  204. package/lib/components/sidebar/TMSidebar.js +1 -1
  205. package/lib/components/sidebar/TMSidebarItem.js +1 -1
  206. package/lib/components/viewers/TMMidViewer.js +6 -3
  207. package/lib/components/viewers/TMTidViewer.js +89 -28
  208. package/lib/components/wizard/TMStepIndicator.js +3 -3
  209. package/lib/css/tm-sdkui.css +1 -1
  210. package/lib/devextreme-license.d.ts +1 -0
  211. package/lib/devextreme-license.js +3 -0
  212. package/lib/helper/Enum_Localizator.d.ts +4 -4
  213. package/lib/helper/Enum_Localizator.js +1 -0
  214. package/lib/helper/Globalization.d.ts +1 -1
  215. package/lib/helper/SDKUI_Globals.d.ts +110 -0
  216. package/lib/helper/SDKUI_Globals.js +151 -0
  217. package/lib/helper/SDKUI_Localizator.d.ts +756 -677
  218. package/lib/helper/SDKUI_Localizator.js +790 -0
  219. package/lib/helper/TMAppUpdatedModal.d.ts +2 -0
  220. package/lib/helper/TMAppUpdatedModal.js +134 -0
  221. package/lib/helper/TMIcons.d.ts +1 -0
  222. package/lib/helper/TMIcons.js +4 -3
  223. package/lib/helper/TMPdfViewer.js +1 -1
  224. package/lib/helper/TMToppyMessage.js +1 -1
  225. package/lib/helper/TMUtils.d.ts +51 -4
  226. package/lib/helper/TMUtils.js +273 -12
  227. package/lib/helper/ZipManager.d.ts +1 -1
  228. package/lib/helper/ZipManager.js +2 -1
  229. package/lib/helper/checkinCheckoutManager.d.ts +1 -1
  230. package/lib/helper/checkinCheckoutManager.js +1 -1
  231. package/lib/helper/dataGridSearchHelper.d.ts +28 -0
  232. package/lib/helper/dataGridSearchHelper.js +51 -0
  233. package/lib/helper/dcmtsHelper.d.ts +22 -0
  234. package/lib/helper/dcmtsHelper.js +60 -1
  235. package/lib/helper/helpers.d.ts +24 -2
  236. package/lib/helper/helpers.js +59 -3
  237. package/lib/helper/index.d.ts +2 -0
  238. package/lib/helper/index.js +2 -0
  239. package/lib/helper/queryHelper.d.ts +6 -1
  240. package/lib/helper/queryHelper.js +8 -3
  241. package/lib/hooks/tmDistinctValuesGridHelper.d.ts +16 -0
  242. package/lib/hooks/tmDistinctValuesGridHelper.js +31 -0
  243. package/lib/hooks/useArchiveListForm.d.ts +39 -0
  244. package/lib/hooks/useArchiveListForm.js +46 -0
  245. package/lib/hooks/useCaseFlowApprove.d.ts +56 -0
  246. package/lib/hooks/useCaseFlowApprove.js +157 -0
  247. package/lib/hooks/useCheckInOutOperations.d.ts +0 -6
  248. package/lib/hooks/useCheckInOutOperations.js +14 -34
  249. package/lib/hooks/useDataUserIdItem.d.ts +1 -0
  250. package/lib/hooks/useDataUserIdItem.js +1 -0
  251. package/lib/hooks/useDcmtOperations.d.ts +3 -12
  252. package/lib/hooks/useDcmtOperations.js +187 -179
  253. package/lib/hooks/useDocumentOperations.d.ts +5 -0
  254. package/lib/hooks/useDocumentOperations.js +64 -33
  255. package/lib/hooks/useInputDialog.js +1 -1
  256. package/lib/hooks/useMultiMasterDetailDcmts.d.ts +98 -0
  257. package/lib/hooks/useMultiMasterDetailDcmts.js +758 -0
  258. package/lib/hooks/usePreventFileDrop.js +9 -0
  259. package/lib/hooks/useQueryParametersDialog.js +1 -1
  260. package/lib/hooks/useRelatedDocuments.d.ts +1 -0
  261. package/lib/hooks/useRelatedDocuments.js +22 -27
  262. package/lib/hooks/useShowDossiersV5.d.ts +12 -0
  263. package/lib/hooks/useShowDossiersV5.js +37 -0
  264. package/lib/hooks/useTMDistinctValuesMetadataDisplay.d.ts +18 -0
  265. package/lib/hooks/useTMDistinctValuesMetadataDisplay.js +103 -0
  266. package/lib/hooks/useTMDistinctValuesQuickSearch.d.ts +49 -0
  267. package/lib/hooks/useTMDistinctValuesQuickSearch.js +307 -0
  268. package/lib/hooks/useTMDistinctValuesSelection.d.ts +42 -0
  269. package/lib/hooks/useTMDistinctValuesSelection.js +103 -0
  270. package/lib/hooks/useTMDistinctValuesSource.d.ts +29 -0
  271. package/lib/hooks/useTMDistinctValuesSource.js +105 -0
  272. package/lib/hooks/useWorkflowApprove.js +33 -17
  273. package/lib/index.d.ts +2 -0
  274. package/lib/index.js +5 -2
  275. package/lib/services/caseflow/CaseFlowService.d.ts +277 -0
  276. package/lib/services/caseflow/CaseFlowService.js +761 -0
  277. package/lib/services/caseflow/CaseFlowTemplateCacheService.d.ts +28 -0
  278. package/lib/services/caseflow/CaseFlowTemplateCacheService.js +121 -0
  279. package/lib/services/caseflow/caseFlowNameCache.d.ts +32 -0
  280. package/lib/services/caseflow/caseFlowNameCache.js +116 -0
  281. package/lib/services/caseflow/caseFlowWorkItemUtils.d.ts +61 -0
  282. package/lib/services/caseflow/caseFlowWorkItemUtils.js +113 -0
  283. package/lib/services/index.d.ts +4 -0
  284. package/lib/services/index.js +4 -0
  285. package/lib/services/platform_services.d.ts +4 -4
  286. package/package.json +16 -13
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-right,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-left,.tm-tooltip-container-base-top{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-right,.tm-tooltip-arrow-left,.tm-tooltip-arrow-top,.tm-tooltip-arrow-bottom{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-top,.tm-tooltip-container-base-left,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-right{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-bottom,.tm-tooltip-arrow-top,.tm-tooltip-arrow-left,.tm-tooltip-arrow-right{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}@keyframes show-error{0%{display:none;opacity:0;z-index:20000999}5%{display:block;opacity:1;z-index:20000999}95%{display:block;opacity:1;z-index:20000999}100%{opacity:0;display:none;z-index:20000999}}.tm-alert-animation-style{animation:show-error both;animation-timing-function:linear;animation-iteration-count:none;z-index:20000999}.tm-alert-container{position:absolute;width:100%;height:100%;z-index:20000999}@keyframes loading{from{width:0}to{width:100%}}.tm-alert-loading{width:100%;height:5px;position:absolute;bottom:0;left:0;animation:loading;animation-duration:5000ms}.tm-alert-icon{position:absolute;width:22px;height:22px;background-color:#fff;top:"20px";left:"20px";border-radius:50%;display:flex;align-items:center;justify-content:center}.dx-context-menu.dx-overlay-content{height:auto !important;max-height:none !important}.dx-context-menu .dx-menu-items-container{max-height:none !important}.custom-mentions-wrapper span.dx-mention span[contenteditable=false]>span:first-child{font-size:0;width:0;display:inline-block;overflow:hidden}.custom-mentions-wrapper span.dx-mention{color:#2559a5;font-weight:bold;background-color:rgba(0,0,0,0)}.dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-selected.dx-treeview-root-node.dx-treeview-node-is-leaf[aria-disabled=true]{display:none !important}
1
+ @import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-right,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-left,.tm-tooltip-container-base-top{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-right,.tm-tooltip-arrow-left,.tm-tooltip-arrow-top,.tm-tooltip-arrow-bottom{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-top,.tm-tooltip-container-base-left,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-right{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-bottom,.tm-tooltip-arrow-top,.tm-tooltip-arrow-left,.tm-tooltip-arrow-right{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}@keyframes show-error{0%{display:none;opacity:0;z-index:20000999}5%{display:block;opacity:1;z-index:20000999}95%{display:block;opacity:1;z-index:20000999}100%{opacity:0;display:none;z-index:20000999}}.tm-alert-animation-style{animation:show-error both;animation-timing-function:linear;animation-iteration-count:none;z-index:20000999}.tm-alert-container{position:absolute;width:100%;height:100%;z-index:20000999}@keyframes loading{from{width:0}to{width:100%}}.tm-alert-loading{width:100%;height:5px;position:absolute;bottom:0;left:0;animation:loading;animation-duration:5000ms}.tm-alert-icon{position:absolute;width:22px;height:22px;background-color:#fff;top:"20px";left:"20px";border-radius:50%;display:flex;align-items:center;justify-content:center}.dx-context-menu.dx-overlay-content{height:auto !important;max-height:none !important}.dx-context-menu .dx-menu-items-container{max-height:none !important}.custom-mentions-wrapper span.dx-mention span[contenteditable=false]>span:first-child{font-size:0;width:0;display:inline-block;overflow:hidden}.custom-mentions-wrapper span.dx-mention{color:#2559a5;font-weight:bold;background-color:rgba(0,0,0,0)}.dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-selected.dx-treeview-root-node.dx-treeview-node-is-leaf[aria-disabled=true]{display:none !important}.dx-overlay-wrapper.dx-tooltip-wrapper{z-index:1540 !important}
@@ -0,0 +1 @@
1
+ export declare const licenseKey = "LCPv1(%@j2<F<eQy:2N+f,7R@!i)BcQ,N374Qe%m;9etySj@gGntp77@@:<VJ77@j!_t<%yd-Siei,7FYV%!G>7a(cj%z3Ltv!ot1SeaicLr[3o,6>H:1(e,jSQt$3bREp%tv%H+4InRJ3J88Gn+aIidEee--SQVb,yVH7QRgSpm:2be9I%,;Z+Qmk%!<9jyG6%!6pLdQ6Lt<!N-Q%iR)6%fBIR+:2<)<!Qr->%X<2p@62%!F2bR62<-$2i-)2i-FI%d@G<-@!jy$2iRQ6b-v!jyvIg!:ajzvaj@Fpg!$2b-FIp9;9K-:>Q4:G_@@9Qdv6<!F6<dFI7yFI7yFI7Ll";
@@ -0,0 +1,3 @@
1
+ // Auto-generated by devextreme-license.
2
+ // Do not commit this file to source control.
3
+ export const licenseKey = 'LCPv1(%@j2<F<eQy:2N+f,7R@!i)BcQ,N374Qe%m;9etySj@gGntp77@@:<VJ77@j!_t<%yd-Siei,7FYV%!G>7a(cj%z3Ltv!ot1SeaicLr[3o,6>H:1(e,jSQt$3bREp%tv%H+4InRJ3J88Gn+aIidEee--SQVb,yVH7QRgSpm:2be9I%,;Z+Qmk%!<9jyG6%!6pLdQ6Lt<!N-Q%iR)6%fBIR+:2<)<!Qr->%X<2p@62%!F2bR62<-$2i-)2i-FI%d@G<-@!jy$2iRQ6b-v!jyvIg!:ajzvaj@Fpg!$2b-FIp9;9K-:>Q4:G_@@9Qdv6<!F6<dFI7yFI7yFI7Ll';
@@ -1,17 +1,17 @@
1
1
  import { ArchiveConstraints, InvoiceRetrieveFormats, JobTypes, JoinTypes, MetadataFormats, OrderRetrieveFormats, OwnershipLevels, ParametricFilterTypes, QueryFunctions, QueryOperators, SharingModes, UserLevels } from "@topconsultnpm/sdk-ts";
2
2
  import { DcmtOperationTypes, FormModes } from "../ts";
3
3
  import { DiagramItemTypes } from "../components/features/workflow/diagram/interfaces";
4
- export declare function LocalizeArchiveConstraints(value: ArchiveConstraints | undefined): "Archivierung nur mit Dateien erlauben" | "Allow file only archiving" | "Permitir solo almacenamientos con archivo" | "Autorise uniquement l'archivage de fichiers" | "Permitir somente depósitos com arquivos" | "Consenti solo archiviazioni con file" | "Alles zulassen" | "Allow everything" | "Permitir todo" | "Autorise tout" | "Permitir que todos" | "Consenti tutto" | "Nur Methadatenarchivierung erlauben" | "Allow metadata only archiving" | "Permitir solo almacenamiento de metadatos" | "Autorise uniquement l'archivage de métadonnées" | "Permitir somente os metadados de arquivamento" | "Consenti solo archiviazioni di metadati";
4
+ export declare function LocalizeArchiveConstraints(value: ArchiveConstraints | undefined): "Alles zulassen" | "Allow everything" | "Allow file only archiving" | "Allow metadata only archiving" | "Archivierung nur mit Dateien erlauben" | "Autorise tout" | "Autorise uniquement l'archivage de fichiers" | "Autorise uniquement l'archivage de métadonnées" | "Consenti solo archiviazioni con file" | "Consenti solo archiviazioni di metadati" | "Consenti tutto" | "Nur Methadatenarchivierung erlauben" | "Permitir que todos" | "Permitir solo almacenamiento de metadatos" | "Permitir solo almacenamientos con archivo" | "Permitir somente depósitos com arquivos" | "Permitir somente os metadados de arquivamento" | "Permitir todo";
5
5
  export declare function LocalizeDcmtOperationTypes(value: DcmtOperationTypes | undefined): string;
6
6
  export declare function LocalizeDiagramItemType(type: DiagramItemTypes | undefined | null): string;
7
- export declare function LocalizeFormModes(value: FormModes | undefined): "Erstellen" | "Create" | "Crear" | "Créer" | "Criar" | "Crea" | "Duplikat" | "Duplicate" | "Duplicar" | "Dupliquer" | "Duplicado" | "Duplica" | "Nur Lesen" | "Read only" | "Solo lectura" | "En lecture seule" | "Somente leitura" | "Solo lettura" | "Bearbeiten" | "Update" | "Modificar" | "Modifie" | "Modificação" | "Modifica" | "None" | "Niemand" | "Ninguno" | "Aucun" | "Nenhum" | "Nessuno";
7
+ export declare function LocalizeFormModes(value: FormModes | undefined): "Aucun" | "Bearbeiten" | "Crea" | "Crear" | "Create" | "Criar" | "Créer" | "Duplica" | "Duplicado" | "Duplicar" | "Duplicate" | "Duplikat" | "Dupliquer" | "En lecture seule" | "Erstellen" | "Modifica" | "Modificar" | "Modificação" | "Modifie" | "Nenhum" | "Nessuno" | "Niemand" | "Ninguno" | "None" | "Nur Lesen" | "Read only" | "Solo lectura" | "Solo lettura" | "Somente leitura" | "Update";
8
8
  export declare function LocalizeInvoiceRetrieveFormats(value: InvoiceRetrieveFormats): string;
9
9
  export declare function LocalizeJobTypes(value: JobTypes | undefined): string;
10
10
  export declare function LocalizeMetadataFormats(value: MetadataFormats): string;
11
11
  export declare function LocalizeOwnershipLevels(value: OwnershipLevels | undefined): string | undefined;
12
12
  export declare function LocalizeOrderRetrieveFormats(value: OrderRetrieveFormats): string;
13
- export declare function LocalizeParametricFilterTypes(value: ParametricFilterTypes | undefined): "Personalisierter Ausdruck" | "Custom expression" | "Expresión personalizada" | "Expression personnalisée" | "Expressão personalizado" | "Espressione personalizzata" | "Filtern nach {@UserID}" | "Filter on {@UserID}" | "Filtro en {@UserID}" | "Filtre sur {@UserID}" | "Filtre on {@UserID}" | "Filtro su {@UserID}" | "Filtern nach {@Benutzername} (=)" | "Filter on {@UserName} (=)" | "Filtro en {@UserName} (=)" | "Filtre sur {@UserName} (=)" | "Filtre on {@UserName} (=)" | "Filtro su {@UserName} (=)" | "Filter nach {@Benutzername} (Enthält)" | "Filter on {@UserName} (Contains)" | "Filtro en {@UserName} (Contiene)" | "Filtre sur {@UserName} (Contient)" | "Filtre on {@UserName} (Contém)" | "Filtro su {@UserName} (Contiene)" | "None" | "Niemand" | "Ninguno" | "Aucun" | "Nenhum" | "Nessuno";
14
- export declare function LocalizeQueryFunctions(value: QueryFunctions | undefined): "Zählen" | "Count" | "Contar" | "Compte" | "Contagem" | "Conta" | "" | "None" | "Niemand" | "Ninguno" | "Aucun" | "Nenhum" | "Nessuno" | "Max" | "Höchstwert" | "Máximo" | "Massimo" | "Min" | "Mindestwert" | "Mínimo" | "Minimo" | "Sum" | "Summe" | "Suma" | "Somme" | "Soma" | "Somma";
13
+ export declare function LocalizeParametricFilterTypes(value: ParametricFilterTypes | undefined): "Aucun" | "Custom expression" | "Espressione personalizzata" | "Expresión personalizada" | "Expression personnalisée" | "Expressão personalizado" | "Filter nach {@Benutzername} (Enthält)" | "Filter on {@UserID}" | "Filter on {@UserName} (=)" | "Filter on {@UserName} (Contains)" | "Filtern nach {@Benutzername} (=)" | "Filtern nach {@UserID}" | "Filtre on {@UserID}" | "Filtre on {@UserName} (=)" | "Filtre on {@UserName} (Contém)" | "Filtre sur {@UserID}" | "Filtre sur {@UserName} (=)" | "Filtre sur {@UserName} (Contient)" | "Filtro en {@UserID}" | "Filtro en {@UserName} (=)" | "Filtro en {@UserName} (Contiene)" | "Filtro su {@UserID}" | "Filtro su {@UserName} (=)" | "Filtro su {@UserName} (Contiene)" | "Nenhum" | "Nessuno" | "Niemand" | "Ninguno" | "None" | "Personalisierter Ausdruck";
14
+ export declare function LocalizeQueryFunctions(value: QueryFunctions | undefined): "" | "Aucun" | "Compte" | "Conta" | "Contagem" | "Contar" | "Count" | "Höchstwert" | "Massimo" | "Max" | "Min" | "Mindestwert" | "Minimo" | "Máximo" | "Mínimo" | "Nenhum" | "Nessuno" | "Niemand" | "Ninguno" | "None" | "Soma" | "Somma" | "Somme" | "Sum" | "Suma" | "Summe" | "Zählen";
15
15
  export declare function LocalizeQueryJoinTypes(value: JoinTypes | undefined): string;
16
16
  export declare function LocalizeQueryOperators(value: QueryOperators | undefined): string;
17
17
  export declare function LocalizeSharingModes(value: SharingModes | undefined): string;
@@ -83,6 +83,7 @@ export function LocalizeJobTypes(value) {
83
83
  switch (value) {
84
84
  case JobTypes.FileExec: return "CustomExec";
85
85
  case JobTypes.Signer: return "DcmtSigner";
86
+ case JobTypes.DcmtCreator: return "DcmtStudio";
86
87
  case JobTypes.CassettoFiscaleQuery:
87
88
  switch (cultureID) {
88
89
  case CultureIDs.It_IT: return value?.toString();
@@ -9,7 +9,7 @@ export declare class Globalization {
9
9
  static getDateTimeDisplayValueCompact(value: Date | string | undefined, displayType?: DateDisplayTypes, metadataFormat?: MetadataFormats): string;
10
10
  static getDateDisplayFormat(displayType?: DateDisplayTypes): string;
11
11
  static getNumberDisplayValue(value: Number, withThousandsSeparator?: boolean, numberDisplayFormat?: string): string;
12
- static metadataFormatToDateDisplayFormat(format: MetadataFormats): "" | "MM/dd/yyyy" | "dd/MM/yyyy" | "EEEE dd MMMM yyyy" | "HH:mm" | "HH:mm:ss" | "MM/dd/yyyy HH:mm:ss" | "dd/MM/yyyy HH:mm:ss" | "MM/dd/yyyy HH:mm" | "dd/MM/yyyy HH:mm" | "EEEE dd MMMM yyyy HH:mm" | "EEEE dd MMMM yyyy HH:mm:ss";
12
+ static metadataFormatToDateDisplayFormat(format: MetadataFormats): "" | "EEEE dd MMMM yyyy" | "EEEE dd MMMM yyyy HH:mm" | "EEEE dd MMMM yyyy HH:mm:ss" | "HH:mm" | "HH:mm:ss" | "MM/dd/yyyy" | "MM/dd/yyyy HH:mm" | "MM/dd/yyyy HH:mm:ss" | "dd/MM/yyyy" | "dd/MM/yyyy HH:mm" | "dd/MM/yyyy HH:mm:ss";
13
13
  static getDecimalSeparator(): string | undefined;
14
14
  static getThousandsSeparator(): string | undefined;
15
15
  }
@@ -37,6 +37,7 @@ export declare class UserSettings {
37
37
  dcmtCheckoutInfo: CheckoutInfo[];
38
38
  defaultCheckInOutFolder: string;
39
39
  documentDownloadSettings: DocumentDownloadSettings;
40
+ lastSeenAppVersion: string;
40
41
  constructor(skipCssUpdate?: boolean);
41
42
  /** Load settings from local storage or other sources */
42
43
  static LoadSettings(userID: number | undefined, archiveID: string | undefined): UserSettings;
@@ -67,6 +68,18 @@ export declare class ThemeSettings {
67
68
  export declare const DEFAULT_PREVIEW_THRESHOLD = 500;
68
69
  export declare const DEFAULT_PAGE_SIZE = 100;
69
70
  export declare const DEFAULT_MAX_DCMTS_TO_BE_RETURNED = 200;
71
+ export declare const DEFAULT_QUICK_SEARCH_MAX_DCMTS = 1000;
72
+ /** Ricerca rapida configurata come sorgente alternativa dei valori distinti di un campo */
73
+ export declare class DistinctValuesQuickSearchSettings {
74
+ /** Tipo documento su cui viene eseguita la ricerca rapida */
75
+ tid: number | undefined;
76
+ /** ID della ricerca salvata (SavedQueryDescriptor) da eseguire; SYS_ALL_DCMTS_SQD_ID per la ricerca di sistema con tutti i documenti del tipo documento */
77
+ sqdId: number | undefined;
78
+ /** Metadato del risultato da cui viene prelevato il valore */
79
+ mid: number | undefined;
80
+ /** Numero massimo di documenti restituiti dalla ricerca rapida */
81
+ maxDcmtsToBeReturned: number;
82
+ }
70
83
  export declare class SearchSettings {
71
84
  autoFindReferences: ObjectClasses[];
72
85
  invoiceRetrieveFormat: InvoiceRetrieveFormats;
@@ -85,7 +98,38 @@ export declare class SearchSettings {
85
98
  };
86
99
  };
87
100
  relationExpandLevel: number;
101
+ relationShowZeroDcmts: boolean;
102
+ /** Layout dei pannelli del risultato di ricerca, condiviso dai contesti che lo gestiscono */
103
+ resultPanelLayout: SearchResultPanelStates;
104
+ /** Ricerche rapide configurate per i valori distinti: una per ogni campo, con chiave "tid_mid" */
105
+ distinctValuesQuickSearches: {
106
+ [fieldKey: string]: DistinctValuesQuickSearchSettings;
107
+ };
88
108
  }
109
+ /** Visibilità e dimensioni dei pannelli, per id pannello */
110
+ export type SearchResultPanelStates = Record<string, {
111
+ visible: boolean;
112
+ width: string;
113
+ height: string;
114
+ }>;
115
+ /** Avvisa i risultati di ricerca già montati quando un altro salva il layout; ritorna la disiscrizione */
116
+ export declare const subscribeSearchResultPanelLayout: (onLayoutChanged: () => void) => (() => void);
117
+ /** Layout salvato; vuoto se non ne è stato salvato nessuno (anche per le impostazioni di versioni precedenti) */
118
+ export declare const getSearchResultPanelLayout: () => SearchResultPanelStates;
119
+ /** Il panel manager applica il layout salvato solo se esiste, altrimenti riparte dalle quote di default */
120
+ export declare const hasSearchResultPanelLayout: () => boolean;
121
+ /** Firma del layout salvato: un primitivo confrontabile, come richiede useSyncExternalStore */
122
+ export declare const getSearchResultPanelLayoutSignature: () => string;
123
+ /**
124
+ * @param disabledPanelIds Pannelli che il risultato chiamante non può mostrare: il loro stato resta quello
125
+ * già salvato, perché sono chiusi per via del tipo documento e non per scelta
126
+ * dell'utente. Sovrascriverlo li chiuderebbe anche dove sono attivi.
127
+ */
128
+ export declare const saveSearchResultPanelLayout: (panelStates: SearchResultPanelStates, disabledPanelIds?: Array<string>) => void;
129
+ /** Ricerca rapida configurata per il campo, se presente */
130
+ export declare const getDistinctValuesQuickSearch: (tid: number | undefined, mid: number | undefined) => DistinctValuesQuickSearchSettings | undefined;
131
+ export declare const saveDistinctValuesQuickSearch: (tid: number | undefined, mid: number | undefined, settings: DistinctValuesQuickSearchSettings) => void;
132
+ export declare const removeDistinctValuesQuickSearch: (tid: number | undefined, mid: number | undefined) => void;
89
133
  export declare class FloatingMenuBarSettings {
90
134
  orientation?: 'horizontal' | 'vertical';
91
135
  itemIds?: string[];
@@ -95,10 +139,68 @@ export declare class FloatingMenuBarSettings {
95
139
  };
96
140
  positionFormat?: 'pixels' | 'percentage';
97
141
  }
142
+ /** Sezioni del riepilogo dell'archiviazione multipla dei dettagli, aperte o collassate */
143
+ export type MultiDetailSectionsOpen = {
144
+ masterInfo: boolean;
145
+ archivedDetails: boolean;
146
+ archiveList: boolean;
147
+ };
148
+ /** Stato persistito di un pannello del riepilogo: visibilità e dimensioni, nel formato del panel manager */
149
+ export type MultiDetailPanelState = {
150
+ visible: boolean;
151
+ width: string;
152
+ height: string;
153
+ };
154
+ /** Stato dei pannelli del riepilogo, indicizzato per id pannello */
155
+ export type MultiDetailPanelStates = Record<string, MultiDetailPanelState>;
156
+ /** Passi dell'archiviazione multipla di cui si ricordano le dimensioni del modale */
157
+ export type MultiDetailModalStep = 'selectDcmtType' | 'archiveSummary';
158
+ /** Dimensioni salvate del modale, in formato CSS (es. '1200px') */
159
+ export type MultiDetailModalSize = {
160
+ width: string;
161
+ height: string;
162
+ };
163
+ /** Dimensioni del modale indicizzate per passo */
164
+ export type MultiDetailModalSizes = Partial<Record<MultiDetailModalStep, MultiDetailModalSize>>;
98
165
  export declare class ArchivingSettings {
99
166
  mruTIDs: number[];
100
167
  defaultTree: number;
168
+ /**
169
+ * Sezioni collassate dall'utente nel riepilogo, ripristinate alla riapertura. Assente finché
170
+ * l'utente non ne chiude una: le impostazioni di default non vanno scritte nel local storage
171
+ */
172
+ multiDetailSectionsOpen?: MultiDetailSectionsOpen;
173
+ /**
174
+ * Altezze dei pannelli del riepilogo, gestite dal panel manager. Non comprende il collasso delle
175
+ * sezioni, che è in multiDetailSectionsOpen: assente finché l'utente non sposta un separatore.
176
+ */
177
+ multiDetailPanelStates?: MultiDetailPanelStates;
178
+ /**
179
+ * Dimensioni del modale scelte dall'utente, distinte per passo (scelta del tipo e riepilogo partono
180
+ * da dimensioni molto diverse). Assenti finché non ridimensiona il modale in quel passo.
181
+ */
182
+ multiDetailModalSizes?: MultiDetailModalSizes;
101
183
  }
184
+ /** Stato di apertura salvato delle sezioni: i default coprono l'impostazione mai modificata dall'utente */
185
+ export declare const getMultiDetailSectionsOpen: () => MultiDetailSectionsOpen;
186
+ export declare const saveMultiDetailSectionsOpen: (sectionsOpen: MultiDetailSectionsOpen) => void;
187
+ /** Stato salvato dei pannelli: vuoto finché l'utente non ne ha ridimensionato nessuno */
188
+ export declare const getMultiDetailPanelStates: () => MultiDetailPanelStates;
189
+ /** Il panel manager applica lo stato salvato solo se esiste: altrimenti riparte dalle quote di default */
190
+ export declare const hasMultiDetailPanelStates: () => boolean;
191
+ export declare const saveMultiDetailPanelStates: (panelStates: MultiDetailPanelStates) => void;
192
+ /** Assenti se l'utente non ha mai ridimensionato il modale in quel passo */
193
+ export declare const getMultiDetailModalSize: (step: MultiDetailModalStep) => MultiDetailModalSize | undefined;
194
+ export declare const hasMultiDetailModalSizes: () => boolean;
195
+ /** Salva le dimensioni del passo indicato, lasciando invariate quelle degli altri */
196
+ export declare const saveMultiDetailModalSize: (step: MultiDetailModalStep, size: MultiDetailModalSize) => void;
197
+ /** C'è un layout dell'utente da cancellare: nel local storage le impostazioni ci sono solo se diverse dai default */
198
+ export declare const hasMultiDetailLayout: () => boolean;
199
+ /**
200
+ * Elimina dal local storage il layout configurato dall'utente: altezze dei pannelli, sezioni
201
+ * collassate e dimensioni del modale. Tutto torna ai default: modale, quote e sezioni espanse.
202
+ */
203
+ export declare const clearMultiDetailLayout: () => void;
102
204
  export declare class FullTextSettings {
103
205
  mruTerms: string[];
104
206
  }
@@ -108,13 +210,21 @@ export declare class DevSettings {
108
210
  export declare class AdvancedSettings {
109
211
  private _expertMode;
110
212
  private _scannerLicense;
213
+ private _showDossiersV5;
111
214
  get expertMode(): number;
112
215
  set expertMode(value: number);
113
216
  get scannerLicense(): string;
114
217
  set scannerLicense(value: string);
218
+ /**
219
+ * Mostra le pratiche "V5" (i dossier) accanto al CaseFlow che le sostituisce.
220
+ * 0 = nascoste (default), 1 = visibili.
221
+ */
222
+ get showDossiersV5(): number;
223
+ set showDossiersV5(value: number);
115
224
  toJSON(): {
116
225
  expertMode: number;
117
226
  scannerLicense: string;
227
+ showDossiersV5: number;
118
228
  };
119
229
  }
120
230
  export declare class CtrlWfSettings {
@@ -59,6 +59,7 @@ export class UserSettings {
59
59
  this.dcmtCheckoutInfo = [];
60
60
  this.defaultCheckInOutFolder = DEFAULT_CHECK_IN_OUT_FOLDER;
61
61
  this.documentDownloadSettings = new DocumentDownloadSettings();
62
+ this.lastSeenAppVersion = '';
62
63
  this.themeSettings = new ThemeSettings(skipCssUpdate);
63
64
  }
64
65
  /** Load settings from local storage or other sources */
@@ -130,6 +131,20 @@ export class ThemeSettings {
130
131
  export const DEFAULT_PREVIEW_THRESHOLD = 500; // KB
131
132
  export const DEFAULT_PAGE_SIZE = 100;
132
133
  export const DEFAULT_MAX_DCMTS_TO_BE_RETURNED = 200;
134
+ export const DEFAULT_QUICK_SEARCH_MAX_DCMTS = 1000;
135
+ /** Ricerca rapida configurata come sorgente alternativa dei valori distinti di un campo */
136
+ export class DistinctValuesQuickSearchSettings {
137
+ constructor() {
138
+ /** Tipo documento su cui viene eseguita la ricerca rapida */
139
+ this.tid = undefined;
140
+ /** ID della ricerca salvata (SavedQueryDescriptor) da eseguire; SYS_ALL_DCMTS_SQD_ID per la ricerca di sistema con tutti i documenti del tipo documento */
141
+ this.sqdId = undefined;
142
+ /** Metadato del risultato da cui viene prelevato il valore */
143
+ this.mid = undefined;
144
+ /** Numero massimo di documenti restituiti dalla ricerca rapida */
145
+ this.maxDcmtsToBeReturned = DEFAULT_QUICK_SEARCH_MAX_DCMTS;
146
+ }
147
+ }
133
148
  export class SearchSettings {
134
149
  constructor() {
135
150
  this.autoFindReferences = [];
@@ -143,16 +158,135 @@ export class SearchSettings {
143
158
  this.floatingMenuBar = new FloatingMenuBarSettings();
144
159
  this.panelLayout = {};
145
160
  this.relationExpandLevel = 4; // Livello di espansione predefinito per le correlazioni
161
+ this.relationShowZeroDcmts = false;
162
+ /** Layout dei pannelli del risultato di ricerca, condiviso dai contesti che lo gestiscono */
163
+ this.resultPanelLayout = {};
164
+ /** Ricerche rapide configurate per i valori distinti: una per ogni campo, con chiave "tid_mid" */
165
+ this.distinctValuesQuickSearches = {};
146
166
  }
147
167
  }
168
+ const resultPanelLayoutSubscribers = new Set();
169
+ /** Avvisa i risultati di ricerca già montati quando un altro salva il layout; ritorna la disiscrizione */
170
+ export const subscribeSearchResultPanelLayout = (onLayoutChanged) => {
171
+ resultPanelLayoutSubscribers.add(onLayoutChanged);
172
+ return () => { resultPanelLayoutSubscribers.delete(onLayoutChanged); };
173
+ };
174
+ /** Layout salvato; vuoto se non ne è stato salvato nessuno (anche per le impostazioni di versioni precedenti) */
175
+ export const getSearchResultPanelLayout = () => SDKUI_Globals.userSettings.searchSettings?.resultPanelLayout ?? {};
176
+ /** Il panel manager applica il layout salvato solo se esiste, altrimenti riparte dalle quote di default */
177
+ export const hasSearchResultPanelLayout = () => Object.keys(getSearchResultPanelLayout()).length > 0;
178
+ /** Riassume un layout in una stringa: ordinata per id, così due layout uguali danno la stessa firma */
179
+ const searchResultPanelLayoutSignature = (panelStates) => Object.entries(panelStates)
180
+ .sort(([firstId], [secondId]) => firstId.localeCompare(secondId))
181
+ .map(([id, state]) => `${id}:${state?.visible ? 1 : 0}:${state?.width ?? ''}:${state?.height ?? ''}`)
182
+ .join('|');
183
+ /** Firma del layout salvato: un primitivo confrontabile, come richiede useSyncExternalStore */
184
+ export const getSearchResultPanelLayoutSignature = () => searchResultPanelLayoutSignature(getSearchResultPanelLayout());
185
+ /**
186
+ * @param disabledPanelIds Pannelli che il risultato chiamante non può mostrare: il loro stato resta quello
187
+ * già salvato, perché sono chiusi per via del tipo documento e non per scelta
188
+ * dell'utente. Sovrascriverlo li chiuderebbe anche dove sono attivi.
189
+ */
190
+ export const saveSearchResultPanelLayout = (panelStates, disabledPanelIds = []) => {
191
+ if (!panelStates || Object.keys(panelStates).length === 0)
192
+ return;
193
+ const savedLayout = getSearchResultPanelLayout();
194
+ const layout = { ...panelStates };
195
+ disabledPanelIds.forEach(id => { if (savedLayout[id])
196
+ layout[id] = { ...savedLayout[id] }; });
197
+ // Layout identico: senza questo controllo ogni scrittura avviserebbe a vuoto gli altri risultati aperti
198
+ if (searchResultPanelLayoutSignature(layout) === getSearchResultPanelLayoutSignature())
199
+ return;
200
+ // Il proxy persiste solo intercettando l'assegnazione di una proprietà: va riassegnata l'intera mappa
201
+ SDKUI_Globals.userSettings.searchSettings.resultPanelLayout = layout;
202
+ resultPanelLayoutSubscribers.forEach(onLayoutChanged => onLayoutChanged());
203
+ };
204
+ /** Il campo da cui viene aperto il pannello dei valori distinti è identificato dalla coppia (tid, mid) */
205
+ const distinctValuesFieldKey = (tid, mid) => `${tid}_${mid}`;
206
+ /** Ricerca rapida configurata per il campo, se presente */
207
+ export const getDistinctValuesQuickSearch = (tid, mid) => {
208
+ if (!tid || !mid)
209
+ return undefined;
210
+ // Le impostazioni salvate da versioni precedenti non hanno la mappa: va gestita l'assenza
211
+ return SDKUI_Globals.userSettings.searchSettings.distinctValuesQuickSearches?.[distinctValuesFieldKey(tid, mid)];
212
+ };
213
+ export const saveDistinctValuesQuickSearch = (tid, mid, settings) => {
214
+ if (!tid || !mid)
215
+ return;
216
+ // Il proxy delle impostazioni persiste solo intercettando l'assegnazione di una proprietà: la mappa va riassegnata per intero
217
+ SDKUI_Globals.userSettings.searchSettings.distinctValuesQuickSearches = {
218
+ ...SDKUI_Globals.userSettings.searchSettings.distinctValuesQuickSearches,
219
+ [distinctValuesFieldKey(tid, mid)]: settings,
220
+ };
221
+ };
222
+ export const removeDistinctValuesQuickSearch = (tid, mid) => {
223
+ if (!tid || !mid)
224
+ return;
225
+ const fieldKey = distinctValuesFieldKey(tid, mid);
226
+ const quickSearches = SDKUI_Globals.userSettings.searchSettings.distinctValuesQuickSearches;
227
+ if (!quickSearches?.[fieldKey])
228
+ return;
229
+ const { [fieldKey]: removedSettings, ...remainingQuickSearches } = quickSearches;
230
+ SDKUI_Globals.userSettings.searchSettings.distinctValuesQuickSearches = remainingQuickSearches;
231
+ };
148
232
  export class FloatingMenuBarSettings {
149
233
  }
234
+ /** Alla prima apertura le sezioni sono tutte espanse */
235
+ const DEFAULT_MULTI_DETAIL_SECTIONS_OPEN = { masterInfo: true, archivedDetails: true, archiveList: true };
150
236
  export class ArchivingSettings {
151
237
  constructor() {
152
238
  this.mruTIDs = [];
153
239
  this.defaultTree = -1;
154
240
  }
155
241
  }
242
+ /** Stato di apertura salvato delle sezioni: i default coprono l'impostazione mai modificata dall'utente */
243
+ export const getMultiDetailSectionsOpen = () => ({
244
+ ...DEFAULT_MULTI_DETAIL_SECTIONS_OPEN,
245
+ ...SDKUI_Globals.userSettings.archivingSettings?.multiDetailSectionsOpen,
246
+ });
247
+ export const saveMultiDetailSectionsOpen = (sectionsOpen) => {
248
+ const isDefault = Object.keys(DEFAULT_MULTI_DETAIL_SECTIONS_OPEN)
249
+ .every(section => sectionsOpen[section] === DEFAULT_MULTI_DETAIL_SECTIONS_OPEN[section]);
250
+ // Il proxy persiste solo intercettando l'assegnazione di una proprietà: la mappa va riassegnata per intero.
251
+ // Tornata ai default l'impostazione va rimossa, così nel local storage restano solo le modifiche dell'utente
252
+ SDKUI_Globals.userSettings.archivingSettings.multiDetailSectionsOpen = isDefault ? undefined : { ...sectionsOpen };
253
+ };
254
+ /** Stato salvato dei pannelli: vuoto finché l'utente non ne ha ridimensionato nessuno */
255
+ export const getMultiDetailPanelStates = () => SDKUI_Globals.userSettings.archivingSettings?.multiDetailPanelStates ?? {};
256
+ /** Il panel manager applica lo stato salvato solo se esiste: altrimenti riparte dalle quote di default */
257
+ export const hasMultiDetailPanelStates = () => Object.keys(getMultiDetailPanelStates()).length > 0;
258
+ export const saveMultiDetailPanelStates = (panelStates) => {
259
+ if (!panelStates || Object.keys(panelStates).length === 0)
260
+ return;
261
+ // Il proxy persiste solo intercettando l'assegnazione di una proprietà: la mappa va riassegnata per intero
262
+ SDKUI_Globals.userSettings.archivingSettings.multiDetailPanelStates = { ...panelStates };
263
+ };
264
+ /** Assenti se l'utente non ha mai ridimensionato il modale in quel passo */
265
+ export const getMultiDetailModalSize = (step) => SDKUI_Globals.userSettings.archivingSettings?.multiDetailModalSizes?.[step];
266
+ export const hasMultiDetailModalSizes = () => Object.keys(SDKUI_Globals.userSettings.archivingSettings?.multiDetailModalSizes ?? {}).length > 0;
267
+ /** Salva le dimensioni del passo indicato, lasciando invariate quelle degli altri */
268
+ export const saveMultiDetailModalSize = (step, size) => {
269
+ if (!size?.width || !size?.height)
270
+ return;
271
+ // Il proxy persiste solo intercettando l'assegnazione di una proprietà: la mappa va riassegnata per intero
272
+ SDKUI_Globals.userSettings.archivingSettings.multiDetailModalSizes = {
273
+ ...SDKUI_Globals.userSettings.archivingSettings?.multiDetailModalSizes,
274
+ [step]: { ...size },
275
+ };
276
+ };
277
+ /** C'è un layout dell'utente da cancellare: nel local storage le impostazioni ci sono solo se diverse dai default */
278
+ export const hasMultiDetailLayout = () => hasMultiDetailPanelStates() || hasMultiDetailModalSizes() || SDKUI_Globals.userSettings.archivingSettings?.multiDetailSectionsOpen !== undefined;
279
+ /**
280
+ * Elimina dal local storage il layout configurato dall'utente: altezze dei pannelli, sezioni
281
+ * collassate e dimensioni del modale. Tutto torna ai default: modale, quote e sezioni espanse.
282
+ */
283
+ export const clearMultiDetailLayout = () => {
284
+ // Il proxy persiste solo intercettando l'assegnazione di una proprietà: tutti i campi vanno riassegnati.
285
+ // Senza valore spariscono dal local storage e alla riapertura tornano validi i default
286
+ SDKUI_Globals.userSettings.archivingSettings.multiDetailPanelStates = undefined;
287
+ SDKUI_Globals.userSettings.archivingSettings.multiDetailSectionsOpen = undefined;
288
+ SDKUI_Globals.userSettings.archivingSettings.multiDetailModalSizes = undefined;
289
+ };
156
290
  export class FullTextSettings {
157
291
  constructor() {
158
292
  this.mruTerms = [];
@@ -167,6 +301,7 @@ export class AdvancedSettings {
167
301
  constructor() {
168
302
  this._expertMode = 0;
169
303
  this._scannerLicense = '';
304
+ this._showDossiersV5 = 0;
170
305
  }
171
306
  get expertMode() {
172
307
  return this._expertMode;
@@ -185,11 +320,27 @@ export class AdvancedSettings {
185
320
  set scannerLicense(value) {
186
321
  this._scannerLicense = value;
187
322
  }
323
+ /**
324
+ * Mostra le pratiche "V5" (i dossier) accanto al CaseFlow che le sostituisce.
325
+ * 0 = nascoste (default), 1 = visibili.
326
+ */
327
+ get showDossiersV5() {
328
+ return this._showDossiersV5;
329
+ }
330
+ set showDossiersV5(value) {
331
+ if (this._showDossiersV5 !== value) {
332
+ this._showDossiersV5 = value;
333
+ // Come per expertMode: chi mostra la funzione può reagire subito.
334
+ const event = new CustomEvent('showDossiersV5Changed', { detail: value });
335
+ window.dispatchEvent(event);
336
+ }
337
+ }
188
338
  // Override toJSON to control serialization (called by JSON.stringify)
189
339
  toJSON() {
190
340
  return {
191
341
  expertMode: this._expertMode,
192
342
  scannerLicense: this._scannerLicense,
343
+ showDossiersV5: this._showDossiersV5,
193
344
  };
194
345
  }
195
346
  }