@topconsultnpm/sdkui-react 6.22.0-dev3.3 → 6.22.0-dev3.30

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 (172) hide show
  1. package/lib/components/NewComponents/ContextMenu/styles.d.ts +45 -43
  2. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +67 -60
  3. package/lib/components/base/Styled.d.ts +93 -77
  4. package/lib/components/base/Styled.js +7 -5
  5. package/lib/components/base/TMAlert.js +6 -8
  6. package/lib/components/base/TMAreaManager.js +53 -55
  7. package/lib/components/base/TMCounterBar.d.ts +2 -2
  8. package/lib/components/base/TMCounterContainer.d.ts +2 -1
  9. package/lib/components/base/TMCustomButton.d.ts +1 -1
  10. package/lib/components/base/TMCustomButton.js +40 -48
  11. package/lib/components/base/TMDataGrid.js +2 -2
  12. package/lib/components/base/TMDataGridExportForm.d.ts +2 -1
  13. package/lib/components/base/TMFileManager.d.ts +2 -1
  14. package/lib/components/base/TMFileManagerDataGridView.d.ts +2 -1
  15. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +1 -1
  16. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +1 -1
  17. package/lib/components/base/TMFileManagerUtils.d.ts +4 -6
  18. package/lib/components/base/TMLayout.d.ts +4 -4
  19. package/lib/components/base/TMList.d.ts +2 -1
  20. package/lib/components/base/TMListView.d.ts +1 -1
  21. package/lib/components/base/TMPanel.js +167 -167
  22. package/lib/components/base/TMSpinner.d.ts +2 -1
  23. package/lib/components/base/TMTab.d.ts +4 -3
  24. package/lib/components/base/TMTabControl.d.ts +106 -0
  25. package/lib/components/base/TMTabControl.js +664 -0
  26. package/lib/components/base/TMTooltip.d.ts +1 -1
  27. package/lib/components/base/TMTreeView.d.ts +14 -8
  28. package/lib/components/base/TMTreeView.js +33 -1
  29. package/lib/components/base/TMUserAvatar.d.ts +2 -1
  30. package/lib/components/base/TMVilViewer.d.ts +2 -1
  31. package/lib/components/base/TMWaitPanel.d.ts +3 -2
  32. package/lib/components/base/TMWaitPanel.js +1 -1
  33. package/lib/components/base/waitPanel/TMWaitPanelConfirm.d.ts +12 -0
  34. package/lib/components/base/waitPanel/TMWaitPanelConfirm.js +185 -0
  35. package/lib/components/base/waitPanel/TMWaitPanelManager.d.ts +169 -0
  36. package/lib/components/base/waitPanel/TMWaitPanelManager.js +320 -0
  37. package/lib/components/base/waitPanel/TMWaitPanelView.d.ts +53 -0
  38. package/lib/components/base/waitPanel/TMWaitPanelView.js +274 -0
  39. package/lib/components/base/waitPanel/index.d.ts +1 -0
  40. package/lib/components/base/waitPanel/index.js +1 -0
  41. package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
  42. package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +2 -1
  43. package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +2 -1
  44. package/lib/components/choosers/TMPathChooser.js +17 -34
  45. package/lib/components/choosers/TMQuickSearchInfo.d.ts +2 -1
  46. package/lib/components/choosers/TMRelationChooser.d.ts +3 -3
  47. package/lib/components/choosers/TMUserChooser.d.ts +2 -2
  48. package/lib/components/editors/TMEditorStyled.d.ts +20 -42
  49. package/lib/components/editors/TMFormulaEditor.d.ts +1 -1
  50. package/lib/components/editors/TMHtmlContentDisplay.d.ts +2 -1
  51. package/lib/components/editors/TMHtmlEditor.d.ts +2 -1
  52. package/lib/components/editors/TMMetadataValues.js +5 -5
  53. package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
  54. package/lib/components/features/archive/TMArchive.js +7 -2
  55. package/lib/components/features/assistant/TMHelpOnLineChat.d.ts +28 -0
  56. package/lib/components/features/assistant/TMHelpOnLineChat.js +888 -0
  57. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
  58. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.js +2 -2
  59. package/lib/components/features/blog/TMBlogCommentForm.d.ts +2 -1
  60. package/lib/components/features/documents/TMBatchUpdateForm.js +3 -4
  61. package/lib/components/features/documents/TMCopyToFolderForm.js +50 -42
  62. package/lib/components/features/documents/TMDcmtForm.js +51 -62
  63. package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
  64. package/lib/components/features/documents/TMDcmtIcon.d.ts +2 -3
  65. package/lib/components/features/documents/TMDcmtIcon.js +3 -5
  66. package/lib/components/features/documents/TMDcmtPreview.d.ts +8 -6
  67. package/lib/components/features/documents/TMDcmtPreview.js +5 -3
  68. package/lib/components/features/documents/TMDcmtTasks.d.ts +2 -1
  69. package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
  70. package/lib/components/features/documents/TMFileUploader.js +26 -26
  71. package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +2 -0
  72. package/lib/components/features/documents/TMMasterDetailDcmts.js +54 -129
  73. package/lib/components/features/documents/TMMasterInfoFields.d.ts +2 -1
  74. package/lib/components/features/documents/TMMasterInfoFields.js +3 -2
  75. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +2 -1
  76. package/lib/components/features/documents/TMMergeToPdfForm.js +56 -54
  77. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +2 -1
  78. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.js +2 -5
  79. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +5 -5
  80. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.js +3 -3
  81. package/lib/components/features/documents/TMRelationViewer.d.ts +16 -9
  82. package/lib/components/features/documents/TMRelationViewer.js +238 -166
  83. package/lib/components/features/documents/relationTreeState.d.ts +32 -0
  84. package/lib/components/features/documents/relationTreeState.js +89 -0
  85. package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +2 -1
  86. package/lib/components/features/search/TMMetadataOutputForm.d.ts +2 -1
  87. package/lib/components/features/search/TMMetadataSorterForm.d.ts +2 -1
  88. package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
  89. package/lib/components/features/search/TMSearch.d.ts +1 -1
  90. package/lib/components/features/search/TMSearch.js +68 -9
  91. package/lib/components/features/search/TMSearchQueryPanel.d.ts +9 -3
  92. package/lib/components/features/search/TMSearchResult.d.ts +5 -0
  93. package/lib/components/features/search/TMSearchResult.js +19 -12
  94. package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
  95. package/lib/components/features/search/TMSignatureInfoContent.d.ts +2 -1
  96. package/lib/components/features/search/TMTreeSelector.js +38 -36
  97. package/lib/components/features/search/TMViewHistoryDcmt.d.ts +2 -1
  98. package/lib/components/features/search/TMViewHistoryDcmt.js +14 -25
  99. package/lib/components/features/tasks/TMTaskForm.d.ts +1 -1
  100. package/lib/components/features/tasks/TMTaskFormUtils.d.ts +10 -10
  101. package/lib/components/features/tasks/TMTasksAgenda.d.ts +1 -1
  102. package/lib/components/features/tasks/TMTasksCalendar.d.ts +1 -1
  103. package/lib/components/features/tasks/TMTasksHeader.d.ts +1 -1
  104. package/lib/components/features/tasks/TMTasksPanelContent.d.ts +1 -1
  105. package/lib/components/features/tasks/TMTasksUtilsView.d.ts +5 -5
  106. package/lib/components/features/tasks/TMTasksView.d.ts +1 -1
  107. package/lib/components/features/tasks/TMTasksView.js +96 -101
  108. package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +3 -2
  109. package/lib/components/features/wg/TMWGsCopyMoveForm.js +91 -91
  110. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +8 -7
  111. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +3 -1
  112. package/lib/components/forms/Login/ChangePasswordInputs.d.ts +3 -1
  113. package/lib/components/forms/Login/Chooser.d.ts +2 -2
  114. package/lib/components/forms/TMChooserForm.d.ts +2 -1
  115. package/lib/components/forms/TMResultDialog.js +1 -1
  116. package/lib/components/forms/TMSaveForm.d.ts +4 -4
  117. package/lib/components/grids/TMBlogAttachments.d.ts +2 -1
  118. package/lib/components/grids/TMBlogHeader.d.ts +1 -1
  119. package/lib/components/grids/TMBlogsPost.d.ts +1 -1
  120. package/lib/components/grids/TMBlogsPost.js +92 -96
  121. package/lib/components/grids/TMBlogsPostUtils.d.ts +9 -9
  122. package/lib/components/grids/TMValidationItemsList.d.ts +2 -1
  123. package/lib/components/index.d.ts +6 -0
  124. package/lib/components/index.js +5 -0
  125. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +2 -1
  126. package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +2 -2
  127. package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +5 -6
  128. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +2 -2
  129. package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +2 -2
  130. package/lib/components/pages/TMPage.d.ts +1 -1
  131. package/lib/components/pages/TMPage.js +29 -31
  132. package/lib/components/query/TMQueryEditor.d.ts +17 -10
  133. package/lib/components/query/TMQueryEditor.js +2 -1
  134. package/lib/components/settings/SettingsAppearance.d.ts +2 -1
  135. package/lib/components/sidebar/TMAboutApp.d.ts +2 -1
  136. package/lib/components/sidebar/TMCommandsPanel.d.ts +4 -4
  137. package/lib/components/sidebar/TMHeader.d.ts +4 -3
  138. package/lib/components/sidebar/TMHeader.js +2 -2
  139. package/lib/components/viewers/TMDataListItemViewer.d.ts +3 -2
  140. package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +3 -2
  141. package/lib/components/viewers/TMMidViewer.d.ts +2 -2
  142. package/lib/components/viewers/TMTidViewer.d.ts +2 -2
  143. package/lib/helper/Enum_Localizator.js +1 -0
  144. package/lib/helper/SDKUI_Localizator.d.ts +24 -0
  145. package/lib/helper/SDKUI_Localizator.js +240 -0
  146. package/lib/helper/TMAppUpdatedModal.d.ts +2 -1
  147. package/lib/helper/TMAppUpdatedModal.js +93 -93
  148. package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
  149. package/lib/helper/TMIcons.d.ts +280 -280
  150. package/lib/helper/TMPdfViewer.d.ts +2 -1
  151. package/lib/helper/TMToppyMessage.d.ts +2 -2
  152. package/lib/helper/TMUtils.d.ts +10 -4
  153. package/lib/helper/ZipManager.d.ts +1 -1
  154. package/lib/helper/ZipManager.js +2 -1
  155. package/lib/helper/dcmtsHelper.d.ts +2 -0
  156. package/lib/helper/dcmtsHelper.js +3 -1
  157. package/lib/helper/helpers.d.ts +1 -1
  158. package/lib/hooks/useCheckInOutOperations.d.ts +0 -6
  159. package/lib/hooks/useCheckInOutOperations.js +14 -34
  160. package/lib/hooks/useDcmtOperations.d.ts +3 -12
  161. package/lib/hooks/useDcmtOperations.js +187 -179
  162. package/lib/hooks/useDocumentOperations.d.ts +1 -0
  163. package/lib/hooks/useDocumentOperations.js +14 -25
  164. package/lib/hooks/useInputDialog.d.ts +2 -1
  165. package/lib/hooks/useMultiMasterDetailDcmts.d.ts +0 -15
  166. package/lib/hooks/useMultiMasterDetailDcmts.js +65 -67
  167. package/lib/hooks/usePreventFileDrop.js +9 -0
  168. package/lib/hooks/useWorkflowApprove.js +33 -17
  169. package/lib/services/caseflow/CaseFlowService.d.ts +36 -6
  170. package/lib/services/caseflow/CaseFlowService.js +55 -14
  171. package/lib/services/platform_services.d.ts +3 -2
  172. package/package.json +71 -71
