@topconsultnpm/sdkui-react 6.19.0-dev2.1 → 6.19.0-dev2.11

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.
Files changed (42) hide show
  1. package/lib/components/base/TMDataGridExportForm.d.ts +1 -1
  2. package/lib/components/base/TMFileManager.js +1 -1
  3. package/lib/components/base/TMTooltip.d.ts +1 -1
  4. package/lib/components/base/TMTooltip.js +1 -1
  5. package/lib/components/editors/TMDateBox.d.ts +1 -1
  6. package/lib/components/features/documents/TMDcmtForm.js +35 -35
  7. package/lib/components/features/documents/TMRelationViewer.js +1 -1
  8. package/lib/components/features/search/TMSavedQuerySelector.js +1 -1
  9. package/lib/components/features/search/TMSearchResult.js +62 -6
  10. package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +1 -1
  11. package/lib/components/features/search/TMSearchResultsMenuItems.js +69 -51
  12. package/lib/components/features/tasks/TMTaskForm.js +1 -1
  13. package/lib/components/features/tasks/TMTasksAgenda.js +3 -3
  14. package/lib/components/features/tasks/TMTasksCalendar.js +1 -1
  15. package/lib/components/features/tasks/TMTasksHeader.js +1 -1
  16. package/lib/components/features/tasks/TMTasksUtils.d.ts +1 -1
  17. package/lib/components/features/tasks/TMTasksUtils.js +1 -1
  18. package/lib/components/features/tasks/TMTasksView.js +1 -1
  19. package/lib/components/features/workflow/TMWorkflowPopup.js +1 -1
  20. package/lib/components/features/workflow/diagram/DiagramItemForm.js +11 -6
  21. package/lib/components/features/workflow/diagram/RecipientList.js +1 -1
  22. package/lib/components/features/workflow/diagram/WFDiagram.js +20 -6
  23. package/lib/components/forms/TMResultDialog.js +8 -2
  24. package/lib/components/grids/TMBlogsPostUtils.js +1 -1
  25. package/lib/components/grids/TMRecentsManager.js +1 -1
  26. package/lib/components/pages/TMPage.js +1 -1
  27. package/lib/components/query/TMQuerySummary.d.ts +1 -0
  28. package/lib/components/query/TMQuerySummary.js +3 -3
  29. package/lib/components/settings/SettingsAppearance.js +9 -1
  30. package/lib/components/viewers/TMDataListItemViewer.d.ts +1 -1
  31. package/lib/components/viewers/TMMidViewer.d.ts +1 -1
  32. package/lib/components/viewers/TMTidViewer.d.ts +1 -1
  33. package/lib/helper/SDKUI_Globals.d.ts +2 -0
  34. package/lib/helper/SDKUI_Globals.js +9 -1
  35. package/lib/helper/SDKUI_Localizator.d.ts +34 -1
  36. package/lib/helper/SDKUI_Localizator.js +342 -12
  37. package/lib/helper/TMCustomSearchBar.js +1 -1
  38. package/lib/helper/TMIcons.d.ts +1 -0
  39. package/lib/helper/TMIcons.js +3 -0
  40. package/lib/hooks/useRelatedDocuments.js +24 -24
  41. package/lib/ts/types.d.ts +1 -1
  42. package/package.json +2 -2
@@ -3,7 +3,7 @@ import styled from 'styled-components';
3
3
  import { treeFilterDataSource } from './TMTasksUtilsView';
4
4
  import { FilterCategoryId, TaskView } from './TMTasksUtils';
5
5
  import { useEffect, useRef, useState } from 'react';
6
- import ScrollView from 'devextreme-react/cjs/scroll-view';
6
+ import ScrollView from 'devextreme-react/scroll-view';
7
7
  import TMTooltip from '../../base/TMTooltip';
8
8
  import { SDKUI_Localizator } from '../../../helper';
9
9
  import TMDropDown from '../../editors/TMDropDown';
@@ -1,5 +1,5 @@
1
1
  import { Appointment } from 'devextreme/ui/scheduler';
2
- import { ContextMenuTypes } from 'devextreme-react/cjs/context-menu';
2
+ import { ContextMenuTypes } from 'devextreme-react/context-menu';
3
3
  import { TaskDescriptor, Task_States, PdGs, Priorities, ValidationItem } from '@topconsultnpm/sdk-ts';
4
4
  import { FormModes, TaskContext } from '../../../ts';
5
5
  import { TMDataGridContextMenuItem } from '../../base/TMDataGrid';
@@ -318,7 +318,7 @@ const getPDGExtended = (pdg) => {
318
318
  case PdGs.WG:
319
319
  return SDKUI_Localizator.WorkGroup;
320
320
  case PdGs.CF:
321
- return SDKUI_Localizator.Practice;
321
+ return SDKUI_Localizator.Dossier;
322
322
  case PdGs.DT:
323
323
  return SDKUI_Localizator.Document;
324
324
  case PdGs.WF:
@@ -5,7 +5,7 @@ import { TabPanel, Item } from 'devextreme-react/tab-panel';
5
5
  import { Priorities, ResultTypes, SDK_Globals, Task_States } from "@topconsultnpm/sdk-ts";
6
6
  import { calculateNumberOfDays, renderTaskIcons } from "./TMTasksUtilsView";
7
7
  import { getPriorityLocalizatorValue } from "../tasks/TMTasksUtils";
8
- import ContextMenu from 'devextreme-react/cjs/context-menu';
8
+ import ContextMenu from 'devextreme-react/context-menu';
9
9
  import { calcResponsiveSizes, getExceptionMessage, SDKUI_Localizator, StyledTabItem, TMCountBadge } from "../../../helper";
10
10
  import { useDeviceType } from "../../base/TMDeviceProvider";
11
11
  import { FormModes } from "../../../ts";
@@ -80,7 +80,7 @@ export const WorkFlowOperationButtons = (props) => {
80
80
  setIsSignWorkflow(false);
81
81
  }
82
82
  }, [dtd]);
83
- return (_jsx(StyledWorkFlowOperationButtonsContainer, { "$isMobile": isMobile, children: isSignWorkflow ? (_jsxs(_Fragment, { children: [_jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconSignaturePencil, {}), caption: SDKUI_Localizator.SignatureAndApprove, width: "160px", disabled: signApproveDisable, onClick: () => !signApproveDisable && onSignApprove?.(), advancedColor: TMColors.success, color: "success" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconCloseOutline, {}), caption: SDKUI_Localizator.Reject, disabled: rejectDisable, onClick: () => !rejectDisable && onReject?.(), advancedColor: TMColors.error, color: "error" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconInfo, { fontSize: 16 }), caption: SDKUI_Localizator.MoreInformation, width: "180px", disabled: infoDisable, onClick: () => !infoDisable && onMoreInfo?.(), advancedColor: TMColors.info, color: "info" })] })) : (_jsxs(_Fragment, { children: [_jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconApply, {}), caption: SDKUI_Localizator.Approve, disabled: approveDisable, onClick: () => !approveDisable && onApprove?.(), advancedColor: TMColors.success, color: "success" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconCloseOutline, {}), caption: SDKUI_Localizator.Reject, disabled: rejectDisable, onClick: () => !rejectDisable && onReject?.(), advancedColor: TMColors.error, color: "error" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconUser, { fontSize: 16 }), caption: SDKUI_Localizator.Reassign, disabled: reassignDisable, onClick: () => !reassignDisable && onReAssign?.(), advancedColor: TMColors.tertiary, color: "tertiary" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconInfo, { fontSize: 16 }), caption: SDKUI_Localizator.MoreInformation, width: "180px", disabled: infoDisable, onClick: () => !infoDisable && onMoreInfo?.(), advancedColor: TMColors.info, color: "info" })] })) }));
83
+ return (_jsx(StyledWorkFlowOperationButtonsContainer, { "$isMobile": isMobile, children: isSignWorkflow ? (_jsxs(_Fragment, { children: [_jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconSignaturePencil, {}), caption: SDKUI_Localizator.SignatureAndApprove, width: "160px", disabled: signApproveDisable, onClick: () => !signApproveDisable && onSignApprove?.(), advancedColor: "#1a9a49", color: "success" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconCloseOutline, {}), caption: SDKUI_Localizator.Reject, disabled: rejectDisable, onClick: () => !rejectDisable && onReject?.(), advancedColor: TMColors.error, color: "error" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconInfo, { fontSize: 16 }), caption: SDKUI_Localizator.MoreInformation, width: "180px", disabled: infoDisable, onClick: () => !infoDisable && onMoreInfo?.(), advancedColor: TMColors.info, color: "info" })] })) : (_jsxs(_Fragment, { children: [_jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconApply, {}), caption: SDKUI_Localizator.Approve, disabled: approveDisable, onClick: () => !approveDisable && onApprove?.(), advancedColor: "#1a9a49", color: "success" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconCloseOutline, {}), caption: SDKUI_Localizator.Reject, disabled: rejectDisable, onClick: () => !rejectDisable && onReject?.(), advancedColor: TMColors.error, color: "error" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconUser, { fontSize: 16 }), caption: SDKUI_Localizator.Reassign, disabled: reassignDisable, onClick: () => !reassignDisable && onReAssign?.(), advancedColor: TMColors.tertiary, color: "tertiary" }), _jsx(TMButton, { btnStyle: isMobile ? 'toolbar' : 'advanced', showTooltip: isMobile, icon: _jsx(IconInfo, { fontSize: 16 }), caption: SDKUI_Localizator.MoreInformation, width: "180px", disabled: infoDisable, onClick: () => !infoDisable && onMoreInfo?.(), advancedColor: TMColors.info, color: "info" })] })) }));
84
84
  };
