@topconsultnpm/sdkui-react 6.21.0-dev2.34 → 6.21.0-dev2.35

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 (30) hide show
  1. package/lib/components/editors/TMTextBox.d.ts +0 -2
  2. package/lib/components/editors/TMTextBox.js +3 -3
  3. package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +0 -4
  4. package/lib/components/features/documents/TMMasterDetailDcmts.js +5 -6
  5. package/lib/components/features/documents/TMRelationViewer.d.ts +0 -13
  6. package/lib/components/features/documents/TMRelationViewer.js +6 -75
  7. package/lib/components/features/search/TMSearch.d.ts +2 -2
  8. package/lib/components/features/search/TMSearch.js +2 -2
  9. package/lib/components/features/search/TMSearchResult.d.ts +2 -2
  10. package/lib/components/features/search/TMSearchResult.js +20 -4
  11. package/lib/helper/SDKUI_Globals.d.ts +0 -16
  12. package/lib/helper/SDKUI_Globals.js +1 -16
  13. package/lib/helper/TMUtils.d.ts +0 -19
  14. package/lib/helper/index.d.ts +0 -1
  15. package/lib/helper/index.js +0 -1
  16. package/lib/hooks/useDcmtOperations.d.ts +2 -8
  17. package/lib/hooks/useDcmtOperations.js +20 -29
  18. package/lib/hooks/useDocumentOperations.d.ts +0 -4
  19. package/lib/hooks/useDocumentOperations.js +7 -75
  20. package/package.json +1 -1
  21. package/lib/components/features/documents/TMCopyToFolderForm.d.ts +0 -16
  22. package/lib/components/features/documents/TMCopyToFolderForm.js +0 -306
  23. package/lib/components/features/documents/TMDownloadRelationViewerSection.d.ts +0 -15
  24. package/lib/components/features/documents/TMDownloadRelationViewerSection.js +0 -155
  25. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +0 -18
  26. package/lib/components/features/documents/TMMergeToPdfForm.js +0 -164
  27. package/lib/components/features/documents/copyAndMergeDcmtsShared.d.ts +0 -53
  28. package/lib/components/features/documents/copyAndMergeDcmtsShared.js +0 -263
  29. package/lib/helper/ZipManager.d.ts +0 -56
  30. package/lib/helper/ZipManager.js +0 -104
