@topconsultnpm/sdkui-react 6.20.0-dev1.9 → 6.20.0-dev1.91

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 (144) hide show
  1. package/lib/assets/Toppy-help-center.png +0 -0
  2. package/lib/components/NewComponents/ContextMenu/TMContextMenu.d.ts +4 -0
  3. package/lib/components/NewComponents/ContextMenu/TMContextMenu.js +441 -0
  4. package/lib/components/NewComponents/ContextMenu/hooks.d.ts +18 -0
  5. package/lib/components/NewComponents/ContextMenu/hooks.js +120 -0
  6. package/lib/components/NewComponents/ContextMenu/index.d.ts +5 -0
  7. package/lib/components/NewComponents/ContextMenu/index.js +3 -0
  8. package/lib/components/NewComponents/ContextMenu/styles.d.ts +35 -0
  9. package/lib/components/NewComponents/ContextMenu/styles.js +428 -0
  10. package/lib/components/NewComponents/ContextMenu/types.d.ts +39 -0
  11. package/lib/components/NewComponents/ContextMenu/types.js +1 -0
  12. package/lib/components/NewComponents/ContextMenu/useLongPress.d.ts +21 -0
  13. package/lib/components/NewComponents/ContextMenu/useLongPress.js +112 -0
  14. package/lib/components/NewComponents/FloatingMenuBar/TMFloatingMenuBar.d.ts +4 -0
  15. package/lib/components/NewComponents/FloatingMenuBar/TMFloatingMenuBar.js +821 -0
  16. package/lib/components/NewComponents/FloatingMenuBar/index.d.ts +2 -0
  17. package/lib/components/NewComponents/FloatingMenuBar/index.js +2 -0
  18. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +54 -0
  19. package/lib/components/NewComponents/FloatingMenuBar/styles.js +419 -0
  20. package/lib/components/NewComponents/FloatingMenuBar/types.d.ts +36 -0
  21. package/lib/components/NewComponents/FloatingMenuBar/types.js +1 -0
  22. package/lib/components/base/TMAccordionNew.js +35 -14
  23. package/lib/components/base/TMCustomButton.js +61 -17
  24. package/lib/components/base/TMDataGrid.d.ts +7 -4
  25. package/lib/components/base/TMDataGrid.js +148 -11
  26. package/lib/components/base/TMDropDownMenu.js +19 -18
  27. package/lib/components/base/TMFileManager.d.ts +4 -3
  28. package/lib/components/base/TMFileManager.js +32 -24
  29. package/lib/components/base/TMFileManagerDataGridView.d.ts +3 -2
  30. package/lib/components/base/TMFileManagerDataGridView.js +1 -11
  31. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +7 -1
  32. package/lib/components/base/TMFileManagerThumbnailItems.js +5 -2
  33. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +17 -4
  34. package/lib/components/base/TMFileManagerThumbnailsView.js +18 -6
  35. package/lib/components/base/TMFileManagerUtils.d.ts +0 -12
  36. package/lib/components/base/TMPanel.js +1 -1
  37. package/lib/components/choosers/TMInvoiceRetrieveFormats.js +1 -1
  38. package/lib/components/choosers/TMMetadataChooser.js +8 -1
  39. package/lib/components/choosers/TMOrderRetrieveFormats.js +1 -1
  40. package/lib/components/choosers/TMUserChooser.d.ts +0 -5
  41. package/lib/components/choosers/TMUserChooser.js +25 -45
  42. package/lib/components/editors/TMMetadataValues.js +23 -5
  43. package/lib/components/editors/TMTextBox.js +6 -3
  44. package/lib/components/features/archive/TMArchive.js +2 -2
  45. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +15 -0
  46. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.js +460 -0
  47. package/lib/components/features/assistant/TMToppySpeechBubble.d.ts +11 -0
  48. package/lib/components/features/assistant/TMToppySpeechBubble.js +126 -0
  49. package/lib/components/features/documents/TMDcmtForm.d.ts +14 -2
  50. package/lib/components/features/documents/TMDcmtForm.js +451 -203
  51. package/lib/components/features/documents/TMDcmtPreview.js +41 -105
  52. package/lib/components/features/documents/TMDcmtTasks.js +9 -9
  53. package/lib/components/features/documents/TMMasterDetailDcmts.js +38 -53
  54. package/lib/components/features/documents/TMRelationViewer.d.ts +1 -1
  55. package/lib/components/features/documents/TMRelationViewer.js +2 -2
  56. package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +8 -0
  57. package/lib/components/features/search/{TMSearchResultCheckoutInfoForm.js → TMDcmtCheckoutInfoForm.js} +2 -2
  58. package/lib/components/features/search/TMSavedQuerySelector.js +72 -67
  59. package/lib/components/features/search/TMSearch.js +44 -9
  60. package/lib/components/features/search/TMSearchQueryPanel.d.ts +1 -0
  61. package/lib/components/features/search/TMSearchQueryPanel.js +19 -18
  62. package/lib/components/features/search/TMSearchResult.js +188 -248
  63. package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +3 -3
  64. package/lib/components/features/search/TMSearchResultsMenuItems.js +205 -169
  65. package/lib/components/features/search/TMSignSettingsForm.js +1 -1
  66. package/lib/components/features/search/TMSignatureInfoContent.d.ts +6 -0
  67. package/lib/components/features/search/TMSignatureInfoContent.js +140 -0
  68. package/lib/components/features/search/TMViewHistoryDcmt.js +2 -2
  69. package/lib/components/features/tasks/TMTaskForm.js +20 -1
  70. package/lib/components/features/tasks/TMTasksAgenda.d.ts +3 -1
  71. package/lib/components/features/tasks/TMTasksAgenda.js +48 -9
  72. package/lib/components/features/tasks/TMTasksCalendar.d.ts +2 -0
  73. package/lib/components/features/tasks/TMTasksCalendar.js +19 -7
  74. package/lib/components/features/tasks/TMTasksUtils.d.ts +2 -2
  75. package/lib/components/features/tasks/TMTasksUtils.js +43 -36
  76. package/lib/components/features/tasks/TMTasksView.js +28 -19
  77. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +33 -2
  78. package/lib/components/features/workflow/TMWorkflowPopup.js +139 -34
  79. package/lib/components/features/workflow/diagram/DiagramItemComponent.d.ts +1 -0
  80. package/lib/components/features/workflow/diagram/DiagramItemComponent.js +2 -3
  81. package/lib/components/features/workflow/diagram/RecipientList.js +3 -2
  82. package/lib/components/features/workflow/diagram/WFDiagram.d.ts +3 -0
  83. package/lib/components/features/workflow/diagram/WFDiagram.js +157 -12
  84. package/lib/components/forms/Login/LoginValidatorService.d.ts +2 -0
  85. package/lib/components/forms/Login/LoginValidatorService.js +7 -2
  86. package/lib/components/forms/Login/TMLoginForm.js +34 -6
  87. package/lib/components/forms/TMChooserForm.js +1 -1
  88. package/lib/components/grids/TMBlogsPost.js +56 -31
  89. package/lib/components/grids/TMRecentsManager.js +20 -10
  90. package/lib/components/index.d.ts +5 -1
  91. package/lib/components/index.js +5 -1
  92. package/lib/components/query/TMQueryEditor.d.ts +2 -1
  93. package/lib/components/query/TMQueryEditor.js +92 -92
  94. package/lib/components/settings/SettingsAppearance.d.ts +2 -1
  95. package/lib/components/settings/SettingsAppearance.js +99 -30
  96. package/lib/components/viewers/TMDataListItemViewer.d.ts +2 -1
  97. package/lib/components/viewers/TMDataListItemViewer.js +35 -71
  98. package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +8 -0
  99. package/lib/components/viewers/TMDataUserIdItemViewer.js +39 -0
  100. package/lib/css/tm-sdkui.css +1 -1
  101. package/lib/helper/SDKUI_Globals.d.ts +19 -0
  102. package/lib/helper/SDKUI_Globals.js +6 -0
  103. package/lib/helper/SDKUI_Localizator.d.ts +17 -1
  104. package/lib/helper/SDKUI_Localizator.js +167 -1
  105. package/lib/helper/TMCommandsContextMenu.d.ts +4 -2
  106. package/lib/helper/TMCommandsContextMenu.js +15 -4
  107. package/lib/helper/TMIcons.d.ts +3 -0
  108. package/lib/helper/TMIcons.js +10 -3
  109. package/lib/helper/TMPdfViewer.d.ts +8 -0
  110. package/lib/helper/TMPdfViewer.js +373 -0
  111. package/lib/helper/checkinCheckoutManager.d.ts +31 -1
  112. package/lib/helper/checkinCheckoutManager.js +112 -30
  113. package/lib/helper/devextremeCustomMessages.d.ts +30 -0
  114. package/lib/helper/devextremeCustomMessages.js +30 -0
  115. package/lib/helper/helpers.d.ts +3 -1
  116. package/lib/helper/helpers.js +25 -3
  117. package/lib/helper/index.d.ts +2 -0
  118. package/lib/helper/index.js +2 -0
  119. package/lib/helper/queryHelper.d.ts +1 -1
  120. package/lib/helper/queryHelper.js +33 -3
  121. package/lib/helper/workItemsHelper.d.ts +6 -0
  122. package/lib/helper/workItemsHelper.js +230 -0
  123. package/lib/hooks/useCheckInOutOperations.d.ts +28 -0
  124. package/lib/hooks/useCheckInOutOperations.js +223 -0
  125. package/lib/hooks/useDataListItem.d.ts +12 -0
  126. package/lib/hooks/useDataListItem.js +131 -0
  127. package/lib/hooks/useDataUserIdItem.d.ts +10 -0
  128. package/lib/hooks/useDataUserIdItem.js +96 -0
  129. package/lib/hooks/useSettingsFeedback.d.ts +11 -0
  130. package/lib/hooks/useSettingsFeedback.js +38 -0
  131. package/lib/hooks/useWorkflowApprove.d.ts +4 -0
  132. package/lib/hooks/useWorkflowApprove.js +14 -1
  133. package/lib/index.d.ts +1 -0
  134. package/lib/index.js +3 -2
  135. package/lib/services/platform_services.d.ts +3 -3
  136. package/lib/ts/types.d.ts +61 -1
  137. package/lib/utils/theme.d.ts +1 -1
  138. package/lib/utils/theme.js +1 -1
  139. package/package.json +7 -4
  140. package/lib/components/features/assistant/ToppyDraggableHelpCenter.d.ts +0 -30
  141. package/lib/components/features/assistant/ToppyDraggableHelpCenter.js +0 -482
  142. package/lib/components/features/assistant/ToppySpeechBubble.d.ts +0 -9
  143. package/lib/components/features/assistant/ToppySpeechBubble.js +0 -117
  144. package/lib/components/features/search/TMSearchResultCheckoutInfoForm.d.ts +0 -8
