@topconsultnpm/sdkui-react 6.21.0-t2 → 6.21.0-t4

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 (165) hide show
  1. package/lib/components/NewComponents/ContextMenu/TMContextMenu.js +28 -2
  2. package/lib/components/NewComponents/ContextMenu/styles.d.ts +4 -4
  3. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +6 -6
  4. package/lib/components/base/Styled.d.ts +1 -1
  5. package/lib/components/base/TMAreaManager.js +11 -0
  6. package/lib/components/base/TMCounterBar.d.ts +2 -2
  7. package/lib/components/base/TMCounterContainer.d.ts +2 -1
  8. package/lib/components/base/TMCustomButton.d.ts +1 -1
  9. package/lib/components/base/TMDataGrid.js +12 -2
  10. package/lib/components/base/TMDataGridExportForm.d.ts +2 -1
  11. package/lib/components/base/TMDataGridExportForm.js +19 -8
  12. package/lib/components/base/TMFileManager.d.ts +2 -1
  13. package/lib/components/base/TMFileManagerDataGridView.d.ts +2 -1
  14. package/lib/components/base/TMFileManagerDataGridView.js +4 -4
  15. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +1 -1
  16. package/lib/components/base/TMFileManagerThumbnailItems.js +3 -3
  17. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +1 -1
  18. package/lib/components/base/TMFileManagerUtils.d.ts +7 -0
  19. package/lib/components/base/TMFileManagerUtils.js +14 -1
  20. package/lib/components/base/TMLayout.d.ts +4 -4
  21. package/lib/components/base/TMList.d.ts +2 -1
  22. package/lib/components/base/TMListView.d.ts +1 -1
  23. package/lib/components/base/TMModal.js +2 -2
  24. package/lib/components/base/TMPopUp.d.ts +1 -0
  25. package/lib/components/base/TMPopUp.js +59 -2
  26. package/lib/components/base/TMSpinner.d.ts +5 -2
  27. package/lib/components/base/TMSpinner.js +33 -6
  28. package/lib/components/base/TMTab.d.ts +4 -3
  29. package/lib/components/base/TMTooltip.d.ts +1 -1
  30. package/lib/components/base/TMTreeView.d.ts +16 -13
  31. package/lib/components/base/TMTreeView.js +242 -79
  32. package/lib/components/base/TMUserAvatar.d.ts +2 -1
  33. package/lib/components/base/TMVilViewer.d.ts +2 -1
  34. package/lib/components/base/TMWaitPanel.d.ts +5 -2
  35. package/lib/components/base/TMWaitPanel.js +8 -6
  36. package/lib/components/choosers/TMDistinctValues.js +1 -1
  37. package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
  38. package/lib/components/choosers/TMDynDataListItemChooser.js +6 -1
  39. package/lib/components/choosers/TMGroupChooser.js +1 -1
  40. package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +2 -1
  41. package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +2 -1
  42. package/lib/components/choosers/TMRelationChooser.d.ts +3 -3
  43. package/lib/components/choosers/TMUserChooser.d.ts +2 -2
  44. package/lib/components/editors/TMEditorStyled.d.ts +6 -6
  45. package/lib/components/editors/TMFormulaEditor.d.ts +2 -1
  46. package/lib/components/editors/TMFormulaEditor.js +98 -49
  47. package/lib/components/editors/TMHtmlContentDisplay.d.ts +2 -1
  48. package/lib/components/editors/TMHtmlEditor.d.ts +2 -1
  49. package/lib/components/editors/TMMetadataEditor.js +6 -2
  50. package/lib/components/editors/TMMetadataValues.js +23 -6
  51. package/lib/components/editors/TMTextBox.d.ts +1 -0
  52. package/lib/components/editors/TMTextBox.js +2 -1
  53. package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
  54. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
  55. package/lib/components/features/blog/TMBlogCommentForm.d.ts +2 -1
  56. package/lib/components/features/blog/TMBlogCommentForm.js +5 -2
  57. package/lib/components/features/documents/TMCopyToFolderForm.js +46 -24
  58. package/lib/components/features/documents/TMDcmtForm.d.ts +2 -0
  59. package/lib/components/features/documents/TMDcmtForm.js +21 -10
  60. package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
  61. package/lib/components/features/documents/TMDcmtIcon.d.ts +4 -1
  62. package/lib/components/features/documents/TMDcmtIcon.js +6 -33
  63. package/lib/components/features/documents/TMDcmtPreview.d.ts +1 -1
  64. package/lib/components/features/documents/TMDcmtTasks.d.ts +2 -1
  65. package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
  66. package/lib/components/features/documents/TMFileUploader.js +1 -1
  67. package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +2 -2
  68. package/lib/components/features/documents/TMMasterDetailDcmts.js +55 -16
  69. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +2 -3
  70. package/lib/components/features/documents/TMMergeToPdfForm.js +115 -56
  71. package/lib/components/features/documents/TMRelationViewer.d.ts +12 -10
  72. package/lib/components/features/documents/TMRelationViewer.js +405 -95
  73. package/lib/components/features/documents/copyAndMergeDcmtsShared.d.ts +4 -16
  74. package/lib/components/features/documents/copyAndMergeDcmtsShared.js +47 -61
  75. package/lib/components/features/documents/mergePdfUtils.d.ts +52 -0
  76. package/lib/components/features/documents/mergePdfUtils.js +268 -0
  77. package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +2 -1
  78. package/lib/components/features/search/TMMetadataOutputForm.d.ts +18 -0
  79. package/lib/components/features/search/TMMetadataOutputForm.js +225 -0
  80. package/lib/components/features/search/TMMetadataSorterForm.d.ts +18 -0
  81. package/lib/components/features/search/TMMetadataSorterForm.js +243 -0
  82. package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
  83. package/lib/components/features/search/TMSearch.d.ts +2 -2
  84. package/lib/components/features/search/TMSearch.js +2 -2
  85. package/lib/components/features/search/TMSearchQueryEditor.js +14 -8
  86. package/lib/components/features/search/TMSearchQueryPanel.js +249 -58
  87. package/lib/components/features/search/TMSearchResult.d.ts +3 -2
  88. package/lib/components/features/search/TMSearchResult.js +94 -25
  89. package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
  90. package/lib/components/features/search/TMSignatureInfoContent.d.ts +2 -1
  91. package/lib/components/features/search/TMViewHistoryDcmt.d.ts +2 -1
  92. package/lib/components/features/search/TMViewHistoryDcmt.js +1 -1
  93. package/lib/components/features/search/metadataFormHelper.d.ts +16 -0
  94. package/lib/components/features/search/metadataFormHelper.js +77 -0
  95. package/lib/components/features/tasks/TMTaskForm.d.ts +1 -1
  96. package/lib/components/features/tasks/TMTaskFormUtils.d.ts +10 -10
  97. package/lib/components/features/tasks/TMTasksAgenda.d.ts +1 -1
  98. package/lib/components/features/tasks/TMTasksCalendar.d.ts +1 -1
  99. package/lib/components/features/tasks/TMTasksHeader.d.ts +1 -1
  100. package/lib/components/features/tasks/TMTasksPanelContent.d.ts +1 -1
  101. package/lib/components/features/tasks/TMTasksUtilsView.d.ts +5 -5
  102. package/lib/components/features/tasks/TMTasksView.d.ts +1 -1
  103. package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +3 -2
  104. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +8 -7
  105. package/lib/components/forms/Login/Chooser.d.ts +2 -2
  106. package/lib/components/forms/Login/TMLoginForm.js +15 -3
  107. package/lib/components/forms/TMChooserForm.d.ts +2 -1
  108. package/lib/components/forms/TMSaveForm.d.ts +4 -4
  109. package/lib/components/grids/TMBlogAttachments.d.ts +2 -1
  110. package/lib/components/grids/TMBlogAttachments.js +2 -2
  111. package/lib/components/grids/TMBlogHeader.d.ts +1 -1
  112. package/lib/components/grids/TMBlogsPost.d.ts +1 -1
  113. package/lib/components/grids/TMBlogsPost.js +5 -3
  114. package/lib/components/grids/TMBlogsPostUtils.d.ts +10 -9
  115. package/lib/components/grids/TMBlogsPostUtils.js +3 -1
  116. package/lib/components/grids/TMValidationItemsList.d.ts +2 -1
  117. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +2 -1
  118. package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +2 -2
  119. package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +1 -1
  120. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +2 -2
  121. package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +2 -2
  122. package/lib/components/pages/TMPage.d.ts +1 -1
  123. package/lib/components/settings/SettingsAppearance.d.ts +2 -1
  124. package/lib/components/sidebar/TMAboutApp.d.ts +2 -1
  125. package/lib/components/sidebar/TMHeader.d.ts +3 -3
  126. package/lib/components/viewers/TMDataListItemViewer.d.ts +3 -2
  127. package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +3 -2
  128. package/lib/components/viewers/TMMidViewer.d.ts +2 -2
  129. package/lib/components/viewers/TMTidViewer.d.ts +2 -2
  130. package/lib/components/viewers/TMTidViewer.js +14 -2
  131. package/lib/components/wizard/TMWizard.d.ts +1 -0
  132. package/lib/components/wizard/TMWizard.js +5 -3
  133. package/lib/helper/Enum_Localizator.js +2 -0
  134. package/lib/helper/MergePdfManager.d.ts +45 -0
  135. package/lib/helper/MergePdfManager.js +148 -0
  136. package/lib/helper/SDKUI_Globals.d.ts +1 -0
  137. package/lib/helper/SDKUI_Globals.js +3 -1
  138. package/lib/helper/SDKUI_Localizator.d.ts +40 -0
  139. package/lib/helper/SDKUI_Localizator.js +412 -12
  140. package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
  141. package/lib/helper/TMIcons.d.ts +278 -278
  142. package/lib/helper/TMPdfViewer.d.ts +2 -1
  143. package/lib/helper/TMToppyMessage.d.ts +2 -2
  144. package/lib/helper/TMUtils.d.ts +57 -21
  145. package/lib/helper/TMUtils.js +159 -1
  146. package/lib/helper/certificateImportHelper.d.ts +43 -0
  147. package/lib/helper/certificateImportHelper.js +403 -0
  148. package/lib/helper/checkinCheckoutManager.d.ts +4 -3
  149. package/lib/helper/checkinCheckoutManager.js +29 -11
  150. package/lib/helper/helpers.d.ts +3 -2
  151. package/lib/helper/helpers.js +10 -0
  152. package/lib/helper/index.d.ts +1 -0
  153. package/lib/helper/index.js +1 -0
  154. package/lib/hooks/useCheckInOutOperations.d.ts +4 -3
  155. package/lib/hooks/useDataUserIdItem.js +1 -1
  156. package/lib/hooks/useDcmtOperations.d.ts +20 -2
  157. package/lib/hooks/useDcmtOperations.js +244 -25
  158. package/lib/hooks/useDocumentOperations.d.ts +2 -2
  159. package/lib/hooks/useDocumentOperations.js +52 -13
  160. package/lib/hooks/useInputDialog.d.ts +2 -1
  161. package/lib/hooks/useRelatedDocuments.js +4 -4
  162. package/lib/services/platform_services.d.ts +7 -6
  163. package/lib/ts/types.d.ts +3 -1
  164. package/lib/ts/types.js +2 -0
  165. package/package.json +15 -7
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import { DcmtTypeDescriptor, HomeBlogPost, TaskDescriptor, WFDescriptor } from '@topconsultnpm/sdk-ts';
2
3
  import { DeviceType } from "../../base/TMDeviceProvider";
