@topconsultnpm/sdkui-react-beta 6.14.30 → 6.14.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assets/icomoon.svg +96 -96
- package/lib/assets/italy.svg +16 -16
- package/lib/assets/topmedia-six.svg +65 -65
- package/lib/assets/topmeida-six-bianco.svg +65 -65
- package/lib/components/base/TMFileManager.js +1 -31
- package/lib/components/base/TMFileManagerThumbnailItems.js +19 -7
- package/lib/components/base/TMFileManagerUtils.d.ts +3 -0
- package/lib/components/base/TMFileManagerUtils.js +31 -0
- package/lib/components/features/documents/TMDcmtForm.js +2 -2
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ import { DeviceType, useDeviceType } from './TMDeviceProvider';
|
|
|
13
13
|
import TMFileManagerThumbnailItems from './TMFileManagerThumbnailItems';
|
|
14
14
|
import TMTooltip from './TMTooltip';
|
|
15
15
|
import TMPanel from './TMPanel';
|
|
16
|
+
import { findFileItems, setFolderTreeViewItems } from './TMFileManagerUtils';
|
|
16
17
|
export var TMFileManagerPageSize;
|
|
17
18
|
(function (TMFileManagerPageSize) {
|
|
18
19
|
TMFileManagerPageSize[TMFileManagerPageSize["Small"] = 30] = "Small";
|
|
@@ -112,37 +113,6 @@ const TMFileManager = (props) => {
|
|
|
112
113
|
};
|
|
113
114
|
filterItems();
|
|
114
115
|
}, [searchText, selectedFolder]);
|
|
115
|
-
// Function to recursively transform file items into directory format for TreeView
|
|
116
|
-
const setFolderTreeViewItems = (items) => {
|
|
117
|
-
return items
|
|
118
|
-
.filter(item => item.isDirectory)
|
|
119
|
-
.map((item) => {
|
|
120
|
-
const el = {
|
|
121
|
-
id: item.id,
|
|
122
|
-
text: item.name,
|
|
123
|
-
expanded: true,
|
|
124
|
-
subFileFolderCount: item.items.filter(item => !item.isDirectory).length,
|
|
125
|
-
items: item.items && item.items.length > 0 ? setFolderTreeViewItems(item.items) : [],
|
|
126
|
-
};
|
|
127
|
-
return el;
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
// Function to find a specific file or folder based on its ID (used for finding nested items)
|
|
131
|
-
const findFileItems = (items, id) => {
|
|
132
|
-
for (let item of items) {
|
|
133
|
-
if (item.id === id) {
|
|
134
|
-
return item; // Return the found item
|
|
135
|
-
}
|
|
136
|
-
// Recursively search in sub-items if any
|
|
137
|
-
if (item.items) {
|
|
138
|
-
const found = findFileItems(item.items, id);
|
|
139
|
-
if (found) {
|
|
140
|
-
return found; // Return the found item from recursive call
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
return undefined; // Return undefined if not found
|
|
145
|
-
};
|
|
146
116
|
// Render each TreeView item (directories) with custom styling/icons
|
|
147
117
|
const renderTreeViewItem = (itemData) => {
|
|
148
118
|
const isSelected = selectedFolder && selectedFolder.id === itemData.id;
|
|
@@ -54,13 +54,25 @@ const TMFileManagerThumbnailItems = (props) => {
|
|
|
54
54
|
}, [selectedFiles]);
|
|
55
55
|
const handleKeyDown = (event) => {
|
|
56
56
|
event.preventDefault();
|
|
57
|
-
if (
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
if (!selectedFiles || selectedFiles.length !== 1)
|
|
58
|
+
return;
|
|
59
|
+
const currentIndex = items.findIndex(item => item.id === selectedFiles[0].id);
|
|
60
|
+
if (currentIndex === -1)
|
|
61
|
+
return;
|
|
62
|
+
switch (event.key) {
|
|
63
|
+
case 'ArrowDown':
|
|
64
|
+
const nextItem = items[currentIndex + 1];
|
|
65
|
+
if (nextItem && handleSelectedFiles) {
|
|
66
|
+
handleSelectedFiles([nextItem]);
|
|
67
|
+
}
|
|
68
|
+
break;
|
|
69
|
+
case 'Enter':
|
|
70
|
+
if (onDoubleClick) {
|
|
71
|
+
onDoubleClick(items[currentIndex]);
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
default:
|
|
75
|
+
break;
|
|
64
76
|
}
|
|
65
77
|
};
|
|
66
78
|
const handleKeyUp = (event) => {
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { FileItem, TMFileManagerTreeViewDirectory } from "./TMFileManager";
|
|
2
|
+
export declare const findFileItems: (items: Array<FileItem>, id: number) => FileItem | undefined;
|
|
3
|
+
export declare const setFolderTreeViewItems: (items: Array<FileItem>) => Array<TMFileManagerTreeViewDirectory>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Function to find a specific file or folder based on its ID (used for finding nested items)
|
|
2
|
+
export const findFileItems = (items, id) => {
|
|
3
|
+
for (let item of items) {
|
|
4
|
+
if (item.id === id) {
|
|
5
|
+
return item; // Return the found item
|
|
6
|
+
}
|
|
7
|
+
// Recursively search in sub-items if any
|
|
8
|
+
if (item.items) {
|
|
9
|
+
const found = findFileItems(item.items, id);
|
|
10
|
+
if (found) {
|
|
11
|
+
return found; // Return the found item from recursive call
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return undefined; // Return undefined if not found
|
|
16
|
+
};
|
|
17
|
+
// Function to recursively transform file items into directory format for TreeView
|
|
18
|
+
export const setFolderTreeViewItems = (items) => {
|
|
19
|
+
return items
|
|
20
|
+
.filter(item => item.isDirectory)
|
|
21
|
+
.map((item) => {
|
|
22
|
+
const el = {
|
|
23
|
+
id: item.id,
|
|
24
|
+
text: item.name,
|
|
25
|
+
expanded: true,
|
|
26
|
+
subFileFolderCount: item.items.filter(item => !item.isDirectory).length,
|
|
27
|
+
items: item.items && item.items.length > 0 ? setFolderTreeViewItems(item.items) : [],
|
|
28
|
+
};
|
|
29
|
+
return el;
|
|
30
|
+
});
|
|
31
|
+
};
|
|
@@ -430,7 +430,7 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
430
430
|
_jsxs(_Fragment, { children: [_jsx(TMButton, { disabled: archiveBtnDisabled, btnStyle: 'advanced', icon: _jsx(IconBoxArchiveIn, {}), width: 'auto', showTooltip: false, caption: SDKUI_Localizator.Archive, advancedColor: TMColors.success, onClick: confirmActionPopup }), _jsx(TMButton, { disabled: !clearFormBtnDisabled, btnStyle: 'advanced', icon: _jsx(IconClear, {}), width: 'auto', showTooltip: false, caption: SDKUI_Localizator.Clear, advancedColor: TMColors.tertiary, onClick: clearFormHandler }), DID && _jsx(TMButton, { disabled: undoBtnDisabled, btnStyle: 'advanced', icon: _jsx(IconUndo, {}), width: '150px', showTooltip: false, caption: SDKUI_Localizator.Undo, advancedColor: TMColors.tertiary, onClick: onUndoHandler })] }) }) }), totalItems > listMaxItems && _jsx(TMShowAllOrMaxItemsButton, { showAll: showAll, dataSourceLength: totalItems, onClick: () => { setShowAll(!showAll); } })] }), showApprovePopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: handleWFOperationCompleted, TID: TID, DID: DID, isReject: 0, onClose: () => setShowApprovePopup(false) }), showRejectPopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: handleWFOperationCompleted, TID: TID, DID: DID, isReject: 1, onClose: () => setShowRejectPopup(false) }), showReAssignPopup && _jsx(WorkFlowReAssignPopUp, { deviceType: deviceType, onCompleted: handleWFOperationCompleted, TID: TID, DID: DID, onClose: () => setShowReAssignPopup(false) }), _jsx(ConfirmAttachmentsDialog, {})] }) }), [TID, DID, formData, formDataOrig, dcmtFile, focusedMetadataValue, isOpenDistinctValues, isOpenFormulaEditor, validationItems, showAll, showApprovePopup, showRejectPopup, showReAssignPopup, fileFromConnector]);
|
|
431
431
|
const tmBlog = useMemo(() => _jsx(TMDcmtBlog, { tid: TID, did: DID }), [TID, DID]);
|
|
432
432
|
const tmSysMetadata = useMemo(() => _jsx(TMMetadataValues, { layoutMode: layoutMode, openChooserBySingleClick: !isOpenDistinctValues, TID: TID, isReadOnly: true, deviceType: deviceType, metadataValues: formData.filter(o => (o.mid != undefined && o.mid <= 100)), metadataValuesOrig: formData.filter(o => (o.mid != undefined && o.mid <= 100)), validationItems: [] }), [TID, layoutMode, formData, deviceType]);
|
|
433
|
-
const tmDcmtPreview = useMemo(() => _jsx(TMDcmtPreviewWrapper, { currentDcmt: currentDcmt, dcmtFile: dcmtFile, deviceType: deviceType, fromDTD: fromDTD, layoutMode: layoutMode, onFileUpload: (setFile) => {
|
|
433
|
+
const tmDcmtPreview = useMemo(() => _jsx(TMDcmtPreviewWrapper, { currentDcmt: currentDcmt, dcmtFile: dcmtFile ?? fileFromConnector, deviceType: deviceType, fromDTD: fromDTD, layoutMode: layoutMode, onFileUpload: (setFile) => {
|
|
434
434
|
setDcmtFile(setFile);
|
|
435
435
|
} }), [currentDcmt, dcmtFile, deviceType, fromDTD, layoutMode, fileFromConnector]);
|
|
436
436
|
const normalizedTID = TID !== undefined ? Number(TID) : undefined;
|
|
@@ -487,7 +487,7 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
|
|
|
487
487
|
contentOptions: { component: tmDcmtPreview },
|
|
488
488
|
toolbarOptions: { icon: _jsx(IconShow, { fontSize: 24 }), disabled: isPreviewDisabled, visible: true, orderNumber: 4, isActive: allInitialPanelVisibility['tmDcmtPreview'] }
|
|
489
489
|
}
|
|
490
|
-
], [tmDcmtForm, tmBlog, tmSysMetadata, tmDcmtPreview, isPreviewDisabled, isBoardDisabled, isSysMetadataDisabled, isClosable]);
|
|
490
|
+
], [tmDcmtForm, tmBlog, tmSysMetadata, tmDcmtPreview, isPreviewDisabled, isBoardDisabled, isSysMetadataDisabled, fileFromConnector, isClosable]);
|
|
491
491
|
// Retrieves the current document form setting based on the normalized TID
|
|
492
492
|
const getCurrentDcmtFormSetting = () => {
|
|
493
493
|
const settings = SDKUI_Globals.userSettings.dcmtFormSettings;
|