@topconsultnpm/sdkui-react 6.22.0-dev1.3 → 6.22.0-dev1.30
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/FloatingMenuBar/styles.d.ts +4 -4
- package/lib/components/base/Styled.d.ts +1 -1
- 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/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/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/TMModal.js +1 -1
- package/lib/components/base/TMSpinner.d.ts +2 -1
- package/lib/components/base/TMTab.d.ts +4 -3
- package/lib/components/base/TMTooltip.d.ts +1 -1
- package/lib/components/base/TMTreeView.d.ts +1 -1
- 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/choosers/TMDynDataListItemChooser.d.ts +3 -1
- package/lib/components/choosers/TMDynDataListItemChooser.js +4 -6
- package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +2 -1
- package/lib/components/choosers/TMOrderRetrieveFormats.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/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/TMTextBox.js +10 -5
- 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.d.ts +2 -1
- package/lib/components/features/documents/TMDcmtForm.js +52 -5
- 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 +1 -1
- 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/TMMergeToPdfForm.d.ts +2 -1
- package/lib/components/features/documents/TMMergeToPdfForm.js +1 -1
- 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/TMSearch.js +2 -2
- package/lib/components/features/search/TMSearchResult.d.ts +2 -1
- package/lib/components/features/search/TMSearchResult.js +3 -2
- package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
- package/lib/components/features/search/TMSignatureInfoContent.d.ts +5 -2
- package/lib/components/features/search/TMSignatureInfoContent.js +373 -79
- 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/workflow/TMWorkflowPopup.d.ts +8 -7
- package/lib/components/forms/Login/Chooser.d.ts +2 -2
- package/lib/components/forms/Login/TMLoginForm.d.ts +2 -0
- package/lib/components/forms/Login/TMLoginForm.js +17 -3
- package/lib/components/forms/Login/TextBox.d.ts +3 -0
- package/lib/components/forms/Login/TextBox.js +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/TMPanelManagerContext.d.ts +2 -2
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +1 -1
- 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/pages/TMPage.js +3 -1
- package/lib/components/query/TMQueryEditor.js +1 -1
- package/lib/components/settings/SettingsAppearance.d.ts +2 -1
- package/lib/components/sidebar/TMAboutApp.d.ts +2 -1
- 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.js +22 -2
- package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
- package/lib/helper/TMIcons.d.ts +279 -279
- package/lib/helper/TMPdfViewer.d.ts +2 -1
- package/lib/helper/TMToppyMessage.d.ts +2 -2
- package/lib/helper/TMUtils.d.ts +1 -1
- package/lib/helper/grafometricSignaturesCache.d.ts +45 -0
- package/lib/helper/grafometricSignaturesCache.js +56 -0
- package/lib/helper/helpers.d.ts +1 -1
- package/lib/helper/index.d.ts +1 -0
- package/lib/helper/index.js +1 -0
- package/lib/hooks/useDocumentOperations.d.ts +2 -1
- package/lib/hooks/useDocumentOperations.js +15 -15
- package/lib/hooks/useInputDialog.d.ts +2 -1
- package/lib/hooks/usePreventFileDrop.js +14 -3
- package/lib/services/platform_services.d.ts +3 -2
- package/lib/ts/graphometricTypes.d.ts +62 -0
- package/lib/ts/graphometricTypes.js +1 -0
- package/lib/ts/index.d.ts +1 -0
- package/lib/ts/index.js +1 -0
- package/package.json +66 -61
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
interface TMPdfViewerProps {
|
|
2
3
|
pdfBlob: Blob;
|
|
3
4
|
title?: string;
|
|
4
5
|
isResizingActive?: boolean;
|
|
5
6
|
enableFitToWidth?: boolean;
|
|
6
7
|
}
|
|
7
|
-
declare const TMPdfViewer: (props: TMPdfViewerProps) =>
|
|
8
|
+
declare const TMPdfViewer: (props: TMPdfViewerProps) => React.JSX.Element;
|
|
8
9
|
export default TMPdfViewer;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
interface TMToppyMessageProps {
|
|
3
3
|
message: ReactNode;
|
|
4
4
|
titleTooltip?: string;
|
|
5
5
|
maxWidth?: string;
|
|
6
6
|
}
|
|
7
|
-
declare const TMToppyMessage: (props: TMToppyMessageProps) =>
|
|
7
|
+
declare const TMToppyMessage: (props: TMToppyMessageProps) => React.JSX.Element;
|
|
8
8
|
export default TMToppyMessage;
|
package/lib/helper/TMUtils.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export declare const getFullFileExtension: (fileName: string, depth?: number) =>
|
|
|
24
24
|
* Es: pdf.p7m.tsd → pdf, pdf.p7m → pdf, pdf → pdf
|
|
25
25
|
*/
|
|
26
26
|
export declare const getBaseExtension: (ext: string) => string;
|
|
27
|
-
export declare const getFileIcon: (fileExtension: string | undefined, fileCount: number | undefined, tooltipContent?: JSX.Element | string) =>
|
|
27
|
+
export declare const getFileIcon: (fileExtension: string | undefined, fileCount: number | undefined, tooltipContent?: JSX.Element | string) => React.JSX.Element;
|
|
28
28
|
export declare function formatBytes(bytes: number | undefined, decimalPlaces?: number): string;
|
|
29
29
|
export interface RowData {
|
|
30
30
|
[key: string]: string | number | null;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { IWacomBiometricData } from "../ts";
|
|
2
|
+
/** Informazioni su una firma grafometrica estratta dal PDF con dati biometrici */
|
|
3
|
+
export interface ExtractedGrafometricSignature {
|
|
4
|
+
biometricData: IWacomBiometricData;
|
|
5
|
+
/** Dati biometrici originali in Base64 (file FSS) */
|
|
6
|
+
originalDataBase64?: string;
|
|
7
|
+
/** Nome file originale dell'attachment */
|
|
8
|
+
originalFileName?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Recupera le firme grafometriche dalla cache
|
|
12
|
+
* @param tid - TID del documento
|
|
13
|
+
* @param did - DID del documento
|
|
14
|
+
* @returns Le firme grafometriche se presenti in cache, undefined altrimenti
|
|
15
|
+
*/
|
|
16
|
+
export declare const getGrafometricSignatures: (tid: number, did: number) => ExtractedGrafometricSignature[] | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Salva le firme grafometriche nella cache
|
|
19
|
+
* @param tid - TID del documento
|
|
20
|
+
* @param did - DID del documento
|
|
21
|
+
* @param signatures - Array delle firme grafometriche da salvare
|
|
22
|
+
*/
|
|
23
|
+
export declare const putGrafometricSignatures: (tid: number, did: number, signatures: ExtractedGrafometricSignature[]) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Rimuove le firme grafometriche di un documento specifico dalla cache
|
|
26
|
+
* @param tid - TID del documento
|
|
27
|
+
* @param did - DID del documento
|
|
28
|
+
* @returns true se l'elemento è stato rimosso, false se non esisteva
|
|
29
|
+
*/
|
|
30
|
+
export declare const removeGrafometricSignatures: (tid: number, did: number) => boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Verifica se le firme grafometriche di un documento sono in cache
|
|
33
|
+
* @param tid - TID del documento
|
|
34
|
+
* @param did - DID del documento
|
|
35
|
+
* @returns true se presenti in cache, false altrimenti
|
|
36
|
+
*/
|
|
37
|
+
export declare const hasGrafometricSignatures: (tid: number, did: number) => boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Svuota completamente la cache delle firme grafometriche
|
|
40
|
+
*/
|
|
41
|
+
export declare const clearGrafometricSignaturesCache: () => void;
|
|
42
|
+
/**
|
|
43
|
+
* Restituisce il numero di documenti in cache
|
|
44
|
+
*/
|
|
45
|
+
export declare const getGrafometricSignaturesCacheSize: () => number;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** Genera una chiave stringa dalla coppia TID/DID */
|
|
2
|
+
const generateKey = (tid, did) => `${tid}_${did}`;
|
|
3
|
+
/** Cache locale per le firme grafometriche */
|
|
4
|
+
const grafometricSignaturesCache = new Map();
|
|
5
|
+
/**
|
|
6
|
+
* Recupera le firme grafometriche dalla cache
|
|
7
|
+
* @param tid - TID del documento
|
|
8
|
+
* @param did - DID del documento
|
|
9
|
+
* @returns Le firme grafometriche se presenti in cache, undefined altrimenti
|
|
10
|
+
*/
|
|
11
|
+
export const getGrafometricSignatures = (tid, did) => {
|
|
12
|
+
const key = generateKey(tid, did);
|
|
13
|
+
return grafometricSignaturesCache.get(key);
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Salva le firme grafometriche nella cache
|
|
17
|
+
* @param tid - TID del documento
|
|
18
|
+
* @param did - DID del documento
|
|
19
|
+
* @param signatures - Array delle firme grafometriche da salvare
|
|
20
|
+
*/
|
|
21
|
+
export const putGrafometricSignatures = (tid, did, signatures) => {
|
|
22
|
+
const key = generateKey(tid, did);
|
|
23
|
+
grafometricSignaturesCache.set(key, signatures);
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Rimuove le firme grafometriche di un documento specifico dalla cache
|
|
27
|
+
* @param tid - TID del documento
|
|
28
|
+
* @param did - DID del documento
|
|
29
|
+
* @returns true se l'elemento è stato rimosso, false se non esisteva
|
|
30
|
+
*/
|
|
31
|
+
export const removeGrafometricSignatures = (tid, did) => {
|
|
32
|
+
const key = generateKey(tid, did);
|
|
33
|
+
return grafometricSignaturesCache.delete(key);
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Verifica se le firme grafometriche di un documento sono in cache
|
|
37
|
+
* @param tid - TID del documento
|
|
38
|
+
* @param did - DID del documento
|
|
39
|
+
* @returns true se presenti in cache, false altrimenti
|
|
40
|
+
*/
|
|
41
|
+
export const hasGrafometricSignatures = (tid, did) => {
|
|
42
|
+
const key = generateKey(tid, did);
|
|
43
|
+
return grafometricSignaturesCache.has(key);
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Svuota completamente la cache delle firme grafometriche
|
|
47
|
+
*/
|
|
48
|
+
export const clearGrafometricSignaturesCache = () => {
|
|
49
|
+
grafometricSignaturesCache.clear();
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Restituisce il numero di documenti in cache
|
|
53
|
+
*/
|
|
54
|
+
export const getGrafometricSignaturesCacheSize = () => {
|
|
55
|
+
return grafometricSignaturesCache.size;
|
|
56
|
+
};
|
package/lib/helper/helpers.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ export { openApps, calcResponsiveDirection, calcResponsiveSizes, taskModalSizes,
|
|
|
55
55
|
export declare function moduleVersion(module: moduleTypes): string;
|
|
56
56
|
export declare function buildtype(module: moduleTypes): string;
|
|
57
57
|
export declare const highlightText: (text: string, searchValue: string) => JSX.Element;
|
|
58
|
-
export declare const renderHighlightedText: (text: string, searchText: string, isSelected: boolean) => string | (string | import("react
|
|
58
|
+
export declare const renderHighlightedText: (text: string, searchText: string, isSelected: boolean) => string | (string | import("react").JSX.Element)[];
|
|
59
59
|
export declare function versionAndBuildtypeInfo(module: moduleTypes): string;
|
|
60
60
|
export declare const getListMaxItems: (deviceType: DeviceType | undefined) => number;
|
|
61
61
|
export declare const svgToString: (icon: React.ReactElement) => string;
|
package/lib/helper/index.d.ts
CHANGED
package/lib/helper/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import React, { RefObject } from "react";
|
|
|
2
2
|
import { DcmtTypeDescriptor, FileFormats, HomeBlogPost, LayoutDescriptor, LayoutModes, ObjectRef, SearchResultDescriptor, TaskDescriptor, UserDescriptor, WorkingGroupDescriptor } from "@topconsultnpm/sdk-ts";
|
|
3
3
|
import { IColumnProps } from "devextreme-react/cjs/data-grid";
|
|
4
4
|
import { TMContextMenuItemProps } from '../components/NewComponents/ContextMenu/types';
|
|
5
|
-
import { DcmtInfo, MetadataValueDescriptorEx, SearchResultContext, TaskContext } from "../ts";
|
|
5
|
+
import { DcmtInfo, MetadataValueDescriptorEx, SearchResultContext, TaskContext, IGraphometricManagerProp } from "../ts";
|
|
6
6
|
import { UseCheckInOutOperationsReturn } from "./useCheckInOutOperations";
|
|
7
7
|
import { UseDcmtOperationsReturn } from "./useDcmtOperations";
|
|
8
8
|
import { UseRelatedDocumentsReturn } from "./useRelatedDocuments";
|
|
@@ -62,6 +62,7 @@ export interface UIConfigProps {
|
|
|
62
62
|
showToppyDraggableHelpCenter?: boolean;
|
|
63
63
|
toppyHelpCenterUsePortal?: boolean;
|
|
64
64
|
inputDcmtFormLayoutMode?: LayoutModes;
|
|
65
|
+
graphometricManager?: IGraphometricManagerProp;
|
|
65
66
|
}
|
|
66
67
|
export interface TasksProps {
|
|
67
68
|
allTasks?: Array<TaskDescriptor>;
|
|
@@ -85,7 +85,7 @@ export const useDocumentOperations = (props) => {
|
|
|
85
85
|
const { dataColumns, dataSource, selectedRowKeys, } = exportData ?? {};
|
|
86
86
|
const { visibleItems = [], onRefreshSearchAsyncDatagrid, onRefreshDataRowsAsync, refreshFocusedDataRowAsync, onRefreshBlogDatagrid, onRefreshPreviewDatagrid, refreshOperationsTrigger = 0, onRefreshOperationsDatagrid, } = datagridUtility ?? {};
|
|
87
87
|
const { approvalVID, dcmtDataRowForCicoStatus, selectedDcmtSearchResultRelations, dcmtTIDHasDetailRelations = false, dcmtTIDHasMasterRelations = false, updateCurrentDcmt, onCloseDcmtForm, onRefreshBlogForm, onRefreshPreviewForm, taskFormDialogComponent, s4TViewerDialogComponent } = dcmtUtility ?? {};
|
|
88
|
-
const { floatingBarContainerRef, customButtonsLayout, workingGroupContext, openS4TViewer = false, openDcmtFormAsModal = false, showDcmtFormSidebar = true, allowFloatingBar = true, enablePinIcons = true, allowRelations = true, showTodoDcmtForm = false, showToppyDraggableHelpCenter = true, toppyHelpCenterUsePortal = false, editPdfForm = false, inputDcmtFormLayoutMode = LayoutModes.Update, } = uiConfig;
|
|
88
|
+
const { floatingBarContainerRef, customButtonsLayout, workingGroupContext, openS4TViewer = false, openDcmtFormAsModal = false, showDcmtFormSidebar = true, allowFloatingBar = true, enablePinIcons = true, allowRelations = true, showTodoDcmtForm = false, showToppyDraggableHelpCenter = true, toppyHelpCenterUsePortal = false, editPdfForm = false, inputDcmtFormLayoutMode = LayoutModes.Update, graphometricManager, } = uiConfig;
|
|
89
89
|
const { allTasks = [], getAllTasks, deleteTaskByIdsCallback, addTaskCallback, editTaskCallback } = tasks;
|
|
90
90
|
const {
|
|
91
91
|
// Refresh operations (data consistency)
|
|
@@ -175,6 +175,9 @@ export const useDocumentOperations = (props) => {
|
|
|
175
175
|
const openMasterDcmtsModalHandler = (value) => { setIsOpenMasterModal(value); };
|
|
176
176
|
// State to control whether the export form (for exporting to Excel/CSV/txt and others) should be shown
|
|
177
177
|
const [showExportForm, setShowExportForm] = useState(false);
|
|
178
|
+
// State to control signature info modal
|
|
179
|
+
const [showSignatureInfoModal, setShowSignatureInfoModal] = useState(false);
|
|
180
|
+
const [signatureInfoDcmt, setSignatureInfoDcmt] = useState(undefined);
|
|
178
181
|
const updateShowApprovePopup = (value) => {
|
|
179
182
|
setShowApprovePopup(value);
|
|
180
183
|
};
|
|
@@ -243,14 +246,8 @@ export const useDocumentOperations = (props) => {
|
|
|
243
246
|
});
|
|
244
247
|
return;
|
|
245
248
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
buttons: [ButtonNames.OK],
|
|
249
|
-
showToppy: false,
|
|
250
|
-
resizable: true,
|
|
251
|
-
initialWidth: !isMobile ? '700px' : undefined,
|
|
252
|
-
message: _jsx(TMSignatureInfoContent, { inputDcmt: inputDcmts[0] })
|
|
253
|
-
});
|
|
249
|
+
setSignatureInfoDcmt(inputDcmts[0]);
|
|
250
|
+
setShowSignatureInfoModal(true);
|
|
254
251
|
}
|
|
255
252
|
catch (error) {
|
|
256
253
|
console.error(error);
|
|
@@ -552,8 +549,8 @@ export const useDocumentOperations = (props) => {
|
|
|
552
549
|
if (!currentDcmt)
|
|
553
550
|
return;
|
|
554
551
|
const cacheKey = `${currentDcmt.TID}-${currentDcmt.DID}`;
|
|
555
|
-
|
|
556
|
-
|
|
552
|
+
// Invalida sempre la cache (file preview/download e firme grafometriche)
|
|
553
|
+
removeDcmtsFileCache(cacheKey);
|
|
557
554
|
await onRefreshPreviewCallback();
|
|
558
555
|
await onRefreshDataRowsAsync?.();
|
|
559
556
|
};
|
|
@@ -912,7 +909,7 @@ export const useDocumentOperations = (props) => {
|
|
|
912
909
|
name: SDKUI_Localizator.ArchiveDetailDocument,
|
|
913
910
|
operationType: 'multiRow',
|
|
914
911
|
disabled: canArchiveDetailRelation !== true,
|
|
915
|
-
onClick: async () => await archiveDetailDocuments
|
|
912
|
+
onClick: async () => await archiveDetailDocuments(selectedDcmtInfos?.[0]?.TID)
|
|
916
913
|
},
|
|
917
914
|
{
|
|
918
915
|
id: 'rel-mst',
|
|
@@ -1383,7 +1380,7 @@ export const useDocumentOperations = (props) => {
|
|
|
1383
1380
|
refreshFocusedDataRowAsync,
|
|
1384
1381
|
onRefreshBlogDatagrid,
|
|
1385
1382
|
onRefreshPreviewDatagrid
|
|
1386
|
-
}, fetchRemoteCertificates: fetchRemoteCertificates })) }), (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) &&
|
|
1383
|
+
}, fetchRemoteCertificates: fetchRemoteCertificates, graphometricManager: graphometricManager })) }), (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) &&
|
|
1387
1384
|
_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) => {
|
|
1388
1385
|
return (_jsx(StyledModalContainer, { style: { backgroundColor: 'white' }, children: _jsx(TMMasterDetailDcmts, { ...masterDetailMasterCommonProps, inputDcmts: [dcmt], allowNavigation: false, onBack: () => handleRemoveItem(dcmt.TID, dcmt.DID) }) }, `${index}-${dcmt.DID}`));
|
|
1389
1386
|
})] }), 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: () => {
|
|
@@ -1397,7 +1394,7 @@ export const useDocumentOperations = (props) => {
|
|
|
1397
1394
|
setArchiveRelatedDcmtFormTID(undefined);
|
|
1398
1395
|
setArchiveRelatedDcmtFormMids([]);
|
|
1399
1396
|
await onRefreshSearchAsyncDatagrid?.();
|
|
1400
|
-
}, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, showDcmtFormSidebar: showDcmtFormSidebar, openFileUploaderPdfEditor: openFileUploaderPdfEditor, showTodoDcmtForm: showTodoDcmtForm }), showRelatedDcmtsChooser &&
|
|
1397
|
+
}, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, showDcmtFormSidebar: showDcmtFormSidebar, openFileUploaderPdfEditor: openFileUploaderPdfEditor, showTodoDcmtForm: showTodoDcmtForm, graphometricManager: graphometricManager }), showRelatedDcmtsChooser &&
|
|
1401
1398
|
_jsx(TMChooserForm, { dataSource: relatedDcmtsChooserDataSource, onChoose: async (selectedRelation) => {
|
|
1402
1399
|
try {
|
|
1403
1400
|
setShowRelatedDcmtsChooser(false);
|
|
@@ -1443,7 +1440,10 @@ export const useDocumentOperations = (props) => {
|
|
|
1443
1440
|
updateBatchUpdateForm(false);
|
|
1444
1441
|
setIsModifiedBatchUpdate(false);
|
|
1445
1442
|
await onRefreshDataRowsAsync?.();
|
|
1446
|
-
}, 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, selectedItemsFull: selectedItemsFull, onClose: () => setOpenCopyToFolderForm({ open: false, operationType: 'copyToFolder', mode: 'onlySelected' }), showTMRelationViewer: showTMRelationViewerInCopyToFolderForm, 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) })
|
|
1443
|
+
}, 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, selectedItemsFull: selectedItemsFull, onClose: () => setOpenCopyToFolderForm({ open: false, operationType: 'copyToFolder', mode: 'onlySelected' }), showTMRelationViewer: showTMRelationViewerInCopyToFolderForm, 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) }), showSignatureInfoModal && signatureInfoDcmt && (_jsx(TMSignatureInfoContent, { inputDcmt: signatureInfoDcmt, graphometricManager: graphometricManager, onClose: () => {
|
|
1444
|
+
setShowSignatureInfoModal(false);
|
|
1445
|
+
setSignatureInfoDcmt(undefined);
|
|
1446
|
+
} }))] }));
|
|
1447
1447
|
return {
|
|
1448
1448
|
operationItems: operationItems(),
|
|
1449
1449
|
renderFloatingBar,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import { FileDescriptor, FileFormats } from '@topconsultnpm/sdk-ts';
|
|
2
3
|
export declare const useInputCvtFormatDialog: () => [() => Promise<FileFormats>, () => JSX.Element];
|
|
3
4
|
export declare const useFileDialog: () => {
|
|
@@ -5,7 +6,7 @@ export declare const useFileDialog: () => {
|
|
|
5
6
|
};
|
|
6
7
|
export declare const useInputAttachmentsDialog: () => {
|
|
7
8
|
openConfirmAttachmentsDialog: (list: FileDescriptor[]) => Promise<string[] | undefined>;
|
|
8
|
-
ConfirmAttachmentsDialog: () =>
|
|
9
|
+
ConfirmAttachmentsDialog: () => React.JSX.Element | null;
|
|
9
10
|
};
|
|
10
11
|
export type FileSourceType = 'filesystem' | 'scanner-new' | 'scanner-edit' | undefined;
|
|
11
12
|
export declare const useFileSourceDialog: () => [(hasExistingFile?: boolean) => Promise<FileSourceType>, () => JSX.Element];
|
|
@@ -3,13 +3,24 @@ const usePreventFileDrop = (allowedDropZones) => {
|
|
|
3
3
|
useEffect(() => {
|
|
4
4
|
const isOverAllowedZone = (event) => allowedDropZones.some((ref) => ref.current?.contains(event.target));
|
|
5
5
|
const handleDragOver = (event) => {
|
|
6
|
-
if (
|
|
6
|
+
if (isOverAllowedZone(event)) {
|
|
7
|
+
// Riafferma "copy" ad ogni dragover: altrimenti un "none"
|
|
8
|
+
// impostato mentre si era fuori zona resta e mostra "not-allowed"
|
|
9
|
+
if (event.dataTransfer)
|
|
10
|
+
event.dataTransfer.dropEffect = "copy";
|
|
11
|
+
document.body.style.cursor = "default";
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
7
14
|
event.preventDefault();
|
|
8
|
-
event.dataTransfer
|
|
15
|
+
if (event.dataTransfer)
|
|
16
|
+
event.dataTransfer.dropEffect = "none";
|
|
9
17
|
}
|
|
10
18
|
};
|
|
11
19
|
const handleDragEnter = (event) => {
|
|
12
|
-
if (
|
|
20
|
+
if (isOverAllowedZone(event)) {
|
|
21
|
+
document.body.style.cursor = "default";
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
13
24
|
document.body.style.cursor = "not-allowed";
|
|
14
25
|
}
|
|
15
26
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import { JobTypes, ObjectClasses, ProcessDescriptor, DcmtTypeDescriptor } from "@topconsultnpm/sdk-ts";
|
|
2
3
|
export declare class PlatformObjectService {
|
|
3
4
|
static readonly retrieveAllAsync: (objClass: ObjectClasses, refreshCache?: boolean) => Promise<import("@topconsultnpm/sdk-ts").RelationDescriptor[] | import("@topconsultnpm/sdk-ts").AreaDescriptor[] | import("@topconsultnpm/sdk-ts").NotificationDescriptor[] | import("@topconsultnpm/sdk-ts").TaskDescriptor[] | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor[] | undefined>;
|
|
@@ -13,6 +14,6 @@ export declare class PlatformObjectService {
|
|
|
13
14
|
static readonly createAsync: (objClass: ObjectClasses, jobType: JobTypes, d: any) => Promise<number | undefined>;
|
|
14
15
|
static readonly deleteAsync: (objClass: ObjectClasses, id: number) => Promise<number | undefined>;
|
|
15
16
|
static readonly getName: (objClass: ObjectClasses, jobType?: JobTypes, isPlural?: boolean) => string;
|
|
16
|
-
static readonly getIcon: (objClass: ObjectClasses, d: any) =>
|
|
17
|
-
static readonly getTooltip: (objClass: ObjectClasses, d: any) =>
|
|
17
|
+
static readonly getIcon: (objClass: ObjectClasses, d: any) => React.JSX.Element;
|
|
18
|
+
static readonly getTooltip: (objClass: ObjectClasses, d: any) => React.JSX.Element | null;
|
|
18
19
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export interface IWacomBiometricData {
|
|
2
|
+
/** Nome del firmatario */
|
|
3
|
+
signatureName: string;
|
|
4
|
+
/** Motivo della firma */
|
|
5
|
+
reasonForSigning: string;
|
|
6
|
+
/** Data e ora della firma (timestamp) */
|
|
7
|
+
dateTime: number;
|
|
8
|
+
/** Data e ora formattata */
|
|
9
|
+
dateTimeFormatted: string;
|
|
10
|
+
/** Tipo di digitalizzatore (es. "Wacom STU-540") */
|
|
11
|
+
digitizerType: string;
|
|
12
|
+
/** Driver del digitalizzatore */
|
|
13
|
+
digitizerDriver: string;
|
|
14
|
+
/** Sistema operativo */
|
|
15
|
+
operatingSystem: string;
|
|
16
|
+
/** Scheda di rete (Network Interface Card) */
|
|
17
|
+
networkInterfaceCard: string;
|
|
18
|
+
/** Immagine della firma in formato Base64 (PNG) */
|
|
19
|
+
signatureImage: string;
|
|
20
|
+
/** Stato integrità firma (OK, FAIL, MISSING, WRONG_TYPE, INSUFFICIENT_DATA, UNCERTAIN, NOT_SUPPORTED) */
|
|
21
|
+
integrityStatus: string;
|
|
22
|
+
/** Messaggio di warning sull'integrità (se presente) */
|
|
23
|
+
integrityWarning?: string;
|
|
24
|
+
/** Stato della firma (GOOD, NO_HASH, BAD_TYPE, BAD_HASH, ERROR, UNCERTAIN, SIG_MOVED) */
|
|
25
|
+
dataStatus: string;
|
|
26
|
+
/** Messaggio di warning sui dati (se presente) */
|
|
27
|
+
dataWarning?: string;
|
|
28
|
+
/** Dati aggiuntivi specifici del contesto */
|
|
29
|
+
extraData?: Record<string, string>;
|
|
30
|
+
}
|
|
31
|
+
export type IWacomBiometricResult = {
|
|
32
|
+
success: true;
|
|
33
|
+
data: IWacomBiometricData;
|
|
34
|
+
} | {
|
|
35
|
+
success: false;
|
|
36
|
+
error: string;
|
|
37
|
+
};
|
|
38
|
+
export interface ISignatureRenderConfig {
|
|
39
|
+
width?: number;
|
|
40
|
+
height?: number;
|
|
41
|
+
format?: "image/png" | "image/jpeg";
|
|
42
|
+
inkWidth?: number;
|
|
43
|
+
inkColor?: string;
|
|
44
|
+
backgroundColor?: string;
|
|
45
|
+
}
|
|
46
|
+
export type ExtractBiometricDataFn = (signatures: string[]) => Promise<IWacomBiometricResult[]>;
|
|
47
|
+
export interface IGraphometricManagerProp {
|
|
48
|
+
extractGraphometricAttachments(pdfFile: File): Promise<{
|
|
49
|
+
fileName?: string | undefined;
|
|
50
|
+
description?: string | undefined;
|
|
51
|
+
mimeType?: string | undefined;
|
|
52
|
+
creationDate?: Date | undefined;
|
|
53
|
+
modificationDate?: Date | undefined;
|
|
54
|
+
size?: number;
|
|
55
|
+
dataBase64?: string | undefined;
|
|
56
|
+
}[]>;
|
|
57
|
+
extractBiometricData: ExtractBiometricDataFn;
|
|
58
|
+
downloadDecryptedPngWithBiometricData: (attachment: {
|
|
59
|
+
dataBase64: string;
|
|
60
|
+
fileName?: string | undefined;
|
|
61
|
+
}) => Promise<void>;
|
|
62
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/ts/index.d.ts
CHANGED
package/lib/ts/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,63 +1,68 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name":
|
|
3
|
-
"version":
|
|
4
|
-
"description":
|
|
5
|
-
"scripts":
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"author":
|
|
17
|
-
"license":
|
|
18
|
-
"devDependencies":
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"main":
|
|
35
|
-
"types":
|
|
36
|
-
"module":
|
|
37
|
-
"files":
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"dependencies":
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"overrides":
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
2
|
+
"name": "@topconsultnpm/sdkui-react",
|
|
3
|
+
"version": "6.22.0-dev1.30",
|
|
4
|
+
"description": "",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
7
|
+
"clean": "node -e \"const fs=require('fs');fs.rmSync('lib',{recursive:true,force:true});fs.mkdirSync('lib')\"",
|
|
8
|
+
"copy-files": "cpx \"src/{assets/*.*,assets/ImageLibrary/*.*,assets/thumbnails/*.*,assets/IconsS4t/*.*,assets/Metadata/*.*,css/tm-sdkui.css}\" lib",
|
|
9
|
+
"tm-build": "npm run clean && tsc && npm run copy-files",
|
|
10
|
+
"tm-watch": "tsc -w",
|
|
11
|
+
"tm-publish": "npm publish --tag latest",
|
|
12
|
+
"tm-publish_wl": "npm publish",
|
|
13
|
+
"storybook": "storybook dev -p 6006",
|
|
14
|
+
"build-storybook": "storybook build"
|
|
15
|
+
},
|
|
16
|
+
"author": "TopConsult",
|
|
17
|
+
"license": "ISC",
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"@chromatic-com/storybook": "^5.1.2",
|
|
20
|
+
"@storybook/addon-docs": "^10.3.5",
|
|
21
|
+
"@storybook/addon-onboarding": "^10.3.5",
|
|
22
|
+
"@storybook/react-vite": "^10.3.5",
|
|
23
|
+
"@types/node": "^24.12.2",
|
|
24
|
+
"@types/react": "^18.3.3",
|
|
25
|
+
"@types/react-dom": "^18.3.3",
|
|
26
|
+
"cpx2": "^9.0.0",
|
|
27
|
+
"esbuild": "^0.25.0",
|
|
28
|
+
"react": "^18.3.1",
|
|
29
|
+
"react-dom": "^18.3.1",
|
|
30
|
+
"storybook": "^10.3.5",
|
|
31
|
+
"typescript": "^5.9.3",
|
|
32
|
+
"vite": "^6.1.1"
|
|
33
|
+
},
|
|
34
|
+
"main": "dist/cjs/index.js",
|
|
35
|
+
"types": "./index.d.ts",
|
|
36
|
+
"module": "lib/esm/index.js",
|
|
37
|
+
"files": [
|
|
38
|
+
"dist",
|
|
39
|
+
"lib"
|
|
40
|
+
],
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@topconsultnpm/sdk-ts": "6.22.0-dev1.13",
|
|
43
|
+
"@zip.js/zip.js": "2.8.26",
|
|
44
|
+
"buffer": "^6.0.3",
|
|
45
|
+
"devextreme": "^25.2.6",
|
|
46
|
+
"devextreme-exceljs-fork": "^4.4.10",
|
|
47
|
+
"devextreme-react": "^25.2.6",
|
|
48
|
+
"htmlparser2": "^10.0.0",
|
|
49
|
+
"pdf-lib": "^1.17.1",
|
|
50
|
+
"react-pdf": "^10.4.1",
|
|
51
|
+
"react-window": "^2.2.7",
|
|
52
|
+
"styled-components": "^6.1.1"
|
|
53
|
+
},
|
|
54
|
+
"overrides": {
|
|
55
|
+
"esbuild": "^0.25.0",
|
|
56
|
+
"devextreme-exceljs-fork": {
|
|
57
|
+
"archiver": "^8.0.0"
|
|
58
|
+
},
|
|
59
|
+
"quill-delta": {
|
|
60
|
+
"lodash.isequal": "npm:fast-deep-equal@^3.1.3"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"allowScripts": {
|
|
64
|
+
"core-js@3.49.0": true,
|
|
65
|
+
"esbuild@0.25.12": true,
|
|
66
|
+
"inferno@8.2.3": true
|
|
67
|
+
}
|
|
63
68
|
}
|