@topconsultnpm/sdkui-react-beta 6.14.18 → 6.14.20

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.
@@ -146,7 +146,8 @@ const TMFileManager = (props) => {
146
146
  // Render each TreeView item (directories) with custom styling/icons
147
147
  const renderTreeViewItem = (itemData) => {
148
148
  const isSelected = selectedFolder && selectedFolder.id === itemData.id;
149
- return (_jsxs("div", { style: { whiteSpace: "nowrap", display: "flex", alignItems: "center" }, className: isSelected ? 'treeview-selected-item-manager' : '', children: [_jsx(IconFolder, { style: { marginRight: 5, color: '#e6c200' } }), itemData.text, " (", itemData.subFileFolderCount, ")"] }));
149
+ const tooltipContent = _jsxs("div", { style: { textAlign: "center" }, children: [_jsx("span", { style: { fontWeight: 'bold' }, children: "ID" }), ": ", itemData.id] });
150
+ return (_jsxs("div", { style: { whiteSpace: "nowrap", display: "flex", alignItems: "center" }, className: isSelected ? 'treeview-selected-item-manager' : '', children: [_jsx(TMTooltip, { content: tooltipContent, children: _jsx(IconFolder, { style: { marginRight: 5, color: '#e6c200' } }) }), itemData.text, " (", itemData.subFileFolderCount, ")"] }));
150
151
  };
151
152
  const handleTreeViewContextMenu = (e) => {
152
153
  if (!e)
@@ -120,7 +120,7 @@ const TMFileManagerThumbnailItems = (props) => {
120
120
  bgHoverColor = isSelected ? colors.PRIMARY_BLUE : "#fff59d";
121
121
  }
122
122
  const editLockTooltipText = _jsxs(_Fragment, { children: [_jsxs("div", { style: { textAlign: "center" }, children: [editMode && (_jsxs(_Fragment, { children: [_jsx("i", { style: { fontSize: "18px", color: colors.MEDIUM_GREEN, fontWeight: "bold" }, className: "dx-icon-edit" }), SDKUI_Localizator.CurrentUserExtract] })), lockMode && (_jsxs(_Fragment, { children: [_jsx("i", { style: { fontSize: "18px", color: colors.MEDIUM_GREEN, fontWeight: "bold" }, className: "dx-icon-lock" }), SDKUI_Localizator.ExtractedFromOtherUser] }))] }), _jsx("hr", {}), _jsxs("div", { style: { textAlign: "left" }, children: [_jsxs("ul", { children: [_jsxs("li", { children: ["- ", _jsx("span", { style: { fontWeight: 'bold' }, children: SDKUI_Localizator.ExtractedBy }), ": ", item.checkOutUserName ?? '-', " (ID: ", item.checkOutUserID, ")"] }), _jsxs("li", { children: ["- ", _jsx("span", { style: { fontWeight: 'bold' }, children: SDKUI_Localizator.ExtractedOn }), ": ", Globalization.getDateTimeDisplayValue(item.checkoutDate?.toString())] })] }), _jsx("hr", {}), _jsx("ul", { children: _jsxs("li", { children: ["- ", _jsx("span", { style: { fontWeight: 'bold' }, children: SDKUI_Localizator.Version }), ": ", item.version ?? 1] }) }), _jsx("hr", {}), _jsxs("ul", { children: [_jsxs("li", { children: ["- ", _jsx("span", { style: { fontWeight: 'bold' }, children: SDKUI_Localizator.Type }), ": ", item.ext] }), _jsxs("li", { children: ["- ", _jsx("span", { style: { fontWeight: 'bold' }, children: SDKUI_Localizator.CreationTime }), ": ", Globalization.getDateTimeDisplayValue(item.creationTime?.toString())] }), _jsxs("li", { children: ["- ", _jsx("span", { style: { fontWeight: 'bold' }, children: SDKUI_Localizator.LastUpdateTime }), ": ", Globalization.getDateTimeDisplayValue(item.lastUpdateTime?.toString())] })] })] })] });
123
- const tooltipContent = (_jsxs("div", { style: { textAlign: 'left' }, children: [_jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.Name, ":"] }), " ", item.name ?? '-'] }), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.Author, ":"] }), " ", item.updaterName ?? '-'] }), _jsx("hr", {}), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.Version, ":"] }), " ", item.version] }), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.Size, ":"] }), " ", formatBytes(item.size ?? 0)] }), _jsx("hr", {}), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.CreationTime, ":"] }), " ", Globalization.getDateTimeDisplayValue(item.creationTime)] }), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.LastUpdateTime, ":"] }), " ", Globalization.getDateTimeDisplayValue(item.lastUpdateTime)] })] }));
123
+ const tooltipContent = (_jsxs("div", { style: { textAlign: 'left' }, children: [_jsxs("div", { children: [_jsx("span", { style: { fontWeight: 'bold' }, children: "ID:" }), " ", item.id ?? '-'] }), _jsxs("div", { children: [_jsx("span", { style: { fontWeight: 'bold' }, children: "DID:" }), " ", item.did ?? '-'] }), _jsxs("div", { children: [_jsx("span", { style: { fontWeight: 'bold' }, children: "TID:" }), " ", item.tid ?? '-'] }), _jsx("hr", {}), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.Name, ":"] }), " ", item.name ?? '-'] }), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.Author, ":"] }), " ", item.updaterName ?? '-'] }), _jsx("hr", {}), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.Version, ":"] }), " ", item.version] }), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.Size, ":"] }), " ", formatBytes(item.size ?? 0)] }), _jsx("hr", {}), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.CreationTime, ":"] }), " ", Globalization.getDateTimeDisplayValue(item.creationTime)] }), _jsxs("div", { children: [_jsxs("span", { style: { fontWeight: 'bold' }, children: [SDKUI_Localizator.LastUpdateTime, ":"] }), " ", Globalization.getDateTimeDisplayValue(item.lastUpdateTime)] })] }));
124
124
  return _jsx(FileItemContainer, { ref: containerRef, id: item.id.toString(), "$backgroundColor": bgColor, "$bgHoverColor": bgHoverColor, "$textColor": textColor, onDoubleClick: () => onDoubleClickHandler(item), onContextMenu: (e) => onContextMenu(e, item), onClick: () => onClickHandler(item), tabIndex: 0, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, children: _jsxs("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', width: '100%' }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', flex: 1, minWidth: 0 }, children: [_jsxs("div", { style: { marginRight: '16px', flexShrink: 0 }, children: [getFileIcon(item.ext, item.version, tooltipContent), editMode && _jsx(TMTooltip, { content: editLockTooltipText, children: _jsx("i", { style: { fontSize: "18px", color: colors.MEDIUM_GREEN, fontWeight: "bold" }, className: "dx-icon-edit" }) }), lockMode && _jsx(TMTooltip, { content: editLockTooltipText, children: _jsx("i", { style: { fontSize: "18px", color: colors.MEDIUM_GREEN, fontWeight: "bold" }, className: "dx-icon-lock" }) })] }), _jsxs("div", { style: { overflow: 'hidden', minWidth: 0 }, children: [_jsx("div", { style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', width: '100%', display: 'block', fontSize: '1rem', fontWeight: "bold" }, children: _jsx(TMTooltip, { parentStyle: { overflow: 'hidden' }, childStyle: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', width: '100%', display: 'block' }, children: highlightText(item.name, searchText, isSelected) }) }), _jsx("div", { style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', width: '100%', display: 'block', fontSize: 'calc(1rem - 1px)' }, children: formatBytes(item.size ?? 0) })] })] }), item.version && (_jsx("div", { style: { flexShrink: 0, marginLeft: '12px', whiteSpace: 'nowrap' }, children: _jsx(TMTooltip, { content: SDKUI_Localizator.Version, children: _jsx("div", { style: { border: "2px solid #28a745", backgroundColor: "#28a745", color: "#ffffff", borderRadius: '50%', width: '30px', height: '30px', display: 'flex', alignItems: 'center', justifyContent: 'center', fontSize: '12px', fontWeight: 'bold' }, children: item.version }) }) }))] }) }, "item-file-manager-" + item.id);
125
125
  }) });
