@topconsultnpm/sdkui-react 6.22.0-dev4.17 → 6.22.0-dev4.18
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/NewComponents/ContextMenu/styles.d.ts +45 -43
- package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +67 -60
- package/lib/components/base/Styled.d.ts +93 -77
- package/lib/components/base/TMCounterBar.d.ts +2 -2
- package/lib/components/base/TMCounterContainer.d.ts +2 -1
- package/lib/components/base/TMCustomButton.d.ts +1 -1
- package/lib/components/base/TMDataGrid.js +219 -219
- package/lib/components/base/TMDataGridExportForm.d.ts +2 -1
- package/lib/components/base/TMFileManager.d.ts +2 -1
- package/lib/components/base/TMFileManagerDataGridView.d.ts +2 -1
- package/lib/components/base/TMFileManagerThumbnailItems.d.ts +1 -1
- package/lib/components/base/TMFileManagerThumbnailsView.d.ts +1 -1
- package/lib/components/base/TMFileManagerUtils.d.ts +4 -6
- package/lib/components/base/TMLayout.d.ts +4 -4
- package/lib/components/base/TMList.d.ts +2 -1
- package/lib/components/base/TMListView.d.ts +1 -1
- package/lib/components/base/TMSpinner.d.ts +3 -2
- package/lib/components/base/TMTab.d.ts +4 -3
- package/lib/components/base/TMTabControl.js +208 -208
- package/lib/components/base/TMTooltip.d.ts +1 -1
- package/lib/components/base/TMTreeView.d.ts +14 -8
- package/lib/components/base/TMUserAvatar.d.ts +2 -1
- package/lib/components/base/TMVilViewer.d.ts +2 -1
- package/lib/components/base/TMWaitPanel.d.ts +3 -2
- package/lib/components/base/waitPanel/TMWaitPanelView.d.ts +2 -1
- package/lib/components/base/waitPanel/TMWaitPanelView.js +207 -207
- package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
- package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +2 -1
- package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +2 -1
- package/lib/components/choosers/TMQuickSearchInfo.d.ts +2 -1
- package/lib/components/choosers/TMRelationChooser.d.ts +3 -3
- package/lib/components/choosers/TMUserChooser.d.ts +2 -2
- package/lib/components/editors/TMEditorStyled.d.ts +20 -42
- package/lib/components/editors/TMFormulaEditor.d.ts +1 -1
- package/lib/components/editors/TMHtmlContentDisplay.d.ts +2 -1
- package/lib/components/editors/TMHtmlEditor.d.ts +2 -1
- package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
- package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
- package/lib/components/features/blog/TMBlogCommentForm.d.ts +2 -1
- package/lib/components/features/documents/TMDcmtForm.js +27 -4
- package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
- package/lib/components/features/documents/TMDcmtIcon.d.ts +2 -1
- package/lib/components/features/documents/TMDcmtPreview.d.ts +10 -6
- package/lib/components/features/documents/TMDcmtPreview.js +10 -5
- package/lib/components/features/documents/TMDcmtTasks.d.ts +2 -1
- package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
- package/lib/components/features/documents/TMFileUploader.js +21 -21
- package/lib/components/features/documents/TMMasterInfoFields.d.ts +2 -1
- package/lib/components/features/documents/TMMergeToPdfForm.d.ts +2 -1
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +2 -1
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +4 -4
- package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +2 -1
- package/lib/components/features/search/TMMetadataOutputForm.d.ts +2 -1
- package/lib/components/features/search/TMMetadataSorterForm.d.ts +2 -1
- package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
- package/lib/components/features/search/TMSearch.d.ts +2 -1
- package/lib/components/features/search/TMSearchQueryPanel.d.ts +9 -3
- package/lib/components/features/search/TMSearchResult.js +99 -82
- package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
- package/lib/components/features/search/TMSignatureInfoContent.d.ts +2 -1
- package/lib/components/features/search/TMViewHistoryDcmt.d.ts +2 -1
- package/lib/components/features/tasks/TMTaskForm.d.ts +1 -1
- package/lib/components/features/tasks/TMTaskFormUtils.d.ts +10 -10
- package/lib/components/features/tasks/TMTasksAgenda.d.ts +1 -1
- package/lib/components/features/tasks/TMTasksCalendar.d.ts +1 -1
- package/lib/components/features/tasks/TMTasksHeader.d.ts +1 -1
- package/lib/components/features/tasks/TMTasksPanelContent.d.ts +1 -1
- package/lib/components/features/tasks/TMTasksUtilsView.d.ts +5 -5
- package/lib/components/features/tasks/TMTasksView.d.ts +1 -1
- package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +3 -2
- package/lib/components/features/wg/TMWGsCopyMoveForm.js +9 -9
- package/lib/components/features/workflow/TMWorkflowPopup.d.ts +8 -7
- package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +3 -1
- package/lib/components/forms/Login/ChangePasswordInputs.d.ts +3 -1
- package/lib/components/forms/Login/Chooser.d.ts +2 -2
- package/lib/components/forms/TMChooserForm.d.ts +2 -1
- package/lib/components/forms/TMSaveForm.d.ts +4 -4
- package/lib/components/grids/TMBlogAttachments.d.ts +2 -1
- package/lib/components/grids/TMBlogHeader.d.ts +1 -1
- package/lib/components/grids/TMBlogsPost.d.ts +1 -1
- package/lib/components/grids/TMBlogsPostUtils.d.ts +9 -9
- package/lib/components/grids/TMValidationItemsList.d.ts +2 -1
- package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +2 -1
- package/lib/components/layout/panelManager/TMPanelManagerContainer.js +12 -12
- package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +2 -2
- package/lib/components/layout/panelManager/TMPanelManagerLoader.d.ts +2 -1
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +5 -6
- package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +2 -2
- package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +2 -2
- package/lib/components/pages/TMPage.d.ts +1 -1
- package/lib/components/query/TMQueryEditor.d.ts +14 -10
- package/lib/components/settings/SettingsAppearance.d.ts +2 -1
- package/lib/components/sidebar/TMAboutApp.d.ts +2 -1
- package/lib/components/sidebar/TMCommandsPanel.d.ts +4 -4
- package/lib/components/sidebar/TMHeader.d.ts +3 -3
- package/lib/components/viewers/TMDataListItemViewer.d.ts +3 -2
- package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +3 -2
- package/lib/components/viewers/TMMidViewer.d.ts +2 -2
- package/lib/components/viewers/TMTidViewer.d.ts +2 -2
- package/lib/helper/SDKUI_Globals.d.ts +1 -0
- package/lib/helper/SDKUI_Globals.js +1 -0
- package/lib/helper/TMAppUpdatedModal.d.ts +2 -1
- package/lib/helper/TMAppUpdatedModal.js +93 -93
- package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
- package/lib/helper/TMIcons.d.ts +280 -280
- package/lib/helper/TMPdfViewer.d.ts +2 -1
- package/lib/helper/TMToppyMessage.d.ts +2 -2
- package/lib/helper/TMUtils.d.ts +10 -4
- package/lib/helper/helpers.d.ts +1 -1
- package/lib/helper/queryHelper.d.ts +9 -2
- package/lib/helper/queryHelper.js +39 -1
- package/lib/hooks/useInputDialog.d.ts +2 -1
- package/lib/services/platform_services.d.ts +3 -2
- 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) =>
|
|
14
|
+
declare const TMToppyDraggableHelpCenter: (props: TMToppyDraggableHelpCenterProps) => React.JSX.Element;
|
|
15
15
|
export default TMToppyDraggableHelpCenter;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { BlogPost, UserDescriptor } from "@topconsultnpm/sdk-ts";
|
|
2
3
|
import { FileItem } from '../../base/TMFileManagerUtils';
|
|
3
4
|
import { TMBlogContextDescriptor } from '../../grids/TMBlogsPostUtils';
|
|
@@ -18,5 +19,5 @@ interface TMBlogCommentFormProps {
|
|
|
18
19
|
/** External save handler - when provided, bypasses internal engine logic */
|
|
19
20
|
onCustomSave?: (blogPost: BlogPost) => Promise<void>;
|
|
20
21
|
}
|
|
21
|
-
declare const TMBlogCommentForm: (props: TMBlogCommentFormProps) =>
|
|
22
|
+
declare const TMBlogCommentForm: (props: TMBlogCommentFormProps) => React.JSX.Element;
|
|
22
23
|
export default TMBlogCommentForm;
|
|
@@ -4,7 +4,7 @@ import TMDcmtPreview from './TMDcmtPreview';
|
|
|
4
4
|
import { AccessLevels, AccessLevelsEx, AppModules, ArchiveConstraints, ArchiveEngineByID, DcmtTypeDescriptor, DcmtTypeListCacheService, DcmtTypePermission, DossierCacheService, LayoutCacheService, LayoutModes, MetadataDataDomains, MetadataDataTypes, MetadataFormats, ObjectClasses, ResultTypes, SDK_Globals, SDK_Localizator, SystemMIDsAsNumber, SystemTIDs, Task_States, TID_DID, UpdateEngineByID, UserListCacheService, ValidationItem, WorkflowCacheService, WorkingGroupCacheService, WorkItemMetadataNames } from '@topconsultnpm/sdk-ts';
|
|
5
5
|
import { FormModes, SearchResultContext } from '../../../ts';
|
|
6
6
|
import { DeviceType, useDeviceType } from '../../base/TMDeviceProvider';
|
|
7
|
-
import { getWorkItemSetIDAsync, handleArchiveVisibility, searchResultToMetadataValues } from '../../../helper/queryHelper';
|
|
7
|
+
import { getDcmtMetadataValuesAsync, getTraceShowFileMids, getWorkItemSetIDAsync, handleArchiveVisibility, searchResultToMetadataValues } from '../../../helper/queryHelper';
|
|
8
8
|
import { genUniqueId, IconShow, SDKUI_Localizator, updateMruTids, IconBoard, IconDcmtTypeSys, calcIsModified, IconMenuVertical, Globalization, getListMaxItems, getSystemMetadata, IconBoxArchiveIn, IconClear, IconUndo, SDKUI_Globals, IconPreview, isTaskMoreInfo, IconWorkflow, IconSearch, deepCompare, IconActivity, getExceptionMessage, isApprovalWorkflowView, getDcmtCicoStatus, buildWorkItemsFromWFCtrl, IconLock, getDcmtFormToolbarVisibility, taskModalSizes, IconArchiveMultipleDetailDocuments, isNotGrantedDraftsDTD } from '../../../helper';
|
|
9
9
|
import { hasDetailRelations, hasMasterRelations } from '../../../helper/dcmtsHelper';
|
|
10
10
|
import { Gutters, TMColors } from '../../../utils/theme';
|
|
@@ -390,6 +390,29 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
|
|
|
390
390
|
const triggerPreviewRefresh = useCallback(async () => {
|
|
391
391
|
setRefreshPreviewTrigger(prev => prev + 1);
|
|
392
392
|
}, []);
|
|
393
|
+
// Dopo il recupero del file in anteprima aggiorna solo i metadati "Mostra file"
|
|
394
|
+
const refreshTraceShowFileMetadataAsync = useCallback(async () => {
|
|
395
|
+
const traceMids = getTraceShowFileMids(fromDTDRef.current);
|
|
396
|
+
if (!TID || !DID || traceMids.length === 0)
|
|
397
|
+
return;
|
|
398
|
+
try {
|
|
399
|
+
const res = await getDcmtMetadataValuesAsync(TID, DID, traceMids);
|
|
400
|
+
const row = res?.dtdResult?.rows?.[0];
|
|
401
|
+
const mids = res?.selectMIDs ?? [];
|
|
402
|
+
if (!row)
|
|
403
|
+
return;
|
|
404
|
+
// Anche l'originale, altrimenti il form risulterebbe modificato
|
|
405
|
+
const patchTraceValues = (list) => list.map(md => traceMids.includes(md.mid) && mids.includes(md.mid) ? { ...md, value: row[mids.indexOf(md.mid)] } : md);
|
|
406
|
+
setFormData(patchTraceValues);
|
|
407
|
+
setFormDataOrig(patchTraceValues);
|
|
408
|
+
formDataOrigRef.current = patchTraceValues(formDataOrigRef.current);
|
|
409
|
+
// Aggiorna anche la riga della griglia dei risultati con lo stesso risultato
|
|
410
|
+
await onSavedAsyncCallback?.(TID, DID, res);
|
|
411
|
+
}
|
|
412
|
+
catch (e) {
|
|
413
|
+
console.error('Errore aggiornamento metadati "Mostra file":', e);
|
|
414
|
+
}
|
|
415
|
+
}, [TID, DID, onSavedAsyncCallback]);
|
|
393
416
|
const openTaskFormHandler = (onTaskCreated) => {
|
|
394
417
|
if (!currentDcmt || !fromDTD)
|
|
395
418
|
return;
|
|
@@ -1269,7 +1292,7 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
|
|
|
1269
1292
|
]);
|
|
1270
1293
|
const tmBlog = useMemo(() => _jsx(TMDcmtBlog, { tid: TID, did: DID, fetchBlogDataTrigger: refreshBlogTrigger, onRefreshBlogDatagrid: onRefreshBlogDatagrid, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }), [TID, DID, allTasks, refreshBlogTrigger, handleNavigateToWGs, handleNavigateToDossiers]);
|
|
1271
1294
|
const tmSysMetadata = useMemo(() => _jsx(TMMetadataValues, { layoutMode: layoutMode, openChooserBySingleClick: !isOpenDistinctValues, TID: TID, isReadOnly: true, deviceType: deviceType, metadataValues: formData.filter(o => (o.mid != undefined && o.mid <= 100)), metadataValuesOrig: formData.filter(o => (o.mid != undefined && o.mid <= 100)), validationItems: [], inputMids: inputMids }), [TID, layoutMode, formData, deviceType, inputMids]);
|
|
1272
|
-
const tmDcmtPreview = useMemo(() => _jsx(TMDcmtPreviewWrapper, { refreshPreviewTrigger: refreshPreviewTrigger, fromDTD: fromDTD, currentDcmt: currentDcmt, dcmtFile: dcmtFile ?? inputFile, deviceType: deviceType, onBack: getOnBackHandler(), layoutMode: layoutMode, onFileUpload: (file) => { setDcmtFile(file); }, openFileUploaderPdfEditor: openFileUploaderPdfEditor, enableDragDropOverlay: enableDragDropOverlay, onScanRequest: onScanRequest }), [currentDcmt, dcmtFile, deviceType, fromDTD, layoutMode, inputFile, enableDragDropOverlay, setDcmtFile, onScanRequest, openFileUploaderPdfEditor, refreshPreviewTrigger]);
|
|
1295
|
+
const tmDcmtPreview = useMemo(() => _jsx(TMDcmtPreviewWrapper, { refreshPreviewTrigger: refreshPreviewTrigger, fromDTD: fromDTD, currentDcmt: currentDcmt, dcmtFile: dcmtFile ?? inputFile, deviceType: deviceType, onBack: getOnBackHandler(), layoutMode: layoutMode, onFileUpload: (file) => { setDcmtFile(file); }, openFileUploaderPdfEditor: openFileUploaderPdfEditor, enableDragDropOverlay: enableDragDropOverlay, onScanRequest: onScanRequest, onFileRetrieved: refreshTraceShowFileMetadataAsync }), [currentDcmt, dcmtFile, deviceType, fromDTD, layoutMode, inputFile, enableDragDropOverlay, setDcmtFile, onScanRequest, openFileUploaderPdfEditor, refreshPreviewTrigger, refreshTraceShowFileMetadataAsync]);
|
|
1273
1296
|
const tmWF = useMemo(() => {
|
|
1274
1297
|
if (isWFDataLoading) {
|
|
1275
1298
|
return (_jsx("div", { style: {
|
|
@@ -1875,11 +1898,11 @@ const PanelDisabledStateHandler = ({ isWFDisabled, isSysMetadataDisabled, isBoar
|
|
|
1875
1898
|
}, [isPreviewDisabled]);
|
|
1876
1899
|
return null;
|
|
1877
1900
|
};
|
|
1878
|
-
const TMDcmtPreviewWrapper = ({ refreshPreviewTrigger, fromDTD, currentDcmt, layoutMode, dcmtFile, deviceType, isVisible, onFileUpload, openFileUploaderPdfEditor, enableDragDropOverlay = false, onScanRequest, onBack }) => {
|
|
1901
|
+
const TMDcmtPreviewWrapper = ({ refreshPreviewTrigger, fromDTD, currentDcmt, layoutMode, dcmtFile, deviceType, isVisible, onFileUpload, openFileUploaderPdfEditor, enableDragDropOverlay = false, onScanRequest, onBack, onFileRetrieved }) => {
|
|
1879
1902
|
const { setPanelVisibilityById, toggleMaximize, isResizingActive, countVisibleLeafPanels, panelVisibility } = useTMPanelManagerContext();
|
|
1880
1903
|
const isMobile = deviceType === DeviceType.MOBILE;
|
|
1881
1904
|
return (layoutMode === LayoutModes.Update ?
|
|
1882
|
-
_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 }, refreshPreviewTrigger) :
|
|
1905
|
+
_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) :
|
|
1883
1906
|
_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 }));
|
|
1884
1907
|
};
|
|
1885
1908
|
const Ribbon = styled.div `
|
|
@@ -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) =>
|
|
44
|
+
declare const TMDcmtFormActionButtons: (props: TMDcmtFormActionButtonsProps) => React.JSX.Element;
|
|
45
45
|
export default TMDcmtFormActionButtons;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { DcmtInfo, DownloadModes, DownloadTypes } from '../../../ts';
|
|
2
3
|
import { FileDescriptor } from '@topconsultnpm/sdk-ts';
|
|
3
4
|
interface ITMDcmtIconProps {
|
|
@@ -14,5 +15,5 @@ interface ITMDcmtIconProps {
|
|
|
14
15
|
openInOffice?: (selectedDcmtsOrFocused: Array<DcmtInfo>) => Promise<void>;
|
|
15
16
|
onDownloadDcmtsAsync?: (inputDcmts: DcmtInfo[] | undefined, downloadType: DownloadTypes, downloadMode: DownloadModes, onFileDownloaded?: (dcmtFile: File | undefined) => void, confirmAttachments?: (list: FileDescriptor[]) => Promise<string[] | undefined>) => Promise<void>;
|
|
16
17
|
}
|
|
17
|
-
declare const TMDcmtIcon: ({ fileExtension, fileCount, isLexProt, isSigned, isMail, isShared, tid, did, downloadMode, tooltipContent, openInOffice, onDownloadDcmtsAsync }: ITMDcmtIconProps) =>
|
|
18
|
+
declare const TMDcmtIcon: ({ fileExtension, fileCount, isLexProt, isSigned, isMail, isShared, tid, did, downloadMode, tooltipContent, openInOffice, onDownloadDcmtsAsync }: ITMDcmtIconProps) => React.JSX.Element;
|
|
18
19
|
export default TMDcmtIcon;
|
|
@@ -12,6 +12,8 @@ interface ITMDcmtPreviewProps {
|
|
|
12
12
|
onBack?: () => void;
|
|
13
13
|
allowMaximize?: boolean;
|
|
14
14
|
onMaximizePanel?: () => void;
|
|
15
|
+
/** File scaricato dal server con tracciatura "Mostra file": i metadati trace sono stati aggiornati */
|
|
16
|
+
onFileRetrieved?: (tid: number | undefined, did: number | undefined) => void;
|
|
15
17
|
}
|
|
16
18
|
declare const TMDcmtPreview: React.FC<ITMDcmtPreviewProps>;
|
|
17
19
|
export default TMDcmtPreview;
|
|
@@ -25,10 +27,12 @@ export declare const TMNothingToShow: ({ text, secondText, fileExt, icon }: {
|
|
|
25
27
|
secondText?: any;
|
|
26
28
|
fileExt?: string;
|
|
27
29
|
icon?: any;
|
|
28
|
-
}) =>
|
|
29
|
-
export declare const StyledHeaderIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").
|
|
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
34
|
$color: string;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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;
|
|
@@ -22,7 +22,7 @@ const ErrorContent = ({ error, isAbortError, onRetry }) => {
|
|
|
22
22
|
}
|
|
23
23
|
return _jsx(TMNothingToShow, { icon: _jsx(IconCloseOutline, { fontSize: 92, color: TMColors.error }), text: error });
|
|
24
24
|
};
|
|
25
|
-
const TMDcmtPreview = ({ dcmtData, isResizingActive, isVisible, canNext, canPrev, onClosePanel, onBack, onNext, onPrev, allowMaximize = true, onMaximizePanel }) => {
|
|
25
|
+
const TMDcmtPreview = ({ dcmtData, isResizingActive, isVisible, canNext, canPrev, onClosePanel, onBack, onNext, onPrev, allowMaximize = true, onMaximizePanel, onFileRetrieved }) => {
|
|
26
26
|
const [dcmtBlob, setDcmtBlob] = useState(undefined);
|
|
27
27
|
const [showPreview, setShowPreview] = useState(false);
|
|
28
28
|
const [isFromCache, setIsFromCache] = useState(false);
|
|
@@ -122,20 +122,25 @@ const TMDcmtPreview = ({ dcmtData, isResizingActive, isVisible, canNext, canPrev
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
|
-
|
|
125
|
+
/** @param isShown false se a video resta la richiesta di conferma: il file non è visualizzato */
|
|
126
|
+
const loadDocumentWithCache = async (isShown = true) => {
|
|
126
127
|
const rfo = new RetrieveFileOptions();
|
|
127
|
-
|
|
128
|
+
// Senza impostazione salvata l'anteprima non aggiorna la tracciatura "Mostra file"
|
|
129
|
+
rfo.retrieveReason = isShown && SDKUI_Globals.userSettings?.searchSettings?.previewTracksShowFile === true ? DcmtOpers.ShowFile : DcmtOpers.None;
|
|
128
130
|
rfo.generalRetrieveFormat = GeneralRetrieveFormats.OriginalUnsigned;
|
|
129
131
|
rfo.cvtFormat = extensionHandler(dcmtData?.fileExt) === FileExtensionHandler.CONVERTIBLE ? FileFormats.PDF : FileFormats.None;
|
|
130
132
|
rfo.invoiceRetrieveFormat = SDKUI_Globals.userSettings?.searchSettings.invoiceRetrieveFormat;
|
|
131
133
|
rfo.orderRetrieveFormat = SDKUI_Globals.userSettings?.searchSettings.orderRetrieveFormat;
|
|
132
134
|
try {
|
|
133
135
|
await sleep(300); //wait for DX-DataGrid selectionChanged
|
|
134
|
-
let dcmtFile = await getDcmtFileAsync({ TID: dcmtData?.tid, DID: dcmtData?.did, FILEEXT: dcmtData?.fileExt }, rfo, 'Anteprima', false);
|
|
136
|
+
let dcmtFile = await getDcmtFileAsync({ TID: dcmtData?.tid, DID: dcmtData?.did, FILEEXT: dcmtData?.fileExt }, rfo, 'Anteprima', false, !isShown);
|
|
135
137
|
setDcmtBlob(dcmtFile?.file);
|
|
136
138
|
setIsFromCache(!!dcmtFile?.isFromCache);
|
|
137
139
|
setError('');
|
|
138
140
|
setIsAbortError(false);
|
|
141
|
+
// Dalla cache l'API non è stata chiamata: la tracciatura non è cambiata
|
|
142
|
+
if (dcmtFile?.file && !dcmtFile.isFromCache && rfo.retrieveReason === DcmtOpers.ShowFile)
|
|
143
|
+
onFileRetrieved?.(dcmtData?.tid, dcmtData?.did);
|
|
139
144
|
}
|
|
140
145
|
catch (ex) {
|
|
141
146
|
const err = ex;
|
|
@@ -179,7 +184,7 @@ const TMDcmtPreview = ({ dcmtData, isResizingActive, isVisible, canNext, canPrev
|
|
|
179
184
|
setIsAbortError(false);
|
|
180
185
|
setDcmtBlob(undefined);
|
|
181
186
|
try {
|
|
182
|
-
isBasketMode ? await loadBasketFile() : await loadDocumentWithCache();
|
|
187
|
+
isBasketMode ? await loadBasketFile() : await loadDocumentWithCache(showPreview);
|
|
183
188
|
}
|
|
184
189
|
catch (error) {
|
|
185
190
|
console.error('Error reopening document:', error);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import { FormModes, TaskContext } from "../../../ts";
|
|
2
3
|
import { HomeBlogPost, TaskDescriptor } from "@topconsultnpm/sdk-ts";
|
|
3
4
|
interface TMDcmtTasksProps {
|
|
@@ -12,5 +13,5 @@ interface TMDcmtTasksProps {
|
|
|
12
13
|
handleNavigateToDossiers?: (value: HomeBlogPost | number) => Promise<void>;
|
|
13
14
|
onBack?: () => void;
|
|
14
15
|
}
|
|
15
|
-
declare const TMDcmtTasks: (props: TMDcmtTasksProps) =>
|
|
16
|
+
declare const TMDcmtTasks: (props: TMDcmtTasksProps) => React.JSX.Element;
|
|
16
17
|
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
|
|
5
|
+
declare const TMDragDropOverlay: (props: TMDragDropOverlayProps) => import("react").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;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { DcmtTypeDescriptor } from '@topconsultnpm/sdk-ts';
|
|
2
3
|
import { DcmtInfo } from '../../../ts';
|
|
3
4
|
interface TMMasterInfoFieldsProps {
|
|
@@ -15,5 +16,5 @@ interface TMMasterInfoFieldsProps {
|
|
|
15
16
|
*/
|
|
16
17
|
isExpandedView?: boolean;
|
|
17
18
|
}
|
|
18
|
-
declare const TMMasterInfoFields: ({ dtd, dcmt, getValuesByMidAsync, reloadToken, isExpandedView }: TMMasterInfoFieldsProps) =>
|
|
19
|
+
declare const TMMasterInfoFields: ({ dtd, dcmt, getValuesByMidAsync, reloadToken, isExpandedView }: TMMasterInfoFieldsProps) => React.JSX.Element;
|
|
19
20
|
export default TMMasterInfoFields;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { DcmtInfo } from '../../../ts';
|
|
2
3
|
import { HomeBlogPost, TaskDescriptor } from '@topconsultnpm/sdk-ts';
|
|
3
4
|
import { TMCopyToFolderMode } from '../../../hooks/useDocumentOperations';
|
|
@@ -19,5 +20,5 @@ interface ITMMergeToPdfFormProps {
|
|
|
19
20
|
* Form per l'unione di più documenti PDF in un singolo file.
|
|
20
21
|
* Condivide TMDownloadRelationViewerSection e gli helper in copyAndMergeDcmtsShared con TMCopyToFolderForm.
|
|
21
22
|
*/
|
|
22
|
-
declare const TMMergeToPdfForm: (props: ITMMergeToPdfFormProps) =>
|
|
23
|
+
declare const TMMergeToPdfForm: (props: ITMMergeToPdfFormProps) => React.JSX.Element;
|
|
23
24
|
export default TMMergeToPdfForm;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import { DcmtTypeDescriptor, HomeBlogPost, ObjectRef, TaskDescriptor } from "@topconsultnpm/sdk-ts";
|
|
2
3
|
import { DcmtInfo, IGraphometricManagerProp, TaskContext } from "../../../ts";
|
|
3
4
|
import { IntesiCertificateData } from "../../../helper";
|
|
@@ -41,5 +42,5 @@ interface TMMultiMasterDetailDcmtsFormProps {
|
|
|
41
42
|
}>, tid?: number) => void;
|
|
42
43
|
openWGsCopyMoveForm?: (mode: "copyToWgDraft" | "copyToWgArchivedDoc", dcmtTypeDescriptor: DcmtTypeDescriptor, documents: Array<DcmtInfo>) => void;
|
|
43
44
|
}
|
|
44
|
-
declare const TMMultiMasterDetailDcmtsForm: (props: TMMultiMasterDetailDcmtsFormProps) =>
|
|
45
|
+
declare const TMMultiMasterDetailDcmtsForm: (props: TMMultiMasterDetailDcmtsFormProps) => React.JSX.Element | null;
|
|
45
46
|
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) =>
|
|
315
|
+
export declare const renderStepper: ({ steps, phase, hasMultipleTypes, isBackLocked, showBackArrow, onBack, onStepClick }: RenderStepperParams) => React.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) =>
|
|
324
|
+
export declare const renderSelectDcmtType: ({ detailRelationItems, selectedRelation, onSelectRelation }: RenderSelectDcmtTypeParams) => React.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) =>
|
|
343
|
+
export declare const renderAccordionHeader: ({ section, isOpen, tooltip, count, title, actions, panel, onToggleOpen }: RenderAccordionHeaderParams) => React.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
|
-
}) =>
|
|
352
|
+
}) => React.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,8 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import { DcmtInfo } from "../../../ts";
|
|
2
3
|
interface TMDcmtCheckoutInfoFormProps {
|
|
3
4
|
dtdName: string;
|
|
4
5
|
selectedDcmtOrFocused: DcmtInfo;
|
|
5
6
|
onClose: () => void;
|
|
6
7
|
}
|
|
7
|
-
declare const TMDcmtCheckoutInfoForm: (props: TMDcmtCheckoutInfoFormProps) =>
|
|
8
|
+
declare const TMDcmtCheckoutInfoForm: (props: TMDcmtCheckoutInfoFormProps) => React.JSX.Element;
|
|
8
9
|
export default TMDcmtCheckoutInfoForm;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import { MetadataDescriptor, QueryDescriptor, SelectItem } from "@topconsultnpm/sdk-ts";
|
|
2
3
|
interface TMMetadataOutputFormProps {
|
|
3
4
|
/** QueryDescriptor da cui estrarre i metadati disponibili */
|
|
@@ -13,5 +14,5 @@ interface TMMetadataOutputFormProps {
|
|
|
13
14
|
/** Callback chiamata quando l'utente conferma la selezione dei SelectItem */
|
|
14
15
|
onChoose?: (selectItems: SelectItem[] | undefined) => void;
|
|
15
16
|
}
|
|
16
|
-
declare const TMMetadataOutputForm: (props: TMMetadataOutputFormProps) =>
|
|
17
|
+
declare const TMMetadataOutputForm: (props: TMMetadataOutputFormProps) => React.JSX.Element;
|
|
17
18
|
export default TMMetadataOutputForm;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import { MetadataDescriptor, OrderByItem, QueryDescriptor } from "@topconsultnpm/sdk-ts";
|
|
2
3
|
interface TMMetadataSorterFormProps {
|
|
3
4
|
/** QueryDescriptor da cui estrarre i metadati disponibili */
|
|
@@ -13,5 +14,5 @@ interface TMMetadataSorterFormProps {
|
|
|
13
14
|
/** Callback chiamata quando l'utente conferma la selezione degli OrderByItem */
|
|
14
15
|
onChoose?: (orderByItems: OrderByItem[] | undefined) => void;
|
|
15
16
|
}
|
|
16
|
-
declare const TMMetadataSorterForm: (props: TMMetadataSorterFormProps) =>
|
|
17
|
+
declare const TMMetadataSorterForm: (props: TMMetadataSorterFormProps) => React.JSX.Element;
|
|
17
18
|
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) =>
|
|
3
|
+
export declare const getTooltipBySqd: (sqd: SavedQueryDescriptor | undefined) => React.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) =>
|
|
15
|
+
declare const TMSavedQuerySelector: React.MemoExoticComponent<({ items, selectedId, allowShowSearch, height, manageDefault, onItemClick, onDeleted, refreshFavoriteSavedQueries, onRefreshData }: ITMSavedQuerySelectorProps) => React.JSX.Element>;
|
|
16
16
|
export default TMSavedQuerySelector;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { SavedQueryDescriptor, DcmtTypeDescriptor, TaskDescriptor, ObjectRef, HomeBlogPost } from '@topconsultnpm/sdk-ts';
|
|
2
3
|
import { IntesiCertificateData } from '../../../helper';
|
|
3
4
|
import { DcmtInfo, IGraphometricManagerProp, TaskContext } from '../../../ts';
|
|
@@ -45,5 +46,5 @@ interface ITMSearchProps {
|
|
|
45
46
|
fetchRemoteCertificates?: (email: string) => Promise<IntesiCertificateData[]>;
|
|
46
47
|
graphometricManager?: IGraphometricManagerProp;
|
|
47
48
|
}
|
|
48
|
-
declare const TMSearch: (props: ITMSearchProps) =>
|
|
49
|
+
declare const TMSearch: (props: ITMSearchProps) => React.JSX.Element;
|
|
49
50
|
export default TMSearch;
|
|
@@ -29,6 +29,12 @@ 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",
|
|
33
|
-
|
|
34
|
-
|
|
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;
|