@topconsultnpm/sdkui-react 6.19.0-dev2.2 → 6.19.0-dev2.3

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.
@@ -981,11 +981,20 @@ const WFDiagram = ({ xmlDiagramString, currentSetID, allowEdit = true, onDiagram
981
981
  const handleRestore = useCallback(() => {
982
982
  if (isReadOnly)
983
983
  return;
984
- if (initialDiagramRef.current) {
985
- setWfDiagram(initialDiagramRef.current);
986
- setWfDiagramHistory([initialDiagramRef.current]);
987
- setHistoryIndex(0);
988
- }
984
+ if (!initialDiagramRef.current)
985
+ return;
986
+ TMMessageBoxManager.show({
987
+ title: SDKUI_Localizator.WorkflowRestoreDiagram,
988
+ message: SDKUI_Localizator.WorkflowRestoreDiagramMessage,
989
+ buttons: [ButtonNames.YES, ButtonNames.NO],
990
+ onButtonClick: async (e) => {
991
+ if (e === ButtonNames.YES) {
992
+ setWfDiagram(initialDiagramRef.current);
993
+ setWfDiagramHistory([initialDiagramRef.current]);
994
+ setHistoryIndex(0);
995
+ }
996
+ }
997
+ });
989
998
  }, [isReadOnly]);
990
999
  const autoAdjustDiagram = (diagram) => {
991
1000
  if (!diagram)
@@ -1646,7 +1655,12 @@ const WFDiagram = ({ xmlDiagramString, currentSetID, allowEdit = true, onDiagram
1646
1655
  isUndoingRedoing.current = false;
1647
1656
  }
1648
1657
  }, [wfDiagram]);
1649
- const diagramContent = (_jsxs(CanvasContainer, { children: [_jsx("input", { ref: fileInputRef, type: "file", accept: ".xml" // Filtra per file XML
1658
+ const handleCanvasDoubleClick = useCallback((event) => {
1659
+ if (isReadOnly) {
1660
+ toggleReadOnlyMode();
1661
+ }
1662
+ }, [isReadOnly, toggleReadOnlyMode]);
1663
+ const diagramContent = (_jsxs(CanvasContainer, { onDoubleClick: handleCanvasDoubleClick, children: [_jsx("input", { ref: fileInputRef, type: "file", accept: ".xml" // Filtra per file XML
1650
1664
  , onChange: handleFileChange, style: { display: 'none' } }), _jsxs(ToolbarContainer, { "$isCollapsed": isToolbarCollapsed, "$isFloating": isToolbarFloating, "$isToolboxVisible": isToolboxVisible, "$isReadOnly": isReadOnly, children: [allowEdit && _jsx(ButtonGroup, { "$isFloating": isToolbarFloating, children: _jsxs("button", { onClick: toggleReadOnlyMode, title: isReadOnly ? SDKUI_Localizator.Design : SDKUI_Localizator.ReadOnly, children: [isReadOnly ? _jsx(IconPencil, {}) : _jsx(IconLock, {}), !isToolbarCollapsed && _jsx("span", { children: isReadOnly ? SDKUI_Localizator.Design : SDKUI_Localizator.ReadOnly })] }) }), allowEdit && _jsxs(ButtonGroup, { "$isFloating": isToolbarFloating, children: [!isReadOnly && _jsxs("button", { onClick: handleToggleToolboxVisibility, title: SDKUI_Localizator.ShowToolbox, children: [_jsx(IconFlowChart, {}), !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.ShowToolboxToggle })] }), _jsxs("button", { onClick: toggleFullScreenMode, title: SDKUI_Localizator.ShowFullScreen, children: [isFullScreen ? _jsx(IconWindowMinimize, {}) : _jsx(IconWindowMaximize, {}), !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.ShowFullScreen })] })] }), _jsxs(ButtonGroup, { "$isFloating": isToolbarFloating, children: [_jsxs("button", { onClick: handleZoomIn, title: SDKUI_Localizator.ZoomIn, children: [_jsx(IconZoomIn, {}), !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.ZoomIn })] }), _jsxs("button", { onClick: handleZoomOut, title: SDKUI_Localizator.ZoomOut, children: [_jsx(IconZoomOut, {}), !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.ZoomOut })] }), _jsx(ZoomLevelText, { "$isFloating": isToolbarFloating, "$isCollapsed": isToolbarCollapsed, children: formattedZoomLevel })] }), !isReadOnly && _jsxs(ButtonGroup, { "$isFloating": isToolbarFloating, children: [_jsxs("button", { onClick: handleUndo, disabled: historyIndex === 0, title: SDKUI_Localizator.Undo, children: [_jsx(IconUndo, {}), " ", !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.Undo })] }), _jsxs("button", { onClick: handleRedo, disabled: historyIndex === wfDiagramHistory.length - 1, title: SDKUI_Localizator.Redo, children: [_jsx(IconUndo, { style: { transform: 'scaleX(-1)' } }), " ", !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.Redo })] }), _jsxs("button", { onClick: handleRestore, title: SDKUI_Localizator.Restore, children: [_jsx(IconRestore, {}), " ", !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.Restore })] }), _jsxs("button", { onClick: handleNew, title: SDKUI_Localizator.DiagramNew, disabled: isReadOnly, children: [_jsx(IconNew, {}), " ", !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.DiagramNew })] }), _jsxs("button", { onClick: handleExportDiagram, disabled: isReadOnly || !wfDiagram, title: SDKUI_Localizator.Export, children: [_jsx(IconExport, {}), _jsx("span", { children: SDKUI_Localizator.Export })] }), _jsxs("button", { onClick: handleImportDiagramClick, disabled: isReadOnly, title: SDKUI_Localizator.Import, children: [_jsx(IconImport, {}), _jsx("span", { children: SDKUI_Localizator.Import })] })] }), !isReadOnly && _jsx(ButtonGroup, { "$isFloating": isToolbarFloating, children: _jsxs("button", { onClick: handleAutoAdjust, title: SDKUI_Localizator.AutoAdjust, children: [_jsx(IconAdjust, {}), " ", !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.AutoAdjust })] }) }), !isReadOnly && _jsxs(ButtonGroup, { "$isFloating": isToolbarFloating, children: [_jsxs("button", { onClick: handleCopy, disabled: selectedItems.size === 0, title: SDKUI_Localizator.Copy, children: [_jsx(IconCopy, {}), " ", !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.Copy })] }), _jsxs("button", { onClick: handleCut, disabled: selectedItems.size === 0, title: SDKUI_Localizator.Cut, children: [_jsx(IconCut, {}), " ", !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.Cut })] }), _jsxs("button", { onClick: handlePaste, disabled: copiedItems.length === 0 && copiedConnections.length === 0, title: SDKUI_Localizator.Paste, children: [_jsx(IconPaste, {}), " ", !isToolbarCollapsed && _jsx("span", { children: SDKUI_Localizator.Paste })] })] }), allowEdit && _jsxs("button", { onClick: handleToggleToolbarMode, title: isToolbarFloating ? SDKUI_Localizator.ToolbarDock : SDKUI_Localizator.ToolbarFloat, children: [isToolbarFloating ? _jsx(IconPin, {}) : _jsx(IconUnpin, {}), !isToolbarCollapsed && !isToolbarFloating && _jsx("span", { children: SDKUI_Localizator.ToggleMode })] }), !isToolbarFloating && _jsx(ToolbarToggle, { onClick: () => setIsToolbarCollapsed(!isToolbarCollapsed), title: isToolbarCollapsed ? SDKUI_Localizator.ToolbarExpand : SDKUI_Localizator.ToolbarCollapse, children: isToolbarCollapsed ? _jsx(IconChevronRight, {}) : _jsx(IconCloseOutline, {}) })] }), !isReadOnly && (_jsx(ToolboxContainer, { "$isVisible": isToolboxVisible, children: isToolboxVisible && availableItemTypes.map(type => (_jsxs(ToolboxItem, { draggable: true, onDragStart: (e) => handleToolboxDragStart(e, type), onDragEnd: handleToolboxDragEnd, children: [_jsx(ToolboxIconWrapper, { children: _jsx(DiagramItemSvgContent, { itemType: type, width: 38, height: 38, isToolboxPreview: true }) }), _jsx("span", { children: LocalizeDiagramItemType(type) })] }, type))) })), _jsx(SvgScrollContainer, { children: isLoading ?
1651
1665
  (_jsxs(StyledLoadingContainer, { children: [_jsx(StyledSpinner, {}), _jsx("span", { children: `${'Caricamento diagramma'}...` })] })) : wfDiagram ? (_jsx(StyledSvg, { ref: svgRef, tabIndex: 0, onKeyDownCapture: handleKeyDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, onMouseDown: handleMouseDown, onDrop: handleDropOnCanvas, onDragOver: handleDragOver, width: svgWidth, height: svgHeight, children: _jsxs(ScalableGroup, { "$scale": zoomLevel, "$translateX": translateX, "$translateY": translateY, children: [wfDiagram?.DiagramItems.map(item => (_jsx(DiagramItemComponent, { wf: wfDiagram?.Info, readOnly: isReadOnly, item: item, isSelected: selectedItems.has(item.ID), isCurrent: item.ID === currentSetID, onClick: handleDiagramItemClick, onDrag: handleDrag, onDragEnd: handleDragEnd, onConnectorMouseDown: handleConnectorMouseDown, onConnectorMouseUp: handleConnectorMouseUp, onDimensionsChange: handleItemDimensionsChange, onDoubleClick: handleDoubleClickItem }, item.ID))), calculatedConnections.map(connection => {
1652
1666
  const sourceItem = wfDiagram?.DiagramItems.find(item => item.ID === connection.Source.ParentDiagramItem.ID);
@@ -654,6 +654,8 @@ export declare class SDKUI_Localizator {
654
654
  static get WorkflowAppType(): "Anwendungsart" | "Application type" | "Tipo de aplicación" | "Type d'application" | "Tipo de aplicação" | "Tipo applicazione";
655
655
  static get WorkflowConnectionEdit(): "Verbindung bearbeiten" | "Edit Connection" | "Editar conexión" | "Modifier la connexion" | "Editar ligação" | "Modifica Connessione";
656
656
  static get WorkflowDiagramConnectionInvalidNodes(): "Ungültige Verbindung: Quell- oder Zielknoten nicht gefunden." | "Invalid connection: source or sink node not found." | "Conexión no válida: nodo origen o destino no encontrado." | "Connexion invalide : nœud source ou destination introuvable." | "Conexão inválida: nó de origem ou destino não encontrado." | "Connessione non valida: nodo sorgente o destinazione non trovato.";
657
+ static get WorkflowRestoreDiagram(): "Diagramm wiederherstellen" | "Restore diagram" | "Restaurar diagrama" | "Restaurer le diagramme" | "Ripristina diagramma";
658
+ static get WorkflowRestoreDiagramMessage(): "Möchten Sie das ursprüngliche Diagramm wiederherstellen? Alle nicht gespeicherten Änderungen gehen verloren." | "Are you sure you want to restore the initial diagram? All unsaved changes will be lost." | "¿Está seguro de que desea restaurar el diagrama inicial? Se perderán todos los cambios no guardados." | "Êtes-vous sûr de vouloir restaurer le diagramme initial ? Toutes les modifications non enregistrées seront perdues." | "Tem certeza de que deseja restaurar o diagrama inicial? Todas as alterações não salvas serão perdidas." | "Sei sicuro di voler ripristinare il diagramma iniziale? Tutte le modifiche non salvate andranno perse.";
657
659
  static get WorkflowDiagramCannotConnectToStart(): "Non können Sie an einen 'Start'-Knoten verbinden." | "You cannot connect to a 'Start' node." | "No puede conectar a un nodo 'Start'." | "Vous ne pouvez pas connecter vers un nœud 'Start'." | "Não pode ligar a um nó 'Start'." | "Non puoi connettere a un nodo 'Start'.";
658
660
  static get WorkflowDiagramCannotConnectFromEnd(): "Sie können nicht von einem 'End'-Knoten verbinden." | "You cannot connect from an 'End' node." | "No puede conectar desde un nodo 'End'." | "Vous ne pouvez pas connecter depuis un nœud 'End'." | "Não pode ligar a partir de um nó 'End'." | "Non puoi connettere da un nodo 'End'.";
659
661
  static get WorkflowDiagramConnectionSelf(): "La connessione {0} non può connettere un nodo a se stesso." | "The connection {0} cannot connect a node to itself." | "La conexión {0} no puede conectar un nodo consigo mismo." | "La connexion {0} ne peut pas connecter un nœud à lui-même." | "A conexão {0} não pode ligar um nó a si mesmo.";
@@ -6475,6 +6475,26 @@ export class SDKUI_Localizator {
6475
6475
  default: return "Connessione non valida: nodo sorgente o destinazione non trovato.";
6476
6476
  }
6477
6477
  }
6478
+ static get WorkflowRestoreDiagram() {
6479
+ switch (this._cultureID) {
6480
+ case CultureIDs.De_DE: return "Diagramm wiederherstellen";
6481
+ case CultureIDs.En_US: return "Restore diagram";
6482
+ case CultureIDs.Es_ES: return "Restaurar diagrama";
6483
+ case CultureIDs.Fr_FR: return "Restaurer le diagramme";
6484
+ case CultureIDs.Pt_PT: return "Restaurar diagrama";
6485
+ default: return "Ripristina diagramma";
6486
+ }
6487
+ }
6488
+ static get WorkflowRestoreDiagramMessage() {
6489
+ switch (this._cultureID) {
6490
+ case CultureIDs.De_DE: return "Möchten Sie das ursprüngliche Diagramm wiederherstellen? Alle nicht gespeicherten Änderungen gehen verloren.";
6491
+ case CultureIDs.En_US: return "Are you sure you want to restore the initial diagram? All unsaved changes will be lost.";
6492
+ case CultureIDs.Es_ES: return "¿Está seguro de que desea restaurar el diagrama inicial? Se perderán todos los cambios no guardados.";
6493
+ case CultureIDs.Fr_FR: return "Êtes-vous sûr de vouloir restaurer le diagramme initial ? Toutes les modifications non enregistrées seront perdues.";
6494
+ case CultureIDs.Pt_PT: return "Tem certeza de que deseja restaurar o diagrama inicial? Todas as alterações não salvas serão perdidas.";
6495
+ default: return "Sei sicuro di voler ripristinare il diagramma iniziale? Tutte le modifiche non salvate andranno perse.";
6496
+ }
6497
+ }
6478
6498
  static get WorkflowDiagramCannotConnectToStart() {
6479
6499
  switch (this._cultureID) {
6480
6500
  case CultureIDs.De_DE: return "Non können Sie an einen 'Start'-Knoten verbinden.";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react",
3
- "version": "6.19.0-dev2.2",
3
+ "version": "6.19.0-dev2.3",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -39,7 +39,7 @@
39
39
  "lib"
40
40
  ],
41
41
  "dependencies": {
42
- "@topconsultnpm/sdk-ts": "6.19.0-test.1",
42
+ "@topconsultnpm/sdk-ts": "6.19.0-dev2.2",
43
43
  "buffer": "^6.0.3",
44
44
  "devextreme": "25.1.4",
45
45
  "devextreme-react": "25.1.4",