3
4
  import { WorkItemDetail } from "../../../ts";
@@ -22,7 +23,7 @@ interface IWorkflowOperationButtonsProps {
22
23
  handleNavigateToWGs?: (value: HomeBlogPost | number) => Promise<void>;
23
24
  handleNavigateToDossiers?: (value: HomeBlogPost | number) => Promise<void>;
24
25
  }
25
- export declare const WorkFlowOperationButtons: (props: IWorkflowOperationButtonsProps) => import("react/jsx-runtime").JSX.Element;
26
+ export declare const WorkFlowOperationButtons: (props: IWorkflowOperationButtonsProps) => React.JSX.Element;
26
27
  export declare const WorkFlowApproveRejectPopUp: ({ TID, DID, deviceType, isReject, selectedItems, onClose, onCompleted }: {
27
28
  TID?: number;
28
29
  DID?: number;
@@ -31,7 +32,7 @@ export declare const WorkFlowApproveRejectPopUp: ({ TID, DID, deviceType, isReje
31
32
  isReject: number;
32
33
  onClose?: () => void;
33
34
  onCompleted?: () => Promise<void>;
34
- }) => import("react/jsx-runtime").JSX.Element;
35
+ }) => React.JSX.Element;
35
36
  export declare const WorkFlowReAssignPopUp: ({ DID, TID, deviceType, onClose, selectedItems, onCompleted, wf, workItemDetail }: {
36
37
  TID?: number;
37
38
  DID?: number;
@@ -41,7 +42,7 @@ export declare const WorkFlowReAssignPopUp: ({ DID, TID, deviceType, onClose, se
41
42
  onCompleted?: () => Promise<void>;
42
43
  wf?: WFDescriptor;
43
44
  workItemDetail?: WorkItemDetail;
44
- }) => import("react/jsx-runtime").JSX.Element;
45
+ }) => React.JSX.Element;
45
46
  /**
46
47
  * Modal per forzare l'approvazione di un work item
47
48
  */