85
85
  export const WorkFlowApproveRejectPopUp = ({ TID = 0, DID = 0, deviceType = DeviceType.DESKTOP, isReject, selectedItems = [], onClose, onCompleted }) => {
86
86
  const [commentValue, setCommentValue] = useState('');
@@ -107,7 +107,7 @@ const DiagramItemForm = ({ itemToEdit, wf, onClose, onApply }) => {
107
107
  case DiagramItemTypes.Approval:
108
108
  case DiagramItemTypes.DataEntry:
109
109
  width = '700px';
110
- height = '510px';
110
+ height = '530px';
111
111
  break;
112
112
  case DiagramItemTypes.ExecTask:
113
113
  width = '700px';
@@ -130,6 +130,11 @@ const DiagramItemForm = ({ itemToEdit, wf, onClose, onApply }) => {
130
130
  width = '700px';
131
131
  height = '700px';
132
132
  break;
133
+ case DiagramItemTypes.WorkGroup_AddParts:
134
+ case DiagramItemTypes.CaseFlow_AddParts:
135
+ width = '700px';
136
+ height = '530px';
137
+ break;
133
138
  default:
134
139
  width = '50%';
135
140
  height = '50%';
@@ -383,7 +388,7 @@ const DiagramItemForm = ({ itemToEdit, wf, onClose, onApply }) => {
383
388
  };
384
389
  // Function to render Condition-specific fields
385
390
  const renderConditionFields = () => {
386
- return (_jsx(TMQuerySummary, { qd: localItem.QD, validateSelect: true, validateOrderBy: false, validationItems: validationItems.filter(v => v.PropertyScopes.includes(DiagramItemProps.QD)), onValueChanged: handleQDChange }));
391
+ return (_jsx(TMQuerySummary, { qd: localItem.QD, showDistinct: true, validateSelect: true, validateOrderBy: false, validationItems: validationItems.filter(v => v.PropertyScopes.includes(DiagramItemProps.QD)), onValueChanged: handleQDChange }));
387
392
  };
388
393
  // Function to render Status-specific fields
389
394
  const renderStatusFields = () => {
@@ -404,7 +409,7 @@ const DiagramItemForm = ({ itemToEdit, wf, onClose, onApply }) => {
404
409
  return qd;
405
410
  };
406
411
  const qdForRecipientsEditor = localItem.QD ?? newQD();
407
- return (_jsxs(_Fragment, { children: [_jsx(TMLocalizedTextBox, { label: SDKUI_Localizator.Description, value: localItem.Description, value_IT: localItem.Description_IT, value_EN: localItem.Description_EN, value_FR: localItem.Description_FR, value_PT: localItem.Description_PT, value_ES: localItem.Description_ES, value_DE: localItem.Description_DE, isModifiedWhen: localItem.Description !== localItemOrig.Description, validationItems: validationItems.filter(v => v.PropertyName === DiagramItemProps.Description), onValueChanged: handleLocalizedDescriptionChange }), _jsx(WorkitemRecipientsEditor, { tos: localItem.Tos ?? '', mTID: wf?.MTID, qd: qdForRecipientsEditor, onTosChange: handleTosChange, onQDChange: handleSetRuleQDChange }), _jsx(TMVilViewer, { vil: validationItems.filter(v => v.PropertyName === DiagramItemProps.Tos) }), _jsxs(FlexContainer, { children: [_jsx(TMDropDown, { label: SDKUI_Localizator.WorkflowRecipientSetRule, elementStyle: { width: '320px' }, dataSource: SET_RULE_DATASOURCE, value: localItem.SetRule, isModifiedWhen: localItem.SetRule !== localItemOrig.SetRule, onValueChanged: (e) => { handleSetRuleChange(e.target.value); } }), _jsx(TMCheckBox, { value: localItem.AllowZeroTos ?? 0, label: SDKUI_Localizator.WorkflowAllowZeroTos, isModifiedWhen: localItem.AllowZeroTos !== localItemOrig.AllowZeroTos, onValueChanged: handleAllowZeroTosChange })] }), localItem.Type === DiagramItemTypes.ExecTask &&
412
+ return (_jsxs(_Fragment, { children: [_jsx(TMLocalizedTextBox, { label: SDKUI_Localizator.Description, value: localItem.Description, value_IT: localItem.Description_IT, value_EN: localItem.Description_EN, value_FR: localItem.Description_FR, value_PT: localItem.Description_PT, value_ES: localItem.Description_ES, value_DE: localItem.Description_DE, isModifiedWhen: localItem.Description !== localItemOrig.Description, validationItems: validationItems.filter(v => v.PropertyName === DiagramItemProps.Description), onValueChanged: handleLocalizedDescriptionChange }), _jsx(TMTextBox, { label: "SetID", value: localItem.ID ?? '', readOnly: true }), _jsx(WorkitemRecipientsEditor, { tos: localItem.Tos ?? '', mTID: wf?.MTID, qd: qdForRecipientsEditor, onTosChange: handleTosChange, onQDChange: handleSetRuleQDChange }), _jsx(TMVilViewer, { vil: validationItems.filter(v => v.PropertyName === DiagramItemProps.Tos) }), _jsxs(FlexContainer, { children: [_jsx(TMDropDown, { label: SDKUI_Localizator.WorkflowRecipientSetRule, elementStyle: { width: '320px' }, dataSource: SET_RULE_DATASOURCE, value: localItem.SetRule, isModifiedWhen: localItem.SetRule !== localItemOrig.SetRule, onValueChanged: (e) => { handleSetRuleChange(e.target.value); } }), _jsx(TMCheckBox, { value: localItem.AllowZeroTos ?? 0, label: SDKUI_Localizator.WorkflowAllowZeroTos, isModifiedWhen: localItem.AllowZeroTos !== localItemOrig.AllowZeroTos, onValueChanged: handleAllowZeroTosChange })] }), localItem.Type === DiagramItemTypes.ExecTask &&
408
413
  _jsxs(BoxContainer, { children: [_jsx(HeaderContainer, { children: _jsx("span", { children: SDKUI_Localizator.Application }) }), renderAppFields()] })] }));
409
414
  };
410
415
  // Function to render UpdateDcmt-specific fields
@@ -562,7 +567,7 @@ const DiagramItemForm = ({ itemToEdit, wf, onClose, onApply }) => {
562
567
  const newTos = actorsToTos(updatedRecipients);
563
568
  handleTos2Change(newTos);
564
569
  }, [localItem.Tos2, handleTos2Change]);
565
- return (_jsxs(_Fragment, { children: [_jsx(TMTextExpression, { label: `${SDKUI_Localizator.Name} (${SDKUI_Localizator.Practice})`, value: localItem.PlatformObjName, valueOrig: localItemOrig.PlatformObjName, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjName ?? '') !== (localItemOrig.PlatformObjName ?? ''), onValueChanged: handlePlatformObjNameChange }), _jsx(TMTextExpression, { label: `${SDKUI_Localizator.Description} (${SDKUI_Localizator.Practice})`, value: localItem.PlatformObjDescr, valueOrig: localItemOrig.PlatformObjDescr, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjDescr ?? '') !== (localItemOrig.PlatformObjDescr ?? ''), onValueChanged: handlePlatformObjDescrChange }), _jsx(TMCultureIDPicker, { label: SDKUI_Localizator.Format, selectedValue: localItem.FormatCultureID, isModifiedWhen: localItem.FormatCultureID !== localItemOrig.FormatCultureID, openChooserBySingleClick: true, onSelectCultureID: handleFormatCultureIDChange }), _jsx(TMTextExpression, { label: `${SDKUI_Localizator.CommentText} (${SDKUI_Localizator.BlogCase})`, placeHolder: 'Inserisci il valore', rows: 2, value: localItem.Value1asString, valueOrig: localItemOrig.Value1asString, tid: wf?.MTID, isModifiedWhen: (localItem.Value1asString ?? '') !== (localItemOrig.Value1asString ?? ''), onValueChanged: handleValue1asStringChange }), _jsx(TMCheckBox, { value: localItem.Value1asInt ?? 0, label: SDKUI_Localizator.WorkflowAddDraftToWg, isModifiedWhen: localItem.Value1asInt !== localItemOrig.Value1asInt, onValueChanged: handleValue1asIntChange }), _jsx(TMCheckBox, { value: localItem.Value2asInt ?? 0, label: SDKUI_Localizator.WorkflowAddDcmtToWg, isModifiedWhen: localItem.Value2asInt !== localItemOrig.Value2asInt, onValueChanged: handleValue2asIntChange }), _jsx(TMCheckBox, { value: localItem.Trunc ?? 0, label: SDKUI_Localizator.TruncateString, isModifiedWhen: localItem.Trunc !== localItemOrig.Trunc, onValueChanged: handleTruncChange }), _jsxs(RecipientsContainer, { children: [_jsx(RecipientList, { recipients: tosRecipients, title: SDKUI_Localizator.OwnerName, tid: wf?.MTID, onAdd: (newRecipients) => handleAddTosRecipients(newRecipients, 0), onRemove: handleRemoveTosRecipient }), _jsx(RecipientList, { recipients: tos2Recipients, title: SDKUI_Localizator.Participants, tid: wf?.MTID, onAdd: (newRecipients) => handleAddTos2Recipients(newRecipients, 0), onRemove: handleRemoveTos2Recipient })] })] }));
570
+ return (_jsxs(_Fragment, { children: [_jsx(TMTextExpression, { label: `${SDKUI_Localizator.Name} (${SDKUI_Localizator.Dossier})`, value: localItem.PlatformObjName, valueOrig: localItemOrig.PlatformObjName, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjName ?? '') !== (localItemOrig.PlatformObjName ?? ''), onValueChanged: handlePlatformObjNameChange }), _jsx(TMTextExpression, { label: `${SDKUI_Localizator.Description} (${SDKUI_Localizator.Dossier})`, value: localItem.PlatformObjDescr, valueOrig: localItemOrig.PlatformObjDescr, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjDescr ?? '') !== (localItemOrig.PlatformObjDescr ?? ''), onValueChanged: handlePlatformObjDescrChange }), _jsx(TMCultureIDPicker, { label: SDKUI_Localizator.Format, selectedValue: localItem.FormatCultureID, isModifiedWhen: localItem.FormatCultureID !== localItemOrig.FormatCultureID, openChooserBySingleClick: true, onSelectCultureID: handleFormatCultureIDChange }), _jsx(TMTextExpression, { label: `${SDKUI_Localizator.CommentText} (${SDKUI_Localizator.BlogCase})`, placeHolder: 'Inserisci il valore', rows: 2, value: localItem.Value1asString, valueOrig: localItemOrig.Value1asString, tid: wf?.MTID, isModifiedWhen: (localItem.Value1asString ?? '') !== (localItemOrig.Value1asString ?? ''), onValueChanged: handleValue1asStringChange }), _jsx(TMCheckBox, { value: localItem.Value1asInt ?? 0, label: SDKUI_Localizator.WorkflowAddDraftToWg, isModifiedWhen: localItem.Value1asInt !== localItemOrig.Value1asInt, onValueChanged: handleValue1asIntChange }), _jsx(TMCheckBox, { value: localItem.Value2asInt ?? 0, label: SDKUI_Localizator.WorkflowAddDcmtToWg, isModifiedWhen: localItem.Value2asInt !== localItemOrig.Value2asInt, onValueChanged: handleValue2asIntChange }), _jsx(TMCheckBox, { value: localItem.Trunc ?? 0, label: SDKUI_Localizator.TruncateString, isModifiedWhen: localItem.Trunc !== localItemOrig.Trunc, onValueChanged: handleTruncChange }), _jsxs(RecipientsContainer, { children: [_jsx(RecipientList, { recipients: tosRecipients, title: SDKUI_Localizator.OwnerName, tid: wf?.MTID, onAdd: (newRecipients) => handleAddTosRecipients(newRecipients, 0), onRemove: handleRemoveTosRecipient }), _jsx(RecipientList, { recipients: tos2Recipients, title: SDKUI_Localizator.Participants, tid: wf?.MTID, onAdd: (newRecipients) => handleAddTos2Recipients(newRecipients, 0), onRemove: handleRemoveTos2Recipient })] })] }));
566
571
  };
567
572
  const renderCaseFlowCreateFields = () => {
568
573
  const [dossierTypes, setDossierTypes] = useState([]);
@@ -606,7 +611,7 @@ const DiagramItemForm = ({ itemToEdit, wf, onClose, onApply }) => {
606
611
  const newTos = actorsToTos(updatedRecipients);
607
612
  handleTos2Change(newTos);
608
613
  }, [localItem.Tos2, handleTos2Change]);
609
- return (_jsxs(_Fragment, { children: [_jsx(TMTextExpression, { label: `${SDKUI_Localizator.Name} (${SDKUI_Localizator.WorkGroup})`, value: localItem.PlatformObjName, valueOrig: localItemOrig.PlatformObjName, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjName ?? '') !== (localItemOrig.PlatformObjName ?? ''), onValueChanged: handlePlatformObjNameChange }), _jsx(TMDropDown, { dataSource: dossierTypes, label: `${SDKUI_Localizator.Description} (${SDKUI_Localizator.WorkGroup})`, value: localItem.Value3asInt, isModifiedWhen: (localItem.Value3asInt ?? 0) !== (localItemOrig.Value3asInt ?? 0), onValueChanged: (e) => { handleValue3asIntChange(e.target.value); } }), _jsx(TMTextExpression, { label: `${SDKUI_Localizator.Description} (${SDKUI_Localizator.WorkGroup})`, value: localItem.PlatformObjDescr, valueOrig: localItemOrig.PlatformObjDescr, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjDescr ?? '') !== (localItemOrig.PlatformObjDescr ?? ''), onValueChanged: handlePlatformObjDescrChange }), _jsx(TMCultureIDPicker, { label: SDKUI_Localizator.Format, selectedValue: localItem.FormatCultureID, isModifiedWhen: localItem.FormatCultureID !== localItemOrig.FormatCultureID, openChooserBySingleClick: true, onSelectCultureID: handleFormatCultureIDChange }), _jsx(TMTextExpression, { label: `${SDKUI_Localizator.CommentText} (${SDKUI_Localizator.BlogCase})`, placeHolder: 'Inserisci il valore', rows: 2, value: localItem.Value1asString, valueOrig: localItemOrig.Value1asString, tid: wf?.MTID, isModifiedWhen: (localItem.Value1asString ?? '') !== (localItemOrig.Value1asString ?? ''), onValueChanged: handleValue1asStringChange }), _jsx(TMCheckBox, { value: localItem.Value1asInt ?? 0, label: SDKUI_Localizator.WorkflowAddDraftToWg, isModifiedWhen: localItem.Value1asInt !== localItemOrig.Value1asInt, onValueChanged: handleValue1asIntChange }), _jsx(TMCheckBox, { value: localItem.Value2asInt ?? 0, label: SDKUI_Localizator.WorkflowAddDcmtToWg, isModifiedWhen: localItem.Value2asInt !== localItemOrig.Value2asInt, onValueChanged: handleValue2asIntChange }), _jsx(TMCheckBox, { value: localItem.Trunc ?? 0, label: SDKUI_Localizator.TruncateString, isModifiedWhen: localItem.Trunc !== localItemOrig.Trunc, onValueChanged: handleTruncChange }), _jsxs(RecipientsContainer, { children: [_jsx(RecipientList, { recipients: tosRecipients, title: SDKUI_Localizator.OwnerName, tid: wf?.MTID, onAdd: (newRecipients) => handleAddTosRecipients(newRecipients, 0), onRemove: handleRemoveTosRecipient }), _jsx(RecipientList, { recipients: tos2Recipients, title: SDKUI_Localizator.Participants, tid: wf?.MTID, onAdd: (newRecipients) => handleAddTos2Recipients(newRecipients, 0), onRemove: handleRemoveTos2Recipient })] })] }));
614
+ return (_jsxs(_Fragment, { children: [_jsx(TMTextExpression, { label: `${SDKUI_Localizator.Name} (${SDKUI_Localizator.Dossier})`, value: localItem.PlatformObjName, valueOrig: localItemOrig.PlatformObjName, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjName ?? '') !== (localItemOrig.PlatformObjName ?? ''), onValueChanged: handlePlatformObjNameChange }), _jsx(TMDropDown, { dataSource: dossierTypes, label: `${SDKUI_Localizator.Description} (${SDKUI_Localizator.Dossier})`, value: localItem.Value3asInt, isModifiedWhen: (localItem.Value3asInt ?? 0) !== (localItemOrig.Value3asInt ?? 0), onValueChanged: (e) => { handleValue3asIntChange(e.target.value); } }), _jsx(TMTextExpression, { label: `${SDKUI_Localizator.Description} (${SDKUI_Localizator.Dossier})`, value: localItem.PlatformObjDescr, valueOrig: localItemOrig.PlatformObjDescr, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjDescr ?? '') !== (localItemOrig.PlatformObjDescr ?? ''), onValueChanged: handlePlatformObjDescrChange }), _jsx(TMCultureIDPicker, { label: SDKUI_Localizator.Format, selectedValue: localItem.FormatCultureID, isModifiedWhen: localItem.FormatCultureID !== localItemOrig.FormatCultureID, openChooserBySingleClick: true, onSelectCultureID: handleFormatCultureIDChange }), _jsx(TMTextExpression, { label: `${SDKUI_Localizator.CommentText} (${SDKUI_Localizator.BlogCase})`, placeHolder: 'Inserisci il valore', rows: 2, value: localItem.Value1asString, valueOrig: localItemOrig.Value1asString, tid: wf?.MTID, isModifiedWhen: (localItem.Value1asString ?? '') !== (localItemOrig.Value1asString ?? ''), onValueChanged: handleValue1asStringChange }), _jsx(TMCheckBox, { value: localItem.Value1asInt ?? 0, label: SDKUI_Localizator.WorkflowAddDcmtAsAttachment, isModifiedWhen: localItem.Value1asInt !== localItemOrig.Value1asInt, onValueChanged: handleValue1asIntChange }), _jsx(TMCheckBox, { value: localItem.Value2asInt ?? 0, label: SDKUI_Localizator.WorkflowAddDcmtToDossier, isModifiedWhen: localItem.Value2asInt !== localItemOrig.Value2asInt, onValueChanged: handleValue2asIntChange }), _jsx(TMCheckBox, { value: localItem.Trunc ?? 0, label: SDKUI_Localizator.TruncateString, isModifiedWhen: localItem.Trunc !== localItemOrig.Trunc, onValueChanged: handleTruncChange }), _jsxs(RecipientsContainer, { children: [_jsx(RecipientList, { recipients: tosRecipients, title: SDKUI_Localizator.OwnerName, tid: wf?.MTID, onAdd: (newRecipients) => handleAddTosRecipients(newRecipients, 0), onRemove: handleRemoveTosRecipient }), _jsx(RecipientList, { recipients: tos2Recipients, title: SDKUI_Localizator.Participants, tid: wf?.MTID, onAdd: (newRecipients) => handleAddTos2Recipients(newRecipients, 0), onRemove: handleRemoveTos2Recipient })] })] }));
610
615
  };
