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

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 (173) hide show
  1. package/lib/components/NewComponents/ContextMenu/styles.d.ts +45 -43
  2. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +67 -60
  3. package/lib/components/base/Styled.d.ts +93 -77
  4. package/lib/components/base/Styled.js +7 -5
  5. package/lib/components/base/TMAlert.js +6 -8
  6. package/lib/components/base/TMAreaManager.js +53 -55
  7. package/lib/components/base/TMCounterBar.d.ts +2 -2
  8. package/lib/components/base/TMCounterContainer.d.ts +2 -1
  9. package/lib/components/base/TMCustomButton.d.ts +1 -1
  10. package/lib/components/base/TMCustomButton.js +40 -48
  11. package/lib/components/base/TMDataGrid.js +2 -2
  12. package/lib/components/base/TMDataGridExportForm.d.ts +2 -1
  13. package/lib/components/base/TMFileManager.d.ts +2 -1
  14. package/lib/components/base/TMFileManagerDataGridView.d.ts +2 -1
  15. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +1 -1
  16. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +1 -1
  17. package/lib/components/base/TMFileManagerUtils.d.ts +4 -6
  18. package/lib/components/base/TMLayout.d.ts +4 -4
  19. package/lib/components/base/TMList.d.ts +2 -1
  20. package/lib/components/base/TMListView.d.ts +1 -1
  21. package/lib/components/base/TMPanel.js +2 -2
  22. package/lib/components/base/TMSpinner.d.ts +4 -2
  23. package/lib/components/base/TMSpinner.js +9 -7
  24. package/lib/components/base/TMTab.d.ts +4 -3
  25. package/lib/components/base/TMTabControl.d.ts +106 -0
  26. package/lib/components/base/TMTabControl.js +664 -0
  27. package/lib/components/base/TMTooltip.d.ts +1 -1
  28. package/lib/components/base/TMTreeView.d.ts +14 -8
  29. package/lib/components/base/TMTreeView.js +33 -1
  30. package/lib/components/base/TMUserAvatar.d.ts +2 -1
  31. package/lib/components/base/TMVilViewer.d.ts +2 -1
  32. package/lib/components/base/TMWaitPanel.d.ts +3 -2
  33. package/lib/components/base/TMWaitPanel.js +1 -1
  34. package/lib/components/base/waitPanel/TMWaitPanelConfirm.d.ts +12 -0
  35. package/lib/components/base/waitPanel/TMWaitPanelConfirm.js +185 -0
  36. package/lib/components/base/waitPanel/TMWaitPanelManager.d.ts +169 -0
  37. package/lib/components/base/waitPanel/TMWaitPanelManager.js +320 -0
  38. package/lib/components/base/waitPanel/TMWaitPanelView.d.ts +53 -0
  39. package/lib/components/base/waitPanel/TMWaitPanelView.js +274 -0
  40. package/lib/components/base/waitPanel/index.d.ts +1 -0
  41. package/lib/components/base/waitPanel/index.js +1 -0
  42. package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
  43. package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +2 -1
  44. package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +2 -1
  45. package/lib/components/choosers/TMPathChooser.js +17 -34
  46. package/lib/components/choosers/TMQuickSearchInfo.d.ts +2 -1
  47. package/lib/components/choosers/TMRelationChooser.d.ts +3 -3
  48. package/lib/components/choosers/TMUserChooser.d.ts +2 -2
  49. package/lib/components/editors/TMEditorStyled.d.ts +20 -42
  50. package/lib/components/editors/TMFormulaEditor.d.ts +1 -1
  51. package/lib/components/editors/TMHtmlContentDisplay.d.ts +2 -1
  52. package/lib/components/editors/TMHtmlEditor.d.ts +2 -1
  53. package/lib/components/editors/TMMetadataValues.js +5 -5
  54. package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
  55. package/lib/components/features/archive/TMArchive.js +7 -2
  56. package/lib/components/features/assistant/TMHelpOnLineChat.d.ts +28 -0
  57. package/lib/components/features/assistant/TMHelpOnLineChat.js +888 -0
  58. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
  59. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.js +2 -2
  60. package/lib/components/features/blog/TMBlogCommentForm.d.ts +2 -1
  61. package/lib/components/features/documents/TMBatchUpdateForm.js +3 -4
  62. package/lib/components/features/documents/TMCopyToFolderForm.js +50 -42
  63. package/lib/components/features/documents/TMDcmtForm.js +51 -62
  64. package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
  65. package/lib/components/features/documents/TMDcmtIcon.d.ts +2 -3
  66. package/lib/components/features/documents/TMDcmtIcon.js +3 -5
  67. package/lib/components/features/documents/TMDcmtPreview.d.ts +8 -6
  68. package/lib/components/features/documents/TMDcmtPreview.js +5 -3
  69. package/lib/components/features/documents/TMDcmtTasks.d.ts +2 -1
  70. package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
  71. package/lib/components/features/documents/TMFileUploader.js +26 -26
  72. package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +2 -0
  73. package/lib/components/features/documents/TMMasterDetailDcmts.js +54 -129
  74. package/lib/components/features/documents/TMMasterInfoFields.d.ts +2 -1
  75. package/lib/components/features/documents/TMMasterInfoFields.js +3 -2
  76. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +2 -1
  77. package/lib/components/features/documents/TMMergeToPdfForm.js +56 -54
  78. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +2 -1
  79. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.js +2 -5
  80. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +5 -5
  81. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.js +3 -3
  82. package/lib/components/features/documents/TMRelationViewer.d.ts +16 -9
  83. package/lib/components/features/documents/TMRelationViewer.js +238 -166
  84. package/lib/components/features/documents/relationTreeState.d.ts +32 -0
  85. package/lib/components/features/documents/relationTreeState.js +89 -0
  86. package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +2 -1
  87. package/lib/components/features/search/TMMetadataOutputForm.d.ts +2 -1
  88. package/lib/components/features/search/TMMetadataSorterForm.d.ts +2 -1
  89. package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
  90. package/lib/components/features/search/TMSearch.d.ts +1 -1
  91. package/lib/components/features/search/TMSearch.js +68 -9
  92. package/lib/components/features/search/TMSearchQueryPanel.d.ts +9 -3
  93. package/lib/components/features/search/TMSearchResult.d.ts +5 -0
  94. package/lib/components/features/search/TMSearchResult.js +19 -12
  95. package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
  96. package/lib/components/features/search/TMSignatureInfoContent.d.ts +2 -1
  97. package/lib/components/features/search/TMTreeSelector.js +38 -36
  98. package/lib/components/features/search/TMViewHistoryDcmt.d.ts +2 -1
  99. package/lib/components/features/search/TMViewHistoryDcmt.js +14 -25
  100. package/lib/components/features/tasks/TMTaskForm.d.ts +1 -1
  101. package/lib/components/features/tasks/TMTaskFormUtils.d.ts +10 -10
  102. package/lib/components/features/tasks/TMTasksAgenda.d.ts +1 -1
  103. package/lib/components/features/tasks/TMTasksCalendar.d.ts +1 -1
  104. package/lib/components/features/tasks/TMTasksHeader.d.ts +1 -1
  105. package/lib/components/features/tasks/TMTasksPanelContent.d.ts +1 -1
  106. package/lib/components/features/tasks/TMTasksUtilsView.d.ts +5 -5
  107. package/lib/components/features/tasks/TMTasksView.d.ts +1 -1
  108. package/lib/components/features/tasks/TMTasksView.js +96 -101
  109. package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +3 -2
  110. package/lib/components/features/wg/TMWGsCopyMoveForm.js +91 -91
  111. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +8 -7
  112. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +3 -1
  113. package/lib/components/forms/Login/ChangePasswordInputs.d.ts +3 -1
  114. package/lib/components/forms/Login/Chooser.d.ts +2 -2
  115. package/lib/components/forms/TMChooserForm.d.ts +2 -1
  116. package/lib/components/forms/TMResultDialog.js +1 -1
  117. package/lib/components/forms/TMSaveForm.d.ts +4 -4
  118. package/lib/components/grids/TMBlogAttachments.d.ts +2 -1
  119. package/lib/components/grids/TMBlogHeader.d.ts +1 -1
  120. package/lib/components/grids/TMBlogsPost.d.ts +1 -1
  121. package/lib/components/grids/TMBlogsPost.js +92 -96
  122. package/lib/components/grids/TMBlogsPostUtils.d.ts +9 -9
  123. package/lib/components/grids/TMValidationItemsList.d.ts +2 -1
  124. package/lib/components/index.d.ts +6 -0
  125. package/lib/components/index.js +5 -0
  126. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +2 -1
  127. package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +2 -2
  128. package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +5 -6
  129. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +2 -2
  130. package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +2 -2
  131. package/lib/components/pages/TMPage.d.ts +1 -1
  132. package/lib/components/pages/TMPage.js +29 -31
  133. package/lib/components/query/TMQueryEditor.d.ts +17 -10
  134. package/lib/components/query/TMQueryEditor.js +2 -1
  135. package/lib/components/settings/SettingsAppearance.d.ts +2 -1
  136. package/lib/components/sidebar/TMAboutApp.d.ts +2 -1
  137. package/lib/components/sidebar/TMCommandsPanel.d.ts +4 -4
  138. package/lib/components/sidebar/TMHeader.d.ts +4 -3
  139. package/lib/components/sidebar/TMHeader.js +2 -2
  140. package/lib/components/viewers/TMDataListItemViewer.d.ts +3 -2
  141. package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +3 -2
  142. package/lib/components/viewers/TMMidViewer.d.ts +2 -2
  143. package/lib/components/viewers/TMTidViewer.d.ts +2 -2
  144. package/lib/helper/Enum_Localizator.js +1 -0
  145. package/lib/helper/SDKUI_Localizator.d.ts +24 -0
  146. package/lib/helper/SDKUI_Localizator.js +240 -0
  147. package/lib/helper/TMAppUpdatedModal.d.ts +2 -1
  148. package/lib/helper/TMAppUpdatedModal.js +93 -93
  149. package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
  150. package/lib/helper/TMIcons.d.ts +280 -280
  151. package/lib/helper/TMPdfViewer.d.ts +2 -1
  152. package/lib/helper/TMToppyMessage.d.ts +2 -2
  153. package/lib/helper/TMUtils.d.ts +10 -4
  154. package/lib/helper/ZipManager.d.ts +1 -1
  155. package/lib/helper/ZipManager.js +2 -1
  156. package/lib/helper/dcmtsHelper.d.ts +2 -0
  157. package/lib/helper/dcmtsHelper.js +3 -1
  158. package/lib/helper/helpers.d.ts +1 -1
  159. package/lib/hooks/useCheckInOutOperations.d.ts +0 -6
  160. package/lib/hooks/useCheckInOutOperations.js +14 -34
  161. package/lib/hooks/useDcmtOperations.d.ts +3 -12
  162. package/lib/hooks/useDcmtOperations.js +187 -179
  163. package/lib/hooks/useDocumentOperations.d.ts +1 -0
  164. package/lib/hooks/useDocumentOperations.js +14 -25
  165. package/lib/hooks/useInputDialog.d.ts +2 -1
  166. package/lib/hooks/useMultiMasterDetailDcmts.d.ts +0 -15
  167. package/lib/hooks/useMultiMasterDetailDcmts.js +65 -67
  168. package/lib/hooks/usePreventFileDrop.js +9 -0
  169. package/lib/hooks/useWorkflowApprove.js +33 -17
  170. package/lib/services/caseflow/CaseFlowService.d.ts +36 -6
  171. package/lib/services/caseflow/CaseFlowService.js +55 -14
  172. package/lib/services/platform_services.d.ts +3 -2
  173. package/package.json +71 -71
