@topconsultnpm/sdkui-react 6.22.0-dev3.9 → 6.22.0-dev4.10

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 (186) hide show
  1. package/lib/components/NewComponents/ContextMenu/styles.d.ts +43 -45
  2. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +60 -67
  3. package/lib/components/base/Styled.d.ts +77 -93
  4. package/lib/components/base/TMAlert.js +6 -8
  5. package/lib/components/base/TMAreaManager.js +53 -55
  6. package/lib/components/base/TMButton.js +4 -2
  7. package/lib/components/base/TMCounterBar.d.ts +2 -2
  8. package/lib/components/base/TMCounterContainer.d.ts +4 -3
  9. package/lib/components/base/TMCounterContainer.js +16 -1
  10. package/lib/components/base/TMCustomButton.d.ts +1 -1
  11. package/lib/components/base/TMCustomButton.js +40 -48
  12. package/lib/components/base/TMDataGrid.js +243 -223
  13. package/lib/components/base/TMDataGridExportForm.d.ts +1 -2
  14. package/lib/components/base/TMFileManager.d.ts +1 -2
  15. package/lib/components/base/TMFileManagerDataGridView.d.ts +1 -2
  16. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +1 -1
  17. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +1 -1
  18. package/lib/components/base/TMFileManagerUtils.d.ts +6 -4
  19. package/lib/components/base/TMLayout.d.ts +4 -4
  20. package/lib/components/base/TMList.d.ts +1 -2
  21. package/lib/components/base/TMListView.d.ts +1 -1
  22. package/lib/components/base/TMPanel.js +173 -170
  23. package/lib/components/base/TMSpinner.d.ts +3 -3
  24. package/lib/components/base/TMSpinner.js +9 -7
  25. package/lib/components/base/TMTab.d.ts +3 -4
  26. package/lib/components/base/TMTabControl.d.ts +5 -0
  27. package/lib/components/base/TMTabControl.js +219 -208
  28. package/lib/components/base/TMTooltip.d.ts +1 -1
  29. package/lib/components/base/TMTreeView.d.ts +8 -14
  30. package/lib/components/base/TMTreeView.js +20 -0
  31. package/lib/components/base/TMUserAvatar.d.ts +1 -2
  32. package/lib/components/base/TMVilViewer.d.ts +1 -2
  33. package/lib/components/base/TMWaitPanel.d.ts +2 -3
  34. package/lib/components/base/TMWaitPanel.js +1 -1
  35. package/lib/components/base/waitPanel/TMWaitPanelConfirm.d.ts +12 -0
  36. package/lib/components/base/waitPanel/TMWaitPanelConfirm.js +185 -0
  37. package/lib/components/base/waitPanel/TMWaitPanelManager.d.ts +179 -0
  38. package/lib/components/base/waitPanel/TMWaitPanelManager.js +373 -0
  39. package/lib/components/base/waitPanel/TMWaitPanelView.d.ts +57 -0
  40. package/lib/components/base/waitPanel/TMWaitPanelView.js +346 -0
  41. package/lib/components/base/waitPanel/index.d.ts +1 -0
  42. package/lib/components/base/waitPanel/index.js +1 -0
  43. package/lib/components/choosers/TMDistinctValues.js +3 -3
  44. package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
  45. package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +1 -2
  46. package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +1 -2
  47. package/lib/components/choosers/TMPathChooser.js +17 -34
  48. package/lib/components/choosers/TMQuickSearchInfo.d.ts +1 -2
  49. package/lib/components/choosers/TMRelationChooser.d.ts +3 -3
  50. package/lib/components/choosers/TMUserChooser.d.ts +2 -2
  51. package/lib/components/editors/TMEditorStyled.d.ts +42 -20
  52. package/lib/components/editors/TMFormulaEditor.d.ts +1 -1
  53. package/lib/components/editors/TMHtmlContentDisplay.d.ts +1 -2
  54. package/lib/components/editors/TMHtmlEditor.d.ts +1 -2
  55. package/lib/components/editors/TMTextBox.d.ts +4 -0
  56. package/lib/components/editors/TMTextBox.js +99 -11
  57. package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
  58. package/lib/components/features/archive/TMArchive.js +7 -2
  59. package/lib/components/features/assistant/TMHelpOnLineChat.d.ts +28 -0
  60. package/lib/components/features/assistant/TMHelpOnLineChat.js +1231 -0
  61. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
  62. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.js +2 -2
  63. package/lib/components/features/blog/TMBlogCommentForm.d.ts +1 -2
  64. package/lib/components/features/documents/TMBatchUpdateForm.js +3 -4
  65. package/lib/components/features/documents/TMCopyToFolderForm.js +53 -84
  66. package/lib/components/features/documents/TMDcmtForm.js +50 -61
  67. package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
  68. package/lib/components/features/documents/TMDcmtIcon.d.ts +1 -4
  69. package/lib/components/features/documents/TMDcmtIcon.js +3 -5
  70. package/lib/components/features/documents/TMDcmtPreview.d.ts +6 -8
  71. package/lib/components/features/documents/TMDcmtPreview.js +5 -3
  72. package/lib/components/features/documents/TMDcmtTasks.d.ts +1 -2
  73. package/lib/components/features/documents/TMDcmtTasks.js +2 -9
  74. package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
  75. package/lib/components/features/documents/TMFileUploader.js +5 -5
  76. package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +2 -0
  77. package/lib/components/features/documents/TMMasterDetailDcmts.js +53 -148
  78. package/lib/components/features/documents/TMMasterInfoFields.d.ts +1 -2
  79. package/lib/components/features/documents/TMMasterInfoFields.js +3 -2
  80. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +1 -2
  81. package/lib/components/features/documents/TMMergeToPdfForm.js +52 -56
  82. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +1 -2
  83. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.js +14 -15
  84. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +5 -5
  85. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.js +3 -3
  86. package/lib/components/features/documents/TMRelationViewer.d.ts +13 -14
  87. package/lib/components/features/documents/TMRelationViewer.js +206 -143
  88. package/lib/components/features/documents/relationTreeState.d.ts +32 -0
  89. package/lib/components/features/documents/relationTreeState.js +89 -0
  90. package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +1 -2
  91. package/lib/components/features/search/TMMetadataOutputForm.d.ts +1 -2
  92. package/lib/components/features/search/TMMetadataSorterForm.d.ts +1 -2
  93. package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
  94. package/lib/components/features/search/TMSearch.d.ts +1 -2
  95. package/lib/components/features/search/TMSearch.js +3 -4
  96. package/lib/components/features/search/TMSearchQueryPanel.d.ts +3 -9
  97. package/lib/components/features/search/TMSearchQueryPanel.js +0 -4
  98. package/lib/components/features/search/TMSearchResult.d.ts +5 -0
  99. package/lib/components/features/search/TMSearchResult.js +129 -102
  100. package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
  101. package/lib/components/features/search/TMSignatureInfoContent.d.ts +1 -2
  102. package/lib/components/features/search/TMTreeSelector.js +23 -27
  103. package/lib/components/features/search/TMViewHistoryDcmt.d.ts +1 -2
  104. package/lib/components/features/search/TMViewHistoryDcmt.js +15 -26
  105. package/lib/components/features/tasks/TMTaskForm.d.ts +1 -1
  106. package/lib/components/features/tasks/TMTaskFormUtils.d.ts +10 -10
  107. package/lib/components/features/tasks/TMTasksAgenda.d.ts +1 -1
  108. package/lib/components/features/tasks/TMTasksCalendar.d.ts +1 -1
  109. package/lib/components/features/tasks/TMTasksHeader.d.ts +1 -1
  110. package/lib/components/features/tasks/TMTasksPanelContent.d.ts +1 -1
  111. package/lib/components/features/tasks/TMTasksUtilsView.d.ts +5 -5
  112. package/lib/components/features/tasks/TMTasksView.d.ts +1 -1
  113. package/lib/components/features/tasks/TMTasksView.js +97 -90
  114. package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +2 -3
  115. package/lib/components/features/wg/TMWGsCopyMoveForm.js +95 -91
  116. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +7 -8
  117. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +1 -3
  118. package/lib/components/forms/Login/ChangePasswordInputs.d.ts +1 -3
  119. package/lib/components/forms/Login/Chooser.d.ts +2 -2
  120. package/lib/components/forms/TMChooserForm.d.ts +1 -2
  121. package/lib/components/forms/TMResultDialog.js +1 -1
  122. package/lib/components/forms/TMSaveForm.d.ts +4 -4
  123. package/lib/components/grids/TMBlogAttachments.d.ts +1 -2
  124. package/lib/components/grids/TMBlogHeader.d.ts +1 -1
  125. package/lib/components/grids/TMBlogsPost.d.ts +1 -1
  126. package/lib/components/grids/TMBlogsPost.js +93 -97
  127. package/lib/components/grids/TMBlogsPostUtils.d.ts +9 -9
  128. package/lib/components/grids/TMValidationItemsList.d.ts +1 -2
  129. package/lib/components/index.d.ts +5 -1
  130. package/lib/components/index.js +4 -1
  131. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -2
  132. package/lib/components/layout/panelManager/TMPanelManagerContainer.js +4 -3
  133. package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +3 -2
  134. package/lib/components/layout/panelManager/TMPanelManagerContext.js +5 -1
  135. package/lib/components/layout/panelManager/TMPanelManagerLoader.d.ts +5 -0
  136. package/lib/components/layout/panelManager/TMPanelManagerLoader.js +18 -0
  137. package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +6 -5
  138. package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +4 -8
  139. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +2 -2
  140. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.js +2 -1
  141. package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +2 -2
  142. package/lib/components/pages/TMPage.d.ts +1 -1
  143. package/lib/components/pages/TMPage.js +32 -31
  144. package/lib/components/query/TMQueryEditor.d.ts +13 -14
  145. package/lib/components/query/TMQueryEditor.js +2 -1
  146. package/lib/components/settings/SettingsAppearance.d.ts +1 -2
  147. package/lib/components/sidebar/TMAboutApp.d.ts +1 -2
  148. package/lib/components/sidebar/TMCommandsPanel.d.ts +4 -4
  149. package/lib/components/sidebar/TMHeader.d.ts +4 -3
  150. package/lib/components/sidebar/TMHeader.js +2 -2
  151. package/lib/components/viewers/TMDataListItemViewer.d.ts +2 -3
  152. package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +2 -3
  153. package/lib/components/viewers/TMMidViewer.d.ts +2 -2
  154. package/lib/components/viewers/TMTidViewer.d.ts +2 -2
  155. package/lib/helper/Enum_Localizator.js +1 -0
  156. package/lib/helper/SDKUI_Globals.d.ts +7 -2
  157. package/lib/helper/SDKUI_Globals.js +7 -2
  158. package/lib/helper/SDKUI_Localizator.d.ts +31 -6
  159. package/lib/helper/SDKUI_Localizator.js +301 -51
  160. package/lib/helper/TMAppUpdatedModal.d.ts +1 -2
  161. package/lib/helper/TMAppUpdatedModal.js +93 -93
  162. package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
  163. package/lib/helper/TMIcons.d.ts +280 -280
  164. package/lib/helper/TMPdfViewer.d.ts +1 -2
  165. package/lib/helper/TMToppyMessage.d.ts +2 -2
  166. package/lib/helper/TMUtils.d.ts +4 -10
  167. package/lib/helper/ZipManager.d.ts +1 -1
  168. package/lib/helper/ZipManager.js +2 -1
  169. package/lib/helper/dcmtsHelper.d.ts +2 -0
  170. package/lib/helper/dcmtsHelper.js +3 -1
  171. package/lib/helper/helpers.d.ts +1 -1
  172. package/lib/hooks/useCheckInOutOperations.d.ts +0 -6
  173. package/lib/hooks/useCheckInOutOperations.js +14 -34
  174. package/lib/hooks/useDcmtOperations.d.ts +3 -19
  175. package/lib/hooks/useDcmtOperations.js +174 -227
  176. package/lib/hooks/useDocumentOperations.d.ts +1 -0
  177. package/lib/hooks/useDocumentOperations.js +14 -25
  178. package/lib/hooks/useInputDialog.d.ts +1 -2
  179. package/lib/hooks/useMultiMasterDetailDcmts.d.ts +0 -15
  180. package/lib/hooks/useMultiMasterDetailDcmts.js +70 -68
  181. package/lib/hooks/usePreventFileDrop.js +9 -0
  182. package/lib/hooks/useWorkflowApprove.js +33 -17
  183. package/lib/services/caseflow/CaseFlowService.d.ts +69 -9
  184. package/lib/services/caseflow/CaseFlowService.js +126 -58
  185. package/lib/services/platform_services.d.ts +2 -3
  186. package/package.json +2 -2
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useState } from 'react';
3
3
  import { ResultTypes, SDK_Globals, WorkingGroupCacheService, WorkingGroupEngine } from "@topconsultnpm/sdk-ts";
