@topconsultnpm/sdkui-react 6.22.0-dev3.8 → 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 +7 -0
  27. package/lib/components/base/TMTabControl.js +225 -213
  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 +50 -42
  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 -141
  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 +59 -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 -12
  175. package/lib/hooks/useDcmtOperations.js +201 -184
  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
@@ -1,118 +1,102 @@
1
1
  import React from 'react';
2
2
  import { ResultTypes } from '@topconsultnpm/sdk-ts';
3
3
  import { TMColors } from '../../utils/theme';
4
- export declare const StyledDivHorizontal: 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;
7
- export declare const StyledMultiViewPanel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
8
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
9
- }, {
4
+ export declare const StyledDivHorizontal: 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;
5
+ export declare const StyledMultiViewPanel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isVisible"> & {
10
6
  $isVisible: boolean;
11
- }>> & string;
12
- export declare const StyledParagraph: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "style"> & {
13
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
14
- }> & string;
15
- export declare const StyledToolbarForm: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
16
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
17
- }> & string;
18
- export declare const ReferencesContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
19
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
20
- }> & string;
21
- export declare const StyledReferenceButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "style"> & {
22
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
23
- }, {
7
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isVisible"> & {
8
+ $isVisible: boolean;
9
+ }, never>>> & string;
10
+ export declare const StyledParagraph: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never>>> & string;
11
+ export declare const StyledToolbarForm: 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;
12
+ export declare const ReferencesContainer: 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;
13
+ export declare const StyledReferenceButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "$bgColor"> & {
14
+ $bgColor?: string;
15
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "$bgColor"> & {
24
16
  $bgColor?: string;
25
- }>> & string;
26
- export declare const StyledPanelPage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
27
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
28
- }, {
17
+ }, never>>> & string;
18
+ export declare const StyledPanelPage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$background" | "$isOpen" | "$padding" | "$withMenu"> & {
19
+ $isOpen?: boolean;
20
+ $padding?: string;
21
+ $background?: string;
22
+ $withMenu?: boolean;
23
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$background" | "$isOpen" | "$padding" | "$withMenu"> & {
29
24
  $isOpen?: boolean;
30
25
  $padding?: string;
31
26
  $background?: string;
32
27
  $withMenu?: boolean;
33
- }>> & string;
34
- export declare const StyledClickableIconWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
35
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
36
- }, {
28
+ }, never>>> & string;
29
+ export declare const StyledClickableIconWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$disabled"> & {
37
30
  $disabled?: boolean;
38
- }>> & string;
39
- export declare const StyledOffCanvasPanel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
40
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
41
- }, {
31
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$disabled"> & {
32
+ $disabled?: boolean;
33
+ }, never>>> & string;
34
+ export declare const StyledOffCanvasPanel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isOpen" | "$mobileHeight" | "$width"> & {
42
35
  $isOpen: boolean;
43
36
  $width?: string;
44
37
  $mobileHeight?: string;
45
- }>> & string;
46
- export declare const StyledOverlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
47
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
48
- }, {
38
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isOpen" | "$mobileHeight" | "$width"> & {
39
+ $isOpen: boolean;
40
+ $width?: string;
41
+ $mobileHeight?: string;
42
+ }, never>>> & string;
43
+ export declare const StyledOverlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isOpen"> & {
44
+ $isOpen: boolean;
45
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isOpen"> & {
49
46
  $isOpen: boolean;
50
- }>> & string;
51
- export declare const StyledModalContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
52
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
53
- }> & string;
54
- export declare const StyledResultTypeContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
55
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
56
- }, {
47
+ }, never>>> & string;
48
+ export declare const StyledModalContainer: 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;
49
+ export declare const StyledResultTypeContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$resultType"> & {
57
50
  $resultType: ResultTypes;
58
- }>> & string;
59
- export declare const StyledTooltipSeparatorItem: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, "style"> & {
60
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
61
- }> & string;
62
- export declare const StyledTooltipItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
63
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
64
- }, {
51
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$resultType"> & {
52
+ $resultType: ResultTypes;
53
+ }, never>>> & string;
54
+ export declare const StyledTooltipSeparatorItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, never>>> & string;
55
+ export declare const StyledTooltipItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$color" | "$fontSize" | "$marginTop"> & {
56
+ $color?: TMColors;
57
+ $fontSize?: string;
58
+ $marginTop?: string;
59
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$color" | "$fontSize" | "$marginTop"> & {
65
60
  $color?: TMColors;
