@syncfusion/ej2-filemanager 19.4.43 → 19.4.51

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 (50) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +1 -1
  3. package/dist/ej2-filemanager.umd.min.js +1 -10
  4. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-filemanager.es2015.js +44 -20
  6. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  7. package/dist/es6/ej2-filemanager.es5.js +44 -20
  8. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  9. package/dist/global/ej2-filemanager.min.js +1 -10
  10. package/dist/global/ej2-filemanager.min.js.map +1 -1
  11. package/dist/global/index.d.ts +0 -9
  12. package/package.json +71 -72
  13. package/src/file-manager/base/file-manager-model.d.ts +2 -1
  14. package/src/file-manager/base/file-manager.d.ts +3 -0
  15. package/src/file-manager/base/file-manager.js +8 -0
  16. package/src/file-manager/base/interface.d.ts +1 -0
  17. package/src/file-manager/common/utility.js +8 -1
  18. package/src/file-manager/layout/large-icons-view.d.ts +1 -1
  19. package/src/file-manager/layout/navigation-pane.js +25 -16
  20. package/src/file-manager/models/navigation-pane-settings-model.d.ts +11 -0
  21. package/src/file-manager/models/navigation-pane-settings.d.ts +10 -0
  22. package/src/file-manager/models/navigation-pane-settings.js +3 -0
  23. package/src/file-manager/pop-up/context-menu.js +0 -3
  24. package/styles/bootstrap-dark.css +4 -0
  25. package/styles/bootstrap.css +4 -0
  26. package/styles/bootstrap4.css +4 -0
  27. package/styles/bootstrap5-dark.css +4 -0
  28. package/styles/bootstrap5.css +4 -0
  29. package/styles/fabric-dark.css +4 -0
  30. package/styles/fabric.css +4 -0
  31. package/styles/file-manager/_layout.scss +6 -0
  32. package/styles/file-manager/bootstrap-dark.css +4 -0
  33. package/styles/file-manager/bootstrap.css +4 -0
  34. package/styles/file-manager/bootstrap4.css +4 -0
  35. package/styles/file-manager/bootstrap5-dark.css +4 -0
  36. package/styles/file-manager/bootstrap5.css +4 -0
  37. package/styles/file-manager/fabric-dark.css +4 -0
  38. package/styles/file-manager/fabric.css +4 -0
  39. package/styles/file-manager/highcontrast-light.css +4 -0
  40. package/styles/file-manager/highcontrast.css +4 -0
  41. package/styles/file-manager/material-dark.css +4 -0
  42. package/styles/file-manager/material.css +4 -0
  43. package/styles/file-manager/tailwind-dark.css +4 -0
  44. package/styles/file-manager/tailwind.css +4 -0
  45. package/styles/highcontrast-light.css +4 -0
  46. package/styles/highcontrast.css +4 -0
  47. package/styles/material-dark.css +4 -0
  48. package/styles/material.css +4 -0
  49. package/styles/tailwind-dark.css +4 -0
  50. package/styles/tailwind.css +4 -0
@@ -266,6 +266,9 @@ var NavigationPaneSettings = /** @__PURE__ @class */ (function (_super) {
266
266
  __decorate$5([
267
267
  Property(true)
268
268
  ], NavigationPaneSettings.prototype, "visible", void 0);
269
+ __decorate$5([
270
+ Property('None')
271
+ ], NavigationPaneSettings.prototype, "sortOrder", void 0);
269
272
  return NavigationPaneSettings;
270
273
  }(ChildProperty));
271
274
 
@@ -1019,7 +1022,13 @@ function searchWordHandler(parent, value, isLayoutChange) {
1019
1022
  }