@@ -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";
@@ -32,7 +33,7 @@ interface IWorkflowOperationButtonsProps {
32
33
  handleNavigateToWGs?: (value: HomeBlogPost | number) => Promise<void>;
33
34
  handleNavigateToDossiers?: (value: HomeBlogPost | number) => Promise<void>;
34
35
  }
35
- export declare const WorkFlowOperationButtons: (props: IWorkflowOperationButtonsProps) => import("react/jsx-runtime").JSX.Element;
36
+ export declare const WorkFlowOperationButtons: (props: IWorkflowOperationButtonsProps) => React.JSX.Element;
36
37
  export declare const WorkFlowApproveRejectPopUp: ({ TID, DID, deviceType, isReject, selectedItems, onClose, onCompleted }: {
37
38
  TID?: number;
38
39
  DID?: number;
@@ -41,7 +42,7 @@ export declare const WorkFlowApproveRejectPopUp: ({ TID, DID, deviceType, isReje
41
42
  isReject: number;
42
43
  onClose?: () => void;
43
44
  onCompleted?: () => Promise<void>;
44
- }) => import("react/jsx-runtime").JSX.Element;
45
+ }) => React.JSX.Element;
45
46
  export declare const WorkFlowReAssignPopUp: ({ DID, TID, deviceType, onClose, selectedItems, onCompleted, wf, workItemDetail }: {
46
47
  TID?: number;
47
48
  DID?: number;
@@ -51,7 +52,7 @@ export declare const WorkFlowReAssignPopUp: ({ DID, TID, deviceType, onClose, se
51
52
  onCompleted?: () => Promise<void>;
52
53
  wf?: WFDescriptor;
53
54
  workItemDetail?: WorkItemDetail;
54
- }) => import("react/jsx-runtime").JSX.Element;
55
+ }) => React.JSX.Element;
55
56
  /**
56
57
  * Modal per forzare l'approvazione di un work item
57
58
  */