@@ -0,0 +1,96 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef, useCallback } from 'react';
3
+ import { UserListCacheService } from '@topconsultnpm/sdk-ts';
4
+ import { IconWarning, SDKUI_Localizator } from '../helper';
5
+ import { TMColors } from '../utils/theme';
6
+ import { TMUserIcon } from '../components';
7
+ export const useDataUserIdItem = () => {
8
+ const usersCacheRef = useRef(new Map());
9
+ /**
10
+ * Carica tutti gli utenti necessari in parallelo e popola la cache
11
+ * @param userIDs Set di ID degli utenti da caricare
12
+ * @returns Promise che si risolve quando tutti gli utenti sono stati caricati
13
+ */
14
+ const loadUsersAsync = useCallback(async (userIDs) => {
15
+ if (userIDs.size === 0)
16
+ return;
17
+ try {
18
+ const results = await Promise.all(Array.from(userIDs).map(id => UserListCacheService.GetAsync(id).then(user => ({ id, user }))
19
+ .catch(() => ({ id, user: undefined }))));
20
+ const newCache = new Map();
21
+ results.forEach(({ id, user }) => {
22
+ if (user)
23
+ newCache.set(id, user);
24
+ });
25
+ usersCacheRef.current = newCache;
26
+ }
27
+ catch (err) {
28
+ console.error('Error loading Users:', err);
29
+ usersCacheRef.current = new Map();
30
+ }
31
+ }, []);
32
+ /**
33
+ * Recupera un utente dalla cache
34
+ * @param userId ID dell'utente
35
+ * @returns UserDescriptor se trovato, undefined altrimenti
36
+ */
37
+ const getUserItem = useCallback((userId) => {
38
+ return usersCacheRef.current.get(userId);
39
+ }, []);
40
+ /**
41
+ * Svuota completamente la cache
42
+ */
43
+ const clearCache = useCallback(() => {
44
+ usersCacheRef.current = new Map();
45
+ }, []);
46
+ /**
47
+ * Verifica se un utente è presente nella cache
48
+ * @param userId ID dell'utente
49
+ * @returns true se l'utente è in cache, false altrimenti
50
+ */
51
+ const hasUser = useCallback((userId) => {
52
+ return usersCacheRef.current.has(userId);
53
+ }, []);
54
+ /**
55
+ * Helper per ottenere il nome completo dell'utente
56
+ */
57
+ const getCompleteUserName = useCallback((domain, name) => {
58
+ if (!name)
59
+ return undefined;
60
+ if (!domain)
61
+ return name;
62
+ return domain + "\\" + name;
63
+ }, []);
64
+ /**
65
+ * Renderizza un componente UserIdViewer
66
+ * @param userId ID dell'utente
67
+ * @param showIcon Se mostrare l'icona
68
+ * @param noneSelectionText Testo da mostrare quando non c'è selezione
69
+ * @param TMUserIcon Componente per l'icona utente
70
+ * @returns Elemento React per visualizzare l'utente
71
+ */
72
+ const renderUserIdViewer = useCallback((userId, showIcon = false, showTitile = true) => {
73
+ const ud = userId && userId > 0 ? getUserItem(userId) : undefined;
74
+ const getIcon = () => {
75
+ if (!showIcon)
76
+ return null;
77
+ if (!userId)
78
+ return null;
79
+ return ud ? _jsx(TMUserIcon, { ud: ud }) : _jsx("div", { title: showTitile ? SDKUI_Localizator.ValueNotPresent : undefined, children: _jsx(IconWarning, { color: TMColors.warning }) });
80
+ };
81
+ const getDescription = () => {
82
+ if (!userId)
83
+ return undefined;
84
+ return ud ? getCompleteUserName(ud.domain, ud.name) : userId.toString() ?? SDKUI_Localizator.NoneSelection;
85
+ };
86
+ return (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '4px' }, children: [getIcon(), _jsx("span", { children: getDescription() })] }));
87
+ }, [getUserItem, getCompleteUserName]);
88
+ return {
89
+ loadUsersAsync,
90
+ getUserItem,
91
+ clearCache,
92
+ hasUser,
93
+ usersCache: usersCacheRef,
94
+ renderUserIdViewer
95
+ };
96
+ };
@@ -0,0 +1,11 @@
1
+ export interface SettingsFeedback {
2
+ showSavedBadge: boolean;
3
+ lastChanged: {
4
+ label: string;
5
+ value: string;
6
+ };
7
+ isWarning: boolean;
8
+ triggerUIUpdate: (label: string, value: any, warning?: boolean) => void;
9
+ closeBadge: () => void;
10
+ }
11
+ export declare const useSettingsFeedback: () => SettingsFeedback;
@@ -0,0 +1,38 @@
1
+ import { useState, useRef } from 'react';
2
+ export const useSettingsFeedback = () => {
3
+ const [, setForceUpdate] = useState(0);
4
+ const [showSavedBadge, setShowSavedBadge] = useState(false);
5
+ const [lastChanged, setLastChanged] = useState({
6
+ label: '',
7
+ value: ''
8
+ });
9
+ const [isWarning, setIsWarning] = useState(false);
10
+ const timeoutRef = useRef(null);
11
+ const triggerUIUpdate = (label, value, warning = false) => {
12
+ setForceUpdate((prev) => prev + 1);
13
+ setShowSavedBadge(true);
14
+ setLastChanged({ label, value: String(value) });
15
+ setIsWarning(warning);
16
+ if (timeoutRef.current) {
17
+ clearTimeout(timeoutRef.current);
18
+ }
19
+ timeoutRef.current = setTimeout(() => {
20
+ setShowSavedBadge(false);
21
+ timeoutRef.current = null;
22
+ }, 4000);
23
+ };
24
+ const closeBadge = () => {
25
+ setShowSavedBadge(false);
26
+ if (timeoutRef.current) {
27
+ clearTimeout(timeoutRef.current);
28
+ timeoutRef.current = null;
29
+ }
30
+ };
31
+ return {
32
+ showSavedBadge,
33
+ lastChanged,
34
+ isWarning,
35
+ triggerUIUpdate,
36
+ closeBadge
37
+ };
38
+ };
@@ -8,4 +8,8 @@ export declare const useWorkflowApprove: () => {
8
8
  isLoading: boolean;
9
9
  refreshWorkflowApprove: () => Promise<void>;
10
10
  totalDcmtsFound: number;
11
+ getWorkItemsByDID: (targetDID: number) => {
12
+ tid: number;
13
+ did: number;
14
+ }[];
11
15
  };