4
4
  import { TreeView } from 'devextreme-react';
5
+ import { LoadIndicator } from 'devextreme-react/load-indicator';
5
6
  import styled from 'styled-components';
6
7
  import { buildFolderHierarchy, findFileItems, setFolderTreeViewItems } from '../../base/TMFileManagerUtils';
7
- import TMSpinner from '../../base/TMSpinner';
8
8
  import { TMExceptionBoxManager } from '../../base/TMPopUp';
9
9
  import { useDeviceType } from '../../base/TMDeviceProvider';
10
10
  import { SDKUI_Localizator, getExceptionMessage, Globalization, IconUserGroup, IconFolder, calcResponsiveSizes } from '../../../helper';
@@ -13,7 +13,8 @@ import { FormModes } from '../../../ts';
13
13
  import { TMColors } from '../../../utils/theme';
14
14
  import TMDataGrid from '../../base/TMDataGrid';
15
15
  import TMTooltip from '../../base/TMTooltip';
16
- import { TMLayoutWaitingContainer } from '../../base/TMWaitPanel';
16
+ import TMLayoutContainer from '../../base/TMLayout';
17
+ import TMWaitPanelManager from '../../base/waitPanel/TMWaitPanelManager';
17
18
  import { TMResultManager } from '../../forms/TMResultDialog';
