@topconsultnpm/sdkui-react-beta 6.15.91 → 6.15.93
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/features/documents/TMDcmtForm.js +37 -16
- package/lib/components/features/workflow/diagram/WFDiagram.d.ts +0 -1
- package/lib/components/features/workflow/diagram/WFDiagram.js +22 -16
- package/lib/components/forms/TMChooserForm.js +2 -2
- package/lib/components/layout/panelManager/TMPanelManagerContext.js +1 -1
- package/lib/helper/SDKUI_Localizator.d.ts +3 -0
- package/lib/helper/SDKUI_Localizator.js +30 -0
- package/lib/helper/TMIcons.d.ts +1 -0
- package/lib/helper/TMIcons.js +3 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import TMDcmtPreview from './TMDcmtPreview';
|
|
4
|
-
import { AccessLevels, ArchiveConstraints, ArchiveEngineByID, DcmtTypeListCacheService, LayoutModes, MetadataDataTypes, ResultTypes, SDK_Globals, SDK_Localizator, SystemMIDsAsNumber, SystemTIDs, Task_States, TemplateTIDs,
|
|
4
|
+
import { AccessLevels, ArchiveConstraints, ArchiveEngineByID, DcmtTypeListCacheService, LayoutModes, MetadataDataTypes, ResultTypes, SDK_Globals, SDK_Localizator, SystemMIDsAsNumber, SystemTIDs, Task_States, TemplateTIDs, UpdateEngineByID, ValidationItem, WorkflowCacheService, WorkItemMetadataNames } from '@topconsultnpm/sdk-ts-beta';
|
|
5
5
|
import { ContextMenu } from 'devextreme-react';
|
|
6
6
|
import { WorkFlowApproveRejectPopUp, WorkFlowMoreInfoPopUp, WorkFlowOperationButtons, WorkFlowReAssignPopUp } from '../workflow/TMWorkflowPopup';
|
|
7
7
|
import { DownloadTypes, FormModes } from '../../../ts';
|
|
@@ -73,6 +73,7 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
73
73
|
const [workItems, setWorkItems] = useState([]);
|
|
74
74
|
const [workflows, setWorkflows] = useState([]);
|
|
75
75
|
const [showCommentForm, setShowCommentForm] = useState(false);
|
|
76
|
+
const [zoomLevel, setZoomLevel] = useState(1);
|
|
76
77
|
const { openConfirmAttachmentsDialog, ConfirmAttachmentsDialog } = useInputAttachmentsDialog();
|
|
77
78
|
const { abortController, showWaitPanel, waitPanelTitle, showPrimary, waitPanelTextPrimary, waitPanelValuePrimary, waitPanelMaxValuePrimary, showSecondary, waitPanelTextSecondary, waitPanelValueSecondary, waitPanelMaxValueSecondary, downloadDcmtsAsync } = useDcmtOperations();
|
|
78
79
|
// Custom hook to manage workflow approval data
|
|
@@ -153,6 +154,9 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
153
154
|
TMSpinner.hide();
|
|
154
155
|
}
|
|
155
156
|
};
|
|
157
|
+
const handleZoomIn = () => setZoomLevel(z => Math.min(z + 0.2, 2));
|
|
158
|
+
const handleZoomOut = () => setZoomLevel(z => Math.max(z - 0.2, 0.4));
|
|
159
|
+
const formattedZoomLevel = `${Math.round(zoomLevel * 100)}%`;
|
|
156
160
|
useEffect(() => { setID(genUniqueId()); }, []);
|
|
157
161
|
useEffect(() => {
|
|
158
162
|
if (!inputFile || inputFile === null)
|
|
@@ -214,9 +218,9 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
214
218
|
for (const dataRow of workflow.dtdResult?.rows ?? []) {
|
|
215
219
|
let did = Number(dataRow?.[1]);
|
|
216
220
|
if (did === Number(DID)) {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
w
|
|
221
|
+
const index = workflow.dtdResult?.columns?.findIndex(o => o.caption === WorkItemMetadataNames.WI_SetID);
|
|
222
|
+
const setID = (index && index >= 0) ? dataRow[index] : undefined;
|
|
223
|
+
let w = { tid: Number(dataRow?.[0]), did: did, setID: setID };
|
|
220
224
|
items.push(w);
|
|
221
225
|
}
|
|
222
226
|
}
|
|
@@ -242,7 +246,7 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
242
246
|
setSecondaryMasterDcmts((prevItems) => prevItems.filter(item => item.TID !== tid && item.DID !== did));
|
|
243
247
|
};
|
|
244
248
|
const isPreviewDisabled = layoutMode === LayoutModes.Ark && fromDTD?.archiveConstraint === ArchiveConstraints.OnlyMetadata;
|
|
245
|
-
const isBoardDisabled = layoutMode !== LayoutModes.Update || fromDTD?.hasBlog !== 1;
|
|
249
|
+
// const isBoardDisabled = layoutMode !== LayoutModes.Update || fromDTD?.hasBlog !== 1;
|
|
246
250
|
const isSysMetadataDisabled = layoutMode !== LayoutModes.Update;
|
|
247
251
|
const isDetailsDisabled = layoutMode !== LayoutModes.Update || !DID;
|
|
248
252
|
const isMasterDisabled = layoutMode !== LayoutModes.Update || !DID;
|
|
@@ -476,6 +480,7 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
476
480
|
};
|
|
477
481
|
const isMobile = deviceType === DeviceType.MOBILE;
|
|
478
482
|
const isApprView = fromDTD?.templateTID === TemplateTIDs.WF_WIApprView;
|
|
483
|
+
const WIsetIdValue = workItems.find(o => o.did === Number(DID))?.setID || formData.find(o => o.md?.name === WorkItemMetadataNames.WI_SetID)?.value;
|
|
479
484
|
useEffect(() => {
|
|
480
485
|
if ((isApprView || TID === SystemTIDs.Drafts) && !showAll)
|
|
481
486
|
setShowAll(true);
|
|
@@ -502,15 +507,21 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
502
507
|
const tmDcmtPreview = useMemo(() => _jsx(TMDcmtPreviewWrapper, { currentDcmt: currentDcmt, dcmtFile: dcmtFile ?? inputFile, deviceType: deviceType, fromDTD: fromDTD, layoutMode: layoutMode, onFileUpload: (setFile) => {
|
|
503
508
|
setDcmtFile(setFile);
|
|
504
509
|
} }), [currentDcmt, dcmtFile, deviceType, fromDTD, layoutMode, inputFile]);
|
|
505
|
-
const [zoomLevel, setZoomLevel] = useState(1);
|
|
506
|
-
const handleZoomIn = () => setZoomLevel(z => Math.min(z + 0.2, 2));
|
|
507
|
-
const handleZoomOut = () => setZoomLevel(z => Math.max(z - 0.2, 0.4));
|
|
508
|
-
const formattedZoomLevel = `${Math.round(zoomLevel * 100)}%`;
|
|
509
510
|
const tmWF = useMemo(() => {
|
|
510
|
-
return (_jsxs("div", { style: { position: 'relative', width: '100%', height: '100%'
|
|
511
|
+
return (_jsxs("div", { style: { position: 'relative', width: '100%', height: '100%', display: 'flex', flexDirection: 'column', gap: 3 }, children: [workItems.length > 0
|
|
512
|
+
? _jsx(WFDiagram, { xmlDiagramString: workflows?.[0]?.diagram || '', currentSetID: WIsetIdValue, readOnly: true, zoomLevel: zoomLevel, translateX: 0, translateY: 0 })
|
|
513
|
+
: _jsx("div", { style: {
|
|
514
|
+
position: 'absolute',
|
|
515
|
+
top: '50%',
|
|
516
|
+
left: '50%',
|
|
517
|
+
transform: 'translate(-50%, -50%)',
|
|
518
|
+
fontSize: '1.1rem',
|
|
519
|
+
color: TMColors.primaryColor,
|
|
520
|
+
textAlign: 'center',
|
|
521
|
+
}, children: SDKUI_Localizator.WorkflowNoInstances }), workItems.length > 0 && _jsxs("div", { style: {
|
|
511
522
|
position: 'absolute',
|
|
512
523
|
left: 16,
|
|
513
|
-
bottom: 16,
|
|
524
|
+
bottom: WIsetIdValue || workItems.length <= 0 ? 16 : 64,
|
|
514
525
|
display: 'flex',
|
|
515
526
|
flexDirection: 'row',
|
|
516
527
|
background: 'transparent linear-gradient(180deg, #E03A8B 9%, #C2388B 34%, #A63B8D 60%, #943C8D 83%, #8F3C8D 100%) 0% 0% no-repeat padding-box',
|
|
@@ -529,8 +540,13 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
529
540
|
alignItems: 'center',
|
|
530
541
|
padding: '0 8px',
|
|
531
542
|
borderRadius: 4
|
|
532
|
-
}, children: formattedZoomLevel })] })
|
|
533
|
-
|
|
543
|
+
}, children: formattedZoomLevel })] }), !WIsetIdValue && workItems.length > 0 &&
|
|
544
|
+
_jsx("div", { style: {
|
|
545
|
+
padding: 5,
|
|
546
|
+
backgroundColor: 'khaki',
|
|
547
|
+
borderRadius: 8
|
|
548
|
+
}, children: SDKUI_Localizator.WorkItemTechnicalNote_SetID })] }));
|
|
549
|
+
}, [workflows, formData, WIsetIdValue, workItems, zoomLevel, handleZoomIn, handleZoomOut]);
|
|
534
550
|
const normalizedTID = TID !== undefined ? Number(TID) : undefined;
|
|
535
551
|
const defaultPanelDimensions = {
|
|
536
552
|
'tmDcmtForm': { width: '20%', height: '100%' },
|
|
@@ -573,7 +589,7 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
573
589
|
id: 'tmBlog',
|
|
574
590
|
name: SDKUI_Localizator.BlogCase,
|
|
575
591
|
contentOptions: { component: tmBlog, panelContainer: { title: SDKUI_Localizator.BlogCase, allowMaximize: !isMobile } },
|
|
576
|
-
toolbarOptions: { icon: _jsx(IconBoard, { fontSize: 24 }), visible: true, disabled:
|
|
592
|
+
toolbarOptions: { icon: _jsx(IconBoard, { fontSize: 24 }), visible: true, disabled: false, orderNumber: 2, isActive: allInitialPanelVisibility['tmBlog'] }
|
|
577
593
|
},
|
|
578
594
|
{
|
|
579
595
|
id: 'tmSysMetadata',
|
|
@@ -604,7 +620,7 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
604
620
|
isActive: allInitialPanelVisibility['tmWF']
|
|
605
621
|
}
|
|
606
622
|
},
|
|
607
|
-
], [tmDcmtForm, tmBlog, tmSysMetadata, tmDcmtPreview, tmWF, isPreviewDisabled,
|
|
623
|
+
], [tmDcmtForm, tmBlog, tmSysMetadata, tmDcmtPreview, tmWF, isPreviewDisabled, isSysMetadataDisabled, isWFDisabled, inputFile, isClosable]);
|
|
608
624
|
// Retrieves the current document form setting based on the normalized TID
|
|
609
625
|
const getCurrentDcmtFormSetting = () => {
|
|
610
626
|
const settings = SDKUI_Globals.userSettings.dcmtFormSettings;
|
|
@@ -777,8 +793,13 @@ const validateMaxLength = (mvd, value, validationItems) => {
|
|
|
777
793
|
};
|
|
778
794
|
//#endregion Validation
|
|
779
795
|
const TMDcmtPreviewWrapper = ({ currentDcmt, layoutMode, fromDTD, dcmtFile, deviceType, isVisible, onFileUpload }) => {
|
|
780
|
-
const { setPanelVisibilityById, toggleMaximize, isResizingActive, countVisibleLeafPanels } = useTMPanelManagerContext();
|
|
796
|
+
const { setPanelVisibilityById, toggleMaximize, isResizingActive, countVisibleLeafPanels, setToolbarButtonDisabled } = useTMPanelManagerContext();
|
|
781
797
|
const isMobile = deviceType === DeviceType.MOBILE;
|
|
798
|
+
useEffect(() => {
|
|
799
|
+
if (layoutMode !== LayoutModes.Update || fromDTD?.hasBlog !== 1) {
|
|
800
|
+
setToolbarButtonDisabled('tmBlog', true);
|
|
801
|
+
}
|
|
802
|
+
}, [fromDTD, layoutMode]);
|
|
782
803
|
return (layoutMode === LayoutModes.Update ?
|
|
783
804
|
_jsx(TMDcmtPreview, { isVisible: isVisible, onClosePanel: (!isMobile && countVisibleLeafPanels() > 1) ? () => setPanelVisibilityById('tmDcmtPreview', false) : undefined, allowMaximize: !isMobile && countVisibleLeafPanels() > 1, onMaximizePanel: (!isMobile && countVisibleLeafPanels() > 1) ? () => toggleMaximize("tmDcmtPreview") : undefined, dcmtData: currentDcmt, isResizingActive: isResizingActive }) :
|
|
784
805
|
_jsx(TMFileUploader, { onFileUpload: onFileUpload, onClose: (!isMobile && countVisibleLeafPanels() > 1) ? () => setPanelVisibilityById('tmDcmtPreview', false) : undefined, isRequired: fromDTD?.archiveConstraint === ArchiveConstraints.ContentCompulsory && dcmtFile === null, defaultBlob: dcmtFile, deviceType: deviceType, isResizingActive: isResizingActive }));
|
|
@@ -8,7 +8,7 @@ import ConnectionComponent from './ConnectionComponent';
|
|
|
8
8
|
import DiagramItemComponent from './DiagramItemComponent';
|
|
9
9
|
import DiagramItemSvgContent from './DiagramItemSvgContent';
|
|
10
10
|
import { calculateArrowAngle, getConnectionPoint, isConnectionNonLinear, validateDiagram } from './workflowHelpers';
|
|
11
|
-
import { IconFlowChart, IconUndo, IconRestore, IconAdjust, IconCopy, IconCut, IconPaste, IconPin, IconUnpin, IconChevronRight, IconCloseOutline } from '../../../../helper';
|
|
11
|
+
import { IconFlowChart, IconUndo, IconRestore, IconAdjust, IconCopy, IconCut, IconPaste, IconPin, IconUnpin, IconChevronRight, IconCloseOutline, IconNew, SDKUI_Localizator } from '../../../../helper';
|
|
12
12
|
import TMModal from '../../../base/TMModal';
|
|
13
13
|
import { TMExceptionBoxManager } from '../../../base/TMPopUp';
|
|
14
14
|
const CanvasContainer = styled.div `
|
|
@@ -268,6 +268,10 @@ const WFDiagram = ({ xmlDiagramString, currentSetID, readOnly = false, zoomLevel
|
|
|
268
268
|
let newDiagram = null;
|
|
269
269
|
if (xmlDiagramString) {
|
|
270
270
|
newDiagram = parseWfDiagramXml(xmlDiagramString);
|
|
271
|
+
if (newDiagram) {
|
|
272
|
+
// Applica l'auto-aggiustamento subito dopo il parsing
|
|
273
|
+
newDiagram = autoAdjustDiagram(newDiagram);
|
|
274
|
+
}
|
|
271
275
|
}
|
|
272
276
|
setWfDiagram(newDiagram);
|
|
273
277
|
initialDiagramRef.current = newDiagram;
|
|
@@ -816,12 +820,10 @@ const WFDiagram = ({ xmlDiagramString, currentSetID, readOnly = false, zoomLevel
|
|
|
816
820
|
setHistoryIndex(0);
|
|
817
821
|
}
|
|
818
822
|
}, [readOnly]);
|
|
819
|
-
const
|
|
820
|
-
if (
|
|
821
|
-
return;
|
|
822
|
-
|
|
823
|
-
return;
|
|
824
|
-
let newDiagramItems = wfDiagram.DiagramItems.map(item => ({ ...item }));
|
|
823
|
+
const autoAdjustDiagram = (diagram) => {
|
|
824
|
+
if (!diagram)
|
|
825
|
+
return diagram;
|
|
826
|
+
let newDiagramItems = diagram.DiagramItems.map(item => ({ ...item }));
|
|
825
827
|
const alignmentThreshold = 25;
|
|
826
828
|
const spacingBuffer = 10;
|
|
827
829
|
let changed = true;
|
|
@@ -861,7 +863,7 @@ const WFDiagram = ({ xmlDiagramString, currentSetID, readOnly = false, zoomLevel
|
|
|
861
863
|
changed = true;
|
|
862
864
|
}
|
|
863
865
|
}
|
|
864
|
-
const relevantConnections =
|
|
866
|
+
const relevantConnections = diagram.Connections.filter(conn => conn.Source.ParentDiagramItem.ID === item1.ID || conn.Sink.ParentDiagramItem.ID === item1.ID);
|
|
865
867
|
for (const connection of relevantConnections) {
|
|
866
868
|
const sourceItem = itemsForIteration.find(it => it.ID === connection.Source.ParentDiagramItem.ID);
|
|
867
869
|
const sinkItem = itemsForIteration.find(it => it.ID === connection.Sink.ParentDiagramItem.ID);
|
|
@@ -912,8 +914,15 @@ const WFDiagram = ({ xmlDiagramString, currentSetID, readOnly = false, zoomLevel
|
|
|
912
914
|
Top: item.Top + offsetY,
|
|
913
915
|
}));
|
|
914
916
|
}
|
|
915
|
-
|
|
916
|
-
|
|
917
|
+
return { ...diagram, DiagramItems: newDiagramItems };
|
|
918
|
+
};
|
|
919
|
+
const handleAutoAdjust = useCallback(() => {
|
|
920
|
+
if (readOnly || !wfDiagram)
|
|
921
|
+
return;
|
|
922
|
+
const adjustedDiagram = autoAdjustDiagram(wfDiagram);
|
|
923
|
+
// Ricalcola le connessioni dopo l'aggiustamento
|
|
924
|
+
const diagramItemsMap = new Map(adjustedDiagram.DiagramItems.map(item => [item.ID, item]));
|
|
925
|
+
const adjustedConnections = adjustedDiagram.Connections.map(conn => {
|
|
917
926
|
const sourceItem = diagramItemsMap.get(conn.Source.ParentDiagramItem.ID);
|
|
918
927
|
const sinkItem = diagramItemsMap.get(conn.Sink.ParentDiagramItem.ID);
|
|
919
928
|
if (sourceItem && sinkItem) {
|
|
@@ -923,8 +932,8 @@ const WFDiagram = ({ xmlDiagramString, currentSetID, readOnly = false, zoomLevel
|
|
|
923
932
|
}
|
|
924
933
|
return conn;
|
|
925
934
|
});
|
|
926
|
-
updateDiagramAndHistory({ ...
|
|
927
|
-
}, [wfDiagram, calculateConnectionPath, updateDiagramAndHistory, readOnly]);
|
|
935
|
+
updateDiagramAndHistory({ ...adjustedDiagram, Connections: adjustedConnections });
|
|
936
|
+
}, [wfDiagram, calculateConnectionPath, updateDiagramAndHistory, readOnly, autoAdjustDiagram]);
|
|
928
937
|
const handleMouseDown = useCallback((event) => {
|
|
929
938
|
if (readOnly)
|
|
930
939
|
return;
|
|
@@ -1325,9 +1334,6 @@ const WFDiagram = ({ xmlDiagramString, currentSetID, readOnly = false, zoomLevel
|
|
|
1325
1334
|
const isThisConnectionBeingDragged = isDraggingExistingConnectionEndpoint && draggingConnectionId === connection.ID;
|
|
1326
1335
|
return (_jsx(ConnectionComponent, { connection: connection, isSelected: selectedConnections.has(connection.ID), sourcePoint: sourcePoint, sinkPoint: sinkPoint, isTemporary: isThisConnectionBeingDragged, onClick: handleConnectionClick, onConnectionEndpointMouseDown: handleConnectionEndpointMouseDown }, connection.ID));
|
|
1327
1336
|
}), isDrawingConnection && tempConnectionPathData && (_jsx(TempConnectionPath, { d: tempConnectionPathData })), isDraggingExistingConnectionEndpoint && tempConnectionPathData && (_jsx(TempConnectionPath, { d: tempConnectionPathData })), isDrawingSelectionRect && currentSelectionRect && (_jsx(SelectionRect, { x: currentSelectionRect.x, y: currentSelectionRect.y, width: currentSelectionRect.width, height: currentSelectionRect.height }))] }) }))
|
|
1328
|
-
: (_jsx(DiagramMessage, { children:
|
|
1337
|
+
: (_jsx(DiagramMessage, { children: `${SDKUI_Localizator.WorkflowDiagramMissingOrInvalid} ...` })) }), isModalOpen && itemToEdit && (_jsx(TMModal, { title: DiagramItemTypes[itemToEdit.Type].toString(), onClose: handleCloseModal, isModal: true, width: '50%', height: '50%', children: _jsx("div", { children: itemToEdit.ItemName }) }))] }));
|
|
1329
1338
|
};
|
|
1330
1339
|
export default WFDiagram;
|
|
1331
|
-
export function IconNew(props) {
|
|
1332
|
-
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "1em", height: "1em", ...props, children: _jsx("path", { fill: "currentColor", d: "M9.517 15.558L12 14.052l2.483 1.506l-.66-2.825l2.196-1.885l-2.886-.256L12 7.942l-1.133 2.65l-2.886.256l2.196 1.885zM12 21.916L9.073 19H5v-4.073L2.085 12L5 9.073V5h4.073L12 2.085L14.927 5H19v4.073L21.916 12L19 14.927V19h-4.073zm0-1.416l2.5-2.5H18v-3.5l2.5-2.5L18 9.5V6h-3.5L12 3.5L9.5 6H6v3.5L3.5 12L6 14.5V18h3.5zm0-8.5" }) }));
|
|
1333
|
-
}
|
|
@@ -86,8 +86,8 @@ const TMChooserForm = ({ children, title, allowMultipleSelection = false, allowA
|
|
|
86
86
|
...summaryItems ?? {}
|
|
87
87
|
});
|
|
88
88
|
}, [manageUseLocalizedName, summaryItems]);
|
|
89
|
-
return (_jsx(TMModal, { title: renderTitle(), width: width ?? '550px', height: height ?? '600px', toolbar: _jsx(ToolbarButtons, {}), onClose: onClose, children:
|
|
90
|
-
filteredItems.length > 0
|
|
89
|
+
return (_jsx(TMModal, { title: renderTitle(), width: width ?? '550px', height: height ?? '600px', toolbar: _jsx(ToolbarButtons, {}), onClose: onClose, children: children ??
|
|
90
|
+
filteredItems.length > 0
|
|
91
91
|
? _jsx(TMDataGrid, { dataSource: filteredItems, keyExpr: keyName, dataColumns: dataColumns, focusedRowKey: focusedRowKey, selectedRowKeys: selectedRowKeys, headerFilter: { visible: true }, selection: { mode: allowMultipleSelection ? 'multiple' : 'single', showCheckBoxesMode: 'always', selectAllMode: 'allPages' }, grouping: allowGrouping ? { autoExpandAll: false, expandMode: 'rowClick' } : undefined, summary: customSummary, onFocusedRowChanged: handleFocusedRowChange, onSelectionChanged: handleSelectionChanged, onRowDblClick: handleRowDoubleClick })
|
|
92
92
|
: _jsx(TMLayoutContainer, { gap: 30, alignItems: 'center', justifyContent: 'center', children: _jsx(TMLayoutItem, { children: _jsx("p", { style: { height: "100%", color: TMColors.primaryColor, fontSize: "1.5rem", display: 'flex', alignItems: 'center', justifyContent: 'center' }, children: SDKUI_Localizator.NoDataToDisplay }) }) }) }));
|
|
93
93
|
};
|
|
@@ -30,7 +30,7 @@ export const TMPanelManagerProvider = (props) => {
|
|
|
30
30
|
const { visibilityMap, disabledMap } = getToolbarStates(panels);
|
|
31
31
|
setToolbarButtonsVisibility(visibilityMap);
|
|
32
32
|
setToolbarButtonsDisabled(disabledMap);
|
|
33
|
-
}, [
|
|
33
|
+
}, []);
|
|
34
34
|
// Callback to update the visibility state of a specific panel and its related hierarchy
|
|
35
35
|
const adjustPanelVisibilityAndSize = useCallback((id, isVisible, prevVisibility) => {
|
|
36
36
|
// Clone previous visibility state to work with
|
|
@@ -518,11 +518,14 @@ export declare class SDKUI_Localizator {
|
|
|
518
518
|
static get Warning(): "Warnung" | "Warning" | "advertencia" | "avertissement" | "aviso" | "Avviso";
|
|
519
519
|
static get WelcomeTo(): "Willkommen bei {{0}}" | "Welcome to {{0}}" | "Bienvenido a {{0}}" | "Bienvenue sur {{0}}" | "Bem-vindo à {{0}}" | "Benvenuto su {{0}}";
|
|
520
520
|
static get WorkflowApproval(): "Workflow-Genehmigung" | "Workflow approval" | "Aprobación de flujo de trabajo" | "Approbation de workflow" | "Aprovação de fluxo de trabalho" | "Approvazione workflow";
|
|
521
|
+
static get WorkflowDiagramMissingOrInvalid(): "Diagramm fehlt oder ist ungültig" | "Diagram missing or invalid" | "Diagrama no presente o no válido" | "Schéma manquant ou invalide" | "Diagrama ausente ou inválido" | "Diagramma non presente o non valido";
|
|
522
|
+
static get WorkflowNoInstances(): "Keine Instanzen aktiv" | "No running instances" | "Ninguna instancia en curso" | "Aucune instance en cours" | "Nenhuma instância em execução" | "Nessuna istanza in corso";
|
|
521
523
|
static get WorkGroup(): "Arbeitsgruppe" | "Work Group" | "Grupo de Trabajo" | "Groupe de travail" | "Grupo de Trabalho" | "Gruppo di lavoro";
|
|
522
524
|
static get WorkgroupOperations(): string;
|
|
523
525
|
static get WorkingGroups(): "Arbeitsgruppen" | "Work groups" | "Grupos de trabajo" | "Groupes de travail" | "Grupos de trabalho" | "Gruppi di lavoro";
|
|
524
526
|
static get WorkItemData(): string;
|
|
525
527
|
static get WorkItemTechnicalData(): string;
|
|
528
|
+
static get WorkItemTechnicalNote_SetID(): "Um den Standort des Prozesses zu erfahren, fügen Sie das technische Metadatum \"SetID\" zur Freigabeansicht hinzu." | "To find the location of the process, add the technical metadata \"SetID\" to the approval view." | "Para conocer la ubicación del proceso, añada el metadato técnico \"SetID\" a la vista de aprobación." | "Pour connaître l'emplacement du processus, ajoutez la métadonnée technique \"SetID\" à la vue d'approbation." | "Para saber a localização do processo, adicione o metadado técnico \"SetID\" à vista de aprovação." | "Per conoscere il punto in cui si trova il processo, aggiungere il metadato tecnico \"SetID\" alla vista approvativa.";
|
|
526
529
|
static get WorkitemApprove(): string;
|
|
527
530
|
static get WorkitemReject(): string;
|
|
528
531
|
static get WorkitemReassign(): string;
|
|
@@ -5145,6 +5145,26 @@ export class SDKUI_Localizator {
|
|
|
5145
5145
|
default: return "Approvazione workflow";
|
|
5146
5146
|
}
|
|
5147
5147
|
}
|
|
5148
|
+
static get WorkflowDiagramMissingOrInvalid() {
|
|
5149
|
+
switch (this._cultureID) {
|
|
5150
|
+
case CultureIDs.De_DE: return "Diagramm fehlt oder ist ungültig";
|
|
5151
|
+
case CultureIDs.En_US: return "Diagram missing or invalid";
|
|
5152
|
+
case CultureIDs.Es_ES: return "Diagrama no presente o no válido";
|
|
5153
|
+
case CultureIDs.Fr_FR: return "Schéma manquant ou invalide";
|
|
5154
|
+
case CultureIDs.Pt_PT: return "Diagrama ausente ou inválido";
|
|
5155
|
+
default: return "Diagramma non presente o non valido";
|
|
5156
|
+
}
|
|
5157
|
+
}
|
|
5158
|
+
static get WorkflowNoInstances() {
|
|
5159
|
+
switch (this._cultureID) {
|
|
5160
|
+
case CultureIDs.De_DE: return "Keine Instanzen aktiv";
|
|
5161
|
+
case CultureIDs.En_US: return "No running instances";
|
|
5162
|
+
case CultureIDs.Es_ES: return "Ninguna instancia en curso";
|
|
5163
|
+
case CultureIDs.Fr_FR: return "Aucune instance en cours";
|
|
5164
|
+
case CultureIDs.Pt_PT: return "Nenhuma instância em execução";
|
|
5165
|
+
default: return "Nessuna istanza in corso";
|
|
5166
|
+
}
|
|
5167
|
+
}
|
|
5148
5168
|
static get WorkGroup() {
|
|
5149
5169
|
switch (this._cultureID) {
|
|
5150
5170
|
case CultureIDs.De_DE: return "Arbeitsgruppe";
|
|
@@ -5195,6 +5215,16 @@ export class SDKUI_Localizator {
|
|
|
5195
5215
|
default: return "Dati tecnici del WorkItem"; // Italian (default)
|
|
5196
5216
|
}
|
|
5197
5217
|
}
|
|
5218
|
+
static get WorkItemTechnicalNote_SetID() {
|
|
5219
|
+
switch (this._cultureID) {
|
|
5220
|
+
case CultureIDs.De_DE: return "Um den Standort des Prozesses zu erfahren, fügen Sie das technische Metadatum \"SetID\" zur Freigabeansicht hinzu.";
|
|
5221
|
+
case CultureIDs.En_US: return "To find the location of the process, add the technical metadata \"SetID\" to the approval view.";
|
|
5222
|
+
case CultureIDs.Es_ES: return "Para conocer la ubicación del proceso, añada el metadato técnico \"SetID\" a la vista de aprobación.";
|
|
5223
|
+
case CultureIDs.Fr_FR: return "Pour connaître l'emplacement du processus, ajoutez la métadonnée technique \"SetID\" à la vue d'approbation.";
|
|
5224
|
+
case CultureIDs.Pt_PT: return "Para saber a localização do processo, adicione o metadado técnico \"SetID\" à vista de aprovação.";
|
|
5225
|
+
default: return "Per conoscere il punto in cui si trova il processo, aggiungere il metadato tecnico \"SetID\" alla vista approvativa.";
|
|
5226
|
+
}
|
|
5227
|
+
}
|
|
5198
5228
|
static get WorkitemApprove() {
|
|
5199
5229
|
switch (this._cultureID) {
|
|
5200
5230
|
case CultureIDs.De_DE: return "Arbeitselement genehmigen";
|
package/lib/helper/TMIcons.d.ts
CHANGED
|
@@ -261,4 +261,5 @@ export declare function IconWizard(props: React.SVGProps<SVGSVGElement>): import
|
|
|
261
261
|
export declare function IconWizard2(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
|
|
262
262
|
export declare function IconWizard3(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
|
|
263
263
|
export declare function IconWizard4(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
|
|
264
|
+
export declare function IconNew(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
|
|
264
265
|
export { Icon123, IconABC, IconAccessPoint, IconAddressBook, IconSignCert, IconServerService, IconActivity, IconActivityLog, IconAdd, IconAddCircleOutline, IconAll, IconApply, IconApplyAndClose, IconArchive, IconArchiveDoc, IconArrowDown, IconArrowLeft, IconArrowRight, IconArrowUp, IconAtSign, IconAttachment, IconAutoConfig, IconBackward, IconBasket, IconBoard, IconBoxArchiveIn, IconBxInfo, IconBxLock, IconCalendar, IconCloseCircle, IconCloseOutline, IconCloud, IconCircleInfo, IconClear, IconColumns, IconCommand, IconCopy, IconCount, IconCrown, IconDashboard, IconDcmtType, IconDcmtTypeOnlyMetadata, IconDcmtTypeSys, IconDelete, IconDetails, IconDown, IconDownload, IconDotsVerticalCircleOutline, IconDuplicate, IconEdit, IconEqual, IconEqualNot, IconEraser, IconExpandRight, IconExport, IconFastBackward, IconFoldeAdd, IconFolderSearch, IconFolderZip, IconFastForward, IconFastSearch, IconFileDots, IconFilter, IconForceStop, IconForward, IconFreeze, IconFreeSearch, IconGreaterThan, IconGreaterThanOrEqual, IconHistory, IconImport, IconTag, IconInfo, IconInsertAbove, IconInsertBelow, IconHeart, IconHide, IconLanguage, IconLeft, IconLessThan, IconLessThanOrEqual, IconLock, IconLockClosed, IconLogin, IconLink, IconLogout, IconMail, IconMapping, IconMic, IconMenuHorizontal, IconMenuKebab, IconMenuVertical, IconMetadata, IconMetadata_Computed, IconMetadata_DataList, IconMetadata_Date, IconMetadata_DynamicDataList, IconMetadata_Numerator, IconMetadata_Numeric, IconMetadata_Special, IconMetadata_Text, IconMetadata_User, IconMonitor, IconOpenInNew, IconNotification, IconPassword, IconPencil, IconPlatform, IconPlay, IconPreview, IconPrinter, IconPrintOutline, IconProcess, IconProgressAbortRequested, IconProgressCompleted, IconProgressNotCompleted, IconProgressReady, IconProgressRunning, IconProgressStarted, IconRefresh, IconReset, IconRecentlyViewed, IconRight, IconSave, IconSearch, IconSelected, IconSettings, IconShow, IconSort, IconStop, IconStopwatch, IconSuccess, IconAlarmPlus, IconHourglass, IconNone, IconNotStarted, IconProgress, IconSuccessCirlce, IconSuitcase, IconSupport, IconUndo, IconUnFreeze, IconUp, IconUpdate, IconUpload, IconUser, IconUserProfile, IconVisible, IconWarning, IconWeb, IconWifi, IconWindowMaximize, IconWindowMinimize, IconWorkflow, IconWorkspace, IconUserGroup, IconUserGroupOutline, IconUserLevelMember, IconUserLevelAdministrator, IconUserLevelSystemAdministrator, IconUserLevelAutonomousAdministrator, IconDraggabledots, IconRelation, IconEasy, IconSum, IconDisk, IconDataList, IconPalette, IconFormatPageSplit, IconPaste, IconFileSearch, IconStar, IconStarRemove, IconSearchCheck, IconLightningFill, IconArrowUnsorted, IconArrowSortedUp, IconArrowSortedDown, IconConvertFilePdf, IconExportTo, IconSharedDcmt, IconShare, IconBatchUpdate, IconCheckFile, IconStatistics, IconSubstFile, IconAdvanced, IconSync, IconSavedQuery, IconSignature, IconRecursiveOps, IconCheckIn, IconTree, IconGrid, IconList, IconFolder, IconFolderOpen, IconFactory, IconTest, IconCheck, IconUncheck, IconSortAsc, IconSortDesc, IconRoundFileUpload, IconSortAscLetters, IconSortDescLetters, IconRotate, IconSortAscNumbers, IconSortDescNumbers, IconSortAscClock, IconSortDescClock, IconLayerGroup, IconBell, IconBellCheck, IconBellOutline, IconBellCheckOutline, IconEnvelopeOpenText, IconChangeUser, IconUserCheck, IconRelationManyToMany, IconRelationOneToMany, IconUserExpired, IconKey, IconZoomInLinear, IconZoomOutLinear, IconMenuCAWorkingGroups, IconCADossier, IconMenuCACaseflow, IconMenuDashboard, IconMenuCAAreas, IconMenuTask, IconMenuSearch, IconMenuFullTextSearch, IconMenuFavourite, IconSAPLogin, IconSAPLogin2, };
|
package/lib/helper/TMIcons.js
CHANGED
|
@@ -639,4 +639,7 @@ export function IconWizard3(props) {
|
|
|
639
639
|
export function IconWizard4(props) {
|
|
640
640
|
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "1em", height: "1em", ...props, children: _jsx("path", { fill: "currentColor", d: "M7.5 5.6L10 7L8.6 4.5L10 2L7.5 3.4L5 2l1.4 2.5L5 7zm12 9.8L17 14l1.4 2.5L17 19l2.5-1.4L22 19l-1.4-2.5L22 14zM22 2l-2.5 1.4L17 2l1.4 2.5L17 7l2.5-1.4L22 7l-1.4-2.5zm-7.63 5.29a.996.996 0 0 0-1.41 0L1.29 18.96a.996.996 0 0 0 0 1.41l2.34 2.34c.39.39 1.02.39 1.41 0L16.7 11.05a.996.996 0 0 0 0-1.41zm-1.03 5.49l-2.12-2.12l2.44-2.44l2.12 2.12z" }) }));
|
|
641
641
|
}
|
|
642
|
+
export function IconNew(props) {
|
|
643
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "1em", height: "1em", ...props, children: _jsx("path", { fill: "currentColor", d: "M9.517 15.558L12 14.052l2.483 1.506l-.66-2.825l2.196-1.885l-2.886-.256L12 7.942l-1.133 2.65l-2.886.256l2.196 1.885zM12 21.916L9.073 19H5v-4.073L2.085 12L5 9.073V5h4.073L12 2.085L14.927 5H19v4.073L21.916 12L19 14.927V19h-4.073zm0-1.416l2.5-2.5H18v-3.5l2.5-2.5L18 9.5V6h-3.5L12 3.5L9.5 6H6v3.5L3.5 12L6 14.5V18h3.5zm0-8.5" }) }));
|
|
644
|
+
}
|
|
642
645
|
export { Icon123, IconABC, IconAccessPoint, IconAddressBook, IconSignCert, IconServerService, IconActivity, IconActivityLog, IconAdd, IconAddCircleOutline, IconAll, IconApply, IconApplyAndClose, IconArchive, IconArchiveDoc, IconArrowDown, IconArrowLeft, IconArrowRight, IconArrowUp, IconAtSign, IconAttachment, IconAutoConfig, IconBackward, IconBasket, IconBoard, IconBoxArchiveIn, IconBxInfo, IconBxLock, IconCalendar, IconCloseCircle, IconCloseOutline, IconCloud, IconCircleInfo, IconClear, IconColumns, IconCommand, IconCopy, IconCount, IconCrown, IconDashboard, IconDcmtType, IconDcmtTypeOnlyMetadata, IconDcmtTypeSys, IconDelete, IconDetails, IconDown, IconDownload, IconDotsVerticalCircleOutline, IconDuplicate, IconEdit, IconEqual, IconEqualNot, IconEraser, IconExpandRight, IconExport, IconFastBackward, IconFoldeAdd, IconFolderSearch, IconFolderZip, IconFastForward, IconFastSearch, IconFileDots, IconFilter, IconForceStop, IconForward, IconFreeze, IconFreeSearch, IconGreaterThan, IconGreaterThanOrEqual, IconHistory, IconImport, IconTag, IconInfo, IconInsertAbove, IconInsertBelow, IconHeart, IconHide, IconLanguage, IconLeft, IconLessThan, IconLessThanOrEqual, IconLock, IconLockClosed, IconLogin, IconLink, IconLogout, IconMail, IconMapping, IconMic, IconMenuHorizontal, IconMenuKebab, IconMenuVertical, IconMetadata, IconMetadata_Computed, IconMetadata_DataList, IconMetadata_Date, IconMetadata_DynamicDataList, IconMetadata_Numerator, IconMetadata_Numeric, IconMetadata_Special, IconMetadata_Text, IconMetadata_User, IconMonitor, IconOpenInNew, IconNotification, IconPassword, IconPencil, IconPlatform, IconPlay, IconPreview, IconPrinter, IconPrintOutline, IconProcess, IconProgressAbortRequested, IconProgressCompleted, IconProgressNotCompleted, IconProgressReady, IconProgressRunning, IconProgressStarted, IconRefresh, IconReset, IconRecentlyViewed, IconRight, IconSave, IconSearch, IconSelected, IconSettings, IconShow, IconSort, IconStop, IconStopwatch, IconSuccess, IconAlarmPlus, IconHourglass, IconNone, IconNotStarted, IconProgress, IconSuccessCirlce, IconSuitcase, IconSupport, IconUndo, IconUnFreeze, IconUp, IconUpdate, IconUpload, IconUser, IconUserProfile, IconVisible, IconWarning, IconWeb, IconWifi, IconWindowMaximize, IconWindowMinimize, IconWorkflow, IconWorkspace, IconUserGroup, IconUserGroupOutline, IconUserLevelMember, IconUserLevelAdministrator, IconUserLevelSystemAdministrator, IconUserLevelAutonomousAdministrator, IconDraggabledots, IconRelation, IconEasy, IconSum, IconDisk, IconDataList, IconPalette, IconFormatPageSplit, IconPaste, IconFileSearch, IconStar, IconStarRemove, IconSearchCheck, IconLightningFill, IconArrowUnsorted, IconArrowSortedUp, IconArrowSortedDown, IconConvertFilePdf, IconExportTo, IconSharedDcmt, IconShare, IconBatchUpdate, IconCheckFile, IconStatistics, IconSubstFile, IconAdvanced, IconSync, IconSavedQuery, IconSignature, IconRecursiveOps, IconCheckIn, IconTree, IconGrid, IconList, IconFolder, IconFolderOpen, IconFactory, IconTest, IconCheck, IconUncheck, IconSortAsc, IconSortDesc, IconRoundFileUpload, IconSortAscLetters, IconSortDescLetters, IconRotate, IconSortAscNumbers, IconSortDescNumbers, IconSortAscClock, IconSortDescClock, IconLayerGroup, IconBell, IconBellCheck, IconBellOutline, IconBellCheckOutline, IconEnvelopeOpenText, IconChangeUser, IconUserCheck, IconRelationManyToMany, IconRelationOneToMany, IconUserExpired, IconKey, IconZoomInLinear, IconZoomOutLinear, IconMenuCAWorkingGroups, IconCADossier, IconMenuCACaseflow, IconMenuDashboard, IconMenuCAAreas, IconMenuTask, IconMenuSearch, IconMenuFullTextSearch, IconMenuFavourite, IconSAPLogin, IconSAPLogin2, };
|