@syncfusion/ej2-filemanager 27.2.3 → 27.2.5

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.
@@ -1098,6 +1098,25 @@ function getModule(parent, element) {
1098
1098
  }
1099
1099
  }
1100
1100
  }
1101
+ /**
1102
+ * Get all child items
1103
+ *
1104
+ * @param {IFileManager} parent - specifies the parent element.
1105
+ * @param {string | number} parentId - specifies the parent ID.
1106
+ * @returns {Object[]} An array of child items
1107
+ * @private
1108
+ */
1109
+ function getAllChildItems(parent, parentId) {
1110
+ var children = parent.fileSystemData.filter(function (item) {
1111
+ return String(item.parentId) === String(parentId);
1112
+ });
1113
+ var allChildren = children.slice();
1114
+ children.forEach(function (child) {
1115
+ var childId = child.id;
1116
+ allChildren = allChildren.concat(getAllChildItems(parent, childId));
1117
+ });
1118
+ return allChildren;
1119
+ }
1101
1120
  /**
1102
1121
  * Gets module name
1103
1122
  *
@@ -1119,7 +1138,9 @@ function searchWordHandler(parent, value, isLayoutChange) {
1119
1138
  }
1120
1139
  else {
1121
1140
  parent.searchSettings.filterType = isNullOrUndefined(parent.searchSettings.filterType) ? 'contains' : parent.searchSettings.filterType;
1122
- var filteredData = parent.fileSystemData.filter(function (obj) { return obj.parentId !== null; });
1141
+ var currData = getValue(parent.pathId[parent.pathId.length - 1], parent.feParent);
1142
+ var parentId = getValue('id', currData);
1143
+ var filteredData = getAllChildItems(parent, parentId);
1123
1144
  var data = new DataManager(filteredData).
1124
1145
  executeLocal(new Query().where('name', parent.searchSettings.filterType, value, parent.searchSettings.ignoreCase));
1125
1146
  var searchValue = parent.searchSettings.ignoreCase ? value.toLowerCase() : value;
@@ -1885,6 +1906,7 @@ function doPasteUpdate(parent, operation, result) {
1885
1906
  else {
1886
1907
  parent.isDropEnd = false;
1887
1908
  }
1909
+ parent.trigger('success', { action: operation, result: result });
1888
1910
  if (!parent.isDragDrop || (parent.path === parent.dragPath) || (parent.path === parent.dropPath)
1889
1911
  || parent.isSearchDrag) {
1890
1912
  parent.isPathDrag = false;
@@ -1893,7 +1915,6 @@ function doPasteUpdate(parent, operation, result) {
1893
1915
  else {
1894
1916
  readDropPath(parent);
1895
1917
  }
1896
- parent.trigger('success', { action: operation, result: result });
1897
1918
  }
1898
1919
  /**
1899
1920
  * Reads the drop path
@@ -2684,7 +2705,9 @@ function isFileExists(fileSystemData, name) {
2684
2705
  * @private
2685
2706
  */
2686
2707
  function findIndexById(parent, id) {
2687
- var index = parent.fileSystemData.findIndex(function (item) { return String(item.id) === String(id); });
2708
+ var index = parent.fileSystemData.findIndex(function (item) {
2709
+ return !isNullOrUndefined(item) && String(item.id) === String(id);
2710
+ });
2688
2711
  return index;
2689
2712
  }