@@ -14,6 +14,19 @@ export const useWorkflowApprove = () => {
14
14
  const calculateTotalDcmtsFound = useCallback((data) => {
15
15
  return data.reduce((sum, item) => sum + (item.dcmtsFound || 0), 0);
16
16
  }, []);
17
+ /**
18
+ * Ottiene tutti i work items che corrispondono a un determinato DID.
19
+ * Restituisce un array di oggetti { tid, did }.
20
+ */
21
+ const getWorkItemsByDID = useCallback((targetDID) => {
22
+ return workflowApproveData
23
+ .flatMap(workflow => workflow.dtdResult?.rows ?? [])
24
+ .filter(dataRow => Number(dataRow?.[1]) === targetDID)
25
+ .map(dataRow => ({
26
+ tid: Number(dataRow[0]),
27
+ did: targetDID
28
+ }));
29
+ }, [workflowApproveData]);
17
30
  /**
18
31
  * Esegue il fetch dei dati dal workflow, aggiorna lo stato globale
19
32
  * e notifica gli altri componenti tramite un evento.
@@ -53,5 +66,5 @@ export const useWorkflowApprove = () => {
53
66
  window.removeEventListener('onWorkflowApproveChange', handleUpdate);
54
67
  };
55
68
  }, [calculateTotalDcmtsFound]);
56
- return { workflowApproveData, isLoading, refreshWorkflowApprove, totalDcmtsFound };
69
+ return { workflowApproveData, isLoading, refreshWorkflowApprove, totalDcmtsFound, getWorkItemsByDID };
57
70
  };
package/lib/index.d.ts CHANGED
@@ -9,4 +9,5 @@ export * from './hooks/useDcmtOperations';
9
9
  export * from './hooks/useResizeObserver';
10
10
  export * from './hooks/useWorkflowApprove';
11
11
  export * from './hooks/useRelatedDocuments';
12
+ export * from './hooks/useSettingsFeedback';
12
13
  export * from './services';
package/lib/index.js CHANGED
@@ -9,7 +9,8 @@ export * from './hooks/useDcmtOperations';
9
9
  export * from './hooks/useResizeObserver';
10
10
  export * from './hooks/useWorkflowApprove';
11
11
  export * from './hooks/useRelatedDocuments';
12
+ export * from './hooks/useSettingsFeedback';
12
13
  export * from './services';
13
14
  import config from 'devextreme/core/config';
14
- // DevExtreme License Key (valid for v25.1 and earlier versions)
15
- config({ licenseKey: 'ewogICJmb3JtYXQiOiAxLAogICJjdXN0b21lcklkIjogIjE1ODg1NDc4LTNjNTItNGUzYy1hNDI1LTU5NjAzMzQ0ZDVjMyIsCiAgIm1heFZlcnNpb25BbGxvd2VkIjogMjUxCn0=.sy0jZ9UWNR//KApWWp2wwKhxX90FmWl/0EHN4i7AnYQReSCtBSB2MlTTMYzYWv4kmD4lKynH4XC85dWwgGLU7RQmchZ916g5iBogVs6CpLeZErO1QJj7OGhLOM2BLfaODN5v9w==' });
15
+ // DevExtreme License Key (valid for v25.2 and earlier versions)
16
+ config({ licenseKey: 'ewogICJmb3JtYXQiOiAxLAogICJjdXN0b21lcklkIjogIjE1ODg1NDc4LTNjNTItNGUzYy1hNDI1LTU5NjAzMzQ0ZDVjMyIsCiAgIm1heFZlcnNpb25BbGxvd2VkIjogMjUyCn0=.ClI5PeQ2vnl48q0hwdwPHM6oDArs6XTeZ9u4JfN6kxaHoKgszVywO996SluAQfPdFhtzWz6OZsyDdenKv28UU2dOF5wppP88hGEJ17PAg+N/OpUkL1L/CMFNXlOIsYd2517GWA==' });
@@ -1,12 +1,12 @@
1
1
  import { JobTypes, ObjectClasses, ProcessDescriptor, DcmtTypeDescriptor } from "@topconsultnpm/sdk-ts";
2
2
  export declare class PlatformObjectService {
3
- static readonly retrieveAllAsync: (objClass: ObjectClasses, refreshCache?: boolean) => Promise<import("@topconsultnpm/sdk-ts").AreaDescriptor[] | import("@topconsultnpm/sdk-ts").NotificationDescriptor[] | import("@topconsultnpm/sdk-ts").RelationDescriptor[] | import("@topconsultnpm/sdk-ts").TaskDescriptor[] | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor[] | undefined>;
4
- static readonly retrieveAsync: (objClass: ObjectClasses, id: number) => Promise<import("@topconsultnpm/sdk-ts").AreaDescriptor | import("@topconsultnpm/sdk-ts").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts").NotificationDescriptor | import("@topconsultnpm/sdk-ts").RelationDescriptor | import("@topconsultnpm/sdk-ts").TaskDescriptor | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor | undefined>;
3
+ static readonly retrieveAllAsync: (objClass: ObjectClasses, refreshCache?: boolean) => Promise<import("@topconsultnpm/sdk-ts").TaskDescriptor[] | import("@topconsultnpm/sdk-ts").AreaDescriptor[] | import("@topconsultnpm/sdk-ts").NotificationDescriptor[] | import("@topconsultnpm/sdk-ts").RelationDescriptor[] | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor[] | undefined>;
4
+ static readonly retrieveAsync: (objClass: ObjectClasses, id: number) => Promise<import("@topconsultnpm/sdk-ts").TaskDescriptor | import("@topconsultnpm/sdk-ts").AreaDescriptor | import("@topconsultnpm/sdk-ts").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts").NotificationDescriptor | import("@topconsultnpm/sdk-ts").RelationDescriptor | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor | undefined>;
5
5
  private static readonly retrieveAllAdminJobsAsync;
6
6
  static readonly retrieveAllAdminAsync: (objClass: ObjectClasses, jobType?: JobTypes) => Promise<import("@topconsultnpm/sdk-ts").UserDescriptor[] | DcmtTypeDescriptor[] | import("@topconsultnpm/sdk-ts").AreaDescriptor[] | import("@topconsultnpm/sdk-ts").RelationDescriptor[] | import("@topconsultnpm/sdk-ts").FEDistillerJobDescriptor[] | import("@topconsultnpm/sdk-ts").DataListDescriptor[] | import("@topconsultnpm/sdk-ts").DiskDescriptor[] | import("@topconsultnpm/sdk-ts").GroupDescriptor[] | import("@topconsultnpm/sdk-ts").LDAPDescriptor[] | import("@topconsultnpm/sdk-ts").NumeratorDescriptor[] | ProcessDescriptor[] | import("@topconsultnpm/sdk-ts").SAPLoginDescriptor[] | import("@topconsultnpm/sdk-ts").SignCertDescriptor[] | import("@topconsultnpm/sdk-ts").SignServerDescriptor[] | import("@topconsultnpm/sdk-ts").TreeDescriptor[] | import("@topconsultnpm/sdk-ts").TSADescriptor[] | import("@topconsultnpm/sdk-ts").WFDescriptor[] | undefined>;
7
7
  private static readonly loadCacheForJobAsync;
8
8
  private static readonly retrieveAdminJobAsync;
9
- static readonly retrieveAdminAsync: (objClass: ObjectClasses, jobType: JobTypes, id: number) => Promise<import("@topconsultnpm/sdk-ts").UserDescriptor | DcmtTypeDescriptor | import("@topconsultnpm/sdk-ts").MailSenderJobDescriptor | import("@topconsultnpm/sdk-ts").SavedQueryDescriptor | import("@topconsultnpm/sdk-ts").DataListDescriptor | import("@topconsultnpm/sdk-ts").AreaDescriptor | import("@topconsultnpm/sdk-ts").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts").RelationDescriptor | import("@topconsultnpm/sdk-ts").TaskDescriptor | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor | import("@topconsultnpm/sdk-ts").BarcodeArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").BatchUpdaterJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoDoganaleJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoDoganalePlusJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoFiscaleQueryJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoFiscaleSenderJobDescriptor | import("@topconsultnpm/sdk-ts").CheckSequenceJobDescriptor | import("@topconsultnpm/sdk-ts").COSCheckerJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtConverterJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtDeleterJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtNoteJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtPrinterJobDescriptor | import("@topconsultnpm/sdk-ts").FEAttacherJobDescriptor | import("@topconsultnpm/sdk-ts").FECreatorTxtJobDescriptor | import("@topconsultnpm/sdk-ts").FEDetacherJobDescriptor | import("@topconsultnpm/sdk-ts").FEDistillerJobDescriptor | import("@topconsultnpm/sdk-ts").FESenderWsJobDescriptor | import("@topconsultnpm/sdk-ts").FESplitterJobDescriptor | import("@topconsultnpm/sdk-ts").FEValidatorJobDescriptor | import("@topconsultnpm/sdk-ts").FileArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").FileCheckerJobDescriptor | import("@topconsultnpm/sdk-ts").FileExecJobDescriptor | import("@topconsultnpm/sdk-ts").FileExportJobDescriptor | import("@topconsultnpm/sdk-ts").FileMoverJobDescriptor | import("@topconsultnpm/sdk-ts").LexJobDescriptor | import("@topconsultnpm/sdk-ts").LinkerJobDescriptor | import("@topconsultnpm/sdk-ts").MailArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").MailQueryJobDescriptor | import("@topconsultnpm/sdk-ts").MigrationJobDescriptor | import("@topconsultnpm/sdk-ts").PdDCreatorJobDescriptor | import("@topconsultnpm/sdk-ts").PDFArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").PdVArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").PdVQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PdVSenderJobDescriptor | import("@topconsultnpm/sdk-ts").PeppolQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PeppolSenderJobDescriptor | import("@topconsultnpm/sdk-ts").PostelQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PostelSenderJobDescriptor | import("@topconsultnpm/sdk-ts").ReplicatorJobDescriptor | import("@topconsultnpm/sdk-ts").SAPAlignerJobDescriptor | import("@topconsultnpm/sdk-ts").SAPBarcodeJobDescriptor | import("@topconsultnpm/sdk-ts").SAPDataReaderJobDescriptor | import("@topconsultnpm/sdk-ts").SAPDataWriterJobDescriptor | import("@topconsultnpm/sdk-ts").SignerJobDescriptor | import("@topconsultnpm/sdk-ts").SpoolArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").UpdaterJobDescriptor | import("@topconsultnpm/sdk-ts").DiskDescriptor | import("@topconsultnpm/sdk-ts").GroupDescriptor | import("@topconsultnpm/sdk-ts").LDAPDescriptor | import("@topconsultnpm/sdk-ts").NumeratorDescriptor | ProcessDescriptor | import("@topconsultnpm/sdk-ts").SAPLoginDescriptor | import("@topconsultnpm/sdk-ts").SignCertDescriptor | import("@topconsultnpm/sdk-ts").SignServerDescriptor | import("@topconsultnpm/sdk-ts").TreeDescriptor | import("@topconsultnpm/sdk-ts").TSADescriptor | import("@topconsultnpm/sdk-ts").WFDescriptor | undefined>;
9
+ static readonly retrieveAdminAsync: (objClass: ObjectClasses, jobType: JobTypes, id: number) => Promise<import("@topconsultnpm/sdk-ts").UserDescriptor | import("@topconsultnpm/sdk-ts").WFDescriptor | DcmtTypeDescriptor | import("@topconsultnpm/sdk-ts").MailSenderJobDescriptor | import("@topconsultnpm/sdk-ts").TaskDescriptor | import("@topconsultnpm/sdk-ts").SavedQueryDescriptor | import("@topconsultnpm/sdk-ts").DataListDescriptor | import("@topconsultnpm/sdk-ts").AreaDescriptor | import("@topconsultnpm/sdk-ts").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts").RelationDescriptor | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor | import("@topconsultnpm/sdk-ts").BarcodeArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").BatchUpdaterJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoDoganaleJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoDoganalePlusJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoFiscaleQueryJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoFiscaleSenderJobDescriptor | import("@topconsultnpm/sdk-ts").CheckSequenceJobDescriptor | import("@topconsultnpm/sdk-ts").COSCheckerJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtConverterJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtDeleterJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtNoteJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtPrinterJobDescriptor | import("@topconsultnpm/sdk-ts").FEAttacherJobDescriptor | import("@topconsultnpm/sdk-ts").FECreatorTxtJobDescriptor | import("@topconsultnpm/sdk-ts").FEDetacherJobDescriptor | import("@topconsultnpm/sdk-ts").FEDistillerJobDescriptor | import("@topconsultnpm/sdk-ts").FESenderWsJobDescriptor | import("@topconsultnpm/sdk-ts").FESplitterJobDescriptor | import("@topconsultnpm/sdk-ts").FEValidatorJobDescriptor | import("@topconsultnpm/sdk-ts").FileArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").FileCheckerJobDescriptor | import("@topconsultnpm/sdk-ts").FileExecJobDescriptor | import("@topconsultnpm/sdk-ts").FileExportJobDescriptor | import("@topconsultnpm/sdk-ts").FileMoverJobDescriptor | import("@topconsultnpm/sdk-ts").LexJobDescriptor | import("@topconsultnpm/sdk-ts").LinkerJobDescriptor | import("@topconsultnpm/sdk-ts").MailArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").MailQueryJobDescriptor | import("@topconsultnpm/sdk-ts").MigrationJobDescriptor | import("@topconsultnpm/sdk-ts").PdDCreatorJobDescriptor | import("@topconsultnpm/sdk-ts").PDFArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").PdVArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").PdVQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PdVSenderJobDescriptor | import("@topconsultnpm/sdk-ts").PeppolQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PeppolSenderJobDescriptor | import("@topconsultnpm/sdk-ts").PostelQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PostelSenderJobDescriptor | import("@topconsultnpm/sdk-ts").ReplicatorJobDescriptor | import("@topconsultnpm/sdk-ts").SAPAlignerJobDescriptor | import("@topconsultnpm/sdk-ts").SAPBarcodeJobDescriptor | import("@topconsultnpm/sdk-ts").SAPDataReaderJobDescriptor | import("@topconsultnpm/sdk-ts").SAPDataWriterJobDescriptor | import("@topconsultnpm/sdk-ts").SignerJobDescriptor | import("@topconsultnpm/sdk-ts").SpoolArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").UpdaterJobDescriptor | import("@topconsultnpm/sdk-ts").DiskDescriptor | import("@topconsultnpm/sdk-ts").GroupDescriptor | import("@topconsultnpm/sdk-ts").LDAPDescriptor | import("@topconsultnpm/sdk-ts").NumeratorDescriptor | ProcessDescriptor | import("@topconsultnpm/sdk-ts").SAPLoginDescriptor | import("@topconsultnpm/sdk-ts").SignCertDescriptor | import("@topconsultnpm/sdk-ts").SignServerDescriptor | import("@topconsultnpm/sdk-ts").TreeDescriptor | import("@topconsultnpm/sdk-ts").TSADescriptor | undefined>;
10
10
  private static readonly updateJobAsync;
11
11
  static readonly updateAsync: (objClass: ObjectClasses, jobType: JobTypes, d: any, ...args: any[]) => Promise<number | undefined>;
12
12
  private static readonly createJobAsync;
package/lib/ts/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from "react";
2
- import { FileFormats, ITopMediaSession, MetadataDescriptor, MetadataValueDescriptor, UserDescriptor, ValidationItem } from "@topconsultnpm/sdk-ts";
2
+ import { DataListItemDescriptor, FileFormats, ITopMediaSession, MetadataDescriptor, MetadataValueDescriptor, UserDescriptor, ValidationItem, WFDescriptor } from "@topconsultnpm/sdk-ts";
3
3
  import { ITMEditorBase } from "../components/base/TMEditorBase";
4
4
  import { IColumnProps } from "devextreme-react/data-grid";
5
5
  export declare enum FormModes {
@@ -310,3 +310,63 @@ export declare enum buildTypes {
310
310
  RTM = "RTM",
311
311
  PATCH = "PATCH"
312
312
  }
313
+ /**
314
+ * Descrive un'istanza di workflow per il contesto WorkflowCtrl.
315
+ * Contiene tutte le informazioni necessarie per recuperare i work items associati.
316
+ */
317
+ export interface WFInstanceDescriptor {
318
+ /** ID dell'istanza */
319
+ instanceId: string;
320
+ /** Indice della riga nel search result */
321
+ rowIndex: number;
322
+ /** Struttura metadati completa da searchResultToDataSource: { [key: string]: { md: MetadataDescriptor, value: any } } */
323
+ values: any;
324
+ /** TID del documento workflow */
325
+ tid?: number;
326
+ /** DID del documento workflow */
327
+ did?: number;
328
+ /** ID del workflow */
329
+ wfid?: number;
330
+ /** MID del metadato che contiene lo stato del workflow */
331
+ mStatusMID?: number;
332
+ /** DataList ID per visualizzare lo stato */
333
+ mStatusDLID?: number;
334
+ }
335
+ /**
336
+ * Dettaglio di un singolo work item
337
+ */
338
+ export interface WorkItemDetail {
339
+ wid: string;
340
+ tid: number;
341
+ did: number;
342
+ wfid: number;
343
+ approvalVID: number;
344
+ status?: DataListItemDescriptor;
345
+ setID: string;
346
+ response?: string;
347
+ creationTime?: Date;
348
+ completionTime?: Date;
349
+ from?: number;
350
+ to?: number;
351
+ toUser?: UserDescriptor;
352
+ or?: number;
353
+ }
354
+ /**
355
+ * Raggruppamento di work items per setID (e creationTime se lo step si ripete)
356
+ */
357
+ export interface IWorkItemData {
358
+ wid: string;
359
+ tid?: number;
360
+ did?: number;
361
+ category?: any;
362
+ type?: any;
363
+ name?: string;
364
+ description?: string;
365
+ setID: string | undefined;
366
+ creationTime?: Date;
367
+ setStatus?: DataListItemDescriptor;
368
+ setRule?: number;
369
+ details: WorkItemDetail[];
370
+ groupIndex?: number;
371
+ wf?: WFDescriptor;
372
+ }
@@ -57,7 +57,7 @@ declare class FontSize {
57
57
  static defaultFontSizeInPixel: string;
58
58
  }
59
59
  declare class TMMargin {
60
- static defultMargin: string;
60
+ static defaultMargin: string;
61
61
  static smallMargin: string;
62
62
  static largeMargin: string;
63
63
  }
@@ -65,7 +65,7 @@ FontSize.defaultFontSize = '1rem';
65
65
  FontSize.defaultFontSizeInPixel = '13px';
66
66
  class TMMargin {
67
67
  }
68
- TMMargin.defultMargin = '5px';
68
+ TMMargin.defaultMargin = '5px';
69
69
  TMMargin.smallMargin = '3px';
70
70
  TMMargin.largeMargin = '10px';
71
71
  class Gutters {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react",
3
- "version": "6.20.0-dev1.9",
3
+ "version": "6.20.0-dev1.91",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -9,6 +9,7 @@
9
9
  "tm-build": "npm run clean && tsc && npm run copy-files",
10
10
  "tm-watch": "tsc -w",
11
11
  "tm-publish": "npm publish --tag latest",
12
+ "tm-publish_wl": "npm publish",
12
13
  "storybook": "storybook dev -p 6006",
13
14
  "build-storybook": "storybook build"
14
15
  },
@@ -39,12 +40,14 @@
39
40
  "lib"
40
41
  ],