@@ -6,12 +6,11 @@ import { TMColors } from '../../utils/theme';
6
6
  import ShowAlert from '../base/TMAlert';
7
7
  import TMAreaManager from '../base/TMAreaManager';
8
8
  import TMButton from '../base/TMButton';
9
- import { TMLayoutItem } from '../base/TMLayout';
9
+ import TMLayoutContainer, { TMLayoutItem } from '../base/TMLayout';
10
10
  import TMModal from '../base/TMModal';
11
11
  import { TMExceptionBoxManager } from '../base/TMPopUp';
12
- import { TMLayoutWaitingContainer } from '../base/TMWaitPanel';
12
+ import TMWaitPanelManager from '../base/waitPanel/TMWaitPanelManager';
13
13
  import TMTextBox from '../editors/TMTextBox';
14
- let abortController = new AbortController();
15
14
  const TMPathChooser = (props) => {
16
15
  //const [path, setPath] = useState<string>(props.value)
17
16
  const [elementStyle, setElementStyle] = useState(props.elementStyle);
@@ -22,12 +21,6 @@ const TMPathChooser = (props) => {
22
21
  const [showAreaManager, setShowAreaManager] = useState(false);
23
22
  const [downloadLink, setDownloadLink] = useState(null);
24
23
  const [file, setFile] = useState(null);
25
- const [showWaitPanel, setShowWaitPanel] = useState(false);
26
- const [waitPanelTitle, setWaitPanelTitle] = useState('');
27
- const [showSecondary, setShowSecondary] = useState(false);
28
- const [waitPanelTextSecondary, setWaitPanelTextSecondary] = useState('');
29
- const [waitPanelValueSecondary, setWaitPanelValueSecondary] = useState(0);
30
- const [waitPanelMaxValueSecondary, setWaitPanelMaxValueSecondary] = useState(0);
31
24
  const formulaItems = ['{@JobName}', '{@JobStartDate}', '{@JobStartDate_DDMMYYYY}', '{@JobStartDateTime}', '{@ProcessRunID}', '{@ProcessName}', '{@ProcessStartDate}', '{@ProcessStartDateTime}'];
32
25
  //useEffect(() => { setPath(props.value) }, [props.value])
33
26
  useEffect(() => {
@@ -98,30 +91,23 @@ const TMPathChooser = (props) => {
98
91
  return buttons;
99
92
  };
100
93
  const onFileDownloadHandler = async () => {
94
+ // Un solo file: la barra del pannello segue i byte scaricati
95
+ const waitPanel = TMWaitPanelManager.show({
96
+ title: "Download",
97
+ cancelable: true,
98
+ showCounters: false,
99
+ });
101
100
  try {
102
101
  let av = AreaHelper.ExtractAreaInfo_2(props.value, true);
103
102
  let doc;
104
103
  let tms = props.tmSession ?? SDK_Globals.tmSession;
105
- setShowWaitPanel(true);
106
- setShowSecondary(true);
107
- setWaitPanelTitle("Download");
108
- abortController = new AbortController();
109
- let firstBlock = true;
110
- let maxFileSize = 0;
111
- doc = await tms?.NewAreaEngine().RetrieveFileAsync(av.aid, av.subFolder, av.fileName, FileFormats.None, abortController.signal, (pd) => {
112
- if (firstBlock) {
113
- maxFileSize = pd.ProgressBarMaximum ?? 0;
114
- setWaitPanelMaxValueSecondary(maxFileSize);
115
- firstBlock = false;
116
- }
117
- setWaitPanelValueSecondary(pd.ProgressBarValue);
118
- setWaitPanelTextSecondary(`Downloading... ${Globalization.getNumberDisplayValue(pd.ProgressBarValue, true)} / ${Globalization.getNumberDisplayValue(maxFileSize, true)}`);
119
- if (pd.ProgressBarValue === pd.ProgressBarMaximum) {
120
- setWaitPanelMaxValueSecondary(0);
121
- setWaitPanelValueSecondary(0);
122
- setWaitPanelTextSecondary('');
123
- firstBlock = true;
124
- }
104
+ doc = await tms?.NewAreaEngine().RetrieveFileAsync(av.aid, av.subFolder, av.fileName, FileFormats.None, waitPanel.signal, (pd) => {
105
+ const total = pd.ProgressBarMaximum ?? 0;
106
+ waitPanel.update({
107
+ value: pd.ProgressBarValue,
108
+ max: total,
109
+ subtitle: `Downloading... ${Globalization.getNumberDisplayValue(pd.ProgressBarValue, true)} / ${Globalization.getNumberDisplayValue(total, true)}`
110
+ });
125
111
  });
126
112
  setFile(doc);
127
113
  }
@@ -135,13 +121,10 @@ const TMPathChooser = (props) => {
135
121
  setFile(null);
136
122
  }
137
123
  finally {
138
- setWaitPanelTextSecondary('');
139
- setWaitPanelMaxValueSecondary(0);
140
- setWaitPanelValueSecondary(0);
141
- setShowWaitPanel(false);
124
+ waitPanel.close();
142
125
  }
143
126
  };
144
- return (_jsxs(TMLayoutWaitingContainer, { direction: 'vertical', showWaitPanel: showWaitPanel, showWaitPanelSecondary: showSecondary, waitPanelTitle: waitPanelTitle, waitPanelTextSecondary: waitPanelTextSecondary, waitPanelValueSecondary: waitPanelValueSecondary, waitPanelMaxValueSecondary: waitPanelMaxValueSecondary, isCancelable: true, abortController: abortController, children: [_jsx(TMLayoutItem, { children: _jsx(TMTextBox, { buttons: renderButtons(), elementStyle: elementStyle, formulaItems: props.allowParametricPath ? formulaItems : [], isModifiedWhen: props.isModifiedWhen, label: props.label, value: props.value || '', onValueChanged: (e) => { /*setPath(e.target.value);*/ props.onValueChanged?.(e.target.value); }, validationItems: props.validationItems }) }), showAreaManager &&
127
+ return (_jsxs(TMLayoutContainer, { direction: 'vertical', children: [_jsx(TMLayoutItem, { children: _jsx(TMTextBox, { buttons: renderButtons(), elementStyle: elementStyle, formulaItems: props.allowParametricPath ? formulaItems : [], isModifiedWhen: props.isModifiedWhen, label: props.label, value: props.value || '', onValueChanged: (e) => { /*setPath(e.target.value);*/ props.onValueChanged?.(e.target.value); }, validationItems: props.validationItems }) }), showAreaManager &&
145
128
  _jsxs(TMModal, { resizable: true, width: '80%', onClose: () => setShowAreaManager(false), children: [_jsx(TMAreaManager, { showOnlyFolders: props.allowBrowseFolder_Area && !props.allowBrowseFile_Area, initialPath: props.value, onFolderChanged: (folder) => setAreaFolderPath(folder), onFileChanged: (file) => setAreaFilePath(file), isPathChooser: true, areaChoose: areaChoose, width: '98%', height: props.allowBrowseFile_Area ? '70vh' : '90%', tmSession: props.tmSession, selectionMode: 'single' }), _jsx("div", { style: { position: 'absolute', right: '22px', bottom: '8px' }, children: _jsx(TMButton, { caption: 'OK', onClick: () => areaChoose() }) })] })] }));
146
129
  };
147
130
  export default TMPathChooser;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { TMEditorButtonData } from '../base/TMEditorBase';
2
3
  interface ITMQuickSearchInfo {
3
4
  /** Tipo documento della ricerca rapida: serve a ricostruire la ricerca di sistema con tutti i documenti */
@@ -7,6 +8,6 @@ interface ITMQuickSearchInfo {
7
8
  }
8
9
  export declare const useTMQuickSearchInfo: ({ tid, sqdId }: ITMQuickSearchInfo) => {
9
10
  infoButton: TMEditorButtonData | undefined;
10
- detailForm: import("react/jsx-runtime").JSX.Element | null;
11
+ detailForm: React.JSX.Element | null;
11
12
  };
12
13
  export {};
@@ -19,13 +19,13 @@ export declare const TMRelationIdViewer: ({ relationType, relationId, showIcon,
19
19
  relationId?: number;
20
20
  showIcon?: boolean;
21
21
  noneSelectionText?: string;
22
- }) => import("react/jsx-runtime").JSX.Element;
22
+ }) => React.JSX.Element;
23
23
  export declare const TMRelationIcon: ({ rd, relationType }: {
24
24
  rd: RelationDescriptor | undefined;
25
25
  relationType?: RelationTypes;
26
- }) => import("react/jsx-runtime").JSX.Element;
26
+ }) => React.JSX.Element;
27
27
  export declare const TMRelationTooltip: ({ rd, relationType, children }: {
28
28
  rd?: RelationDescriptor;
29
29
  relationType: RelationTypes | undefined;
30
30
  children: React.ReactNode;
31
- }) => import("react/jsx-runtime").JSX.Element;
31
+ }) => React.JSX.Element;
@@ -38,8 +38,8 @@ interface ITMUserChooserFormProps extends ITMChooserFormProps<UserDescriptor> {
38
38
  export declare const TMUserChooserForm: React.FunctionComponent<ITMUserChooserFormProps>;
39
39
  export declare const TMUserIcon: ({ ud }: {
40
40
  ud?: UserDescriptor;
41
- }) => import("react/jsx-runtime").JSX.Element | null;
41
+ }) => React.JSX.Element | null;
42
42
  export declare const TMUserTooltip: ({ ud, children }: {
43
43
  ud?: UserDescriptor;
44
44
  children: React.ReactNode;
45
- }) => import("react/jsx-runtime").JSX.Element;
45
+ }) => React.JSX.Element;
@@ -2,22 +2,14 @@ import { ValidationItem } from '@topconsultnpm/sdk-ts';
2
2
  export declare const TMEditorsDefaultBorderRadius = "5px";
3
3
  export declare const TMEditorsDefaultLabelFontSize = "0.9rem";
4
4
  export declare const editorColorManager: (validationItems: ValidationItem[]) => string;
5
- export declare const StyledEditorContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$width"> & {
5
+ export declare const StyledEditorContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
6
+ style?: import("react").CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
7
+ }, {
6
8
  $width: string;
7
- }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$width"> & {
8
- $width: string;
9
- }, never>>> & string;
10
- export declare const StyledEditor: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "$borderRadius" | "$disabled" | "$fontSize" | "$isMobile" | "$isModified" | "$maxValue" | "$type" | "$vil" | "$width"> & {
11
- $vil: ValidationItem[];
12
- $width: string;
13
- $type: string;
14
- $isModified: boolean;
15
- $maxValue: number;
16
- $fontSize: string;
17
- $disabled: boolean;
18
- $isMobile?: boolean;
19
- $borderRadius?: string;
20
- }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "$borderRadius" | "$disabled" | "$fontSize" | "$isMobile" | "$isModified" | "$maxValue" | "$type" | "$vil" | "$width"> & {
9
+ }>> & string;
10
+ export declare const StyledEditor: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "style"> & {
11
+ style?: import("react").CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
12
+ }, {
21
13
  $vil: ValidationItem[];
22
14
  $width: string;
23
15
  $type: string;
@@ -27,40 +19,26 @@ export declare const StyledEditor: import("styled-components/dist/types").IStyle
27
19
  $disabled: boolean;
28
20
  $isMobile?: boolean;
29
21
  $borderRadius?: string;
30
- }, never>>> & string;
31
- export declare const StyledEditorIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$disabled" | "$isModified" | "$vil"> & {
22
+ }>> & string;
23
+ export declare const StyledEditorIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
24
+ style?: import("react").CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
25
+ }, {
32
26
  $vil: ValidationItem[];
33
27
  $disabled: boolean;
34
28
  $isModified: boolean;
35
- }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$disabled" | "$isModified" | "$vil"> & {
36
- $vil: ValidationItem[];
37
- $disabled: boolean;
38
- $isModified: boolean;
39
- }, never>>> & string;
40
- export declare const StyledEditorLabel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$color" | "$disabled" | "$fontSize" | "$isFocused" | "$labelPosition"> & {
29
+ }>> & string;
30
+ export declare const StyledEditorLabel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
31
+ style?: import("react").CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
32
+ }, {
41
33
  $isFocused: boolean;
42
34
  $labelPosition: 'right' | 'left' | 'top';
43
35
  $disabled: boolean;
44
36
  $fontSize?: string;
45
37
  $color?: string;
46
- }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$color" | "$disabled" | "$fontSize" | "$isFocused" | "$labelPosition"> & {
47
- $isFocused: boolean;
48
- $labelPosition: 'right' | 'left' | 'top';
49
- $disabled: boolean;
50
- $fontSize?: string;
51
- $color?: string;
52
- }, never>>> & string;
53
- export declare const StyledTextareaEditor: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "$borderRadius" | "$disabled" | "$fontSize" | "$isMobile" | "$isModified" | "$maxHeight" | "$resize" | "$vil" | "$width"> & {
54
- $vil: ValidationItem[];
55
- $width: string;
56
- $isModified: boolean;
57
- $fontSize: string;
58
- $disabled: boolean;
59
- $isMobile?: boolean;
60
- $maxHeight?: string;
61
- $borderRadius?: string;
62
- $resize?: boolean;
63
- }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "$borderRadius" | "$disabled" | "$fontSize" | "$isMobile" | "$isModified" | "$maxHeight" | "$resize" | "$vil" | "$width"> & {
38
+ }>> & string;
39
+ export declare const StyledTextareaEditor: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("react").DetailedHTMLProps<import("react").TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "style"> & {
40
+ style?: import("react").CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
41
+ }, {
64
42
  $vil: ValidationItem[];
65
43
  $width: string;
66
44
  $isModified: boolean;
@@ -70,4 +48,4 @@ export declare const StyledTextareaEditor: import("styled-components/dist/types"
70
48
  $maxHeight?: string;
71
49
  $borderRadius?: string;
72
50
  $resize?: boolean;
73
- }, never>>> & string;
51
+ }>> & string;
@@ -30,7 +30,7 @@ export declare class FormulaDescriptor {
30
30
  description?: string;
31
31
  syntax?: string;
32
32
  }