2690
2713
  /**
@@ -3058,9 +3081,10 @@ function createAjax(parent, data, fn, event, operation, targetPath) {
3058
3081
  if (!beforeSendArgs.cancel) {
3059
3082
  parent.notify(beforeRequest, {});
3060
3083
  if (isFileSystemData(parent)) {
3061
- var filePath = event === 'node-expand' || event === 'finalize-end' ? getValue('path', data) : parent.path;
3084
+ var filePath = event === 'node-expand' || event === 'finalize-end' || event === 'rename-end-parent'
3085
+ ? getValue('path', data) : parent.path;
3062
3086
  var pathArray = filePath.replace(/^\/|\/$/g, '').split('/');
3063
- var idValue = event === 'rename-end-parent' || (event === 'path-changed' && getValue('data', data).length !== 0)
3087
+ var idValue = event === 'rename-end-parent' || (event === 'path-changed' && getValue('data', data).length !== 0 && isNullOrUndefined(parent.renamedItem))
3064
3088
  || (event === 'paste-end' && (parent.targetModule === 'largeiconsview' || parent.targetModule === 'detailsview'))
3065
3089
  ? getValue('data', data)[0].id : pathArray[pathArray.length - 1];
3066
3090
  var action = getValue('action', data);
@@ -3086,7 +3110,12 @@ function createAjax(parent, data, fn, event, operation, targetPath) {
3086
3110
  else if (isFileOperation && parent.responseData.error === null) {
3087
3111
  var itemData = action === 'search' || action === 'delete' ? getValue('data', data) : [];
3088
3112
  if (itemData.length === 0) {
3089
- itemData = getValue('data', data).map(function (item) { return filterById(parent, item.id); });
3113
+ if (action === 'copy') {
3114
+ itemData = parent.pasteNodes.map(function (item) { return filterById(parent, item); });
3115
+ }
3116
+ else {
3117
+ itemData = getValue('data', data).map(function (item) { return filterById(parent, item.id); });
3118
+ }
3090
3119
  }
3091
3120
  parent.responseData = {
3092
3121
  cwd: null,
@@ -3446,14 +3475,21 @@ function renameSuccess(parent, result) {
3446
3475
  };
3447
3476
  parent.trigger('rename', renameEventArgs);
3448
3477
  if (parent.activeModule === 'navigationpane') {
3478
+ var pathObject = getPathObject(parent);
3479
+ var pathLevel = parent.pathId[parent.pathId.length - 1].split('_').length - 2;
3449
3480
  parent.pathId.pop();
3450
3481
  parent.itemData = [getValue(parent.pathId[parent.pathId.length - 1], parent.feParent)];
3451
3482
  read(parent, renameEndParent, getValue('filterPath', parent.renamedItem).replace(/\\/g, '/'));
3452
- parent.itemData[0] = parent.renamedItem;
3453
- if (getValue('filterPath', parent.renamedItem) === getValue('filterPath', parent.itemData[0]) && parent.pathNames.length > 1) {
3454
- parent.pathNames[parent.pathNames.length - 1] = parent.renameText;
3483
+ if (!isNullOrUndefined(pathObject) && parent.pathNames.length > 1 && pathLevel <= parent.pathNames.length - 1) {
3484
+ parent.pathNames[pathLevel] = parent.renameText;
3485
+ if (!parent.hasId) {
3486
+ parent.setProperties({ path: "/" + parent.pathNames.slice(1).join('/') + "/" }, true);
3487
+ }
3455
3488
  }
3456
- read(parent, pathChanged, parent.path === '/' ? parent.path : getValue('filterPath', parent.renamedItem).replace(/\\/g, '/') + parent.renamedItem.name + '/');
3489
+ parent.itemData = parent.navigationpaneModule.previousSelected.length > 0
3490
+ ? parent.navigationpaneModule.treeObj.getTreeData(parent.navigationpaneModule.previousSelected[0]) : parent.itemData;
3491
+ read(parent, pathChanged, parent.path);
3492
+ parent.itemData[0] = parent.renamedItem;
3457
3493
  parent.renamedItem = null;
3458
3494
  }
3459
3495
  else {
@@ -5158,7 +5194,7 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
5158
5194
  removeBlur(this.parent);
5159
5195
  this.parent.setProperties({ selectedItems: [] }, true);
5160
5196
  this.onLayoutChange(args);
5161
- if (this.parent.renamedItem) {
5197
+ if (this.parent.renamedItem && this.parent.activeModule === 'largeiconsview') {
5162
5198
  this.clearSelect();
5163
5199
  this.addSelection(this.parent.renamedItem);
5164
5200
  }
@@ -9902,6 +9938,8 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
9902
9938
  function NavigationPane(parent) {
9903
9939
  this.removeNodes = [];
9904
9940
  this.moveNames = [];
9941
+ // Specifies the previously selected nodes in the treeview control.
9942
+ this.previousSelected = [];
9905
9943
  this.expandTree = false;
9906
9944
  this.isDrag = false;
9907
9945
  this.isPathDragged = false;
@@ -9910,8 +9948,6 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
9910
9948
  this.isSameNodeClicked = false;
9911
9949
  this.isNodeExpandCalled = false;
9912
9950
  this.renameParent = null;
9913
- // Specifies the previously selected nodes in the treeview control.
9914
- this.previousSelected = null;
9915
9951
  // Specifies whether the nodeClicked event of the treeview control is triggered or not.
9916
9952
  this.isNodeClickCalled = false;
9917
9953
  // Specifies whether to restrict node selection in the treeview control.
@@ -10332,9 +10368,11 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
10332
10368
  }
10333
10369
  }
10334
10370
  if (resultData.length > 0) {
10335
- var id_1 = getValue(this.treeObj.fields.id, resultData[0]);
10371
+ var id_1 = this.previousSelected.length > 0 && this.treeObj.getTreeData(this.previousSelected[0]).length !== 0
10372
+ ? this.previousSelected[0] : getValue(this.treeObj.fields.id, resultData[0]);
10336
10373
  this.treeObj.selectedNodes = [id_1];
10337
10374
  this.treeObj.dataBind();
10375
+ this.updateItemData();
10338
10376
  }
10339
10377
  }
10340
10378
  };
@@ -10733,6 +10771,8 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
10733
10771
  };
10734
10772
  NavigationPane.prototype.updateActionData = function () {
10735
10773
  this.updateItemData();
10774
+ var node = select('[data-uid="' + this.parent.pathId[this.parent.pathId.length - 1] + '"]', this.treeObj.element);
10775
+ updatePath(node, this.parent.itemData[0], this.parent);
10736
10776
  var newPath = getParentPath(this.parent.path);
10737
10777
  this.parent.setProperties({ path: newPath }, true);
10738
10778
  this.parent.pathId.pop();
@@ -12694,5 +12734,5 @@ var DetailsView = /** @__PURE__ @class */ (function () {
12694
12734
  return DetailsView;
12695
12735
  }());