41
42
  "dependencies": {
42
- "@topconsultnpm/sdk-ts": "6.20.0-dev1.1",
43
+ "@topconsultnpm/sdk-ts": "6.20.0-dev1.6",
43
44
  "buffer": "^6.0.3",
44
- "devextreme": "25.1.7",
45
- "devextreme-react": "25.1.7",
45
+ "devextreme": "25.2.4",
46
+ "devextreme-react": "25.2.4",
46
47
  "exceljs": "^4.4.0",
47
48
  "htmlparser2": "^10.0.0",
49
+ "pdfjs-dist": "5.4.296",
50
+ "react-pdf": "^10.3.0",
48
51
  "react-router-dom": "^6.15.0",
49
52
  "styled-components": "^6.1.1"
50
53
  },
@@ -1,30 +0,0 @@
1
- import React from 'react';
2
- import { DeviceType } from '../../base/TMDeviceProvider';
3
- /**
4
- * Proprietà del componente ToppyDraggableHelpCenter
5
- */
6
- interface ToppyDraggableHelpCenterProps {
7
- /** Contenuto da visualizzare nella speech bubble */
8
- content?: React.ReactNode;
9
- /** Tipo di dispositivo per adattare il comportamento */
10
- deviceType?: DeviceType;
11
- /** Allineamento iniziale del componente (destra o sinistra) */
12
- align?: 'right' | 'left';
13
- /** Stato iniziale collassato/espanso */
14
- initialIsCollapsed?: boolean;
15
- /** Callback chiamato quando si clicca sull'immagine di Toppy */
16
- onToppyImageClick?: () => void;
17
- /** Visibilità del componente */
18
- isVisible?: boolean;
19
- /** Se true, renderizza Toppy nel document.body tramite Portal invece che nel parent */
20
- usePortal?: boolean;
21
- }
22
- /**
23
- * Componente ToppyDraggableHelpCenter
24
- *
25
- * Renderizza un assistente virtuale (Toppy) draggable che può mostrare contenuti
26
- * in una speech bubble. Il componente può essere trascinato all'interno del suo
27
- * contenitore e può essere collassato/espanso con un doppio click.
28
- */
29
- declare const ToppyDraggableHelpCenter: React.FC<ToppyDraggableHelpCenterProps>;
30
- export default ToppyDraggableHelpCenter;