611
616
  const renderAddPartsFields = () => {
612
617
  const { andRecipients: tosRecipients } = useMemo(() => {
@@ -624,7 +629,7 @@ const DiagramItemForm = ({ itemToEdit, wf, onClose, onApply }) => {
624
629
  const newTos = actorsToTos(updatedRecipients);
625
630
  handleTosChange(newTos);
626
631
  }, [localItem.Tos, handleTosChange]);
627
- return (_jsxs(_Fragment, { children: [_jsx(TMTextExpression, { label: `${SDKUI_Localizator.Name} (${localItem.Type === DiagramItemTypes.CaseFlow_AddParts ? SDKUI_Localizator.Practice : SDKUI_Localizator.WorkGroup})`, value: localItem.PlatformObjName, valueOrig: localItemOrig.PlatformObjName, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjName ?? '') !== (localItemOrig.PlatformObjName ?? ''), onValueChanged: handlePlatformObjNameChange }), _jsx(TMCultureIDPicker, { label: SDKUI_Localizator.Format, selectedValue: localItem.FormatCultureID, isModifiedWhen: localItem.FormatCultureID !== localItemOrig.FormatCultureID, openChooserBySingleClick: true, onSelectCultureID: handleFormatCultureIDChange }), _jsx(TMCheckBox, { value: localItem.Trunc ?? 0, label: SDKUI_Localizator.TruncateString, isModifiedWhen: localItem.Trunc !== localItemOrig.Trunc, onValueChanged: handleTruncChange }), _jsx(TMRadioButton, { label: SDKUI_Localizator.OperationType, dataSource: [
632
+ return (_jsxs(_Fragment, { children: [_jsx(TMTextExpression, { label: `${SDKUI_Localizator.Name} (${localItem.Type === DiagramItemTypes.CaseFlow_AddParts ? SDKUI_Localizator.Dossier : SDKUI_Localizator.WorkGroup})`, value: localItem.PlatformObjName, valueOrig: localItemOrig.PlatformObjName, tid: wf?.MTID, isModifiedWhen: (localItem.PlatformObjName ?? '') !== (localItemOrig.PlatformObjName ?? ''), onValueChanged: handlePlatformObjNameChange }), _jsx(TMCultureIDPicker, { label: SDKUI_Localizator.Format, selectedValue: localItem.FormatCultureID, isModifiedWhen: localItem.FormatCultureID !== localItemOrig.FormatCultureID, openChooserBySingleClick: true, onSelectCultureID: handleFormatCultureIDChange }), _jsx(TMCheckBox, { value: localItem.Trunc ?? 0, label: SDKUI_Localizator.TruncateString, isModifiedWhen: localItem.Trunc !== localItemOrig.Trunc, onValueChanged: handleTruncChange }), _jsx(TMRadioButton, { label: SDKUI_Localizator.OperationType, dataSource: [
628
633
  { value: 1, display: SDKUI_Localizator.Add },
629
634
  { value: 0, display: SDKUI_Localizator.Remove },
630
635
  ], value: localItem.Value1asInt, isModifiedWhen: localItem.Value1asInt !== localItemOrig.Value1asInt, onValueChanged: handleValue1asIntChange }), _jsx(RecipientList, { recipients: tosRecipients, title: SDKUI_Localizator.OwnerName, tid: wf?.MTID, onAdd: (newRecipients) => handleAddTosRecipients(newRecipients, 0), onRemove: handleRemoveTosRecipient })] }));
@@ -199,6 +199,6 @@ const RecipientList = ({ recipients, title, tid, qd, onAdd, onRemove, onQDChange
199
199
  onRemove(recipient);
200
200
  setUiState(prevState => ({ ...prevState, selectedRecipientIndex: null })); // Resetta la selezione
201
201
  } }), renderActorViewer(recipient)] }, index))) }), uiState.showUserChooser && _jsx(TMUserChooserForm, { allowMultipleSelection: true, allowSorting: true, onClose: () => setUiState(prevState => ({ ...prevState, showUserChooser: false })), onChoose: (IDs) => handleUserChosen(IDs) }), uiState.showGroupChooser && _jsx(TMGroupChooserForm, { allowMultipleSelection: true, allowSorting: true, onClose: () => setUiState(prevState => ({ ...prevState, showGroupChooser: false })), onChoose: (IDs) => handleGroupChosen(IDs) }), uiState.showMetadataChooser && tid && _jsx(TMMetadataChooserForm, { allowMultipleSelection: true, allowSorting: true, tids: [tid], onClose: () => setUiState(prevState => ({ ...prevState, showMetadataChooser: false })), onChoose: (IDs) => handleMetadataChosen(IDs) }), uiState.showQdEditor &&