@@ -49,7 +50,7 @@ export declare const WorkflowForceApproveModal: ({ detail, onClose, onCompleted
49
50
  detail: WorkItemDetail;
50
51
  onClose?: () => void;
51
52
  onCompleted?: () => Promise<void>;
52
- }) => import("react/jsx-runtime").JSX.Element;
53
+ }) => React.JSX.Element;
53
54
  /**
54
55
  * Modal per forzare il rifiuto di un work item
55
56
  */
@@ -57,7 +58,7 @@ export declare const WorkflowForceRejectModal: ({ detail, onClose, onCompleted }
57
58
  detail: WorkItemDetail;
58
59
  onClose?: () => void;
59
60
  onCompleted?: () => Promise<void>;
60
- }) => import("react/jsx-runtime").JSX.Element;
61
+ }) => React.JSX.Element;
61
62
  /**
62
63
  * Modal per terminare le istanze workflow selezionate
63
64
  */
@@ -69,7 +70,7 @@ export declare const WorkflowEndInstanceModal: ({ selectedInstances, onClose, on
69
70
  }>;
70
71
  onClose?: () => void;
71
72
  onCompleted?: () => Promise<void>;
72
- }) => import("react/jsx-runtime").JSX.Element;
73
+ }) => React.JSX.Element;
73
74
  interface IWorkFlowMoreInfoPopUpProps {
74
75
  fromDTD?: DcmtTypeDescriptor;
75
76
  TID?: number;
@@ -86,5 +87,5 @@ interface IWorkFlowMoreInfoPopUpProps {
86
87
  handleNavigateToDossiers?: (value: HomeBlogPost | number) => Promise<void>;
87
88
  triggerBlogRefresh?: () => Promise<void>;
88
89
  }
89
- export declare const WorkFlowMoreInfoPopUp: (props: IWorkFlowMoreInfoPopUpProps) => import("react/jsx-runtime").JSX.Element | undefined;
90
+ export declare const WorkFlowMoreInfoPopUp: (props: IWorkFlowMoreInfoPopUpProps) => React.JSX.Element | undefined;
90
91
  export {};
@@ -23,6 +23,6 @@ interface ChooserProps<T> {
23
23
  onClose?: () => void;
24
24
  isDropDown?: boolean;
25
25
  }
26
- declare const Chooser: <T>({ dataSource, columns, value, additionalIcons, validationItems, title, label, icon, placeHolder, disabled, selectedRow, onChooserClick, onSelectionChanged, onClose, isDropDown }: ChooserProps<T>) => import("react/jsx-runtime").JSX.Element;
26
+ declare const Chooser: <T>({ dataSource, columns, value, additionalIcons, validationItems, title, label, icon, placeHolder, disabled, selectedRow, onChooserClick, onSelectionChanged, onClose, isDropDown }: ChooserProps<T>) => React.JSX.Element;
27
27
  export default Chooser;
28
- export declare function IconDropDown(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
28
+ export declare function IconDropDown(props: React.SVGProps<SVGSVGElement>): React.JSX.Element;
@@ -33,7 +33,7 @@ import { TMColors } from "../../../utils/theme";
33
33
  import ShowAlert from "../../base/TMAlert";
34
34
  import TMButton from "../../base/TMButton";
35
35
  import { useDeviceType, DeviceType } from "../../base/TMDeviceProvider";
36
- import { TMExceptionBoxManager, TMMessageBoxManager, ButtonNames } from "../../base/TMPopUp";
36
+ import { TMExceptionBoxManager, TMMessageBoxManager, ButtonNames, sanitizeException } from "../../base/TMPopUp";
37
37
  import TMSpinner from "../../base/TMSpinner";
38
38
  import TMTooltip from "../../base/TMTooltip";
39
39
  import TMCheckBox from "../../editors/TMCheckBox";
@@ -457,6 +457,18 @@ const TMLoginForm = (props) => {
457
457
  // Skip auto-selection when defaultLoginValues provides an archiveId (external link)
458
458
  if (props.defaultLoginValues?.archiveId)
459
459
  return;
460
+ // Se dcmtArchive è già impostato (es. da rapid access), gestisci manualArchiveID
461
+ if (dcmtArchive) {
462
+ // Se la lista archivi è vuota, serve accesso manuale
463
+ if (archives.length === 0) {
464
+ setManualArchiveID(dcmtArchive.id ?? '');
465
+ }
466
+ else {
467
+ // Se l'archivio esiste nella lista, pulisci manualArchiveID
468
+ setManualArchiveID('');
469
+ }
470
+ return;
471
+ }
460
472
  if (archives.length === 1) {
461
473
  setDcmtArchive(archives[0]);
462
474
  return;
@@ -522,7 +534,7 @@ const TMLoginForm = (props) => {
522
534
  return true;
523
535
  }
524
536
  catch (e) {
525
- TMExceptionBoxManager.show({ exception: e });
537
+ TMExceptionBoxManager.show({ exception: sanitizeException(e) });
526
538
  return false;
527
539
  }
528
540
  finally {
@@ -558,7 +570,7 @@ const TMLoginForm = (props) => {
558
570
  }
559
571
  }
560
572
  catch (e) {
561
- TMExceptionBoxManager.show({ exception: e });
573
+ TMExceptionBoxManager.show({ exception: sanitizeException(e) });
562
574
  }
563
575
  finally {
564
576
  TMSpinner.hide();
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { ITMChooserFormProps } from '../../ts';
2
- declare const TMChooserForm: <T>({ children, title, allowMultipleSelection, allowApplyWithZeroSelection, startWithShowOnlySelectedItems, hasShowOnlySelectedItems, allowGrouping, allowSorting, width, height, dataSource, selectedIDs, manageUseLocalizedName, hasShowId, hideRefresh, keyName, customButtons, showFilterPanel, showDefaultColumns, columns, summaryItems, convertID, customFilter, getItems, cellRenderIcon, cellRenderNameAndDesc, onChoose, onClose, onShowIdChanged }: ITMChooserFormProps<T>) => import("react/jsx-runtime").JSX.Element;
3
+ declare const TMChooserForm: <T>({ children, title, allowMultipleSelection, allowApplyWithZeroSelection, startWithShowOnlySelectedItems, hasShowOnlySelectedItems, allowGrouping, allowSorting, width, height, dataSource, selectedIDs, manageUseLocalizedName, hasShowId, hideRefresh, keyName, customButtons, showFilterPanel, showDefaultColumns, columns, summaryItems, convertID, customFilter, getItems, cellRenderIcon, cellRenderNameAndDesc, onChoose, onClose, onShowIdChanged }: ITMChooserFormProps<T>) => React.JSX.Element;
3
4
  export default TMChooserForm;
@@ -13,19 +13,19 @@ interface ITMSaveFormButtonPreviousProps extends ITMSaveFormButtonBase {
13
13
  onPrev?: () => void;
14
14
  onSaveAsync?: () => Promise<void>;
15
15
  }
16
- export declare const TMSaveFormButtonPrevious: ({ btnStyle, formMode, isModified, onPrev, canPrev, iconColor, onSaveAsync }: ITMSaveFormButtonPreviousProps) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const TMSaveFormButtonPrevious: ({ btnStyle, formMode, isModified, onPrev, canPrev, iconColor, onSaveAsync }: ITMSaveFormButtonPreviousProps) => React.JSX.Element;
17
17
  interface ITMSaveFormButtonNextProps extends ITMSaveFormButtonBase {
18
18
  canNext?: boolean;
19
19
  onNext?: () => void;
20
20
  onSaveAsync?: () => Promise<void>;
21
21
  }
22
- export declare const TMSaveFormButtonNext: ({ btnStyle, formMode, isModified, onNext, canNext, iconColor, onSaveAsync }: ITMSaveFormButtonNextProps) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const TMSaveFormButtonNext: ({ btnStyle, formMode, isModified, onNext, canNext, iconColor, onSaveAsync }: ITMSaveFormButtonNextProps) => React.JSX.Element;
23
23
  interface ITMSaveFormButtonSaveProps extends ITMSaveFormButtonBase {
24
24
  errorsCount: number;
25
25
  onSaveAsync?: () => Promise<void>;
26
26
  }
27
- export declare const TMSaveFormButtonSave: ({ btnStyle, errorsCount, isModified, iconColor, width, advancedColor, advancedType, onSaveAsync }: ITMSaveFormButtonSaveProps) => import("react/jsx-runtime").JSX.Element;
27
+ export declare const TMSaveFormButtonSave: ({ btnStyle, errorsCount, isModified, iconColor, width, advancedColor, advancedType, onSaveAsync }: ITMSaveFormButtonSaveProps) => React.JSX.Element;
28
28
  interface ITMSaveFormButtonUndoProps extends ITMSaveFormButtonBase {
29
29
  onUndo?: () => void;
30
30
  }
31
- export declare const TMSaveFormButtonUndo: ({ btnStyle, isModified, iconColor, width, advancedColor, advancedType, onUndo, color, showTooltip }: ITMSaveFormButtonUndoProps) => import("react/jsx-runtime").JSX.Element;
31
+ export declare const TMSaveFormButtonUndo: ({ btnStyle, isModified, iconColor, width, advancedColor, advancedType, onUndo, color, showTooltip }: ITMSaveFormButtonUndoProps) => React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import { BlogPostAttachment, DcmtTypeDescriptor } from "@topconsultnpm/sdk-ts";
2
3
  import { DcmtInfo } from "../../ts";
3
4
  import { FileItem } from "../base/TMFileManagerUtils";
@@ -25,5 +26,5 @@ interface TMBlogAttachmentsProps {
25
26
  handleAttachmentFocus: (attachment: DcmtInfo | undefined) => void;
26
27
  openDcmtForm: (dcmtInfo: DcmtInfo) => void;
27
28
  }
28
- declare const TMBlogAttachments: (props: TMBlogAttachmentsProps) => import("react/jsx-runtime").JSX.Element;
29
+ declare const TMBlogAttachments: (props: TMBlogAttachmentsProps) => React.JSX.Element;
29
30
  export default TMBlogAttachments;
@@ -23,7 +23,7 @@ const TMBlogAttachments = (props) => {
23
23
  openDcmtForm({ TID: blogPostAttachment.tid, DID: blogPostAttachment.did, fileName });
24
24
  };
25
25
  return _jsx("div", { style: { width: "100%", marginTop: "5px", overflow: "hidden" }, children: attachments.map((blogPostAttachment, index) => {
26
- const { name, nameElement, tooltipContent, fileExt, archivedDocumentsExist, draftExist } = getAttachmentInfo(blogPostAttachment, treeFs, draftLatestInfoMap, archivedDocumentMap, dcmtTypeDescriptors, isSelected, searchText);
26
+ const { name, nameElement, tooltipContent, fileExt, archivedDocumentsExist, draftExist, isSigned } = getAttachmentInfo(blogPostAttachment, treeFs, draftLatestInfoMap, archivedDocumentMap, dcmtTypeDescriptors, isSelected, searchText);
27
27
  return _jsx("div", { onDoubleClick: (e) => !isLoading && onDoubleClick(e, blogPostAttachment, name, fileExt), onMouseEnter: (e) => !isLoading && handleMouseEnter(e, blogPostAttachment, name, fileExt), onMouseLeave: (e) => !isLoading && handleMouseLeave(e), style: {
28
28
  display: layoutMode === "extended" ? "inline-flex" : "flex",
29
29
  padding: '4px 8px',
@@ -63,7 +63,7 @@ const TMBlogAttachments = (props) => {
63
63
  }
64
64
  ` })] })) : (_jsxs(_Fragment, { children: [(!archivedDocumentsExist && !draftExist) ?
65
65
  _jsx(IconAttachment, { style: { marginRight: "5px", flexShrink: 0 } }) :
66
- _jsx("div", { style: { marginRight: "10px", flexShrink: 0 }, children: _jsx(TMDcmtIcon, { tid: blogPostAttachment.tid, did: blogPostAttachment.did, fileExtension: fileExt, downloadMode: 'openInNewWindow', tooltipContent: tooltipContent }) }), _jsx("span", { title: layoutMode === 'compact' ? name + " (DID: " + blogPostAttachment.did + ")" : undefined, style: {
66
+ _jsx("div", { style: { marginRight: "10px", flexShrink: 0, width: isSigned ? "40px" : undefined }, children: _jsx(TMDcmtIcon, { tid: blogPostAttachment.tid, did: blogPostAttachment.did, fileExtension: fileExt, downloadMode: 'openInNewWindow', tooltipContent: tooltipContent, isSigned: isSigned }) }), _jsx("span", { title: layoutMode === 'compact' ? name + " (DID: " + blogPostAttachment.did + ")" : undefined, style: {
67
67
  whiteSpace: 'nowrap',
68
68
  overflow: 'hidden',
69
69
  textOverflow: 'ellipsis',
@@ -27,5 +27,5 @@ interface TMBlogHeaderProps {
27
27
  /** Callback when the search text changes */
28
28
  onSearchChange: (value: string) => void;
29
29
  }
30
- declare const TMBlogHeader: (props: TMBlogHeaderProps) => import("react/jsx-runtime").JSX.Element;
30
+ declare const TMBlogHeader: (props: TMBlogHeaderProps) => React.JSX.Element;
31
31
  export default TMBlogHeader;
@@ -87,5 +87,5 @@ interface TMBlogsPostProps {
87
87
  handleNavigateToWGs?: (value: HomeBlogPost | number) => Promise<void>;
88
88
  handleNavigateToDossiers?: (value: HomeBlogPost | number) => Promise<void>;
89
89
  }
90
- declare const TMBlogsPost: (props: TMBlogsPostProps) => import("react/jsx-runtime").JSX.Element;
90
+ declare const TMBlogsPost: (props: TMBlogsPostProps) => React.JSX.Element;
91
91
  export default TMBlogsPost;
@@ -510,9 +510,11 @@ const TMBlogsPost = (props) => {
510
510
  icon: _jsx("span", { className: "dx-icon-download" }),
511
511
  name: 'Download',
512
512
  onClick: async () => {
513
- await downloadDcmtsAsync([
514
- { TID: focusedAttachment.TID, DID: focusedAttachment.DID, fileName: focusedAttachment.fileName }
515
- ], DownloadTypes.Dcmt, "download");
513
+ await downloadDcmtsAsync({
514
+ inputDcmts: [{ TID: focusedAttachment.TID, DID: focusedAttachment.DID, fileName: focusedAttachment.fileName }],
515
+ downloadType: DownloadTypes.Dcmt,
516
+ downloadMode: "download"
517
+ });
516
518
  },
517
519
  });
518
520
  }
@@ -1,4 +1,4 @@
1
- import { ReactNode } from "react";
1
+ import React, { ReactNode } from "react";
2
2
  import { BlogPost, BlogPostAttachment, DcmtTypeDescriptor, DossierDescriptor, HomeBlogPost, TID_DID, WorkingGroupDescriptor } from "@topconsultnpm/sdk-ts";
3
3
  import { FileItem } from "../base/TMFileManagerUtils";
4
4
  export declare const DRAFT_TYPE_TID = 6;
@@ -59,10 +59,10 @@ export declare const getCompactEllipsisStyle: (layoutMode: "compact" | "extended
59
59
  display: string;
60
60
  };
61
61
  export declare const findFileItemByDraftID: (tree: FileItem | undefined, draftID: number | undefined) => FileItem | null;
62
- export declare const highlightText: (text: string, searchText: string, isSelected: boolean) => string | (string | import("react/jsx-runtime").JSX.Element)[];
62
+ export declare const highlightText: (text: string, searchText: string, isSelected: boolean) => string | (string | React.JSX.Element)[];
63
63
  export declare const lightenColor: (hex: string, amount: number) => string;
64
- export declare const OwnerInitialsBadge: (blogPost: BlogPost | HomeBlogPost) => import("react/jsx-runtime").JSX.Element;
65
- export declare const getTooltipContent: (title: string | undefined, content: JSX.Element) => import("react/jsx-runtime").JSX.Element;
64
+ export declare const OwnerInitialsBadge: (blogPost: BlogPost | HomeBlogPost) => React.JSX.Element;
65
+ export declare const getTooltipContent: (title: string | undefined, content: JSX.Element) => React.JSX.Element;
66
66
  export declare const getAttachmentInfo: (attachment: BlogPostAttachment, treeFs: FileItem | undefined, draftLatestInfoMap: Map<number, {
67
67
  latestVersion: number;
68
68
  folderId: number;
@@ -76,15 +76,16 @@ export declare const getAttachmentInfo: (attachment: BlogPostAttachment, treeFs:
76
76
  fileSize: string;
77
77
  }> | undefined, dcmtTypeDescriptors: Map<number, DcmtTypeDescriptor>, isSelected: boolean, searchText: string) => {
78
78
  name: string;
79
- nameElement: import("react/jsx-runtime").JSX.Element;
80
- tooltipContent: import("react/jsx-runtime").JSX.Element;
79
+ nameElement: React.JSX.Element;
80
+ tooltipContent: React.JSX.Element;
81
81
  folderId: number;
82
82
  fileExt: string;
83
83
  draftExist: boolean;
84
84
  archivedDocumentsExist: boolean;
85
+ isSigned: number;
85
86
  };
86
87
  export declare const getDcmtTypeDescriptor: (blogPosts: Array<BlogPost>) => Promise<Map<number, DcmtTypeDescriptor>>;
87
- export declare const BlogPostHomeHeader: (header: string | undefined, classId: string | undefined, isSelected: boolean, searchText: string, headerClickCallback: () => void) => import("react/jsx-runtime").JSX.Element;
88
+ export declare const BlogPostHomeHeader: (header: string | undefined, classId: string | undefined, isSelected: boolean, searchText: string, headerClickCallback: () => void) => React.JSX.Element;
88
89
  export declare const isHeaderFullyHidden: (header: {
89
90
  showViewMode: boolean;
90
91
  showFilters: boolean;
@@ -94,7 +95,7 @@ export declare const isHeaderFullyHidden: (header: {
94
95
  interface NewBadgeProps {
95
96
  layoutMode: "compact" | "extended";
96
97
  }
97
- export declare const NewBadge: ({ layoutMode }: NewBadgeProps) => import("react/jsx-runtime").JSX.Element;
98
+ export declare const NewBadge: ({ layoutMode }: NewBadgeProps) => React.JSX.Element;
98
99
  export declare const removeFileExtension: (filename: string) => string;
99
100
  interface BlogPostTitleProps {
100
101
  displayMode: "chat" | "stacked";
@@ -109,6 +110,6 @@ interface BlogPostTitleProps {
109
110
  handleNavigateToWGs?: (blogPost: BlogPost | HomeBlogPost) => void;
110
111
  handleNavigateToDossiers?: (blogPost: BlogPost | HomeBlogPost) => void;
111
112
  }
112
- export declare const BlogPostTitle: (props: BlogPostTitleProps) => import("react/jsx-runtime").JSX.Element;
113
+ export declare const BlogPostTitle: (props: BlogPostTitleProps) => React.JSX.Element;
113
114
  export declare const stripHtml: (html: string) => string;
114
115
  export {};
@@ -86,6 +86,7 @@ export const getAttachmentInfo = (attachment, treeFs, draftLatestInfoMap, archiv
86
86
  let archivedDocumentsExist = false;
87
87
  let name = '';
88
88
  let tooltipContent = _jsx(_Fragment, {});
89
+ let isSigned = 0;
89
90
  if (attachment.tid === DRAFT_TYPE_TID && treeFs) {
90
91
  const draftfileItem = findFileItemByDraftID(treeFs, attachment.draftID);
91
92
  if (draftfileItem) {
@@ -94,6 +95,7 @@ export const getAttachmentInfo = (attachment, treeFs, draftLatestInfoMap, archiv
94
95
  draftExist = true;
95
96
  let fileSize = '0';
96
97
  name = draftfileItem.name;
98
+ isSigned = draftfileItem.isSigned ? 1 : 0;
97
99
  if (draftLatestInfoMap && attachment.draftID && attachment.version) {
98
100
  const draftInfo = draftLatestInfoMap.get(attachment.draftID);
99
101
  if (draftInfo) {
@@ -139,7 +141,7 @@ export const getAttachmentInfo = (attachment, treeFs, draftLatestInfoMap, archiv
139
141
  nameElement = (_jsx("span", { children: highlightText(`${name} (DID: ${attachment.did})`, searchText, isSelected) }));
140
142
  }
141
143
  }
142
- return { name, nameElement, tooltipContent, folderId, fileExt, draftExist, archivedDocumentsExist };
144
+ return { name, nameElement, tooltipContent, folderId, fileExt, draftExist, archivedDocumentsExist, isSigned };
143
145
  };
144
146
  export const getDcmtTypeDescriptor = async (blogPosts) => {
145
147
  const dcmtTypeMap = new Map();
@@ -1,6 +1,7 @@
1
+ import React from 'react';
1
2
  import { ValidationItem } from '@topconsultnpm/sdk-ts';
2
3
  interface ITMValidationItemsList {
3
4
  validationItems?: ValidationItem[];
4
5
  }
5
- declare const TMValidationItemsList: ({ validationItems }: ITMValidationItemsList) => import("react/jsx-runtime").JSX.Element;
6
+ declare const TMValidationItemsList: ({ validationItems }: ITMValidationItemsList) => React.JSX.Element;
6
7
  export default TMValidationItemsList;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { TMPanelDefinition, TMPanelDirection } from './types';
2
3
  interface TMPanelManagerContainerProps {
3
4
  panels: Array<TMPanelDefinition>;
@@ -6,5 +7,5 @@ interface TMPanelManagerContainerProps {
6
7
  parentId?: string;
7
8
  minPanelSizePx?: number;
8
9
  }
9
- declare const TMPanelManagerContainer: (props: TMPanelManagerContainerProps) => import("react/jsx-runtime").JSX.Element | null;
10
+ declare const TMPanelManagerContainer: (props: TMPanelManagerContainerProps) => React.JSX.Element | null;
10
11
  export default TMPanelManagerContainer;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import type { TMPanelDefinition, TMPanelDimensionsMap } from './types';
3
3
  interface TMPanelManagerContextType {
4
4
  panelVisibility: {
@@ -34,6 +34,6 @@ interface TMPanelManagerProviderProps {
34
34
  initialMobilePanelId: string;
35
35
  isPersistenceEnabled?: boolean;
36
36
  }
37
- export declare const TMPanelManagerProvider: (props: TMPanelManagerProviderProps) => import("react/jsx-runtime").JSX.Element;
37
+ export declare const TMPanelManagerProvider: (props: TMPanelManagerProviderProps) => React.JSX.Element;
38
38
  export declare const useTMPanelManagerContext: () => TMPanelManagerContextType;
39
39
  export {};
@@ -10,5 +10,5 @@ export declare const StyledToolbarButton: import("styled-components/dist/types")
10
10
  interface TMPanelManagerToolbarProps {
11
11
  panels: Array<TMPanelDefinition>;
12
12
  }
13
- declare const TMPanelManagerToolbar: (props: TMPanelManagerToolbarProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const TMPanelManagerToolbar: (props: TMPanelManagerToolbarProps) => React.JSX.Element;
14
14
  export default TMPanelManagerToolbar;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import type { TMPanelDefinition, TMPanelDimensionsMap } from './types';
3
3
  interface TMPanelManagerWithPersistenceProps {
4
4
  children: ReactNode;
@@ -17,5 +17,5 @@ interface TMPanelManagerWithPersistenceProps {
17
17
  }>) => void;
18
18
  persistedPanelStates?: Record<string, any>;
19
19
  }
20
- export declare const TMPanelManagerWithPersistenceProvider: (props: TMPanelManagerWithPersistenceProps) => import("react/jsx-runtime").JSX.Element | null;
20
+ export declare const TMPanelManagerWithPersistenceProvider: (props: TMPanelManagerWithPersistenceProps) => React.JSX.Element | null;
21
21
  export {};
@@ -1,8 +1,8 @@
1
- import { ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { TMPanelDefinition } from './types';
3
3
  interface TMPanelWrapperProps {
4
4
  panel: TMPanelDefinition;
5
5
  children: ReactNode;
6
6
  }
7
- declare const TMPanelWrapper: (props: TMPanelWrapperProps) => import("react/jsx-runtime").JSX.Element | null;
7
+ declare const TMPanelWrapper: (props: TMPanelWrapperProps) => React.JSX.Element | null;
8
8
  export default TMPanelWrapper;
@@ -34,5 +34,5 @@ interface ITMPage<T> {
34
34
  /** Indica il cambiamento dei contatori della lista (totali, selezionati e visibili) */
35
35
  onCountersChanged?: (totalItemsCount: number, selectedItemsCount: number, visibleItemsCount: number) => void;
36
36
  }
37
- declare const TMPage: <T>({ id, objClass, listDisabled, lastRefreshTime, objType, listInsteadOfContent, detailInsteadOfContent, routePage, customButtons, customColumns, searchText, detailForm, detailTitlePathKeys, deps, onSelectionChanged, onCountersChanged }: ITMPage<T>) => import("react/jsx-runtime").JSX.Element;
37
+ declare const TMPage: <T>({ id, objClass, listDisabled, lastRefreshTime, objType, listInsteadOfContent, detailInsteadOfContent, routePage, customButtons, customColumns, searchText, detailForm, detailTitlePathKeys, deps, onSelectionChanged, onCountersChanged }: ITMPage<T>) => React.JSX.Element;
38
38
  export default TMPage;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  declare const SettingsAppearance: ({ landingPagesOptions, permissions, showConfirmPopup }: {
2
3
  landingPagesOptions?: {
3
4
  display: string;
@@ -11,5 +12,5 @@ declare const SettingsAppearance: ({ landingPagesOptions, permissions, showConfi
11
12
  workFlowLicense: boolean;
12
13
  };
13
14
  showConfirmPopup?: (title: string, onConfirm: () => void) => void;
14
- }) => import("react/jsx-runtime").JSX.Element;
15
+ }) => React.JSX.Element;
15
16
  export default SettingsAppearance;
@@ -1,8 +1,9 @@
1
+ import React from 'react';
1
2
  interface TMAboutAppProps {
2
3
  app: boolean;
3
4
  skdui: boolean;
4
5
  sdk: boolean;
5
6
  websdk: boolean;
6
7
  }
7
- export declare const TMAboutApp: (props: TMAboutAppProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const TMAboutApp: (props: TMAboutAppProps) => React.JSX.Element;
8
9
  export {};
@@ -36,8 +36,8 @@ export declare const TMSearchBar: ({ searchValue, onSearchValueChanged, maxWidth
36
36
  marginLeft?: string;
37
37
  searchValue: string;
38
38
  onSearchValueChanged: (value: string) => void;
39
- }) => import("react/jsx-runtime").JSX.Element;
39
+ }) => React.JSX.Element;
40
40
  declare const TMHeader: React.FC<ITMHeader>;
41
41
  export default TMHeader;
42
- export declare function IconHeaderNotifications(props: Readonly<React.SVGProps<SVGSVGElement>>): import("react/jsx-runtime").JSX.Element;
43
- export declare function IconHeaderSettings(props: Readonly<React.SVGProps<SVGSVGElement>>): import("react/jsx-runtime").JSX.Element;
42
+ export declare function IconHeaderNotifications(props: Readonly<React.SVGProps<SVGSVGElement>>): React.JSX.Element;
43
+ export declare function IconHeaderSettings(props: Readonly<React.SVGProps<SVGSVGElement>>): React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { DataListViewModes } from '@topconsultnpm/sdk-ts';
2
3
  import { DataGridTypes } from 'devextreme-react/data-grid';
3
4
  interface ITMDataListItemViewerProps {
@@ -7,6 +8,6 @@ interface ITMDataListItemViewerProps {
7
8
  showTooltip?: boolean;
8
9
  width?: string;
9
10
  }
10
- declare const TMDataListItemViewer: ({ dataListId, value, viewMode, showTooltip, width }: ITMDataListItemViewerProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ declare const TMDataListItemViewer: ({ dataListId, value, viewMode, showTooltip, width }: ITMDataListItemViewerProps) => React.JSX.Element | null;
11
12
  export default TMDataListItemViewer;
12
- export declare const cellRenderDataListItem: (data: DataGridTypes.ColumnCellTemplateData, dataListId?: number, viewMode?: DataListViewModes) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const cellRenderDataListItem: (data: DataGridTypes.ColumnCellTemplateData, dataListId?: number, viewMode?: DataListViewModes) => React.JSX.Element;
@@ -1,8 +1,9 @@
1
+ import React from 'react';
1
2
  import { DataGridTypes } from 'devextreme-react/data-grid';
2
3
  interface ITMDataUserIdItemViewerProps {
3
4
  userId?: number;
4
5
  showIcon?: boolean;
5
6
  }
6
- declare const TMDataUserIdItemViewer: ({ userId, showIcon }: ITMDataUserIdItemViewerProps) => import("react/jsx-runtime").JSX.Element | null;
7
+ declare const TMDataUserIdItemViewer: ({ userId, showIcon }: ITMDataUserIdItemViewerProps) => React.JSX.Element | null;
7
8
  export default TMDataUserIdItemViewer;
8
- export declare const cellRenderUserIdItem: (data: DataGridTypes.ColumnCellTemplateData, showIcon?: boolean) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const cellRenderUserIdItem: (data: DataGridTypes.ColumnCellTemplateData, showIcon?: boolean) => React.JSX.Element;
@@ -22,7 +22,7 @@ interface ITMMetadataIcon {
22
22
  isMetadataSelected?: boolean;
23
23
  elementStyle?: React.CSSProperties;
24
24
  }
25
- export declare const TMMetadataIcon: ({ tid, md, color, layoutMode, isMetadataSelected, elementStyle }: ITMMetadataIcon) => import("react/jsx-runtime").JSX.Element | null;
25
+ export declare const TMMetadataIcon: ({ tid, md, color, layoutMode, isMetadataSelected, elementStyle }: ITMMetadataIcon) => React.JSX.Element | null;
26
26
  interface ITMMetadataTooltip {
27
27
  tid: number | undefined;
28
28
  md: MetadataDescriptor | undefined;
@@ -31,6 +31,6 @@ interface ITMMetadataTooltip {
31
31
  layoutMode?: LayoutModes;
32
32
  }
33
33
  export declare const TMMetadataTooltip: React.FC<ITMMetadataTooltip>;
34
- export declare const cellRenderMID: (data: DataGridTypes.ColumnCellTemplateData, noneSelectionText?: string, tid?: number) => import("react/jsx-runtime").JSX.Element;
34
+ export declare const cellRenderMID: (data: DataGridTypes.ColumnCellTemplateData, noneSelectionText?: string, tid?: number) => React.JSX.Element;
35
35
  export declare const getDisplayAlias: (dcmtTypeName: string | undefined, alias: string | undefined) => string | undefined;
36
36
  export {};
@@ -252,5 +252,5 @@ export interface ITMTidViewerProps {
252
252
  }
253
253
  declare const TMTidViewer: React.FC<ITMTidViewerProps>;
254
254
  export default TMTidViewer;
255
- export declare const cellRenderTID: (data: DataGridTypes.ColumnCellTemplateData, noneSelectionText?: string) => import("react/jsx-runtime").JSX.Element;
256
- export declare const renderDTDTooltipContent: (dtd: DcmtTypeDescriptor | undefined) => import("react/jsx-runtime").JSX.Element | null;
255
+ export declare const cellRenderTID: (data: DataGridTypes.ColumnCellTemplateData, noneSelectionText?: string) => React.JSX.Element;
256
+ export declare const renderDTDTooltipContent: (dtd: DcmtTypeDescriptor | undefined) => React.JSX.Element | null;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import { IconDcmtType, IconDcmtTypeOnlyMetadata, IconLocked, IconView, isCreateCertificateEnabled, isPdfEditorEnabled, isSign4TopEnabled, LocalizeArchiveConstraints, LocalizeParametricFilterTypes, SDKUI_Localizator, TMImageLibrary } from '../../helper';
3
+ import { getDTDDisplayNameInfo, IconDcmtType, IconDcmtTypeOnlyMetadata, IconLocked, IconView, isCreateCertificateEnabled, isPdfEditorEnabled, isSign4TopEnabled, LocalizeArchiveConstraints, LocalizeParametricFilterTypes, SDKUI_Localizator, TMImageLibrary } from '../../helper';
4
4
  import { AccessLevels, AccessLevelsEx, ArchiveConstraints, DcmtTypeListCacheService, OwnershipLevels, ParametricFilterTypes, SDK_Globals, SDK_Localizator, TemplateTIDs } from '@topconsultnpm/sdk-ts';
5
5
  import TMSpinner from '../base/TMSpinner';
6
6
  import { StyledDivHorizontal, StyledTooltipContainer, StyledTooltipItem, StyledTooltipSeparatorItem } from '../base/Styled';
@@ -309,6 +309,18 @@ export default TMTidViewer;
309
309
  export const cellRenderTID = (data, noneSelectionText) => {
310
310
  return (_jsx(TMTidViewer, { tid: data.value, noneSelectionText: noneSelectionText }));
311
311
  };
312
+ /** Componente per mostrare il metodo di visualizzazione del nome documento (carica i metadati dalla cache se necessario) */
313
+ const TMDisplayNameMethodItem = ({ dtd }) => {
314
+ const [displayNameMethod, setDisplayNameMethod] = useState('...');
315
+ useEffect(() => {
316
+ const fetchDisplayNameMethod = async () => {
317
+ const method = await getDTDDisplayNameInfo(dtd);
318
+ setDisplayNameMethod(method);
319
+ };
320
+ fetchDisplayNameMethod();
321
+ }, [dtd]);
322
+ return _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.DisplayNameMethod}: ${displayNameMethod}` });
323
+ };
312
324
  export const renderDTDTooltipContent = (dtd) => {
313
325
  const mapAccessLevelToLocalizedString = (level) => {
314
326
  if (level === undefined || level === null)
@@ -343,5 +355,5 @@ export const renderDTDTooltipContent = (dtd) => {
343
355
  isPdfEditorEnabled(dtd.widgets) ? 'PDFEditor' : null,
344
356
  ].filter(Boolean);
345
357
  return (_jsxs(_Fragment, { children: [_jsx(StyledTooltipSeparatorItem, {}), enabledWidgets.length > 0 && (_jsxs(StyledTooltipItem, { children: ["Widgets: ", enabledWidgets.join(', ')] })), enabledWidgets.length === 0 && (_jsxs(StyledTooltipItem, { children: ["Widgets: ", SDKUI_Localizator.No] }))] }));
346
- })() : (_jsxs(_Fragment, { children: [_jsx(StyledTooltipSeparatorItem, {}), _jsxs(StyledTooltipItem, { children: ["Widgets: ", SDKUI_Localizator.No] })] }))] })] }));
358
+ })() : (_jsxs(_Fragment, { children: [_jsx(StyledTooltipSeparatorItem, {}), _jsxs(StyledTooltipItem, { children: ["Widgets: ", SDKUI_Localizator.No] })] })), _jsx(StyledTooltipSeparatorItem, {}), _jsx(TMDisplayNameMethodItem, { dtd: dtd })] })] }));
347
359
  };
