@topconsultnpm/sdkui-react 6.21.0-t3 → 6.21.0-t4

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 (47) hide show
  1. package/lib/components/NewComponents/ContextMenu/TMContextMenu.js +23 -18
  2. package/lib/components/base/TMPopUp.js +3 -3
  3. package/lib/components/base/TMTreeView.d.ts +16 -13
  4. package/lib/components/base/TMTreeView.js +230 -64
  5. package/lib/components/choosers/TMDistinctValues.js +1 -1
  6. package/lib/components/editors/TMTextBox.d.ts +1 -0
  7. package/lib/components/editors/TMTextBox.js +2 -1
  8. package/lib/components/features/documents/TMDcmtForm.d.ts +2 -0
  9. package/lib/components/features/documents/TMDcmtForm.js +2 -1
  10. package/lib/components/features/documents/TMDcmtIcon.d.ts +3 -1
  11. package/lib/components/features/documents/TMDcmtIcon.js +5 -32
  12. package/lib/components/features/documents/TMFileUploader.js +1 -1
  13. package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +2 -0
  14. package/lib/components/features/documents/TMMasterDetailDcmts.js +54 -14
  15. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +2 -1
  16. package/lib/components/features/documents/TMMergeToPdfForm.js +91 -48
  17. package/lib/components/features/documents/TMRelationViewer.d.ts +12 -10
  18. package/lib/components/features/documents/TMRelationViewer.js +401 -96
  19. package/lib/components/features/documents/copyAndMergeDcmtsShared.d.ts +4 -3
  20. package/lib/components/features/documents/copyAndMergeDcmtsShared.js +47 -23
  21. package/lib/components/features/documents/mergePdfUtils.d.ts +52 -0
  22. package/lib/components/features/documents/mergePdfUtils.js +268 -0
  23. package/lib/components/features/search/TMSearch.d.ts +2 -0
  24. package/lib/components/features/search/TMSearch.js +2 -2
  25. package/lib/components/features/search/TMSearchResult.d.ts +2 -0
  26. package/lib/components/features/search/TMSearchResult.js +58 -9
  27. package/lib/components/viewers/TMTidViewer.js +14 -2
  28. package/lib/helper/Enum_Localizator.js +1 -0
  29. package/lib/helper/SDKUI_Globals.d.ts +1 -0
  30. package/lib/helper/SDKUI_Globals.js +1 -0
  31. package/lib/helper/SDKUI_Localizator.d.ts +34 -0
  32. package/lib/helper/SDKUI_Localizator.js +352 -12
  33. package/lib/helper/TMUtils.d.ts +33 -1
  34. package/lib/helper/TMUtils.js +104 -1
  35. package/lib/helper/certificateImportHelper.d.ts +43 -0
  36. package/lib/helper/certificateImportHelper.js +403 -0
  37. package/lib/helper/helpers.js +9 -0
  38. package/lib/helper/index.d.ts +1 -0
  39. package/lib/helper/index.js +1 -0
  40. package/lib/hooks/useDcmtOperations.d.ts +2 -1
  41. package/lib/hooks/useDcmtOperations.js +10 -2
  42. package/lib/hooks/useDocumentOperations.d.ts +2 -0
  43. package/lib/hooks/useDocumentOperations.js +28 -6
  44. package/lib/services/platform_services.d.ts +1 -1
  45. package/lib/ts/types.d.ts +2 -1
  46. package/lib/ts/types.js +1 -0
  47. package/package.json +3 -2
@@ -3,7 +3,8 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
3
3
  import styled from 'styled-components';
4
4
  import { LoadIndicator } from 'devextreme-react';
5
5
  import { AppModules, DataColumnTypes, DataListViewModes, DcmtTypeListCacheService, LayoutCacheService, LayoutModes, MetadataDataDomains, MetadataFormats, SDK_Globals, SystemMIDsAsNumber, UserListCacheService, } from '@topconsultnpm/sdk-ts';
6
- import { deepCompare, generateUniqueColumnKeys, genUniqueId, getSearchToolbarVisibility, IconBoard, IconDcmtTypeSys, IconDelete, IconMenuVertical, IconPlatform, IconRefresh, IconSearchCheck, IconShow, isApprovalWorkflowView, isSign4TopEnabled, searchResultDescriptorToSimpleArray, searchResultToMetadataValues, SDKUI_Globals, SDKUI_Localizator } from '../../../helper';
6
+ import { deepCompare, generateUniqueColumnKeys, genUniqueId, getSearchToolbarVisibility, IconAll, IconBoard, IconDcmtTypeSys, IconDelete, IconMenuVertical, IconPlatform, IconRefresh, IconSearchCheck, IconShow, isApprovalWorkflowView, isSign4TopEnabled, searchResultDescriptorToSimpleArray, searchResultToMetadataValues, SDKUI_Globals, SDKUI_Localizator } from '../../../helper';
7
+ import { CounterItemKey } from '../../base/TMCounterContainer';
7
8
  import { getDcmtCicoStatus } from '../../../helper/checkinCheckoutManager';
8
9
  import { DcmtOperationTypes, SearchResultContext, } from '../../../ts';
9
10
  import { Gutters } from '../../../utils/theme';
@@ -60,7 +61,7 @@ openInOffice, onRefreshAfterAddDcmtToFavs, onRefreshSearchAsyncDatagrid, onSelec
60
61
  // Tasks
61
62
  allTasks = [], getAllTasks, deleteTaskByIdsCallback, addTaskCallback, editTaskCallback,
62
63
  // Navigation