126
126
  };
@@ -79,14 +79,14 @@ const TMPanel = ({ allowMaximize = true, color, backgroundColor, backgroundColor
79
79
  // Usiamo un setTimeout per dare il tempo al browser di spostare il focus
80
80
  // e controllare se il focus è andato a un figlio che poi si è disconnesso
81
81
  // o se il focus è uscito definitivamente dal pannello
82
- setTimeout(() => {
83
- if (!document.activeElement || !document.activeElement.closest('tmpanel-container')) {
84
- if (isActive) {
85
- setIsActive(false);
86
- onActiveChanged?.(false);
87
- }
82
+ // setTimeout(() => {
83
+ if (!document.activeElement || !document.activeElement.closest('tmpanel-container')) {
84
+ if (isActive) {
85
+ setIsActive(false);
86
+ onActiveChanged?.(false);
88
87
  }
89
- }, 0); // Un piccolo ritardo per consentire al browser di stabilire il nuovo activeElement
88
+ }
89
+ // }, 0); // Un piccolo ritardo per consentire al browser di stabilire il nuovo activeElement
90
90
  }, [isActive, onActiveChanged]);
91
91
  // handler for external maximize management
92
92
  const handleMaximize = () => {
@@ -10,7 +10,8 @@ import TMDataListItemViewer from '../viewers/TMDataListItemViewer';
10
10
  const TMDataListItemChooser = ({ labelColor, dataListId, icon, backgroundColor, showBorder = true, readOnly, openChooserBySingleClick, buttons = [], elementStyle, allowMultipleSelection, values, isModifiedWhen, label, placeHolder, titleForm, showClearButton = false, validationItems = [], onValueChanged }) => {
11
11
  const [showChooser, setShowChooser] = useState(false);
12
12
  const renderTemplate = () => {
13
- return (_jsxs(StyledDivHorizontal, { style: { minWidth: '125px' }, children: [values && values.length > 0 && _jsx(TMDataListItemViewer, { dataListId: dataListId, value: values?.[0] }), values && values.length > 1 && _jsx("p", { style: { marginLeft: '10px' }, children: `(+${values.length - 1} ${values.length == 2 ? 'altro' : 'altri'})` })] }));
13
+ const isPlaceholder = values?.[0] === placeHolder;
14
+ return (_jsxs(StyledDivHorizontal, { style: { minWidth: '125px', color: isPlaceholder ? '#a9a9a9' : 'inherit' }, children: [values && values.length > 0 && _jsx(TMDataListItemViewer, { dataListId: dataListId, value: values?.[0] }), values && values.length > 1 && _jsx("p", { style: { marginLeft: '10px' }, children: `(+${values.length - 1} ${values.length == 2 ? 'altro' : 'altri'})` })] }));
14
15
  };
15
16
  return (_jsxs(_Fragment, { children: [_jsx(TMSummary, { placeHolder: placeHolder, labelColor: labelColor, icon: icon, buttons: buttons, readOnly: readOnly, backgroundColor: backgroundColor, showBorder: showBorder, hasValue: values && values.length > 0, showClearButton: showClearButton, iconEditButton: _jsx(IconSearch, { fontSize: 16 }), onEditorClick: () => !readOnly && setShowChooser(true), elementStyle: elementStyle, isModifiedWhen: isModifiedWhen, label: label, openEditorOnSummaryClick: openChooserBySingleClick, template: renderTemplate(), onClearClick: showClearButton ? () => { onValueChanged?.([]); } : undefined, validationItems: validationItems }), showChooser &&
16
17
  _jsx(TMDataListItemChooserForm, { allowMultipleSelection: allowMultipleSelection, title: titleForm, dataListId: dataListId, selectedIDs: values, onClose: () => setShowChooser(false), onChoose: (IDs) => { onValueChanged?.(IDs); } })] }));
@@ -20,8 +21,8 @@ const cellRenderIcon = (data) => _jsx(TMImageLibrary, { imageID: data.data?.imag
20
21
  export const TMDataListItemChooserForm = (props) => {
21
22
  const dataColumns = useMemo(() => {
22
23
  return [
23
- { key: 0, dataField: 'value', caption: SDKUI_Localizator.Value },
24
- { key: 1, dataField: 'name', caption: SDKUI_Localizator.Description }
24
+ { dataField: 'value', caption: SDKUI_Localizator.Value },
25
+ { dataField: 'name', caption: SDKUI_Localizator.Description }
25
26
  ];
26
27
  }, []);
27
28
  const getItems = async (refreshCache) => {
@@ -8,6 +8,7 @@ import TMSummary from '../editors/TMSummary';
8
8
  import TMChooserForm from '../forms/TMChooserForm';
9
9
  import { TMColors } from '../../utils/theme';
10
10
  import TMTooltip from '../base/TMTooltip';
11
+ import { FormulaHelper } from '../editors/TMFormulaEditor';
11
12
  const TMDynDataListItemChooser = ({ tid, md, titleForm, openChooserBySingleClick, readOnly, layoutMode = LayoutModes.None, queryParamsDynDataList, buttons = [], backgroundColor, showBorder = true, elementStyle, allowMultipleSelection, values, isModifiedWhen, label, placeHolder, validationItems = [], icon, labelColor, showClearButton, onValueChanged, onCascadeRefreshDynDataLists, onCascadeUpdateMIDs }) => {
12
13
  const [showChooser, setShowChooser] = useState(false);
13
14
  const [dynDl, setDynDl] = useState();
@@ -66,6 +67,8 @@ const TMDynDataListItemChooser = ({ tid, md, titleForm, openChooserBySingleClick
66
67
  return null;
67
68
  if (!values?.[0])
68
69
  return null;
70
+ if (FormulaHelper.isFormula(values?.[0]))
71
+ return null;
69
72
  if (!dynDl)
70
73
  return _jsx(IconDetails, {});
71
74
  let description = dataSource?.dtdResult?.rows?.filter(o => o[dynDl.selectItemForValue ?? 0] == values?.[0])?.[0]?.[dynDl.selectItemForDescription ?? 0];
@@ -73,7 +76,8 @@ const TMDynDataListItemChooser = ({ tid, md, titleForm, openChooserBySingleClick
73
76
  _jsx(TMTooltip, { content: SDKUI_Localizator.ValueNotPresent, children: _jsx(IconWarning, { color: TMColors.warning }) });
74
77
  };
75
78
  const renderTemplate = () => {
76
- return (_jsxs(StyledDivHorizontal, { style: { minWidth: '125px' }, children: [dataSource && _jsxs(StyledDivHorizontal, { children: [getIcon(), _jsx("p", { style: { marginLeft: '5px' }, children: getDescription() })] }), values && values.length > 1 && _jsx("p", { style: { marginLeft: '10px' }, children: `(+${values.length - 1} ${values.length == 2 ? 'altro' : 'altri'})` })] }));
79
+ const isPlaceholder = values?.[0] === placeHolder;
80
+ return (_jsxs(StyledDivHorizontal, { style: { minWidth: '125px', color: isPlaceholder ? '#a9a9a9' : 'inherit' }, children: [dataSource && _jsxs(StyledDivHorizontal, { children: [getIcon(), _jsx("p", { style: { marginLeft: '5px' }, children: getDescription() })] }), values && values.length > 1 && _jsx("p", { style: { marginLeft: '10px' }, children: `(+${values.length - 1} ${values.length == 2 ? 'altro' : 'altri'})` })] }));
77
81
  };
78
82
  return (_jsxs(_Fragment, { children: [_jsx(TMSummary, { placeHolder: placeHolder, icon: icon, labelColor: labelColor, backgroundColor: backgroundColor, buttons: buttons, showBorder: showBorder, readOnly: readOnly, hasValue: values && values.length > 0, showClearButton: showClearButton, iconEditButton: _jsx(IconSearch, { fontSize: 16 }), onEditorClick: () => !readOnly && setShowChooser(true), elementStyle: elementStyle, isModifiedWhen: isModifiedWhen, openEditorOnSummaryClick: openChooserBySingleClick, label: label, template: renderTemplate(), onClearClick: showClearButton ? () => { onValueChanged?.([]); } : undefined, validationItems: validationItems }), showChooser &&
79
83
  _jsx(TMDynDataListItemChooserForm, { TID: tid, MID: md?.id, dynDL: dynDl, title: titleForm, allowMultipleSelection: allowMultipleSelection, searchResult: dataSource, selectedIDs: values, onClose: () => setShowChooser(false), onChoose: (IDs) => {
@@ -128,7 +132,7 @@ export const TMDynDataListItemChooserForm = (props) => {
128
132
  default: return "string";
129
133
  }
130
134
  };
131
- return { key: col.caption + index.toString(), dataField: keyField, caption: col.caption, visible: isVisible, dataType: dataType(), format: col.dataType === DataColumnTypes.DateTime ? Globalization.getDateDisplayFormat() : "" };
135
+ return { dataField: keyField, caption: col.caption, visible: isVisible, dataType: dataType(), format: col.dataType === DataColumnTypes.DateTime ? Globalization.getDateDisplayFormat() : "" };
132
136
  });
133
137
  const keyValue = props.searchResult ? getDataColumnName(props.searchResult?.fromTID, props.searchResult?.dtdResult?.columns?.[props.dynDL?.selectItemForValue ?? 0]) : '';
134
138
  const getItems = async (refreshCache) => {
@@ -15,7 +15,8 @@ const TMUserChooser = ({ labelColor, titleForm, filter, readOnly = false, icon,
15
15
  setShowChooser(initialShowChooser);
16
16
  }, [initialShowChooser]);
17
17
  const renderTemplate = () => {
18
- return (_jsxs(StyledDivHorizontal, { style: { minWidth: '125px' }, children: [values && values.length > 0 && _jsx(TMUserIdViewer, { userId: values?.[0], showIcon: true, noneSelectionText: '' }), values && values.length > 1 && _jsx("p", { style: { marginLeft: '10px' }, children: `(+${values.length - 1} ${values.length == 2 ? 'altro' : 'altri'})` })] }));
18
+ const isPlaceholder = values?.[0] === placeHolder;
19
+ return (_jsxs(StyledDivHorizontal, { style: { minWidth: '125px', color: isPlaceholder ? '#a9a9a9' : 'inherit' }, children: [values && values.length > 0 && _jsx(TMUserIdViewer, { userId: values?.[0], showIcon: true, noneSelectionText: '' }), values && values.length > 1 && _jsx("p", { style: { marginLeft: '10px' }, children: `(+${values.length - 1} ${values.length == 2 ? 'altro' : 'altri'})` })] }));
19
20
  };
20
21
  return (_jsxs(_Fragment, { children: [_jsx(TMSummary, { disabled: disabled, placeHolder: placeHolder, readOnly: readOnly, labelColor: labelColor, icon: icon, backgroundColor: backgroundColor, buttons: buttons, showBorder: showBorder, hasValue: values && values.length > 0, showClearButton: showClearButton, iconEditButton: _jsx(IconSearch, { fontSize: 16 }), onEditorClick: () => !readOnly && setShowChooser(true), elementStyle: elementStyle, isModifiedWhen: isModifiedWhen, openEditorOnSummaryClick: openChooserBySingleClick, label: label, template: renderTemplate(), onClearClick: showClearButton ? () => { onValueChanged?.([]); } : undefined, validationItems: validationItems }), showChooser &&
21
22
  _jsx(TMUserChooserForm, { title: titleForm, allowMultipleSelection: allowMultipleSelection, hasShowOnlySelectedItems: true, dataSource: dataSource, filter: filter, selectedIDs: values, hideRefresh: hideRefresh, hideShowId: hideShowId, onClose: () => setShowChooser(false), onChoose: (IDs) => { onValueChanged?.(IDs); } })] }));
@@ -24,8 +25,8 @@ export default TMUserChooser;
24
25
  export const TMUserChooserForm = ({ allowMultipleSelection, columns, hideRefresh = false, hideShowId = false, startWithShowOnlySelectedItems = true, filter, title, hasShowOnlySelectedItems, width, height, selectedIDs, dataSource, onClose, onChoose }) => {
25
26
  const dataColumns = useMemo(() => {
26
27
  return [
27
- { key: 1, dataField: 'domain', caption: SDKUI_Localizator.Domain, dataType: 'string' },
28
- { key: 2, dataField: 'name', caption: SDKUI_Localizator.UserName, dataType: 'string' }
28
+ { dataField: 'domain', caption: SDKUI_Localizator.Domain, dataType: 'string' },
29
+ { dataField: 'name', caption: SDKUI_Localizator.UserName, dataType: 'string' }
29
30
  ];
30
31
  }, []);
31
32
  const getItems = async (refreshCache) => {
@@ -18,7 +18,8 @@ const TMArchive = ({ inputTID, fileFromConnector = null }) => {
18
18
  const [currentMruTID, setCurrentMruTID] = useState(0);
19
19
  const [fromDTD, setFromDTD] = useState();
20
20
  const deviceType = useDeviceType();
21
- useEffect(() => { console.log(SDKUI_Globals.userSettings.archivingSettings.mruTIDs); setMruTIDs(SDKUI_Globals.userSettings.archivingSettings.mruTIDs); }, []);
21
+ console.log(fileFromConnector, 'fileFromConnector in TMArchive');
22
+ useEffect(() => { setMruTIDs(SDKUI_Globals.userSettings.archivingSettings.mruTIDs); }, []);
22
23
  useEffect(() => {
23
24
  if (!inputTID)
24
25
  return;
@@ -131,11 +132,11 @@ const TMTreeSelectorWrapper = ({ isMobile, onSelectedTIDChanged }) => {
131
132
  };
132
133
  const TMRecentsManagerWrapper = ({ mruTIDs, currentMruTID, deviceType, onSelectedTID, onDeletedTID }) => {
133
134
  const { setPanelVisibilityById, setToolbarButtonVisibility } = useTMPanelManagerContext();
134
- useEffect(() => { console.log('TMRecentsManagerWrapper -mruTIDs', mruTIDs); }, [mruTIDs]);
135
135
  return (_jsx(TMRecentsManager, { mruTIDs: mruTIDs, currentMruTID: currentMruTID, deviceType: deviceType, onSelectedTID: (tid) => {
136
136
  onSelectedTID?.(tid);
137
- if (deviceType === DeviceType.MOBILE)
138
- setPanelVisibilityById('tmForm', true);
137
+ if (deviceType === DeviceType.MOBILE) {
138
+ setPanelVisibilityById('tmDcmtForm', true);
139
+ }
139
140
  else {
140
141
  setPanelVisibilityById('tmDcmtForm', true);
141
142
  setPanelVisibilityById('tmDcmtPreview', true);
@@ -9,7 +9,7 @@ import { DownloadTypes, FormModes } from '../../../ts';
9
9
  import { DeviceType, useDeviceType } from '../../base/TMDeviceProvider';
10
10
  import { useDcmtOperations } from '../../../hooks/useDcmtOperations';
11
11
  import { handleArchiveVisibility, searchResultToMetadataValues } from '../../../helper/queryHelper';
12
- import { genUniqueId, IconShow, SDKUI_Localizator, IconBoard, IconDcmtTypeSys, IconDetailDcmts, svgToString, IconDownload, calcIsModified, IconMenuVertical, Globalization, getListMaxItems, getSystemMetadata, IconBoxArchiveIn, IconClear, IconUndo, SDKUI_Globals, IconPreview } from '../../../helper';
12
+ import { genUniqueId, IconShow, SDKUI_Localizator, updateMruTids, IconBoard, IconDcmtTypeSys, IconDetailDcmts, svgToString, IconDownload, calcIsModified, IconMenuVertical, Globalization, getListMaxItems, getSystemMetadata, IconBoxArchiveIn, IconClear, IconUndo, SDKUI_Globals, IconPreview } from '../../../helper';
13
13
  import { hasDetailRelations, hasMasterRelations, isXMLFileExt } from '../../../helper/dcmtsHelper';
14
14
  import { TMColors } from '../../../utils/theme';
15
15
  import { StyledFormButtonsContainer, StyledModalContainer, StyledToolbarCardContainer } from '../../base/Styled';
@@ -32,7 +32,6 @@ import toppy from '../../../assets/Toppy-generico.png';
32
32
  import { useTMPanelManagerContext } from '../../layout/panelManager/TMPanelManagerContext';
33
33
  import TMPanelManagerContainer from '../../layout/panelManager/TMPanelManagerContainer';
34
34
  import { TMPanelManagerWithPersistenceProvider } from '../../layout/panelManager/TMPanelManagerWithPersistenceProvider';
35
- import { updateMruTids } from '../../../helper';
36
35
  let abortControllerLocal = new AbortController();
37
36
  //#endregion
38
37
  const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes.Update, onClose, onSavedAsyncCallback, TID, DID, formMode = FormModes.Update, canNext, canPrev, count, itemIndex, onNext, onPrev, allowNavigation = true, allowRelations = true, isClosable = false, isExpertMode = SDKUI_Globals.userSettings.advancedSettings.expertMode === 1, showDcmtFormSidebar = true, invokedByTodo = false, titleModal, isModal = false, widthModal = "100%", heightModal = "100%", groupId, onWFOperationCompleted, fileFromConnector = null, }) => {
@@ -70,6 +69,7 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
70
69
  const { openConfirmAttachmentsDialog, ConfirmAttachmentsDialog } = useInputAttachmentsDialog();
71
70
  const { abortController, showWaitPanel, waitPanelTitle, showPrimary, waitPanelTextPrimary, waitPanelValuePrimary, waitPanelMaxValuePrimary, showSecondary, waitPanelTextSecondary, waitPanelValueSecondary, waitPanelMaxValueSecondary, downloadDcmtsAsync } = useDcmtOperations();
72
71
  const deviceType = useDeviceType();
72
+ console.log(fileFromConnector, 'fileFromConnector in TMDcmtForm');
73
73
  const retrieveMetadataAsync = async () => {
74
74
  try {
75
75
  await DcmtTypeListCacheService.GetAsync(TID).then(async (dtd) => {
@@ -582,11 +582,11 @@ const validateMetadataList = (mvdList = []) => {
582
582
  if (!Array.isArray(mvdList)) {
583
583
  throw new TypeError("metadataList must be an array of ITMMetadataProps.");
584
584
  }
585
- return mvdList.reduce((validationItems, md) => {
586
- const value = md.value?.toString() ?? "";
587
- if (isValidForValidation(md)) {
588
- validateRequiredField(md, value, validationItems);
589
- validateMaxLength(md, value, validationItems);
585
+ return mvdList.reduce((validationItems, mvd) => {
586
+ const value = mvd.value?.toString() ?? "";
587
+ if (isValidForValidation(mvd)) {
588
+ validateRequiredField(mvd, value, validationItems);
589
+ validateMaxLength(mvd, value, validationItems);
590
590
  }
591
591
  return validationItems;
592
592
  }, []);
@@ -602,7 +602,8 @@ const validateMaxLength = (mvd, value, validationItems) => {
602
602
  const regex = /[!?[\],./*-+'<>:";]/g;
603
603
  const maxLength = mvd.md?.length ?? 0;
604
604
  const isTextOrNumber = mvd.md?.dataType === MetadataDataTypes.Varchar || mvd.md?.dataType === MetadataDataTypes.Number;
605
- if (isTextOrNumber && mvd.md?.length && value.replace(regex, '').length > maxLength) {
605
+ const isFormula = FormulaHelper.isFormula(value);
606
+ if (isTextOrNumber && !isFormula && mvd.md?.length && value.replace(regex, '').length > maxLength) {
606
607
  const message = `"${mvd.md.nameLoc ?? "no-name"}" ha superata massimo lunghezza di ${maxLength} caratteri.`;
607
608
  validationItems.push(new ValidationItem(ResultTypes.ERROR, mvd.md.nameLoc ?? "", message));
608
609
  }
@@ -634,6 +635,7 @@ export const ToppyHelpCenter = ({ content, onClick, deviceType, top = -200 }) =>
634
635
  };
635
636
  const TMDcmtPreviewWrapper = ({ currentDcmt, layoutMode, fromDTD, dcmtFile, deviceType, isVisible, onFileUpload }) => {
636
637
  const { setPanelVisibilityById, toggleMaximize, isResizingActive } = useTMPanelManagerContext();
638
+ console.log(dcmtFile, 'dcmtFile in TMDcmtPreviewWrapper');
637
639
  return (layoutMode === LayoutModes.Update ?
638
640
  _jsx(TMDcmtPreview, { isVisible: isVisible, onClosePanel: () => setPanelVisibilityById('tmDcmtPreview', false), onMaximizePanel: () => toggleMaximize('tmDcmtPreview'), dcmtData: currentDcmt, isResizingActive: isResizingActive }) :
639
641
  _jsx(TMFileUploader, { onFileUpload: onFileUpload, onClose: () => setPanelVisibilityById('tmDcmtPreview', false), isRequired: fromDTD?.archiveConstraint === ArchiveConstraints.ContentCompulsory && dcmtFile === null, defaultBlob: dcmtFile, deviceType: deviceType, isResizingActive: isResizingActive }));
@@ -18,6 +18,7 @@ const TMFileUploader = ({ deviceType = DeviceType.DESKTOP, onClose, onFileUpload
18
18
  const [fileExt, setFileExt] = useState(undefined);
19
19
  const uploaderRef = useRef(null);
20
20
  usePreventFileDrop([uploaderRef]);
21
+ console.log(defaultBlob, 'defaultBlob in TMFileUploader');
21
22
  useEffect(() => {
22
23
  if (!defaultBlob) {
23
24
  clearFile();
@@ -6,6 +6,7 @@ import { StyledDivHorizontal } from '../base/Styled';
6
6
  import TMTooltip from '../base/TMTooltip';
7
7
  import { TMColors } from '../../utils/theme';
8
8
  import { TMExceptionBoxManager } from '../base/TMPopUp';
9
+ import { FormulaHelper } from '../editors/TMFormulaEditor';
9
10
  const TMDataListItemViewer = ({ dataListId, value, viewMode = DataListViewModes.ImageAndDescription }) => {
10
11
  const [dataListItem, setDataListItem] = useState();
11
12
  useEffect(() => {
@@ -21,6 +22,8 @@ const TMDataListItemViewer = ({ dataListId, value, viewMode = DataListViewModes.
21
22
  return null;
22
23
  if (!value)
23
24
  return null;
25
+ if (FormulaHelper.isFormula(value))
26
+ return null;
24
27
  return dataListItem ? _jsx(TMImageLibrary, { imageID: dataListItem.imageID }) : _jsx(IconWarning, { color: TMColors.warning });
25
28
  };
26
29
  const getDescription = () => {
@@ -1,10 +1,10 @@
1
1
  import { JobTypes, ObjectClasses, ProcessDescriptor, DcmtTypeDescriptor } from "@topconsultnpm/sdk-ts-beta";
2
2
  export declare class PlatformObjectService {
3
3
  private static readonly retrieveAllJobsAsync;
4
- static readonly retrieveAllAsync: (objClass: ObjectClasses, jobType?: JobTypes) => Promise<DcmtTypeDescriptor[] | import("@topconsultnpm/sdk-ts-beta").UserDescriptor[] | import("@topconsultnpm/sdk-ts-beta").FEDistillerJobDescriptor[] | import("@topconsultnpm/sdk-ts-beta").AreaDescriptor[] | import("@topconsultnpm/sdk-ts-beta").DataListDescriptor[] | import("@topconsultnpm/sdk-ts-beta").DiskDescriptor[] | import("@topconsultnpm/sdk-ts-beta").GroupDescriptor[] | import("@topconsultnpm/sdk-ts-beta").LDAPDescriptor[] | import("@topconsultnpm/sdk-ts-beta").NumeratorDescriptor[] | import("@topconsultnpm/sdk-ts-beta").SAPLoginDescriptor[] | import("@topconsultnpm/sdk-ts-beta").SignCertDescriptor[] | import("@topconsultnpm/sdk-ts-beta").SignServerDescriptor[] | import("@topconsultnpm/sdk-ts-beta").TreeDescriptor[] | import("@topconsultnpm/sdk-ts-beta").TSADescriptor[] | ProcessDescriptor[] | import("@topconsultnpm/sdk-ts-beta").TaskDescriptor[] | undefined>;
4
+ static readonly retrieveAllAsync: (objClass: ObjectClasses, jobType?: JobTypes) => Promise<DcmtTypeDescriptor[] | import("@topconsultnpm/sdk-ts-beta").FEDistillerJobDescriptor[] | import("@topconsultnpm/sdk-ts-beta").AreaDescriptor[] | import("@topconsultnpm/sdk-ts-beta").DataListDescriptor[] | import("@topconsultnpm/sdk-ts-beta").DiskDescriptor[] | import("@topconsultnpm/sdk-ts-beta").GroupDescriptor[] | import("@topconsultnpm/sdk-ts-beta").LDAPDescriptor[] | import("@topconsultnpm/sdk-ts-beta").NumeratorDescriptor[] | import("@topconsultnpm/sdk-ts-beta").SAPLoginDescriptor[] | import("@topconsultnpm/sdk-ts-beta").SignCertDescriptor[] | import("@topconsultnpm/sdk-ts-beta").SignServerDescriptor[] | import("@topconsultnpm/sdk-ts-beta").TreeDescriptor[] | import("@topconsultnpm/sdk-ts-beta").TSADescriptor[] | import("@topconsultnpm/sdk-ts-beta").UserDescriptor[] | ProcessDescriptor[] | import("@topconsultnpm/sdk-ts-beta").TaskDescriptor[] | undefined>;
5
5
  private static readonly loadCacheForJobAsync;
6
6
  private static readonly retrieveAdminJobAsync;
7
- static readonly retrieveAdminAsync: (objClass: ObjectClasses, jobType: JobTypes, id: number) => Promise<-1 | import("@topconsultnpm/sdk-ts-beta").MailSenderJobDescriptor | DcmtTypeDescriptor | import("@topconsultnpm/sdk-ts-beta").SavedQueryDescriptor | import("@topconsultnpm/sdk-ts-beta").DataListDescriptor | import("@topconsultnpm/sdk-ts-beta").UserDescriptor | import("@topconsultnpm/sdk-ts-beta").BarcodeArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").BatchUpdaterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoDoganaleJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoDoganalePlusJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoFiscaleQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoFiscaleSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CheckSequenceJobDescriptor | import("@topconsultnpm/sdk-ts-beta").COSCheckerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtConverterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtDeleterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtNoteJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtPrinterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEAttacherJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FECreatorTxtJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEDetacherJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEDistillerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FESenderWsJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FESplitterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEValidatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileCheckerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileExecJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileExportJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileMoverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").LexJobDescriptor | import("@topconsultnpm/sdk-ts-beta").LinkerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MailArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MailQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MigrationJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdDCreatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PDFArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PeppolQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PeppolSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PostelQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PostelSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").ReplicatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPAlignerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPBarcodeJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPDataReaderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPDataWriterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SignerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SpoolArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").UpdaterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").AreaDescriptor | import("@topconsultnpm/sdk-ts-beta").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts-beta").DiskDescriptor | import("@topconsultnpm/sdk-ts-beta").GroupDescriptor | import("@topconsultnpm/sdk-ts-beta").LDAPDescriptor | import("@topconsultnpm/sdk-ts-beta").NumeratorDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPLoginDescriptor | import("@topconsultnpm/sdk-ts-beta").SignCertDescriptor | import("@topconsultnpm/sdk-ts-beta").SignServerDescriptor | import("@topconsultnpm/sdk-ts-beta").TreeDescriptor | import("@topconsultnpm/sdk-ts-beta").TSADescriptor | ProcessDescriptor | import("@topconsultnpm/sdk-ts-beta").TaskDescriptor | import("@topconsultnpm/sdk-ts-beta").WorkingGroupDescriptor | undefined>;
7
+ static readonly retrieveAdminAsync: (objClass: ObjectClasses, jobType: JobTypes, id: number) => Promise<-1 | import("@topconsultnpm/sdk-ts-beta").MailSenderJobDescriptor | DcmtTypeDescriptor | import("@topconsultnpm/sdk-ts-beta").SavedQueryDescriptor | import("@topconsultnpm/sdk-ts-beta").BarcodeArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").BatchUpdaterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoDoganaleJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoDoganalePlusJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoFiscaleQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoFiscaleSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CheckSequenceJobDescriptor | import("@topconsultnpm/sdk-ts-beta").COSCheckerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtConverterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtDeleterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtNoteJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtPrinterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEAttacherJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FECreatorTxtJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEDetacherJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEDistillerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FESenderWsJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FESplitterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEValidatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileCheckerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileExecJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileExportJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileMoverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").LexJobDescriptor | import("@topconsultnpm/sdk-ts-beta").LinkerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MailArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MailQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MigrationJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdDCreatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PDFArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PeppolQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PeppolSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PostelQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PostelSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").ReplicatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPAlignerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPBarcodeJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPDataReaderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPDataWriterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SignerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SpoolArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").UpdaterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").AreaDescriptor | import("@topconsultnpm/sdk-ts-beta").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts-beta").DataListDescriptor | import("@topconsultnpm/sdk-ts-beta").DiskDescriptor | import("@topconsultnpm/sdk-ts-beta").GroupDescriptor | import("@topconsultnpm/sdk-ts-beta").LDAPDescriptor | import("@topconsultnpm/sdk-ts-beta").NumeratorDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPLoginDescriptor | import("@topconsultnpm/sdk-ts-beta").SignCertDescriptor | import("@topconsultnpm/sdk-ts-beta").SignServerDescriptor | import("@topconsultnpm/sdk-ts-beta").TreeDescriptor | import("@topconsultnpm/sdk-ts-beta").TSADescriptor | import("@topconsultnpm/sdk-ts-beta").UserDescriptor | ProcessDescriptor | import("@topconsultnpm/sdk-ts-beta").TaskDescriptor | import("@topconsultnpm/sdk-ts-beta").WorkingGroupDescriptor | undefined>;
8
8
  private static readonly updateJobAsync;
9
9
  static readonly updateAsync: (objClass: ObjectClasses, jobType: JobTypes, d: any) => Promise<number | undefined>;
10
10
  private static readonly createJobAsync;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react-beta",
3
- "version": "6.14.18",
3
+ "version": "6.14.20",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",