@topconsultnpm/sdkui-react 6.22.0-dev4.19 → 6.22.0-dev4.20

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 (113) hide show
  1. package/lib/components/NewComponents/ContextMenu/styles.d.ts +43 -45
  2. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +60 -67
  3. package/lib/components/base/Styled.d.ts +77 -93
  4. package/lib/components/base/TMCounterBar.d.ts +2 -2
  5. package/lib/components/base/TMCounterContainer.d.ts +1 -2
  6. package/lib/components/base/TMCustomButton.d.ts +1 -1
  7. package/lib/components/base/TMDataGrid.js +219 -219
  8. package/lib/components/base/TMDataGridExportForm.d.ts +1 -2
  9. package/lib/components/base/TMFileManager.d.ts +1 -2
  10. package/lib/components/base/TMFileManagerDataGridView.d.ts +1 -2
  11. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +1 -1
  12. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +1 -1
  13. package/lib/components/base/TMFileManagerUtils.d.ts +6 -4
  14. package/lib/components/base/TMLayout.d.ts +4 -4
  15. package/lib/components/base/TMList.d.ts +1 -2
  16. package/lib/components/base/TMListView.d.ts +1 -1
  17. package/lib/components/base/TMSpinner.d.ts +2 -3
  18. package/lib/components/base/TMTab.d.ts +3 -4
  19. package/lib/components/base/TMTabControl.js +208 -208
  20. package/lib/components/base/TMTooltip.d.ts +1 -1
  21. package/lib/components/base/TMTreeView.d.ts +8 -14
  22. package/lib/components/base/TMUserAvatar.d.ts +1 -2
  23. package/lib/components/base/TMVilViewer.d.ts +1 -2
  24. package/lib/components/base/TMWaitPanel.d.ts +2 -3
  25. package/lib/components/base/waitPanel/TMWaitPanelView.d.ts +1 -2
  26. package/lib/components/base/waitPanel/TMWaitPanelView.js +207 -207
  27. package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
  28. package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +1 -2
  29. package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +1 -2
  30. package/lib/components/choosers/TMQuickSearchInfo.d.ts +1 -2
  31. package/lib/components/choosers/TMRelationChooser.d.ts +3 -3
  32. package/lib/components/choosers/TMUserChooser.d.ts +2 -2
  33. package/lib/components/editors/TMEditorStyled.d.ts +42 -20
  34. package/lib/components/editors/TMFormulaEditor.d.ts +1 -1
  35. package/lib/components/editors/TMHtmlContentDisplay.d.ts +1 -2
  36. package/lib/components/editors/TMHtmlEditor.d.ts +1 -2
  37. package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
  38. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
  39. package/lib/components/features/blog/TMBlogCommentForm.d.ts +1 -2
  40. package/lib/components/features/documents/TMDcmtForm.js +31 -31
  41. package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
  42. package/lib/components/features/documents/TMDcmtIcon.d.ts +1 -2
  43. package/lib/components/features/documents/TMDcmtPreview.d.ts +6 -8
  44. package/lib/components/features/documents/TMDcmtTasks.d.ts +1 -2
  45. package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
  46. package/lib/components/features/documents/TMFileUploader.js +21 -21
  47. package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +2 -0
  48. package/lib/components/features/documents/TMMasterDetailDcmts.js +14 -5
  49. package/lib/components/features/documents/TMMasterInfoFields.d.ts +1 -2
  50. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +1 -2
  51. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +1 -2
  52. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +4 -4
  53. package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +1 -2
  54. package/lib/components/features/search/TMMetadataOutputForm.d.ts +1 -2
  55. package/lib/components/features/search/TMMetadataSorterForm.d.ts +1 -2
  56. package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
  57. package/lib/components/features/search/TMSearch.d.ts +1 -2
  58. package/lib/components/features/search/TMSearchQueryPanel.d.ts +3 -9
  59. package/lib/components/features/search/TMSearchResult.js +79 -78
  60. package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
  61. package/lib/components/features/search/TMSignatureInfoContent.d.ts +1 -2
  62. package/lib/components/features/search/TMViewHistoryDcmt.d.ts +1 -2
  63. package/lib/components/features/tasks/TMTaskForm.d.ts +1 -1
  64. package/lib/components/features/tasks/TMTaskFormUtils.d.ts +10 -10
  65. package/lib/components/features/tasks/TMTasksAgenda.d.ts +1 -1
  66. package/lib/components/features/tasks/TMTasksCalendar.d.ts +1 -1
  67. package/lib/components/features/tasks/TMTasksHeader.d.ts +1 -1
  68. package/lib/components/features/tasks/TMTasksPanelContent.d.ts +1 -1
  69. package/lib/components/features/tasks/TMTasksUtilsView.d.ts +5 -5
  70. package/lib/components/features/tasks/TMTasksView.d.ts +1 -1
  71. package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +2 -3
  72. package/lib/components/features/wg/TMWGsCopyMoveForm.js +9 -9
  73. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +7 -8
  74. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +1 -3
  75. package/lib/components/forms/Login/ChangePasswordInputs.d.ts +1 -3
  76. package/lib/components/forms/Login/Chooser.d.ts +2 -2
  77. package/lib/components/forms/TMChooserForm.d.ts +1 -2
  78. package/lib/components/forms/TMSaveForm.d.ts +4 -4
  79. package/lib/components/grids/TMBlogAttachments.d.ts +1 -2
  80. package/lib/components/grids/TMBlogHeader.d.ts +1 -1
  81. package/lib/components/grids/TMBlogsPost.d.ts +1 -1
  82. package/lib/components/grids/TMBlogsPostUtils.d.ts +9 -9
  83. package/lib/components/grids/TMValidationItemsList.d.ts +1 -2
  84. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -2
  85. package/lib/components/layout/panelManager/TMPanelManagerContainer.js +12 -12
  86. package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +2 -2
  87. package/lib/components/layout/panelManager/TMPanelManagerLoader.d.ts +1 -2
  88. package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +6 -5
  89. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +2 -2
  90. package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +2 -2
  91. package/lib/components/pages/TMPage.d.ts +1 -1
  92. package/lib/components/query/TMQueryEditor.d.ts +10 -14
  93. package/lib/components/settings/SettingsAppearance.d.ts +1 -2
  94. package/lib/components/sidebar/TMAboutApp.d.ts +1 -2
  95. package/lib/components/sidebar/TMCommandsPanel.d.ts +4 -4
  96. package/lib/components/sidebar/TMHeader.d.ts +3 -3
  97. package/lib/components/viewers/TMDataListItemViewer.d.ts +2 -3
  98. package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +2 -3
  99. package/lib/components/viewers/TMMidViewer.d.ts +2 -2
  100. package/lib/components/viewers/TMTidViewer.d.ts +2 -2
  101. package/lib/helper/TMAppUpdatedModal.d.ts +1 -2
  102. package/lib/helper/TMAppUpdatedModal.js +93 -93
  103. package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
  104. package/lib/helper/TMIcons.d.ts +281 -281
  105. package/lib/helper/TMPdfViewer.d.ts +1 -2
  106. package/lib/helper/TMToppyMessage.d.ts +2 -2
  107. package/lib/helper/TMUtils.d.ts +4 -10
  108. package/lib/helper/helpers.d.ts +1 -1
  109. package/lib/hooks/useDocumentOperations.d.ts +2 -0
  110. package/lib/hooks/useDocumentOperations.js +5 -3
  111. package/lib/hooks/useInputDialog.d.ts +1 -2
  112. package/lib/services/platform_services.d.ts +2 -3
  113. package/package.json +1 -1