33
- export declare const renderFormulaIcon: (iconType: FormulaIconTypes, tid?: number, md?: MetadataDescriptor) => import("react/jsx-runtime").JSX.Element;
33
+ export declare const renderFormulaIcon: (iconType: FormulaIconTypes, tid?: number, md?: MetadataDescriptor) => React.JSX.Element;
34
34
  declare const TMFormulaEditor: React.FunctionComponent<ITMApplyFormProps<FormulaDescriptor>>;
35
35
  export default TMFormulaEditor;
36
36
  export declare class FormulaHelper {
@@ -1,7 +1,8 @@
1
+ import React from 'react';
1
2
  interface IHtmlContentDisplay {
2
3
  markup: string;
3
4
  isSelected: boolean;
4
5
  searchText?: string;
5
6
  }
6
- declare const TMHtmlContentDisplay: (props: IHtmlContentDisplay) => import("react/jsx-runtime").JSX.Element;
7
+ declare const TMHtmlContentDisplay: (props: IHtmlContentDisplay) => React.JSX.Element;
7
8
  export default TMHtmlContentDisplay;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { ValidationItem } from '@topconsultnpm/sdk-ts';
2
3
  export declare const sanitizeAndFormatComment: (raw?: string) => string;
3
4
  export interface ITMHtmlEditor {
@@ -34,5 +35,5 @@ export interface ITMHtmlEditor {
34
35
  /** If true, displays a character count below the editor */
35
36
  showCount?: boolean;
36
37
  }
37
- declare const TMHtmlEditor: (props: ITMHtmlEditor) => import("react/jsx-runtime").JSX.Element;
38
+ declare const TMHtmlEditor: (props: ITMHtmlEditor) => React.JSX.Element;
38
39
  export default TMHtmlEditor;
@@ -1,8 +1,8 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useCallback, useEffect, useMemo, useState } from "react";
3
3
  import styled from "styled-components";
4
- import { AccessLevels, AppModules, DcmtTypeListCacheService, LayoutGroupBorderStyles, LayoutGroupOrientations, LayoutItemTypes, LayoutModes, MetadataDataDomains, MetadataDataTypes, SDK_Globals, SystemMIDsAsNumber, SystemTIDs, WorkItemMetadataNames } from '@topconsultnpm/sdk-ts';
5
- import { IconUndo, IconPencil, IconFunction, IconMenuVertical, IconDataList, SDKUI_Localizator, IconNull, stringIsNullOrEmpty, deepCompare, SDKUI_Globals, IconDcmtTypeSys, isApprovalWorkflowView, StyledTabItem, getAppModuleGradient } from "../../helper";
4
+ import { AccessLevels, DcmtTypeListCacheService, LayoutGroupBorderStyles, LayoutGroupOrientations, LayoutItemTypes, LayoutModes, MetadataDataDomains, MetadataDataTypes, SDK_Globals, SystemMIDsAsNumber, SystemTIDs, WorkItemMetadataNames } from '@topconsultnpm/sdk-ts';
5
+ import { IconUndo, IconPencil, IconFunction, IconMenuVertical, IconDataList, SDKUI_Localizator, IconNull, stringIsNullOrEmpty, deepCompare, SDKUI_Globals, IconDcmtTypeSys, isApprovalWorkflowView } from "../../helper";
6
6
  import { TMColors } from "../../utils/theme";
7
7
  import TMButton from "../base/TMButton";
8
8
  import TMDropDownMenu from "../base/TMDropDownMenu";
@@ -13,7 +13,7 @@ import { FormulaHelper } from "./TMFormulaEditor";
13
13
  import { ChronologyMIDs, DraftsMIDs, DSAttachsMIDs } from "../../ts";
14
14
  import { TMNothingToShow } from "../features/documents/TMDcmtPreview";
15
15
  import TMAccordion from "../base/TMAccordion";
16
- import TabPanel, { Item } from 'devextreme-react/tab-panel';
16
+ import TMTabControl, { TMTabPanel } from "../base/TMTabControl";
17
17
  import { TMExceptionBoxManager } from "../base/TMPopUp";
18
18
  // Costante per la minWidth degli elementi - garantisce coerenza tra layout orizzontale e verticale
19
19
  const ITEM_MIN_WIDTH = 200;
@@ -754,7 +754,7 @@ const TMLayoutTabPanel = React.memo(({ tabItems }) => {
754
754
  const handleSelectedIndexChange = useCallback((index) => {
755
755
  setActiveTabIndex(index);
756
756
  }, []);
757
- return (_jsx(TabPanel, { width: "100%", height: "100%", animationEnabled: false, swipeEnabled: false, loop: false, showNavButtons: true, repaintChangesOnly: true, stylingMode: "primary", iconPosition: 'start', tabsPosition: 'top', selectedIndex: activeTabIndex, onSelectedIndexChange: handleSelectedIndexChange, children: tabItems.map((tabItem, index) => (_jsx(Item, { title: tabItem.title, tabRender: () => (_jsxs(StyledTabItem, { $isSelected: activeTabIndex === index, $activeGradient: getAppModuleGradient(SDK_Globals.tmSession?.SessionDescr?.appModuleID ?? AppModules.SURFER), children: [_jsx("span", { children: tabItem.title }), tabItem.errorCount !== undefined && tabItem.errorCount > 0 && (_jsx(TMTooltip, { content: _jsxs("div", { style: {
757
+ return (_jsx(TMTabControl, { variant: 'moduleFilled', contentAnimation: 'none', swipeEnabled: false, selectedId: String(activeTabIndex), onSelectedIdChange: (id) => handleSelectedIndexChange(Number(id)), style: { width: '100%', height: '100%' }, children: tabItems.map((tabItem, index) => (_jsx(TMTabPanel, { id: String(index), label: _jsxs(_Fragment, { children: [_jsx("span", { children: tabItem.title }), tabItem.errorCount !== undefined && tabItem.errorCount > 0 && (_jsx(TMTooltip, { content: _jsxs("div", { style: {
758
758
  minWidth: '240px',
759
759
  padding: '14px',
760
760
  borderRadius: '10px',
@@ -787,5 +787,5 @@ const TMLayoutTabPanel = React.memo(({ tabItems }) => {
787
787
  fontSize: '0.85em',
788
788
  color: '#7f1d1d',
789
789
  lineHeight: 1.4
790
- }, children: error.message })] }, idx))) })] }), children: _jsx(StyledErrorBadge, { children: tabItem.errorCount > 99 ? '99+' : tabItem.errorCount }) }))] })), children: _jsx("div", { style: { width: '100%', overflowX: 'auto' }, children: _jsx("div", { style: { minWidth: 'max-content' }, children: tabItem.content }) }) }, `tab-${tabItem.layoutItemID}`))) }));
790
+ }, children: error.message })] }, idx))) })] }), children: _jsx(StyledErrorBadge, { children: tabItem.errorCount > 99 ? '99+' : tabItem.errorCount }) }))] }), children: _jsx("div", { style: { width: '100%', overflowX: 'auto' }, children: _jsx("div", { style: { minWidth: 'max-content' }, children: tabItem.content }) }) }, `tab-${tabItem.layoutItemID}`))) }));
791
791
  });
