@topconsultnpm/sdkui-react 6.19.0-test.1 → 6.19.0
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/assets/IconsS4t/add.svg +12 -12
- package/lib/assets/IconsS4t/aggiorna.svg +18 -18
- package/lib/assets/IconsS4t/bookmark.svg +42 -42
- package/lib/assets/IconsS4t/cancella.svg +15 -15
- package/lib/assets/IconsS4t/check-box.svg +19 -19
- package/lib/assets/IconsS4t/down-arrow-signBook.svg +40 -40
- package/lib/assets/IconsS4t/down.svg +28 -28
- package/lib/assets/IconsS4t/edit-file.svg +19 -19
- package/lib/assets/IconsS4t/edita.svg +32 -32
- package/lib/assets/IconsS4t/firma.svg +19 -19
- package/lib/assets/IconsS4t/icona_download.svg +16 -16
- package/lib/assets/IconsS4t/info.svg +51 -51
- package/lib/assets/IconsS4t/left.svg +20 -20
- package/lib/assets/IconsS4t/line.svg +40 -40
- package/lib/assets/IconsS4t/more.svg +19 -19
- package/lib/assets/IconsS4t/plus.svg +23 -23
- package/lib/assets/IconsS4t/printer.svg +49 -49
- package/lib/assets/IconsS4t/radio-on-button.svg +25 -25
- package/lib/assets/IconsS4t/rectangle.svg +41 -41
- package/lib/assets/IconsS4t/redo.svg +19 -19
- package/lib/assets/IconsS4t/right-arrow-signBook-finish.svg +40 -40
- package/lib/assets/IconsS4t/right-arrow-signBook.svg +40 -40
- package/lib/assets/IconsS4t/right.svg +22 -22
- package/lib/assets/IconsS4t/searchbar.svg +21 -21
- package/lib/assets/IconsS4t/text-box.svg +36 -36
- package/lib/assets/IconsS4t/tick.svg +8 -8
- package/lib/assets/IconsS4t/trash-white.svg +10 -10
- package/lib/assets/IconsS4t/undo.svg +19 -19
- package/lib/assets/IconsS4t/up.svg +32 -32
- package/lib/assets/IconsS4t/video-streaming.svg +2 -2
- package/lib/assets/IconsS4t/zoom-in.svg +58 -58
- package/lib/assets/IconsS4t/zoom-out.svg +56 -56
- package/lib/assets/icomoon.svg +96 -96
- package/lib/assets/italy.svg +16 -16
- package/lib/assets/six.svg +3 -3
- package/lib/assets/thumbnails/index.ts +39 -39
- package/lib/assets/topmedia-six.svg +65 -65
- package/lib/assets/topmeida-six-bianco.svg +65 -65
- package/lib/components/base/Styled.js +302 -302
- package/lib/components/base/TMAccordion.js +43 -43
- package/lib/components/base/TMAccordionNew.d.ts +28 -0
- package/lib/components/base/TMAccordionNew.js +326 -0
- package/lib/components/base/TMAreaManager.js +23 -23
- package/lib/components/base/TMButton.d.ts +1 -0
- package/lib/components/base/TMButton.js +136 -136
- package/lib/components/base/TMClosableList.js +46 -46
- package/lib/components/base/TMConfirm.js +20 -20
- package/lib/components/base/TMContextMenu.js +4 -4
- package/lib/components/base/TMContextMenuOLD.js +25 -25
- package/lib/components/base/TMCounterBar.js +32 -32
- package/lib/components/base/TMCounterContainer.js +30 -30
- package/lib/components/base/TMCustomButton.d.ts +1 -1
- package/lib/components/base/TMCustomButton.js +90 -35
- package/lib/components/base/TMDataGridExportForm.d.ts +1 -1
- package/lib/components/base/TMDataGridExportForm.js +9 -3
- package/lib/components/base/TMDropDownMenu.js +24 -24
- package/lib/components/base/TMFileManager.js +12 -3
- package/lib/components/base/TMFileManagerDataGridView.d.ts +2 -0
- package/lib/components/base/TMFileManagerDataGridView.js +12 -3
- package/lib/components/base/TMFileManagerThumbnailItems.d.ts +2 -0
- package/lib/components/base/TMFileManagerThumbnailItems.js +12 -2
- package/lib/components/base/TMFileManagerThumbnailsView.d.ts +2 -0
- package/lib/components/base/TMFileManagerThumbnailsView.js +2 -2
- package/lib/components/base/TMFileManagerUtils.js +19 -19
- package/lib/components/base/TMFloatingToolbar.js +34 -34
- package/lib/components/base/TMLayout.js +44 -44
- package/lib/components/base/TMList.js +34 -34
- package/lib/components/base/TMModal.d.ts +2 -0
- package/lib/components/base/TMModal.js +79 -34
- package/lib/components/base/TMPanel.js +57 -57
- package/lib/components/base/TMPopUp.js +186 -117
- package/lib/components/base/TMProgressBar.js +20 -20
- package/lib/components/base/TMResizableMenu.js +28 -28
- package/lib/components/base/TMRightSidebar.js +40 -40
- package/lib/components/base/TMSpinner.js +121 -121
- package/lib/components/base/TMTab.js +11 -11
- package/lib/components/base/TMToggleButton.js +36 -36
- package/lib/components/base/TMToolbarCard.js +35 -35
- package/lib/components/base/TMTooltip.d.ts +1 -1
- package/lib/components/base/TMTooltip.js +1 -1
- package/lib/components/base/TMTreeView.js +16 -16
- package/lib/components/base/TMUserAvatar.js +7 -7
- package/lib/components/base/TMWaitPanel.js +30 -24
- package/lib/components/choosers/TMCultureIDPicker.js +35 -35
- package/lib/components/choosers/TMDataListItemChooser.js +1 -1
- package/lib/components/choosers/TMDataListItemPicker.js +54 -54
- package/lib/components/choosers/TMDcmtTypeChooser.js +2 -2
- package/lib/components/choosers/TMDynDataListItemChooser.js +5 -4
- package/lib/components/choosers/TMMetadataChooser.d.ts +4 -1
- package/lib/components/choosers/TMMetadataChooser.js +31 -8
- package/lib/components/choosers/TMUserChooser.d.ts +4 -0
- package/lib/components/choosers/TMUserChooser.js +21 -5
- package/lib/components/editors/TMCheckBox.js +24 -24
- package/lib/components/editors/TMDateBox.d.ts +1 -1
- package/lib/components/editors/TMDropDown.js +43 -43
- package/lib/components/editors/TMEditorStyled.js +71 -71
- package/lib/components/editors/TMHtmlContentDisplay.js +16 -16
- package/lib/components/editors/TMLocalizedTextBox.js +31 -31
- package/lib/components/editors/TMMetadataValues.js +71 -22
- package/lib/components/editors/TMRadioButton.js +39 -39
- package/lib/components/editors/TMSummary.js +39 -39
- package/lib/components/editors/TMTextArea.d.ts +1 -0
- package/lib/components/editors/TMTextArea.js +56 -22
- package/lib/components/editors/TMTextBox.js +53 -23
- package/lib/components/editors/TMTextExpression.js +36 -28
- package/lib/components/features/assistant/ToppyDraggableHelpCenter.d.ts +30 -0
- package/lib/components/features/assistant/ToppyDraggableHelpCenter.js +482 -0
- package/lib/components/features/assistant/ToppySpeechBubble.d.ts +9 -0
- package/lib/components/features/assistant/ToppySpeechBubble.js +117 -0
- package/lib/components/features/blog/TMBlogCommentForm.d.ts +2 -0
- package/lib/components/features/blog/TMBlogCommentForm.js +21 -9
- package/lib/components/features/documents/TMDcmtBlog.js +1 -1
- package/lib/components/features/documents/TMDcmtForm.d.ts +1 -0
- package/lib/components/features/documents/TMDcmtForm.js +331 -65
- package/lib/components/features/documents/TMDcmtIcon.js +17 -12
- package/lib/components/features/documents/TMDcmtPreview.js +75 -38
- package/lib/components/features/documents/TMFileUploader.js +21 -21
- package/lib/components/features/documents/TMRelationViewer.js +56 -23
- package/lib/components/features/search/TMSavedQuerySelector.js +53 -53
- package/lib/components/features/search/TMSearch.js +2 -2
- package/lib/components/features/search/TMSearchQueryEditor.js +14 -14
- package/lib/components/features/search/TMSearchQueryPanel.js +41 -59
- package/lib/components/features/search/TMSearchResult.js +256 -51
- package/lib/components/features/search/TMSearchResultCheckoutInfoForm.d.ts +8 -0
- package/lib/components/features/search/TMSearchResultCheckoutInfoForm.js +134 -0
- package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +3 -2
- package/lib/components/features/search/TMSearchResultsMenuItems.js +94 -59
- package/lib/components/features/search/TMSignSettingsForm.d.ts +9 -0
- package/lib/components/features/search/TMSignSettingsForm.js +621 -0
- package/lib/components/features/search/TMTreeSelector.js +67 -67
- package/lib/components/features/search/TMViewHistoryDcmtForm.d.ts +18 -0
- package/lib/components/features/search/TMViewHistoryDcmtForm.js +215 -0
- package/lib/components/features/tasks/TMTaskForm.js +42 -36
- package/lib/components/features/tasks/TMTasksAgenda.js +4 -4
- package/lib/components/features/tasks/TMTasksCalendar.js +2 -2
- package/lib/components/features/tasks/TMTasksHeader.js +1 -1
- package/lib/components/features/tasks/TMTasksUtils.d.ts +2 -1
- package/lib/components/features/tasks/TMTasksUtils.js +18 -3
- package/lib/components/features/tasks/TMTasksUtilsView.js +26 -4
- package/lib/components/features/tasks/TMTasksView.js +12 -6
- package/lib/components/features/wg/TMWGsCopyMoveForm.js +9 -9
- package/lib/components/features/workflow/TMWorkflowPopup.js +44 -44
- package/lib/components/features/workflow/diagram/ConnectionComponent.js +29 -29
- package/lib/components/features/workflow/diagram/ConnectionForm.js +10 -10
- package/lib/components/features/workflow/diagram/DiagramItemComponent.js +57 -57
- package/lib/components/features/workflow/diagram/DiagramItemForm.js +40 -35
- package/lib/components/features/workflow/diagram/DiagramItemSvgContent.js +12 -12
- package/lib/components/features/workflow/diagram/RecipientList.js +39 -39
- package/lib/components/features/workflow/diagram/WFDiagram.js +317 -285
- package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.js +4 -4
- package/lib/components/forms/Login/Chooser.js +35 -35
- package/lib/components/forms/Login/Menu.js +22 -22
- package/lib/components/forms/Login/SelectBox.js +46 -46
- package/lib/components/forms/Login/TMLoginForm.js +14 -14
- package/lib/components/forms/Login/TextBox.js +57 -57
- package/lib/components/forms/TMResultDialog.js +8 -2
- package/lib/components/forms/TMSaveForm.js +3 -11
- package/lib/components/grids/TMBlogAttachments.d.ts +0 -14
- package/lib/components/grids/TMBlogAttachments.js +10 -5
- package/lib/components/grids/TMBlogsPost.d.ts +8 -3
- package/lib/components/grids/TMBlogsPost.js +100 -39
- package/lib/components/grids/TMBlogsPostUtils.d.ts +1 -0
- package/lib/components/grids/TMBlogsPostUtils.js +32 -11
- package/lib/components/grids/TMRecentsManager.js +52 -52
- package/lib/components/grids/TMValidationItemsList.js +48 -48
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +2 -1
- package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -0
- package/lib/components/layout/panelManager/TMPanelManagerContainer.js +14 -14
- package/lib/components/layout/panelManager/TMPanelManagerContext.js +0 -1
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +36 -35
- package/lib/components/layout/panelManager/types.d.ts +1 -0
- package/lib/components/pages/TMPage.js +1 -1
- package/lib/components/query/TMQueryEditor.js +17 -17
- package/lib/components/query/TMQuerySummary.d.ts +1 -0
- package/lib/components/query/TMQuerySummary.js +15 -15
- package/lib/components/settings/SettingsAppearance.js +9 -1
- package/lib/components/sidebar/TMCommandsPanel.js +10 -10
- package/lib/components/sidebar/TMHeader.js +307 -307
- package/lib/components/sidebar/TMSidebar.js +24 -24
- package/lib/components/sidebar/TMSidebarItem.js +21 -21
- package/lib/components/viewers/TMDataListItemViewer.d.ts +1 -1
- package/lib/components/viewers/TMMidViewer.d.ts +1 -1
- package/lib/components/viewers/TMTidViewer.d.ts +1 -1
- package/lib/components/wizard/TMStepIndicator.js +102 -102
- package/lib/components/wizard/TMWizard.js +29 -29
- package/lib/helper/GlobalStyles.d.ts +2 -0
- package/lib/helper/GlobalStyles.js +10 -0
- package/lib/helper/Globalization.d.ts +1 -0
- package/lib/helper/Globalization.js +30 -0
- package/lib/helper/SDKUI_Globals.d.ts +9 -0
- package/lib/helper/SDKUI_Globals.js +10 -1
- package/lib/helper/SDKUI_Localizator.d.ts +59 -2
- package/lib/helper/SDKUI_Localizator.js +617 -22
- package/lib/helper/TMCustomSearchBar.js +1 -1
- package/lib/helper/TMIcons.d.ts +6 -1
- package/lib/helper/TMIcons.js +22 -2
- package/lib/helper/TMToppyMessage.d.ts +1 -0
- package/lib/helper/TMToppyMessage.js +33 -32
- package/lib/helper/TMUtils.d.ts +42 -4
- package/lib/helper/TMUtils.js +227 -60
- package/lib/helper/cicoHelper.d.ts +31 -0
- package/lib/helper/cicoHelper.js +155 -0
- package/lib/helper/dcmtsHelper.d.ts +2 -1
- package/lib/helper/dcmtsHelper.js +56 -17
- package/lib/helper/helpers.d.ts +8 -1
- package/lib/helper/helpers.js +43 -21
- package/lib/helper/index.d.ts +1 -0
- package/lib/helper/index.js +1 -0
- package/lib/hooks/useDcmtOperations.d.ts +1 -1
- package/lib/hooks/useDcmtOperations.js +10 -6
- package/lib/hooks/useRelatedDocuments.js +35 -26
- package/lib/ts/types.d.ts +3 -1
- package/package.json +54 -54
- package/lib/components/features/assistant/ToppyHelpCenter.d.ts +0 -12
- package/lib/components/features/assistant/ToppyHelpCenter.js +0 -173
|
@@ -6,31 +6,31 @@ import { ScrollView } from 'devextreme-react';
|
|
|
6
6
|
import { TMColors } from '../../utils/theme';
|
|
7
7
|
import TMSpinner from '../base/TMSpinner';
|
|
8
8
|
import { TMExceptionBoxManager } from '../base/TMPopUp';
|
|
9
|
-
const StyledTMSidebarContainer = styled.div `
|
|
10
|
-
top: ${props => props.$top || '53px'};
|
|
11
|
-
left: ${props => props.$left || '0px'};
|
|
12
|
-
width: ${props => props.$width || '50px'};
|
|
13
|
-
height: ${props => props.$height || 'calc(100% - 88px)'};
|
|
14
|
-
background: ${() => TMColors.primaryColor} 0% 0% no-repeat padding-box;
|
|
15
|
-
box-shadow: 0px 3px 6px #00000029;
|
|
16
|
-
border-radius: 0;
|
|
17
|
-
opacity: 1;
|
|
18
|
-
display: flex;
|
|
19
|
-
flex-direction: column;
|
|
20
|
-
justify-content: space-between;
|
|
21
|
-
align-items: center;
|
|
22
|
-
padding: 10px 0px;
|
|
23
|
-
position: absolute;
|
|
24
|
-
border-top-right-radius: 10px;
|
|
25
|
-
border-bottom-right-radius: 10px;
|
|
26
|
-
overflow: hidden;
|
|
9
|
+
const StyledTMSidebarContainer = styled.div `
|
|
10
|
+
top: ${props => props.$top || '53px'};
|
|
11
|
+
left: ${props => props.$left || '0px'};
|
|
12
|
+
width: ${props => props.$width || '50px'};
|
|
13
|
+
height: ${props => props.$height || 'calc(100% - 88px)'};
|
|
14
|
+
background: ${() => TMColors.primaryColor} 0% 0% no-repeat padding-box;
|
|
15
|
+
box-shadow: 0px 3px 6px #00000029;
|
|
16
|
+
border-radius: 0;
|
|
17
|
+
opacity: 1;
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
align-items: center;
|
|
22
|
+
padding: 10px 0px;
|
|
23
|
+
position: absolute;
|
|
24
|
+
border-top-right-radius: 10px;
|
|
25
|
+
border-bottom-right-radius: 10px;
|
|
26
|
+
overflow: hidden;
|
|
27
27
|
`;
|
|
28
|
-
const FixedBottomContainer = styled.div `
|
|
29
|
-
display: flex;
|
|
30
|
-
flex-direction: column;
|
|
31
|
-
align-items: center;
|
|
32
|
-
position: relative;
|
|
33
|
-
bottom: 10px;
|
|
28
|
+
const FixedBottomContainer = styled.div `
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
align-items: center;
|
|
32
|
+
position: relative;
|
|
33
|
+
bottom: 10px;
|
|
34
34
|
`;
|
|
35
35
|
const TMSidebar = ({ items, height, borderRightRadius, left, top, width }) => {
|
|
36
36
|
const [canArchive, setCanArhive] = useState(false);
|
|
@@ -10,27 +10,27 @@ var ApplicationThemeColor;
|
|
|
10
10
|
// DESIGNER = '#6b173e'
|
|
11
11
|
ApplicationThemeColor["DESIGNER"] = "#482234";
|
|
12
12
|
})(ApplicationThemeColor || (ApplicationThemeColor = {}));
|
|
13
|
-
const StyledTMSidebarItemContainer = styled.div `
|
|
14
|
-
margin-bottom: 10px;
|
|
15
|
-
background-color: transparent;
|
|
16
|
-
padding: 5px 0 0 5px;
|
|
17
|
-
transition: all 200ms ease;
|
|
18
|
-
user-select: none;
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
color: ${(props) => props.$isSelected ? TMColors.primaryColor : '#fff'};
|
|
21
|
-
background-color: ${props => props.$isSelected ? 'white' : 'transparent'} ;
|
|
22
|
-
border-radius: 3px;
|
|
23
|
-
width: 32px;
|
|
24
|
-
height: 32px;
|
|
25
|
-
|
|
26
|
-
p {
|
|
27
|
-
display: none;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
&:hover {
|
|
31
|
-
background-color: ${props => !props.$isApp && 'white'};
|
|
32
|
-
color: ${props => !props.$isApp && TMColors.primaryColor};
|
|
33
|
-
}
|
|
13
|
+
const StyledTMSidebarItemContainer = styled.div `
|
|
14
|
+
margin-bottom: 10px;
|
|
15
|
+
background-color: transparent;
|
|
16
|
+
padding: 5px 0 0 5px;
|
|
17
|
+
transition: all 200ms ease;
|
|
18
|
+
user-select: none;
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
color: ${(props) => props.$isSelected ? TMColors.primaryColor : '#fff'};
|
|
21
|
+
background-color: ${props => props.$isSelected ? 'white' : 'transparent'} ;
|
|
22
|
+
border-radius: 3px;
|
|
23
|
+
width: 32px;
|
|
24
|
+
height: 32px;
|
|
25
|
+
|
|
26
|
+
p {
|
|
27
|
+
display: none;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:hover {
|
|
31
|
+
background-color: ${props => !props.$isApp && 'white'};
|
|
32
|
+
color: ${props => !props.$isApp && TMColors.primaryColor};
|
|
33
|
+
}
|
|
34
34
|
`;
|
|
35
35
|
const TMSidebarItem = (props) => {
|
|
36
36
|
let app = SDK_Globals.appModule;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataListViewModes } from '@topconsultnpm/sdk-ts';
|
|
2
|
-
import { DataGridTypes } from 'devextreme-react/
|
|
2
|
+
import { DataGridTypes } from 'devextreme-react/data-grid';
|
|
3
3
|
interface ITMDataListItemViewerProps {
|
|
4
4
|
dataListId?: number;
|
|
5
5
|
value?: string | Date | number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ITopMediaSession, LayoutModes, MetadataDescriptor } from '@topconsultnpm/sdk-ts';
|
|
3
3
|
import { TID_MID } from '../../ts';
|
|
4
|
-
import { DataGridTypes } from 'devextreme-react/
|
|
4
|
+
import { DataGridTypes } from 'devextreme-react/data-grid';
|
|
5
5
|
export interface ITMMidViewerProps {
|
|
6
6
|
tmSession?: ITopMediaSession;
|
|
7
7
|
tid_mid: TID_MID | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DcmtTypeDescriptor, ITopMediaSession } from '@topconsultnpm/sdk-ts';
|
|
3
|
-
import { DataGridTypes } from 'devextreme-react/
|
|
3
|
+
import { DataGridTypes } from 'devextreme-react/data-grid';
|
|
4
4
|
export declare enum ImageIDList {
|
|
5
5
|
arrow_001 = "arrow_001",
|
|
6
6
|
arrow_002 = "arrow_002",
|
|
@@ -9,130 +9,130 @@ const COLOR_ERROR = '#d32f2f'; // Rosso per l'errore
|
|
|
9
9
|
const RHOMBUS_SIZE = 35;
|
|
10
10
|
const LINE_HEIGHT = 3;
|
|
11
11
|
// Contenitore principale, centrato orizzontalmente
|
|
12
|
-
const IndicatorContainer = styled.div `
|
|
13
|
-
display: flex;
|
|
14
|
-
flex-direction: column;
|
|
15
|
-
align-items: center;
|
|
16
|
-
padding: 20px 0 20px 0;
|
|
17
|
-
width: 100%;
|
|
18
|
-
flex-shrink: 0;
|
|
12
|
+
const IndicatorContainer = styled.div `
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
align-items: center;
|
|
16
|
+
padding: 20px 0 20px 0;
|
|
17
|
+
width: 100%;
|
|
18
|
+
flex-shrink: 0;
|
|
19
19
|
`;
|
|
20
20
|
// Titolo dello step corrente sotto la barra
|
|
21
21
|
// AGGIUNGIAMO STILE PER IL TITOLO CON ERRORE
|
|
22
|
-
const StepTitle = styled.div `
|
|
23
|
-
font-weight: bold;
|
|
24
|
-
text-align: center;
|
|
25
|
-
font-size: 1.3em;
|
|
26
|
-
padding-top: 15px;
|
|
27
|
-
|
|
28
|
-
// Cambia colore del titolo se lo step corrente ha un errore
|
|
29
|
-
color: ${props => (props.$isError ? COLOR_ERROR : COLOR_PRIMARY)};
|
|
30
|
-
|
|
31
|
-
// Styling per l'icona di errore accanto al titolo (se presente)
|
|
32
|
-
display: flex;
|
|
33
|
-
align-items: center;
|
|
34
|
-
justify-content: center;
|
|
35
|
-
|
|
36
|
-
.error-icon {
|
|
37
|
-
margin-left: 8px;
|
|
38
|
-
font-size: 1.1em;
|
|
39
|
-
}
|
|
22
|
+
const StepTitle = styled.div `
|
|
23
|
+
font-weight: bold;
|
|
24
|
+
text-align: center;
|
|
25
|
+
font-size: 1.3em;
|
|
26
|
+
padding-top: 15px;
|
|
27
|
+
|
|
28
|
+
// Cambia colore del titolo se lo step corrente ha un errore
|
|
29
|
+
color: ${props => (props.$isError ? COLOR_ERROR : COLOR_PRIMARY)};
|
|
30
|
+
|
|
31
|
+
// Styling per l'icona di errore accanto al titolo (se presente)
|
|
32
|
+
display: flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
justify-content: center;
|
|
35
|
+
|
|
36
|
+
.error-icon {
|
|
37
|
+
margin-left: 8px;
|
|
38
|
+
font-size: 1.1em;
|
|
39
|
+
}
|
|
40
40
|
`;
|
|
41
|
-
const StepBar = styled.div `
|
|
42
|
-
display: flex;
|
|
43
|
-
justify-content: space-between;
|
|
44
|
-
align-items: center;
|
|
45
|
-
width: 80%;
|
|
46
|
-
max-width: 600px;
|
|
47
|
-
position: relative;
|
|
48
|
-
padding: 0;
|
|
41
|
+
const StepBar = styled.div `
|
|
42
|
+
display: flex;
|
|
43
|
+
justify-content: space-between;
|
|
44
|
+
align-items: center;
|
|
45
|
+
width: 80%;
|
|
46
|
+
max-width: 600px;
|
|
47
|
+
position: relative;
|
|
48
|
+
padding: 0;
|
|
49
49
|
`;
|
|
50
50
|
// Contenitore per le linee (omesso per brevità, rimane invariato)
|
|
51
|
-
const LineContainer = styled.div `
|
|
52
|
-
position: absolute;
|
|
53
|
-
top: 50%;
|
|
54
|
-
transform: translateY(-50%);
|
|
55
|
-
height: ${LINE_HEIGHT}px;
|
|
56
|
-
z-index: 1;
|
|
57
|
-
|
|
58
|
-
/* Calcoliamo il padding per escludere metà rombo da ogni lato */
|
|
59
|
-
left: ${RHOMBUS_SIZE / 2}px;
|
|
60
|
-
right: ${RHOMBUS_SIZE / 2}px;
|
|
61
|
-
width: ${props => props.$numSteps > 1 ? `calc(100% - ${RHOMBUS_SIZE}px)` : '0'};
|
|
51
|
+
const LineContainer = styled.div `
|
|
52
|
+
position: absolute;
|
|
53
|
+
top: 50%;
|
|
54
|
+
transform: translateY(-50%);
|
|
55
|
+
height: ${LINE_HEIGHT}px;
|
|
56
|
+
z-index: 1;
|
|
57
|
+
|
|
58
|
+
/* Calcoliamo il padding per escludere metà rombo da ogni lato */
|
|
59
|
+
left: ${RHOMBUS_SIZE / 2}px;
|
|
60
|
+
right: ${RHOMBUS_SIZE / 2}px;
|
|
61
|
+
width: ${props => props.$numSteps > 1 ? `calc(100% - ${RHOMBUS_SIZE}px)` : '0'};
|
|
62
62
|
`;
|
|
63
63
|
// Linea di connessione grigia (base) (omesso per brevità, rimane invariato)
|
|
64
|
-
const BaseLine = styled.div `
|
|
65
|
-
height: 100%;
|
|
66
|
-
background-color: ${COLOR_SECONDARY};
|
|
67
|
-
width: 100%;
|
|
68
|
-
position: absolute;
|
|
69
|
-
top: 0;
|
|
70
|
-
left: 0;
|
|
64
|
+
const BaseLine = styled.div `
|
|
65
|
+
height: 100%;
|
|
66
|
+
background-color: ${COLOR_SECONDARY};
|
|
67
|
+
width: 100%;
|
|
68
|
+
position: absolute;
|
|
69
|
+
top: 0;
|
|
70
|
+
left: 0;
|
|
71
71
|
`;
|
|
72
72
|
// Linea di avanzamento colorata (progress bar) (omesso per brevità, rimane invariato)
|
|
73
|
-
const ProgressLine = styled.div `
|
|
74
|
-
height: 100%;
|
|
75
|
-
background-color: ${COLOR_PRIMARY};
|
|
76
|
-
width: ${props => props.$widthPercentage}%;
|
|
77
|
-
transition: width 0.3s ease-in-out;
|
|
78
|
-
position: absolute;
|
|
79
|
-
left: 0;
|
|
80
|
-
top: 0;
|
|
81
|
-
z-index: 2;
|
|
73
|
+
const ProgressLine = styled.div `
|
|
74
|
+
height: 100%;
|
|
75
|
+
background-color: ${COLOR_PRIMARY};
|
|
76
|
+
width: ${props => props.$widthPercentage}%;
|
|
77
|
+
transition: width 0.3s ease-in-out;
|
|
78
|
+
position: absolute;
|
|
79
|
+
left: 0;
|
|
80
|
+
top: 0;
|
|
81
|
+
z-index: 2;
|
|
82
82
|
`;
|
|
83
83
|
// Stile per ogni singolo step (elemento flex) (omesso per brevità, rimane invariato)
|
|
84
|
-
const StepItem = styled.div `
|
|
85
|
-
display: flex;
|
|
86
|
-
justify-content: center;
|
|
87
|
-
align-items: center;
|
|
88
|
-
position: relative;
|
|
89
|
-
z-index: 2;
|
|
90
|
-
flex-basis: auto;
|
|
84
|
+
const StepItem = styled.div `
|
|
85
|
+
display: flex;
|
|
86
|
+
justify-content: center;
|
|
87
|
+
align-items: center;
|
|
88
|
+
position: relative;
|
|
89
|
+
z-index: 2;
|
|
90
|
+
flex-basis: auto;
|
|
91
91
|
`;
|
|
92
92
|
// Il Rombo (il contenitore esterno ruotato)
|
|
93
93
|
// AGGIUNGIAMO $isError
|
|
94
|
-
const StepRhombusContainer = styled.div `
|
|
95
|
-
width: ${RHOMBUS_SIZE}px;
|
|
96
|
-
height: ${RHOMBUS_SIZE}px;
|
|
97
|
-
transform: rotate(45deg);
|
|
98
|
-
display: flex;
|
|
99
|
-
justify-content: center;
|
|
100
|
-
align-items: center;
|
|
101
|
-
flex-shrink: 0;
|
|
102
|
-
|
|
103
|
-
// Gestione colore/bordo in base allo stato di errore
|
|
104
|
-
background-color: ${props => (props.$isCurrent ? (props.$isError ? COLOR_ERROR : COLOR_PRIMARY) : 'white')};
|
|
105
|
-
|
|
106
|
-
// Bordo in caso di errore (se non completato e non corrente)
|
|
94
|
+
const StepRhombusContainer = styled.div `
|
|
95
|
+
width: ${RHOMBUS_SIZE}px;
|
|
96
|
+
height: ${RHOMBUS_SIZE}px;
|
|
97
|
+
transform: rotate(45deg);
|
|
98
|
+
display: flex;
|
|
99
|
+
justify-content: center;
|
|
100
|
+
align-items: center;
|
|
101
|
+
flex-shrink: 0;
|
|
102
|
+
|
|
103
|
+
// Gestione colore/bordo in base allo stato di errore
|
|
104
|
+
background-color: ${props => (props.$isCurrent ? (props.$isError ? COLOR_ERROR : COLOR_PRIMARY) : 'white')};
|
|
105
|
+
|
|
106
|
+
// Bordo in caso di errore (se non completato e non corrente)
|
|
107
107
|
border: 2px solid ${props => (props.$isCurrent ? 'transparent' :
|
|
108
108
|
props.$isError ? COLOR_ERROR :
|
|
109
|
-
props.$isCompleted ? COLOR_PRIMARY : COLOR_SECONDARY)};
|
|
110
|
-
|
|
111
|
-
box-shadow: ${props => (props.$isCompleted && !props.$isCurrent ? `0 0 0 1px ${COLOR_PRIMARY}` : 'none')};
|
|
112
|
-
|
|
113
|
-
${props => props.$isCurrent && `
|
|
114
|
-
border: none;
|
|
115
|
-
box-shadow: 0 0 0 1px ${props.$isError ? COLOR_ERROR : COLOR_PRIMARY};
|
|
116
|
-
`}
|
|
109
|
+
props.$isCompleted ? COLOR_PRIMARY : COLOR_SECONDARY)};
|
|
110
|
+
|
|
111
|
+
box-shadow: ${props => (props.$isCompleted && !props.$isCurrent ? `0 0 0 1px ${COLOR_PRIMARY}` : 'none')};
|
|
112
|
+
|
|
113
|
+
${props => props.$isCurrent && `
|
|
114
|
+
border: none;
|
|
115
|
+
box-shadow: 0 0 0 1px ${props.$isError ? COLOR_ERROR : COLOR_PRIMARY};
|
|
116
|
+
`}
|
|
117
117
|
`;
|
|
118
118
|
// Contenuto interno ruotato
|
|
119
119
|
// AGGIUNGIAMO $isError
|
|
120
|
-
const StepContent = styled.div `
|
|
121
|
-
transform: rotate(-45deg);
|
|
122
|
-
font-weight: bold;
|
|
123
|
-
font-size: 1em;
|
|
124
|
-
display: flex;
|
|
125
|
-
align-items: center;
|
|
126
|
-
|
|
127
|
-
// Colore del testo/icona
|
|
120
|
+
const StepContent = styled.div `
|
|
121
|
+
transform: rotate(-45deg);
|
|
122
|
+
font-weight: bold;
|
|
123
|
+
font-size: 1em;
|
|
124
|
+
display: flex;
|
|
125
|
+
align-items: center;
|
|
126
|
+
|
|
127
|
+
// Colore del testo/icona
|
|
128
128
|
color: ${props => (props.$isCurrent ? 'white' :
|
|
129
129
|
props.$isError ? COLOR_ERROR :
|
|
130
|
-
props.$isCompleted ? COLOR_PRIMARY : COLOR_SECONDARY)};
|
|
131
|
-
|
|
132
|
-
/* Regola la dimensione dell'icona Check per lo step completato */
|
|
133
|
-
.MuiSvgIcon-root {
|
|
134
|
-
font-size: 18px;
|
|
135
|
-
}
|
|
130
|
+
props.$isCompleted ? COLOR_PRIMARY : COLOR_SECONDARY)};
|
|
131
|
+
|
|
132
|
+
/* Regola la dimensione dell'icona Check per lo step completato */
|
|
133
|
+
.MuiSvgIcon-root {
|
|
134
|
+
font-size: 18px;
|
|
135
|
+
}
|
|
136
136
|
`;
|
|
137
137
|
const StepIndicator = ({ steps, currentStepIndex, stepValidityStatuses }) => {
|
|
138
138
|
const numberOfSections = steps.length - 1;
|
|
@@ -5,40 +5,40 @@ import styled from 'styled-components';
|
|
|
5
5
|
import { ResultTypes } from '@topconsultnpm/sdk-ts';
|
|
6
6
|
import TMButton from '../base/TMButton';
|
|
7
7
|
import StepIndicator from './TMStepIndicator';
|
|
8
|
-
const WizardContainer = styled.div `
|
|
9
|
-
display: flex;
|
|
10
|
-
flex-direction: column;
|
|
11
|
-
height: 100%;
|
|
12
|
-
background-color: white;
|
|
13
|
-
padding: 8px;
|
|
8
|
+
const WizardContainer = styled.div `
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
height: 100%;
|
|
12
|
+
background-color: white;
|
|
13
|
+
padding: 8px;
|
|
14
14
|
`;
|
|
15
|
-
const WizardHeader = styled.div `
|
|
16
|
-
flex-shrink: 0;
|
|
17
|
-
padding: 0 20px 20px 20px;
|
|
15
|
+
const WizardHeader = styled.div `
|
|
16
|
+
flex-shrink: 0;
|
|
17
|
+
padding: 0 20px 20px 20px;
|
|
18
18
|
`;
|
|
19
|
-
const WizardTitle = styled.h2 `
|
|
20
|
-
font-size: 1.3em;
|
|
21
|
-
font-weight: bold;
|
|
22
|
-
margin: 0;
|
|
23
|
-
color: #333;
|
|
19
|
+
const WizardTitle = styled.h2 `
|
|
20
|
+
font-size: 1.3em;
|
|
21
|
+
font-weight: bold;
|
|
22
|
+
margin: 0;
|
|
23
|
+
color: #333;
|
|
24
24
|
`;
|
|
25
|
-
const WizardDescription = styled.p `
|
|
26
|
-
font-size: 1em;
|
|
27
|
-
margin-top: 5px;
|
|
28
|
-
color: #666;
|
|
25
|
+
const WizardDescription = styled.p `
|
|
26
|
+
font-size: 1em;
|
|
27
|
+
margin-top: 5px;
|
|
28
|
+
color: #666;
|
|
29
29
|
`;
|
|
30
|
-
const StepContent = styled.div `
|
|
31
|
-
flex-grow: 1;
|
|
32
|
-
overflow-y: auto;
|
|
33
|
-
padding: 20px;
|
|
30
|
+
const StepContent = styled.div `
|
|
31
|
+
flex-grow: 1;
|
|
32
|
+
overflow-y: auto;
|
|
33
|
+
padding: 20px;
|
|
34
34
|
`;
|
|
35
|
-
const ControlsContainer = styled.div `
|
|
36
|
-
flex-shrink: 0;
|
|
37
|
-
display: flex;
|
|
38
|
-
justify-content: flex-end;
|
|
39
|
-
gap: 15px;
|
|
40
|
-
padding: 15px 20px;
|
|
41
|
-
border-top: 1px solid #eee;
|
|
35
|
+
const ControlsContainer = styled.div `
|
|
36
|
+
flex-shrink: 0;
|
|
37
|
+
display: flex;
|
|
38
|
+
justify-content: flex-end;
|
|
39
|
+
gap: 15px;
|
|
40
|
+
padding: 15px 20px;
|
|
41
|
+
border-top: 1px solid #eee;
|
|
42
42
|
`;
|
|
43
43
|
const TMWizard = ({ steps, validateOnlyCurrentStep = true, onClose, onFinish, initialData, title, description }) => {
|
|
44
44
|
const [currentStep, setCurrentStep] = useState(0);
|
|
@@ -6,6 +6,7 @@ export declare enum DateDisplayTypes {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class Globalization {
|
|
8
8
|
static getDateTimeDisplayValue(value: Date | string | undefined, displayType?: DateDisplayTypes, metadataFormat?: MetadataFormats): string;
|
|
9
|
+
static getDateTimeDisplayValueCompact(value: Date | string | undefined, displayType?: DateDisplayTypes, metadataFormat?: MetadataFormats): string;
|
|
9
10
|
static getDateDisplayFormat(displayType?: DateDisplayTypes): string;
|
|
10
11
|
static getNumberDisplayValue(value: Number, withThousandsSeparator?: boolean, numberDisplayFormat?: string): string;
|
|
11
12
|
static metadataFormatToDateDisplayFormat(format: MetadataFormats): "" | "MM/dd/yyyy" | "dd/MM/yyyy" | "EEEE dd MMMM yyyy" | "HH:mm" | "HH:mm:ss" | "MM/dd/yyyy HH:mm:ss" | "dd/MM/yyyy HH:mm:ss" | "MM/dd/yyyy HH:mm" | "dd/MM/yyyy HH:mm" | "EEEE dd MMMM yyyy HH:mm" | "EEEE dd MMMM yyyy HH:mm:ss";
|
|
@@ -29,6 +29,36 @@ export class Globalization {
|
|
|
29
29
|
dateTime = dateTime.replace("ss", dt.getSeconds().toString().padStart(2, '0'));
|
|
30
30
|
return dateTime;
|
|
31
31
|
}
|
|
32
|
+
static getDateTimeDisplayValueCompact(value, displayType, metadataFormat) {
|
|
33
|
+
if (!value)
|
|
34
|
+
return "";
|
|
35
|
+
let dt = typeof value === "string" ? new Date(value) : value;
|
|
36
|
+
let dateDisplayFormat = metadataFormat ? this.metadataFormatToDateDisplayFormat(metadataFormat) : this.getDateDisplayFormat(displayType);
|
|
37
|
+
let dateTime = dateDisplayFormat;
|
|
38
|
+
dateTime = dateTime.replace("EEEE", dt.toLocaleString(navigator.language, { weekday: "long" }));
|
|
39
|
+
dateTime = dateTime.replace("dd", dt.toLocaleString(navigator.language, { day: "2-digit" }));
|
|
40
|
+
dateTime = dateTime.replace("MMMM", dt.toLocaleString(navigator.language, { month: "long" }));
|
|
41
|
+
dateTime = dateTime.replace("MM", dt.toLocaleString(navigator.language, { month: "2-digit" }));
|
|
42
|
+
dateTime = dateTime.replace("yyyy", dt.toLocaleString(navigator.language, { year: "numeric" }));
|
|
43
|
+
// gestione ore, minuti e secondi
|
|
44
|
+
const hh = dt.getHours().toString().padStart(2, '0');
|
|
45
|
+
const mm = dt.getMinutes().toString().padStart(2, '0');
|
|
46
|
+
const ss = dt.getSeconds().toString().padStart(2, '0');
|
|
47
|
+
if (hh === '00' && mm === '00' && ss === '00') {
|
|
48
|
+
// nessun tempo
|
|
49
|
+
dateTime = dateTime.replace(/HH:mm:ss/, '').trim();
|
|
50
|
+
}
|
|
51
|
+
else if (ss === '00') {
|
|
52
|
+
// togli solo i secondi
|
|
53
|
+
dateTime = dateTime.replace(/ss/, '').replace(/:$/, '');
|
|
54
|
+
dateTime = dateTime.replace("HH", hh).replace("mm", mm);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// mantieni tutto
|
|
58
|
+
dateTime = dateTime.replace("HH", hh).replace("mm", mm).replace("ss", ss);
|
|
59
|
+
}
|
|
60
|
+
return dateTime;
|
|
61
|
+
}
|
|
32
62
|
static getDateDisplayFormat(displayType = DateDisplayTypes.DateTime) {
|
|
33
63
|
let timeFormat = "HH:mm:ss";
|
|
34
64
|
if (displayType == DateDisplayTypes.Time)
|
|
@@ -17,6 +17,7 @@ export declare class UserSettings {
|
|
|
17
17
|
themeSettings: ThemeSettings;
|
|
18
18
|
dcmtFormSettings: DcmtFormSettings[];
|
|
19
19
|
wgDraftCheckoutInfo: WgDraftCheckoutInfo[];
|
|
20
|
+
dcmtCheckoutInfo: DcmtCheckoutInfo[];
|
|
20
21
|
defaultCheckInOutFolder: string;
|
|
21
22
|
constructor(skipCssUpdate?: boolean);
|
|
22
23
|
/** Load settings from local storage or other sources */
|
|
@@ -32,6 +33,7 @@ export declare class DataGridSettings {
|
|
|
32
33
|
}
|
|
33
34
|
export declare class ThemeSettings {
|
|
34
35
|
fontSize: string;
|
|
36
|
+
fontFamily: string;
|
|
35
37
|
gridSettings: DataGridSettings;
|
|
36
38
|
constructor(skipCssUpdate?: boolean);
|
|
37
39
|
/**
|
|
@@ -40,6 +42,7 @@ export declare class ThemeSettings {
|
|
|
40
42
|
*/
|
|
41
43
|
toJSON(): {
|
|
42
44
|
fontSize: string;
|
|
45
|
+
fontFamily: string;
|
|
43
46
|
gridSettings: DataGridSettings;
|
|
44
47
|
};
|
|
45
48
|
}
|
|
@@ -89,6 +92,12 @@ export interface WgDraftCheckoutInfo {
|
|
|
89
92
|
checkoutFolder: string;
|
|
90
93
|
checkoutName: string;
|
|
91
94
|
}
|
|
95
|
+
export interface DcmtCheckoutInfo {
|
|
96
|
+
DID: string;
|
|
97
|
+
TID: string;
|
|
98
|
+
checkoutFolder: string;
|
|
99
|
+
checkoutName: string;
|
|
100
|
+
}
|
|
92
101
|
export declare class SDKUI_Globals {
|
|
93
102
|
static userSettings: UserSettings;
|
|
94
103
|
}
|
|
@@ -20,6 +20,7 @@ export class UserSettings {
|
|
|
20
20
|
this.themeSettings = new ThemeSettings(true);
|
|
21
21
|
this.dcmtFormSettings = [];
|
|
22
22
|
this.wgDraftCheckoutInfo = [];
|
|
23
|
+
this.dcmtCheckoutInfo = [];
|
|
23
24
|
this.defaultCheckInOutFolder = DEFAULT_CHECK_IN_OUT_FOLDER;
|
|
24
25
|
this.themeSettings = new ThemeSettings(skipCssUpdate);
|
|
25
26
|
}
|
|
@@ -36,8 +37,9 @@ export class UserSettings {
|
|
|
36
37
|
// Ensure userID and archiveID are set
|
|
37
38
|
settings.userID = userID;
|
|
38
39
|
settings.archiveID = archiveID;
|
|
39
|
-
// Update the CSS
|
|
40
|
+
// Update the CSS variables for font size and font family
|
|
40
41
|
document.documentElement.style.setProperty('--base-font-size', settings.themeSettings.fontSize);
|
|
42
|
+
document.documentElement.style.setProperty('--base-font-family', settings.themeSettings.fontFamily);
|
|
41
43
|
// Wrap the settings object in a Proxy to intercept property updates
|
|
42
44
|
const proxiedSettings = createProxy(settings, UserSettings.SaveSettings);
|
|
43
45
|
// Automatically set the global userSettings
|
|
@@ -68,10 +70,12 @@ export class DataGridSettings {
|
|
|
68
70
|
export class ThemeSettings {
|
|
69
71
|
constructor(skipCssUpdate = false) {
|
|
70
72
|
this.fontSize = FontSize.defaultFontSizeInPixel;
|
|
73
|
+
this.fontFamily = 'Inter';
|
|
71
74
|
this.gridSettings = new DataGridSettings();
|
|
72
75
|
// Automatically update the CSS variable for font size
|
|
73
76
|
if (!skipCssUpdate) {
|
|
74
77
|
document.documentElement.style.setProperty('--base-font-size', this.fontSize);
|
|
78
|
+
document.documentElement.style.setProperty('--base-font-family', this.fontFamily);
|
|
75
79
|
}
|
|
76
80
|
}
|
|
77
81
|
/**
|
|
@@ -81,6 +85,7 @@ export class ThemeSettings {
|
|
|
81
85
|
toJSON() {
|
|
82
86
|
return {
|
|
83
87
|
fontSize: this.fontSize,
|
|
88
|
+
fontFamily: this.fontFamily,
|
|
84
89
|
gridSettings: this.gridSettings,
|
|
85
90
|
};
|
|
86
91
|
}
|
|
@@ -148,6 +153,10 @@ function createProxy(obj, saveCallback, rootObj) {
|
|
|
148
153
|
if (prop === 'fontSize' && root instanceof UserSettings) {
|
|
149
154
|
document.documentElement.style.setProperty('--base-font-size', value);
|
|
150
155
|
}
|
|
156
|
+
// Handle specific property (fontFamily) updates
|
|
157
|
+
if (prop === 'fontFamily' && root instanceof UserSettings) {
|
|
158
|
+
document.documentElement.style.setProperty('--base-font-family', value);
|
|
159
|
+
}
|
|
151
160
|
// Handle specific property (invoiceRetrieveFormat, orderRetrieveFormat) updates
|
|
152
161
|
if ((prop === 'invoiceRetrieveFormat' || prop === 'orderRetrieveFormat') && root instanceof UserSettings) {
|
|
153
162
|
clearDcmtsFileCache();
|