66
61
  $fontSize?: string;
67
62
  $marginTop?: string;
68
- }>> & string;
69
- export declare const StyledTooltipContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
70
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
71
- }> & string;
72
- export declare const StyledDraggableDiv: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
73
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
74
- }> & string;
75
- export declare const StyledBadge: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
76
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
77
- }, {
63
+ }, never>>> & string;
64
+ export declare const StyledTooltipContainer: 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;
65
+ export declare const StyledDraggableDiv: 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;
66
+ export declare const StyledBadge: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
67
+ $backgroundColor: string;
68
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
78
69
  $backgroundColor: string;
79
- }>> & string;
80
- export declare const StyledDxGridGroupHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
81
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
82
- }, {
70
+ }, never>>> & string;
71
+ export declare const StyledDxGridGroupHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
72
+ $backgroundColor?: string;
73
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
83
74
  $backgroundColor?: string;
84
- }>> & string;
85
- export declare const cellRenderObjectIcon: (icon: any) => React.JSX.Element;
86
- export declare const StyledChartOverlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
87
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
88
- }, {
75
+ }, never>>> & string;
76
+ export declare const cellRenderObjectIcon: (icon: any) => import("react/jsx-runtime").JSX.Element;
77
+ export declare const StyledChartOverlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
89
78
  $backgroundColor?: string;
90
- }>> & string;
91
- export declare const StyledBtnLoadChart: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "style"> & {
92
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
93
- }, {
79
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
94
80
  $backgroundColor?: string;
95
- }>> & string;
96
- export declare const StyledFormButtonsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
97
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
98
- }> & string;
99
- export declare const StyledToolbarCardContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
100
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
101
- }> & string;
102
- export declare const StyledSpinner: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
103
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
104
- }> & string;
105
- export declare const StyledLoadingContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
106
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
107
- }> & string;
108
- export declare const StyledAnimatedComponentScaleColor: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
109
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
110
- }, {
81
+ }, never>>> & string;
82
+ export declare const StyledBtnLoadChart: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "$backgroundColor"> & {
83
+ $backgroundColor?: string;
84
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "$backgroundColor"> & {
85
+ $backgroundColor?: string;
86
+ }, never>>> & string;
87
+ export declare const StyledFormButtonsContainer: 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;
88
+ export declare const StyledToolbarCardContainer: 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;
89
+ export declare const StyledSpinner: 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;
90
+ export declare const StyledLoadingContainer: 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;
91
+ export declare const StyledAnimatedComponentScaleColor: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$delay" | "$scale"> & {
111
92
  $delay?: string;
112
93
  $scale?: number;
113
- }>> & string;
114
- export declare const StyledAnimatedComponentOpacity: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
115
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
116
- }, {
94
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$delay" | "$scale"> & {
95
+ $delay?: string;
96
+ $scale?: number;
97
+ }, never>>> & string;
98
+ export declare const StyledAnimatedComponentOpacity: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$delay"> & {
99
+ $delay?: string;
100
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$delay"> & {
117
101
  $delay?: string;
118
- }>> & string;
102
+ }, never>>> & string;
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useState, useEffect } from 'react';
3
3
  import ReactDOM from 'react-dom/client';
4
4
  import { IconCloseCircle, IconInfo, IconSuccess, IconWarning } from '../../helper';