1020
1023
  else {
1021
1024
  if (!parent.isFiltered) {
1022
- read(parent, isLayoutChange ? layoutChange : search, parent.path);
1025
+ if (parent.isSortByClicked) {
1026
+ parent.notify(layoutChange, { files: parent.largeiconsviewModule.items });
1027
+ parent.isSortByClicked = false;
1028
+ }
1029
+ else {
1030
+ read(parent, isLayoutChange ? layoutChange : search, parent.path);
1031
+ }
1023
1032
  }
1024
1033
  else {
1025
1034
  filter(parent, layoutChange);
@@ -1430,6 +1439,7 @@ function getCssClass(parent, css) {
1430
1439
  */
1431
1440
  function sortbyClickHandler(parent, args) {
1432
1441
  var tick;
1442
+ parent.isSortByClicked = true;
1433
1443
  if (args.item.id.indexOf('ascending') !== -1 || args.item.id.indexOf('descending') !== -1 || args.item.id.indexOf('none') !== -1) {
1434
1444
  tick = true;
1435
1445
  }
@@ -5862,9 +5872,6 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
5862
5872
  target = this.parent.navigationpaneModule.activeNode.getElementsByClassName(FULLROW)[0];
5863
5873
  this.menuTarget = this.targetNodeElement = target;
5864
5874
  }
5865
- if (target.classList.contains(FULLROW)) {
5866
- this.parent.selectedItems.length = 0;
5867
- }
5868
5875
  this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr.e-row') : target;
5869
5876
  var view = this.getTargetView(target);
5870
5877
  this.updateActiveModule();
@@ -6551,6 +6558,8 @@ var FileManager = /** @__PURE__ @class */ (function (_super) {
6551
6558
  _this.folderPath = '';
6552
6559
  _this.isSameAction = false;
6553
6560
  _this.isFiltered = false;
6561
+ // Specifies whether the sort by option is clicked or not.
6562
+ _this.isSortByClicked = false;
6554
6563
  _this.enablePaste = false;
6555
6564
  _this.persistData = false;
6556
6565
  _this.retryArgs = [];
@@ -6881,6 +6890,7 @@ var FileManager = /** @__PURE__ @class */ (function (_super) {
6881
6890
  enableRtl: this.enableRtl,
6882
6891
  uploading: this.onUploading.bind(this),
6883
6892
  removing: this.onRemoving.bind(this),
6893
+ canceling: this.onCancel.bind(this),
6884
6894
  clearing: this.onClearing.bind(this),
6885
6895
  selected: this.onSelected.bind(this),
6886
6896
  success: this.onUploadSuccess.bind(this),
@@ -6988,6 +6998,11 @@ var FileManager = /** @__PURE__ @class */ (function (_super) {
6988
6998
  }
6989
6999
  };
6990
7000
  /* istanbul ignore next */
7001
+ FileManager.prototype.onCancel = function (args) {
7002
+ var data = JSON.stringify(getValue(this.pathId[this.pathId.length - 1], this.feParent));
7003
+ args.customFormData = [{ 'path': this.path }, { 'action': 'remove' }, { 'data': data }];
7004
+ };
7005
+ /* istanbul ignore next */
6991
7006
  FileManager.prototype.onClearing = function () {
6992
7007
  if (this.isOpened) {
6993
7008
  this.uploadDialogObj.hide();
@@ -8288,6 +8303,7 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8288
8303
  hasChildren: 'hasChild', iconCss: '_fm_icon', htmlAttributes: '_fm_htmlAttr', tooltip: 'name'
8289
8304
  },
8290
8305
  enableHtmlSanitizer: this.parent.enableHtmlSanitizer,
8306
+ sortOrder: this.parent.navigationPaneSettings.sortOrder,
8291
8307
  nodeSelecting: this.onNodeSelecting.bind(this),
8292
8308
  nodeSelected: this.onNodeSelected.bind(this),
8293
8309
  nodeExpanding: this.onNodeExpand.bind(this),
@@ -8398,6 +8414,7 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8398
8414
  NavigationPane.prototype.onNodeSelecting = function (args) {
8399
8415
  if (!args.isInteracted && !this.isRightClick && !this.isPathDragged && !this.isRenameParent || this.restrictSelecting) {
8400
8416
  this.restrictSelecting = false;
8417
+ this.isNodeClickCalled = false;
8401
8418
  return;
8402
8419
  }
8403
8420
  if (!this.renameParent) {
@@ -8405,13 +8422,12 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8405
8422
  // eslint-disable-next-line
8406
8423
  var nodeData = this.getTreeData(getValue('id', args.nodeData));
8407
8424
  var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
8408
- delete eventArgs.cancel;
8409
8425
  this.parent.trigger('fileOpen', eventArgs);
8410
8426
  args.cancel = eventArgs.cancel;
8411
8427
  if (args.cancel) {
8412
- this.restrictSelecting = true;
8428
+ this.restrictSelecting = this.isNodeClickCalled ? this.previousSelected[0] != args.node.getAttribute('data-uid') : false;
8413
8429
  this.treeObj.selectedNodes = this.isNodeClickCalled ? this.previousSelected : this.treeObj.selectedNodes;
8414
- this.isNodeClickCalled = false;
8430
+ this.previousSelected = this.treeObj.selectedNodes;
8415
8431
  if (!isNullOrUndefined(this.parent) && !isNullOrUndefined(this.parent.contextmenuModule)) {
8416
8432
  this.parent.contextmenuModule.contextMenu.enableItems(['Open'], true);
8417
8433
  }
@@ -8447,13 +8463,16 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8447
8463
  var nodeData = this.getTreeData(getValue('id', args.nodeData));
8448
8464
  this.parent.selectedItems = [];
8449
8465
  this.parent.itemData = nodeData;
8466
+ var previousPath = this.parent.path;
8450
8467
  updatePath(args.node, this.parent.itemData[0], this.parent);
8451
- this.expandNodeTarget = null;
8452
- if (args.node.querySelector('.' + ICONS) && args.node.querySelector('.' + LIST_ITEM) === null) {
8453
- this.expandNodeTarget = 'add';
8468
+ if (previousPath !== this.parent.path) {
8469
+ this.expandNodeTarget = null;
8470
+ if (args.node.querySelector('.' + ICONS) && args.node.querySelector('.' + LIST_ITEM) === null) {
8471
+ this.expandNodeTarget = 'add';
8472
+ }
8473
+ read(this.parent, this.isPathDragged ? pasteEnd : pathChanged, this.parent.path);
8474
+ this.parent.visitedItem = args.node;
8454
8475
  }
8455
- read(this.parent, this.isPathDragged ? pasteEnd : pathChanged, this.parent.path);
8456
- this.parent.visitedItem = args.node;
8457
8476
  this.isPathDragged = this.isRenameParent = this.isRightClick = false;
8458
8477
  };
8459
8478
  /* istanbul ignore next */
@@ -8486,11 +8505,11 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8486
8505
  };
8487
8506
  NavigationPane.prototype.onNodeClicked = function (args) {
8488
8507
  this.parent.activeModule = 'navigationpane';
8508
+ this.previousSelected = this.treeObj.selectedNodes;
8489
8509
  this.activeNode = args.node;
8490
8510
  if ((args.event.which === 3) && (args.node.getAttribute('data-uid') !== this.treeObj.selectedNodes[0])) {
8491
8511
  this.isRightClick = true;
8492
8512
  this.isNodeClickCalled = true;
8493
- this.previousSelected = this.treeObj.selectedNodes;
8494
8513
  this.treeObj.selectedNodes = [args.node.getAttribute('data-uid')];
8495
8514
  }
8496
8515
  else if (args.node.getAttribute('data-uid') === this.treeObj.selectedNodes[0] && this.parent.selectedItems.length !== 0) {
@@ -8677,6 +8696,9 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8677
8696
  break;
8678
8697
  case 'navigationPaneSettings':
8679
8698
  read(this.parent, finalizeEnd, '/');
8699
+ if (e.oldProp.navigationPaneSettings.sortOrder !== e.newProp.navigationPaneSettings.sortOrder) {
8700
+ this.treeObj.sortOrder = e.newProp.navigationPaneSettings.sortOrder;
8701
+ }
8680
8702
  break;
8681
8703
  }
8682
8704
  }
@@ -8969,13 +8991,15 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8969
8991
  removeActive(this.parent);
8970
8992
  break;
8971
8993
  case 'del':
8972
- this.updateItemData();
8973
- if (!hasEditAccess(this.parent.itemData[0])) {
8974
- createDeniedDialog(this.parent, this.parent.itemData[0], permissionEdit);
8975
- }
8976
- else {
8977
- this.removeNodes = [];
8978
- createDialog(this.parent, 'Delete');
8994
+ if (this.parent.pathId[0] !== this.activeNode.getAttribute('data-uid')) {
8995
+ this.updateItemData();
8996
+ if (!hasEditAccess(this.parent.itemData[0])) {
8997
+ createDeniedDialog(this.parent, this.parent.itemData[0], permissionEdit);
8998
+ }
8999
+ else {
9000
+ this.removeNodes = [];
9001
+ createDialog(this.parent, 'Delete');
9002
+ }
8979
9003
  }
8980
9004
  break;
8981
9005
  case 'ctrlC':