63
- handleNavigateToWGs, handleNavigateToDossiers, }) => {
64
+ handleNavigateToWGs, handleNavigateToDossiers, fetchRemoteCertificates, }) => {
64
65
  // Ref for the floating bar container (used to position the floating action buttons)
65
66
  const floatingBarContainerRef = useRef(null);
66
67
  // Ref per tracciare se autoFocusFirstRow=false deve bloccare l'auto-focus.
@@ -311,6 +312,7 @@ handleNavigateToWGs, handleNavigateToDossiers, }) => {
311
312
  currentSearchResults,
312
313
  currentMetadataValues,
313
314
  allUsers,
315
+ fetchRemoteCertificates,
314
316
  searchResult: selectedSearchResult,
315
317
  datagridUtility: {
316
318
  visibleItems,
@@ -655,7 +657,7 @@ handleNavigateToWGs, handleNavigateToDossiers, }) => {
655
657
  && !openS4TViewer
656
658
  && !showTodoDcmtForm);
657
659
  }, [showToppyForApprove, showToppyDraggableHelpCenter, selectedDocs, showApprovePopup, showRejectPopup, showReAssignPopup, showMoreInfoPopup, editPdfForm, openS4TViewer, showTodoDcmtForm]);
658
- const searchResutlToolbar = _jsxs(_Fragment, { children: [(dcmtsReturned != dcmtsFound) && _jsx("p", { style: { textAlign: 'center', padding: '1px 4px', borderRadius: '3px', display: 'flex' }, children: `${dcmtsReturned}/${dcmtsFound} restituiti` }), context === SearchResultContext.FAVORITES_AND_RECENTS &&
660
+ const searchResutlToolbar = _jsxs(_Fragment, { children: [context === SearchResultContext.FAVORITES_AND_RECENTS &&
659
661
  _jsx("div", { style: { display: 'flex', alignItems: 'center', gap: '5px' }, children: _jsx(TMButton, { btnStyle: 'icon', icon: _jsx(IconDelete, { color: 'white' }), caption: "Rimuovi da " + (selectedSearchResult?.category === "Favorites" ? '"Preferiti"' : '"Recenti"'), disabled: getSelectedDcmtsOrFocused(selectedItems, focusedItem).length <= 0, onClick: removeDcmtFromFavsOrRecents }) }), _jsx(TMButton, { btnStyle: 'icon', icon: _jsx(IconRefresh, { color: 'white' }), caption: SDKUI_Localizator.Refresh, onClick: onRefreshSearchAsyncDatagrid }), _jsx(TMContextMenu, { items: operationItems, trigger: "left", children: _jsx(IconMenuVertical, { color: 'white', cursor: 'pointer' }) })] });
660
662
  const tmSearchResult = useMemo(() => (!searchResults || searchResults.length <= 0)
661
663
  ? _jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', height: '100%', width: '100%' }, children: [_jsx(IconBoard, { fontSize: 96 }), showNoDcmtFoundMessage && _jsx("div", { style: { fontSize: "15px", marginTop: "10px" }, children: SDKUI_Localizator.NoDcmtFound }), openAddDocumentForm && _jsx("div", { style: { marginTop: "10px" }, children: _jsx(TMButton, { fontSize: "15px", icon: _jsx("i", { className: 'dx-icon-share' }), caption: SDKUI_Localizator.Share, onClick: openAddDocumentForm }) })] })
@@ -663,7 +665,7 @@ handleNavigateToWGs, handleNavigateToDossiers, }) => {
663
665
  _jsxs(_Fragment, { children: [_jsxs(TMLayoutItem, { height: '100%', children: [_jsxs("div", { ref: floatingBarContainerRef, style: { position: 'relative', height: '100%', width: '100%' }, children: [_jsxs(TMSplitterLayout, { direction: 'horizontal', overflow: 'visible', separatorSize: Gutters.getGutters(), separatorActiveColor: 'transparent', separatorColor: 'transparent', min: ['0', '0'], showSeparator: showSelector && deviceType !== DeviceType.MOBILE, start: showSelector ? deviceType !== DeviceType.MOBILE ? ['30%', '70%'] : splitterSize : ['0%', '100%'], children: [showSelector ?
664
666
  _jsx(TMLayoutItem, { children: _jsx(TMSearchResultSelector, { searchResults: currentSearchResults, disableAccordionIfSingleCategory: disableAccordionIfSingleCategory, selectedTID: selectedSearchResultTID, selectedSearchResult: selectedSearchResult, autoSelectFirst: !isMobile || currentSearchResults.length === 1, onSelectionChanged: onSearchResultSelectionChanged }) })
665
667
  :
666
- _jsx(_Fragment, {}), _jsx(TMLayoutItem, { children: _jsx(TMSearchResultGrid, { openInOffice: openInOffice, fromDTD: fromDTD, operationItems: operationItems, allUsers: allUsers, inputFocusedItem: focusedItem, inputSelectedItems: selectedItems, showExportForm: showExportForm, onFocusedItemChanged: handleFocusedItemChangedFromGrid, onDownloadDcmtsAsync: async (inputDcmts, downloadType, downloadMode, _y, confirmAttachments) => await downloadDcmtsAsync({ inputDcmts, downloadType, downloadMode, onFileDownloaded: onFileOpened, confirmAttachments }), lastUpdateSearchTime: lastUpdateSearchTime, searchResult: searchResults.length > 1 ? selectedSearchResult : searchResults[0], onSelectionChanged: (items) => { setSelectedItems(items); }, onDblClick: () => openFormHandler(LayoutModes.Update), showSearchTMDatagrid: showSearchTMDatagrid, onVisibleItemChanged: setVisibleItems, updateDataColumnsFromDataGrid: updateDataColumnsFromDataGrid, updateDataSourceFromDataGrid: updateDataSourceFromDataGrid, updateSelectedRowKeysFromDataGrid: updateSelectedRowKeysFromDataGrid, disableAutoFocus: autoFocusFirstRow === false && isFirstAutoFocusRef.current }) })] }), renderFloatingBar] }), _jsx(TMToppyDraggableHelpCenter, { usePortal: toppyHelpCenterUsePortal, isVisible: isToppyHelpCenterVisible, content: _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '10px' }, children: _jsx(WorkFlowOperationButtons, { dtd: fromDTD, deviceType: deviceType, onApprove: () => {
668
+ _jsx(_Fragment, {}), _jsx(TMLayoutItem, { children: _jsx(TMSearchResultGrid, { openInOffice: openInOffice, fromDTD: fromDTD, operationItems: operationItems, allUsers: allUsers, inputFocusedItem: focusedItem, inputSelectedItems: selectedItems, showExportForm: showExportForm, onFocusedItemChanged: handleFocusedItemChangedFromGrid, onDownloadDcmtsAsync: async (inputDcmts, downloadType, downloadMode, _y, confirmAttachments) => await downloadDcmtsAsync({ inputDcmts, downloadType, downloadMode, onFileDownloaded: onFileOpened, confirmAttachments }), lastUpdateSearchTime: lastUpdateSearchTime, searchResult: searchResults.length > 1 ? selectedSearchResult : searchResults[0], onSelectionChanged: (items) => { setSelectedItems(items); }, onDblClick: () => openFormHandler(LayoutModes.Update), showSearchTMDatagrid: showSearchTMDatagrid, onVisibleItemChanged: setVisibleItems, updateDataColumnsFromDataGrid: updateDataColumnsFromDataGrid, updateDataSourceFromDataGrid: updateDataSourceFromDataGrid, updateSelectedRowKeysFromDataGrid: updateSelectedRowKeysFromDataGrid, disableAutoFocus: autoFocusFirstRow === false && isFirstAutoFocusRef.current, dcmtsReturned: dcmtsReturned, dcmtsFound: dcmtsFound }) })] }), renderFloatingBar] }), _jsx(TMToppyDraggableHelpCenter, { usePortal: toppyHelpCenterUsePortal, isVisible: isToppyHelpCenterVisible, content: _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '10px' }, children: _jsx(WorkFlowOperationButtons, { dtd: fromDTD, deviceType: deviceType, onApprove: () => {
667
669
  updateShowApprovePopup(true);
668
670
  }, onSignApprove: () => {
669
671
  handleSignApprove();
@@ -854,7 +856,7 @@ handleNavigateToWGs, handleNavigateToDossiers, }) => {
854
856
  _jsxs(TMPanelManagerProvider, { panels: initialPanels, initialVisibility: allInitialPanelVisibility, defaultDimensions: initialPanelDimensions, initialDimensions: initialPanelDimensions, initialMobilePanelId: 'tmSearchResult', children: [_jsx(PanelDisabledStateHandler, { isBoardDisabled: isBoardDisabled }), _jsx(TMPanelManagerContainer, { panels: initialPanels, direction: "horizontal", parentId: groupId, showToolbar: showSearchResultSidebar })] }) }) }) }), renderDcmtOperations] }));