@@ -14,5 +14,5 @@ interface TMTreeDropDownProps {
14
14
  isValidKey?: (key: number) => boolean;
15
15
  elementStyle?: React.CSSProperties;
16
16
  }
17
- declare const TMTreeDropDown: (props: TMTreeDropDownProps) => import("react/jsx-runtime").JSX.Element;
17
+ declare const TMTreeDropDown: (props: TMTreeDropDownProps) => React.JSX.Element;
18
18
  export default TMTreeDropDown;
@@ -22,12 +22,17 @@ const TMArchive = ({ onDcmtTypeSelect = undefined, inputTID, inputFile = null, c
22
22
  const pendingMidsRef = React.useRef(null);
23
23
  const deviceType = useDeviceType();
24
24
  useEffect(() => { setMruTIDs(SDKUI_Globals.userSettings.archivingSettings.mruTIDs); }, []);
25
+ // Applica inputTID solo quando cambia davvero: non deve sovrascrivere il tipo documento
26
+ // selezionato dall'utente.
25
27
  useEffect(() => {
26
28
  if (!inputTID)
27
29
  return;
28
30
  setCurrentTID(inputTID);
29
- setCurrentMruTID(mruTIDs.includes(inputTID) ? inputTID : 0);
30
- }, [inputTID, mruTIDs]);
31
+ }, [inputTID]);
32
+ // Evidenzia la scorciatoia del tipo documento corrente, anche quando mruTIDs cambia.
33
+ useEffect(() => {
34
+ setCurrentMruTID(currentTID && mruTIDs.includes(currentTID) ? currentTID : 0);
35
+ }, [currentTID, mruTIDs]);
31
36
  useEffect(() => {
32
37
  pendingMidsRef.current = inputMids;
33
38
  if (currentTID && currentTID > 0 && inputMids && inputMids.length > 0) {
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ export interface HolChatMessage {
3
+ id: string;
4
+ text: string;
5
+ isUser: boolean;
6
+ }
7
+ export interface ITMHelpOnLineChatProps {
8
+ isOpen: boolean;
9
+ showChatButton: boolean;
10
+ isLogged: boolean;
11
+ messages: HolChatMessage[];
12
+ conversationId?: string;
13
+ isThinking: boolean;
14
+ endpointUrl?: string;
15
+ onClose: () => void;
16
+ onToggle: () => void;
17
+ onNewConversation: () => void;
18
+ onAddMessage: (message: HolChatMessage) => void;
19
+ onSetThinking: (isThinking: boolean) => void;
20
+ onSetConversationId: (id: string) => void;
21
+ }
22
+ export interface ITMToppyHeaderButtonProps {
23
+ showChatButton: boolean;
24
+ onToggle: () => void;
25
+ }
26
+ declare const TMHelpOnLineChat: React.FC<ITMHelpOnLineChatProps>;
27
+ export default TMHelpOnLineChat;
28
+ export declare const TMToppyHeaderButton: React.FC<ITMToppyHeaderButtonProps>;