@@ -59,7 +60,7 @@ export declare const WorkflowForceApproveModal: ({ detail, onClose, onCompleted
59
60
  detail: WorkItemDetail;
60
61
  onClose?: () => void;
61
62
  onCompleted?: () => Promise<void>;
62
- }) => import("react/jsx-runtime").JSX.Element;
63
+ }) => React.JSX.Element;
63
64
  /**
64
65
  * Modal per forzare il rifiuto di un work item
65
66
  */
@@ -67,7 +68,7 @@ export declare const WorkflowForceRejectModal: ({ detail, onClose, onCompleted }
67
68
  detail: WorkItemDetail;
68
69
  onClose?: () => void;
69
70
  onCompleted?: () => Promise<void>;
70
- }) => import("react/jsx-runtime").JSX.Element;
71
+ }) => React.JSX.Element;
71
72
  /**
72
73
  * Modal per terminare le istanze workflow selezionate
73
74
  */
@@ -79,7 +80,7 @@ export declare const WorkflowEndInstanceModal: ({ selectedInstances, onClose, on
79
80
  }>;
80
81
  onClose?: () => void;
81
82
  onCompleted?: () => Promise<void>;
82
- }) => import("react/jsx-runtime").JSX.Element;
83
+ }) => React.JSX.Element;
83
84
  interface IWorkFlowMoreInfoPopUpProps {
84
85
  fromDTD?: DcmtTypeDescriptor;
85
86
  TID?: number;
@@ -96,5 +97,5 @@ interface IWorkFlowMoreInfoPopUpProps {
96
97
  handleNavigateToDossiers?: (value: HomeBlogPost | number) => Promise<void>;
97
98
  triggerBlogRefresh?: () => Promise<void>;
98
99
  }
99
- export declare const WorkFlowMoreInfoPopUp: (props: IWorkFlowMoreInfoPopUpProps) => import("react/jsx-runtime").JSX.Element | undefined;
100
+ export declare const WorkFlowMoreInfoPopUp: (props: IWorkFlowMoreInfoPopUpProps) => React.JSX.Element | undefined;
100
101
  export {};
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
2
  import { QueryDescriptor } from '@topconsultnpm/sdk-ts';
3
3
  import { WorkItemActor } from './RecipientList';
4
- export declare const RecipientsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
4
+ export declare const RecipientsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
5
+ style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
6
+ }> & string;
5
7
  export declare const tosToActors: (tosString: string) => {
6
8
  andRecipients: WorkItemActor[];
7
9
  orRecipients: WorkItemActor[];
@@ -11,4 +11,6 @@ interface ChangePasswordInputsProps {
11
11
  }
12
12
  declare const ChangePasswordInputs: React.FC<ChangePasswordInputsProps>;
13
13
  export default ChangePasswordInputs;
14
- export declare const Divider: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
14
+ export declare const Divider: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
15
+ style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
16
+ }> & string;
@@ -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;
@@ -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;
@@ -25,7 +25,7 @@ const TMResultDialog = ({ title, result, id1Caption, id2Caption }) => {
25
25
  TMExceptionBoxManager.show({ exception: e.data.description });
26
26
  }
27
27
  };
28
- return (_jsx(TMModal, { height: '65%', width: '75%', title: `${SDKUI_Localizator.OperationResult} - ${title}`, children: _jsxs(TMLayoutContainer, { children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '5px', padding: '5px', justifyContent: 'center', alignItems: 'center' }, children: [_jsx("p", { children: `${SDKUI_Localizator.ProcessedItems}: ${result.length}` }), _jsx(IconSuccessCirlce, { fontSize: 22, color: TMColors.success }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.SUCCESS).length ?? 0 }), _jsx(IconWarning, { fontSize: 22, color: TMColors.warning }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.WARNING).length ?? 0 }), _jsx(IconCloseCircle, { fontSize: 22, color: TMColors.error }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.ERROR).length ?? 0 })] }), _jsxs(DataGrid, { dataSource: result.filter(o => o.resultType != ResultTypes.SUCCESS), showColumnLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showRowLines) === 1, showRowLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showColumnLines) === 1, keyExpr: "rowIndex", width: "100%", height: "100%", columnResizingMode: "widget", allowColumnResizing: true, focusedRowEnabled: true, hoverStateEnabled: true, rowAlternationEnabled: true, onRowDblClick: handleRowDblClick, children: [_jsx(Column, { dataField: 'resultType', caption: '', width: "5%", allowResizing: true, allowSorting: true, cellRender: cellRender }), _jsx(Column, { dataField: 'id1', caption: id1Caption, width: "10%" }), id2Caption && _jsx(Column, { dataField: 'id2', caption: id2Caption, width: "10%" }), _jsx(Column, { dataField: 'description', allowResizing: true, caption: SDKUI_Localizator.Description, allowSorting: true, width: id2Caption ? "75%" : "85%" }), _jsx(HeaderFilter, { visible: true }), _jsx(Paging, { enabled: true, pageSize: 30 }), _jsx(Pager, { visible: true, showInfo: true, showNavigationButtons: true }), _jsx(Scrolling, { mode: 'standard', useNative: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.useNativeScrollbar) === 1 })] })] }) }));
28
+ return (_jsx(TMModal, { height: '65%', width: '75%', title: `${SDKUI_Localizator.OperationResult} - ${title}`, children: _jsxs(TMLayoutContainer, { children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '5px', padding: '5px', justifyContent: 'center', alignItems: 'center', flexShrink: 0 }, children: [_jsx("p", { children: `${SDKUI_Localizator.ProcessedItems}: ${result.length}` }), _jsx(IconSuccessCirlce, { fontSize: 22, color: TMColors.success }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.SUCCESS).length ?? 0 }), _jsx(IconWarning, { fontSize: 22, color: TMColors.warning }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.WARNING).length ?? 0 }), _jsx(IconCloseCircle, { fontSize: 22, color: TMColors.error }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.ERROR).length ?? 0 })] }), _jsx("div", { style: { flex: '1 1 auto', minHeight: 0, width: '100%', overflow: 'hidden' }, children: _jsxs(DataGrid, { dataSource: result.filter(o => o.resultType != ResultTypes.SUCCESS), showColumnLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showRowLines) === 1, showRowLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showColumnLines) === 1, keyExpr: "rowIndex", width: "100%", height: "100%", columnResizingMode: "widget", allowColumnResizing: true, focusedRowEnabled: true, hoverStateEnabled: true, rowAlternationEnabled: true, onRowDblClick: handleRowDblClick, children: [_jsx(Column, { dataField: 'resultType', caption: '', width: "5%", allowResizing: true, allowSorting: true, cellRender: cellRender }), _jsx(Column, { dataField: 'id1', caption: id1Caption, width: "10%" }), id2Caption && _jsx(Column, { dataField: 'id2', caption: id2Caption, width: "10%" }), _jsx(Column, { dataField: 'description', allowResizing: true, caption: SDKUI_Localizator.Description, allowSorting: true, width: id2Caption ? "75%" : "85%" }), _jsx(HeaderFilter, { visible: true }), _jsx(Paging, { enabled: true, pageSize: 30 }), _jsx(Pager, { visible: true, showInfo: true, showNavigationButtons: true }), _jsx(Scrolling, { mode: 'standard', useNative: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.useNativeScrollbar) === 1 })] }) })] }) }));
29
29
  };