202
- _jsx(TMModal, { title: SDKUI_Localizator.QueryDefine, onClose: () => setUiState(prevState => ({ ...prevState, showQdEditor: false })), children: _jsx(TMQueryEditor, { inputData: qd, formMode: FormModes.Update, onApplied: handleQdChosen, onClose: () => setUiState(prevState => ({ ...prevState, showQdEditor: false })) }) })] }));
202
+ _jsx(TMModal, { title: SDKUI_Localizator.QueryDefine, onClose: () => setUiState(prevState => ({ ...prevState, showQdEditor: false })), children: _jsx(TMQueryEditor, { inputData: qd, formMode: FormModes.Update, showDistinct: true, onApplied: handleQdChosen, onClose: () => setUiState(prevState => ({ ...prevState, showQdEditor: false })) }) })] }));
203
203
  };
204
204
  export default RecipientList;
@@ -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);
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ResultTypes } from '@topconsultnpm/sdk-ts';
3
- import DataGrid, { Column, HeaderFilter, Pager, Paging, Scrolling } from 'devextreme-react/cjs/data-grid';
3
+ import DataGrid, { Column, HeaderFilter, Pager, Paging, Scrolling } from 'devextreme-react/data-grid';
4
4
  import ReactDOM from 'react-dom/client';
5
5
  import { IconSuccessCirlce, IconWarning, IconCloseCircle, IconInfo, SDKUI_Globals, SDKUI_Localizator } from '../../helper';
6
6
  import { TMColors } from '../../utils/theme';
@@ -8,6 +8,7 @@ import ShowAlert from '../base/TMAlert';
8
8
  import { TMDeviceProvider } from '../base/TMDeviceProvider';
9
9
  import TMLayoutContainer from '../base/TMLayout';
10
10
  import TMModal from '../base/TMModal';
11
+ import { TMExceptionBoxManager } from '../base/TMPopUp';
11
12
  const cellRender = (cellData) => {
12
13
  const resultType = cellData.data.resultType;
13
14
  switch (resultType) {
@@ -19,7 +20,12 @@ const cellRender = (cellData) => {
19
20
  }
20
21
  };
21
22
  const TMResultDialog = ({ title, result, id1Caption, id2Caption }) => {
22
- return (_jsx(TMModal, { height: '65%', width: '75%', title: `${SDKUI_Localizator.OperationResult} - ${title}`, children: _jsxs(TMLayoutContainer, { children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '5px', padding: '5px', justifyContent: 'center', alignItems: 'center' }, children: [_jsx("p", { children: `${SDKUI_Localizator.ProcessedItems}: ${result.length}` }), _jsx(IconSuccessCirlce, { fontSize: 22, color: TMColors.success }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.SUCCESS).length ?? 0 }), _jsx(IconWarning, { fontSize: 22, color: TMColors.warning }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.WARNING).length ?? 0 }), _jsx(IconCloseCircle, { fontSize: 22, color: TMColors.error }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.ERROR).length ?? 0 })] }), _jsxs(DataGrid, { dataSource: result.filter(o => o.resultType != ResultTypes.SUCCESS), showColumnLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showRowLines) === 1, showRowLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showColumnLines) === 1, keyExpr: "rowIndex", width: "100%", height: "100%", columnResizingMode: "widget", allowColumnResizing: true, focusedRowEnabled: true, hoverStateEnabled: true, rowAlternationEnabled: true, children: [_jsx(Column, { dataField: 'resultType', caption: '', width: "5%", allowResizing: true, allowSorting: true, cellRender: cellRender }), _jsx(Column, { dataField: 'id1', caption: id1Caption, width: "10%" }), id2Caption && _jsx(Column, { dataField: 'id2', caption: id2Caption, width: "10%" }), _jsx(Column, { dataField: 'description', allowResizing: true, caption: SDKUI_Localizator.Description, allowSorting: true, width: id2Caption ? "75%" : "85%" }), _jsx(HeaderFilter, { visible: true }), _jsx(Paging, { enabled: true, pageSize: 30 }), _jsx(Pager, { visible: true, showInfo: true, showNavigationButtons: true }), _jsx(Scrolling, { mode: 'standard', useNative: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.useNativeScrollbar) === 1 })] })] }) }));
23
+ const handleRowDblClick = (e) => {
24
+ if (e.data && e.data.description) {
25
+ TMExceptionBoxManager.show({ exception: e.data.description });
26
+ }
27
+ };
28
+ return (_jsx(TMModal, { height: '65%', width: '75%', title: `${SDKUI_Localizator.OperationResult} - ${title}`, children: _jsxs(TMLayoutContainer, { children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '5px', padding: '5px', justifyContent: 'center', alignItems: 'center' }, children: [_jsx("p", { children: `${SDKUI_Localizator.ProcessedItems}: ${result.length}` }), _jsx(IconSuccessCirlce, { fontSize: 22, color: TMColors.success }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.SUCCESS).length ?? 0 }), _jsx(IconWarning, { fontSize: 22, color: TMColors.warning }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.WARNING).length ?? 0 }), _jsx(IconCloseCircle, { fontSize: 22, color: TMColors.error }), _jsx("p", { children: result.filter(o => o.resultType == ResultTypes.ERROR).length ?? 0 })] }), _jsxs(DataGrid, { dataSource: result.filter(o => o.resultType != ResultTypes.SUCCESS), showColumnLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showRowLines) === 1, showRowLines: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.showColumnLines) === 1, keyExpr: "rowIndex", width: "100%", height: "100%", columnResizingMode: "widget", allowColumnResizing: true, focusedRowEnabled: true, hoverStateEnabled: true, rowAlternationEnabled: true, onRowDblClick: handleRowDblClick, children: [_jsx(Column, { dataField: 'resultType', caption: '', width: "5%", allowResizing: true, allowSorting: true, cellRender: cellRender }), _jsx(Column, { dataField: 'id1', caption: id1Caption, width: "10%" }), id2Caption && _jsx(Column, { dataField: 'id2', caption: id2Caption, width: "10%" }), _jsx(Column, { dataField: 'description', allowResizing: true, caption: SDKUI_Localizator.Description, allowSorting: true, width: id2Caption ? "75%" : "85%" }), _jsx(HeaderFilter, { visible: true }), _jsx(Paging, { enabled: true, pageSize: 30 }), _jsx(Pager, { visible: true, showInfo: true, showNavigationButtons: true }), _jsx(Scrolling, { mode: 'standard', useNative: Number(SDKUI_Globals.userSettings?.themeSettings.gridSettings.useNativeScrollbar) === 1 })] })] }) }));
23
29
  };