@@ -11,5 +11,5 @@ interface TMToppyDraggableHelpCenterProps {
11
11
  /** Callback chiamato quando si clicca sull'immagine di Toppy */
12
12
  onToppyImageClick?: () => void;
13
13
  }
14
- declare const TMToppyDraggableHelpCenter: (props: TMToppyDraggableHelpCenterProps) => React.JSX.Element;
14
+ declare const TMToppyDraggableHelpCenter: (props: TMToppyDraggableHelpCenterProps) => import("react/jsx-runtime").JSX.Element;
15
15
  export default TMToppyDraggableHelpCenter;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { BlogPost, UserDescriptor } from "@topconsultnpm/sdk-ts";
3
2
  import { FileItem } from '../../base/TMFileManagerUtils';
4
3
  import { TMBlogContextDescriptor } from '../../grids/TMBlogsPostUtils';
@@ -19,5 +18,5 @@ interface TMBlogCommentFormProps {
19
18
  /** External save handler - when provided, bypasses internal engine logic */
20
19
  onCustomSave?: (blogPost: BlogPost) => Promise<void>;
21
20
  }
22
- declare const TMBlogCommentForm: (props: TMBlogCommentFormProps) => React.JSX.Element;
21
+ declare const TMBlogCommentForm: (props: TMBlogCommentFormProps) => import("react/jsx-runtime").JSX.Element;
23
22
  export default TMBlogCommentForm;
@@ -1910,35 +1910,35 @@ const TMDcmtPreviewWrapper = ({ refreshPreviewTrigger, fromDTD, currentDcmt, lay
1910
1910
  _jsx(TMDcmtPreview, { dcmtData: currentDcmt, isVisible: isVisible, onClosePanel: (!isMobile && countVisibleLeafPanels() > 1) ? () => setPanelVisibilityById('tmDcmtPreview', false) : undefined, allowMaximize: !isMobile && countVisibleLeafPanels() > 1, onMaximizePanel: (!isMobile && countVisibleLeafPanels() > 1) ? () => toggleMaximize("tmDcmtPreview") : undefined, onBack: onBack, isResizingActive: isResizingActive, onFileRetrieved: onFileRetrieved }, refreshPreviewTrigger) :
1911
1911
  _jsx(TMFileUploader, { fromDTD: fromDTD, onFileUpload: onFileUpload, openFileUploaderPdfEditor: openFileUploaderPdfEditor, onClose: (!isMobile && countVisibleLeafPanels() > 1) ? () => setPanelVisibilityById('tmDcmtPreview', false) : undefined, isRequired: fromDTD?.archiveConstraint === ArchiveConstraints.ContentCompulsory && dcmtFile === null, defaultBlob: dcmtFile, deviceType: deviceType, isResizingActive: isResizingActive, enableDragDropOverlay: panelVisibility['tmDcmtPreview'] && enableDragDropOverlay, onScanRequest: onScanRequest }));
1912
1912
  };