855
857
  };
856
858
  export default TMSearchResult;
857
- const TMSearchResultGrid = ({ openInOffice, fromDTD, operationItems, allUsers, inputFocusedItem, allowMultipleSelection = true, showExportForm = false, onFocusedItemChanged, onDownloadDcmtsAsync, onVisibleItemChanged, inputSelectedItems = [], lastUpdateSearchTime, searchResult, onSelectionChanged, onDblClick, showSearchTMDatagrid, updateDataColumnsFromDataGrid, updateDataSourceFromDataGrid, updateSelectedRowKeysFromDataGrid, disableAutoFocus = false }) => {
859
+ const TMSearchResultGrid = ({ openInOffice, fromDTD, operationItems, allUsers, inputFocusedItem, allowMultipleSelection = true, showExportForm = false, onFocusedItemChanged, onDownloadDcmtsAsync, onVisibleItemChanged, inputSelectedItems = [], lastUpdateSearchTime, searchResult, onSelectionChanged, onDblClick, showSearchTMDatagrid, updateDataColumnsFromDataGrid, updateDataSourceFromDataGrid, updateSelectedRowKeysFromDataGrid, disableAutoFocus = false, dcmtsReturned, dcmtsFound }) => {
858
860
  const [dataSource, setDataSource] = useState();
859
861
  const [columns, setColumns] = useState([]);
860
862
  const [selectedRowKeys, setSelectedRowKeys] = useState([]);
@@ -1063,10 +1065,25 @@ const TMSearchResultGrid = ({ openInOffice, fromDTD, operationItems, allUsers, i
1063
1065
  // Recupera gli elementi della DataList dalla cache
1064
1066
  const dataListItems = dataListsCache.current.get(dataListID);
1065
1067
  if (dataListItems && dataListItems.length > 0) {
1066
- // Crea il datasource per l'headerFilter mostrando il nome (text) ma filtrando per valore (value)
1068
+ // Raccoglie i valori unici presenti nei risultati di ricerca per questa colonna
1069
+ let valuesInResults;
1070
+ try {
1071
+ valuesInResults = new Set();
1072
+ searchResult?.dtdResult?.rows?.forEach(row => {
1073
+ const cellValue = row[index];
1074
+ if (cellValue != null) {
1075
+ valuesInResults.add(String(cellValue));
1076
+ }
1077
+ });
1078
+ }
1079
+ catch {
1080
+ // Fallback: mostra tutti i valori della DataList
1081
+ valuesInResults = undefined;
1082
+ }
1083
+ // Crea il datasource per l'headerFilter
1067
1084
  headerFilterConfig = {
1068
1085
  dataSource: dataListItems
1069
- .filter(item => item.name != null && item.value != null)
1086
+ .filter(item => item.name != null && item.value != null && (valuesInResults === undefined || valuesInResults.has(String(item.value))))
1070
1087
  .map(item => ({
1071
1088
  text: item.name,
1072
1089
  value: item.value
@@ -1079,10 +1096,28 @@ const TMSearchResultGrid = ({ openInOffice, fromDTD, operationItems, allUsers, i
1079
1096
  // Recupera tutti gli utenti dalla cache
1080
1097
  const users = Array.from(usersCache.current.values());
1081
1098
  if (users.length > 0) {
1099
+ // Raccoglie gli ID utente presenti nei risultati di ricerca per questa colonna
1100
+ let userIdsInResults;
1101
+ try {
1102
+ userIdsInResults = new Set();
1103
+ searchResult?.dtdResult?.rows?.forEach(row => {
1104
+ const cellValue = row[index];
1105
+ if (cellValue != null) {
1106
+ const userId = Number(cellValue);
1107
+ if (userId > 0) {
1108
+ userIdsInResults.add(userId);
1109
+ }
1110
+ }
1111
+ });
1112
+ }
1113
+ catch {
1114
+ // Fallback: mostra tutti gli utenti
1115
+ userIdsInResults = undefined;
1116
+ }
1082
1117
  // Crea il datasource per l'headerFilter mostrando nome utente completo (dominio\nome)
1083
1118
  headerFilterConfig = {
1084
1119
  dataSource: users
1085
- .filter(user => user.name != null && user.id != null)
1120
+ .filter(user => user.name != null && user.id != null && (userIdsInResults === undefined || userIdsInResults.has(user.id)))
1086
1121
  .map(user => ({
1087
1122
  text: user.domain ? `${user.domain}\\${user.name}` : user.name,
1088
1123
  value: user.id
@@ -1233,7 +1268,21 @@ const TMSearchResultGrid = ({ openInOffice, fromDTD, operationItems, allUsers, i
1233
1268
  setVisibleItems(visibleData);
1234
1269
  }, []);
1235
1270
  useEffect(() => { onVisibleItemChanged?.(visibleItems); }, [visibleItems]);
1236
- return _jsxs("div", { style: { width: "100%", height: "100%" }, children: [!isDataGridReady && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', height: '100%', width: '100%', gap: '10px' }, children: [_jsx(LoadIndicator, { height: 60, width: 60 }), _jsx("div", { children: SDKUI_Localizator.Loading })] })), isDataGridReady && _jsx(TMDataGrid, { ref: dataGridRef, id: "tm-search-result", keyExpr: "rowIndex", dataColumns: dataColumns, dataSource: dataSource, repaintChangesOnly: true, selectedRowKeys: selectedRowKeys, focusedRowKey: disableAutoFocus ? undefined : Number(focusedItem?.rowIndex ?? 0), showSearchPanel: showSearchTMDatagrid, showFilterPanel: true, sorting: { mode: "multiple" }, selection: { mode: allowMultipleSelection ? 'multiple' : 'single' }, pageSize: pageSize, onSelectionChanged: handleSelectionChange, onFocusedRowChanged: handleFocusedRowChange, onRowDblClick: onRowDblClick, onContentReady: onContentReady, showHeaderColumnChooser: true, onKeyDown: onKeyDown, customContextMenuItems: operationItems, counterConfig: { show: true } })] });
1271
+ return _jsxs("div", { style: { width: "100%", height: "100%" }, children: [!isDataGridReady && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', height: '100%', width: '100%', gap: '10px' }, children: [_jsx(LoadIndicator, { height: 60, width: 60 }), _jsx("div", { children: SDKUI_Localizator.Loading })] })), isDataGridReady && _jsx(TMDataGrid, { ref: dataGridRef, id: "tm-search-result", keyExpr: "rowIndex", dataColumns: dataColumns, dataSource: dataSource, repaintChangesOnly: true, selectedRowKeys: selectedRowKeys, focusedRowKey: disableAutoFocus ? undefined : Number(focusedItem?.rowIndex ?? 0), showSearchPanel: showSearchTMDatagrid, showFilterPanel: true, sorting: { mode: "multiple" }, selection: { mode: allowMultipleSelection ? 'multiple' : 'single' }, pageSize: pageSize, onSelectionChanged: handleSelectionChange, onFocusedRowChanged: handleFocusedRowChange, onRowDblClick: onRowDblClick, onContentReady: onContentReady, showHeaderColumnChooser: true, onKeyDown: onKeyDown, customContextMenuItems: operationItems, counterConfig: {
1272
+ show: true,
1273
+ items: dcmtsReturned !== undefined && dcmtsFound !== undefined
1274
+ ? new Map([
1275
+ [CounterItemKey.allItems, {
1276
+ key: CounterItemKey.allItems,
1277
+ show: true,
1278
+ caption: `${dcmtsReturned} restituiti su ${dcmtsFound} trovati`,
1279
+ value: `${dcmtsReturned}/${dcmtsFound}`,
1280
+ icon: _jsx(IconAll, {}),
1281
+ order: -1
1282
+ }]
1283
+ ])
1284
+ : undefined
1285
+ } })] });
1237
1286
  };
1238
1287
  //#region TMSearchResultSelector
1239
1288
  const StyledItemTemplate = styled.div `
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import { IconDcmtType, IconDcmtTypeOnlyMetadata, IconLocked, IconView, isCreateCertificateEnabled, isPdfEditorEnabled, isSign4TopEnabled, LocalizeArchiveConstraints, LocalizeParametricFilterTypes, SDKUI_Localizator, TMImageLibrary } from '../../helper';
3
+ import { getDTDDisplayNameInfo, IconDcmtType, IconDcmtTypeOnlyMetadata, IconLocked, IconView, isCreateCertificateEnabled, isPdfEditorEnabled, isSign4TopEnabled, LocalizeArchiveConstraints, LocalizeParametricFilterTypes, SDKUI_Localizator, TMImageLibrary } from '../../helper';
4
4
  import { AccessLevels, AccessLevelsEx, ArchiveConstraints, DcmtTypeListCacheService, OwnershipLevels, ParametricFilterTypes, SDK_Globals, SDK_Localizator, TemplateTIDs } from '@topconsultnpm/sdk-ts';
5
5
  import TMSpinner from '../base/TMSpinner';
6
6
  import { StyledDivHorizontal, StyledTooltipContainer, StyledTooltipItem, StyledTooltipSeparatorItem } from '../base/Styled';
@@ -309,6 +309,18 @@ export default TMTidViewer;
309
309
  export const cellRenderTID = (data, noneSelectionText) => {
310
310
  return (_jsx(TMTidViewer, { tid: data.value, noneSelectionText: noneSelectionText }));
311
311
  };
312
+ /** Componente per mostrare il metodo di visualizzazione del nome documento (carica i metadati dalla cache se necessario) */
313
+ const TMDisplayNameMethodItem = ({ dtd }) => {
314
+ const [displayNameMethod, setDisplayNameMethod] = useState('...');
315
+ useEffect(() => {
316
+ const fetchDisplayNameMethod = async () => {
317
+ const method = await getDTDDisplayNameInfo(dtd);
318
+ setDisplayNameMethod(method);
319
+ };
320
+ fetchDisplayNameMethod();
321
+ }, [dtd]);
322
+ return _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.DisplayNameMethod}: ${displayNameMethod}` });
323
+ };
312
324
  export const renderDTDTooltipContent = (dtd) => {
313
325
  const mapAccessLevelToLocalizedString = (level) => {
314
326
  if (level === undefined || level === null)
@@ -343,5 +355,5 @@ export const renderDTDTooltipContent = (dtd) => {
343
355
  isPdfEditorEnabled(dtd.widgets) ? 'PDFEditor' : null,
344
356
  ].filter(Boolean);
345
357
  return (_jsxs(_Fragment, { children: [_jsx(StyledTooltipSeparatorItem, {}), enabledWidgets.length > 0 && (_jsxs(StyledTooltipItem, { children: ["Widgets: ", enabledWidgets.join(', ')] })), enabledWidgets.length === 0 && (_jsxs(StyledTooltipItem, { children: ["Widgets: ", SDKUI_Localizator.No] }))] }));
346
- })() : (_jsxs(_Fragment, { children: [_jsx(StyledTooltipSeparatorItem, {}), _jsxs(StyledTooltipItem, { children: ["Widgets: ", SDKUI_Localizator.No] })] }))] })] }));
358
+ })() : (_jsxs(_Fragment, { children: [_jsx(StyledTooltipSeparatorItem, {}), _jsxs(StyledTooltipItem, { children: ["Widgets: ", SDKUI_Localizator.No] })] })), _jsx(StyledTooltipSeparatorItem, {}), _jsx(TMDisplayNameMethodItem, { dtd: dtd })] })] }));
347
359
  };