24
30
  export default TMResultDialog;
25
31
  export class TMResultManager {
@@ -166,7 +166,7 @@ export const BlogPostHomeHeader = (header, classId, isSelected, searchText, head
166
166
  fontWeight: "bold",
167
167
  color: isSelected ? "#fff" : TMColors.primary,
168
168
  gap: "4px",
169
- }, children: [_jsx(TMTooltip, { content: isWorkGroup ? SDKUI_Localizator.WorkGroup : SDKUI_Localizator.Practice, children: isWorkGroup ? (_jsx(IconMenuCAWorkingGroups, { color: iconColor, fontSize: 28 })) : (_jsx(IconCADossier, { color: iconColor, fontSize: 28 })) }), _jsx("div", { style: {
169
+ }, children: [_jsx(TMTooltip, { content: isWorkGroup ? SDKUI_Localizator.WorkGroup : SDKUI_Localizator.Dossier, children: isWorkGroup ? (_jsx(IconMenuCAWorkingGroups, { color: iconColor, fontSize: 28 })) : (_jsx(IconCADossier, { color: iconColor, fontSize: 28 })) }), _jsx("div", { style: {
170
170
  whiteSpace: "nowrap",
171
171
  overflow: "hidden",
172
172
  textOverflow: "ellipsis",
@@ -3,7 +3,7 @@ import styled from 'styled-components';
3
3
  import { useCallback, useEffect, useState } from 'react';
4
4
  import ReactDOMServer from 'react-dom/server';
5
5
  import { DcmtTypeListCacheService } from '@topconsultnpm/sdk-ts';
6
- import ContextMenu from 'devextreme-react/cjs/context-menu';
6
+ import ContextMenu from 'devextreme-react/context-menu';
7
7
  import { IconDelete, SDKUI_Localizator, IconApply, IconInfo, IconCloseOutline } from '../../helper';
8
8
  import { TMColors } from '../../utils/theme';
9
9
  import { DeviceType } from '../base/TMDeviceProvider';
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useState, useEffect } from "react";
3
3
  import { SDK_Globals, ObjectClasses, ResultTypes } from "@topconsultnpm/sdk-ts";
4
- import DataGrid, { Column, GroupPanel, Grouping, HeaderFilter, LoadPanel, Pager, Paging, Scrolling, SearchPanel, Selection } from "devextreme-react/cjs/data-grid";
4
+ import DataGrid, { Column, GroupPanel, Grouping, HeaderFilter, LoadPanel, Pager, Paging, Scrolling, SearchPanel, Selection } from "devextreme-react/data-grid";
5
5
  import { PlatformObjectService } from "../../services/platform_services";
6
6
  import { FormModes } from "../../ts";
7
7
  import { Globalization, IconAdd, IconColumns, IconCopy, IconDelete, IconDuplicate, IconHide, IconMail, IconMenuVertical, IconOpenInNew, IconRefresh, IconShow, SDKUI_Globals, SDKUI_Localizator, calcSaveFormTitle, canNext, canPrev, dialogConfirmOperation, getExceptionMessage, getNext, getPrev } from "../../helper";
@@ -7,6 +7,7 @@ interface ITMQuerySummary {
7
7
  raiseWarningForOnlyMetadataDcmtTypes?: boolean;
8
8
  validateSelect?: boolean;
9
9
  validateOrderBy?: boolean;
10
+ showDistinct?: boolean;
10
11
  onValueChanged?: (value: QueryDescriptor | undefined) => void;
11
12
  onEditClick?: () => void;
12
13
  onClose?: () => void;
@@ -24,12 +24,12 @@ const StyledQueryToolbar = styled.div `
24
24
  width: max-content;
25
25
  gap: 8px;
26
26
  `;
27
- const TMQuerySummary = ({ children, qd, validateSelect = true, validateOrderBy = true, raiseWarningForOnlyMetadataDcmtTypes = false, validationItems = [], onValueChanged, onEditClick, onClose }) => {
27
+ const TMQuerySummary = ({ children, qd, validateSelect = true, validateOrderBy = true, raiseWarningForOnlyMetadataDcmtTypes = false, showDistinct = false, validationItems = [], onValueChanged, onEditClick, onClose }) => {
28
28
  const [showEditor, setShowEditor] = useState(false);
29
29
  const validationItemsQd = validationItems.filter(o => o.PropertyScopes.includes(TMScopeNames.qd) || o.PropertyName == TMScopeNames.qd);
30
30
  const useInternalEditor = onEditClick === undefined;
31
31
  return (_jsxs(StyledWrapper, { children: [_jsxs(StyledQueryToolbar, { children: [_jsx(TMButton, { caption: SDKUI_Localizator.QueryDefine, icon: _jsx(IconPencil, { fontSize: 16 }), btnStyle: 'toolbar', onClick: () => onEditClick ? onEditClick() : setShowEditor(true) }), _jsx(TMButton, { caption: SDKUI_Localizator.QueryCount, icon: _jsx(IconCount, { fontSize: 16 }), disabled: validationItemsQd.filter(o => o.ResultType == ResultTypes.ERROR).length > 0, btnStyle: 'toolbar', onClick: () => getQueryCountAsync(qd, true) }), _jsx(TMButton, { caption: SDKUI_Localizator.QueryClear, icon: _jsx(IconEraser, { fontSize: 16 }), btnStyle: 'toolbar', onClick: () => onValueChanged?.(new QueryDescriptor()) }), children] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', width: '100%', overflowX: 'auto' }, children: [qd && qd.from &&
32
- _jsx(TMQueryEditor, { formMode: FormModes.ReadOnly, inputData: qd, isModal: false, showToolbar: false, validateSelect: validateSelect, validateOrderBy: validateOrderBy, raiseWarningForOnlyMetadataDcmtTypes: raiseWarningForOnlyMetadataDcmtTypes }), _jsx("div", { style: { padding: '0px 5px' }, children: _jsx(TMVilViewer, { vil: validationItemsQd }) })] }), useInternalEditor && showEditor &&
33
- _jsx(TMModal, { title: SDKUI_Localizator.QueryDefine, children: _jsx(TMQueryEditor, { formMode: FormModes.Update, inputData: qd, isModal: true, raiseWarningForOnlyMetadataDcmtTypes: raiseWarningForOnlyMetadataDcmtTypes, validateSelect: validateSelect, validateOrderBy: validateOrderBy, onApplied: (newValue) => onValueChanged?.(newValue), onClose: () => { setShowEditor(false); } }) })] }));
32
+ _jsx(TMQueryEditor, { formMode: FormModes.ReadOnly, inputData: qd, showDistinct: showDistinct, isModal: false, showToolbar: false, validateSelect: validateSelect, validateOrderBy: validateOrderBy, raiseWarningForOnlyMetadataDcmtTypes: raiseWarningForOnlyMetadataDcmtTypes }), _jsx("div", { style: { padding: '0px 5px' }, children: _jsx(TMVilViewer, { vil: validationItemsQd }) })] }), useInternalEditor && showEditor &&
33
+ _jsx(TMModal, { title: SDKUI_Localizator.QueryDefine, children: _jsx(TMQueryEditor, { formMode: FormModes.Update, inputData: qd, isModal: true, showDistinct: showDistinct, raiseWarningForOnlyMetadataDcmtTypes: raiseWarningForOnlyMetadataDcmtTypes, validateSelect: validateSelect, validateOrderBy: validateOrderBy, onApplied: (newValue) => onValueChanged?.(newValue), onClose: () => { setShowEditor(false); } }) })] }));
34
34
  };
35
35
  export default TMQuerySummary;
@@ -18,6 +18,10 @@ const fontSizes = [
18
18
  { value: "19px", display: "19px" },
19
19
  { value: "20px", display: "20px" }
20
20
  ];
21
+ const fontFamilies = [
22
+ { value: "Inter", display: "Inter" },
23
+ { value: "Roboto", display: "Roboto" }
24
+ ];
21
25
  const SettingsAppearance = ({ landingPagesOptions, permissions = { canArchive: true, canSearch: true, dossiersLicense: true, wgGroupLicense: true, workFlowLicense: true } }) => {
22
26
  const [, setForceUpdate] = useState(0); // Dummy state to force re-renders
23
27
  const triggerUIUpdate = () => setForceUpdate((prev) => prev + 1); // Increment dummy state to re-render
@@ -43,7 +47,11 @@ const SettingsAppearance = ({ landingPagesOptions, permissions = { canArchive: t
43
47
  return (_jsxs(TMLayoutContainer, { children: [landingPagesOptions && _jsx("p", { style: { fontSize: '1.h1rem', fontWeight: 'bold', marginBottom: '5px' }, children: SDKUI_Localizator.LandingPage }), landingPagesOptions && _jsx(TMDropDown, { dataSource: filteredLandingPageOptopns, value: SDKUI_Globals.userSettings.landingPage, width: '230px', onValueChanged: (e) => {
44
48
  SDKUI_Globals.userSettings.landingPage = e.target.value;
45
49
  triggerUIUpdate();
46
- } }), _jsx("p", { style: { fontSize: '1.h1rem', fontWeight: 'bold', marginTop: '10px' }, children: 'Font' }), _jsx(TMDropDown, { label: SDKUI_Localizator.Size, dataSource: fontSizes, width: '230px', value: SDKUI_Globals.userSettings.themeSettings.fontSize, onValueChanged: (e) => {
50
+ } }), _jsx("p", { style: { fontSize: '1.h1rem', fontWeight: 'bold', marginTop: '10px' }, children: 'Font' }), _jsx(TMDropDown, { label: SDKUI_Localizator.Name, dataSource: fontFamilies, width: '230px', value: SDKUI_Globals.userSettings.themeSettings.fontFamily, onValueChanged: (e) => {
51
+ let newFamily = e.target.value;
52
+ SDKUI_Globals.userSettings.themeSettings.fontFamily = newFamily;
53
+ triggerUIUpdate();
54
+ } }), _jsx(TMDropDown, { label: SDKUI_Localizator.Size, dataSource: fontSizes, width: '230px', value: SDKUI_Globals.userSettings.themeSettings.fontSize, onValueChanged: (e) => {
47
55
  let newpx = e.target.value;
48
56
  SDKUI_Globals.userSettings.themeSettings.fontSize = newpx;
49
57
  triggerUIUpdate();
@@ -1,5 +1,5 @@
1
1
  import { DataListViewModes } from '@topconsultnpm/sdk-ts';
2
- import { DataGridTypes } from 'devextreme-react/cjs/data-grid';
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/cjs/data-grid';
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/cjs/data-grid';
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",
@@ -32,6 +32,7 @@ export declare class DataGridSettings {
32
32
  }
33
33
  export declare class ThemeSettings {
34
34
  fontSize: string;
35
+ fontFamily: string;
35
36
  gridSettings: DataGridSettings;
36
37
  constructor(skipCssUpdate?: boolean);
37
38
  /**
@@ -40,6 +41,7 @@ export declare class ThemeSettings {
40
41
  */
41
42
  toJSON(): {
42
43
  fontSize: string;
44
+ fontFamily: string;
43
45
  gridSettings: DataGridSettings;
44
46
  };
45
47
  }
@@ -36,8 +36,9 @@ export class UserSettings {
36
36
  // Ensure userID and archiveID are set
37
37
  settings.userID = userID;
38
38
  settings.archiveID = archiveID;
39
- // Update the CSS variable for font size
39
+ // Update the CSS variables for font size and font family
40
40
  document.documentElement.style.setProperty('--base-font-size', settings.themeSettings.fontSize);
41
+ document.documentElement.style.setProperty('--base-font-family', settings.themeSettings.fontFamily);
41
42
  // Wrap the settings object in a Proxy to intercept property updates
42
43
  const proxiedSettings = createProxy(settings, UserSettings.SaveSettings);
43
44
  // Automatically set the global userSettings
@@ -68,10 +69,12 @@ export class DataGridSettings {
68
69
  export class ThemeSettings {
69
70
  constructor(skipCssUpdate = false) {
70
71
  this.fontSize = FontSize.defaultFontSizeInPixel;
72
+ this.fontFamily = 'Inter';
71
73
  this.gridSettings = new DataGridSettings();
72
74
  // Automatically update the CSS variable for font size
73
75
  if (!skipCssUpdate) {
74
76
  document.documentElement.style.setProperty('--base-font-size', this.fontSize);
77
+ document.documentElement.style.setProperty('--base-font-family', this.fontFamily);
75
78
  }
76
79
  }
77
80
  /**
@@ -81,6 +84,7 @@ export class ThemeSettings {
81
84
  toJSON() {
82
85
  return {
83
86
  fontSize: this.fontSize,
87
+ fontFamily: this.fontFamily,
84
88
  gridSettings: this.gridSettings,
85
89
  };
86
90
  }
@@ -148,6 +152,10 @@ function createProxy(obj, saveCallback, rootObj) {
148
152
  if (prop === 'fontSize' && root instanceof UserSettings) {
149
153
  document.documentElement.style.setProperty('--base-font-size', value);
150
154
  }
155
+ // Handle specific property (fontFamily) updates
156
+ if (prop === 'fontFamily' && root instanceof UserSettings) {
157
+ document.documentElement.style.setProperty('--base-font-family', value);
158
+ }
151
159
  // Handle specific property (invoiceRetrieveFormat, orderRetrieveFormat) updates
152
160
  if ((prop === 'invoiceRetrieveFormat' || prop === 'orderRetrieveFormat') && root instanceof UserSettings) {
153
161
  clearDcmtsFileCache();
@@ -48,6 +48,8 @@ export declare class SDKUI_Localizator {
48
48
  static get ArchiveConstraints_OnlyMetadata(): "Nur Methadatenarchivierung erlauben" | "Allow metadata only archiving" | "Permitir solo almacenamiento de metadatos" | "Autorise uniquement l'archivage de métadonnées" | "Permitir somente os metadados de arquivamento" | "Consenti solo archiviazioni di metadati";
49
49
  static get ArchivedDocuments(): string;
50
50
  static get ArchiveID(): "Armazena" | "Dokumentarisches Archiv" | "Documental archive" | "Archivo de documentos" | "Archivage des documents" | "Archivio documentale";
51
+ static get ArchiveDetailDocument(): "Detaildokument archivieren" | "Archive detail document" | "Archivar documento de detalle" | "Archiver le document détail" | "Arquivar documento de detalhe" | "Archivia documento dettaglio";
52
+ static get ArchiveMasterDocument(): "Master-Dokument archivieren" | "Archive master document" | "Archivar documento maestro" | "Archiver le document maître" | "Arquivar documento mestre" | "Archivia documento master";
51
53
  static get Arguments(): "Themen" | "Arguments" | "Argumentos" | "Sujets" | "Tópicos" | "Argomenti";
52
54
  static get AssignedBy(): "Zugewiesen von" | "Assigned by" | "Asignado por" | "Assigné par" | "Atribuído por" | "Assegnata da";
53
55
  static get AssignedByMe(): "Von mir zugewiesene" | "Assigned by me" | "Por mí" | "Que j'ai assignées" | "Atribuídas por mim" | "Assegnate da me";
@@ -74,6 +76,7 @@ export declare class SDKUI_Localizator {
74
76
  static get BrowseAreaFolder(): "Ordner in den Supportbereichen durchsuchen" | "Browse folders on support areas" | "Explorar las carpetas en las áreas de apoyo" | "Parcourir les dossiers dans les zones de support" | "Percorra as pastas nas áreas de apoio" | "Sfoglia le cartelle nelle aree di appoggio";
75
77
  static get ByDate(): string;
76
78
  static get Calendar(): "Kalender" | "Calendar" | "Calendario" | "Calendrier" | "Calendário";
79
+ static get CancelCheckOut(): string;
77
80
  static get CassettoDoganaleExportMRN(): "MRN-Erholung für den Export" | "MRN recovery for export" | "Recuperación MRN para exportación" | "Récupération MRN pour l'export" | "Recuperação MRN para exportação" | "Recupero MRN per Export";
78
81
  static get CassettoDoganaleExportVU(): "Wiederherstellung des Ausreisevisums" | "Exit Visa Recovery" | "Recuperación de Visa de Salida" | "Sortie Récupération Visa" | "Recuperação de Visto de Saída" | "Recupero Visto Uscire per Export";
79
82
  static get CassettoDoganaleImportMRN(): "MRN-Erholung für den Import" | "MRN recovery for import" | "Recuperación MRN para importación" | "Récupération MRN à l'import" | "Recuperação MRN para importação" | "Recupero MRN per Import";
@@ -181,6 +184,8 @@ export declare class SDKUI_Localizator {
181
184
  static get Documents(): string;
182
185
  static get DocumentOperations(): string;
183
186
  static get Domain(): "Domäne" | "Domain" | "Dominio" | "Domaine";
187
+ static get Dossier(): "Übung" | "Dossier" | "Expediente" | "Pratique" | "Prática" | "Pratica";
188
+ static get Dossiers(): "Akten" | "Dossiers" | "Expedientes" | "Pratiques" | "Práticas" | "Pratiche";
184
189
  static get DownloadFile(): string;
185
190
  static get Download_in_Process(): "Download läuft" | "Download in progress" | "Descarga en curso" | "Téléchargement en cours" | "Download em progresso" | "Download in corso";
186
191
  static get DownloadXMLAttachments(): string;
@@ -211,6 +216,8 @@ export declare class SDKUI_Localizator {
211
216
  static get ErrorParsingFileContent(): "Fehler beim Parsen des Dateiinhalts. Stellen Sie sicher, dass die Datei im richtigen Format vorliegt." | "Error parsing the file content. Ensure the file is in the correct format." | "Error al analizar el contenido del archivo. Asegúrese de que el archivo esté en el formato correcto." | "Erreur lors de l'analyse du contenu du fichier. Assurez-vous que le fichier est dans le bon format." | "Erro ao analisar o conteúdo do arquivo. Certifique-se de que o arquivo está no formato correto." | "Errore durante l'analisi del contenuto del file. Assicurati che il file sia nel formato corretto.";
212
217
  static get ErrorEndRemDate(): "Fehler bei den Daten (2)" | "Error in the dates (2)" | "Error en las fechas (2)" | "Erreur dans les dates (2)" | "Erro nas datas (2)" | "Errore nelle date (2)";
213
218
  static get ErrorStartEndDate(): "Fehler bei den Daten (1)" | "Error in the dates (1)" | "Error en las fechas (1)" | "Erreur dans les dates (1)" | "Erro nas datas (1)" | "Errore nelle date (1)";
219
+ static get ExecuteCancelCheckOutQuestion(): string;
220
+ static get ExecuteCheckOutQuestion(): string;
214
221
  static get ExportDataListsDescriptionField(): "Exportiere die \"Beschreibung\"-Felder der Datenlisten" | "Export the \"description\" fields of data lists" | "Exportar los campos \"descripción\" de las listas de datos" | "Exporter les champs \"description\" des listes de données" | "Exportar os campos \"descrição\" das listas de dados" | "Esporta la \"Descrizione\" delle liste dati";
215
222
  static get ExportOnlySelectedDocuments(): "Nur ausgewählte Dokumente exportieren" | "Export only selected documents" | "Exportar solo los documentos seleccionados" | "Exporter uniquement les documents sélectionnés" | "Exportar apenas os documentos selecionados" | "Esporta solo i documenti selezionati";
216
223
  static get ExportSelectedColumnsAndFormatLabel(): string;
@@ -321,6 +328,8 @@ export declare class SDKUI_Localizator {
321
328
  static get Low(): "Niedrig" | "Low" | "Baja" | "Faible" | "Baixa" | "Bassa";
322
329
  static get MakeEditable(): "Bearbeitbar machen" | "Make editable" | "Hacer editable" | "Rendre modifiable" | "Faça editável" | "Rendi editabile";
323
330
  static get MarkAs(): "Als markieren" | "Mark as" | "Marcar como" | "Marquer comme" | "Segna come";
331
+ static get Match(): "Übereinstimmen" | "Match" | "Emparejar" | "Associer" | "Corresponder" | "Abbina";
332
+ static get MatchManyDocumentsManyToMany(): "Mehrere Dokumente mehrfach zuordnen" | "Match many documents many to many" | "Emparejar muchos documentos de muchos a muchos" | "Associer plusieurs documents plusieurs à plusieurs" | "Corresponder muitos documentos de muitos para muitos" | "Abbina documenti molti a molti";
324
333
  static get Max_Value(): "Der Maximalwert ist {{0}}" | "The maximum value is {{0}}" | "El valor máximo es {{0}}" | "La valeur maximale est {{0}}" | "O valor máximo é {{0}}" | "Il valore massimo è {{0}}";
325
334
  static get MaxDcmtsToBeReturned(): "Maximale Anzahl von Dokumenten" | "Max number of documents" | "Número máximo de documentos" | "Nombre maximum de documents" | "O número máximo de documentos" | "Numero massimo di documenti";
326
335
  static get Maximize(): "Maximieren" | "Maximize" | "Maximizar" | "Maximiser" | "Massimizza";
@@ -377,6 +386,20 @@ export declare class SDKUI_Localizator {
377
386
  static get NoDataToDisplay(): "Keine Daten zum Anzeigen" | "No data to display" | "No hay datos para mostrar" | "Aucune donnée à afficher" | "Sem dados para exibir" | "Nessun dato da visualizzare";
378
387
  static get NoDcmtFound(): "Kein Dokument gefunden" | "No documents found" | "Ningún documento encontrado" | "Pas de documents trouvés" | "Nenhum documento encontrado" | "Nessun documento trovato";
379
388
  static get NoDcmtSelected(): string;
389
+ static get NoDetailDocumentFoundForArchiving(): "Kein Detaildokument zur Archivierung gefunden." | "No detail document found for archiving." | "No se encontró ningún documento de detalle para archivar." | "Aucun document détail trouvé pour l'archivage." | "Nenhum documento de detalhe encontrado para arquivamento." | "Nessun documento di dettaglio trovato per l'archiviazione.";
390
+ static get NoDocumentMatchFound(): "Kein zugeordnetes Dokument gefunden." | "No document match found." | "No se encontró ningún documento emparejado." | "Aucun document associé trouvé." | "Nenhum documento correspondente encontrado." | "Nessun documento abbinato trovato.";
391
+ static get NoDocumentSelectedForManyToManyMatching(): "Kein Dokument für die Mehrfach-Zuordnung ausgewählt." | "No document selected for many-to-many matching." | "Ningún documento seleccionado para el emparejamiento de muchos a muchos." | "Aucun document sélectionné pour l'association plusieurs à plusieurs." | "Nenhum documento selecionado para correspondência de muitos para muitos." | "Nessun documento selezionato per l'abbinamento molti a molti.";
392
+ static get NoDocumentSelectedForManyToManyUnmatching(): "Kein Dokument für die Aufhebung der Mehrfach-Zuordnung ausgewählt." | "No document selected for many-to-many unmatching." | "Ningún documento seleccionado para el desemparejamiento de muchos a muchos." | "Aucun document sélectionné pour la dissociation plusieurs à plusieurs." | "Nenhum documento selecionado para descorrespondência de muitos para muitos." | "Nessun documento selezionato per il disabbinamento molti a molti.";
393
+ static get NoDocumentToMatch(): "Kein Dokument zuzuordnen. Alle resultierenden Dokumente sind bereits zugeordnet." | "No document to match. All resulting documents are already matched." | "Ningún documento para emparejar. Todos los documentos resultantes ya están emparejados." | "Aucun document à associer. Tous les documents résultants sont déjà associés." | "Nenhum documento para corresponder. Todos os documentos resultantes já estão correspondidos." | "Nessun documento da abbinare. Tutti i documenti risultanti sono già abbinati.";
394
+ static get NoManyToManyMatchingRelationshipAssociatedWithRetrievalQuery(): "Keine Mehrfach-Zuordnungsbeziehung mit Abrufabfrage verknüpft." | "No many-to-many matching relationship associated with retrieval query." | "Ninguna relación de emparejamiento de muchos a muchos asociada con la consulta de recuperación." | "Aucune relation d'association plusieurs à plusieurs associée à la requête de récupération." | "Nenhuma relação de correspondência de muitos para muitos associada à consulta de recuperação." | "Nessuna query di recupero associata alla relazione di abbinamento molti a molti.";
395
+ static get NoManyToManyMatchingRelationshipDefined(): "Keine Mehrfach-Zuordnungsbeziehung im System definiert." | "No many-to-many matching relationship defined in the system." | "Ninguna relación de emparejamiento de muchos a muchos definida en el sistema." | "Aucune relation d'association plusieurs à plusieurs définie dans le système." | "Nenhuma relação de correspondência de muitos para muitos definida no sistema." | "Nessuna relazione di abbinamento molti a molti definita nel sistema.";
396
+ static get NoManyToManyMatchingRelationshipDefinedForSelectedDocumentType(): "Keine Mehrfach-Zuordnungsbeziehung für den ausgewählten Dokumenttyp definiert." | "No many-to-many matching relationship defined for selected document type." | "Ninguna relación de emparejamiento de muchos a muchos definida para el tipo de documento seleccionado." | "Aucune relation d'association plusieurs à plusieurs définie pour le type de document sélectionné." | "Nenhuma relação de correspondência de muitos para muitos definida para o tipo de documento selecionado." | "Nessuna relazione di abbinamento molti a molti definita per il tipo di documento selezionato.";
397
+ static get NoManyToManyUnmatchingRelationshipAssociatedWithRetrievalQuery(): "Keine Beziehung zur Aufhebung der Mehrfach-Zuordnung mit Abrufabfrage verknüpft." | "No many-to-many unmatching relationship associated with retrieval query." | "Ninguna relación de desemparejamiento de muchos a muchos asociada con la consulta de recuperación." | "Aucune relation de dissociation plusieurs à plusieurs associée à la requête de récupération." | "Nenhuma relação de descorrespondência de muitos para muitos associada à consulta de recuperação." | "Nessuna query di recupero associata alla relazione di disabbinamento molti a molti.";
398
+ static get NoManyToManyUnmatchingRelationshipDefined(): "Keine Beziehung zur Aufhebung der Mehrfach-Zuordnung im System definiert." | "No many-to-many unmatching relationship defined in the system." | "Ninguna relación de desemparejamiento de muchos a muchos definida en el sistema." | "Aucune relation de dissociation plusieurs à plusieurs définie dans le système." | "Nenhuma relação de descorrespondência de muitos para muitos definida no sistema." | "Nessuna relazione di disabbinamento molti a molti definita nel sistema.";
399
+ static get NoManyToManyUnmatchingRelationshipDefinedForSelectedDocumentType(): "Nessuna relazione di abbinamento molti a molti definita per il tipo di documento selezionato." | "Keine Beziehung zur Aufhebung der Mehrfach-Zuordnung für den ausgewählten Dokumenttyp definiert." | "No many-to-many unmatching relationship defined for selected document type." | "Ninguna relación de desemparejamiento de muchos a muchos definida para el tipo de documento seleccionado." | "Aucune relation de dissociation plusieurs à plusieurs définie pour le type de document sélectionné." | "Nenhuma relação de descorrespondência de muitos para muitos definida para o tipo de documento selecionado.";
400
+ static get NoMasterDocumentFoundForArchiving(): "Kein Master-Dokument zur Archivierung gefunden." | "No master document found for archiving." | "No se encontró ningún documento maestro para archivar." | "Aucun document maître trouvé pour l'archivage." | "Nenhum documento mestre encontrado para arquivamento." | "Nessun documento di master trovato per l'archiviazione";
401
+ static get NoMatchFoundForDetailDocuments(): "Keine Zuordnung für Detaildokumente gefunden." | "No match found for detail documents." | "No se encontró ninguna correspondencia para los documentos de detalle." | "Aucune correspondance trouvée pour les documents détail." | "Nenhuma correspondência encontrada para documentos de detalhe." | "Nessuna associazione trovata per i documenti di dettaglio";
402
+ static get NoMatchFoundForMasterDocuments(): "Keine Zuordnung für Master-Dokumente gefunden." | "No match found for master documents." | "No se encontró ninguna correspondencia para los documentos maestros." | "Aucune correspondance trouvée pour les documents maîtres." | "Nenhuma correspondência encontrada para documentos mestres." | "Nessuna associazione trovata per i documenti di master";
380
403
  static get NoMessages(): string;
381
404
  static get NoMessagesFound(): string;
382
405
  static get NoPanelSelected(): string;
@@ -445,7 +468,6 @@ export declare class SDKUI_Localizator {
445
468
  static get PhysDelete(): "Physische Stornierung" | "Physical delete" | "Cancelación física" | "Supression" | "Cancelamento física" | "Cancellazione fisica";
446
469
  static get PhysicalHistoryDeletion(): string;
447
470
  static get Postponed(): "Verschoben" | "Postponed" | "Aplazada" | "Reportée" | "Adiadas" | "Rinviata";
448
- static get Practice(): "Praxis" | "Practice" | "Práctica" | "Pratique" | "Prática" | "Pratica";
449
471
  static get PreparingFileForArchive(): "Datei für Archivierung vorbereiten..." | "Preparing file for archive..." | "Preparando archivo para archivar..." | "Préparation du fichier pour l'archive..." | "Preparando arquivo para arquivar..." | "Preparazione del file per l'archivio...";
450
472
  static get Preview(): "Vorschau" | "Preview" | "Vista previa" | "Aperçu" | "Pré-visualização" | "Anteprima";
451
473
  static get PreviewDocument(): "Vorschau-Dokument" | "Preview document" | "Documento de vista previa" | "Document d'aperçu" | "Documento de pré-visualização" | "Anteprima documento";
@@ -542,6 +564,8 @@ export declare class SDKUI_Localizator {
542
564
  static get SharingModes_Private(): "Privat" | "Private" | "Privada" | "Privé" | "Privado" | "Privata";
543
565
  static get SharingModes_Public(): "Öffentlich" | "Public" | "Pública" | "Público" | "Pubblica";
544
566
  static get SharingModes_Shared(): "Geteilt" | "Shared" | "Compartida" | "Partagé" | "Partilhada" | "Condivisa";
567
+ static get SharedArchiving(): "Gemeinsame Archivierung" | "Shared archiving" | "Archivo compartido" | "Archivage partagé" | "Arquivamento compartilhado" | "Archiviazione condivisa";
568
+ static get SharedDocuments(): "Gemeinsame Dokumente" | "Shared documents" | "Documentos compartidos" | "Documents partagés" | "Documentos compartilhados" | "Documenti condivisi";
545
569
  static get Shortcuts(): "Tastenkombinationen" | "Shortcuts" | "Atajos" | "Raccourcis" | "Atalhos" | "Scorciatoie";
546
570
  static get ShowAll(): "Alle anzeigen" | "Show all" | "Mostrar todo" | "Tout afficher" | "Mostrar tudo" | "Mostra tutti";
547
571
  static get ShowFloatingBar(): string;
@@ -553,6 +577,7 @@ export declare class SDKUI_Localizator {
553
577
  static get ShowHideMetadataSystemDesc(): "Anzeigen oder Verbergen von Methadaten des Dokumententypsystems" | "Shows/hides system metadata of selected document type" | "Ver u ocultar los metadatos de sistema del tipo de documento" | "Visualise ou cache les métadonnées de système du type de document" | "Mostra ou oculta o tipo de documento de metadados do sistema" | "Visualizza o nasconde i metadati di sistema del tipo documento";
554
578
  static get ShowLeftPanel(): "Linkes Panel anzeigen" | "Show left panel" | "Mostrar panel izquierdo" | "Afficher le panneau de gauche" | "Mostrar painel esquerdo" | "Mostra il pannello sinistro";
555
579
  static get ShowSearch(): "Suche anzeigen" | "Show search" | "Mostrar búsqueda" | "Afficher la recherche" | "Mostrar pesquisa" | "Mostra ricerca";
580
+ static get ShowSharedDocuments(): "Gemeinsame Dokumente anzeigen" | "Show shared documents" | "Mostrar documentos compartidos" | "Afficher les documents partagés" | "Mostrar documentos compartilhados" | "Mostra documenti condivisi";
556
581
  static get ShowColumnSeparatingLines(): string;
557
582
  static get ShowRowSeparatingLines(): string;
558
583
  static get ShowFullScreen(): "Vollbild anzeigen" | "Show full screen" | "Mostrar pantalla completa" | "Afficher en plein écran" | "Mostrar em tela cheia" | "Mostra a schermo intero";
@@ -605,6 +630,8 @@ export declare class SDKUI_Localizator {
605
630
  static get UnableToGetUpdatedDocumentContent(): "Aktualisierter Dokumentinhalt kann nicht abgerufen werden" | "Unable to get updated document content" | "No se puede obtener el contenido actualizado del documento" | "Impossible d'obtenir le contenu mis à jour du document" | "Não é possível obter o conteúdo atualizado do documento" | "Impossibile ottenere il contenuto aggiornato del documento";
606
631
  static get Undo(): "Änderungen rückgängig machen" | "Undo" | "Anular modificaciones" | "Annule les modifications" | "Anular alterações" | "Annulla modifiche";
607
632
  static get Unfollow(): "Nicht mehr folgen" | "Unfollow" | "Dejar de seguir" | "Ne plus suivre" | "Deixar de seguir" | "Non seguire più";
633
+ static get Unmatch(): "Zuordnung aufheben" | "Unmatch" | "Desemparejar" | "Dissocier" | "Descorresponder" | "Disabbina";
634
+ static get UnmatchManyDocumentsManyToMany(): "Mehrfache Zuordnung von vielen Dokumenten aufheben" | "Unmatch many documents many to many" | "Desemparejar muchos documentos de muchos a muchos" | "Dissocier plusieurs documents plusieurs à plusieurs" | "Descorresponder muitos documentos de muitos para muitos" | "Disabbina documenti molti a molti";
608
635
  static get UnfollowSelectedItem(): string;
609
636
  static get Update(): "Bearbeiten" | "Update" | "Modificar" | "Modifie" | "Modificação" | "Modifica";
610
637
  static get UpdateCompletedSuccessfully(): "Aktualisierung erfolgreich abgeschlossen" | "Update completed successfully" | "Actualización completada con éxito" | "Mise à jour terminée avec succès" | "Atualização concluída com sucesso" | "Aggiornamento completato con successo";
@@ -648,12 +675,16 @@ export declare class SDKUI_Localizator {
648
675
  static get Workflow(): "Arbeitsablauf" | "Workflow" | "Flujo de trabajo" | "Flux de travail" | "Fluxo de trabalho" | "Flusso di lavoro";
649
676
  static get WorkflowAddDcmtToWg(): "Hinzufügen des Dokuments zu Arbeitsgruppendokumenten" | "Add the document to the workgroup documents" | "Añadir el documento a los documentos del grupo de trabajo" | "Ajouter le document aux documents du groupe de travail" | "Adicione o documento aos documentos do grupo de trabalho" | "Aggiungere il documento ai documenti del gruppo di lavoro";
650
677
  static get WorkflowAddDraftToWg(): "Hinzufügen des Dokuments zu Arbeitsgruppenentwürfen" | "Add the document to the workgroup drafts" | "Añadir el documento a los borradores del grupo de trabajo" | "Ajouter le document au brouillon du groupe de travail" | "Adicione o documento ao rascunho do grupo de trabalho" | "Aggiungere il documento alle bozze del gruppo di lavoro";
678
+ static get WorkflowAddDcmtAsAttachment(): "Dokument als Anhang zur Praxis hinzufügen" | "Add the document as an attachment to the case" | "Agregar el documento como adjunto al expediente" | "Ajouter le document en tant que pièce jointe au dossier" | "Adicionar o documento como anexo ao processo" | "Aggiungere il documento come allegato della pratica";
679
+ static get WorkflowAddDcmtToDossier(): "Dokument zur Praxis hinzufügen" | "Add the document to the case" | "Agregar el documento al expediente" | "Ajouter le document au dossier" | "Adicionar o documento ao processo" | "Aggiungere il documento alla pratica";
651
680
  static get WorkflowAllowZeroTos(): "0 Empfänger zulassen" | "Allow 0 recipients" | "Permitir 0 destinatarios" | "Autoriser 0 destinataires" | "Permitir 0 destinatários" | "Consenti 0 destinatari";
652
681
  static get WorkflowApproval(): "Workflow-Genehmigung" | "Workflow approval" | "Aprobación de flujo de trabajo" | "Approbation de workflow" | "Aprovação de fluxo de trabalho" | "Approvazione workflow";
653
682
  static get WorkflowAppName(): "Name der Anwendung" | "Application name" | "Nombre de aplicación" | "Nom de l'application" | "Nome da aplicação" | "Nome applicazione";
654
683
  static get WorkflowAppType(): "Anwendungsart" | "Application type" | "Tipo de aplicación" | "Type d'application" | "Tipo de aplicação" | "Tipo applicazione";
655
684
  static get WorkflowConnectionEdit(): "Verbindung bearbeiten" | "Edit Connection" | "Editar conexión" | "Modifier la connexion" | "Editar ligação" | "Modifica Connessione";
656
685
  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.";
686
+ static get WorkflowRestoreDiagram(): "Diagramm wiederherstellen" | "Restore diagram" | "Restaurar diagrama" | "Restaurer le diagramme" | "Ripristina diagramma";
687
+ 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
688
  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
689
  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
690
  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.";
@@ -699,6 +730,8 @@ export declare class SDKUI_Localizator {
699
730
  static get WorkitemReassign(): string;
700
731
  static get WorkitemsToApproveNone(): "Kein Workitem für dieses Dokument zur Genehmigung vorhanden" | "No workitems to approve for this document" | "No hay workitems para aprobar para este documento" | "Aucun workitem à approuver pour ce document" | "Nenhum workitem para aprovar para este documento" | "Nessun workitem da approvare per questo documento";
701
732
  static get WrittenOn(): "Geschrieben am" | "Written on" | "Escrito el" | "Écrit le" | "Escrito em" | "Scritto il";
733
+ static get YouDoNotHavePermissionsToArchiveDetailDocumentsOfThisType(): "Sie haben keine Berechtigung, Detaildokumente dieses Typs zu archivieren." | "You do not have permissions to archive detail documents of this type." | "No tienes permisos para archivar documentos de detalle de este tipo." | "Vous n'avez pas les permissions pour archiver les documents détail de ce type." | "Você não tem permissões para arquivar documentos de detalhe deste tipo." | "Non hai i permessi per archiviare documenti di dettaglio di questo tipo.";
734
+ static get YouDoNotHavePermissionsToArchiveMasterDocumentsOfThisType(): "Sie haben keine Berechtigung, Master-Dokumente dieses Typs zu archivieren." | "You do not have permissions to archive master documents of this type." | "No tienes permisos para archivar documentos maestros de este tipo." | "Vous n'avez pas les permissions pour archiver les documents maîtres de ce type." | "Você não tem permissões para arquivar documentos mestres deste tipo." | "Non hai i permessi per archiviare documenti master di questo tipo.";
702
735
  static get Yes(): "Ja" | "Yes" | "Sí" | "Oui" | "Sim" | "Sì";
703
736
  static get ZoomIn(): "Vergrößern" | "Zoom in" | "Acercar" | "Zoom avant" | "Aumentar zoom" | "Ingrandisci";
704
737
  static get ZoomOut(): "Verkleinern" | "Zoom out" | "Alejar" | "Zoom arrière" | "Diminuir zoom" | "Riduci";