@@ -10,6 +10,7 @@ interface TMWizardProps {
10
10
  initialData: any;
11
11
  title: string;
12
12
  description: string;
13
+ initialStep?: number;
13
14
  validateOnlyCurrentStep?: boolean;
14
15
  onClose: () => void;
15
16
  onFinish: (data: any) => void;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // TMWizard.tsx
3
- import React, { useState } from 'react';
3
+ import React, { useState, useEffect } from 'react';
4
4
  import styled from 'styled-components';
5
5
  import { ResultTypes } from '@topconsultnpm/sdk-ts';
6
6
  import TMButton from '../base/TMButton';
@@ -40,9 +40,11 @@ const ControlsContainer = styled.div `
40
40
  padding: 15px 20px;
41
41
  border-top: 1px solid #eee;
42
42
  `;
43
- const TMWizard = ({ steps, validateOnlyCurrentStep = true, onClose, onFinish, initialData, title, description }) => {
44
- const [currentStep, setCurrentStep] = useState(0);
43
+ const TMWizard = ({ steps, validateOnlyCurrentStep = true, onClose, onFinish, initialData, title, description, initialStep = 0 }) => {
44
+ const [currentStep, setCurrentStep] = useState(initialStep);
45
45
  const [formData, setFormData] = useState(initialData);
46
+ useEffect(() => { setCurrentStep(initialStep); }, [initialStep]);
47
+ useEffect(() => { setFormData(initialData); }, [initialData]);
46
48
  const stepValidationErrors = steps.map((step, index) => {
47
49
  if (validateOnlyCurrentStep) {
48
50
  if (index <= currentStep) {
@@ -23,11 +23,13 @@ export function LocalizeDcmtOperationTypes(value) {
23
23
  case DcmtOperationTypes.CheckFile: return SDKUI_Localizator.FileCheck;
24
24
  case DcmtOperationTypes.ConvertFile: return SDKUI_Localizator.FileConversion;
25
25
  case DcmtOperationTypes.VerifySign: return SDKUI_Localizator.VerifySignature;
26
+ case DcmtOperationTypes.CopyCompliant: return SDKUI_Localizator.CopyCompliant;
26
27
  case DcmtOperationTypes.SubstituteFile: return SDKUI_Localizator.AddOrSubstFile;
27
28
  case DcmtOperationTypes.FreeSearchReindex: return SDKUI_Localizator.IndexOrReindex;
28
29
  case DcmtOperationTypes.FreeSearchPurge: return SDKUI_Localizator.IndexingDelete;
29
30
  case DcmtOperationTypes.BatchUpdate: return SDKUI_Localizator.BatchUpdate;
30
31
  case DcmtOperationTypes.RemoveFromWorkgroup: return SDKUI_Localizator.RemoveFromWorkgroup;
32
+ case DcmtOperationTypes.ImportCertificates: return SDKUI_Localizator.ImportCertificates;
31
33
  default: return value;
32
34
  }
33
35
  }
@@ -0,0 +1,45 @@
1
+ /** Risultato del merge PDF */
2
+ export interface MergePdfResult {
3
+ bytes: Uint8Array;
4
+ blob: Blob;
5
+ pageCount: number;
6
+ }
7
+ /** Risultato con Base64 incluso */
8
+ export interface MergePdfResultWithBase64 extends MergePdfResult {
9
+ base64: string;
10
+ }
11
+ /** Opzioni per il merge */
12
+ export interface MergePdfOptions {
13
+ fileName?: string;
14
+ onProgress?: (current: number, total: number, file: File) => void;
15
+ }
16
+ export declare class MergePdfManager {
17
+ /**
18
+ * Merge principale - Unisce array di File PDF in uno solo
19
+ */
20
+ static merge(files: File[], options?: MergePdfOptions): Promise<MergePdfResult>;
21
+ /**
22
+ * Merge -> File - Restituisce un oggetto File
23
+ */
24
+ static mergeToFile(files: File[], fileName?: string, options?: MergePdfOptions): Promise<File>;
25
+ /**
26
+ * Merge + Download - Unisce e scarica automaticamente
27
+ */
28
+ static mergeAndDownload(files: File[], fileName?: string, options?: MergePdfOptions): Promise<MergePdfResult>;
29
+ /**
30
+ * Blob -> Base64 - Converte un Blob in stringa Base64
31
+ */
32
+ static blobToBase64(blob: Blob): Promise<string>;
33
+ /**
34
+ * Merge -> Base64 - Unisce e restituisce anche la stringa Base64
35
+ */
36
+ static mergeToBase64(files: File[], options?: MergePdfOptions): Promise<MergePdfResultWithBase64>;
37
+ /**
38
+ * Merge per Preview - Restituisce solo base64 e pageCount per anteprima
39
+ */
40
+ static mergeForPreview(files: File[], options?: MergePdfOptions): Promise<{
41
+ base64: string;
42
+ pageCount: number;
43
+ }>;
44
+ }
45
+ export default MergePdfManager;