@@ -29,6 +29,7 @@ export function LocalizeDcmtOperationTypes(value) {
29
29
  case DcmtOperationTypes.FreeSearchPurge: return SDKUI_Localizator.IndexingDelete;
30
30
  case DcmtOperationTypes.BatchUpdate: return SDKUI_Localizator.BatchUpdate;
31
31
  case DcmtOperationTypes.RemoveFromWorkgroup: return SDKUI_Localizator.RemoveFromWorkgroup;
32
+ case DcmtOperationTypes.ImportCertificates: return SDKUI_Localizator.ImportCertificates;
32
33
  default: return value;
33
34
  }
34
35
  }
@@ -84,6 +84,7 @@ export declare class SearchSettings {
84
84
  height: string;
85
85
  };
86
86
  };
87
+ relationExpandLevel: number;
87
88
  }
88
89
  export declare class FloatingMenuBarSettings {
89
90
  orientation?: 'horizontal' | 'vertical';
@@ -122,6 +122,7 @@ export class SearchSettings {
122
122
  this.maxDcmtsToBeReturned = DEFAULT_MAX_DCMTS_TO_BE_RETURNED;
123
123
  this.floatingMenuBar = new FloatingMenuBarSettings();
124
124
  this.panelLayout = {};
125
+ this.relationExpandLevel = 4; // Livello di espansione predefinito per le correlazioni
125
126
  }
126
127
  }