30
30
  export default TMResultDialog;
31
31
  export class TMResultManager {
@@ -13,19 +13,19 @@ interface ITMSaveFormButtonPreviousProps extends ITMSaveFormButtonBase {
13
13
  onPrev?: () => void;
14
14
  onSaveAsync?: () => Promise<void>;
15
15
  }
16
- export declare const TMSaveFormButtonPrevious: ({ btnStyle, formMode, isModified, onPrev, canPrev, iconColor, onSaveAsync }: ITMSaveFormButtonPreviousProps) => 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;
@@ -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;
@@ -89,5 +89,5 @@ interface TMBlogsPostProps {
89
89
  /** Apre la pratica CaseFlow di una notizia con `classID === 'CF'` (bacheca Home V6). */
90
90
  handleNavigateToCaseflows?: (value: HomeBlogPost | number) => Promise<void>;
91
91
  }
92
- declare const TMBlogsPost: (props: TMBlogsPostProps) => import("react/jsx-runtime").JSX.Element;
92
+ declare const TMBlogsPost: (props: TMBlogsPostProps) => React.JSX.Element;
93
93
  export default TMBlogsPost;
@@ -11,7 +11,8 @@ import { TMColors } from "../../utils/theme";
11
11
  import ShowAlert from "../base/TMAlert";
12
12
  import { TMMessageBoxManager, ButtonNames } from "../base/TMPopUp";
13
13
  import TMTooltip from "../base/TMTooltip";
14
- import { TMLayoutWaitingContainer } from "../base/TMWaitPanel";
14
+ import TMLayoutContainer from "../base/TMLayout";
15
+ import TMWaitPanelManager from "../base/waitPanel/TMWaitPanelManager";
15
16
  import TMHtmlContentDisplay from "../editors/TMHtmlContentDisplay";
16
17
  import TMDcmtForm from "../features/documents/TMDcmtForm";
17
18
  import { TMResultManager } from "../forms/TMResultDialog";
@@ -38,7 +39,7 @@ const TMBlogsPost = (props) => {
38
39
  isRefreshEnabled: false,
39
40
  isCreateContextualTask: false,
40
41
  }, showFloatingCommentButton = false, showCommentFormCallback, refreshCallback, showId, setShowId, refreshHomePageNews, markBlogAsRead, externalBlogPost, resetExternalBlogPost, visible = true, allTasks = [], getAllTasks, deleteTaskByIdsCallback, addTaskCallback, editTaskCallback, afterTaskSaved, handleNavigateToWGs, handleNavigateToDossiers, handleNavigateToCaseflows, } = props;
41
- const { abortController, showWaitPanel, waitPanelTitle, showPrimary, waitPanelTextPrimary, waitPanelValuePrimary, waitPanelMaxValuePrimary, showSecondary, waitPanelTextSecondary, waitPanelValueSecondary, waitPanelMaxValueSecondary, downloadDcmtsAsync } = useDcmtOperations();
42
+ const { downloadDcmtsAsync } = useDcmtOperations();
42
43
  // Get the current device type (e.g., mobile, tablet, desktop) using a custom hook.
43
44
  const deviceType = useDeviceType();
44
45
  const bottomRef = useRef(null);
@@ -77,12 +78,6 @@ const TMBlogsPost = (props) => {
77
78
  const [menuVisible, setMenuVisible] = useState(false);
78
79
  const [menuPosition, setMenuPosition] = useState({ x: 0, y: 0 });
79
80
  const [menuItems, setMenuItems] = useState([]);
80
- const [localShowWaitPanel, setLocalShowWaitPanel] = useState(false);
81
- const [localWaitPanelTitle, setLocalWaitPanelTitle] = useState('');
82
- const [localShowPrimary, setLocalShowPrimary] = useState(false);
83
- const [localWaitPanelTextPrimary, setLocalWaitPanelTextPrimary] = useState('');
84
- const [localWaitPanelValuePrimary, setLocalWaitPanelValuePrimary] = useState(0);
85
- const [localWaitPanelMaxValuePrimary, setLocalWaitPanelMaxValuePrimary] = useState(0);
86
81
  const handleFocusedItem = (item) => {
87
82
  setFocusedAttachment(undefined);
88
83
  setFocusedItem(item);
@@ -430,18 +425,22 @@ const TMBlogsPost = (props) => {
430
425
  || (context.engine === 'DossierEngine' && !context.object.id)) {
431
426
  return Promise.resolve();
432
427
  }
433
- setLocalWaitPanelTitle(del ? SDKUI_Localizator.Delete : SDKUI_Localizator.Restore);
434
- setLocalShowWaitPanel(true);
435
- setLocalShowPrimary(true);
428
+ const operationTitle = del ? SDKUI_Localizator.Delete : SDKUI_Localizator.Restore;
436
429
  localAbortController = new AbortController();
430
+ const panel = TMWaitPanelManager.show({
431
+ title: operationTitle,
432
+ max: 1,
433
+ showCounters: false,
434
+ cancelable: true,
435
+ onAbort: () => localAbortController.abort(),
436
+ });
437
437
  let result = [];
438
438
  let i = 0;
439
- setLocalWaitPanelMaxValuePrimary(1);
440
439
  if (localAbortController.signal.aborted) {
441
440
  result.push({ rowIndex: i, id1: currentBlog.id, id2: currentBlog.id, resultType: ResultTypes.WARNING, description: `Operazione interrotta. Elaborate ${i}` });
442
441
  }
443
442
  else {
444
- setLocalWaitPanelTextPrimary(del ? SDKUI_Localizator.Delete : SDKUI_Localizator.Restore);
443
+ panel.setSubtitle(operationTitle);
445
444
  if (context.engine === 'WorkingGroupEngine' && context.object.id) {
446
445
  const workingGroupEngine = new WorkingGroupEngine(SDK_Globals.tmSession);
447
446
  await workingGroupEngine.BlogPostDeleteOrUndeleteAsync(context.object.id, currentBlog.id, del)
@@ -479,10 +478,7 @@ const TMBlogsPost = (props) => {
479
478
  });
480
479
  }
481
480
  }
482
- setLocalWaitPanelTextPrimary('');
483
- setLocalWaitPanelMaxValuePrimary(0);
484
- setLocalWaitPanelValuePrimary(0);
485
- setLocalShowWaitPanel(false);
481
+ panel.close();
486
482
  }