1913
- const Ribbon = styled.div `
1914
- font-size: 0.85rem;
1915
- font-weight: 600;
1916
- color: #fff;
1917
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
1918
- --f: .4em; /* control the folded part */
1919
- position: absolute;
1920
- top: 2px;
1921
- left: 2px;
1922
- z-index: 1200;
1923
- line-height: 1.6;
1924
- padding-inline: 0.8lh;
1925
- padding-bottom: var(--f);
1926
- border-image: conic-gradient(#0008 0 0) 51%/var(--f);
1927
- clip-path: polygon(100% calc(100% - var(--f)),100% 100%,calc(100% - var(--f)) calc(100% - var(--f)),var(--f) calc(100% - var(--f)), 0 100%,0 calc(100% - var(--f)),999px calc(100% - var(--f) - 999px),calc(100% - 999px) calc(100% - var(--f) - 999px));
1928
- transform: translate(calc((cos(45deg) - 1)*100%), -100%) rotate(-45deg);
1929
- transform-origin: 100% 100%;
1930
- background-color: rgba(217, 148, 13, 0.92);
1931
- display: inline-block;
1932
- padding-top: 0.1em;
1933
- white-space: nowrap;
1934
- transition: ${props => props.$isMobile ? 'none' : 'all 0.3s ease'};
1935
- cursor: 'default';
1936
-
1937
- ${props => !props.$isMobile && `
1938
- &:hover {
1939
- background-color: #d9940d;
1940
- font-size: 1.1rem;
1941
- transform: translate(calc((cos(45deg) - 1)*100%), -100%) rotate(-45deg) scale(1.05);
1942
- }
1943
- `}
1913
+ const Ribbon = styled.div `
1914
+ font-size: 0.85rem;
1915
+ font-weight: 600;
1916
+ color: #fff;
1917
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
1918
+ --f: .4em; /* control the folded part */
1919
+ position: absolute;
1920
+ top: 2px;
1921
+ left: 2px;
1922
+ z-index: 1200;
1923
+ line-height: 1.6;
1924
+ padding-inline: 0.8lh;
1925
+ padding-bottom: var(--f);
1926
+ border-image: conic-gradient(#0008 0 0) 51%/var(--f);
1927
+ clip-path: polygon(100% calc(100% - var(--f)),100% 100%,calc(100% - var(--f)) calc(100% - var(--f)),var(--f) calc(100% - var(--f)), 0 100%,0 calc(100% - var(--f)),999px calc(100% - var(--f) - 999px),calc(100% - 999px) calc(100% - var(--f) - 999px));
1928
+ transform: translate(calc((cos(45deg) - 1)*100%), -100%) rotate(-45deg);
1929
+ transform-origin: 100% 100%;
1930
+ background-color: rgba(217, 148, 13, 0.92);
1931
+ display: inline-block;
1932
+ padding-top: 0.1em;
1933
+ white-space: nowrap;
1934
+ transition: ${props => props.$isMobile ? 'none' : 'all 0.3s ease'};
1935
+ cursor: 'default';
1936
+
1937
+ ${props => !props.$isMobile && `
1938
+ &:hover {
1939
+ background-color: #d9940d;
1940
+ font-size: 1.1rem;
1941
+ transform: translate(calc((cos(45deg) - 1)*100%), -100%) rotate(-45deg) scale(1.05);
1942
+ }
1943
+ `}
1944
1944
  `;
@@ -41,5 +41,5 @@ interface TMDcmtFormActionButtonsProps {
41
41
  setShowMoreInfoTaskPopup: React.Dispatch<React.SetStateAction<boolean>>;
42
42
  setShowMoreInfoTaskTask: React.Dispatch<React.SetStateAction<TaskDescriptor | undefined>>;
43
43
  }
44
- declare const TMDcmtFormActionButtons: (props: TMDcmtFormActionButtonsProps) => React.JSX.Element;
44
+ declare const TMDcmtFormActionButtons: (props: TMDcmtFormActionButtonsProps) => import("react/jsx-runtime").JSX.Element;
45
45
  export default TMDcmtFormActionButtons;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { DcmtInfo, DownloadModes, DownloadTypes } from '../../../ts';
3
2
  import { FileDescriptor } from '@topconsultnpm/sdk-ts';
4
3
  interface ITMDcmtIconProps {
@@ -15,5 +14,5 @@ interface ITMDcmtIconProps {
15
14
  openInOffice?: (selectedDcmtsOrFocused: Array<DcmtInfo>) => Promise<void>;
16
15
  onDownloadDcmtsAsync?: (inputDcmts: DcmtInfo[] | undefined, downloadType: DownloadTypes, downloadMode: DownloadModes, onFileDownloaded?: (dcmtFile: File | undefined) => void, confirmAttachments?: (list: FileDescriptor[]) => Promise<string[] | undefined>) => Promise<void>;
17
16
  }
18
- declare const TMDcmtIcon: ({ fileExtension, fileCount, isLexProt, isSigned, isMail, isShared, tid, did, downloadMode, tooltipContent, openInOffice, onDownloadDcmtsAsync }: ITMDcmtIconProps) => React.JSX.Element;
17
+ declare const TMDcmtIcon: ({ fileExtension, fileCount, isLexProt, isSigned, isMail, isShared, tid, did, downloadMode, tooltipContent, openInOffice, onDownloadDcmtsAsync }: ITMDcmtIconProps) => import("react/jsx-runtime").JSX.Element;
19
18
  export default TMDcmtIcon;
@@ -27,12 +27,10 @@ export declare const TMNothingToShow: ({ text, secondText, fileExt, icon }: {
27
27
  secondText?: any;
28
28
  fileExt?: string;
29
29
  icon?: any;
30
- }) => React.JSX.Element;
31
- export declare const StyledHeaderIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
32
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
33
- }, {
30
+ }) => import("react/jsx-runtime").JSX.Element;
31
+ export declare const StyledHeaderIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$color"> & {
34
32
  $color: string;
35
- }>> & string;
36
- export declare const StyledPanelStatusContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
37
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
38
- }> & string;
33
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$color"> & {
34
+ $color: string;
35
+ }, never>>> & string;
36
+ export declare const StyledPanelStatusContainer: 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;
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { FormModes, TaskContext } from "../../../ts";
3
2
  import { HomeBlogPost, TaskDescriptor } from "@topconsultnpm/sdk-ts";
4
3
  interface TMDcmtTasksProps {
@@ -13,5 +12,5 @@ interface TMDcmtTasksProps {
13
12
  handleNavigateToDossiers?: (value: HomeBlogPost | number) => Promise<void>;
14
13
  onBack?: () => void;
15
14
  }
16
- declare const TMDcmtTasks: (props: TMDcmtTasksProps) => React.JSX.Element;
15
+ declare const TMDcmtTasks: (props: TMDcmtTasksProps) => import("react/jsx-runtime").JSX.Element;
17
16
  export default TMDcmtTasks;
@@ -2,5 +2,5 @@ interface TMDragDropOverlayProps {
2
2
  handleFile: (file: File) => void;
3
3
  refocusAfterFileInput: () => void;
4
4
  }
5
- declare const TMDragDropOverlay: (props: TMDragDropOverlayProps) => import("react").JSX.Element;
5
+ declare const TMDragDropOverlay: (props: TMDragDropOverlayProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export default TMDragDropOverlay;
@@ -112,27 +112,27 @@ const TMFileUploader = ({ fromDTD, deviceType = DeviceType.DESKTOP, onClose, onF
112
112
  }, [deviceType, fromDTD, onClose]);
113
113
  return showTMPanel ? (_jsx(TMPanel, { ref: fileUploaderPanelRef, panelID: 'file-uploader-panel', title: SDKUI_Localizator.FileUpload, onBack: deviceType === DeviceType.MOBILE ? () => onClose?.() : undefined, toolbar: toolbar, children: innerContent })) : (innerContent);
114
114
  };
115
- const UploadContainer = styled.div `
116
- position: relative;
117
- display: flex;
118
- align-items: center;
119
- justify-content: center;
120
- flex-direction: column;
121
- gap: 5px;
122
- border: 2px dashed ${props => props.$isRequired ? () => TMColors.error : () => TMColors.primaryColor};
123
- /* max-height: 100px; */
124
- width: 100%;
125
- height: 100%;
126
- border-radius: 8px;
127
- padding: 30px;
128
- text-align: center;
129
- color: ${props => props.$isRequired ? () => TMColors.error : () => TMColors.primaryColor};
130
- transition: background-color 0.3s;
131
- &:hover {
132
- background-color: #658cab;
133
- }
115
+ const UploadContainer = styled.div `
116
+ position: relative;
117
+ display: flex;
118
+ align-items: center;
119
+ justify-content: center;
120
+ flex-direction: column;
121
+ gap: 5px;
122
+ border: 2px dashed ${props => props.$isRequired ? () => TMColors.error : () => TMColors.primaryColor};
123
+ /* max-height: 100px; */
124
+ width: 100%;
125
+ height: 100%;
126
+ border-radius: 8px;
127
+ padding: 30px;
128
+ text-align: center;
129
+ color: ${props => props.$isRequired ? () => TMColors.error : () => TMColors.primaryColor};
130
+ transition: background-color 0.3s;
131
+ &:hover {
132
+ background-color: #658cab;
133
+ }
134
134
  `;
135
- const HiddenInput = styled.input `
136
- display: none;
135
+ const HiddenInput = styled.input `
136
+ display: none;
137
137
  `;
138
138
  export default TMFileUploader;
@@ -4,6 +4,7 @@ import { RelationTreeItem } from './TMRelationViewer';
4
4
  import { IntesiCertificateData } from '../../../helper';
5
5
  import { DcmtInfo, TaskContext, MetadataValueDescriptorEx } from '../../../ts';
6
6
  import { DeviceContextProps } from '../../base/TMDeviceProvider';
7
+ import { TMSearchResultFloatingActionConfig } from '../search/TMSearchResultFloatingActionButton';
7
8
  export type IRelatedDcmt = RelationTreeItem;
8
9
  interface ITMMasterDetailDcmtsProps extends DeviceContextProps {
9
10
  allTasks?: Array<TaskDescriptor>;
@@ -32,6 +33,7 @@ interface ITMMasterDetailDcmtsProps extends DeviceContextProps {
32
33
  onOpenS4TViewerRequest?: (dcmtInfo: Array<DcmtInfo>, refreshDocumentPreview?: (() => Promise<void>)) => void;
33
34
  onOpenPdfEditorRequest?: ((dcmtInfo: Array<DcmtInfo>, refreshDocumentPreview?: () => Promise<void>) => void);
34
35
  fetchRemoteCertificates?: (email: string) => Promise<IntesiCertificateData[]>;
36
+ floatingActionConfig?: TMSearchResultFloatingActionConfig;
35
37
  datagridUtility?: {
36
38
  onRefreshSearchAsyncDatagrid?: () => Promise<void>;
37
39
  onRefreshDataRowsAsync?: (() => Promise<void>);
@@ -1,6 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
- import { DcmtTypeListCacheService, LayoutModes, ObjectClasses, SDK_Globals, SDK_Localizator } from '@topconsultnpm/sdk-ts';
3
+ import { AppModules, DcmtTypeListCacheService, LayoutModes, ObjectClasses, SDK_Globals, SDK_Localizator } from '@topconsultnpm/sdk-ts';
4
4
  import TMRelationViewer from './TMRelationViewer';
5
5
  import TMContextMenu from '../../NewComponents/ContextMenu/TMContextMenu';
6
6
  import { IconMultipleSelection, IconCheckFile, IconDetailDcmts, SDKUI_Localizator, IconMenuVertical, IconDataList, IconPreview, IconSearchCheck, IconBoard, IconDcmtTypeSys, IconShow, getMoreInfoTasksForDocument, isApprovalWorkflowView, searchResultToMetadataValues, IconRefresh, SDKUI_Globals } from '../../../helper';
@@ -12,6 +12,7 @@ import { TMSaveFormButtonPrevious, TMSaveFormButtonNext } from '../../forms/TMSa
12
12
  import TMPanelManagerContainer from '../../layout/panelManager/TMPanelManagerContainer';
13
13
  import { TMPanelManagerProvider, useTMPanelManagerContext } from '../../layout/panelManager/TMPanelManagerContext';
14
14
  import TMSearchResult from '../search/TMSearchResult';
15
+ import TMSearchResultFloatingActionButton from '../search/TMSearchResultFloatingActionButton';
15
16
  import TMDcmtForm from './TMDcmtForm';
16
17
  import { TMNothingToShow } from './TMDcmtPreview';
17
18
  import { TMButton } from '../..';
@@ -20,12 +21,13 @@ import { useDocumentOperations } from '../../../hooks/useDocumentOperations';
20
21
  import TMToppyMessage from '../../../helper/TMToppyMessage';
21
22
  import TMPanel from '../../base/TMPanel';
22
23
  import TMSpinner from '../../base/TMSpinner';
23
- const TMMasterDetailDcmts = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallback, addTaskCallback, editTaskCallback, handleNavigateToWGs, handleNavigateToDossiers, deviceType, inputDcmts, isForMaster, showCurrentDcmtIndicator = true, allowNavigation, canNext, canPrev, onNext, onPrev, onBack, onFirstLoadCompleted, appendMasterDcmts, onTaskCreateRequest, onRefreshAfterAddDcmtToFavs, editPdfForm, openS4TViewer, onOpenS4TViewerRequest, onOpenPdfEditorRequest, datagridUtility, dcmtUtility, fetchRemoteCertificates }) => {
24
+ const TMMasterDetailDcmts = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallback, addTaskCallback, editTaskCallback, handleNavigateToWGs, handleNavigateToDossiers, deviceType, inputDcmts, isForMaster, showCurrentDcmtIndicator = true, allowNavigation, canNext, canPrev, onNext, onPrev, onBack, onFirstLoadCompleted, appendMasterDcmts, onTaskCreateRequest, onRefreshAfterAddDcmtToFavs, editPdfForm, openS4TViewer, onOpenS4TViewerRequest, onOpenPdfEditorRequest, datagridUtility, dcmtUtility, fetchRemoteCertificates, floatingActionConfig }) => {
24
25
  const floatingBarContainerRef = useRef(null);
26
+ const attachActionConfig = SDK_Globals.tmSession?.SessionDescr?.appModuleID === AppModules.OUTLOOK_CONNECTOR && floatingActionConfig?.isVisible ? floatingActionConfig : undefined;
25
27
  const [focusedItem, setFocusedItem] = useState();
26
28
  const [selectedItems, setSelectedItems] = useState([]);
27
29
  const [showZeroDcmts, setShowZeroDcmts] = useState(() => SDKUI_Globals.userSettings?.searchSettings?.relationShowZeroDcmts ?? false);
28
- const [allowMultipleSelection, setAllowMultipleSelection] = useState(false);
30
+ const [allowMultipleSelection, setAllowMultipleSelection] = useState(attachActionConfig !== undefined);
29
31
  const [dtdMaster, setDtdMaster] = useState();
30
32
  const [noRelationsOnFirstLoad, setNoRelationsOnFirstLoad] = useState(false);
31
33
  const [isCheckingFirstLoad, setIsCheckingFirstLoad] = useState(true);
@@ -274,6 +276,7 @@ const TMMasterDetailDcmts = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallba
274
276
  enablePinIcons: false,
275
277
  allowRelations: true,
276
278
  inputDcmtFormLayoutMode: LayoutModes.Update,
279
+ floatingActionConfig,
277
280
  },
278
281
  tasks: {
279
282
  allTasks: allTasks,
@@ -338,6 +341,12 @@ const TMMasterDetailDcmts = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallba
338
341
  const handleSelectedItemsChanged = useCallback((items) => {
339
342
  setSelectedItems(items);
340
343
  }, []);
344
+ const attachDcmts = useMemo(() => {
345
+ const isAttachable = (item) => !!item?.isDcmt && item.tid !== undefined && item.did !== undefined;
346
+ const checkedDcmts = selectedItems.filter(isAttachable);
347
+ const dcmts = checkedDcmts.length > 0 ? checkedDcmts : (isAttachable(focusedItem) ? [focusedItem] : []);
348
+ return dcmts.map(item => ({ TID: item.tid, DID: item.did, FILEEXT: item.fileExt }));
349
+ }, [selectedItems, focusedItem]);
341
350
  const handleNoRelationsFound = useCallback(() => {
342
351
  if (isCheckingFirstLoad) {
343
352
  setNoRelationsOnFirstLoad(true);
@@ -398,7 +407,7 @@ const TMMasterDetailDcmts = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallba
398
407
  ?
399
408
  _jsx(TMNothingToShow, { text: getTitle(), secondText: SDKUI_Localizator.NoDataToDisplay, icon: isForMaster ? _jsx(IconDetailDcmts, { fontSize: 96, transform: 'scale(-1, 1)' }) : _jsx(IconDetailDcmts, { fontSize: 96 }) })
400
409
  :
401
- _jsxs("div", { ref: floatingBarContainerRef, style: { width: "100%", height: "100%" }, onContextMenu: (e) => {
410
+ _jsxs("div", { ref: floatingBarContainerRef, style: { width: "100%", height: "100%", ...(attachActionConfig ? { position: 'relative' } : {}) }, onContextMenu: (e) => {
402
411
  // Disable context menu when loading
403
412
  if (isRelationViewerLoading) {
404
413
  e.preventDefault();
@@ -414,7 +423,7 @@ const TMMasterDetailDcmts = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallba
414
423
  visible: contextMenuVisible,
415
424
  position: contextMenuPosition,
416
425
  onClose: () => setContextMenuVisible(false)
417
- } })] }) }), [inputDcmts, isForMaster, showCurrentDcmtIndicator, showZeroDcmts, allowMultipleSelection, focusedItem, selectedItems, handleFocusedItemChanged, handleSelectedItemsChanged, handleNoRelationsFound, onItemContextMenu, contextMenuVisible, contextMenuPosition, refreshKey, focusedItemFormData, isRelationViewerLoading, handleStopCalculationReady, handleRelationsCalculationStopped, handleTreeStateChange]);
426
+ } }), attachActionConfig && _jsx(TMSearchResultFloatingActionButton, { selectedDcmtsOrFocused: attachDcmts, config: attachActionConfig })] }) }), [inputDcmts, isForMaster, showCurrentDcmtIndicator, showZeroDcmts, allowMultipleSelection, focusedItem, selectedItems, handleFocusedItemChanged, handleSelectedItemsChanged, handleNoRelationsFound, onItemContextMenu, contextMenuVisible, contextMenuPosition, refreshKey, focusedItemFormData, isRelationViewerLoading, handleStopCalculationReady, handleRelationsCalculationStopped, handleTreeStateChange, attachActionConfig, attachDcmts]);
418
427
  const tmFormOrResult = useMemo(() => _jsx(TMFormOrResultWrapper, { refreshKey: refreshKeyFormOrResult, deviceType: deviceType, focusedItem: focusedItem, onTaskCreateRequest: onTaskCreateRequest, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, handleNavigateToReference: handleNavigateToReference, onRefreshAfterAddDcmtToFavs: onRefreshAfterAddDcmtToFavs, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, onRefreshSearchResults: onRefreshAllPanels }), [focusedItem, deviceType, allTasks, handleNavigateToWGs, handleNavigateToDossiers, handleNavigateToReference, editPdfForm, openS4TViewer, onOpenS4TViewerRequest, onOpenPdfEditorRequest, onRefreshAfterAddDcmtToFavs, refreshKeyFormOrResult]);
419
428
  const initialPanelDimensions = {
420
429
  'tmTreeView': { width: '50%', height: '100%' },
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { DcmtTypeDescriptor } from '@topconsultnpm/sdk-ts';
3
2
  import { DcmtInfo } from '../../../ts';
4
3
  interface TMMasterInfoFieldsProps {
@@ -16,5 +15,5 @@ interface TMMasterInfoFieldsProps {
16
15
  */
17
16
  isExpandedView?: boolean;
18
17
  }
19
- declare const TMMasterInfoFields: ({ dtd, dcmt, getValuesByMidAsync, reloadToken, isExpandedView }: TMMasterInfoFieldsProps) => React.JSX.Element;
18
+ declare const TMMasterInfoFields: ({ dtd, dcmt, getValuesByMidAsync, reloadToken, isExpandedView }: TMMasterInfoFieldsProps) => import("react/jsx-runtime").JSX.Element;
20
19
  export default TMMasterInfoFields;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { DcmtInfo } from '../../../ts';
3
2
  import { HomeBlogPost, TaskDescriptor } from '@topconsultnpm/sdk-ts';
4
3
  import { TMCopyToFolderMode } from '../../../hooks/useDocumentOperations';
@@ -20,5 +19,5 @@ interface ITMMergeToPdfFormProps {
20
19
  * Form per l'unione di più documenti PDF in un singolo file.
21
20
  * Condivide TMDownloadRelationViewerSection e gli helper in copyAndMergeDcmtsShared con TMCopyToFolderForm.
22
21
  */
23
- declare const TMMergeToPdfForm: (props: ITMMergeToPdfFormProps) => React.JSX.Element;
22
+ declare const TMMergeToPdfForm: (props: ITMMergeToPdfFormProps) => import("react/jsx-runtime").JSX.Element;
24
23
  export default TMMergeToPdfForm;
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { DcmtTypeDescriptor, HomeBlogPost, ObjectRef, TaskDescriptor } from "@topconsultnpm/sdk-ts";
3
2
  import { DcmtInfo, IGraphometricManagerProp, TaskContext } from "../../../ts";
4
3
  import { IntesiCertificateData } from "../../../helper";
@@ -42,5 +41,5 @@ interface TMMultiMasterDetailDcmtsFormProps {
42
41
  }>, tid?: number) => void;
43
42
  openWGsCopyMoveForm?: (mode: "copyToWgDraft" | "copyToWgArchivedDoc", dcmtTypeDescriptor: DcmtTypeDescriptor, documents: Array<DcmtInfo>) => void;
44
43
  }
45
- declare const TMMultiMasterDetailDcmtsForm: (props: TMMultiMasterDetailDcmtsFormProps) => React.JSX.Element | null;
44
+ declare const TMMultiMasterDetailDcmtsForm: (props: TMMultiMasterDetailDcmtsFormProps) => import("react/jsx-runtime").JSX.Element | null;
46
45
  export default TMMultiMasterDetailDcmtsForm;
@@ -312,7 +312,7 @@ export interface RenderStepperParams {
312
312
  /** Click su uno step completato: riceve la fase di destinazione */
313
313
  onStepClick: (phase: number) => void;
314
314
  }
315
- export declare const renderStepper: ({ steps, phase, hasMultipleTypes, isBackLocked, showBackArrow, onBack, onStepClick }: RenderStepperParams) => React.JSX.Element;
315
+ export declare const renderStepper: ({ steps, phase, hasMultipleTypes, isBackLocked, showBackArrow, onBack, onStepClick }: RenderStepperParams) => import("react/jsx-runtime").JSX.Element;
316
316
  export interface RenderSelectDcmtTypeParams {
317
317
  /** Relazioni di dettaglio fra cui scegliere */
318
318
  detailRelationItems: Array<DetailRelationItem>;
@@ -321,7 +321,7 @@ export interface RenderSelectDcmtTypeParams {
321
321
  /** Selezione di una relazione */
322
322
  onSelectRelation: (item: DetailRelationItem) => void;
323
323
  }
324
- export declare const renderSelectDcmtType: ({ detailRelationItems, selectedRelation, onSelectRelation }: RenderSelectDcmtTypeParams) => React.JSX.Element;
324
+ export declare const renderSelectDcmtType: ({ detailRelationItems, selectedRelation, onSelectRelation }: RenderSelectDcmtTypeParams) => import("react/jsx-runtime").JSX.Element;
325
325
  export interface RenderAccordionHeaderParams {
326
326
  /** Sezione a cui appartiene la testata */
327
327
  section: AccordionSection;
@@ -340,7 +340,7 @@ export interface RenderAccordionHeaderParams {
340
340
  /** Apre/chiude la sezione */
341
341
  onToggleOpen: (section: AccordionSection, isOpen: boolean) => void;
342
342
  }
343
- export declare const renderAccordionHeader: ({ section, isOpen, tooltip, count, title, actions, panel, onToggleOpen }: RenderAccordionHeaderParams) => React.JSX.Element;
343
+ export declare const renderAccordionHeader: ({ section, isOpen, tooltip, count, title, actions, panel, onToggleOpen }: RenderAccordionHeaderParams) => import("react/jsx-runtime").JSX.Element;
344
344
  /**
345
345
  * Contenuto di un pannello: il contesto del panel manager è leggibile solo dentro l'albero del
346
346
  * provider, quindi è qui che si prende lo stato di ingrandimento da passare alla sezione
@@ -349,7 +349,7 @@ export declare const TMSummarySectionSlot: ({ section, render, onBeforeMaximize
349
349
  section: AccordionSection;
350
350
  render: (panel: SectionPanelState) => React.ReactNode;
351
351
  onBeforeMaximize?: (section: AccordionSection) => void;
352
- }) => React.JSX.Element;
352
+ }) => import("react/jsx-runtime").JSX.Element;
353
353
  /**
354
354
  * Segnala che l'utente ha spostato un separatore: è l'unico caso in cui le altezze dei pannelli sono
355
355
  * una sua scelta, quindi la sola da salvare. Le quote calcolate all'apertura del riepilogo o al
@@ -1,9 +1,8 @@
1
- import React from "react";
2
1
  import { DcmtInfo } from "../../../ts";
3
2
  interface TMDcmtCheckoutInfoFormProps {
4
3
  dtdName: string;
5
4
  selectedDcmtOrFocused: DcmtInfo;
6
5
  onClose: () => void;
7
6
  }
8
- declare const TMDcmtCheckoutInfoForm: (props: TMDcmtCheckoutInfoFormProps) => React.JSX.Element;
7
+ declare const TMDcmtCheckoutInfoForm: (props: TMDcmtCheckoutInfoFormProps) => import("react/jsx-runtime").JSX.Element;
9
8
  export default TMDcmtCheckoutInfoForm;
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { MetadataDescriptor, QueryDescriptor, SelectItem } from "@topconsultnpm/sdk-ts";
3
2
  interface TMMetadataOutputFormProps {
4
3
  /** QueryDescriptor da cui estrarre i metadati disponibili */
@@ -14,5 +13,5 @@ interface TMMetadataOutputFormProps {
14
13
  /** Callback chiamata quando l'utente conferma la selezione dei SelectItem */
15
14
  onChoose?: (selectItems: SelectItem[] | undefined) => void;
16
15
  }
17
- declare const TMMetadataOutputForm: (props: TMMetadataOutputFormProps) => React.JSX.Element;
16
+ declare const TMMetadataOutputForm: (props: TMMetadataOutputFormProps) => import("react/jsx-runtime").JSX.Element;
18
17
  export default TMMetadataOutputForm;
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { MetadataDescriptor, OrderByItem, QueryDescriptor } from "@topconsultnpm/sdk-ts";
3
2
  interface TMMetadataSorterFormProps {
4
3
  /** QueryDescriptor da cui estrarre i metadati disponibili */
@@ -14,5 +13,5 @@ interface TMMetadataSorterFormProps {
14
13
  /** Callback chiamata quando l'utente conferma la selezione degli OrderByItem */
15
14
  onChoose?: (orderByItems: OrderByItem[] | undefined) => void;
16
15
  }
17
- declare const TMMetadataSorterForm: (props: TMMetadataSorterFormProps) => React.JSX.Element;
16
+ declare const TMMetadataSorterForm: (props: TMMetadataSorterFormProps) => import("react/jsx-runtime").JSX.Element;
18
17
  export default TMMetadataSorterForm;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { SavedQueryDescriptor } from '@topconsultnpm/sdk-ts';
3
- export declare const getTooltipBySqd: (sqd: SavedQueryDescriptor | undefined) => React.JSX.Element | null;
3
+ export declare const getTooltipBySqd: (sqd: SavedQueryDescriptor | undefined) => import("react/jsx-runtime").JSX.Element | null;
4
4
  interface ITMSavedQuerySelectorProps {
5
5
  height?: string;
6
6
  items?: SavedQueryDescriptor[];
@@ -12,5 +12,5 @@ interface ITMSavedQuerySelectorProps {
12
12
  refreshFavoriteSavedQueries?: (sqd: SavedQueryDescriptor) => void;
13
13
  onRefreshData?: () => void;
14
14
  }
15
- declare const TMSavedQuerySelector: React.MemoExoticComponent<({ items, selectedId, allowShowSearch, height, manageDefault, onItemClick, onDeleted, refreshFavoriteSavedQueries, onRefreshData }: ITMSavedQuerySelectorProps) => React.JSX.Element>;
15
+ declare const TMSavedQuerySelector: React.MemoExoticComponent<({ items, selectedId, allowShowSearch, height, manageDefault, onItemClick, onDeleted, refreshFavoriteSavedQueries, onRefreshData }: ITMSavedQuerySelectorProps) => import("react/jsx-runtime").JSX.Element>;
16
16
  export default TMSavedQuerySelector;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { SavedQueryDescriptor, DcmtTypeDescriptor, TaskDescriptor, ObjectRef, HomeBlogPost } from '@topconsultnpm/sdk-ts';
3
2
  import { IntesiCertificateData } from '../../../helper';
4
3
  import { DcmtInfo, IGraphometricManagerProp, TaskContext } from '../../../ts';
@@ -46,5 +45,5 @@ interface ITMSearchProps {
46
45
  fetchRemoteCertificates?: (email: string) => Promise<IntesiCertificateData[]>;
47
46
  graphometricManager?: IGraphometricManagerProp;
48
47
  }
49
- declare const TMSearch: (props: ITMSearchProps) => React.JSX.Element;
48
+ declare const TMSearch: (props: ITMSearchProps) => import("react/jsx-runtime").JSX.Element;
50
49
  export default TMSearch;
@@ -29,12 +29,6 @@ interface ITMSearchQueryPanelProps {
29
29
  declare const TMSearchQueryPanel: React.FunctionComponent<ITMSearchQueryPanelProps>;
30
30
  export default TMSearchQueryPanel;
31
31
  export declare const refreshLastSearch: (qd: QueryDescriptor | undefined) => Promise<SearchResultDescriptor[] | undefined>;
32
- export declare const StyledToppyTextContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
33
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
34
- }> & string;
35
- export declare const StyledToppyText: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "style"> & {
36
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
37
- }> & string;
38
- export declare const StyledToppyImage: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, "style"> & {
39
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
40
- }> & string;
32
+ export declare const StyledToppyTextContainer: 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;
33
+ export declare const StyledToppyText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never>>> & string;
34
+ export declare const StyledToppyImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, never>>> & string;