5
+ import { DeviceType, TMDeviceProvider, useDeviceType } from './TMDeviceProvider';
5
6
  const TMAlertPosition = {
6
7
  TOP_RIGHT: { top: '10px', right: '10px', position: 'absolute' },
7
8
  TOP_CENTER: { top: '10px', left: '50%', transform: 'translateX(-50%)', position: 'absolute' },
@@ -45,13 +46,8 @@ const Mode = {
45
46
  };
46
47
  // const TMAlert = ({ mode, duration = 5000, message, position = 'BOTTOM_CENTER' }: { mode: keyof AlertModes, duration?: number, message: string, position?: keyof typeof TMAlertPosition }) => {
47
48
  const TMAlert = ({ mode, duration = 1000, title, message, position = 'BOTTOM_RIGHT' }) => {
48
- const [currentWidth, setCurrentWidth] = useState(window.innerWidth);
49
+ const deviceType = useDeviceType();
49
50
  const [container] = useState(document.getElementsByClassName('tm-alert-temporary-container'));
50
- useEffect(() => {
51
- window.addEventListener('resize', () => {
52
- setCurrentWidth(window.innerWidth);
53
- });
54
- }, [currentWidth]);
55
51
  useEffect(() => {
56
52
  const tiemout = setTimeout(() => {
57
53
  let container = document.getElementsByClassName('tm-alert-temporary-container');
@@ -63,7 +59,9 @@ const TMAlert = ({ mode, duration = 1000, title, message, position = 'BOTTOM_RIG
63
59
  }, [container]);
64
60
  // Determine the style for the alert container based on the position prop
65
61
  const alertContainerStyle = TMAlertPosition[position];
66
- return (_jsx("div", { style: { width: '100%', paddingTop: '3px', ...alertContainerStyle }, children: _jsx("div", { className: 'tm-alert-animation-style', style: { animationDuration: `${duration}ms`, position: 'relative', float: 'right', zIndex: '20000999', width: '356px', height: '86px', borderRadius: '8px', overflow: 'hidden', border: '2px white solid', boxShadow: '0px 3px 6px #00000029' }, children: _jsx("div", { className: 'tm-alert-animation-style', style: { animationDuration: `${duration}ms` }, children: _jsxs("div", { className: 'tm-alert-container', style: { background: Mode[mode].color, animationDuration: `${duration}ms` }, children: [_jsxs("div", { className: "tm-alert-context", style: { position: 'relative' }, children: [_jsx("div", { className: 'tm-alert-icon', style: { position: 'absolute', top: '12px', left: '12px', paddingTop: '1px' }, children: Mode[mode].icon }), _jsx("div", { style: { color: Mode[mode].textColor, position: 'absolute', top: '15px', left: '45px', textAlign: 'left', fontSize: '1.1rem', fontWeight: 'bold', maxWidth: '280px' }, children: title }), _jsx("div", { style: { color: Mode[mode].textColor, position: 'absolute', top: '35px', left: '45px', textAlign: 'left', fontSize: '1rem', maxWidth: '280px' }, children: message })] }), _jsx("div", { className: 'tm-alert-loading', style: { backgroundImage: `linear-gradient(to right, ${Mode[mode].borderColor}, ${Mode[mode].textColor})`, animationDuration: `${duration}ms` } })] }) }) }) }));
62
+ // Su mobile l'alert e' piu' basso e con testo piu' piccolo: la versione desktop copre troppo schermo.
63
+ const isMobile = deviceType === DeviceType.MOBILE;
64
+ return (_jsx("div", { style: { width: '100%', paddingTop: '3px', ...alertContainerStyle }, children: _jsx("div", { className: 'tm-alert-animation-style', style: { animationDuration: `${duration}ms`, position: 'relative', float: 'right', zIndex: '20000999', width: isMobile ? 'min(300px, calc(100vw - 20px))' : '356px', height: isMobile ? '58px' : '86px', borderRadius: '8px', overflow: 'hidden', border: '2px white solid', boxShadow: '0px 3px 6px #00000029' }, children: _jsx("div", { className: 'tm-alert-animation-style', style: { animationDuration: `${duration}ms` }, children: _jsxs("div", { className: 'tm-alert-container', style: { background: Mode[mode].color, animationDuration: `${duration}ms` }, children: [_jsxs("div", { className: "tm-alert-context", style: { position: 'relative' }, children: [_jsx("div", { className: 'tm-alert-icon', style: { position: 'absolute', top: isMobile ? '8px' : '12px', left: isMobile ? '8px' : '12px', paddingTop: '1px' }, children: Mode[mode].icon }), _jsx("div", { style: { color: Mode[mode].textColor, position: 'absolute', top: isMobile ? '7px' : '15px', left: isMobile ? '38px' : '45px', textAlign: 'left', fontSize: isMobile ? '0.85rem' : '1.1rem', fontWeight: 'bold', maxWidth: isMobile ? 'calc(100% - 46px)' : '280px', ...(isMobile && { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }) }, children: title }), _jsx("div", { style: { color: Mode[mode].textColor, position: 'absolute', top: isMobile ? '25px' : '35px', left: isMobile ? '38px' : '45px', textAlign: 'left', fontSize: isMobile ? '0.8rem' : '1rem', maxWidth: isMobile ? 'calc(100% - 46px)' : '280px', ...(isMobile && { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }) }, children: message })] }), _jsx("div", { className: 'tm-alert-loading', style: { backgroundImage: `linear-gradient(to right, ${Mode[mode].borderColor}, ${Mode[mode].textColor})`, animationDuration: `${duration}ms` } })] }) }) }) }));
67
65
  };
68
66
  const ShowAlert = ({ mode, message, duration, title, position = 'BOTTOM_RIGHT' }) => {
69
67
  let container = document.createElement('div');
@@ -72,6 +70,6 @@ const ShowAlert = ({ mode, message, duration, title, position = 'BOTTOM_RIGHT' }
72
70
  // container.style.position = 'relative'
73
71
  container.style.display = 'flex';
74
72
  const root = ReactDOM.createRoot(container);
75
- root.render(_jsx(React.StrictMode, { children: _jsx(TMAlert, { message: message, mode: mode, duration: duration, title: title, position: position }) }));
73
+ root.render(_jsx(React.StrictMode, { children: _jsx(TMDeviceProvider, { children: _jsx(TMAlert, { message: message, mode: mode, duration: duration, title: title, position: position }) }) }));
76
74
  };
77
75
  export default ShowAlert;
@@ -10,7 +10,8 @@ import { loadMessages } from 'devextreme/localization';
10
10
  import { getFileManagerFolderColor, Globalization, IconAll, IconCloud, IconFolder, IconFolderForCSS, IconSelected, SDKUI_Localizator, svgToString } from '../../helper';
11
11
  import { TMExceptionBoxManager } from './TMPopUp';
12
12
  import ShowAlert from './TMAlert';
13
- import { TMLayoutWaitingContainer } from './TMWaitPanel';
13
+ import TMLayoutContainer from './TMLayout';
14
+ import TMWaitPanelManager from './waitPanel/TMWaitPanelManager';
14
15
  import TMCounterContainer, { CounterItemKey } from './TMCounterContainer';
15
16
  import { IconPdf, IconTxt, IconXls, IconDocx, IconImage, IconZip, IconXml, IconMp4, IconEmail, IconPpt, IconSigned, IconExe, IconHtml, IconDwg, IconDicom, IconSlddrw } from '../../assets/thumbnails';
16
17
  import styled from 'styled-components';
@@ -89,17 +90,6 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
89
90
  const [counterValues, setCounterValues] = useState(new Map());
90
91
  // State to maintain the selection mode (File System Item - right panel)
91
92
  const [selectionMode, setSelectionMode] = useState('single');
92
- /* State to manage the Wait Panel */
93
- const [showWaitPanel, setShowWaitPanel] = useState(false);
94
- const [waitPanelTitle, setWaitPanelTitle] = useState('');
95
- const [showPrimary, setShowPrimary] = useState(false);
96
- const [waitPanelTextPrimary, setWaitPanelTextPrimary] = useState('');
97
- const [waitPanelValuePrimary, setWaitPanelValuePrimary] = useState(0);
98
- const [waitPanelMaxValuePrimary, setWaitPanelMaxValuePrimary] = useState(0);
99
- const [showSecondary, setShowSecondary] = useState(false);
100
- const [waitPanelTextSecondary, setWaitPanelTextSecondary] = useState('');
101
- const [waitPanelValueSecondary, setWaitPanelValueSecondary] = useState(0);
102
- const [waitPanelMaxValueSecondary, setWaitPanelMaxValueSecondary] = useState(0);
103
93
  // Timer ID to store reference for any scheduled operation
104
94
  let timerId = null;
105
95
  // Prefix for area folder names
@@ -430,44 +420,55 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
430
420
  }
431
421
  };
432
422
  const downloadItems = async (items) => {
423
+ const files = items.filter(item => !item.isDirectory);
424
+ const isBatch = files.length > 1;
425
+ const waitPanel = TMWaitPanelManager.show({
426
+ title: "Download",
427
+ max: isBatch ? files.length : 0,
428
+ cancelable: true,
429
+ showCounters: false,
430
+ showSecondary: isBatch,
431
+ primaryLabel: isBatch ? 'File' : undefined,
432
+ secondaryLabel: isBatch ? 'File corrente' : undefined,
433
+ });
434
+ abortController = waitPanel.abortController;
435
+ const publishBytes = (loaded, total) => {
436
+ const text = total > 0
437
+ ? `Downloading... ${Globalization.getNumberDisplayValue(loaded, true)} / ${Globalization.getNumberDisplayValue(total, true)}`
438
+ : '';
439
+ if (isBatch)
440
+ waitPanel.setSecondary({ value: loaded, max: total, text });
441
+ else
442
+ waitPanel.update({ value: loaded, max: total, subtitle: text });
443
+ };
444
+ // Un solo avviso per tutta l'operazione: con più file riporta quanti ne sono stati scaricati.
445
+ let downloaded = 0;
446
+ const showInterrupted = () => ShowAlert({
447
+ mode: 'warning',
448
+ title: "Download",
449
+ duration: 3000,
450
+ message: isBatch ? SDKUI_Localizator.DownloadInterruptedFiles.replaceParams(downloaded, files.length) : SDKUI_Localizator.DownloadInterrupted,
451
+ });
433
452
  try {
434
- setShowWaitPanel(true);
435
- setShowPrimary(items.length > 1);
436
- setShowSecondary(true);
437
- setWaitPanelTitle("Download");
438
- abortController = new AbortController();
439
- let i = 0;
440
- setWaitPanelMaxValuePrimary(items.length);
441
- let firstBlock = true;
442
- let maxFileSize = 0;
443
- for (const item of items) {
444
- if (item.isDirectory)
445
- continue;
446
- if (abortController.signal.aborted) {
447
- ShowAlert({ message: 'Operazione interrotta', mode: 'warning', title: "Download files", duration: 3000 });
453
+ for (const item of files) {
454
+ if (waitPanel.aborted) {
455
+ showInterrupted();
448
456
  return;
449
457
  }
450
- setWaitPanelTextPrimary(`Download ${item.name}`);
458
+ if (isBatch)
459
+ waitPanel.setSubtitle(`Download ${item.name}`);
451
460
  const ad = item.dataItem.dataItem;
452
461
  const aid = ad?.id;
453
462
  const subFolder = item.parentPath === ad.name ? '' : item.parentPath.replace(ad.name + '/', '');
454
463
  const tms = props.tmSession ?? SDK_Globals.tmSession;
455
- const file = await tms?.NewAreaEngine().RetrieveFileAsync(aid, subFolder, item.name, FileFormats.None, abortController.signal, (pd) => {
456
- if (firstBlock) {
457
- maxFileSize = pd.ProgressBarMaximum ?? 0;
458
- setWaitPanelMaxValueSecondary(maxFileSize);
459
- firstBlock = false;
460
- }
461
- setWaitPanelValueSecondary(pd.ProgressBarValue);
462
- setWaitPanelTextSecondary(`Downloading... ${Globalization.getNumberDisplayValue(pd.ProgressBarValue, true)} / ${Globalization.getNumberDisplayValue(maxFileSize, true)}`);
463
- if (pd.ProgressBarValue === pd.ProgressBarMaximum) {
464
- setWaitPanelMaxValueSecondary(0);
465
- setWaitPanelValueSecondary(0);
466
- setWaitPanelTextSecondary('');
467
- firstBlock = true;
468
- }
469
- });
470
- setWaitPanelValuePrimary(i + 1);
464
+ let file;
465
+ try {
466
+ file = await tms?.NewAreaEngine().RetrieveFileAsync(aid, subFolder, item.name, FileFormats.None, waitPanel.signal, (pd) => publishBytes(pd.ProgressBarValue, pd.ProgressBarMaximum ?? 0));
467
+ }
468
+ finally {
469
+ if (isBatch)
470
+ publishBytes(0, 0);
471
+ }
471
472
  const fileURL = window.URL.createObjectURL(file);
472
473
  const alink2 = document.createElement('a');
473
474
  alink2.href = fileURL;
@@ -475,25 +476,22 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
475
476
  alink2.target = "_blank";
476
477
  alink2.rel = "noreferrer";
477
478
  alink2.click();
478
- i++;
479
+ downloaded++;
480
+ if (isBatch)
481
+ await waitPanel.step();
479
482
  }
483
+ if (files.length > 0)
484
+ ShowAlert({ mode: 'success', message: SDKUI_Localizator.OperationSuccess, title: "Download", duration: 3000 });
480
485
  }
481
486
  catch (ex) {
482
487
  const err = ex;
483
- if (err.name === 'CanceledError') {
484
- ShowAlert({ message: err.message, mode: 'warning', duration: 3000, title: 'Abort' });
485
- }
488
+ if (waitPanel.aborted || err.name === 'CanceledError')
489
+ showInterrupted();
486
490
  else
487
491
  TMExceptionBoxManager.show({ exception: ex });
488
492
  }
489
493
  finally {
490
- setWaitPanelTextPrimary('');
491
- setWaitPanelMaxValuePrimary(0);
492
- setWaitPanelValuePrimary(0);
493
- setWaitPanelTextSecondary('');
494
- setWaitPanelMaxValueSecondary(0);
495
- setWaitPanelValueSecondary(0);
496
- setShowWaitPanel(false);
494
+ waitPanel.close();
497
495
  }
498
496
  };
499
497
  // Asynchronous function to retrieve the items in a given directory (parentDirectory)
@@ -767,7 +765,7 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
767
765
  }
768
766
  };
769
767
  const folderColor = getFileManagerFolderColor(SDK_Globals.tmSession?.SessionDescr?.appModuleID ?? AppModules.SURFER);
770
- return (_jsx(TMLayoutWaitingContainer, { direction: 'vertical', showWaitPanel: showWaitPanel, showWaitPanelPrimary: showPrimary, showWaitPanelSecondary: showSecondary, waitPanelTitle: waitPanelTitle, waitPanelTextPrimary: waitPanelTextPrimary, waitPanelValuePrimary: waitPanelValuePrimary, waitPanelMaxValuePrimary: waitPanelMaxValuePrimary, waitPanelTextSecondary: waitPanelTextSecondary, waitPanelValueSecondary: waitPanelValueSecondary, waitPanelMaxValueSecondary: waitPanelMaxValueSecondary, isCancelable: true, abortController: abortController, children: _jsxs(StyledFileManagerWrapper, { $folderColor: folderColor, style: { width: "100%", height: "100%" }, children: [_jsxs(FileManager, { width: props.width, ref: fileManagerRef, height: `calc(${props.height} - 30px)`, onItemMoving: onItemCopying, onItemCopying: onItemCopying, onFileUploading: onFileUploading, fileSystemProvider: areaProvider, customizeThumbnail: customizeIcon, rootFolderName: SDK_Localizator.Areas, onSelectionChanged: onSelectionChanged, onDirectoryCreating: onDirectoryCreating, onFocusedItemChanged: onFocusedItemChanged, onSelectedFileOpened: onSelectedFileOpened, onContextMenuItemClick: onContextMenuItemClick,
768
+ return (_jsx(TMLayoutContainer, { direction: 'vertical', children: _jsxs(StyledFileManagerWrapper, { $folderColor: folderColor, style: { width: "100%", height: "100%" }, children: [_jsxs(FileManager, { width: props.width, ref: fileManagerRef, height: `calc(${props.height} - 30px)`, onItemMoving: onItemCopying, onItemCopying: onItemCopying, onFileUploading: onFileUploading, fileSystemProvider: areaProvider, customizeThumbnail: customizeIcon, rootFolderName: SDK_Localizator.Areas, onSelectionChanged: onSelectionChanged, onDirectoryCreating: onDirectoryCreating, onFocusedItemChanged: onFocusedItemChanged, onSelectedFileOpened: onSelectedFileOpened, onContextMenuItemClick: onContextMenuItemClick,
771
769
  /* onItemMoved={() => setCounter(counter => counter + 1)}
772
770
  onItemCopied={() => setCounter(counter => counter + 1)}
773
771
  onItemDeleted={() => setCounter(counter => counter - 1)}
@@ -246,13 +246,15 @@ const TMButton = forwardRef((props, ref) => {
246
246
  const [dropdownPos, setDropdownPos] = useState({ left: 0, top: 0, minWidth: 200 });
247
247
  const splitContainerRef = useRef(null);
248
248
  const dropdownRef = useRef(null);
249
+ const splitArrowRef = useRef(null);
249
250
  const hasSecondaryActions = !!secondaryActions && secondaryActions.length > 0;
250
251
  useEffect(() => {
251
252
  if (!isDropdownOpen)
252
253
  return;
253
254
  const handlePointerDown = (e) => {
254
255
  const target = e.target;
255
- if (splitContainerRef.current?.contains(target) || dropdownRef.current?.contains(target))
256
+ // Il pulsante principale chiude il menu: la sua azione non deve lasciarlo aperto
257
+ if (splitArrowRef.current?.contains(target) || dropdownRef.current?.contains(target))
256
258
  return;
257
259
  setIsDropdownOpen(false);
258
260
  };
@@ -301,7 +303,7 @@ const TMButton = forwardRef((props, ref) => {
301
303
  const buttonWithTooltip = showTooltip
302
304
  ? _jsx(TMTooltip, { hideAfterDelay: true, content: renderTooltip(), children: renderedButton() })
303
305
  : renderedButton();
304
- const renderSplitButton = () => (_jsxs(StyledSplitContainer, { ref: splitContainerRef, children: [buttonWithTooltip, _jsx(StyledSplitArrow, { type: 'button', $isDisabled: disabled, $isOpen: isDropdownOpen, "aria-haspopup": 'menu', "aria-expanded": isDropdownOpen, onClick: (e) => { e.stopPropagation(); toggleDropdown(); }, onMouseDown: (e) => e.stopPropagation(), children: _jsx(IconChevronDown, { fontSize: 14 }) }), isDropdownOpen && createPortal(_jsx(StyledDropdown, { ref: dropdownRef, role: 'menu', $left: dropdownPos.left, $top: dropdownPos.top, $minWidth: dropdownPos.minWidth, children: secondaryActions.map((action, idx) => (_jsxs(StyledDropdownItem, { type: 'button', role: 'menuitem', $disabled: action.disabled, disabled: action.disabled, onClick: () => {
306
+ const renderSplitButton = () => (_jsxs(StyledSplitContainer, { ref: splitContainerRef, children: [buttonWithTooltip, _jsx(StyledSplitArrow, { ref: splitArrowRef, type: 'button', $isDisabled: disabled, $isOpen: isDropdownOpen, "aria-haspopup": 'menu', "aria-expanded": isDropdownOpen, onClick: (e) => { e.stopPropagation(); toggleDropdown(); }, onMouseDown: (e) => e.stopPropagation(), children: _jsx(IconChevronDown, { fontSize: 14 }) }), isDropdownOpen && createPortal(_jsx(StyledDropdown, { ref: dropdownRef, role: 'menu', $left: dropdownPos.left, $top: dropdownPos.top, $minWidth: dropdownPos.minWidth, children: secondaryActions.map((action, idx) => (_jsxs(StyledDropdownItem, { type: 'button', role: 'menuitem', $disabled: action.disabled, disabled: action.disabled, onClick: () => {
305
307
  if (action.disabled)
306
308
  return;
307
309
  setIsDropdownOpen(false);
@@ -1,4 +1,4 @@
1
- import React, { ReactNode } from 'react';
1
+ import { ReactNode } from 'react';
2
2
  interface IProps {
3
3
  icon: ReactNode;
4
4
  text: string;
@@ -6,5 +6,5 @@ interface IProps {
6
6
  }
7
7
  declare const TMCounterBar: ({ items }: {
8
8
  items: IProps[];
9
- }) => React.JSX.Element;
9
+ }) => import("react/jsx-runtime").JSX.Element;
10
10
  export default TMCounterBar;
@@ -1,8 +1,9 @@
1
- import React from 'react';
1
+ export declare const formatCount: (value: number | string | undefined) => string;
2
2
  export declare enum CounterItemKey {
3
3
  allItems = "allItems",
4
4
  visibleItems = "visibleItems",
5
- selectedItems = "selectedItems"
5
+ selectedItems = "selectedItems",
6
+ pageSize = "pageSize"
6
7
  }
7
8
  export interface ITMCounterItemData {
8
9
  key?: string;
@@ -20,5 +21,5 @@ export interface ITMCounterContainerProps {
20
21
  textColorItem?: string;
21
22
  hoverColorItem?: string;
22
23
  }
23
- declare const TMCounterContainer: (props: ITMCounterContainerProps) => React.JSX.Element | undefined;
24
+ declare const TMCounterContainer: (props: ITMCounterContainerProps) => import("react/jsx-runtime").JSX.Element | undefined;
24
25
  export default TMCounterContainer;
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import styled from "styled-components";
3
3
  import TMTooltip from './TMTooltip';
4
+ import { DeviceType, useDeviceType } from './TMDeviceProvider';
4
5
  /* Styled container component that holds all counter items */
5
6
  const Container = styled.div `
6
7
  background: ${({ bgColor }) => bgColor || 'linear-gradient(to right, #f8f9fa, #e9ecef)'};
@@ -35,6 +36,14 @@ const Counter = styled.div `
35
36
  transition: color 0.3s ease-in-out;
36
37
  }
37
38
  `;
39
+ /* Formatta un conteggio con il separatore delle migliaia della lingua del browser; i valori non numerici restano invariati.
40
+ useGrouping 'always' forza il separatore anche sotto le 10.000 unità, che in italiano e spagnolo di default non viene messo (2000 invece di 2.000).
41
+ Il cast serve perché la lib ES2021 tipizza useGrouping solo come boolean. */
42
+ export const formatCount = (value) => {
43
+ if (value === undefined || value === '' || isNaN(Number(value)))
44
+ return String(value ?? '');
45
+ return Number(value).toLocaleString(navigator.language, { useGrouping: 'always' });
46
+ };
38
47
  /* Enum for possible counter item keys */
39
48
  export var CounterItemKey;
40
49
  (function (CounterItemKey) {
@@ -44,15 +53,21 @@ export var CounterItemKey;
44
53
  CounterItemKey["visibleItems"] = "visibleItems";
45
54
  /* Key for selected item count */
46
55
  CounterItemKey["selectedItems"] = "selectedItems";
56
+ /* Key for rows per page count */
57
+ CounterItemKey["pageSize"] = "pageSize";
47
58
  })(CounterItemKey || (CounterItemKey = {}));
48
59
  ;
49
60
  ;
50
61
  const TMCounterContainer = (props) => {
51
62
  const { items, bgColorContainer, hoverColorItem, bgColorItem, textColorItem } = props;
63
+ // Su mobile lo spazio è poco: le righe per pagina non vengono mostrate
64
+ const isMobile = useDeviceType() === DeviceType.MOBILE;
52
65
  return (items && _jsx(Container, { bgColor: bgColorContainer, children: [...items.values()].map((item) => {
53
66
  if (!item.show)
54
67
  return null;
55
- return _jsx(TMTooltip, { content: item.caption ?? '', children: _jsxs(Counter, { bgColor: bgColorContainer, color: bgColorItem, hoverColor: hoverColorItem, textColor: textColorItem, children: [item.icon ?? null, _jsx("span", { children: item.value?.toString() ?? '' })] }) }, item.key ?? '');
68
+ if (isMobile && item.key === CounterItemKey.pageSize)
69
+ return null;
70
+ return _jsx(TMTooltip, { content: item.caption ?? '', children: _jsxs(Counter, { bgColor: bgColorContainer, color: bgColorItem, hoverColor: hoverColorItem, textColor: textColorItem, children: [item.icon ?? null, _jsx("span", { children: formatCount(item.value) })] }) }, item.key ?? '');
56
71
  }) }));
57
72
  };
58
73
  export default TMCounterContainer;
@@ -7,5 +7,5 @@ type TMCustomButtonProps = {
7
7
  selectedItems?: Array<any>;
8
8
  onClose?: () => void;
9
9
  };
10
- declare const TMCustomButton: (props: TMCustomButtonProps) => false | import("react").JSX.Element;
10
+ declare const TMCustomButton: (props: TMCustomButtonProps) => false | import("react/jsx-runtime").JSX.Element;
11
11
  export default TMCustomButton;