@@ -42,7 +42,7 @@ export const useDcmtOperations = () => {
42
42
  const [waitPanelMaxValueSecondary, setWaitPanelMaxValueSecondary] = useState(0);
43
43
  const { OpenFileDialog } = useFileDialog();
44
44
  const [selectFileSource, FileSourceDialog] = useFileSourceDialog();
45
- const _downloadDcmtsAsync = async (inputDcmts, downloadMode = "download", onFileDownloaded, skipConfirmation = false, retrieveOptions, useCache = true) => {
45
+ const _downloadDcmtsAsync = async (inputDcmts, downloadMode = "download", onFileDownloaded, skipConfirmation = false) => {
46
46
  if (inputDcmts === undefined)
47
47
  return;
48
48
  if (inputDcmts.length <= 0)
@@ -72,11 +72,9 @@ export const useDcmtOperations = () => {
72
72
  setWaitPanelTitle(operationTitle);
73
73
  abortController = new AbortController();
74
74
  const rfo = new RetrieveFileOptions();
75
- rfo.retrieveReason = retrieveOptions?.retrieveReason ?? DcmtOpers.ShowFile;
76
- if (retrieveOptions?.generalRetrieveFormat !== undefined)
77
- rfo.generalRetrieveFormat = retrieveOptions.generalRetrieveFormat;
78
- rfo.invoiceRetrieveFormat = retrieveOptions?.invoiceRetrieveFormat ?? SDKUI_Globals.userSettings.searchSettings.invoiceRetrieveFormat;
79
- rfo.orderRetrieveFormat = retrieveOptions?.orderRetrieveFormat ?? SDKUI_Globals.userSettings.searchSettings.orderRetrieveFormat;
75
+ rfo.retrieveReason = DcmtOpers.ShowFile;
76
+ rfo.invoiceRetrieveFormat = SDKUI_Globals.userSettings.searchSettings.invoiceRetrieveFormat;
77
+ rfo.orderRetrieveFormat = SDKUI_Globals.userSettings.searchSettings.orderRetrieveFormat;
80
78
  let result = [];
81
79
  setWaitPanelMaxValuePrimary(inputDcmts.length);
82
80
  let firstBlock = true;
@@ -90,7 +88,7 @@ export const useDcmtOperations = () => {
90
88
  setWaitPanelTextPrimary(`Download file ${i + 1} di ${inputDcmts.length}`);
91
89
  let file;
92
90
  const cacheKey = `${inputDcmts[i].TID}-${inputDcmts[i].DID}`;
93
- if (useCache && dcmtsFileCacheDownload.has(cacheKey)) {
91
+ if (dcmtsFileCacheDownload.has(cacheKey)) {
94
92
  file = dcmtsFileCacheDownload.get(cacheKey);
95
93
  }
96
94
  else {
@@ -114,30 +112,23 @@ export const useDcmtOperations = () => {
114
112
  const fileURL = window.URL.createObjectURL(file);
115
113
  if (downloadMode === "openInNewWindow") {
116
114
  (onFileDownloaded && file)
117
- ? onFileDownloaded(file, inputDcmts[i])
115
+ ? onFileDownloaded(file)
118
116
  : window.open(fileURL, '_blank', 'noopener');
119
117
  }
120
118
  else {
121
- if (onFileDownloaded && file) {
122
- await onFileDownloaded(file, inputDcmts[i]);
123
- }
124
- else {
125
- const alink2 = document.createElement('a');
126
- alink2.href = fileURL;
127
- const baseFileName = inputDcmts[i].fileName ?? (inputDcmts[i].FILEEXT ? `${inputDcmts[i].DID}.${inputDcmts[i].FILEEXT}` : file?.name);
128
- alink2.download = getDownloadFileName(baseFileName);
129
- alink2.target = "_blank";
130
- alink2.rel = "noreferrer";
131
- alink2.click();
132
- }
119
+ const alink2 = document.createElement('a');
120
+ alink2.href = fileURL;
121
+ const baseFileName = inputDcmts[i].fileName ?? (inputDcmts[i].FILEEXT ? `${inputDcmts[i].DID}.${inputDcmts[i].FILEEXT}` : file?.name);
122
+ alink2.download = getDownloadFileName(baseFileName);
123
+ alink2.target = "_blank";
124
+ alink2.rel = "noreferrer";
125
+ alink2.click();
133
126
  }
134
- if (useCache) {
135
- if (dcmtsFileCacheDownload.size >= CACHE_SIZE_LIMIT) {
136
- const oldestKey = dcmtsFileCacheDownload.keys().next().value;
137
- dcmtsFileCacheDownload.delete(oldestKey);
138
- }
139
- dcmtsFileCacheDownload.set(cacheKey, file);
127
+ if (dcmtsFileCacheDownload.size >= CACHE_SIZE_LIMIT) {
128
+ const oldestKey = dcmtsFileCacheDownload.keys().next().value;
129
+ dcmtsFileCacheDownload.delete(oldestKey);
140
130
  }
131
+ dcmtsFileCacheDownload.set(cacheKey, file);
141
132
  result.push({ rowIndex: i, id1: inputDcmts[i].TID, id2: inputDcmts[i].DID, resultType: ResultTypes.SUCCESS });
142
133
  }
143
134
  catch (ex) {
@@ -217,11 +208,11 @@ export const useDcmtOperations = () => {
217
208
  TMExceptionBoxManager.show({ exception: err });
218
209
  }
219
210
  };
220
- const downloadDcmtsAsync = async (inputDcmts, downloadType = DownloadTypes.Attachment, downloadMode = "download", onFileDownloaded, confirmAttachments, skipConfirmation = false, retrieveOptions, useCache = true) => {
211
+ const downloadDcmtsAsync = async (inputDcmts, downloadType = DownloadTypes.Attachment, downloadMode = "download", onFileDownloaded, confirmAttachments, skipConfirmation = false) => {
221
212
  switch (downloadType) {
222
- case DownloadTypes.Dcmt: return await _downloadDcmtsAsync(inputDcmts, downloadMode, onFileDownloaded, skipConfirmation, retrieveOptions, useCache);
213
+ case DownloadTypes.Dcmt: return await _downloadDcmtsAsync(inputDcmts, downloadMode, onFileDownloaded, skipConfirmation);
223
214
  case DownloadTypes.Attachment: return await _downloadAttachmentsAsync(inputDcmts, confirmAttachments);
224
- default: return await _downloadDcmtsAsync(inputDcmts, undefined, undefined, skipConfirmation, retrieveOptions, useCache);
215
+ default: return await _downloadDcmtsAsync(inputDcmts, undefined, undefined, skipConfirmation);
225
216
  }
226
217
  };
227
218
  const uploadDcmtsAsync = async (inputDcmts, operationTitle, operType, actionAfterOperationAsync) => {
@@ -6,7 +6,6 @@ import { DcmtInfo, MetadataValueDescriptorEx, SearchResultContext, TaskContext }
6
6
  import { UseCheckInOutOperationsReturn } from "./useCheckInOutOperations";
7
7
  import { UseDcmtOperationsReturn } from "./useDcmtOperations";
8
8
  import { UseRelatedDocumentsReturn } from "./useRelatedDocuments";
9
- import { MergePdfManagerType } from '../helper';
10
9
  export interface DocumentDataProps {
11
10
  dtd: DcmtTypeDescriptor | undefined;
12
11
  selectedItems: Array<any>;
@@ -39,8 +38,6 @@ export interface DocumentDataProps {
39
38
  s4TViewerDialogComponent?: React.ReactNode;
40
39
  };
41
40
  }
42
- export type TMCopyToFolderMode = 'onlySelected' | 'customized';
43
- export type TMCopyToFolderOperationType = 'copyToFolder' | 'mergeToPdf';
44
41
  export interface ExportDataProps {
45
42
  dataColumns?: Array<IColumnProps>;
46
43
  dataSource?: Array<any>;
@@ -100,7 +97,6 @@ interface UseDocumentOperationsProps {
100
97
  tasks: TasksProps;
101
98
  callbacks: OperationCallbacks;
102
99
  exportData?: ExportDataProps;
103
- mergePdfManager?: MergePdfManagerType;
104
100
  }
105
101
  export interface UseDocumentOperationsResult {
106
102
  operationItems: Array<TMContextMenuItemProps>;
@@ -23,8 +23,6 @@ import { useInputAttachmentsDialog, useInputCvtFormatDialog } from "./useInputDi
23
23
  import { useRelatedDocuments } from "./useRelatedDocuments";
24
24
  import { convertSearchResultDescriptorToFileItems, dcmtsFileCachePreview, getDcmtCicoStatus, getMoreInfoTasksForDocument, IconActivity, IconArchiveDetail, IconArchiveDoc, IconArchiveMaster, IconBatchUpdate, IconCheck, IconCheckFile, IconCheckIn, IconCircleInfo, IconCloseCircle, IconConvertFilePdf, IconCopy, IconCustom, IconDelete, IconDetailDcmts, IconDotsVerticalCircleOutline, IconDownload, IconEdit, IconExportTo, IconFileDots, IconHide, IconInfo, IconMenuCAArchive, IconMoveToFolder, IconPair, IconPin, IconPlatform, IconPreview, IconRelation, IconSearch, IconShare, IconSharedDcmt, IconShow, IconSignaturePencil, IconStar, IconSubstFile, IconUndo, IconUnpair, IconUserGroupOutline, isPdfEditorAvailable, SDKUI_Localizator, searchResultToMetadataValues, TMImageLibrary } from '../helper';
25
25
  import { isXMLFileExt } from "../helper/dcmtsHelper";
26
- import TMCopyToFolderForm from "../components/features/documents/TMCopyToFolderForm";
27
- import TMMergeToPdfForm from "../components/features/documents/TMMergeToPdfForm";
28
26
  export const getSelectedDcmtsOrFocused = (selectedItems, focusedItem, fileFormat) => {
29
27
  if (selectedItems.length <= 0 && !focusedItem)
30
28
  return [];
@@ -51,7 +49,7 @@ export const getAllFieldSelectedDcmtsOrFocused = (selectedItems, focusedItem, fi
51
49
  return [];
52
50
  };
53
51
  export const useDocumentOperations = (props) => {
54
- const { context, documentData, exportData, uiConfig, tasks, callbacks, mergePdfManager } = props;
52
+ const { context, documentData, exportData, uiConfig, tasks, callbacks, } = props;
55
53
  const { dtd, selectedItems, focusedItem, searchResult, currentSearchResults, currentMetadataValues, allUsers = [], datagridUtility, dcmtUtility, } = documentData;
56
54
  /** State for managing the document(s) to process */
57
55
  const [selectedDcmtInfos, setSelectedDcmtInfos] = useState([]);
@@ -164,8 +162,6 @@ export const useDocumentOperations = (props) => {
164
162
  const [showMoreInfoPopup, setShowMoreInfoPopup] = useState(false);
165
163
  const [isOpenBatchUpdate, setIsOpenBatchUpdate] = useState(false);
166
164
  const [isModifiedBatchUpdate, setIsModifiedBatchUpdate] = useState(false);
167
- const [openCopyToFolderForm, setOpenCopyToFolderForm] = useState({ open: false, operationType: 'copyToFolder', mode: 'onlySelected' });
168
- const [showTMRelationViewerInCopyToFolderForm, setShowTMRelationViewerInCopyToFolderForm] = useState(false);
169
165
  const openDetailDcmtsFormHandler = (value) => { setIsOpenDetails(value); };
170
166
  const openMasterDcmtsFormHandler = (value) => { setIsOpenMaster(value); };
171
167
  // State to control whether the export form (for exporting to Excel/CSV/txt and others) should be shown
@@ -699,64 +695,6 @@ export const useDocumentOperations = (props) => {
699
695
  ]
700
696
  };
701
697
  };
702
- const mergeToPdfMenuItem = () => {
703
- return {
704
- id: 'merge-pdf',
705
- icon: _jsx("i", { className: "dx-icon-pdffile", style: { fontSize: '18px' } }),
706
- name: 'Unisci in un file PDF',
707
- operationType: 'multiRow',
708
- disabled: isDisabledForMultiRow(),
709
- submenu: [
710
- {
711
- id: 'merge-pdf-only-selected',
712
- icon: _jsx("i", { className: "dx-icon-pdffile", style: { fontSize: '18px' } }),
713
- name: 'Solo i documenti selezionati',
714
- onClick: () => {
715
- setShowTMRelationViewerInCopyToFolderForm(false);
716
- setOpenCopyToFolderForm({ open: true, operationType: 'mergeToPdf', mode: 'onlySelected' });
717
- },
718
- },
719
- {
720
- id: 'merge-pdf-customized',
721
- icon: _jsx("i", { className: "dx-icon-pdffile", style: { fontSize: '18px' } }),
722
- name: 'Documenti di primo livello e i correlati selezionati',
723
- onClick: () => {
724
- setShowTMRelationViewerInCopyToFolderForm(true);
725
- setOpenCopyToFolderForm({ open: true, operationType: 'mergeToPdf', mode: 'customized' });
726
- },
727
- },
728
- ],
729
- };
730
- };
731
- const copyToFolderMenuItem = () => {
732
- return {
733
- id: 'copy-to-folder',
734
- icon: _jsx(IconCopy, {}),
735
- name: 'Copia in una cartella',
736
- operationType: 'multiRow',
737
- disabled: isDisabledForMultiRow(),
738
- submenu: [
739
- {
740
- id: 'copy-to-folder-only-selected',
741
- icon: _jsx(IconCopy, {}),
742
- name: 'Solo i documenti selezionati',
743
- onClick: () => {
744
- setShowTMRelationViewerInCopyToFolderForm(false);
745
- setOpenCopyToFolderForm({ open: true, operationType: 'copyToFolder', mode: 'onlySelected' });
746
- },
747
- },
748
- {
749
- id: 'copy-to-folder-customized',
750
- icon: _jsx(IconCopy, {}),
751
- name: 'Documenti di primo livello e i correlati selezionati',
752
- onClick: () => {
753
- setShowTMRelationViewerInCopyToFolderForm(true);
754
- setOpenCopyToFolderForm({ open: true, operationType: 'copyToFolder', mode: 'customized', });
755
- },
756
- },
757
- ],
758
- };
759
- };
760
698
  const relationsMenuItem = () => {
761
699
  return {
762
700
  id: 'rel',
@@ -1081,8 +1019,6 @@ export const useDocumentOperations = (props) => {
1081
1019
  },
1082
1020
  signatureMenuItem(),
1083
1021
  checkinMenuItem(),
1084
- copyToFolderMenuItem(),
1085
- mergePdfManager ? mergeToPdfMenuItem() : null,
1086
1022
  allowRelations ? relationsMenuItem() : null,
1087
1023
  sharedDcmtsMenuItem(),
1088
1024
  // shareMenuItem(),
@@ -1118,8 +1054,6 @@ export const useDocumentOperations = (props) => {
1118
1054
  copyFromWgMenuItem(),
1119
1055
  movetofolderFromWgMenuItem(),
1120
1056
  commentFromWgMenuItem(false),
1121
- copyToFolderMenuItem(),
1122
- mergeToPdfMenuItem(),
1123
1057
  removeFromWgMenuItem(SDKUI_Localizator.RemoveFromWorkgroup),
1124
1058
  ];
1125
1059
  return items.sort((a, b) => a.name.localeCompare(b.name));
@@ -1170,8 +1104,6 @@ export const useDocumentOperations = (props) => {
1170
1104
  },
1171
1105
  signatureMenuItem(),
1172
1106
  checkinMenuItem(),
1173
- copyToFolderMenuItem(),
1174
- mergeToPdfMenuItem(),
1175
1107
  ...((inputDcmtFormLayoutMode === LayoutModes.Update) ? [fullTextSearchMenuItem()] : []),
1176
1108
  ];
1177
1109
  };
@@ -1204,8 +1136,8 @@ export const useDocumentOperations = (props) => {
1204
1136
  onRefreshBlogDatagrid,
1205
1137
  onRefreshPreviewDatagrid
1206
1138
  } })) }), (showHistory && dtd && selectedDcmtInfos.length > 0) && _jsx(TMViewHistoryDcmt, { fromDTD: dtd, deviceType: deviceType, inputDcmt: selectedDcmtInfos[0], onClose: hideHistoryCallback, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }), (commentFormState.show && selectedDcmtInfos.length > 0) && _jsx(TMBlogCommentForm, { context: { engine: 'SearchEngine', object: { tid: selectedDcmtInfos[0].TID, did: selectedDcmtInfos[0].DID } }, onClose: hideCommentFormCallback, refreshCallback: onRefreshBlog, participants: [], showAttachmentsSection: true, allArchivedDocumentsFileItems: convertSearchResultDescriptorToFileItems(currentSearchResults ?? []), isCommentRequired: commentFormState.isRequired, removeAndEditAttachment: commentFormState.removeAndEditAttachment, selectedAttachmentDid: [Number(selectedDcmtInfos[0].DID)] }), (showCheckoutInformationForm && dtd && selectedDcmtInfos.length > 0) &&
1207
- _jsx(TMDcmtCheckoutInfoForm, { dtdName: dtd.name ?? SDKUI_Localizator.SearchResult, selectedDcmtOrFocused: selectedDcmtInfos[0], onClose: hideCheckoutInformationFormCallback }), _jsx(StyledMultiViewPanel, { "$isVisible": isOpenDetails, children: isOpenDetails && _jsx(TMMasterDetailDcmts, { deviceType: deviceType, isForMaster: false, inputDcmts: selectedDcmtInfos, allowNavigation: selectedDcmtInfos.length === 1, canNext: canNavigateHandler ? canNavigateHandler('next') : false, canPrev: canNavigateHandler ? canNavigateHandler('prev') : false, onNext: () => onNavigateHandler && onNavigateHandler('next'), onPrev: () => onNavigateHandler && onNavigateHandler('prev'), onBack: () => setIsOpenDetails(false), allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, onRefreshAfterAddDcmtToFavs: onRefreshAfterAddDcmtToFavs, onTaskCreateRequest: onTaskCreateRequest, datagridUtility: datagridUtility, dcmtUtility: dcmtUtility, mergePdfManager: mergePdfManager }) }), _jsxs(StyledMultiViewPanel, { "$isVisible": isOpenMaster, children: [isOpenMaster && _jsx(TMMasterDetailDcmts, { deviceType: deviceType, inputDcmts: selectedDcmtInfos, isForMaster: true, allowNavigation: selectedDcmtInfos.length === 1, canNext: canNavigateHandler ? canNavigateHandler('next') : false, canPrev: canNavigateHandler ? canNavigateHandler('prev') : false, onNext: () => onNavigateHandler && onNavigateHandler('next'), onPrev: () => onNavigateHandler && onNavigateHandler('prev'), onBack: () => setIsOpenMaster(false), appendMasterDcmts: handleAddItem, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, onRefreshAfterAddDcmtToFavs: onRefreshAfterAddDcmtToFavs, onTaskCreateRequest: onTaskCreateRequest, datagridUtility: datagridUtility, dcmtUtility: dcmtUtility, mergePdfManager: mergePdfManager }), secondaryMasterDcmts.length > 0 && secondaryMasterDcmts.map((dcmt, index) => {
1208
- return (_jsx(StyledModalContainer, { style: { backgroundColor: 'white' }, children: _jsx(TMMasterDetailDcmts, { deviceType: deviceType, inputDcmts: [dcmt], isForMaster: true, allowNavigation: false, onBack: () => handleRemoveItem(dcmt.TID, dcmt.DID), appendMasterDcmts: handleAddItem, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, onTaskCreateRequest: onTaskCreateRequest, datagridUtility: datagridUtility, dcmtUtility: dcmtUtility, mergePdfManager: mergePdfManager }) }, `${index}-${dcmt.DID}`));
1139
+ _jsx(TMDcmtCheckoutInfoForm, { dtdName: dtd.name ?? SDKUI_Localizator.SearchResult, selectedDcmtOrFocused: selectedDcmtInfos[0], onClose: hideCheckoutInformationFormCallback }), _jsx(StyledMultiViewPanel, { "$isVisible": isOpenDetails, children: isOpenDetails && _jsx(TMMasterDetailDcmts, { deviceType: deviceType, isForMaster: false, inputDcmts: selectedDcmtInfos, allowNavigation: selectedDcmtInfos.length === 1, canNext: canNavigateHandler ? canNavigateHandler('next') : false, canPrev: canNavigateHandler ? canNavigateHandler('prev') : false, onNext: () => onNavigateHandler && onNavigateHandler('next'), onPrev: () => onNavigateHandler && onNavigateHandler('prev'), onBack: () => setIsOpenDetails(false), allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, onRefreshAfterAddDcmtToFavs: onRefreshAfterAddDcmtToFavs, onTaskCreateRequest: onTaskCreateRequest, datagridUtility: datagridUtility, dcmtUtility: dcmtUtility }) }), _jsxs(StyledMultiViewPanel, { "$isVisible": isOpenMaster, children: [isOpenMaster && _jsx(TMMasterDetailDcmts, { deviceType: deviceType, inputDcmts: selectedDcmtInfos, isForMaster: true, allowNavigation: selectedDcmtInfos.length === 1, canNext: canNavigateHandler ? canNavigateHandler('next') : false, canPrev: canNavigateHandler ? canNavigateHandler('prev') : false, onNext: () => onNavigateHandler && onNavigateHandler('next'), onPrev: () => onNavigateHandler && onNavigateHandler('prev'), onBack: () => setIsOpenMaster(false), appendMasterDcmts: handleAddItem, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, onRefreshAfterAddDcmtToFavs: onRefreshAfterAddDcmtToFavs, onTaskCreateRequest: onTaskCreateRequest, datagridUtility: datagridUtility, dcmtUtility: dcmtUtility }), secondaryMasterDcmts.length > 0 && secondaryMasterDcmts.map((dcmt, index) => {
1140
+ return (_jsx(StyledModalContainer, { style: { backgroundColor: 'white' }, children: _jsx(TMMasterDetailDcmts, { deviceType: deviceType, inputDcmts: [dcmt], isForMaster: true, allowNavigation: false, onBack: () => handleRemoveItem(dcmt.TID, dcmt.DID), appendMasterDcmts: handleAddItem, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, onTaskCreateRequest: onTaskCreateRequest, datagridUtility: datagridUtility, dcmtUtility: dcmtUtility }) }, `${index}-${dcmt.DID}`));
1209
1141
  })] }), isOpenArchiveRelationForm && _jsx(TMDcmtForm, { isModal: true, titleModal: SDKUI_Localizator.Archive + ' - ' + (archiveType === 'detail' ? SDKUI_Localizator.DcmtsDetail : SDKUI_Localizator.DcmtsMaster), TID: archiveRelatedDcmtFormTID, layoutMode: LayoutModes.Ark, inputMids: archiveRelatedDcmtFormMids, showBackButton: false, allowButtonsRefs: false, onClose: () => {
1210
1142
  setIsOpenArchiveRelationForm(false);
1211
1143
  setArchiveType(undefined);
@@ -1250,7 +1182,7 @@ export const useDocumentOperations = (props) => {
1250
1182
  TMSpinner.hide();
1251
1183
  }
1252
1184
  }, onClose: () => setShowManyToManyChooser(false), manageUseLocalizedName: false }), showPairDcmtsModal &&
1253
- _jsx(TMModal, { title: (isPairingManyToMany ? "Abbina" : "Disabbina") + " documenti", onClose: () => setShowPairDcmtsModal(false), width: isMobile ? '90%' : '50%', height: isMobile ? '90%' : '70%', children: _jsx(TMSearchResult, { searchResults: pairedSearchResults, onRefreshAfterAddDcmtToFavs: onRefreshAfterAddDcmtToFavs, onRefreshSearchAsyncDatagrid: onRefreshSearchAsyncDatagrid, onFileOpened: onFileOpened, onTaskCreateRequest: onTaskCreateRequest, openWGsCopyMoveForm: openWGsCopyMoveForm, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, passToArchiveCallback: passToArchiveCallback, showTodoDcmtForm: showTodoDcmtForm, allowFloatingBar: false, floatingActionConfig: pairFloatingActionConfig, showBackButton: false, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, toppyHelpCenterUsePortal: toppyHelpCenterUsePortal, showToppyDraggableHelpCenter: showToppyDraggableHelpCenter, mergePdfManager: mergePdfManager }) }), showPairSearchModal &&
1185
+ _jsx(TMModal, { title: (isPairingManyToMany ? "Abbina" : "Disabbina") + " documenti", onClose: () => setShowPairDcmtsModal(false), width: isMobile ? '90%' : '50%', height: isMobile ? '90%' : '70%', children: _jsx(TMSearchResult, { searchResults: pairedSearchResults, onRefreshAfterAddDcmtToFavs: onRefreshAfterAddDcmtToFavs, onRefreshSearchAsyncDatagrid: onRefreshSearchAsyncDatagrid, onFileOpened: onFileOpened, onTaskCreateRequest: onTaskCreateRequest, openWGsCopyMoveForm: openWGsCopyMoveForm, editPdfForm: editPdfForm, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, passToArchiveCallback: passToArchiveCallback, showTodoDcmtForm: showTodoDcmtForm, allowFloatingBar: false, floatingActionConfig: pairFloatingActionConfig, showBackButton: false, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, toppyHelpCenterUsePortal: toppyHelpCenterUsePortal, showToppyDraggableHelpCenter: showToppyDraggableHelpCenter }) }), showPairSearchModal &&
1254
1186
  _jsx(TMModal, { title: "Ricerca documenti", onClose: () => setShowPairSearchModal(false), width: isMobile ? '90%' : '50%', height: isMobile ? '90%' : '70%', children: _jsx(TMSearch, { onlyShowSearchQueryPanel: true, inputTID: pairSearchModalTargetTID, inputMids: pairSearchModalInputMids, floatingActionConfig: pairSearchModalFloatingActionConfig, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }) }), isOpenSharedArchive && _jsx(TMModal, { title: SDKUI_Localizator.SharedArchiving, onClose: () => {
1255
1187
  setIsOpenSharedArchive(false);
1256
1188
  }, width: isMobile ? '90%' : '60%', height: isMobile ? '90%' : '80%', children: _jsx(TMArchive, { inputDID: selectedDcmtInfos?.[0].DID, inputTID: selectedDcmtInfos?.[0].TID, inputMids: currentMetadataValues.filter(md => md.mid && md.mid > 100).map(md => ({ mid: md.mid, value: md.value ?? '' })), isSharedArchive: true, inputFile: sharedDcmtFile, onSavedAsyncCallback: async (tid, did) => {
@@ -1259,11 +1191,11 @@ export const useDocumentOperations = (props) => {
1259
1191
  }, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }) }), sharedDcmtSearchResults.length > 0 &&
1260
1192
  _jsx(TMModal, { title: "Documenti condivisi", onClose: () => {
1261
1193
  setSharedDcmtSearchResults([]);
1262
- }, width: isMobile ? '90%' : '60%', height: isMobile ? '90%' : '80%', children: _jsx(TMSearchResult, { searchResults: sharedDcmtSearchResults, allowFloatingBar: false, showSelector: true, disableAccordionIfSingleCategory: true, showBackButton: isMobile, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, mergePdfManager: mergePdfManager }) }), isOpenBatchUpdate && _jsx(TMBatchUpdateForm, { isModal: true, titleModal: `${SDKUI_Localizator.BatchUpdate} (${selectedDcmtInfos.length} documenti selezionati)`, inputDcmts: selectedDcmtInfos, TID: selectedDcmtInfos.length > 0 ? selectedDcmtInfos[0]?.TID : undefined, DID: selectedDcmtInfos.length > 0 ? selectedDcmtInfos[0]?.DID : undefined, onBack: () => updateBatchUpdateForm(false), onSavedCallbackAsync: async () => {
1194
+ }, width: isMobile ? '90%' : '60%', height: isMobile ? '90%' : '80%', children: _jsx(TMSearchResult, { searchResults: sharedDcmtSearchResults, allowFloatingBar: false, showSelector: true, disableAccordionIfSingleCategory: true, showBackButton: isMobile, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }) }), isOpenBatchUpdate && _jsx(TMBatchUpdateForm, { isModal: true, titleModal: `${SDKUI_Localizator.BatchUpdate} (${selectedDcmtInfos.length} documenti selezionati)`, inputDcmts: selectedDcmtInfos, TID: selectedDcmtInfos.length > 0 ? selectedDcmtInfos[0]?.TID : undefined, DID: selectedDcmtInfos.length > 0 ? selectedDcmtInfos[0]?.DID : undefined, onBack: () => updateBatchUpdateForm(false), onSavedCallbackAsync: async () => {
1263
1195
  updateBatchUpdateForm(false);
1264
1196
  setIsModifiedBatchUpdate(false);
1265
1197
  await onRefreshDataRowsAsync?.();
1266
- }, onStatusChanged: (isModified) => { setIsModifiedBatchUpdate(isModified); } }), showApprovePopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: handleWFOperationCompleted, selectedItems: approvalVID ? selectedDcmtInfos.map(item => ({ ...item, TID: approvalVID })) : selectedDcmtInfos, isReject: 0, onClose: () => updateShowApprovePopup(false) }), showRejectPopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: handleWFOperationCompleted, selectedItems: approvalVID ? selectedDcmtInfos.map(item => ({ ...item, TID: approvalVID })) : selectedDcmtInfos, isReject: 1, onClose: () => updateShowRejectPopup(false) }), showReAssignPopup && _jsx(WorkFlowReAssignPopUp, { deviceType: deviceType, onCompleted: handleWFOperationCompleted, selectedItems: approvalVID ? selectedDcmtInfos.map(item => ({ ...item, TID: approvalVID })) : selectedDcmtInfos, onClose: () => updateShowReAssignPopup(false) }), showMoreInfoPopup && _jsx(WorkFlowMoreInfoPopUp, { fromDTD: dtd, TID: contextConfig.approvalTID, DID: focusedItem?.DID, deviceType: deviceType, onCompleted: handleWFOperationCompleted, onClose: () => updateShowMoreInfoPopup(false), allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, triggerBlogRefresh: onRefreshBlogDatagrid }), openCopyToFolderForm.open && openCopyToFolderForm.operationType === 'mergeToPdf' && _jsx(TMMergeToPdfForm, { mode: openCopyToFolderForm.mode, selectedDcmtInfos: selectedDcmtInfos, onClose: () => setOpenCopyToFolderForm({ open: false, operationType: 'copyToFolder', mode: 'onlySelected' }), showTMRelationViewer: showTMRelationViewerInCopyToFolderForm, mergePdfManager: mergePdfManager }), openCopyToFolderForm.open && openCopyToFolderForm.operationType === 'copyToFolder' && _jsx(TMCopyToFolderForm, { mode: openCopyToFolderForm.mode, selectedDcmtInfos: selectedDcmtInfos, onClose: () => setOpenCopyToFolderForm({ open: false, operationType: 'copyToFolder', mode: 'onlySelected' }), showTMRelationViewer: showTMRelationViewerInCopyToFolderForm }), _jsx(ConfirmFormatDialog, {}), _jsx(ConfirmAttachmentsDialog, {}), _jsx(FileSourceDialog, {}), taskFormDialogComponent, s4TViewerDialogComponent, currentCustomButton && _jsx(TMCustomButton, { button: currentCustomButton, formData: currentMetadataValues, selectedItems: selectedItemsFull, onClose: () => setCurrentCustomButton(undefined) })] }));
1198
+ }, onStatusChanged: (isModified) => { setIsModifiedBatchUpdate(isModified); } }), showApprovePopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: handleWFOperationCompleted, selectedItems: approvalVID ? selectedDcmtInfos.map(item => ({ ...item, TID: approvalVID })) : selectedDcmtInfos, isReject: 0, onClose: () => updateShowApprovePopup(false) }), showRejectPopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: handleWFOperationCompleted, selectedItems: approvalVID ? selectedDcmtInfos.map(item => ({ ...item, TID: approvalVID })) : selectedDcmtInfos, isReject: 1, onClose: () => updateShowRejectPopup(false) }), showReAssignPopup && _jsx(WorkFlowReAssignPopUp, { deviceType: deviceType, onCompleted: handleWFOperationCompleted, selectedItems: approvalVID ? selectedDcmtInfos.map(item => ({ ...item, TID: approvalVID })) : selectedDcmtInfos, onClose: () => updateShowReAssignPopup(false) }), showMoreInfoPopup && _jsx(WorkFlowMoreInfoPopUp, { fromDTD: dtd, TID: contextConfig.approvalTID, DID: focusedItem?.DID, deviceType: deviceType, onCompleted: handleWFOperationCompleted, onClose: () => updateShowMoreInfoPopup(false), allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, triggerBlogRefresh: onRefreshBlogDatagrid }), _jsx(ConfirmFormatDialog, {}), _jsx(ConfirmAttachmentsDialog, {}), _jsx(FileSourceDialog, {}), taskFormDialogComponent, s4TViewerDialogComponent, currentCustomButton && _jsx(TMCustomButton, { button: currentCustomButton, formData: currentMetadataValues, selectedItems: selectedItemsFull, onClose: () => setCurrentCustomButton(undefined) })] }));
1267
1199
  return {
1268
1200
  operationItems: operationItems(),
1269
1201
  renderFloatingBar,
@@ -1385,6 +1317,6 @@ export const useDocumentOperations = (props) => {
1385
1317
  updateShowReAssignPopup,
1386
1318
  updateShowMoreInfoPopup
1387
1319
  }
1388
- },
1320
+ }
1389
1321
  };
1390
1322
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react",
3
- "version": "6.21.0-dev2.34",
3
+ "version": "6.21.0-dev2.35",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { DcmtInfo } from '../../../ts';
3
- import { TMCopyToFolderMode } from '../../../hooks/useDocumentOperations';
4
- interface ITMCopyToFolderFormProps {
5
- mode: TMCopyToFolderMode;
6
- selectedDcmtInfos: Array<DcmtInfo>;
7
- onClose: () => void;
8
- showTMRelationViewer: boolean;
9
- }
10
- /**
11
- * Form per la copia/zip dei documenti in una cartella locale.
12
- * Logica condivisa con TMMergeToPdfForm è esternalizzata in copyAndMergeDcmtsShared
13
- * e TMDownloadRelationViewerSection.
14
- */
15
- declare const TMCopyToFolderForm: React.FC<ITMCopyToFolderFormProps>;
16
- export default TMCopyToFolderForm;