@topconsultnpm/sdkui-react 6.21.0-dev1.14 → 6.21.0-dev1.15
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.
|
@@ -390,7 +390,9 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
|
|
|
390
390
|
const deleteItem = async (item) => {
|
|
391
391
|
const ad = item.dataItem.dataItem;
|
|
392
392
|
const aid = ad.id;
|
|
393
|
-
const
|
|
393
|
+
const subFolderOld = item.parentPath === ad.name ? '' : item.parentPath.replace(ad.name + '/', '');
|
|
394
|
+
const subFolder = getSubFolder(item.parentPath, ad.name);
|
|
395
|
+
console.log("Delete item with subfolder: ", subFolder, " old subfolder: ", subFolderOld);
|
|
394
396
|
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
395
397
|
if (item.isDirectory) {
|
|
396
398
|
await tms?.NewAreaEngine().DeleteFoldersAsync(aid, subFolder, [item.name]).catch((err) => { throw new FileSystemError(5, item, err.message ?? SDKUI_Localizator.GetFolderDeletionErrorMessage); });
|
|
@@ -594,17 +596,29 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
|
|
|
594
596
|
throw new FileSystemError(5, undefined, error.message ?? SDKUI_Localizator.Error);
|
|
595
597
|
}
|
|
596
598
|
};
|
|
599
|
+
const getSubFolder = (dir, startStr) => {
|
|
600
|
+
//Se devo controllare che inizi per il nome dell'area, se non inizia ritorno la dir così com'è (caso di file aperto da percorso completo)
|
|
601
|
+
if (startStr && !dir.startsWith(startStr)) {
|
|
602
|
+
return dir;
|
|
603
|
+
}
|
|
604
|
+
//In tutti gli altri casi rimuovo la prima cartella del percorso (che corrisponde al nome dell'area) e la restituisco come subfolder
|
|
605
|
+
const parts = dir.split("/");
|
|
606
|
+
console.log(parts);
|
|
607
|
+
let subFolder = parts.slice(1).join("/");
|
|
608
|
+
console.log(subFolder);
|
|
609
|
+
return subFolder;
|
|
610
|
+
};
|
|
597
611
|
const onCurrentDirectoryChanged = (e) => {
|
|
598
612
|
setCurrentRoute(e.directory.path);
|
|
599
613
|
setFocusedFileSystemItem(e.directory);
|
|
614
|
+
console.log("Current directory changed: ", e.directory);
|
|
600
615
|
if (e.directory.path === '' && e.directory.name === '')
|
|
601
616
|
return;
|
|
602
617
|
let ad = e.directory.dataItem.dataItem;
|
|
603
618
|
if (!ad)
|
|
604
619
|
return;
|
|
605
620
|
let aid = ad.id;
|
|
606
|
-
|
|
607
|
-
let subFolder = parts.slice(1).join("/");
|
|
621
|
+
let subFolder = getSubFolder(e.directory.path);
|
|
608
622
|
setAreaFolder(getAreaPath(aid, subFolder));
|
|
609
623
|
e.component.option("fileSystemProvider").getItems(e.directory).then((items) => {
|
|
610
624
|
setParentDirectoryFileSystemItems(items);
|
|
@@ -729,6 +743,6 @@ const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false
|
|
|
729
743
|
onItemCopied={() => setCounter(counter => counter + 1)}
|
|
730
744
|
onItemDeleted={() => setCounter(counter => counter - 1)}
|
|
731
745
|
onFileUploaded={() => setCounter(counter => counter + 1)} */
|
|
732
|
-
onCurrentDirectoryChanged: onCurrentDirectoryChanged, selectionMode: props.selectionMode === 'single' ? 'single' : selectionMode, children: [_jsxs(Toolbar, { children: [_jsx(Item, { name: "showNavPane", visible: true }), _jsx(Item, { name: "create", visible: true }), _jsx(Item, { name: "upload", visible: true }), _jsx(Item, { name: "separator", location: 'after' }), _jsx(Item, { name: "switchView", visible: true }), _jsx(Item, { name: "refresh", visible: true })] }), _jsx(ContextMenu, { items: ["create", "upload", "rename", "move", "copy", "delete", "refresh", "download"] }), _jsx(Permissions, { copy: focusedFileSystemItem && focusedFileSystemItem.name !== "" &&
|
|
746
|
+
onCurrentDirectoryChanged: onCurrentDirectoryChanged, selectionMode: props.selectionMode === 'single' ? 'single' : selectionMode, children: [_jsxs(Toolbar, { children: [_jsx(Item, { name: "showNavPane", visible: true }), _jsx(Item, { name: "create", visible: true }), _jsx(Item, { name: "upload", visible: true }), _jsx(Item, { name: "separator", location: 'after' }), _jsx(Item, { name: "switchView", visible: true }), _jsx(Item, { name: "refresh", visible: true })] }), _jsx(ContextMenu, { items: ["create", "upload", "rename", "move", "copy", "delete", "refresh", "download"] }), "const primo = areasRoots.values().next().value;", _jsx(Permissions, { copy: focusedFileSystemItem && focusedFileSystemItem.name !== "" && getSubFolder(focusedFileSystemItem.path).length > 0, move: focusedFileSystemItem && focusedFileSystemItem.name !== "" && getSubFolder(focusedFileSystemItem.path).length > 0, create: focusedFileSystemItem && focusedFileSystemItem.name !== "", upload: focusedFileSystemItem && focusedFileSystemItem.name !== "", rename: focusedFileSystemItem && focusedFileSystemItem.name !== "" && getSubFolder(focusedFileSystemItem.path).length > 0, delete: focusedFileSystemItem && focusedFileSystemItem.name !== "" && getSubFolder(focusedFileSystemItem.path).length > 0, download: true }), _jsx(ItemView, { children: _jsxs(Details, { children: [_jsx(Column, { dataField: "thumbnail", cssClass: 'file-thumbnail' }, "thumbnail"), _jsx(Column, { dataField: "name", caption: SDKUI_Localizator.Name }, "name"), _jsx(Column, { dataField: 'size', width: '120px', alignment: 'center', dataType: 'number', caption: SDKUI_Localizator.File_Size }, "size"), _jsx(Column, { dataField: 'dateModified', width: '160px', alignment: 'center', dataType: 'datetime', caption: SDKUI_Localizator.Date_Modified }, "dateModified")] }) }), _jsx(Notifications, { showPopup: true, showPanel: true })] }), _jsx("div", { style: { width: "100%", height: "30px", overflowY: "hidden" }, children: _jsx(TMCounterContainer, { items: counterValues }) })] }) }));
|
|
733
747
|
};
|
|
734
748
|
export default TMAreaManager;
|
|
@@ -703,7 +703,26 @@ const TMQueryEditor = ({ formMode, inputData, onQDChanged, isExpertMode, showDis
|
|
|
703
703
|
}
|
|
704
704
|
};
|
|
705
705
|
// #endregion
|
|
706
|
-
|
|
706
|
+
const getQueryCountLocalAsync = async (qd, showSpinner) => {
|
|
707
|
+
if (IsParametricQuery(qd)) {
|
|
708
|
+
const qdParams = await confirmQueryParams(qd, lastQdParams);
|
|
709
|
+
setLastQdParams(qdParams);
|
|
710
|
+
if (!qdParams || qdParams.length <= 0)
|
|
711
|
+
return;
|
|
712
|
+
for (const qpd of qdParams) {
|
|
713
|
+
let wi = qd.where?.find(o => o.value1 == qpd.name);
|
|
714
|
+
if (wi)
|
|
715
|
+
wi.value1 = wi.value1?.replace(wi.value1, !qpd.value ? '' : qpd.value.toString());
|
|
716
|
+
else {
|
|
717
|
+
wi = qd.where?.find(o => o.value2 == qpd.name);
|
|
718
|
+
if (wi)
|
|
719
|
+
wi.value2 = wi.value2?.replace(wi.value2, !qpd.value ? '' : qpd.value.toString());
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
await getQueryCountAsync(qd, showSpinner);
|
|
724
|
+
};
|
|
725
|
+
return (_jsxs(_Fragment, { children: [_jsxs(TMApplyForm, { isModal: false, formMode: formMode, isModified: calcIsModified(formData, formDataOrig), exception: exception, validationItems: validationItems, hasNavigation: false, customToolbarElements: _jsxs(_Fragment, { children: [_jsx(TMButton, { btnStyle: 'toolbar', caption: SDKUI_Localizator.Search, color: 'tertiary', icon: _jsx(IconSearch, {}), disabled: errorsCount > 0, onClick: async () => await onSearchAsync(formData) }), _jsx(TMButton, { btnStyle: 'toolbar', caption: SDKUI_Localizator.Count, icon: _jsx(IconCount, {}), disabled: errorsCount > 0, onClick: () => getQueryCountLocalAsync(formData, true) }), SDK_Globals.tmSession?.SessionDescr?.appModuleID == AppModules.SURFER && _jsx(TMButton, { caption: "Passa ad archiviazione", icon: _jsx(IconArchiveDoc, {}), btnStyle: 'toolbar', fontSize: '1.3rem', onClick: () => { ShowAlert({ message: "TODO Passa ad archiviazione", mode: 'info', title: `${"TODO"}`, duration: 3000 }); } }), SDK_Globals.tmSession?.SessionDescr?.appModuleID == AppModules.SURFER && _jsx(TMButton, { caption: "Vai a risultato", icon: _jsx(IconArrowRight, {}), btnStyle: 'toolbar', fontSize: '1.3rem', onClick: () => { ShowAlert({ message: "TODO Vai a risultato", mode: 'info', title: `${"TODO"}`, duration: 3000 }); } })] }), showToolbar: showToolbar, showApply: showApply, showUndo: showUndo, showBack: showBack, onApply: () => applyData(), onClose: () => onClose?.(), onUndo: () => setFormData(formDataOrig), children: [_jsxs(Accordion, { elementAttr: { class: 'tm-query-dx-accordion' }, height: height, multiple: true, collapsible: true, repaintChangesOnly: true, deferRendering: false, animationDuration: 0, onContentReady: (e) => {
|
|
707
726
|
let items = e.component.option("items");
|
|
708
727
|
if (items && items.length > 0) {
|
|
709
728
|
for (let i = 0; i < items.length; i++) {
|