18
19
  import TMSaveForm from '../../forms/TMSaveForm';
19
20
  // Returns a formatted name and optional description based on document type and item DID.
@@ -34,7 +35,6 @@ export const getDocumentDisplayInfo = (descriptor, item) => {
34
35
  : '';
35
36
  return { name, description };
36
37
  };
37
- let abortController = new AbortController();
38
38
  const TMWGsCopyMoveForm = (props) => {
39
39
  const { mode, workingGroups, context, folder, onClose, focusedWorkingGroupId = undefined, fetchTreeFileSystemForWorkingGroup, fetchArchivedDocumentsForWorkingGroup } = props;
40
40
  // Destructure context to get the current working group descriptor or document type descriptor based on the engine type
@@ -58,18 +58,10 @@ const TMWGsCopyMoveForm = (props) => {
58
58
  const [treeViewData, setTreeViewData] = useState([]);
59
59
  // State to manage the selected file
60
60
  const [selectedFolder, setSelectedFolder] = useState(undefined);
61
- // State variable to control the visibility of the wait panel
62
- const [showWaitPanel, setShowWaitPanel] = useState(false);
63
- // State variable to store the title of the wait panel
64
- const [waitPanelTitle, setWaitPanelTitle] = useState('');
65
- // State variable to control the visibility of the primary section of the wait panel
66
- const [showPrimary, setShowPrimary] = useState(false);
67
- // State variable to store the primary text of the wait panel
68
- const [waitPanelTextPrimary, setWaitPanelTextPrimary] = useState('');
69
- // State variable to track the current value of the primary progress indicator in the wait panel
70
- const [waitPanelValuePrimary, setWaitPanelValuePrimary] = useState(0);
71
- // State variable to define the maximum value for the primary progress indicator in the wait panel
72
- const [waitPanelMaxValuePrimary, setWaitPanelMaxValuePrimary] = useState(0);
61
+ // True until the list of working groups is ready
62
+ const [isLoadingWgs, setIsLoadingWgs] = useState(true);
63
+ // Id of the working group whose folder tree has been loaded
64
+ const [loadedTreeWgId, setLoadedTreeWgId] = useState(undefined);
73
65
  // State to manage the current working group descriptor, initially set to the one from context
74
66
  const steps = useMemo(() => {
75
67
  return mode === 'copyToWgArchivedDoc'
@@ -104,7 +96,6 @@ const TMWGsCopyMoveForm = (props) => {
104
96
  let groupsToUse = workingGroups;
105
97
  if (!groupsToUse) {
106
98
  try {
107
- TMSpinner.show({ description: SDKUI_Localizator.LoadingWorkGroups });
108
99
  // Clear cache and fetch working groups
109
100
  WorkingGroupCacheService.RemoveAll();
110
101
  const fetchedGroups = await WorkingGroupCacheService.GetAllAsync();
@@ -113,9 +104,6 @@ const TMWGsCopyMoveForm = (props) => {
113
104
  catch (error) {
114
105
  TMExceptionBoxManager.show({ exception: error });
115
106
  }
116
- finally {
117
- TMSpinner.hide();
118
- }
119
107
  }
120
108
  if (groupsToUse) {
121
109
  const sortedGroups = [...groupsToUse].sort((a, b) => {
@@ -134,6 +122,7 @@ const TMWGsCopyMoveForm = (props) => {
134
122
  setCurrentStep(1);
135
123
  }
136
124
  }
125
+ setIsLoadingWgs(false);
137
126
  };
138
127
  loadWorkingGroups();
139
128
  }, [workingGroups, currentWorkingGroupDescriptor]);
@@ -154,11 +143,16 @@ const TMWGsCopyMoveForm = (props) => {
154
143
  catch (error) {
155
144
  TMExceptionBoxManager.show({ exception: error });
156
145
  }
146
+ finally {
147
+ setLoadedTreeWgId(selectedWg.id);
148
+ }
157
149
  };
158
150
  if (selectedWg && wgs.length) {
159
151
  fetchWgTree();
160
152
  }
161
153
  }, [selectedWg, wgs]);
154
+ // Loading while the working groups are fetched, or while the folder tree of the selected working group is not loaded yet
155
+ const isLoading = isLoadingWgs || (currentStep === 1 && mode !== 'copyToWgArchivedDoc' && !!selectedWg?.id && loadedTreeWgId !== selectedWg.id);
162
156
  // When the current step resets to the first step (index 0), clear the selected folder by setting it to undefined
163
157
  useEffect(() => {
164
158
  if (currentStep === 0) {
@@ -235,86 +229,95 @@ const TMWGsCopyMoveForm = (props) => {
235
229
  if (missingWgOrFolder) {
236
230
  return Promise.resolve();
237
231
  }
238
- setWaitPanelTitle(mode !== 'move' ? SDKUI_Localizator.Copy : SDKUI_Localizator.Move);
239
- setShowWaitPanel(true);
240
- setShowPrimary(true);
241
- abortController = new AbortController();
242
232
  let result = [];
243
233
  const totalDrafts = context.selectedDrafts.length;
244
- setWaitPanelMaxValuePrimary(totalDrafts);
245
- const workingGroupEngine = new WorkingGroupEngine(SDK_Globals.tmSession);
246
- const selectedFolderId = selectedFolder?.id === -1 ? 0 : selectedFolder?.id ?? 0;
247
- const isWgEngine = context.engine === 'WorkingGroupEngine';
248
- const isSearchEngine = context.engine === 'SearchEngine';
249
- for (let i = 0; i < totalDrafts; i++) {
250
- if (abortController.signal.aborted) {
251
- result.push({
252
- rowIndex: i + 1,
253
- id1: i + 1,
254
- id2: i + 1,
255
- resultType: ResultTypes.WARNING,
256
- description: SDKUI_Localizator.OperationFilesInterrupted.replaceParams(i + 1)
257
- });
258
- break;
259
- }
260
- setWaitPanelValuePrimary(i + 1);
261
- setWaitPanelTextPrimary(`${i + 1}/${totalDrafts}`);
262
- const item = context.selectedDrafts[i];
263
- try {
264
- if (isWgEngine && targetWorkingGroup && targetWorkingGroup.id && currentWorkingGroupDescriptor && currentWorkingGroupDescriptor.id && selectedFolder && item.did) {
265
- const draft = item;
266
- const did = draft.did ?? 0;
267
- if (mode === 'copy') {
268
- await workingGroupEngine.DraftsCopyAsync(currentWorkingGroupDescriptor.id, did, targetWorkingGroup.id, selectedFolderId);
269
- if (fetchTreeFileSystemForWorkingGroup) {
270
- await fetchTreeFileSystemForWorkingGroup(targetWorkingGroup.id);
234
+ const waitPanel = TMWaitPanelManager.show({
235
+ title: mode !== 'move' ? SDKUI_Localizator.Copy : SDKUI_Localizator.Move,
236
+ max: totalDrafts,
237
+ cancelable: true,
238
+ });
239
+ try {
240
+ const workingGroupEngine = new WorkingGroupEngine(SDK_Globals.tmSession);
241
+ const selectedFolderId = selectedFolder?.id === -1 ? 0 : selectedFolder?.id ?? 0;
242
+ const isWgEngine = context.engine === 'WorkingGroupEngine';
243
+ const isSearchEngine = context.engine === 'SearchEngine';
244
+ for (let i = 0; i < totalDrafts; i++) {
245
+ if (waitPanel.aborted) {
246
+ result.push({
247
+ rowIndex: i + 1,
248
+ id1: i + 1,
249
+ id2: i + 1,
250
+ resultType: ResultTypes.WARNING,
251
+ // Il controllo precede l'elemento i: quelli elaborati sono i, non i + 1.
252
+ description: SDKUI_Localizator.OperationItemsInterrupted.replaceParams(i)
253
+ });
254
+ waitPanel.warning(1, SDKUI_Localizator.OperationItemsInterrupted.replaceParams(i));
255
+ break;
256
+ }
257
+ waitPanel.setSubtitle(`${i + 1}/${totalDrafts}`);
258
+ const item = context.selectedDrafts[i];
259
+ try {
260
+ if (isWgEngine && targetWorkingGroup && targetWorkingGroup.id && currentWorkingGroupDescriptor && currentWorkingGroupDescriptor.id && selectedFolder && item.did) {
261
+ const draft = item;
262
+ const did = draft.did ?? 0;
263
+ if (mode === 'copy') {
264
+ await workingGroupEngine.DraftsCopyAsync(currentWorkingGroupDescriptor.id, did, targetWorkingGroup.id, selectedFolderId);
265
+ if (fetchTreeFileSystemForWorkingGroup) {
266
+ await fetchTreeFileSystemForWorkingGroup(targetWorkingGroup.id);
267
+ }
268
+ }
269
+ else if (mode === 'move') {
270
+ await workingGroupEngine.DraftsMoveAsync(currentWorkingGroupDescriptor.id, did, targetWorkingGroup.id, selectedFolderId);
271
+ if (fetchTreeFileSystemForWorkingGroup) {
272
+ await fetchTreeFileSystemForWorkingGroup(targetWorkingGroup.id);
273
+ await fetchTreeFileSystemForWorkingGroup(currentWorkingGroupDescriptor.id);
274
+ }
271
275
  }
272
276
  }
273
- else if (mode === 'move') {
274
- await workingGroupEngine.DraftsMoveAsync(currentWorkingGroupDescriptor.id, did, targetWorkingGroup.id, selectedFolderId);
275
- if (fetchTreeFileSystemForWorkingGroup) {
276
- await fetchTreeFileSystemForWorkingGroup(targetWorkingGroup.id);
277
- await fetchTreeFileSystemForWorkingGroup(currentWorkingGroupDescriptor.id);
277
+ else if (isSearchEngine) {
278
+ if (mode === 'copyToWgDraft' && targetWorkingGroup && targetWorkingGroup.id && selectedFolder && currentDcmtTypeDescriptor) {
279
+ const documentDisplayInfo = getDocumentDisplayInfo(currentDcmtTypeDescriptor, item);
280
+ await workingGroupEngine.DraftsAddByIDAsync(targetWorkingGroup.id, selectedFolderId, documentDisplayInfo.name, documentDisplayInfo.description, item.TID, item.DID);
281
+ if (fetchTreeFileSystemForWorkingGroup)
282
+ await fetchTreeFileSystemForWorkingGroup(targetWorkingGroup.id);
283
+ }
284
+ else if (mode === 'copyToWgArchivedDoc' && targetWorkingGroup && targetWorkingGroup.id) {
285
+ await workingGroupEngine.DcmtsAddOrRemoveAsync(targetWorkingGroup.id, item.TID, item.DID, false);
286
+ if (fetchArchivedDocumentsForWorkingGroup)
287
+ await fetchArchivedDocumentsForWorkingGroup(targetWorkingGroup.id);
278
288
  }
279
289
  }
290
+ result.push({
291
+ rowIndex: i + 1,
292
+ id1: item.DID ?? i + 1,
293
+ id2: item.TID ?? i + 1,
294
+ description: SDKUI_Localizator.UpdateCompletedSuccessfully,
295
+ resultType: ResultTypes.SUCCESS
296
+ });
297
+ waitPanel.ok();
280
298
  }
281
- else if (isSearchEngine) {
282
- if (mode === 'copyToWgDraft' && targetWorkingGroup && targetWorkingGroup.id && selectedFolder && currentDcmtTypeDescriptor) {
283
- const documentDisplayInfo = getDocumentDisplayInfo(currentDcmtTypeDescriptor, item);
284
- await workingGroupEngine.DraftsAddByIDAsync(targetWorkingGroup.id, selectedFolderId, documentDisplayInfo.name, documentDisplayInfo.description, item.TID, item.DID);
285
- if (fetchTreeFileSystemForWorkingGroup)
286
- await fetchTreeFileSystemForWorkingGroup(targetWorkingGroup.id);
287
- }
288
- else if (mode === 'copyToWgArchivedDoc' && targetWorkingGroup && targetWorkingGroup.id) {
289
- await workingGroupEngine.DcmtsAddOrRemoveAsync(targetWorkingGroup.id, item.TID, item.DID, false);
290
- if (fetchArchivedDocumentsForWorkingGroup)
291
- await fetchArchivedDocumentsForWorkingGroup(targetWorkingGroup.id);
292
- }
299
+ catch (err) {
300
+ const description = getExceptionMessage(err);
301
+ result.push({
302
+ rowIndex: i + 1,
303
+ id1: item.DID ?? i + 1,
304
+ id2: item.TID ?? i + 1,
305
+ resultType: ResultTypes.ERROR,
306
+ description
307
+ });
308
+ // Bozza: nome del file; documento archiviato: DID.
309
+ const label = item.name ?? `DID ${item.DID ?? item.did}`;
310
+ waitPanel.error(1, `${label}: ${description}`);
293
311
  }
294
- result.push({
295
- rowIndex: i + 1,
296
- id1: item.DID ?? i + 1,
297
- id2: item.TID ?? i + 1,
298
- description: SDKUI_Localizator.UpdateCompletedSuccessfully,
299
- resultType: ResultTypes.SUCCESS
300
- });
301
- }
302
- catch (err) {
303
- result.push({
304
- rowIndex: i + 1,
305
- id1: item.DID ?? i + 1,
306
- id2: item.TID ?? i + 1,
307
- resultType: ResultTypes.ERROR,
308
- description: getExceptionMessage(err)
309
- });
312
+ await waitPanel.step();
310
313
  }
311
314
  }
312
- setWaitPanelTextPrimary('');
313
- setWaitPanelMaxValuePrimary(0);
314
- setWaitPanelValuePrimary(0);
315
- setShowWaitPanel(false);
316
- TMResultManager.show(result, mode !== 'move' ? SDKUI_Localizator.Copy : SDKUI_Localizator.Move, "ID", undefined);
315
+ finally {
316
+ waitPanel.close();
317
+ }
317
318
  onClose();
319
+ // Shown after the modal has closed: the alert animation is time-based, so it must not start while the page is still busy re-rendering
320
+ setTimeout(() => TMResultManager.show(result, mode !== 'move' ? SDKUI_Localizator.Copy : SDKUI_Localizator.Move, "ID", undefined), 0);
318
321
  }
319
322
  catch (e) {
320
323
  TMExceptionBoxManager.show({ exception: e });
@@ -365,7 +368,7 @@ const TMWGsCopyMoveForm = (props) => {
365
368
  const tooltipContent = _jsxs("div", { style: { textAlign: "center" }, children: [_jsx("span", { style: { fontWeight: 'bold' }, children: "ID" }), ": ", itemData.id] });
366
369
  return (_jsxs("div", { style: { whiteSpace: "nowrap", display: "flex", alignItems: "center" }, className: isSelected ? 'treeview-selected-item-manager' : '', children: [_jsx(TMTooltip, { content: tooltipContent, children: _jsx(IconFolder, { fontSize: 24, style: { marginRight: 5, color: TMColors.iconLight } }) }), itemData.text] }));
367
370
  };
368
- return _jsx(TMSaveForm, { title: getTitle(), showTitleFormMode: false, showErrorCount: false, showUndoButton: false, hasNavigation: false, skipIsModifiedCheck: true, isModal: true, width: calcResponsiveSizes(deviceType, '800px', '800px', '95%'), height: '550px', validationItems: validationItems, exception: exception, isModified: isLocalSelectionModified(), showToolbar: false, showSaveButton: false, onClose: onClose, children: _jsxs(TMLayoutWaitingContainer, { direction: 'vertical', showWaitPanel: showWaitPanel, showWaitPanelPrimary: showPrimary, waitPanelTitle: waitPanelTitle, waitPanelTextPrimary: waitPanelTextPrimary, waitPanelValuePrimary: waitPanelValuePrimary, waitPanelMaxValuePrimary: waitPanelMaxValuePrimary, isCancelable: true, abortController: abortController, children: [_jsx("div", { style: { width: "100%", height: '48px' }, children: _jsx(TMStepNavigator, { steps: steps, currentStep: adjustedCurrentStep, onStepChange: (stepIndex) => { setCurrentStep(stepIndex); } }) }), _jsxs("div", { style: {
371
+ return _jsx(TMSaveForm, { title: getTitle(), showTitleFormMode: false, showErrorCount: false, showUndoButton: false, hasNavigation: false, skipIsModifiedCheck: true, isModal: true, width: calcResponsiveSizes(deviceType, '800px', '800px', '95%'), height: '550px', validationItems: validationItems, exception: exception, isModified: isLocalSelectionModified(), showToolbar: false, showSaveButton: false, onClose: onClose, children: _jsxs(TMLayoutContainer, { direction: 'vertical', children: [_jsx("div", { style: { width: "100%", height: '48px' }, children: _jsx(TMStepNavigator, { steps: steps, currentStep: adjustedCurrentStep, onStepChange: (stepIndex) => { setCurrentStep(stepIndex); } }) }), _jsxs("div", { style: {
369
372
  marginTop: '10px',
370
373
  padding: '10px',
371
374
  borderRadius: '8px',
@@ -374,8 +377,9 @@ const TMWGsCopyMoveForm = (props) => {
374
377
  width: '100%',
375
378
  height: 'calc(100% - 113px)',
376
379
  overflow: 'auto',
377
- }, children: [(currentStep === 0 && wgs.length > 0) &&
378
- _jsx(TMDataGrid, { dataColumns: dataColumns, dataSource: wgs, selection: selection, focusedRowKey: focusedRowKey, onFocusedRowChanged: onFocusedRowChanged, selectedRowKeys: [...selectedRowKeys], onSelectionChanged: onSelectionChanged, onRowClick: onRowClick, onRowDblClick: onRowDblClick, autoNavigateToFocusedRow: true, showColumnHeaders: false }), (currentStep === 1) &&
380
+ }, children: [isLoading &&
381
+ _jsxs("div", { style: { width: '100%', height: '100%', display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center', gap: '10px' }, children: [_jsx(LoadIndicator, { height: 40, width: 40 }), _jsx("div", { children: currentStep === 0 ? SDKUI_Localizator.LoadingWorkGroups : SDKUI_Localizator.Loading })] }), (!isLoading && currentStep === 0 && wgs.length > 0) &&
382
+ _jsx(TMDataGrid, { dataColumns: dataColumns, dataSource: wgs, selection: selection, focusedRowKey: focusedRowKey, onFocusedRowChanged: onFocusedRowChanged, selectedRowKeys: [...selectedRowKeys], onSelectionChanged: onSelectionChanged, onRowClick: onRowClick, onRowDblClick: onRowDblClick, autoNavigateToFocusedRow: true, showColumnHeaders: false }), (!isLoading && currentStep === 1) &&
379
383
  _jsx(TreeView, { dataSource: treeViewData, displayExpr: "text", itemRender: renderTreeViewItem, onItemClick: handleTreeViewItemClick })] }), _jsxs("div", { style: {
380
384
  width: "100%",
381
385
  height: '45px',
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { DcmtTypeDescriptor, HomeBlogPost, TaskDescriptor, WFDescriptor } from '@topconsultnpm/sdk-ts';
3
2
  import { DeviceType } from "../../base/TMDeviceProvider";
4
3
  import { WorkItemDetail } from "../../../ts";
@@ -33,7 +32,7 @@ interface IWorkflowOperationButtonsProps {
33
32
  handleNavigateToWGs?: (value: HomeBlogPost | number) => Promise<void>;
34
33
  handleNavigateToDossiers?: (value: HomeBlogPost | number) => Promise<void>;
35
34
  }
36
- export declare const WorkFlowOperationButtons: (props: IWorkflowOperationButtonsProps) => React.JSX.Element;
35
+ export declare const WorkFlowOperationButtons: (props: IWorkflowOperationButtonsProps) => import("react/jsx-runtime").JSX.Element;
37
36
  export declare const WorkFlowApproveRejectPopUp: ({ TID, DID, deviceType, isReject, selectedItems, onClose, onCompleted }: {
38
37
  TID?: number;
39
38
  DID?: number;
@@ -42,7 +41,7 @@ export declare const WorkFlowApproveRejectPopUp: ({ TID, DID, deviceType, isReje
42
41
  isReject: number;
43
42
  onClose?: () => void;
44
43
  onCompleted?: () => Promise<void>;
45
- }) => React.JSX.Element;
44
+ }) => import("react/jsx-runtime").JSX.Element;
46
45
  export declare const WorkFlowReAssignPopUp: ({ DID, TID, deviceType, onClose, selectedItems, onCompleted, wf, workItemDetail }: {
47
46
  TID?: number;
48
47
  DID?: number;
@@ -52,7 +51,7 @@ export declare const WorkFlowReAssignPopUp: ({ DID, TID, deviceType, onClose, se
52
51
  onCompleted?: () => Promise<void>;
53
52
  wf?: WFDescriptor;
54
53
  workItemDetail?: WorkItemDetail;
55
- }) => React.JSX.Element;
54
+ }) => import("react/jsx-runtime").JSX.Element;
56
55
  /**
57
56
  * Modal per forzare l'approvazione di un work item
58
57
  */
@@ -60,7 +59,7 @@ export declare const WorkflowForceApproveModal: ({ detail, onClose, onCompleted
60
59
  detail: WorkItemDetail;
61
60
  onClose?: () => void;
62
61
  onCompleted?: () => Promise<void>;
63
- }) => React.JSX.Element;
62
+ }) => import("react/jsx-runtime").JSX.Element;
64
63
  /**
65
64
  * Modal per forzare il rifiuto di un work item
66
65
  */
@@ -68,7 +67,7 @@ export declare const WorkflowForceRejectModal: ({ detail, onClose, onCompleted }
68
67
  detail: WorkItemDetail;
69
68
  onClose?: () => void;
70
69
  onCompleted?: () => Promise<void>;
71
- }) => React.JSX.Element;
70
+ }) => import("react/jsx-runtime").JSX.Element;
72
71
  /**
73
72
  * Modal per terminare le istanze workflow selezionate
74
73
  */
@@ -80,7 +79,7 @@ export declare const WorkflowEndInstanceModal: ({ selectedInstances, onClose, on
80
79
  }>;
81
80
  onClose?: () => void;
82
81
  onCompleted?: () => Promise<void>;
83
- }) => React.JSX.Element;
82
+ }) => import("react/jsx-runtime").JSX.Element;
84
83
  interface IWorkFlowMoreInfoPopUpProps {
85
84
  fromDTD?: DcmtTypeDescriptor;
86
85
  TID?: number;
@@ -97,5 +96,5 @@ interface IWorkFlowMoreInfoPopUpProps {
97
96
  handleNavigateToDossiers?: (value: HomeBlogPost | number) => Promise<void>;
98
97
  triggerBlogRefresh?: () => Promise<void>;
99
98
  }
100
- export declare const WorkFlowMoreInfoPopUp: (props: IWorkFlowMoreInfoPopUpProps) => React.JSX.Element | undefined;
99
+ export declare const WorkFlowMoreInfoPopUp: (props: IWorkFlowMoreInfoPopUpProps) => import("react/jsx-runtime").JSX.Element | undefined;
101
100
  export {};
@@ -1,9 +1,7 @@
1
1
  import React from 'react';
2
2
  import { QueryDescriptor } from '@topconsultnpm/sdk-ts';
3
3
  import { WorkItemActor } from './RecipientList';
4
- export declare const RecipientsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
5
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
6
- }> & string;
4
+ export declare const RecipientsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
7
5
  export declare const tosToActors: (tosString: string) => {
8
6
  andRecipients: WorkItemActor[];
9
7
  orRecipients: WorkItemActor[];
@@ -11,6 +11,4 @@ interface ChangePasswordInputsProps {
11
11
  }
12
12
  declare const ChangePasswordInputs: React.FC<ChangePasswordInputsProps>;
13
13
  export default ChangePasswordInputs;
14
- export declare const Divider: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
15
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
16
- }> & string;
14
+ export declare const Divider: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
@@ -23,6 +23,6 @@ interface ChooserProps<T> {
23
23
  onClose?: () => void;
24
24
  isDropDown?: boolean;
25
25
  }
26
- declare const Chooser: <T>({ dataSource, columns, value, additionalIcons, validationItems, title, label, icon, placeHolder, disabled, selectedRow, onChooserClick, onSelectionChanged, onClose, isDropDown }: ChooserProps<T>) => React.JSX.Element;
26
+ declare const Chooser: <T>({ dataSource, columns, value, additionalIcons, validationItems, title, label, icon, placeHolder, disabled, selectedRow, onChooserClick, onSelectionChanged, onClose, isDropDown }: ChooserProps<T>) => import("react/jsx-runtime").JSX.Element;
27
27
  export default Chooser;
28
- export declare function IconDropDown(props: React.SVGProps<SVGSVGElement>): React.JSX.Element;
28
+ export declare function IconDropDown(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { ITMChooserFormProps } from '../../ts';
3
- declare const TMChooserForm: <T>({ children, title, allowMultipleSelection, allowApplyWithZeroSelection, startWithShowOnlySelectedItems, hasShowOnlySelectedItems, allowGrouping, allowSorting, width, height, dataSource, selectedIDs, manageUseLocalizedName, hasShowId, hideRefresh, keyName, customButtons, showFilterPanel, showDefaultColumns, columns, summaryItems, convertID, customFilter, getItems, cellRenderIcon, cellRenderNameAndDesc, onChoose, onClose, onShowIdChanged }: ITMChooserFormProps<T>) => React.JSX.Element;
2
+ declare const TMChooserForm: <T>({ children, title, allowMultipleSelection, allowApplyWithZeroSelection, startWithShowOnlySelectedItems, hasShowOnlySelectedItems, allowGrouping, allowSorting, width, height, dataSource, selectedIDs, manageUseLocalizedName, hasShowId, hideRefresh, keyName, customButtons, showFilterPanel, showDefaultColumns, columns, summaryItems, convertID, customFilter, getItems, cellRenderIcon, cellRenderNameAndDesc, onChoose, onClose, onShowIdChanged }: ITMChooserFormProps<T>) => import("react/jsx-runtime").JSX.Element;
4
3
  export default TMChooserForm;
@@ -25,7 +25,7 @@ const TMResultDialog = ({ title, result, id1Caption, id2Caption }) => {
25
25
  TMExceptionBoxManager.show({ exception: e.data.description });
26
26
  }
27
27
  };
28
- return (_jsx(TMModal, { height: '65%', width: '75%', title: `${SDKUI_Localizator.OperationResult} - ${title}`, children: _jsxs(TMLayoutContainer, { children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '5px', padding: '5px', justifyContent: 'center', alignItems: 'center' }, children: [_jsx("p", { children: `${SDKUI_Localizator.ProcessedItems}: ${result.length}` }), _jsx(IconSuccessCirlce, { fontSize: 22, color: TMColors.success }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.SUCCESS).length ?? 0 }), _jsx(IconWarning, { fontSize: 22, color: TMColors.warning }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.WARNING).length ?? 0 }), _jsx(IconCloseCircle, { fontSize: 22, color: TMColors.error }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.ERROR).length ?? 0 })] }), _jsxs(DataGrid, { dataSource: result.filter(o => o.resultType != ResultTypes.SUCCESS), showColumnLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showRowLines) === 1, showRowLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showColumnLines) === 1, keyExpr: "rowIndex", width: "100%", height: "100%", columnResizingMode: "widget", allowColumnResizing: true, focusedRowEnabled: true, hoverStateEnabled: true, rowAlternationEnabled: true, onRowDblClick: handleRowDblClick, children: [_jsx(Column, { dataField: 'resultType', caption: '', width: "5%", allowResizing: true, allowSorting: true, cellRender: cellRender }), _jsx(Column, { dataField: 'id1', caption: id1Caption, width: "10%" }), id2Caption && _jsx(Column, { dataField: 'id2', caption: id2Caption, width: "10%" }), _jsx(Column, { dataField: 'description', allowResizing: true, caption: SDKUI_Localizator.Description, allowSorting: true, width: id2Caption ? "75%" : "85%" }), _jsx(HeaderFilter, { visible: true }), _jsx(Paging, { enabled: true, pageSize: 30 }), _jsx(Pager, { visible: true, showInfo: true, showNavigationButtons: true }), _jsx(Scrolling, { mode: 'standard', useNative: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.useNativeScrollbar) === 1 })] })] }) }));
28
+ return (_jsx(TMModal, { height: '65%', width: '75%', title: `${SDKUI_Localizator.OperationResult} - ${title}`, children: _jsxs(TMLayoutContainer, { children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '5px', padding: '5px', justifyContent: 'center', alignItems: 'center', flexShrink: 0 }, children: [_jsx("p", { children: `${SDKUI_Localizator.ProcessedItems}: ${result.length}` }), _jsx(IconSuccessCirlce, { fontSize: 22, color: TMColors.success }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.SUCCESS).length ?? 0 }), _jsx(IconWarning, { fontSize: 22, color: TMColors.warning }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.WARNING).length ?? 0 }), _jsx(IconCloseCircle, { fontSize: 22, color: TMColors.error }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.ERROR).length ?? 0 })] }), _jsx("div", { style: { flex: '1 1 auto', minHeight: 0, width: '100%', overflow: 'hidden' }, children: _jsxs(DataGrid, { dataSource: result.filter(o => o.resultType != ResultTypes.SUCCESS), showColumnLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showRowLines) === 1, showRowLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showColumnLines) === 1, keyExpr: "rowIndex", width: "100%", height: "100%", columnResizingMode: "widget", allowColumnResizing: true, focusedRowEnabled: true, hoverStateEnabled: true, rowAlternationEnabled: true, onRowDblClick: handleRowDblClick, children: [_jsx(Column, { dataField: 'resultType', caption: '', width: "5%", allowResizing: true, allowSorting: true, cellRender: cellRender }), _jsx(Column, { dataField: 'id1', caption: id1Caption, width: "10%" }), id2Caption && _jsx(Column, { dataField: 'id2', caption: id2Caption, width: "10%" }), _jsx(Column, { dataField: 'description', allowResizing: true, caption: SDKUI_Localizator.Description, allowSorting: true, width: id2Caption ? "75%" : "85%" }), _jsx(HeaderFilter, { visible: true }), _jsx(Paging, { enabled: true, pageSize: 30 }), _jsx(Pager, { visible: true, showInfo: true, showNavigationButtons: true }), _jsx(Scrolling, { mode: 'standard', useNative: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.useNativeScrollbar) === 1 })] }) })] }) }));
29
29
  };
30
30
  export default TMResultDialog;
31
31
  export class TMResultManager {
@@ -13,19 +13,19 @@ interface ITMSaveFormButtonPreviousProps extends ITMSaveFormButtonBase {
13
13
  onPrev?: () => void;
14
14
  onSaveAsync?: () => Promise<void>;
15
15
  }
16
- export declare const TMSaveFormButtonPrevious: ({ btnStyle, formMode, isModified, onPrev, canPrev, iconColor, onSaveAsync }: ITMSaveFormButtonPreviousProps) => React.JSX.Element;
16
+ export declare const TMSaveFormButtonPrevious: ({ btnStyle, formMode, isModified, onPrev, canPrev, iconColor, onSaveAsync }: ITMSaveFormButtonPreviousProps) => import("react/jsx-runtime").JSX.Element;
17
17
  interface ITMSaveFormButtonNextProps extends ITMSaveFormButtonBase {
18
18
  canNext?: boolean;
19
19
  onNext?: () => void;
20
20
  onSaveAsync?: () => Promise<void>;
21
21
  }
22
- export declare const TMSaveFormButtonNext: ({ btnStyle, formMode, isModified, onNext, canNext, iconColor, onSaveAsync }: ITMSaveFormButtonNextProps) => React.JSX.Element;
22
+ export declare const TMSaveFormButtonNext: ({ btnStyle, formMode, isModified, onNext, canNext, iconColor, onSaveAsync }: ITMSaveFormButtonNextProps) => import("react/jsx-runtime").JSX.Element;
23
23
  interface ITMSaveFormButtonSaveProps extends ITMSaveFormButtonBase {
24
24
  errorsCount: number;
25
25
  onSaveAsync?: () => Promise<void>;
26
26
  }
27
- export declare const TMSaveFormButtonSave: ({ btnStyle, errorsCount, isModified, iconColor, width, advancedColor, advancedType, onSaveAsync }: ITMSaveFormButtonSaveProps) => React.JSX.Element;
27
+ export declare const TMSaveFormButtonSave: ({ btnStyle, errorsCount, isModified, iconColor, width, advancedColor, advancedType, onSaveAsync }: ITMSaveFormButtonSaveProps) => import("react/jsx-runtime").JSX.Element;
28
28
  interface ITMSaveFormButtonUndoProps extends ITMSaveFormButtonBase {
29
29
  onUndo?: () => void;
30
30
  }
31
- export declare const TMSaveFormButtonUndo: ({ btnStyle, isModified, iconColor, width, advancedColor, advancedType, onUndo, color, showTooltip }: ITMSaveFormButtonUndoProps) => React.JSX.Element;
31
+ export declare const TMSaveFormButtonUndo: ({ btnStyle, isModified, iconColor, width, advancedColor, advancedType, onUndo, color, showTooltip }: ITMSaveFormButtonUndoProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { BlogPostAttachment, DcmtTypeDescriptor } from "@topconsultnpm/sdk-ts";
3
2
  import { DcmtInfo } from "../../ts";
4
3
  import { FileItem } from "../base/TMFileManagerUtils";
@@ -26,5 +25,5 @@ interface TMBlogAttachmentsProps {
26
25
  handleAttachmentFocus: (attachment: DcmtInfo | undefined) => void;
27
26
  openDcmtForm: (dcmtInfo: DcmtInfo) => void;
28
27
  }
29
- declare const TMBlogAttachments: (props: TMBlogAttachmentsProps) => React.JSX.Element;
28
+ declare const TMBlogAttachments: (props: TMBlogAttachmentsProps) => import("react/jsx-runtime").JSX.Element;
30
29
  export default TMBlogAttachments;
@@ -27,5 +27,5 @@ interface TMBlogHeaderProps {
27
27
  /** Callback when the search text changes */
28
28
  onSearchChange: (value: string) => void;
29
29
  }
30
- declare const TMBlogHeader: (props: TMBlogHeaderProps) => React.JSX.Element;
30
+ declare const TMBlogHeader: (props: TMBlogHeaderProps) => import("react/jsx-runtime").JSX.Element;
31
31
  export default TMBlogHeader;
@@ -89,5 +89,5 @@ interface TMBlogsPostProps {
89
89
  /** Apre la pratica CaseFlow di una notizia con `classID === 'CF'` (bacheca Home V6). */
90
90
  handleNavigateToCaseflows?: (value: HomeBlogPost | number) => Promise<void>;
91
91
  }
92
- declare const TMBlogsPost: (props: TMBlogsPostProps) => React.JSX.Element;
92
+ declare const TMBlogsPost: (props: TMBlogsPostProps) => import("react/jsx-runtime").JSX.Element;
93
93
  export default TMBlogsPost;