12696
12736
 
12697
- export { ACTIVE, ALT_DIALOG_ID, AjaxSettings, BLUR, BREADCRUMBBAR_ID, BREADCRUMBS, BreadCrumbBar, CB_WRAP, CHECK, CHECK_SELECT, CLONE, COLLAPSED, CONTENT_ID, CONTEXT_MENU_ID, CONTROL, Column, ContextMenu, ContextMenuSettings, DETAILS_LABEL, DIALOG_ID, DISPLAY_NONE, DROP_FILE, DROP_FOLDER, Delete, DetailsView, DetailsViewSettings, Download, EMPTY, EMPTY_CONTENT, EMPTY_INNER_CONTENT, ERROR_CONTENT, EXTN_DIALOG_ID, FILTER, FOCUS, FOCUSED, FOLDER, FRAME, FULLROW, FileManager, GRID_CONTENT, GRID_HEADER, GRID_ID, GRID_VIEW, GetDetails, HEADER_CHECK, HOVER, ICONS, ICON_BREADCRUMB, ICON_CLEAR, ICON_COLLAPSIBLE, ICON_COPY, ICON_CUT, ICON_DELETE, ICON_DETAILS, ICON_DOWNLOAD, ICON_DROP_IN, ICON_DROP_OUT, ICON_GRID, ICON_IMAGE, ICON_LARGE, ICON_MUSIC, ICON_NEWFOLDER, ICON_NO_DROP, ICON_OPEN, ICON_OPTIONS, ICON_PASTE, ICON_REFRESH, ICON_RENAME, ICON_SELECTALL, ICON_SHORTBY, ICON_UPLOAD, ICON_VIDEO, ICON_VIEW, IMG_DIALOG_ID, LARGEICON_ID, LARGE_EMPTY_FOLDER, LARGE_EMPTY_FOLDER_TWO, LARGE_ICON, LARGE_ICONS, LARGE_ICON_FOLDER, LAYOUT, LAYOUT_CONTENT, LAYOUT_ID, LIST_ITEM, LIST_PARENT, LIST_TEXT, LargeIconsView, MENU_ICON, MENU_ITEM, MOBILE, MOB_POPUP, MULTI_SELECT, NAVIGATION, NAVIGATION_ID, NavigationPane, NavigationPaneSettings, OVERLAY, RETRY_DIALOG_ID, RETRY_ID, ROOT, ROOT_POPUP, ROW, ROWCELL, RTL, SEARCH_ID, SELECTED_ITEMS, SORTBY_ID, SPLITTER_ID, SPLIT_BAR, STATUS, SUBMENU_ICON, Search, SearchSettings, TB_ITEM, TB_OPTION_DOT, TB_OPTION_TICK, TEMPLATE_CELL, TEXT_CONTENT, TOOLBAR_ID, TREE_ID, TREE_VIEW, Toolbar, ToolbarItem, ToolbarSettings, UPLOAD_DIALOG_ID, UPLOAD_ID, UploadSettings, VALUE, VIEW_ID, Virtualization, actionFailure, activeElement, addBlur, afterRequest, beforeDelete, beforeDownload, beforeRequest, clearAllInit, clearPathInit, closePopup, columnArray, copyFiles, createDeniedDialog, createDialog, createEmptyElement, createEnd, createExtDialog, createFolder, createImageDialog, createNewFolder, createVirtualDragElement, cutCopyInit, cutEnd, cutFiles, defaultToolbarItems, deleteEnd, deleteInit, destroy, detailsInit, doDeleteFiles, doDownload, doDownloadFiles, doPasteUpdate, doRename, download, downloadInit, dragCancel, dragEnd, dragHelper, dragStartHandler, dragStopHandler, dragging, draggingHandler, dropHandler, dropInit, dropPath, fileItems, fileType, filter, filterEnd, finalizeEnd, folderItems, generatePath, getAccessClass, getAccessDetails, getCssClass, getDirectories, getDirectoryPath, getDuplicateData, getFullPath, getImageUrl, getItemName, getLocaleText, getModule, getName, getObject, getParentPath, getParents, getPath, getPathId, getPathNames, getPathObject, getSortField, getSortedData, getTargetModule, hasContentAccess, hasDownloadAccess, hasEditAccess, hasReadAccess, hasUploadAccess, hideLayout, hidePaste, initialEnd, isFile, isFileSystemData, layoutChange, layoutItems, layoutRefresh, menuItemData, methodCall, modelChanged, nodeExpand, objectToString, openAction, openEnd, openInit, openSearchFolder, paste, pasteEnd, pasteHandler, pasteInit, pathChanged, pathColumn, pathDrag, permissionCopy, permissionDownload, permissionEdit, permissionEditContents, permissionRead, permissionUpload, read, readDropPath, refresh, refreshEnd, removeActive, removeBlur, removeDropTarget, removeItemClass, rename, renameEnd, renameEndParent, renameInit, resizeEnd, scrollHandler, search, searchTextChange, searchWordHandler, selectAllInit, selectedData, selectionChanged, setDateObject, setNextPath, setNodeId, showPaste, skipUpload, sortByChange, sortColumn, sortComparer, sortbyClickHandler, splitterResize, treeSelect, updateLayout, updatePath, updateRenamingData, updateSelectionData, updateTreeSelection, upload, uploadItem, validateSubFolder };
12737
+ export { ACTIVE, ALT_DIALOG_ID, AjaxSettings, BLUR, BREADCRUMBBAR_ID, BREADCRUMBS, BreadCrumbBar, CB_WRAP, CHECK, CHECK_SELECT, CLONE, COLLAPSED, CONTENT_ID, CONTEXT_MENU_ID, CONTROL, Column, ContextMenu, ContextMenuSettings, DETAILS_LABEL, DIALOG_ID, DISPLAY_NONE, DROP_FILE, DROP_FOLDER, Delete, DetailsView, DetailsViewSettings, Download, EMPTY, EMPTY_CONTENT, EMPTY_INNER_CONTENT, ERROR_CONTENT, EXTN_DIALOG_ID, FILTER, FOCUS, FOCUSED, FOLDER, FRAME, FULLROW, FileManager, GRID_CONTENT, GRID_HEADER, GRID_ID, GRID_VIEW, GetDetails, HEADER_CHECK, HOVER, ICONS, ICON_BREADCRUMB, ICON_CLEAR, ICON_COLLAPSIBLE, ICON_COPY, ICON_CUT, ICON_DELETE, ICON_DETAILS, ICON_DOWNLOAD, ICON_DROP_IN, ICON_DROP_OUT, ICON_GRID, ICON_IMAGE, ICON_LARGE, ICON_MUSIC, ICON_NEWFOLDER, ICON_NO_DROP, ICON_OPEN, ICON_OPTIONS, ICON_PASTE, ICON_REFRESH, ICON_RENAME, ICON_SELECTALL, ICON_SHORTBY, ICON_UPLOAD, ICON_VIDEO, ICON_VIEW, IMG_DIALOG_ID, LARGEICON_ID, LARGE_EMPTY_FOLDER, LARGE_EMPTY_FOLDER_TWO, LARGE_ICON, LARGE_ICONS, LARGE_ICON_FOLDER, LAYOUT, LAYOUT_CONTENT, LAYOUT_ID, LIST_ITEM, LIST_PARENT, LIST_TEXT, LargeIconsView, MENU_ICON, MENU_ITEM, MOBILE, MOB_POPUP, MULTI_SELECT, NAVIGATION, NAVIGATION_ID, NavigationPane, NavigationPaneSettings, OVERLAY, RETRY_DIALOG_ID, RETRY_ID, ROOT, ROOT_POPUP, ROW, ROWCELL, RTL, SEARCH_ID, SELECTED_ITEMS, SORTBY_ID, SPLITTER_ID, SPLIT_BAR, STATUS, SUBMENU_ICON, Search, SearchSettings, TB_ITEM, TB_OPTION_DOT, TB_OPTION_TICK, TEMPLATE_CELL, TEXT_CONTENT, TOOLBAR_ID, TREE_ID, TREE_VIEW, Toolbar, ToolbarItem, ToolbarSettings, UPLOAD_DIALOG_ID, UPLOAD_ID, UploadSettings, VALUE, VIEW_ID, Virtualization, actionFailure, activeElement, addBlur, afterRequest, beforeDelete, beforeDownload, beforeRequest, clearAllInit, clearPathInit, closePopup, columnArray, copyFiles, createDeniedDialog, createDialog, createEmptyElement, createEnd, createExtDialog, createFolder, createImageDialog, createNewFolder, createVirtualDragElement, cutCopyInit, cutEnd, cutFiles, defaultToolbarItems, deleteEnd, deleteInit, destroy, detailsInit, doDeleteFiles, doDownload, doDownloadFiles, doPasteUpdate, doRename, download, downloadInit, dragCancel, dragEnd, dragHelper, dragStartHandler, dragStopHandler, dragging, draggingHandler, dropHandler, dropInit, dropPath, fileItems, fileType, filter, filterEnd, finalizeEnd, folderItems, generatePath, getAccessClass, getAccessDetails, getAllChildItems, getCssClass, getDirectories, getDirectoryPath, getDuplicateData, getFullPath, getImageUrl, getItemName, getLocaleText, getModule, getName, getObject, getParentPath, getParents, getPath, getPathId, getPathNames, getPathObject, getSortField, getSortedData, getTargetModule, hasContentAccess, hasDownloadAccess, hasEditAccess, hasReadAccess, hasUploadAccess, hideLayout, hidePaste, initialEnd, isFile, isFileSystemData, layoutChange, layoutItems, layoutRefresh, menuItemData, methodCall, modelChanged, nodeExpand, objectToString, openAction, openEnd, openInit, openSearchFolder, paste, pasteEnd, pasteHandler, pasteInit, pathChanged, pathColumn, pathDrag, permissionCopy, permissionDownload, permissionEdit, permissionEditContents, permissionRead, permissionUpload, read, readDropPath, refresh, refreshEnd, removeActive, removeBlur, removeDropTarget, removeItemClass, rename, renameEnd, renameEndParent, renameInit, resizeEnd, scrollHandler, search, searchTextChange, searchWordHandler, selectAllInit, selectedData, selectionChanged, setDateObject, setNextPath, setNodeId, showPaste, skipUpload, sortByChange, sortColumn, sortComparer, sortbyClickHandler, splitterResize, treeSelect, updateLayout, updatePath, updateRenamingData, updateSelectionData, updateTreeSelection, upload, uploadItem, validateSubFolder };
12698
12738
  //# sourceMappingURL=ej2-filemanager.es5.js.map