@topconsultnpm/sdkui-react 6.22.0-dev3.24 → 6.22.0-dev3.26
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 +43 -45
- package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +60 -67
- package/lib/components/base/Styled.d.ts +77 -93
- package/lib/components/base/TMAlert.js +6 -8
- package/lib/components/base/TMAreaManager.js +53 -55
- package/lib/components/base/TMCounterBar.d.ts +2 -2
- package/lib/components/base/TMCounterContainer.d.ts +1 -2
- package/lib/components/base/TMCustomButton.d.ts +1 -1
- package/lib/components/base/TMCustomButton.js +39 -48
- package/lib/components/base/TMDataGridExportForm.d.ts +1 -2
- package/lib/components/base/TMFileManager.d.ts +1 -2
- package/lib/components/base/TMFileManagerDataGridView.d.ts +1 -2
- 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 +6 -4
- package/lib/components/base/TMLayout.d.ts +4 -4
- package/lib/components/base/TMList.d.ts +1 -2
- package/lib/components/base/TMListView.d.ts +1 -1
- package/lib/components/base/TMPanel.js +167 -167
- package/lib/components/base/TMSpinner.d.ts +1 -2
- package/lib/components/base/TMTab.d.ts +3 -4
- package/lib/components/base/TMTabControl.js +208 -208
- package/lib/components/base/TMTooltip.d.ts +1 -1
- package/lib/components/base/TMTreeView.d.ts +8 -14
- package/lib/components/base/TMTreeView.js +14 -0
- package/lib/components/base/TMUserAvatar.d.ts +1 -2
- package/lib/components/base/TMVilViewer.d.ts +1 -2
- package/lib/components/base/TMWaitPanel.d.ts +2 -3
- package/lib/components/base/waitPanel/TMWaitPanelConfirm.d.ts +12 -0
- package/lib/components/base/waitPanel/TMWaitPanelConfirm.js +185 -0
- package/lib/components/base/waitPanel/TMWaitPanelManager.d.ts +169 -0
- package/lib/components/base/waitPanel/TMWaitPanelManager.js +320 -0
- package/lib/components/base/waitPanel/TMWaitPanelView.d.ts +52 -0
- package/lib/components/base/waitPanel/TMWaitPanelView.js +274 -0
- package/lib/components/base/waitPanel/index.d.ts +1 -0
- package/lib/components/base/waitPanel/index.js +1 -0
- package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
- package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +1 -2
- package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +1 -2
- package/lib/components/choosers/TMPathChooser.js +17 -34
- package/lib/components/choosers/TMQuickSearchInfo.d.ts +1 -2
- 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 +42 -20
- package/lib/components/editors/TMFormulaEditor.d.ts +1 -1
- package/lib/components/editors/TMHtmlContentDisplay.d.ts +1 -2
- package/lib/components/editors/TMHtmlEditor.d.ts +1 -2
- package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
- package/lib/components/features/assistant/TMHelpOnLineChat.d.ts +28 -0
- package/lib/components/features/assistant/TMHelpOnLineChat.js +871 -0
- package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
- package/lib/components/features/assistant/TMToppyDraggableHelpCenter.js +2 -2
- package/lib/components/features/blog/TMBlogCommentForm.d.ts +1 -2
- package/lib/components/features/documents/TMBatchUpdateForm.js +3 -4
- package/lib/components/features/documents/TMCopyToFolderForm.js +32 -35
- package/lib/components/features/documents/TMDcmtForm.js +48 -60
- package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
- package/lib/components/features/documents/TMDcmtIcon.d.ts +1 -4
- package/lib/components/features/documents/TMDcmtIcon.js +3 -5
- package/lib/components/features/documents/TMDcmtPreview.d.ts +6 -8
- package/lib/components/features/documents/TMDcmtPreview.js +5 -3
- package/lib/components/features/documents/TMDcmtTasks.d.ts +1 -2
- package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
- package/lib/components/features/documents/TMFileUploader.js +21 -21
- package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +2 -0
- package/lib/components/features/documents/TMMasterDetailDcmts.js +45 -147
- package/lib/components/features/documents/TMMasterInfoFields.d.ts +1 -2
- package/lib/components/features/documents/TMMergeToPdfForm.d.ts +1 -2
- package/lib/components/features/documents/TMMergeToPdfForm.js +48 -47
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +1 -2
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.js +14 -15
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +4 -4
- package/lib/components/features/documents/TMRelationViewer.d.ts +3 -14
- package/lib/components/features/documents/TMRelationViewer.js +115 -79
- package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +1 -2
- package/lib/components/features/search/TMMetadataOutputForm.d.ts +1 -2
- package/lib/components/features/search/TMMetadataSorterForm.d.ts +1 -2
- package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
- package/lib/components/features/search/TMSearch.d.ts +1 -2
- package/lib/components/features/search/TMSearchQueryPanel.d.ts +3 -9
- package/lib/components/features/search/TMSearchResult.js +6 -8
- package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
- package/lib/components/features/search/TMSignatureInfoContent.d.ts +1 -2
- package/lib/components/features/search/TMViewHistoryDcmt.d.ts +1 -2
- package/lib/components/features/search/TMViewHistoryDcmt.js +14 -25
- 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/tasks/TMTasksView.js +91 -90
- package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +2 -3
- package/lib/components/features/wg/TMWGsCopyMoveForm.js +91 -91
- package/lib/components/features/workflow/TMWorkflowPopup.d.ts +7 -8
- package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +1 -3
- package/lib/components/forms/Login/ChangePasswordInputs.d.ts +1 -3
- package/lib/components/forms/Login/Chooser.d.ts +2 -2
- package/lib/components/forms/TMChooserForm.d.ts +1 -2
- package/lib/components/forms/TMSaveForm.d.ts +4 -4
- package/lib/components/grids/TMBlogAttachments.d.ts +1 -2
- package/lib/components/grids/TMBlogHeader.d.ts +1 -1
- package/lib/components/grids/TMBlogsPost.d.ts +1 -1
- package/lib/components/grids/TMBlogsPost.js +92 -96
- package/lib/components/grids/TMBlogsPostUtils.d.ts +9 -9
- package/lib/components/grids/TMValidationItemsList.d.ts +1 -2
- package/lib/components/index.d.ts +4 -0
- package/lib/components/index.js +3 -0
- package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -2
- package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +2 -2
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +6 -5
- 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 +29 -31
- package/lib/components/query/TMQueryEditor.d.ts +10 -14
- package/lib/components/settings/SettingsAppearance.d.ts +1 -2
- package/lib/components/sidebar/TMAboutApp.d.ts +1 -2
- 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 +2 -3
- package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +2 -3
- package/lib/components/viewers/TMMidViewer.d.ts +2 -2
- package/lib/components/viewers/TMTidViewer.d.ts +2 -2
- package/lib/helper/SDKUI_Localizator.d.ts +7 -0
- package/lib/helper/SDKUI_Localizator.js +70 -0
- package/lib/helper/TMAppUpdatedModal.d.ts +1 -2
- 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 +1 -2
- package/lib/helper/TMToppyMessage.d.ts +2 -2
- package/lib/helper/TMUtils.d.ts +4 -10
- package/lib/helper/ZipManager.d.ts +1 -1
- package/lib/helper/ZipManager.js +2 -1
- package/lib/helper/helpers.d.ts +1 -1
- package/lib/hooks/useCheckInOutOperations.d.ts +0 -6
- package/lib/hooks/useCheckInOutOperations.js +14 -34
- package/lib/hooks/useDcmtOperations.d.ts +3 -12
- package/lib/hooks/useDcmtOperations.js +130 -160
- package/lib/hooks/useDocumentOperations.js +12 -23
- package/lib/hooks/useInputDialog.d.ts +1 -2
- package/lib/hooks/useMultiMasterDetailDcmts.d.ts +0 -15
- package/lib/hooks/useMultiMasterDetailDcmts.js +62 -65
- package/lib/hooks/useWorkflowApprove.js +33 -17
- package/lib/services/platform_services.d.ts +2 -3
- package/package.json +1 -1
|
@@ -1,118 +1,102 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ResultTypes } from '@topconsultnpm/sdk-ts';
|
|
3
3
|
import { TMColors } from '../../utils/theme';
|
|
4
|
-
export declare const StyledDivHorizontal: import("styled-components/dist/types").IStyledComponentBase<"web",
|
|
5
|
-
|
|
6
|
-
}> & string;
|
|
7
|
-
export declare const StyledMultiViewPanel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
|
|
8
|
-
style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
9
|
-
}, {
|
|
4
|
+
export declare const StyledDivHorizontal: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
5
|
+
export declare const StyledMultiViewPanel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isVisible"> & {
|
|
10
6
|
$isVisible: boolean;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export declare const StyledToolbarForm: import("styled-components/dist/types").IStyledComponentBase<"web",
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}> & string;
|
|
21
|
-
export declare const StyledReferenceButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "style"> & {
|
|
22
|
-
style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
23
|
-
}, {
|
|
7
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isVisible"> & {
|
|
8
|
+
$isVisible: boolean;
|
|
9
|
+
}, never>>> & string;
|
|
10
|
+
export declare const StyledParagraph: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never>>> & string;
|
|
11
|
+
export declare const StyledToolbarForm: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
12
|
+
export declare const ReferencesContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
13
|
+
export declare const StyledReferenceButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "$bgColor"> & {
|
|
14
|
+
$bgColor?: string;
|
|
15
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "$bgColor"> & {
|
|
24
16
|
$bgColor?: string;
|
|
25
|
-
}
|
|
26
|
-
export declare const StyledPanelPage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
}, never>>> & string;
|
|
18
|
+
export declare const StyledPanelPage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$background" | "$isOpen" | "$padding" | "$withMenu"> & {
|
|
19
|
+
$isOpen?: boolean;
|
|
20
|
+
$padding?: string;
|
|
21
|
+
$background?: string;
|
|
22
|
+
$withMenu?: boolean;
|
|
23
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$background" | "$isOpen" | "$padding" | "$withMenu"> & {
|
|
29
24
|
$isOpen?: boolean;
|
|
30
25
|
$padding?: string;
|
|
31
26
|
$background?: string;
|
|
32
27
|
$withMenu?: boolean;
|
|
33
|
-
}
|
|
34
|
-
export declare const StyledClickableIconWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components
|
|
35
|
-
style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
36
|
-
}, {
|
|
28
|
+
}, never>>> & string;
|
|
29
|
+
export declare const StyledClickableIconWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$disabled"> & {
|
|
37
30
|
$disabled?: boolean;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$disabled"> & {
|
|
32
|
+
$disabled?: boolean;
|
|
33
|
+
}, never>>> & string;
|
|
34
|
+
export declare const StyledOffCanvasPanel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isOpen" | "$mobileHeight" | "$width"> & {
|
|
42
35
|
$isOpen: boolean;
|
|
43
36
|
$width?: string;
|
|
44
37
|
$mobileHeight?: string;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
38
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isOpen" | "$mobileHeight" | "$width"> & {
|
|
39
|
+
$isOpen: boolean;
|
|
40
|
+
$width?: string;
|
|
41
|
+
$mobileHeight?: string;
|
|
42
|
+
}, never>>> & string;
|
|
43
|
+
export declare const StyledOverlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isOpen"> & {
|
|
44
|
+
$isOpen: boolean;
|
|
45
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isOpen"> & {
|
|
49
46
|
$isOpen: boolean;
|
|
50
|
-
}
|
|
51
|
-
export declare const StyledModalContainer: import("styled-components/dist/types").IStyledComponentBase<"web",
|
|
52
|
-
|
|
53
|
-
}> & string;
|
|
54
|
-
export declare const StyledResultTypeContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
|
|
55
|
-
style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
56
|
-
}, {
|
|
47
|
+
}, never>>> & string;
|
|
48
|
+
export declare const StyledModalContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
49
|
+
export declare const StyledResultTypeContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$resultType"> & {
|
|
57
50
|
$resultType: ResultTypes;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
export declare const StyledTooltipItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components
|
|
63
|
-
|
|
64
|
-
|
|
51
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$resultType"> & {
|
|
52
|
+
$resultType: ResultTypes;
|
|
53
|
+
}, never>>> & string;
|
|
54
|
+
export declare const StyledTooltipSeparatorItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, never>>> & string;
|
|
55
|
+
export declare const StyledTooltipItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$color" | "$fontSize" | "$marginTop"> & {
|
|
56
|
+
$color?: TMColors;
|
|
57
|
+
$fontSize?: string;
|
|
58
|
+
$marginTop?: string;
|
|
59
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$color" | "$fontSize" | "$marginTop"> & {
|
|
65
60
|
$color?: TMColors;
|
|
66
61
|
$fontSize?: string;
|
|
67
62
|
$marginTop?: string;
|
|
68
|
-
}
|
|
69
|
-
export declare const StyledTooltipContainer: import("styled-components/dist/types").IStyledComponentBase<"web",
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}> & string;
|
|
75
|
-
export declare const StyledBadge: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
|
|
76
|
-
style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
77
|
-
}, {
|
|
63
|
+
}, never>>> & string;
|
|
64
|
+
export declare const StyledTooltipContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
65
|
+
export declare const StyledDraggableDiv: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
66
|
+
export declare const StyledBadge: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
|
|
67
|
+
$backgroundColor: string;
|
|
68
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
|
|
78
69
|
$backgroundColor: string;
|
|
79
|
-
}
|
|
80
|
-
export declare const StyledDxGridGroupHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components
|
|
81
|
-
|
|
82
|
-
}, {
|
|
70
|
+
}, never>>> & string;
|
|
71
|
+
export declare const StyledDxGridGroupHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
|
|
72
|
+
$backgroundColor?: string;
|
|
73
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
|
|
83
74
|
$backgroundColor?: string;
|
|
84
|
-
}
|
|
85
|
-
export declare const cellRenderObjectIcon: (icon: any) =>
|
|
86
|
-
export declare const StyledChartOverlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components
|
|
87
|
-
style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
88
|
-
}, {
|
|
75
|
+
}, never>>> & string;
|
|
76
|
+
export declare const cellRenderObjectIcon: (icon: any) => import("react/jsx-runtime").JSX.Element;
|
|
77
|
+
export declare const StyledChartOverlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
|
|
89
78
|
$backgroundColor?: string;
|
|
90
|
-
}
|
|
91
|
-
export declare const StyledBtnLoadChart: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "style"> & {
|
|
92
|
-
style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
93
|
-
}, {
|
|
79
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$backgroundColor"> & {
|
|
94
80
|
$backgroundColor?: string;
|
|
95
|
-
}
|
|
96
|
-
export declare const
|
|
97
|
-
|
|
98
|
-
}> &
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
export declare const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
export declare const
|
|
106
|
-
style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
107
|
-
}> & string;
|
|
108
|
-
export declare const StyledAnimatedComponentScaleColor: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
|
|
109
|
-
style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
110
|
-
}, {
|
|
81
|
+
}, never>>> & string;
|
|
82
|
+
export declare const StyledBtnLoadChart: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "$backgroundColor"> & {
|
|
83
|
+
$backgroundColor?: string;
|
|
84
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "$backgroundColor"> & {
|
|
85
|
+
$backgroundColor?: string;
|
|
86
|
+
}, never>>> & string;
|
|
87
|
+
export declare const StyledFormButtonsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
88
|
+
export declare const StyledToolbarCardContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
89
|
+
export declare const StyledSpinner: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
90
|
+
export declare const StyledLoadingContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
91
|
+
export declare const StyledAnimatedComponentScaleColor: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$delay" | "$scale"> & {
|
|
111
92
|
$delay?: string;
|
|
112
93
|
$scale?: number;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
},
|
|
94
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$delay" | "$scale"> & {
|
|
95
|
+
$delay?: string;
|
|
96
|
+
$scale?: number;
|
|
97
|
+
}, never>>> & string;
|
|
98
|
+
export declare const StyledAnimatedComponentOpacity: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$delay"> & {
|
|
99
|
+
$delay?: string;
|
|
100
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$delay"> & {
|
|
117
101
|
$delay?: string;
|
|
118
|
-
}
|
|
102
|
+
}, never>>> & string;
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import React, { useState, useEffect } from 'react';
|
|
3
3
|
import ReactDOM from 'react-dom/client';
|
|
4
4
|
import { IconCloseCircle, IconInfo, IconSuccess, IconWarning } from '../../helper';
|
|
5
|
+
import { DeviceType, TMDeviceProvider, useDeviceType } from './TMDeviceProvider';
|
|
5
6
|
const TMAlertPosition = {
|
|
6
7
|
TOP_RIGHT: { top: '10px', right: '10px', position: 'absolute' },
|
|
7
8
|
TOP_CENTER: { top: '10px', left: '50%', transform: 'translateX(-50%)', position: 'absolute' },
|
|
@@ -45,13 +46,8 @@ const Mode = {
|
|
|
45
46
|
};
|
|
46
47
|
// const TMAlert = ({ mode, duration = 5000, message, position = 'BOTTOM_CENTER' }: { mode: keyof AlertModes, duration?: number, message: string, position?: keyof typeof TMAlertPosition }) => {
|
|
47
48
|
const TMAlert = ({ mode, duration = 1000, title, message, position = 'BOTTOM_RIGHT' }) => {
|
|
48
|
-
const
|
|
49
|
+
const deviceType = useDeviceType();
|
|
49
50
|
const [container] = useState(document.getElementsByClassName('tm-alert-temporary-container'));
|
|
50
|
-
useEffect(() => {
|
|
51
|
-
window.addEventListener('resize', () => {
|
|
52
|
-
setCurrentWidth(window.innerWidth);
|
|
53
|
-
});
|
|
54
|
-
}, [currentWidth]);
|
|
55
51
|
useEffect(() => {
|
|
56
52
|
const tiemout = setTimeout(() => {
|
|
57
53
|
let container = document.getElementsByClassName('tm-alert-temporary-container');
|
|
@@ -63,7 +59,9 @@ const TMAlert = ({ mode, duration = 1000, title, message, position = 'BOTTOM_RIG
|
|
|
63
59
|
}, [container]);
|
|
64
60
|
// Determine the style for the alert container based on the position prop
|
|
65
61
|
const alertContainerStyle = TMAlertPosition[position];
|
|
66
|
-
|
|
62
|
+
// Su mobile l'alert e' piu' basso e con testo piu' piccolo: la versione desktop copre troppo schermo.
|
|
63
|
+
const isMobile = deviceType === DeviceType.MOBILE;
|
|
64
|
+
return (_jsx("div", { style: { width: '100%', paddingTop: '3px', ...alertContainerStyle }, children: _jsx("div", { className: 'tm-alert-animation-style', style: { animationDuration: `${duration}ms`, position: 'relative', float: 'right', zIndex: '20000999', width: isMobile ? 'min(300px, calc(100vw - 20px))' : '356px', height: isMobile ? '58px' : '86px', borderRadius: '8px', overflow: 'hidden', border: '2px white solid', boxShadow: '0px 3px 6px #00000029' }, children: _jsx("div", { className: 'tm-alert-animation-style', style: { animationDuration: `${duration}ms` }, children: _jsxs("div", { className: 'tm-alert-container', style: { background: Mode[mode].color, animationDuration: `${duration}ms` }, children: [_jsxs("div", { className: "tm-alert-context", style: { position: 'relative' }, children: [_jsx("div", { className: 'tm-alert-icon', style: { position: 'absolute', top: isMobile ? '8px' : '12px', left: isMobile ? '8px' : '12px', paddingTop: '1px' }, children: Mode[mode].icon }), _jsx("div", { style: { color: Mode[mode].textColor, position: 'absolute', top: isMobile ? '7px' : '15px', left: isMobile ? '38px' : '45px', textAlign: 'left', fontSize: isMobile ? '0.85rem' : '1.1rem', fontWeight: 'bold', maxWidth: isMobile ? 'calc(100% - 46px)' : '280px', ...(isMobile && { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }) }, children: title }), _jsx("div", { style: { color: Mode[mode].textColor, position: 'absolute', top: isMobile ? '25px' : '35px', left: isMobile ? '38px' : '45px', textAlign: 'left', fontSize: isMobile ? '0.8rem' : '1rem', maxWidth: isMobile ? 'calc(100% - 46px)' : '280px', ...(isMobile && { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }) }, children: message })] }), _jsx("div", { className: 'tm-alert-loading', style: { backgroundImage: `linear-gradient(to right, ${Mode[mode].borderColor}, ${Mode[mode].textColor})`, animationDuration: `${duration}ms` } })] }) }) }) }));
|
|
67
65
|
};
|
|
68
66
|
const ShowAlert = ({ mode, message, duration, title, position = 'BOTTOM_RIGHT' }) => {
|
|
69
67
|
let container = document.createElement('div');
|
|
@@ -72,6 +70,6 @@ const ShowAlert = ({ mode, message, duration, title, position = 'BOTTOM_RIGHT' }
|
|
|
72
70
|
// container.style.position = 'relative'
|
|
73
71
|
container.style.display = 'flex';
|
|
74
72
|
const root = ReactDOM.createRoot(container);
|
|
75
|
-
root.render(_jsx(React.StrictMode, { children: _jsx(TMAlert, { message: message, mode: mode, duration: duration, title: title, position: position }) }));
|
|
73
|
+
root.render(_jsx(React.StrictMode, { children: _jsx(TMDeviceProvider, { children: _jsx(TMAlert, { message: message, mode: mode, duration: duration, title: title, position: position }) }) }));
|
|
76
74
|
};
|
|
77
75
|
export default ShowAlert;
|
|
@@ -10,7 +10,8 @@ import { loadMessages } from 'devextreme/localization';
|
|
|
10
10
|
import { getFileManagerFolderColor, Globalization, IconAll, IconCloud, IconFolder, IconFolderForCSS, IconSelected, SDKUI_Localizator, svgToString } from '../../helper';
|
|
11
11
|
import { TMExceptionBoxManager } from './TMPopUp';
|
|
12
12
|
import ShowAlert from './TMAlert';
|
|
13
|
-
import
|
|
13
|
+
import TMLayoutContainer from './TMLayout';
|
|
14
|
+
import TMWaitPanelManager from './waitPanel/TMWaitPanelManager';
|
|
14
15
|
import TMCounterContainer, { CounterItemKey } from './TMCounterContainer';
|
|
15
16
|
import { IconPdf, IconTxt, IconXls, IconDocx, IconImage, IconZip, IconXml, IconMp4, IconEmail, IconPpt, IconSigned, IconExe, IconHtml, IconDwg, IconDicom, IconSlddrw } from '../../assets/thumbnails';
|
|
16
17
|
import styled from 'styled-components';
|
|
@@ -89,17 +90,6 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
|
|
|
89
90
|
const [counterValues, setCounterValues] = useState(new Map());
|
|
90
91
|
// State to maintain the selection mode (File System Item - right panel)
|
|
91
92
|
const [selectionMode, setSelectionMode] = useState('single');
|
|
92
|
-
/* State to manage the Wait Panel */
|
|
93
|
-
const [showWaitPanel, setShowWaitPanel] = useState(false);
|
|
94
|
-
const [waitPanelTitle, setWaitPanelTitle] = useState('');
|
|
95
|
-
const [showPrimary, setShowPrimary] = useState(false);
|
|
96
|
-
const [waitPanelTextPrimary, setWaitPanelTextPrimary] = useState('');
|
|
97
|
-
const [waitPanelValuePrimary, setWaitPanelValuePrimary] = useState(0);
|
|
98
|
-
const [waitPanelMaxValuePrimary, setWaitPanelMaxValuePrimary] = useState(0);
|
|
99
|
-
const [showSecondary, setShowSecondary] = useState(false);
|
|
100
|
-
const [waitPanelTextSecondary, setWaitPanelTextSecondary] = useState('');
|
|
101
|
-
const [waitPanelValueSecondary, setWaitPanelValueSecondary] = useState(0);
|
|
102
|
-
const [waitPanelMaxValueSecondary, setWaitPanelMaxValueSecondary] = useState(0);
|
|
103
93
|
// Timer ID to store reference for any scheduled operation
|
|
104
94
|
let timerId = null;
|
|
105
95
|
// Prefix for area folder names
|
|
@@ -430,44 +420,55 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
|
|
|
430
420
|
}
|
|
431
421
|
};
|
|
432
422
|
const downloadItems = async (items) => {
|
|
423
|
+
const files = items.filter(item => !item.isDirectory);
|
|
424
|
+
const isBatch = files.length > 1;
|
|
425
|
+
const waitPanel = TMWaitPanelManager.show({
|
|
426
|
+
title: "Download",
|
|
427
|
+
max: isBatch ? files.length : 0,
|
|
428
|
+
cancelable: true,
|
|
429
|
+
showCounters: false,
|
|
430
|
+
showSecondary: isBatch,
|
|
431
|
+
primaryLabel: isBatch ? 'File' : undefined,
|
|
432
|
+
secondaryLabel: isBatch ? 'File corrente' : undefined,
|
|
433
|
+
});
|
|
434
|
+
abortController = waitPanel.abortController;
|
|
435
|
+
const publishBytes = (loaded, total) => {
|
|
436
|
+
const text = total > 0
|
|
437
|
+
? `Downloading... ${Globalization.getNumberDisplayValue(loaded, true)} / ${Globalization.getNumberDisplayValue(total, true)}`
|
|
438
|
+
: '';
|
|
439
|
+
if (isBatch)
|
|
440
|
+
waitPanel.setSecondary({ value: loaded, max: total, text });
|
|
441
|
+
else
|
|
442
|
+
waitPanel.update({ value: loaded, max: total, subtitle: text });
|
|
443
|
+
};
|
|
444
|
+
// Un solo avviso per tutta l'operazione: con più file riporta quanti ne sono stati scaricati.
|
|
445
|
+
let downloaded = 0;
|
|
446
|
+
const showInterrupted = () => ShowAlert({
|
|
447
|
+
mode: 'warning',
|
|
448
|
+
title: "Download",
|
|
449
|
+
duration: 3000,
|
|
450
|
+
message: isBatch ? SDKUI_Localizator.DownloadInterruptedFiles.replaceParams(downloaded, files.length) : SDKUI_Localizator.DownloadInterrupted,
|
|
451
|
+
});
|
|
433
452
|
try {
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
setWaitPanelTitle("Download");
|
|
438
|
-
abortController = new AbortController();
|
|
439
|
-
let i = 0;
|
|
440
|
-
setWaitPanelMaxValuePrimary(items.length);
|
|
441
|
-
let firstBlock = true;
|
|
442
|
-
let maxFileSize = 0;
|
|
443
|
-
for (const item of items) {
|
|
444
|
-
if (item.isDirectory)
|
|
445
|
-
continue;
|
|
446
|
-
if (abortController.signal.aborted) {
|
|
447
|
-
ShowAlert({ message: 'Operazione interrotta', mode: 'warning', title: "Download files", duration: 3000 });
|
|
453
|
+
for (const item of files) {
|
|
454
|
+
if (waitPanel.aborted) {
|
|
455
|
+
showInterrupted();
|
|
448
456
|
return;
|
|
449
457
|
}
|
|
450
|
-
|
|
458
|
+
if (isBatch)
|
|
459
|
+
waitPanel.setSubtitle(`Download ${item.name}`);
|
|
451
460
|
const ad = item.dataItem.dataItem;
|
|
452
461
|
const aid = ad?.id;
|
|
453
462
|
const subFolder = item.parentPath === ad.name ? '' : item.parentPath.replace(ad.name + '/', '');
|
|
454
463
|
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
if (pd.ProgressBarValue === pd.ProgressBarMaximum) {
|
|
464
|
-
setWaitPanelMaxValueSecondary(0);
|
|
465
|
-
setWaitPanelValueSecondary(0);
|
|
466
|
-
setWaitPanelTextSecondary('');
|
|
467
|
-
firstBlock = true;
|
|
468
|
-
}
|
|
469
|
-
});
|
|
470
|
-
setWaitPanelValuePrimary(i + 1);
|
|
464
|
+
let file;
|
|
465
|
+
try {
|
|
466
|
+
file = await tms?.NewAreaEngine().RetrieveFileAsync(aid, subFolder, item.name, FileFormats.None, waitPanel.signal, (pd) => publishBytes(pd.ProgressBarValue, pd.ProgressBarMaximum ?? 0));
|
|
467
|
+
}
|
|
468
|
+
finally {
|
|
469
|
+
if (isBatch)
|
|
470
|
+
publishBytes(0, 0);
|
|
471
|
+
}
|
|
471
472
|
const fileURL = window.URL.createObjectURL(file);
|
|
472
473
|
const alink2 = document.createElement('a');
|
|
473
474
|
alink2.href = fileURL;
|
|
@@ -475,25 +476,22 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
|
|
|
475
476
|
alink2.target = "_blank";
|
|
476
477
|
alink2.rel = "noreferrer";
|
|
477
478
|
alink2.click();
|
|
478
|
-
|
|
479
|
+
downloaded++;
|
|
480
|
+
if (isBatch)
|
|
481
|
+
await waitPanel.step();
|
|
479
482
|
}
|
|
483
|
+
if (files.length > 0)
|
|
484
|
+
ShowAlert({ mode: 'success', message: SDKUI_Localizator.OperationSuccess, title: "Download", duration: 3000 });
|
|
480
485
|
}
|
|
481
486
|
catch (ex) {
|
|
482
487
|
const err = ex;
|
|
483
|
-
if (err.name === 'CanceledError')
|
|
484
|
-
|
|
485
|
-
}
|
|
488
|
+
if (waitPanel.aborted || err.name === 'CanceledError')
|
|
489
|
+
showInterrupted();
|
|
486
490
|
else
|
|
487
491
|
TMExceptionBoxManager.show({ exception: ex });
|
|
488
492
|
}
|
|
489
493
|
finally {
|
|
490
|
-
|
|
491
|
-
setWaitPanelMaxValuePrimary(0);
|
|
492
|
-
setWaitPanelValuePrimary(0);
|
|
493
|
-
setWaitPanelTextSecondary('');
|
|
494
|
-
setWaitPanelMaxValueSecondary(0);
|
|
495
|
-
setWaitPanelValueSecondary(0);
|
|
496
|
-
setShowWaitPanel(false);
|
|
494
|
+
waitPanel.close();
|
|
497
495
|
}
|
|
498
496
|
};
|
|
499
497
|
// Asynchronous function to retrieve the items in a given directory (parentDirectory)
|
|
@@ -767,7 +765,7 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
|
|
|
767
765
|
}
|
|
768
766
|
};
|
|
769
767
|
const folderColor = getFileManagerFolderColor(SDK_Globals.tmSession?.SessionDescr?.appModuleID ?? AppModules.SURFER);
|
|
770
|
-
return (_jsx(
|
|
768
|
+
return (_jsx(TMLayoutContainer, { direction: 'vertical', children: _jsxs(StyledFileManagerWrapper, { $folderColor: folderColor, style: { width: "100%", height: "100%" }, children: [_jsxs(FileManager, { width: props.width, ref: fileManagerRef, height: `calc(${props.height} - 30px)`, onItemMoving: onItemCopying, onItemCopying: onItemCopying, onFileUploading: onFileUploading, fileSystemProvider: areaProvider, customizeThumbnail: customizeIcon, rootFolderName: SDK_Localizator.Areas, onSelectionChanged: onSelectionChanged, onDirectoryCreating: onDirectoryCreating, onFocusedItemChanged: onFocusedItemChanged, onSelectedFileOpened: onSelectedFileOpened, onContextMenuItemClick: onContextMenuItemClick,
|
|
771
769
|
/* onItemMoved={() => setCounter(counter => counter + 1)}
|
|
772
770
|
onItemCopied={() => setCounter(counter => counter + 1)}
|
|
773
771
|
onItemDeleted={() => setCounter(counter => counter - 1)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
interface IProps {
|
|
3
3
|
icon: ReactNode;
|
|
4
4
|
text: string;
|
|
@@ -6,5 +6,5 @@ interface IProps {
|
|
|
6
6
|
}
|
|
7
7
|
declare const TMCounterBar: ({ items }: {
|
|
8
8
|
items: IProps[];
|
|
9
|
-
}) =>
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
export default TMCounterBar;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
export declare enum CounterItemKey {
|
|
3
2
|
allItems = "allItems",
|
|
4
3
|
visibleItems = "visibleItems",
|
|
@@ -20,5 +19,5 @@ export interface ITMCounterContainerProps {
|
|
|
20
19
|
textColorItem?: string;
|
|
21
20
|
hoverColorItem?: string;
|
|
22
21
|
}
|
|
23
|
-
declare const TMCounterContainer: (props: ITMCounterContainerProps) =>
|
|
22
|
+
declare const TMCounterContainer: (props: ITMCounterContainerProps) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
24
23
|
export default TMCounterContainer;
|
|
@@ -7,5 +7,5 @@ type TMCustomButtonProps = {
|
|
|
7
7
|
selectedItems?: Array<any>;
|
|
8
8
|
onClose?: () => void;
|
|
9
9
|
};
|
|
10
|
-
declare const TMCustomButton: (props: TMCustomButtonProps) => false | import("react").JSX.Element;
|
|
10
|
+
declare const TMCustomButton: (props: TMCustomButtonProps) => false | import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export default TMCustomButton;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState, useMemo } from 'react';
|
|
3
3
|
import TMModal from './TMModal';
|
|
4
4
|
import styled from 'styled-components';
|
|
5
|
-
import { SDKUI_Localizator
|
|
5
|
+
import { SDKUI_Localizator } from '../..';
|
|
6
6
|
import { getButtonAttributes, getSelectedItem } from '../../helper/dcmtsHelper';
|
|
7
7
|
import { DeviceType, useDeviceType } from './TMDeviceProvider';
|
|
8
|
+
import TMWaitPanelManager from './waitPanel/TMWaitPanelManager';
|
|
8
9
|
const IframeContainer = styled.div `
|
|
9
10
|
display: flex;
|
|
10
11
|
height: 100%;
|
|
@@ -53,12 +54,6 @@ const TMCustomButton = (props) => {
|
|
|
53
54
|
const [loading, setLoading] = useState(true);
|
|
54
55
|
const [error, setError] = useState(false);
|
|
55
56
|
const itemsToProcess = useMemo(() => selectedItems && selectedItems.length > 0 ? selectedItems : [attributes], [selectedItems, attributes]);
|
|
56
|
-
// Stati per il wait panel
|
|
57
|
-
const [showWaitPanel, setShowWaitPanel] = useState(itemsToProcess.length > 0 && !RunOnce);
|
|
58
|
-
const [waitPanelText, setWaitPanelText] = useState(SDKUI_Localizator.CustomButtonActions.replaceParams(1, itemsToProcess.length));
|
|
59
|
-
const [waitPanelValue, setWaitPanelValue] = useState(0);
|
|
60
|
-
const [waitPanelMaxValue, setWaitPanelMaxValue] = useState(itemsToProcess.length);
|
|
61
|
-
const [abortController, setAbortController] = useState(undefined);
|
|
62
57
|
// Aggiungi timestamp all'URL per evitare cache
|
|
63
58
|
const iframeUrl = useMemo(() => {
|
|
64
59
|
if (!scriptUrl)
|
|
@@ -83,41 +78,44 @@ const TMCustomButton = (props) => {
|
|
|
83
78
|
setLoading(false);
|
|
84
79
|
setError(true);
|
|
85
80
|
};
|
|
86
|
-
const executeSequentially = async (
|
|
81
|
+
const executeSequentially = async () => {
|
|
87
82
|
if (!itemsToProcess)
|
|
88
83
|
return;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
84
|
+
const waitPanel = TMWaitPanelManager.show({
|
|
85
|
+
title: SDKUI_Localizator.CustomButtonAction,
|
|
86
|
+
max: itemsToProcess.length,
|
|
87
|
+
cancelable: true,
|
|
88
|
+
});
|
|
89
|
+
try {
|
|
90
|
+
for (const [index, item] of itemsToProcess.entries()) {
|
|
91
|
+
if (waitPanel.aborted)
|
|
92
|
+
break;
|
|
93
|
+
waitPanel.setSubtitle(SDKUI_Localizator.CustomButtonActions.replaceParams(index + 1, itemsToProcess.length));
|
|
94
|
+
// Attendi che l'iframe sia pronto e invia il messaggio
|
|
95
|
+
await new Promise((resolve) => {
|
|
96
|
+
const checkIframe = setInterval(() => {
|
|
97
|
+
if (iframeRef.current?.contentWindow) {
|
|
98
|
+
clearInterval(checkIframe);
|
|
99
|
+
if (selectedItems && selectedItems.length > 0) {
|
|
100
|
+
//devo convertire item in formData
|
|
101
|
+
const processedItem = getSelectedItem(args, formData, item);
|
|
102
|
+
postMessageIframe(processedItem);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
postMessageIframe(item);
|
|
106
|
+
}
|
|
107
|
+
// Attendi prima di passare al prossimo
|
|
108
|
+
setTimeout(resolve, 500);
|
|
106
109
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
}, 100);
|
|
117
|
-
});
|
|
110
|
+
}, 100);
|
|
111
|
+
});
|
|
112
|
+
await waitPanel.step();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
waitPanel.close();
|
|
117
|
+
onClose?.();
|
|
118
118
|
}
|
|
119
|
-
setShowWaitPanel(false);
|
|
120
|
-
onClose?.();
|
|
121
119
|
};
|
|
122
120
|
const postMessageIframe = (data) => {
|
|
123
121
|
console.log("TMCustomButton - postMessageIframe - data:", data);
|
|
@@ -130,14 +128,7 @@ const TMCustomButton = (props) => {
|
|
|
130
128
|
return;
|
|
131
129
|
if (!RunOnce && itemsToProcess.length > 0) {
|
|
132
130
|
// esegui per ogni item selezionato
|
|
133
|
-
|
|
134
|
-
controller.signal.addEventListener('abort', () => {
|
|
135
|
-
setShowWaitPanel(false);
|
|
136
|
-
onClose?.();
|
|
137
|
-
});
|
|
138
|
-
setAbortController(controller);
|
|
139
|
-
setWaitPanelMaxValue(itemsToProcess.length);
|
|
140
|
-
executeSequentially(controller);
|
|
131
|
+
executeSequentially();
|
|
141
132
|
}
|
|
142
133
|
else {
|
|
143
134
|
// Modalità RunOnce: invia dati all'iframe quando è caricato
|
|
@@ -157,6 +148,6 @@ const TMCustomButton = (props) => {
|
|
|
157
148
|
}
|
|
158
149
|
}, []);
|
|
159
150
|
const iframeContent = (_jsxs(IframeContainer, { style: !RunOnce ? { visibility: 'hidden' } : {}, children: [loading && _jsx(LoadingOverlay, {}), error && _jsx("div", { children: "Si \u00E8 verificato un errore nel caricamento del contenuto." }), !error && _jsx(StyledIframe, { ref: iframeRef, loading: 'lazy', onLoad: handleLoad, onError: handleError, src: iframeUrl })] }));
|
|
160
|
-
return isModal && RunOnce ? (_jsx(TMModal, { title: button.title, width: isMobile ? '95%' : '60%', height: isMobile ? '95%' : '70%', resizable: isMobile ? false : true, expandable: isMobile ? false : true, onClose: onClose, children: iframeContent })) : !RunOnce &&
|
|
151
|
+
return isModal && RunOnce ? (_jsx(TMModal, { title: button.title, width: isMobile ? '95%' : '60%', height: isMobile ? '95%' : '70%', resizable: isMobile ? false : true, expandable: isMobile ? false : true, onClose: onClose, children: iframeContent })) : !RunOnce && iframeContent;
|
|
161
152
|
};
|
|
162
153
|
export default TMCustomButton;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { IColumnProps } from 'devextreme-react/data-grid';
|
|
3
2
|
import { SearchResultDescriptor } from '@topconsultnpm/sdk-ts';
|
|
4
3
|
export type FormatOption = {
|
|
@@ -12,5 +11,5 @@ interface TMDataGridExportFormProps {
|
|
|
12
11
|
selectedRowKeys: Array<number>;
|
|
13
12
|
onCloseExportForm: () => void;
|
|
14
13
|
}
|
|
15
|
-
declare const TMDataGridExportForm: (props: TMDataGridExportFormProps) =>
|
|
14
|
+
declare const TMDataGridExportForm: (props: TMDataGridExportFormProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
15
|
export default TMDataGridExportForm;
|