487
483
  });
488
484
  };
@@ -664,86 +660,86 @@ const TMBlogsPost = (props) => {
664
660
  console.warn(`Unhandled object type: ${ref.objClass}`);
665
661
  }
666
662
  };
667
- return _jsx("div", { ref: containerRef, style: { height: height, width: width }, children: _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(TMLayoutWaitingContainer, { direction: 'vertical', showWaitPanel: localShowWaitPanel, showWaitPanelPrimary: localShowPrimary, waitPanelTitle: localWaitPanelTitle, waitPanelTextPrimary: localWaitPanelTextPrimary, waitPanelValuePrimary: localWaitPanelValuePrimary, waitPanelMaxValuePrimary: localWaitPanelMaxValuePrimary, isCancelable: true, abortController: localAbortController, children: [_jsx(TMBlogHeader, { isVisible: currentHeader !== undefined && !isHeaderHidden, layoutMode: layoutMode, height: layoutMode === 'extended' ? "40px" : "70px", width: "100%", allPosts: posts, postsToShow: postsToShow, onPostsToShowChange: handlePostsToShowChange, categoryIdDataSource: categoryIdDataSource, appliedCategoryIdFilters: appliedCategoryIdFilters, setAppliedCategoryIdFilters: setAppliedCategoryIdFilters, searchText: searchText, onSearchChange: handleSearchChange }), _jsxs("div", { id: `${id}-blogs-wrapper`, onContextMenu: onContextMenu, style: {
668
- width: "100%",
669
- height: currentHeader !== undefined && !isHeaderHidden ? `calc(100% - ${layoutMode === 'extended' ? "40px" : "70px"})` : "100%",
670
- }, children: [blogPosts.length === 0 && _jsx(TMToppyMessage, { message: searchText.length > 0 ? SDKUI_Localizator.NoMessagesFound : SDKUI_Localizator.NoMessages }), blogPosts.length > 0 && _jsxs("div", { id: `${id}-blogs-container`, tabIndex: 0, onKeyDown: handleKeyDown, style: {
671
- height: '100%',
672
- width: '100%',
673
- outline: "none",
674
- display: "flex",
675
- flexDirection: "column",
676
- rowGap: "10px",
677
- overflowY: "auto",
678
- padding: "5px",
679
- backgroundColor: displayMode === 'stacked' ? "#e0e0e0" : "#fff"
680
- }, children: [blogPosts.map((blogPost) => {
681
- const isSelected = selectedItem.some(item => item.id === blogPost.id);
682
- const isFocused = focusedItem?.id === blogPost.id;
683
- const isHomeBlogPost = Boolean(blogPost.header?.trim());
684
- const isNew = Boolean(blogPost.newPosts ?? blogPost.customData1);
685
- const isOwnComment = blogPost.ownerID === SDK_Globals.tmSession?.SessionDescr?.userID;
686
- const isSys = blogPost.isSys === 1;
687
- return _jsxs(React.Fragment, { children: [(firstUnreadPost && blogPost.id === firstUnreadPost.id) && (_jsxs("div", { style: { display: 'flex', alignItems: 'center', width: '100%', color: TMColors.primary, fontWeight: '600', fontSize: '0.9rem', userSelect: 'none', marginTop: "12px", marginBottom: "12px" }, children: [_jsx("hr", { style: { flex: 1, border: 'none', borderTop: `1px solid ${TMColors.primary}`, marginRight: '15px' } }), _jsx("span", { children: SDKUI_Localizator.LastRead }), _jsx("hr", { style: { flex: 1, border: 'none', borderTop: `1px solid ${TMColors.primary}`, marginLeft: '15px' } })] })), _jsx(TMConditionalWrapper, { condition: displayMode === "chat", wrapper: children => _jsx("div", { style: {
688
- display: "flex",
689
- flexDirection: "row",
690
- alignItems: "flex-start",
691
- padding: "2px",
692
- borderRadius: "12px",
693
- cursor: "default",
694
- justifyContent: isOwnComment ? "flex-end" : "flex-start",
695
- }, children: _jsx("div", { style: {
696
- display: "flex",
697
- flexDirection: "column",
698
- alignItems: isOwnComment ? "flex-end" : "flex-start",
699
- textAlign: "left",
700
- maxWidth: '90%',
701
- borderRadius: '8px',
702
- }, children: children }) }), children: _jsxs("div", { id: `${id}-blogpost-${blogPost.id}`, onMouseEnter: () => handleMouseEnter(blogPost), onMouseLeave: handleMouseLeave, onClick: () => handleClick(blogPost), onDoubleClick: () => handleDoubleClick(blogPost), style: {
663
+ return _jsx("div", { ref: containerRef, style: { height: height, width: width }, children: _jsxs(TMLayoutContainer, { direction: 'vertical', children: [_jsx(TMBlogHeader, { isVisible: currentHeader !== undefined && !isHeaderHidden, layoutMode: layoutMode, height: layoutMode === 'extended' ? "40px" : "70px", width: "100%", allPosts: posts, postsToShow: postsToShow, onPostsToShowChange: handlePostsToShowChange, categoryIdDataSource: categoryIdDataSource, appliedCategoryIdFilters: appliedCategoryIdFilters, setAppliedCategoryIdFilters: setAppliedCategoryIdFilters, searchText: searchText, onSearchChange: handleSearchChange }), _jsxs("div", { id: `${id}-blogs-wrapper`, onContextMenu: onContextMenu, style: {
664
+ width: "100%",
665
+ height: currentHeader !== undefined && !isHeaderHidden ? `calc(100% - ${layoutMode === 'extended' ? "40px" : "70px"})` : "100%",
666
+ }, children: [blogPosts.length === 0 && _jsx(TMToppyMessage, { message: searchText.length > 0 ? SDKUI_Localizator.NoMessagesFound : SDKUI_Localizator.NoMessages }), blogPosts.length > 0 && _jsxs("div", { id: `${id}-blogs-container`, tabIndex: 0, onKeyDown: handleKeyDown, style: {
667
+ height: '100%',
668
+ width: '100%',
669
+ outline: "none",
670
+ display: "flex",
671
+ flexDirection: "column",
672
+ rowGap: "10px",
673
+ overflowY: "auto",
674
+ padding: "5px",
675
+ backgroundColor: displayMode === 'stacked' ? "#e0e0e0" : "#fff"
676
+ }, children: [blogPosts.map((blogPost) => {
677
+ const isSelected = selectedItem.some(item => item.id === blogPost.id);
678
+ const isFocused = focusedItem?.id === blogPost.id;
679
+ const isHomeBlogPost = Boolean(blogPost.header?.trim());
680
+ const isNew = Boolean(blogPost.newPosts ?? blogPost.customData1);
681
+ const isOwnComment = blogPost.ownerID === SDK_Globals.tmSession?.SessionDescr?.userID;
682
+ const isSys = blogPost.isSys === 1;
683
+ return _jsxs(React.Fragment, { children: [(firstUnreadPost && blogPost.id === firstUnreadPost.id) && (_jsxs("div", { style: { display: 'flex', alignItems: 'center', width: '100%', color: TMColors.primary, fontWeight: '600', fontSize: '0.9rem', userSelect: 'none', marginTop: "12px", marginBottom: "12px" }, children: [_jsx("hr", { style: { flex: 1, border: 'none', borderTop: `1px solid ${TMColors.primary}`, marginRight: '15px' } }), _jsx("span", { children: SDKUI_Localizator.LastRead }), _jsx("hr", { style: { flex: 1, border: 'none', borderTop: `1px solid ${TMColors.primary}`, marginLeft: '15px' } })] })), _jsx(TMConditionalWrapper, { condition: displayMode === "chat", wrapper: children => _jsx("div", { style: {
684
+ display: "flex",
685
+ flexDirection: "row",
686
+ alignItems: "flex-start",
687
+ padding: "2px",
688
+ borderRadius: "12px",
689
+ cursor: "default",
690
+ justifyContent: isOwnComment ? "flex-end" : "flex-start",
691
+ }, children: _jsx("div", { style: {
703
692
  display: "flex",
704
693
  flexDirection: "column",
705
- width: "100%",
706
- position: "relative",
707
- backgroundColor: isSelected ? "#135596"
708
- : displayMode === 'stacked' ? "#f9f9f9" : isOwnComment ? '#D9EFE0' : '#F3E6E6',
709
- transition: "all 0.2s ease",
710
- color: isSys ? "#ff0000" : isSelected ? "#ffffff" : TMColors.primary,
711
- borderRadius: "5px",
712
- padding: isHomeBlogPost ? '10px' : `10px ${isOwnComment ? '50px' : '10px'} 10px 10px`,
713
- borderLeft: "5px solid transparent",
714
- textDecoration: blogPost.isDel ? 'line-through' : 'none',
715
- boxShadow: isFocused ? "0 4px 12px rgba(19, 85, 150, 0.6)" : "none",
716
- cursor: 'pointer',
717
- }, children: [_jsx(BlogPostTitle, { displayMode: displayMode, layoutMode: layoutMode, blogPost: blogPost, isSelected: isSelected, isOwnComment: isOwnComment, searchText: searchText, isSys: isSys, isHomeBlogPost: isHomeBlogPost, showId: localShowId, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, handleNavigateToCaseflows: handleNavigateToCaseflows }), isNew && _jsx(NewBadge, { layoutMode: layoutMode }), _jsx("div", { style: { fontSize: '1rem', color: "#000", marginTop: "10px", overflow: "hidden" }, children: _jsx(TMHtmlContentDisplay, { markup: blogPost.description ?? '-', searchText: searchText, isSelected: isSelected }) }), showExtendedAttachments && blogPost.attachments && blogPost.attachments.length > 0 && (_jsx(TMBlogAttachments, { attachments: blogPost.attachments, layoutMode: layoutMode, isSelected: isSelected, isLoading: !descriptorsLoaded, searchText: searchText, dcmtTypeDescriptors: dcmtTypeDescriptors, treeFs: treeFs, draftLatestInfoMap: draftLatestInfoMap, archivedDocumentMap: archivedDocumentMap, handleAttachmentFocus: handleFocusedAttachment, openDcmtForm: openDcmtForm }))] }, `${id}-blogpost-${blogPost.id}`) })] }, "blog-post-wrapper-" + id + "-" + blogPost.id);
718
- }), _jsx("div", { ref: bottomRef })] }), _jsx(TMContextMenu, { items: menuItems, target: `#${id}-blogs-wrapper`, externalControl: {
719
- visible: menuVisible,
720
- position: menuPosition,
721
- onClose: closeContextMenu,
722
- } }), (showTaskForm && handleNavigateToWGs && handleNavigateToDossiers && getAllTasks && deleteTaskByIdsCallback && addTaskCallback && editTaskCallback) && _jsx("div", { style: { height: "100%", width: "100%" }, children: _jsx(TMTaskForm, { id: -1, title: SDKUI_Localizator.ContextualTask, isModal: true, width: taskModalSizes(deviceType, FormModes.Create).width, height: taskModalSizes(deviceType, FormModes.Create).height, formMode: FormModes.Create, visualizedTasks: [], currentTask: currentTask, setCurrentTask: () => { }, selectedRowKeys: [], handleFocusedRowKeyChange: () => { }, onStatusChanged: () => { }, onSaved: onSavedTaskFormCallback, onClose: () => closeTaskFormCallback(), onCancel: () => closeTaskFormCallback(), usersList: participants, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, isContextualCreate: true, taskContext: taskContext, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback }) }), (dcmtForm.dcmt && dcmtForm.dcmt.TID && dcmtForm.dcmt.DID) && _jsx(TMDcmtForm, { TID: Number(dcmtForm.dcmt.TID), DID: Number(dcmtForm.dcmt.DID), layoutMode: LayoutModes.Update, onClose: closeDcmtForm, isClosable: true, titleModal: SDKUI_Localizator.Attachment + ": " + dcmtForm.dcmt.fileName, isModal: true, widthModal: "95%", heightModal: "95%", allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, onReferenceClick: handleNavigateToReference, moreInfoTasks: getMoreInfoTasksForDocument(allTasks, Number(dcmtForm.dcmt.TID), Number(dcmtForm.dcmt.DID)) }), (showFloatingCommentButton && showCommentFormCallback && !(context?.engine === 'WorkingGroupEngine' && context?.object?.customData1 === 1)) && _jsx("button", { style: {
723
- position: 'absolute',
724
- bottom: '18px',
725
- right: '20px',
726
- width: '40px',
727
- height: '40px',
728
- borderRadius: "50%",
729
- backgroundColor: "#C2388B",
730
- color: '#fff',
731
- border: 'none',
732
- cursor: 'pointer',
733
- boxShadow: '0 2px 6px rgba(0,0,0,0.2)',
734
- zIndex: 1000,
735
- transition: 'background-color 0.3s ease, transform 0.2s ease',
736
- display: 'flex',
737
- justifyContent: 'center',
738
- alignItems: 'center',
739
- }, onMouseEnter: (e) => {
740
- e.currentTarget.style.backgroundColor = '#D94A9F';
741
- e.currentTarget.style.transform = 'scale(1.1)';
742
- e.currentTarget.style.boxShadow = '0 4px 12px rgba(37, 89, 165, 0.6)';
743
- }, onMouseLeave: (e) => {
744
- e.currentTarget.style.backgroundColor = "#C2388B";
745
- e.currentTarget.style.transform = 'scale(1)';
746
- e.currentTarget.style.boxShadow = '0 2px 6px rgba(0,0,0,0.2)';
747
- }, onClick: () => { showCommentFormCallback(undefined); }, children: _jsx(TMTooltip, { content: SDKUI_Localizator.AddNewComment, children: _jsx("i", { className: "dx-icon-chat", style: { fontSize: '25px' } }) }) })] })] }) }) });
694
+ alignItems: isOwnComment ? "flex-end" : "flex-start",
695
+ textAlign: "left",
696
+ maxWidth: '90%',
697
+ borderRadius: '8px',
698
+ }, children: children }) }), children: _jsxs("div", { id: `${id}-blogpost-${blogPost.id}`, onMouseEnter: () => handleMouseEnter(blogPost), onMouseLeave: handleMouseLeave, onClick: () => handleClick(blogPost), onDoubleClick: () => handleDoubleClick(blogPost), style: {
699
+ display: "flex",
700
+ flexDirection: "column",
701
+ width: "100%",
702
+ position: "relative",
703
+ backgroundColor: isSelected ? "#135596"
704
+ : displayMode === 'stacked' ? "#f9f9f9" : isOwnComment ? '#D9EFE0' : '#F3E6E6',
705
+ transition: "all 0.2s ease",
706
+ color: isSys ? "#ff0000" : isSelected ? "#ffffff" : TMColors.primary,
707
+ borderRadius: "5px",
708
+ padding: isHomeBlogPost ? '10px' : `10px ${isOwnComment ? '50px' : '10px'} 10px 10px`,
709
+ borderLeft: "5px solid transparent",
710
+ textDecoration: blogPost.isDel ? 'line-through' : 'none',
711
+ boxShadow: isFocused ? "0 4px 12px rgba(19, 85, 150, 0.6)" : "none",
712
+ cursor: 'pointer',
713
+ }, children: [_jsx(BlogPostTitle, { displayMode: displayMode, layoutMode: layoutMode, blogPost: blogPost, isSelected: isSelected, isOwnComment: isOwnComment, searchText: searchText, isSys: isSys, isHomeBlogPost: isHomeBlogPost, showId: localShowId, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, handleNavigateToCaseflows: handleNavigateToCaseflows }), isNew && _jsx(NewBadge, { layoutMode: layoutMode }), _jsx("div", { style: { fontSize: '1rem', color: "#000", marginTop: "10px", overflow: "hidden" }, children: _jsx(TMHtmlContentDisplay, { markup: blogPost.description ?? '-', searchText: searchText, isSelected: isSelected }) }), showExtendedAttachments && blogPost.attachments && blogPost.attachments.length > 0 && (_jsx(TMBlogAttachments, { attachments: blogPost.attachments, layoutMode: layoutMode, isSelected: isSelected, isLoading: !descriptorsLoaded, searchText: searchText, dcmtTypeDescriptors: dcmtTypeDescriptors, treeFs: treeFs, draftLatestInfoMap: draftLatestInfoMap, archivedDocumentMap: archivedDocumentMap, handleAttachmentFocus: handleFocusedAttachment, openDcmtForm: openDcmtForm }))] }, `${id}-blogpost-${blogPost.id}`) })] }, "blog-post-wrapper-" + id + "-" + blogPost.id);
714
+ }), _jsx("div", { ref: bottomRef })] }), _jsx(TMContextMenu, { items: menuItems, target: `#${id}-blogs-wrapper`, externalControl: {
715
+ visible: menuVisible,
716
+ position: menuPosition,
717
+ onClose: closeContextMenu,
718
+ } }), (showTaskForm && handleNavigateToWGs && handleNavigateToDossiers && getAllTasks && deleteTaskByIdsCallback && addTaskCallback && editTaskCallback) && _jsx("div", { style: { height: "100%", width: "100%" }, children: _jsx(TMTaskForm, { id: -1, title: SDKUI_Localizator.ContextualTask, isModal: true, width: taskModalSizes(deviceType, FormModes.Create).width, height: taskModalSizes(deviceType, FormModes.Create).height, formMode: FormModes.Create, visualizedTasks: [], currentTask: currentTask, setCurrentTask: () => { }, selectedRowKeys: [], handleFocusedRowKeyChange: () => { }, onStatusChanged: () => { }, onSaved: onSavedTaskFormCallback, onClose: () => closeTaskFormCallback(), onCancel: () => closeTaskFormCallback(), usersList: participants, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, isContextualCreate: true, taskContext: taskContext, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback }) }), (dcmtForm.dcmt && dcmtForm.dcmt.TID && dcmtForm.dcmt.DID) && _jsx(TMDcmtForm, { TID: Number(dcmtForm.dcmt.TID), DID: Number(dcmtForm.dcmt.DID), layoutMode: LayoutModes.Update, onClose: closeDcmtForm, isClosable: true, titleModal: SDKUI_Localizator.Attachment + ": " + dcmtForm.dcmt.fileName, isModal: true, widthModal: "95%", heightModal: "95%", allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, onReferenceClick: handleNavigateToReference, moreInfoTasks: getMoreInfoTasksForDocument(allTasks, Number(dcmtForm.dcmt.TID), Number(dcmtForm.dcmt.DID)) }), (showFloatingCommentButton && showCommentFormCallback && !(context?.engine === 'WorkingGroupEngine' && context?.object?.customData1 === 1)) && _jsx("button", { style: {
719
+ position: 'absolute',
720
+ bottom: '18px',
721
+ right: '20px',
722
+ width: '40px',
723
+ height: '40px',
724
+ borderRadius: "50%",
725
+ backgroundColor: "#C2388B",
726
+ color: '#fff',
727
+ border: 'none',
728
+ cursor: 'pointer',
729
+ boxShadow: '0 2px 6px rgba(0,0,0,0.2)',
730
+ zIndex: 1000,
731
+ transition: 'background-color 0.3s ease, transform 0.2s ease',
732
+ display: 'flex',
733
+ justifyContent: 'center',
734
+ alignItems: 'center',
735
+ }, onMouseEnter: (e) => {
736
+ e.currentTarget.style.backgroundColor = '#D94A9F';
737
+ e.currentTarget.style.transform = 'scale(1.1)';
738
+ e.currentTarget.style.boxShadow = '0 4px 12px rgba(37, 89, 165, 0.6)';
739
+ }, onMouseLeave: (e) => {
740
+ e.currentTarget.style.backgroundColor = "#C2388B";
741
+ e.currentTarget.style.transform = 'scale(1)';
742
+ e.currentTarget.style.boxShadow = '0 2px 6px rgba(0,0,0,0.2)';
743
+ }, onClick: () => { showCommentFormCallback(undefined); }, children: _jsx(TMTooltip, { content: SDKUI_Localizator.AddNewComment, children: _jsx("i", { className: "dx-icon-chat", style: { fontSize: '25px' } }) }) })] })] }) });
748
744
  };