127
128
  export class FloatingMenuBarSettings {
@@ -110,7 +110,9 @@ export declare class SDKUI_Localizator {
110
110
  static get Close(): "Ausgang" | "Close" | "Salida" | "Sortie" | "Saída" | "Chiudi";
111
111
  static get Closed(): "Geschlossen" | "Closed" | "Cerrada" | "Fermée" | "Fechada" | "Chiusa";
112
112
  static get CloseTask(): string;
113
+ static get Collapse(): "Reduzieren" | "Collapse" | "Contraer" | "Réduire" | "Recolher" | "Comprimi";
113
114
  static get CollapseAll(): "Alle reduzieren" | "Collapse all" | "Contraer todo" | "Tout réduire" | "Recolher tudo" | "Comprimi tutto";
115
+ static get CollapseTree(): "Gesamten Baum reduzieren" | "Collapse entire tree" | "Contraer todo el árbol" | "Réduire tout l'arbre" | "Recolher toda a árvore" | "Comprimi tutto l'albero";
114
116
  static get Columns_All_Hide(): "Alle Spalten ausblenden" | "Hide all columns" | "Ocultar todas las columnas" | "Masquer toutes les colonnes" | "Ocultar todas as colunas" | "Nascondi tutte le colonne";
115
117
  static get Columns_All_Show(): "Alle Spalten anzeigen" | "Show all columns" | "Mostrar todas las columnas" | "Afficher toutes les colonnes" | "Mostrar todas as colunas" | "Visualizza tutte le colonne";
116
118
  static get Comment(): string;
@@ -202,7 +204,11 @@ export declare class SDKUI_Localizator {
202
204
  static get DiagramItemTypes_Exit(): "Salida" | "Sortie" | "Saída" | "Beenden" | "Exit" | "Uscita";
203
205
  static get DiagramItemTypes_End(): "Ende" | "End" | "Fin" | "Fim" | "Fine";
204
206
  static get Disabled(): "Deaktiviert" | "Disabled" | "Deshabilitado" | "Désactivé" | "Desabilitado" | "Disabilitato";
207
+ static get DisableMultipleSelection(): string;
205
208
  static get DisplayFormat(): string;
209
+ static get DisplayNameMethod(): string;
210
+ static get DisplayNameMethod_Abstract(): string;
211
+ static get DisplayNameMethod_Top5(): string;
206
212
  static get DistinctValues(): "Unterschiedliche Werte" | "Distinct values" | "Valores distintos" | "Valeurs distinctes" | "Valori distinti";
207
213
  static get DocumentArchivedSuccessfully(): "Dokument erfolgreich archiviert" | "Document archived successfully" | "Documento archivado con éxito" | "Document archivé avec succès" | "Documento arquivado com sucesso" | "Documento archiviato con successo";
208
214
  static get DocumentAttachedSuccessfullyToEmail(): "Dokument erfolgreich zur E-Mail hinzugefügt." | "Document attached successfully to the email." | "Documento adjuntado exitosamente al correo electrónico." | "Document joint avec succès à l'e-mail." | "Documento anexado com sucesso ao e-mail." | "Documento allegato con successo all'email.";
@@ -211,6 +217,10 @@ export declare class SDKUI_Localizator {
211
217
  static get DocumentOpenedSuccessfully(): "Dokument erfolgreich geöffnet" | "Document opened successfully" | "Documento abierto con éxito" | "Document ouvert avec succès" | "Documento aberto com sucesso" | "Documento aperto con successo";
212
218
  static get Document(): "Dokument" | "Document" | "Documento";
213
219
  static get Documents(): string;
220
+ static get DocumentsNotAvailableOrNoCorrelations(): string;
221
+ static get NoMasterDocumentsAvailable(): string;
222
+ static get NoRelatedDocumentsToDisplay(): string;
223
+ static get NoRelationsAvailable(): string;
214
224
  static get DocumentOperations(): string;
215
225
  static get DocumentTypeNameAndDID(): string;
216
226
  static get DocumentTypeNameAndCustomMetadata(): string;
@@ -247,6 +257,7 @@ export declare class SDKUI_Localizator {
247
257
  static get EmailIsNotValid(): "Dies ist keine gültige e-mail Adresse" | "This is not a valid email address" | "Esta no es una dirección de correo electrónico válida." | "Cette adresse email n'est pas valide" | "Este não é um endereço de e-mail válido" | "Questo non è un indirizzo e-mail valido";
248
258
  static get EndDateMatchesToday(): "Das Ablaufdatum entspricht dem heutigen Datum" | "The expiration date matches today's date" | "La fecha de vencimiento coincide con la fecha de hoy" | "La date d'expiration correspond à la date d'aujourd'hui" | "A data de expiração coincide com a data de hoje" | "La data di scadenza coincide con la data odierna";
249
259
  static get EndDateSetForTomorrow(): "Das Ablaufdatum ist für morgen festgelegt" | "The expiration date is set for tomorrow" | "La fecha de vencimiento está fijada para mañana" | "La date d'expiration est fixée pour demain" | "A data de expiração está marcada para amanhã" | "La data di scadenza è imminente (ovvero fissata per domani)";
260
+ static get EnableMultipleSelection(): string;
250
261
  static get Endpoint(): "Zugangspunkt" | "Endpoint" | "Punto de acceso" | "Point d'entrée" | "Ponto de acesso" | "Punto di accesso";
251
262
  static get EnterNameForAccess(): "Geben Sie einen Namen für den Zugriff ein" | "Enter a name for access" | "Introduzca un nombre para el acceso" | "Entrez un nom pour l'accès" | "Insira um nome para o acesso" | "Inserire un nome per l'accesso";
252
263
  static get EnterValue(): "Geben Sie einen Wert ein" | "Enter a value" | "Introducir un valor" | "Entrez une valeur" | "Digite um valor" | "Inserire un valore";
@@ -267,6 +278,17 @@ export declare class SDKUI_Localizator {
267
278
  static get ExtractedOn(): "Ausgezogen am" | "Extracted on" | "Extraído el" | "Extrait le" | "Extraído em" | "Estratto il";
268
279
  static get EvaluateResult(): "Bewerten Sie das Ergebnis" | "Evaluate result" | "Valorar el resultado" | "Évalue les résultats" | "Avalia os resultados" | "Valuta il risultato";
269
280
  static get ExpandAll(): "Alle erweitern" | "Expand all" | "Expandir todo" | "Tout développer" | "Expandir tudo" | "Espandi tutto";
281
+ static get ExpandLevels(): "Erweitern ({{0}} Ebenen)" | "Expand ({{0}} levels)" | "Expandir ({{0}} niveles)" | "Développer ({{0}} niveaux)" | "Expandir ({{0}} níveis)" | "Espandi ({{0}} livelli)";
282
+ static get ExpandAllLevels(): "Erweitern (alle Ebenen)" | "Expand (all levels)" | "Expandir (todos los niveles)" | "Développer (tous les niveaux)" | "Expandir (todos os níveis)" | "Espandi (tutti i livelli)";
283
+ static get CtrlClickToReloadAll(): "Strg+Klick = alles neu laden" | "Ctrl+click = reload all" | "Ctrl+clic = recargar todo" | "Ctrl+clic = tout recharger" | "Ctrl+clique = recarregar tudo" | "Ctrl+click = ricarica tutto";
284
+ static get ExpandComplete(): "Erweiterung abgeschlossen" | "Expand complete" | "Expansión completada" | "Expansion terminée" | "Expansão concluída" | "Espansione completata";
285
+ static get ExpandToLevel(): "Erweitern bis Ebene {{0}}" | "Expand to level {{0}}" | "Expandir hasta el nivel {{0}}" | "Développer jusqu'au niveau {{0}}" | "Expandir até o nível {{0}}" | "Espandi fino al livello {{0}}";
286
+ static get ExpansionLevel(): "Erweiterungsebene" | "Expansion level" | "Nivel de expansión" | "Niveau d'expansion" | "Nível de expansão" | "Livello di espansione";
287
+ static get ExpansionLevelSettings(): "Erweiterungsebene Einstellungen" | "Expansion level settings" | "Configuración del nivel de expansión" | "Paramètres du niveau d'expansion" | "Configurações do nível de expansão" | "Impostazioni livello espansione";
288
+ static get ExpansionSettings(): "Erweiterungseinstellungen" | "Expansion settings" | "Configuración de expansión" | "Paramètres d'expansion" | "Configurações de expansão" | "Impostazioni espansione";
289
+ static get ExpansionInProgress(): "Erweiterung läuft..." | "Expansion in progress..." | "Expansión en curso..." | "Expansion en cours..." | "Expansão em andamento..." | "Espansione in corso...";
290
+ static get FullReloadInProgress(): "Vollständiges Neuladen läuft..." | "Full reload in progress..." | "Recarga completa en curso..." | "Rechargement complet en cours..." | "Recarregamento completo em andamento..." | "Ricaricamento completo in corso...";
291
+ static get ExpansionProgress(): "Erweiterung {{0}} von {{1}}..." | "Expansion {{0}} of {{1}}..." | "Expansión {{0}} de {{1}}..." | "Expansion {{0}} sur {{1}}..." | "Expansão {{0}} de {{1}}..." | "Espansione {{0}} di {{1}}...";
270
292
  static get Expected(): "Erwartet" | "Expected" | "Esperado" | "Attendu" | "Atteso";
271
293
  static get Expiration(): "Ablaufdatum" | "Expiration" | "Fecha de expiración" | "Date d'expiration" | "Data de expiração" | "Scadenza";
272
294
  static get ExpirationDate(): "Ablaufdatum" | "Expiration date" | "Fecha de vencimiento" | "Date d'échéance" | "Data de validade" | "Data di scadenza";
@@ -377,6 +399,7 @@ export declare class SDKUI_Localizator {
377
399
  static get Grids(): string;
378
400
  static get Hide_CompleteName(): "Vollständigen Namen ausblenden" | "Hide full name" | "Ocultar nombre completo" | "Masquer le nom complet" | "Ocultar nome completo" | "Nascondi nome completo";
379
401
  static get HideAll(): "Alle ausblenden" | "Hide all" | "Ocultar todo" | "Masquer tout" | "Ocultar tudo" | "Nascondi tutti";
402
+ static get HideDetailsWithZeroDocs(): string;
380
403
  static get HideFloatingBar(): string;
381
404
  static get HideFilters(): string;
382
405
  static get HideLeftPanel(): "Linkes Panel ausblenden" | "Hide left panel" | "Ocultar panel izquierdo" | "Masquer le panneau de gauche" | "Ocultar painel esquerdo" | "Nascondi il pannello sinistro";
@@ -390,6 +413,7 @@ export declare class SDKUI_Localizator {
390
413
  static get ID_Hide(): "Ausblenden ID" | "Hide ID" | "Ocultar ID" | "Masquer ID" | "Nascondi ID";
391
414
  static get ID_Show(): "ID anzeigen" | "Show ID" | "Mostrar ID" | "Afficher ID" | "Visualizza ID";
392
415
  static get Import(): "Importieren" | "Import" | "Importar" | "Importer" | "Importa";
416
+ static get ImportCertificates(): string;
393
417
  static get ImportExport(): "Importieren/Exportieren" | "Import/Export" | "Importar/Exportar" | "Importer/Exporter" | "Importa/Esporta";
394
418
  static get ImportMRN(): "Importieren MRN" | "Import MRN" | "Importar MRN" | "Importer MRN";
395
419
  static get ImportMRNNDayBack(): "Anzahl der Tage für die Importdatenwiederherstellung (MRN)" | "Number of days for import data recovery (MRN)" | "Número de días para la recuperación de datos de importación (MRN)" | "Nombre de jours pour la récupération des données d'importation (MRN)" | "Número de dias para recuperação de dados de importação (MRN)" | "Numero di giorni per il recupero dei dati di Import (MRN)";
@@ -415,11 +439,19 @@ export declare class SDKUI_Localizator {
415
439
  static get List(): "Liste" | "List" | "Lista";
416
440
  static get List_Hide(): "Liste ausblenden" | "Hide list" | "Ocultar lista" | "Masquer la liste" | "Nascondi la lista";
417
441
  static get List_Show(): "liste anzeigen" | "Show list" | "Ver lista" | "Afficher la liste" | "Visualizza la lista";
442
+ static get Levels(): "Ebenen" | "Levels" | "Niveles" | "Niveaux" | "Níveis" | "Livelli";
418
443
  static get Loading(): "Laden" | "Loading" | "Carga" | "Chargement" | "Caricamento";
444
+ static get LoadingDetailDocuments(): "Laden der Detaildokumente" | "Loading detail documents" | "Cargando documentos de detalle" | "Chargement des documents de détail" | "Carregando documentos de detalhe" | "Caricamento documenti dettaglio";
445
+ static get LoadingMasterDocuments(): "Laden der Masterdokumente" | "Loading master documents" | "Cargando documentos maestros" | "Chargement des documents maîtres" | "Carregando documentos mestres" | "Caricamento documenti master";
419
446
  static get Localization(): "Lokalisierung" | "Localization" | "Localización" | "Localisation" | "Localização" | "Localizzazione";
420
447
  static get LoadingWorkGroups(): string;
421
448
  static get LoadingParticipants(): string;
422
449
  static get Login(): string;
450
+ static get LoginAuth_ImplicitPINWithOTP(): string;
451
+ static get LoginAuth_ImplicitPINWithoutOTP(): string;
452
+ static get LoginAuth_PINWithOTP(): string;
453
+ static get LoginAuth_PINWithoutOTP(): string;
454
+ static get LoginAuth_Unknown(): string;
423
455
  static get LogDelete(): "Löschen der Logik" | "Logical delete" | "Cancelación lógica" | "Suppression logique" | "Lógica de cancelamento" | "Cancellazione logica";
424
456
  static get Logout(): "Abmelden" | "Logout" | "Cerrar sesión" | "Déconnexion" | "Sair" | "Esci";
425
457
  static get LogFolder(): "Protokollordner" | "Log folder" | "Carpeta de registro" | "Dossier de journal" | "Pasta de registro" | "Cartella di log";
@@ -683,6 +715,7 @@ export declare class SDKUI_Localizator {
683
715
  static get Seconds(): "Sekunden" | "Seconds" | "Segundos" | "Secondes" | "Segundas" | "Secondi";
684
716
  static get Select(): "Wählen Sie Ihre" | "Select" | "Seleccionar" | "Sélectionne" | "Selecione" | "Seleziona";
685
717
  static get SelectAnOperationBetween(): "Wählen Sie eine Operation zwischen" | "Select an operation between" | "Selecciona una operación entre" | "Sélectionnez une opération entre" | "Selecione uma operação entre" | "Seleziona un'operazione tra";
718
+ static get SelectDocumentToViewSearchResults(): "Wählen Sie ein Dokument aus, um die Details anzuzeigen" | "Select a document to view details" | "Selecciona un documento para ver los detalles" | "Sélectionnez un document pour afficher les détails" | "Selecione um documento para visualizar os detalhes" | "Seleziona un documento per visualizzare i dettagli";
686
719
  static get SelectArchiveToStart(): "Klicken Sie auf Archivieren, um zu beginnen." | "Click on Archive button to start." | "Haz clic en el botón Archivar para comenzar." | "Cliquez sur le bouton Archiver pour commencer." | "Clique no botão Arquivar para iniciar." | "Clicca sul pulsante Archivia per iniziare.";
687
720
  static get SelectAttachToStart(): "Sie können Dateien zu Ihrer E-Mail hinzufügen, klicken Sie auf Anhängen, um zu beginnen." | "You can attach files to your email, click on Attach button to start." | "Puedes adjuntar archivos a tu correo electrónico, haz clic en el botón Adjuntar para comenzar." | "Vous pouvez joindre des fichiers à votre e-mail, cliquez sur le bouton Joindre pour commencer." | "Você pode anexar arquivos ao seu e-mail, clique no botão Anexar para iniciar." | "Puoi allegare file alla tua email, clicca sul pulsante Allega per iniziare.";
688
721
  static get SelectFromAttachments(): "Aus Anhängen auswählen" | "Select from attachments" | "Seleccionar de archivos adjuntos" | "Sélectionner parmi les pièces jointes" | "Selecionar dos anexos" | "Seleziona dagli allegati";
@@ -721,6 +754,7 @@ export declare class SDKUI_Localizator {
721
754
  static get ShowLess(): "Weniger anzeigen" | "Show less" | "Mostrar menos" | "Afficher moins" | "Mostra meno";
722
755
  static get Show_CompleteName(): "Vollständigen Namen anzeigen" | "View full name" | "Mostrar nombre completo" | "Afficher le nom complet" | "Mostrar nome completo" | "Visualizza nome completo";
723
756
  static get ShowDetails(): "Details anzeigen" | "Show details" | "Mostrar detalles" | "Afficher les détails" | "Mostrar detalhes" | "Mostra dettagli";
757
+ static get ShowDetailsWithZeroDocs(): string;
724
758
  static get ShowFilters(): string;
725
759
  static get ShowFormattingOptions(): "Formatierungsoptionen anzeigen" | "Show formatting options" | "Mostrar opciones de formato" | "Afficher les options de formatage" | "Mostrar opções de formatação" | "Mostra opzioni di formattazione";
726
760
  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";