@topconsultnpm/sdkui-react 6.21.0-dev2.5 → 6.21.0-dev2.51
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.
- package/lib/components/base/TMAccordionNew.js +1 -0
- package/lib/components/base/TMAreaManager.js +19 -3
- package/lib/components/base/TMDataGrid.js +2 -2
- package/lib/components/base/TMModal.d.ts +1 -0
- package/lib/components/base/TMModal.js +2 -2
- package/lib/components/base/TMPanel.d.ts +7 -4
- package/lib/components/base/TMPanel.js +58 -26
- package/lib/components/base/TMTreeView.js +12 -2
- package/lib/components/base/TMWaitPanel.js +7 -4
- package/lib/components/choosers/TMDistinctValues.js +35 -21
- package/lib/components/choosers/TMUserChooser.d.ts +4 -0
- package/lib/components/choosers/TMUserChooser.js +7 -5
- package/lib/components/editors/TMFormulaEditor.d.ts +2 -0
- package/lib/components/editors/TMFormulaEditor.js +75 -21
- package/lib/components/editors/TMMetadataValues.js +2 -1
- package/lib/components/editors/TMRadioButton.js +7 -5
- package/lib/components/editors/TMTextBox.d.ts +2 -0
- package/lib/components/editors/TMTextBox.js +3 -3
- package/lib/components/features/archive/TMArchive.js +1 -1
- package/lib/components/features/documents/TMCopyToFolderForm.d.ts +24 -0
- package/lib/components/features/documents/TMCopyToFolderForm.js +379 -0
- package/lib/components/features/documents/TMDcmtForm.d.ts +1 -0
- package/lib/components/features/documents/TMDcmtForm.js +107 -29
- package/lib/components/features/documents/TMDcmtFormActionButtons.js +17 -2
- package/lib/components/features/documents/TMDcmtPreview.d.ts +1 -0
- package/lib/components/features/documents/TMDcmtPreview.js +2 -2
- package/lib/components/features/documents/TMDcmtTasks.d.ts +1 -0
- package/lib/components/features/documents/TMDcmtTasks.js +2 -2
- package/lib/components/features/documents/TMDownloadRelationViewerSection.d.ts +23 -0
- package/lib/components/features/documents/TMDownloadRelationViewerSection.js +173 -0
- package/lib/components/features/documents/TMFileUploader.js +1 -1
- package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +4 -0
- package/lib/components/features/documents/TMMasterDetailDcmts.js +29 -9
- package/lib/components/features/documents/TMMergeToPdfForm.d.ts +26 -0
- package/lib/components/features/documents/TMMergeToPdfForm.js +307 -0
- package/lib/components/features/documents/TMRelationViewer.d.ts +13 -0
- package/lib/components/features/documents/TMRelationViewer.js +75 -6
- package/lib/components/features/documents/copyAndMergeDcmtsShared.d.ts +50 -0
- package/lib/components/features/documents/copyAndMergeDcmtsShared.js +256 -0
- package/lib/components/features/search/SignatureParamsManager.d.ts +70 -0
- package/lib/components/features/search/SignatureParamsManager.js +145 -0
- package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
- package/lib/components/features/search/TMSavedQuerySelector.js +3 -2
- package/lib/components/features/search/TMSearch.d.ts +6 -1
- package/lib/components/features/search/TMSearch.js +16 -10
- package/lib/components/features/search/TMSearchQueryPanel.js +1 -1
- package/lib/components/features/search/TMSearchResult.d.ts +4 -0
- package/lib/components/features/search/TMSearchResult.js +118 -22
- package/lib/components/features/search/TMViewHistoryDcmt.js +1 -2
- package/lib/components/features/workflow/diagram/queryDescriptorParser.js +3 -6
- package/lib/components/forms/Login/TMLoginForm.d.ts +9 -0
- package/lib/components/forms/Login/TMLoginForm.js +61 -0
- package/lib/components/grids/TMBlogAttachments.d.ts +1 -0
- package/lib/components/grids/TMBlogAttachments.js +38 -12
- package/lib/components/grids/TMBlogsPost.js +7 -1
- package/lib/components/grids/TMBlogsPostUtils.js +11 -17
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +1 -0
- package/lib/components/pages/TMPage.js +3 -1
- package/lib/components/query/TMQueryEditor.js +1 -1
- package/lib/components/viewers/TMTidViewer.js +1 -1
- package/lib/helper/SDKUI_Globals.d.ts +15 -0
- package/lib/helper/SDKUI_Globals.js +15 -1
- package/lib/helper/SDKUI_Localizator.d.ts +103 -2
- package/lib/helper/SDKUI_Localizator.js +1030 -12
- package/lib/helper/TMPdfViewer.js +25 -24
- package/lib/helper/TMUtils.d.ts +19 -0
- package/lib/helper/ZipManager.d.ts +56 -0
- package/lib/helper/ZipManager.js +127 -0
- package/lib/helper/index.d.ts +1 -0
- package/lib/helper/index.js +1 -0
- package/lib/hooks/useDataUserIdItem.js +6 -4
- package/lib/hooks/useDcmtOperations.d.ts +9 -2
- package/lib/hooks/useDcmtOperations.js +73 -30
- package/lib/hooks/useDocumentOperations.d.ts +5 -0
- package/lib/hooks/useDocumentOperations.js +158 -25
- package/lib/hooks/useForm.js +5 -2
- package/lib/hooks/useResizeObserver.d.ts +1 -1
- package/lib/hooks/useResizeObserver.js +16 -15
- package/package.json +3 -2
|
@@ -23,6 +23,8 @@ 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";
|
|
26
28
|
export const getSelectedDcmtsOrFocused = (selectedItems, focusedItem, fileFormat) => {
|
|
27
29
|
if (selectedItems.length <= 0 && !focusedItem)
|
|
28
30
|
return [];
|
|
@@ -49,7 +51,7 @@ export const getAllFieldSelectedDcmtsOrFocused = (selectedItems, focusedItem, fi
|
|
|
49
51
|
return [];
|
|
50
52
|
};
|
|
51
53
|
export const useDocumentOperations = (props) => {
|
|
52
|
-
const { context, documentData, exportData, uiConfig, tasks, callbacks, } = props;
|
|
54
|
+
const { context, documentData, exportData, uiConfig, tasks, callbacks, mergePdfManager } = props;
|
|
53
55
|
const { dtd, selectedItems, focusedItem, searchResult, currentSearchResults, currentMetadataValues, allUsers = [], datagridUtility, dcmtUtility, } = documentData;
|
|
54
56
|
/** State for managing the document(s) to process */
|
|
55
57
|
const [selectedDcmtInfos, setSelectedDcmtInfos] = useState([]);
|
|
@@ -162,8 +164,15 @@ export const useDocumentOperations = (props) => {
|
|
|
162
164
|
const [showMoreInfoPopup, setShowMoreInfoPopup] = useState(false);
|
|
163
165
|
const [isOpenBatchUpdate, setIsOpenBatchUpdate] = useState(false);
|
|
164
166
|
const [isModifiedBatchUpdate, setIsModifiedBatchUpdate] = useState(false);
|
|
167
|
+
const [openCopyToFolderForm, setOpenCopyToFolderForm] = useState({ open: false, operationType: 'copyToFolder', mode: 'onlySelected' });
|
|
168
|
+
const [showTMRelationViewerInCopyToFolderForm, setShowTMRelationViewerInCopyToFolderForm] = useState(false);
|
|
169
|
+
// State to control modal opening for master/detail documents
|
|
170
|
+
const [isOpenDetailsModal, setIsOpenDetailsModal] = useState(false);
|
|
171
|
+
const [isOpenMasterModal, setIsOpenMasterModal] = useState(false);
|
|
165
172
|
const openDetailDcmtsFormHandler = (value) => { setIsOpenDetails(value); };
|
|
166
173
|
const openMasterDcmtsFormHandler = (value) => { setIsOpenMaster(value); };
|
|
174
|
+
const openDetailDcmtsModalHandler = (value) => { setIsOpenDetailsModal(value); };
|
|
175
|
+
const openMasterDcmtsModalHandler = (value) => { setIsOpenMasterModal(value); };
|
|
167
176
|
// State to control whether the export form (for exporting to Excel/CSV/txt and others) should be shown
|
|
168
177
|
const [showExportForm, setShowExportForm] = useState(false);
|
|
169
178
|
const updateShowApprovePopup = (value) => {
|
|
@@ -182,6 +191,9 @@ export const useDocumentOperations = (props) => {
|
|
|
182
191
|
setIsOpenDcmtForm(isOpen);
|
|
183
192
|
setDcmtFormLayoutMode(layoutMode);
|
|
184
193
|
};
|
|
194
|
+
const closeDcmtFormHandler = () => {
|
|
195
|
+
setIsOpenDcmtForm(false);
|
|
196
|
+
};
|
|
185
197
|
const handleAddItem = (tid, did) => {
|
|
186
198
|
let newItem = { TID: tid ?? 0, DID: did ?? 0 };
|
|
187
199
|
setSecondaryMasterDcmts((prevItems) => [...prevItems, newItem]);
|
|
@@ -256,14 +268,14 @@ export const useDocumentOperations = (props) => {
|
|
|
256
268
|
};
|
|
257
269
|
const openSharedArchiveHandler = async () => {
|
|
258
270
|
if (selectedDcmtInfos.length === 0) {
|
|
259
|
-
ShowAlert({ message:
|
|
271
|
+
ShowAlert({ message: SDKUI_Localizator.NoDcmtSelected, mode: "warning", title: SDKUI_Localizator.SharedArchiving, duration: 3000 });
|
|
260
272
|
return;
|
|
261
273
|
}
|
|
262
274
|
if (dtd?.perm?.canArchive !== AccessLevelsEx.Yes && dtd?.perm?.canArchive !== AccessLevelsEx.Mixed) {
|
|
263
275
|
ShowAlert({
|
|
264
276
|
message: "Non hai i permessi per archiviare documenti di questo tipo.",
|
|
265
277
|
mode: 'warning',
|
|
266
|
-
title:
|
|
278
|
+
title: SDKUI_Localizator.SharedArchiving,
|
|
267
279
|
duration: 5000
|
|
268
280
|
});
|
|
269
281
|
return;
|
|
@@ -273,7 +285,7 @@ export const useDocumentOperations = (props) => {
|
|
|
273
285
|
rfo.retrieveReason = DcmtOpers.None;
|
|
274
286
|
rfo.generalRetrieveFormat = GeneralRetrieveFormats.OriginalUnsigned;
|
|
275
287
|
const dcmt = selectedDcmtInfos[0];
|
|
276
|
-
let dcmtFile = await getDcmtFileAsync({ TID: dcmt?.TID, DID: dcmt?.DID }, rfo,
|
|
288
|
+
let dcmtFile = await getDcmtFileAsync({ TID: dcmt?.TID, DID: dcmt?.DID }, rfo, SDKUI_Localizator.SharedArchiving, false, true);
|
|
277
289
|
if (dcmtFile) {
|
|
278
290
|
setSharedDcmtFile(dcmtFile?.file);
|
|
279
291
|
}
|
|
@@ -286,7 +298,7 @@ export const useDocumentOperations = (props) => {
|
|
|
286
298
|
const showSharedDcmtsHandler = async () => {
|
|
287
299
|
try {
|
|
288
300
|
if (selectedDcmtInfos.length === 0) {
|
|
289
|
-
ShowAlert({ message:
|
|
301
|
+
ShowAlert({ message: SDKUI_Localizator.NoDcmtSelected, mode: "warning", title: SDKUI_Localizator.SharedArchiving, duration: 3000 });
|
|
290
302
|
return;
|
|
291
303
|
}
|
|
292
304
|
const dcmt = selectedDcmtInfos[0];
|
|
@@ -542,12 +554,10 @@ export const useDocumentOperations = (props) => {
|
|
|
542
554
|
const firstDoc = selectedDcmtInfos?.[0];
|
|
543
555
|
// Check if the selected document is a PDF
|
|
544
556
|
const isPdf = firstDoc?.FILEEXT?.toLowerCase() === "pdf";
|
|
545
|
-
// Check if the document has been signed
|
|
546
|
-
const isSigned = firstDoc?.ISSIGNED === 1;
|
|
547
557
|
// Check if the user has permission to substitute files
|
|
548
558
|
const canSubstitute = dtd?.perm?.canSubstFile === AccessLevels.Yes;
|
|
549
559
|
// Determine whether the menu item should be disabled
|
|
550
|
-
const isDisabled = !canSubstitute || isDisabledForSingleRow() || !isPdf
|
|
560
|
+
const isDisabled = !canSubstitute || isDisabledForSingleRow() || !isPdf;
|
|
551
561
|
return {
|
|
552
562
|
id: 'pdf-ed',
|
|
553
563
|
icon: _jsx(IconEdit, {}),
|
|
@@ -694,7 +704,65 @@ export const useDocumentOperations = (props) => {
|
|
|
694
704
|
]
|
|
695
705
|
};
|
|
696
706
|
};
|
|
697
|
-
const
|
|
707
|
+
const mergeToPdfMenuItem = () => {
|
|
708
|
+
return {
|
|
709
|
+
id: 'merge-pdf',
|
|
710
|
+
icon: _jsx("i", { className: "dx-icon-pdffile", style: { fontSize: '18px' } }),
|
|
711
|
+
name: 'Unisci in un file PDF',
|
|
712
|
+
operationType: 'multiRow',
|
|
713
|
+
disabled: isDisabledForMultiRow(),
|
|
714
|
+
submenu: [
|
|
715
|
+
{
|
|
716
|
+
id: 'merge-pdf-only-selected',
|
|
717
|
+
icon: _jsx("i", { className: "dx-icon-pdffile", style: { fontSize: '18px' } }),
|
|
718
|
+
name: SDKUI_Localizator.SelectedDocuments,
|
|
719
|
+
onClick: () => {
|
|
720
|
+
setShowTMRelationViewerInCopyToFolderForm(false);
|
|
721
|
+
setOpenCopyToFolderForm({ open: true, operationType: 'mergeToPdf', mode: 'onlySelected' });
|
|
722
|
+
},
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
id: 'merge-pdf-customized',
|
|
726
|
+
icon: _jsx("i", { className: "dx-icon-pdffile", style: { fontSize: '18px' } }),
|
|
727
|
+
name: SDKUI_Localizator.SelectedDocumentsAndRelated,
|
|
728
|
+
onClick: () => {
|
|
729
|
+
setShowTMRelationViewerInCopyToFolderForm(true);
|
|
730
|
+
setOpenCopyToFolderForm({ open: true, operationType: 'mergeToPdf', mode: 'customized' });
|
|
731
|
+
},
|
|
732
|
+
},
|
|
733
|
+
],
|
|
734
|
+
};
|
|
735
|
+
};
|
|
736
|
+
const copyToFolderMenuItem = () => {
|
|
737
|
+
return {
|
|
738
|
+
id: 'copy-to-folder',
|
|
739
|
+
icon: _jsx(IconCopy, {}),
|
|
740
|
+
name: SDKUI_Localizator.CopyToFolder,
|
|
741
|
+
operationType: 'multiRow',
|
|
742
|
+
disabled: isDisabledForMultiRow(),
|
|
743
|
+
submenu: [
|
|
744
|
+
{
|
|
745
|
+
id: 'copy-to-folder-only-selected',
|
|
746
|
+
icon: _jsx(IconCopy, {}),
|
|
747
|
+
name: SDKUI_Localizator.SelectedDocuments,
|
|
748
|
+
onClick: () => {
|
|
749
|
+
setShowTMRelationViewerInCopyToFolderForm(false);
|
|
750
|
+
setOpenCopyToFolderForm({ open: true, operationType: 'copyToFolder', mode: 'onlySelected' });
|
|
751
|
+
},
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
id: 'copy-to-folder-customized',
|
|
755
|
+
icon: _jsx(IconCopy, {}),
|
|
756
|
+
name: SDKUI_Localizator.SelectedDocumentsAndRelated,
|
|
757
|
+
onClick: () => {
|
|
758
|
+
setShowTMRelationViewerInCopyToFolderForm(true);
|
|
759
|
+
setOpenCopyToFolderForm({ open: true, operationType: 'copyToFolder', mode: 'customized', });
|
|
760
|
+
},
|
|
761
|
+
},
|
|
762
|
+
],
|
|
763
|
+
};
|
|
764
|
+
};
|
|
765
|
+
const relationsMenuItem = (openInModal = false) => {
|
|
698
766
|
return {
|
|
699
767
|
id: 'rel',
|
|
700
768
|
icon: _jsx(IconRelation, {}),
|
|
@@ -743,7 +811,7 @@ export const useDocumentOperations = (props) => {
|
|
|
743
811
|
visible: true,
|
|
744
812
|
beginGroup: true,
|
|
745
813
|
disabled: !contextConfig.hasMasterRelations || !contextConfig.canShowRelations || isDisabledForMultiRow(),
|
|
746
|
-
onClick: () => openMasterDcmtsFormHandler(true)
|
|
814
|
+
onClick: () => openInModal ? openMasterDcmtsModalHandler(true) : openMasterDcmtsFormHandler(true)
|
|
747
815
|
},
|
|
748
816
|
{
|
|
749
817
|
id: 'rel-det',
|
|
@@ -752,7 +820,7 @@ export const useDocumentOperations = (props) => {
|
|
|
752
820
|
operationType: 'multiRow',
|
|
753
821
|
disabled: !contextConfig.hasDetailRelations || !contextConfig.canShowRelations || isDisabledForMultiRow(),
|
|
754
822
|
visible: true,
|
|
755
|
-
onClick: () => openDetailDcmtsFormHandler(true)
|
|
823
|
+
onClick: () => openInModal ? openDetailDcmtsModalHandler(true) : openDetailDcmtsFormHandler(true)
|
|
756
824
|
}
|
|
757
825
|
]
|
|
758
826
|
};
|
|
@@ -766,10 +834,10 @@ export const useDocumentOperations = (props) => {
|
|
|
766
834
|
submenu: [
|
|
767
835
|
{
|
|
768
836
|
icon: <IconShare />,
|
|
769
|
-
name:
|
|
837
|
+
name: SDKUI_Localizator.SharedArchiving,
|
|
770
838
|
operationType: 'multiRow',
|
|
771
839
|
disabled: fromDatagrid ? false : isDisabledForMultiRow(),
|
|
772
|
-
onClick: () => ShowAlert({ message: "TODO Archiviazione condivisa", mode: 'info', title: `${
|
|
840
|
+
onClick: () => ShowAlert({ message: "TODO Archiviazione condivisa", mode: 'info', title: `${SDKUI_Localizator.SharedArchiving}`, duration: 3000 })
|
|
773
841
|
},
|
|
774
842
|
{
|
|
775
843
|
icon: <IconSharedDcmt />,
|
|
@@ -975,7 +1043,7 @@ export const useDocumentOperations = (props) => {
|
|
|
975
1043
|
};
|
|
976
1044
|
const handleWFOperationCompleted = async () => {
|
|
977
1045
|
await onWFOperationCompleted?.();
|
|
978
|
-
if (
|
|
1046
|
+
if (!showMoreInfoPopup) {
|
|
979
1047
|
onCloseDcmtForm?.();
|
|
980
1048
|
}
|
|
981
1049
|
};
|
|
@@ -1018,6 +1086,8 @@ export const useDocumentOperations = (props) => {
|
|
|
1018
1086
|
},
|
|
1019
1087
|
signatureMenuItem(),
|
|
1020
1088
|
checkinMenuItem(),
|
|
1089
|
+
copyToFolderMenuItem(),
|
|
1090
|
+
mergePdfManager ? mergeToPdfMenuItem() : null,
|
|
1021
1091
|
allowRelations ? relationsMenuItem() : null,
|
|
1022
1092
|
sharedDcmtsMenuItem(),
|
|
1023
1093
|
// shareMenuItem(),
|
|
@@ -1042,7 +1112,7 @@ export const useDocumentOperations = (props) => {
|
|
|
1042
1112
|
];
|
|
1043
1113
|
};
|
|
1044
1114
|
const getArchivedWorkgroupMenuItems = () => {
|
|
1045
|
-
const
|
|
1115
|
+
const sortedItems = [
|
|
1046
1116
|
addReplaceFileOperation(),
|
|
1047
1117
|
openFormOperation(),
|
|
1048
1118
|
deletetionMenuItem(),
|
|
@@ -1053,9 +1123,14 @@ export const useDocumentOperations = (props) => {
|
|
|
1053
1123
|
copyFromWgMenuItem(),
|
|
1054
1124
|
movetofolderFromWgMenuItem(),
|
|
1055
1125
|
commentFromWgMenuItem(false),
|
|
1126
|
+
relationsMenuItem(true),
|
|
1056
1127
|
removeFromWgMenuItem(SDKUI_Localizator.RemoveFromWorkgroup),
|
|
1128
|
+
].sort((a, b) => a.name.localeCompare(b.name));
|
|
1129
|
+
return [
|
|
1130
|
+
...sortedItems,
|
|
1131
|
+
{ ...copyToFolderMenuItem(), beginGroup: true },
|
|
1132
|
+
mergeToPdfMenuItem(),
|
|
1057
1133
|
];
|
|
1058
|
-
return items.sort((a, b) => a.name.localeCompare(b.name));
|
|
1059
1134
|
};
|
|
1060
1135
|
const getDcmtFormMenuItems = () => {
|
|
1061
1136
|
return [
|
|
@@ -1103,6 +1178,8 @@ export const useDocumentOperations = (props) => {
|
|
|
1103
1178
|
},
|
|
1104
1179
|
signatureMenuItem(),
|
|
1105
1180
|
checkinMenuItem(),
|
|
1181
|
+
copyToFolderMenuItem(),
|
|
1182
|
+
mergeToPdfMenuItem(),
|
|
1106
1183
|
...((inputDcmtFormLayoutMode === LayoutModes.Update) ? [fullTextSearchMenuItem()] : []),
|
|
1107
1184
|
];
|
|
1108
1185
|
};
|
|
@@ -1127,16 +1204,71 @@ export const useDocumentOperations = (props) => {
|
|
|
1127
1204
|
return addPinIconToItems(getOperationMenuItems());
|
|
1128
1205
|
};
|
|
1129
1206
|
const renderFloatingBar = (floatingBarContainerRef && floatingBarContainerRef.current && allowFloatingBar && showFloatingBar && deviceType !== DeviceType.MOBILE) ? (_jsx(TMFloatingMenuBar, { containerRef: floatingBarContainerRef, contextMenuItems: operationItems(), isConstrained: true, defaultPosition: { x: 1, y: 88 }, defaultPinnedItems: ['rel-det', 'rel-mst', 'dl'], defaultOrientation: 'horizontal', hasContextMenu: false, pinnedItemIds: pinnedItemIds, onPinChange: setPinnedItemIds })) : null;
|
|
1207
|
+
const masterDetailDetailsCommonProps = {
|
|
1208
|
+
deviceType,
|
|
1209
|
+
isForMaster: false,
|
|
1210
|
+
inputDcmts: selectedDcmtInfos,
|
|
1211
|
+
allowNavigation: selectedDcmtInfos.length === 1,
|
|
1212
|
+
canNext: canNavigateHandler ? canNavigateHandler('next') : false,
|
|
1213
|
+
canPrev: canNavigateHandler ? canNavigateHandler('prev') : false,
|
|
1214
|
+
onNext: () => onNavigateHandler && onNavigateHandler('next'),
|
|
1215
|
+
onPrev: () => onNavigateHandler && onNavigateHandler('prev'),
|
|
1216
|
+
allTasks,
|
|
1217
|
+
getAllTasks,
|
|
1218
|
+
deleteTaskByIdsCallback,
|
|
1219
|
+
addTaskCallback,
|
|
1220
|
+
editTaskCallback,
|
|
1221
|
+
onReferenceClick,
|
|
1222
|
+
handleNavigateToWGs,
|
|
1223
|
+
handleNavigateToDossiers,
|
|
1224
|
+
editPdfForm,
|
|
1225
|
+
openS4TViewer,
|
|
1226
|
+
onOpenS4TViewerRequest,
|
|
1227
|
+
onOpenPdfEditorRequest,
|
|
1228
|
+
onRefreshAfterAddDcmtToFavs,
|
|
1229
|
+
onTaskCreateRequest,
|
|
1230
|
+
datagridUtility,
|
|
1231
|
+
dcmtUtility,
|
|
1232
|
+
mergePdfManager,
|
|
1233
|
+
};
|
|
1234
|
+
const masterDetailMasterCommonProps = {
|
|
1235
|
+
deviceType,
|
|
1236
|
+
isForMaster: true,
|
|
1237
|
+
inputDcmts: selectedDcmtInfos,
|
|
1238
|
+
allowNavigation: selectedDcmtInfos.length === 1,
|
|
1239
|
+
canNext: canNavigateHandler ? canNavigateHandler('next') : false,
|
|
1240
|
+
canPrev: canNavigateHandler ? canNavigateHandler('prev') : false,
|
|
1241
|
+
onNext: () => onNavigateHandler && onNavigateHandler('next'),
|
|
1242
|
+
onPrev: () => onNavigateHandler && onNavigateHandler('prev'),
|
|
1243
|
+
appendMasterDcmts: handleAddItem,
|
|
1244
|
+
allTasks,
|
|
1245
|
+
getAllTasks,
|
|
1246
|
+
deleteTaskByIdsCallback,
|
|
1247
|
+
addTaskCallback,
|
|
1248
|
+
editTaskCallback,
|
|
1249
|
+
onReferenceClick,
|
|
1250
|
+
handleNavigateToWGs,
|
|
1251
|
+
handleNavigateToDossiers,
|
|
1252
|
+
editPdfForm,
|
|
1253
|
+
openS4TViewer,
|
|
1254
|
+
onOpenS4TViewerRequest,
|
|
1255
|
+
onOpenPdfEditorRequest,
|
|
1256
|
+
onRefreshAfterAddDcmtToFavs,
|
|
1257
|
+
onTaskCreateRequest,
|
|
1258
|
+
datagridUtility,
|
|
1259
|
+
dcmtUtility,
|
|
1260
|
+
mergePdfManager,
|
|
1261
|
+
};
|
|
1130
1262
|
const renderDcmtOperations = (_jsxs(_Fragment, { children: [(showExportForm && searchResult && dataColumns && dataSource && selectedRowKeys) && (_jsx(TMDataGridExportForm, { dataColumns: dataColumns, dataSource: dataSource, selectedRowKeys: selectedRowKeys, onCloseExportForm: () => setShowExportForm(false), searchResult: searchResult })), _jsx(StyledMultiViewPanel, { "$isVisible": isOpenDcmtForm, children: ((isOpenDcmtForm && focusedItem?.TID !== undefined && focusedItem?.DID !== undefined) &&
|
|
1131
|
-
_jsx(TMDcmtForm, { isModal: openDcmtFormAsModal || (dcmtFormLayoutMode === LayoutModes.Ark && focusedItem?.DID !== undefined), titleModal: dtd?.name ?? '', TID: focusedItem.TID, DID: focusedItem.DID, allowButtonsRefs: true, layoutMode: dcmtFormLayoutMode, count: visibleItems?.length, itemIndex: visibleItems ? visibleItems.findIndex(o => o.rowIndex === focusedItem?.rowIndex) + 1 : undefined, canNext: canNavigateHandler ? canNavigateHandler('next') : false, canPrev: canNavigateHandler ? canNavigateHandler('prev') : false, onNext: () => onNavigateHandler && onNavigateHandler('next'), onPrev: () => onNavigateHandler && onNavigateHandler('prev'), onClose: () => { (false); onDcmtFormOpenChange(false, LayoutModes.Update); }, onWFOperationCompleted: onWFOperationCompleted, onTaskCreateRequest: onTaskCreateRequest, onSavedAsyncCallback: onSavedAsyncCallback, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, openFileUploaderPdfEditor: openFileUploaderPdfEditor, onReferenceClick: onReferenceClick, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, moreInfoTasks: getMoreInfoTasksForDocument(allTasks, focusedItem?.TID, focusedItem?.DID), showDcmtFormSidebar: showDcmtFormSidebar, datagridUtility: {
|
|
1263
|
+
_jsx(TMDcmtForm, { isModal: openDcmtFormAsModal || (dcmtFormLayoutMode === LayoutModes.Ark && focusedItem?.DID !== undefined), titleModal: dtd?.name ?? '', TID: focusedItem.TID, DID: focusedItem.DID, allowButtonsRefs: true, showTodoDcmtForm: showTodoDcmtForm, layoutMode: dcmtFormLayoutMode, count: visibleItems?.length, itemIndex: visibleItems ? visibleItems.findIndex(o => o.rowIndex === focusedItem?.rowIndex) + 1 : undefined, canNext: canNavigateHandler ? canNavigateHandler('next') : false, canPrev: canNavigateHandler ? canNavigateHandler('prev') : false, onNext: () => onNavigateHandler && onNavigateHandler('next'), onPrev: () => onNavigateHandler && onNavigateHandler('prev'), onClose: () => { (false); onDcmtFormOpenChange(false, LayoutModes.Update); }, onWFOperationCompleted: onWFOperationCompleted, onTaskCreateRequest: onTaskCreateRequest, onSavedAsyncCallback: onSavedAsyncCallback, openS4TViewer: openS4TViewer, onOpenS4TViewerRequest: onOpenS4TViewerRequest, onOpenPdfEditorRequest: onOpenPdfEditorRequest, openFileUploaderPdfEditor: openFileUploaderPdfEditor, onReferenceClick: onReferenceClick, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, moreInfoTasks: getMoreInfoTasksForDocument(allTasks, focusedItem?.TID, focusedItem?.DID), showDcmtFormSidebar: showDcmtFormSidebar, datagridUtility: {
|
|
1132
1264
|
onRefreshSearchAsyncDatagrid,
|
|
1133
1265
|
onRefreshDataRowsAsync,
|
|
1134
1266
|
refreshFocusedDataRowAsync,
|
|
1135
1267
|
onRefreshBlogDatagrid,
|
|
1136
1268
|
onRefreshPreviewDatagrid
|
|
1137
1269
|
} })) }), (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) &&
|
|
1138
|
-
_jsx(TMDcmtCheckoutInfoForm, { dtdName: dtd.name ?? SDKUI_Localizator.SearchResult, selectedDcmtOrFocused: selectedDcmtInfos[0], onClose: hideCheckoutInformationFormCallback }), _jsx(
|
|
1139
|
-
return (_jsx(StyledModalContainer, { style: { backgroundColor: 'white' }, children: _jsx(TMMasterDetailDcmts, {
|
|
1270
|
+
_jsx(TMDcmtCheckoutInfoForm, { dtdName: dtd.name ?? SDKUI_Localizator.SearchResult, selectedDcmtOrFocused: selectedDcmtInfos[0], onClose: hideCheckoutInformationFormCallback }), isOpenDetailsModal && _jsx(TMModal, { width: "95%", height: "95%", onClose: () => setIsOpenDetailsModal(false), title: SDKUI_Localizator.Relations, children: _jsx(TMMasterDetailDcmts, { ...masterDetailDetailsCommonProps, onBack: () => setIsOpenDetailsModal(false) }) }), _jsx(StyledMultiViewPanel, { "$isVisible": isOpenDetails, children: isOpenDetails && _jsx(TMMasterDetailDcmts, { ...masterDetailDetailsCommonProps, onBack: () => setIsOpenDetails(false) }) }), isOpenMasterModal && _jsx(TMModal, { width: "95%", height: "95%", onClose: () => setIsOpenMasterModal(false), title: SDKUI_Localizator.Relations, children: _jsx(TMMasterDetailDcmts, { ...masterDetailMasterCommonProps, onBack: () => setIsOpenMasterModal(false) }) }), _jsxs(StyledMultiViewPanel, { "$isVisible": isOpenMaster, children: [isOpenMaster && _jsx(TMMasterDetailDcmts, { ...masterDetailMasterCommonProps, onBack: () => setIsOpenMaster(false) }), secondaryMasterDcmts.length > 0 && secondaryMasterDcmts.map((dcmt, index) => {
|
|
1271
|
+
return (_jsx(StyledModalContainer, { style: { backgroundColor: 'white' }, children: _jsx(TMMasterDetailDcmts, { ...masterDetailMasterCommonProps, inputDcmts: [dcmt], allowNavigation: false, onBack: () => handleRemoveItem(dcmt.TID, dcmt.DID) }) }, `${index}-${dcmt.DID}`));
|
|
1140
1272
|
})] }), 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: () => {
|
|
1141
1273
|
setIsOpenArchiveRelationForm(false);
|
|
1142
1274
|
setArchiveType(undefined);
|
|
@@ -1148,7 +1280,7 @@ export const useDocumentOperations = (props) => {
|
|
|
1148
1280
|
setArchiveRelatedDcmtFormTID(undefined);
|
|
1149
1281
|
setArchiveRelatedDcmtFormMids([]);
|
|
1150
1282
|
await onRefreshSearchAsyncDatagrid?.();
|
|
1151
|
-
}, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, showDcmtFormSidebar: showDcmtFormSidebar, openFileUploaderPdfEditor: openFileUploaderPdfEditor }), showRelatedDcmtsChooser &&
|
|
1283
|
+
}, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, showDcmtFormSidebar: showDcmtFormSidebar, openFileUploaderPdfEditor: openFileUploaderPdfEditor, showTodoDcmtForm: showTodoDcmtForm }), showRelatedDcmtsChooser &&
|
|
1152
1284
|
_jsx(TMChooserForm, { dataSource: relatedDcmtsChooserDataSource, onChoose: async (selectedRelation) => {
|
|
1153
1285
|
try {
|
|
1154
1286
|
setShowRelatedDcmtsChooser(false);
|
|
@@ -1181,8 +1313,8 @@ export const useDocumentOperations = (props) => {
|
|
|
1181
1313
|
TMSpinner.hide();
|
|
1182
1314
|
}
|
|
1183
1315
|
}, onClose: () => setShowManyToManyChooser(false), manageUseLocalizedName: false }), showPairDcmtsModal &&
|
|
1184
|
-
_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 &&
|
|
1185
|
-
_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:
|
|
1316
|
+
_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 &&
|
|
1317
|
+
_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: () => {
|
|
1186
1318
|
setIsOpenSharedArchive(false);
|
|
1187
1319
|
}, 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) => {
|
|
1188
1320
|
setIsOpenSharedArchive(false);
|
|
@@ -1190,11 +1322,11 @@ export const useDocumentOperations = (props) => {
|
|
|
1190
1322
|
}, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }) }), sharedDcmtSearchResults.length > 0 &&
|
|
1191
1323
|
_jsx(TMModal, { title: "Documenti condivisi", onClose: () => {
|
|
1192
1324
|
setSharedDcmtSearchResults([]);
|
|
1193
|
-
}, 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 () => {
|
|
1325
|
+
}, 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
1326
|
updateBatchUpdateForm(false);
|
|
1195
1327
|
setIsModifiedBatchUpdate(false);
|
|
1196
1328
|
await onRefreshDataRowsAsync?.();
|
|
1197
|
-
}, 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) })] }));
|
|
1329
|
+
}, 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, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }), openCopyToFolderForm.open && openCopyToFolderForm.operationType === 'copyToFolder' && _jsx(TMCopyToFolderForm, { mode: openCopyToFolderForm.mode, selectedDcmtInfos: selectedDcmtInfos, onClose: () => setOpenCopyToFolderForm({ open: false, operationType: 'copyToFolder', mode: 'onlySelected' }), showTMRelationViewer: showTMRelationViewerInCopyToFolderForm, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }), _jsx(ConfirmFormatDialog, {}), _jsx(ConfirmAttachmentsDialog, {}), _jsx(FileSourceDialog, {}), taskFormDialogComponent, s4TViewerDialogComponent, currentCustomButton && _jsx(TMCustomButton, { button: currentCustomButton, formData: currentMetadataValues, selectedItems: selectedItemsFull, onClose: () => setCurrentCustomButton(undefined) })] }));
|
|
1198
1330
|
return {
|
|
1199
1331
|
operationItems: operationItems(),
|
|
1200
1332
|
renderFloatingBar,
|
|
@@ -1209,6 +1341,7 @@ export const useDocumentOperations = (props) => {
|
|
|
1209
1341
|
isOpenBatchUpdate,
|
|
1210
1342
|
isModifiedBatchUpdate,
|
|
1211
1343
|
updateBatchUpdateForm,
|
|
1344
|
+
closeDcmtFormHandler,
|
|
1212
1345
|
handleSignApprove,
|
|
1213
1346
|
checkoutInfo: {
|
|
1214
1347
|
showHistory,
|
|
@@ -1315,6 +1448,6 @@ export const useDocumentOperations = (props) => {
|
|
|
1315
1448
|
updateShowReAssignPopup,
|
|
1316
1449
|
updateShowMoreInfoPopup
|
|
1317
1450
|
}
|
|
1318
|
-
}
|
|
1451
|
+
},
|
|
1319
1452
|
};
|
|
1320
1453
|
};
|
package/lib/hooks/useForm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEffect, useState } from "react";
|
|
2
2
|
import { FormModes } from "../ts";
|
|
3
3
|
import { TMExceptionBoxManager, TMSpinner } from "../components";
|
|
4
|
-
import { AreaEngine, BasketTypeEngine, DataListEngine, DcmtTypeEngine, DiskEngine, GroupEngine, JobEngine, JobTypes, LDAPDescriptor, LDAPProviders,
|
|
4
|
+
import { AreaEngine, BasketTypeEngine, DataListEngine, DcmtTypeEngine, DiskEngine, GroupEngine, JobEngine, JobTypes, LDAPDescriptor, LDAPProviders, NumeratorEngine, ObjectClasses, ProcessEngine, RelationEngine, ResultTypes, SAPEngine, SavedQueryEngine, SignCertDescriptor, TaskEngine, TreeDescriptor, TSADescriptor, UserEngine, WorkingGroupDescriptor } from "@topconsultnpm/sdk-ts";
|
|
5
5
|
import { PlatformObjectService } from "../services";
|
|
6
6
|
import { SDKUI_Localizator, calcIsModified } from "../helper";
|
|
7
7
|
export class SaveFormOptions {
|
|
@@ -42,7 +42,7 @@ export function useSaveForm(formMode, id, sfo, validator, onSaved, onStatusChang
|
|
|
42
42
|
case ObjectClasses.Disk: return DiskEngine.NewDiskDescriptor();
|
|
43
43
|
case ObjectClasses.Group: return GroupEngine.NewGroupDescriptor();
|
|
44
44
|
case ObjectClasses.LDAP: return normalizeLDAP(new LDAPDescriptor());
|
|
45
|
-
case ObjectClasses.Numerator: return
|
|
45
|
+
case ObjectClasses.Numerator: return NumeratorEngine.NewNormalizeNumeratorDescriptor();
|
|
46
46
|
case ObjectClasses.SignCert: return normalizeSignCert(new SignCertDescriptor());
|
|
47
47
|
case ObjectClasses.Tree: return new TreeDescriptor();
|
|
48
48
|
case ObjectClasses.TSA: return new TSADescriptor();
|
|
@@ -101,6 +101,9 @@ export function useSaveForm(formMode, id, sfo, validator, onSaved, onStatusChang
|
|
|
101
101
|
newId = await saveCustomAsync();
|
|
102
102
|
else
|
|
103
103
|
newId = await setDataAsync?.(formMode, formData, ...args);
|
|
104
|
+
if (newId <= 0) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
104
107
|
let newData;
|
|
105
108
|
if (sfo.loadDataAfterSave)
|
|
106
109
|
newData = await loadDataAsync(newId, FormModes.Update);
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
2
|
export const useResizeObserver = () => {
|
|
3
3
|
const [width, setWidth] = useState(0);
|
|
4
|
-
const
|
|
4
|
+
const [element, setElement] = useState(null);
|
|
5
|
+
// Callback ref: viene invocato quando l'elemento viene montato/smontato
|
|
6
|
+
const ref = useCallback((node) => {
|
|
7
|
+
setElement(node);
|
|
8
|
+
}, []);
|
|
5
9
|
useEffect(() => {
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
if (!element)
|
|
11
|
+
return;
|
|
12
|
+
// Imposta la larghezza iniziale
|
|
13
|
+
setWidth(element.getBoundingClientRect().width);
|
|
14
|
+
const observer = new ResizeObserver((entries) => {
|
|
15
|
+
if (entries[0]?.contentRect) {
|
|
8
16
|
setWidth(entries[0].contentRect.width);
|
|
9
17
|
}
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
return () => {
|
|
16
|
-
if (ref.current) {
|
|
17
|
-
observer.unobserve(ref.current);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
}, []);
|
|
18
|
+
});
|
|
19
|
+
observer.observe(element);
|
|
20
|
+
return () => observer.disconnect();
|
|
21
|
+
}, [element]);
|
|
21
22
|
return { ref, width };
|
|
22
23
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@topconsultnpm/sdkui-react",
|
|
3
|
-
"version": "6.21.0-dev2.
|
|
3
|
+
"version": "6.21.0-dev2.51",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
"lib"
|
|
41
41
|
],
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@topconsultnpm/sdk-ts": "6.21.0-dev2.
|
|
43
|
+
"@topconsultnpm/sdk-ts": "6.21.0-dev2.8",
|
|
44
|
+
"@zip.js/zip.js": "2.8.26",
|
|
44
45
|
"buffer": "^6.0.3",
|
|
45
46
|
"devextreme": "^25.2.6",
|
|
46
47
|
"devextreme-react": "^25.2.6",
|