749
745
  export default TMBlogsPost;
@@ -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,8 +76,8 @@ 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;
@@ -85,7 +85,7 @@ export declare const getAttachmentInfo: (attachment: BlogPostAttachment, treeFs:
85
85
  isSigned: number;
86
86
  };
87
87
  export declare const getDcmtTypeDescriptor: (blogPosts: Array<BlogPost>) => Promise<Map<number, DcmtTypeDescriptor>>;
88
- 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;
89
89
  export declare const isHeaderFullyHidden: (header: {
90
90
  showViewMode: boolean;
91
91
  showFilters: boolean;
@@ -95,7 +95,7 @@ export declare const isHeaderFullyHidden: (header: {
95
95
  interface NewBadgeProps {
96
96
  layoutMode: "compact" | "extended";
97
97
  }
98
- export declare const NewBadge: ({ layoutMode }: NewBadgeProps) => import("react/jsx-runtime").JSX.Element;
98
+ export declare const NewBadge: ({ layoutMode }: NewBadgeProps) => React.JSX.Element;
99
99
  export declare const removeFileExtension: (filename: string) => string;
100
100
  interface BlogPostTitleProps {
101
101
  displayMode: "chat" | "stacked";
@@ -111,6 +111,6 @@ interface BlogPostTitleProps {
111
111
  handleNavigateToDossiers?: (blogPost: BlogPost | HomeBlogPost) => void;
112
112
  handleNavigateToCaseflows?: (blogPost: BlogPost | HomeBlogPost) => void;
113
113
  }
114
- export declare const BlogPostTitle: (props: BlogPostTitleProps) => import("react/jsx-runtime").JSX.Element;
114
+ export declare const BlogPostTitle: (props: BlogPostTitleProps) => React.JSX.Element;
115
115
  export declare const stripHtml: (html: string) => string;
116
116
  export {};
@@ -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;
@@ -7,8 +7,10 @@ export { default as TMList } from './base/TMList';
7
7
  export { default as TMModal } from './base/TMModal';
8
8
  export * from './base/TMPopUp';
9
9
  export * from './base/TMLayout';
10
+ export { default as TMLayoutContainer } from './base/TMLayout';
10
11
  export * from './base/Styled';
11
12
  export * from './base/TMWaitPanel';
13
+ export * from './base/waitPanel';
12
14
  export * from './base/TMToolbarCard';
13
15
  export * from './base/TMRightSidebar';
14
16
  export * from './base/TMTreeView';
@@ -21,6 +23,8 @@ export { default as TMProgressBar } from './base/TMProgressBar';
21
23
  export { default as TMSpinner } from './base/TMSpinner';
22
24
  export { Spinner } from './base/TMSpinner';
23
25
  export { default as TMToggleButton } from './base/TMToggleButton';
26
+ export { default as TMTabControl } from './base/TMTabControl';
27
+ export * from './base/TMTabControl';
24
28
  export { default as TMTooltip } from './base/TMTooltip';
25
29
  export { default as TMVilViewer } from './base/TMVilViewer';
26
30
  export { default as TMUserAvatar } from './base/TMUserAvatar';
@@ -64,6 +68,8 @@ export * from './query/TMQueryEditor';
64
68
  export * from './query/TMQuerySummary';
65
69
  export * from './query/TMQueryCountButton';
66
70
  export { default as TMToppyDraggableHelpCenter } from './features/assistant/TMToppyDraggableHelpCenter';
71
+ export { default as TMHelpOnLineChat, TMToppyHeaderButton } from './features/assistant/TMHelpOnLineChat';
72
+ export type { HolChatMessage, ITMHelpOnLineChatProps, ITMToppyHeaderButtonProps } from './features/assistant/TMHelpOnLineChat';
67
73
  export * from './features/documents/TMDcmtForm';
68
74
  export * from './features/documents/TMDcmtIcon';
69
75
  export * from './features/documents/TMDcmtPreview';
@@ -8,8 +8,10 @@ export { default as TMList } from './base/TMList';
8
8
  export { default as TMModal } from './base/TMModal';
9
9
  export * from './base/TMPopUp';
10
10
  export * from './base/TMLayout';
11
+ export { default as TMLayoutContainer } from './base/TMLayout';
11
12
  export * from './base/Styled';
12
13
  export * from './base/TMWaitPanel';
14
+ export * from './base/waitPanel';
13
15
  export * from './base/TMToolbarCard';
14
16
  export * from './base/TMRightSidebar';
15
17
  export * from './base/TMTreeView';
@@ -22,6 +24,8 @@ export { default as TMProgressBar } from './base/TMProgressBar';
22
24
  export { default as TMSpinner } from './base/TMSpinner';
23
25
  export { Spinner } from './base/TMSpinner';
24
26
  export { default as TMToggleButton } from './base/TMToggleButton';
27
+ export { default as TMTabControl } from './base/TMTabControl';
28
+ export * from './base/TMTabControl';
25
29
  export { default as TMTooltip } from './base/TMTooltip';
26
30
  export { default as TMVilViewer } from './base/TMVilViewer';
27
31
  export { default as TMUserAvatar } from './base/TMUserAvatar';
@@ -71,6 +75,7 @@ export * from './query/TMQuerySummary';
71
75
  export * from './query/TMQueryCountButton';
72
76
  //assistant
73
77
  export { default as TMToppyDraggableHelpCenter } from './features/assistant/TMToppyDraggableHelpCenter';
78
+ export { default as TMHelpOnLineChat, TMToppyHeaderButton } from './features/assistant/TMHelpOnLineChat';
74
79
  //documents
75
80
  export * from './features/documents/TMDcmtForm';
76
81
  export * from './features/documents/TMDcmtIcon';
@@ -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>;
@@ -7,5 +8,5 @@ interface TMPanelManagerContainerProps {
7
8
  minPanelSizePx?: number;
8
9
  gutterSizePx?: number;
9
10
  }
10
- declare const TMPanelManagerContainer: (props: TMPanelManagerContainerProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ declare const TMPanelManagerContainer: (props: TMPanelManagerContainerProps) => React.JSX.Element | null;
11
12
  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 {};