@syncfusion/ej2-filemanager 20.4.54 → 21.1.37

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 (69) hide show
  1. package/CHANGELOG.md +3 -39
  2. package/dist/ej2-filemanager.min.js +2 -2
  3. package/dist/ej2-filemanager.umd.min.js +2 -2
  4. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-filemanager.es2015.js +72 -28
  6. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  7. package/dist/es6/ej2-filemanager.es5.js +72 -28
  8. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  9. package/dist/global/ej2-filemanager.min.js +2 -2
  10. package/dist/global/ej2-filemanager.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +16 -16
  13. package/src/file-manager/base/file-manager.js +4 -2
  14. package/src/file-manager/base/interface.d.ts +130 -5
  15. package/src/file-manager/layout/details-view.js +11 -1
  16. package/src/file-manager/layout/navigation-pane.d.ts +1 -0
  17. package/src/file-manager/layout/navigation-pane.js +49 -21
  18. package/src/file-manager/models/details-view-settings.js +1 -1
  19. package/src/file-manager/models/search-settings.d.ts +13 -1
  20. package/src/file-manager/pop-up/context-menu.js +7 -3
  21. package/styles/bootstrap-dark.css +2 -5
  22. package/styles/bootstrap.css +1 -4
  23. package/styles/bootstrap4.css +1 -4
  24. package/styles/bootstrap5-dark.css +3 -5
  25. package/styles/bootstrap5.css +3 -5
  26. package/styles/fabric-dark.css +1 -4
  27. package/styles/fabric.css +1 -4
  28. package/styles/file-manager/_bootstrap-dark-definition.scss +2 -0
  29. package/styles/file-manager/_bootstrap-definition.scss +2 -0
  30. package/styles/file-manager/_bootstrap4-definition.scss +2 -0
  31. package/styles/file-manager/_bootstrap5-definition.scss +13 -11
  32. package/styles/file-manager/_fabric-dark-definition.scss +2 -0
  33. package/styles/file-manager/_fabric-definition.scss +2 -0
  34. package/styles/file-manager/_fluent-definition.scss +13 -11
  35. package/styles/file-manager/_fusionnew-definition.scss +2 -0
  36. package/styles/file-manager/_highcontrast-definition.scss +2 -0
  37. package/styles/file-manager/_highcontrast-light-definition.scss +2 -0
  38. package/styles/file-manager/_layout.scss +74 -13
  39. package/styles/file-manager/_material-dark-definition.scss +2 -0
  40. package/styles/file-manager/_material-definition.scss +2 -0
  41. package/styles/file-manager/_tailwind-definition.scss +14 -12
  42. package/styles/file-manager/_theme.scss +15 -3
  43. package/styles/file-manager/bootstrap-dark.css +2 -5
  44. package/styles/file-manager/bootstrap.css +1 -4
  45. package/styles/file-manager/bootstrap4.css +1 -4
  46. package/styles/file-manager/bootstrap5-dark.css +3 -5
  47. package/styles/file-manager/bootstrap5.css +3 -5
  48. package/styles/file-manager/fabric-dark.css +1 -4
  49. package/styles/file-manager/fabric.css +1 -4
  50. package/styles/file-manager/fluent-dark.css +2 -5
  51. package/styles/file-manager/fluent.css +2 -5
  52. package/styles/file-manager/highcontrast-light.css +1 -4
  53. package/styles/file-manager/highcontrast.css +1 -4
  54. package/styles/file-manager/material-dark.css +2 -6
  55. package/styles/file-manager/material.css +1 -4
  56. package/styles/file-manager/tailwind-dark.css +3 -5
  57. package/styles/file-manager/tailwind.css +3 -5
  58. package/styles/fluent-dark.css +2 -5
  59. package/styles/fluent.css +2 -5
  60. package/styles/highcontrast-light.css +1 -4
  61. package/styles/highcontrast.css +1 -4
  62. package/styles/material-dark.css +2 -6
  63. package/styles/material.css +1 -4
  64. package/styles/tailwind-dark.css +3 -5
  65. package/styles/tailwind.css +3 -5
  66. package/src/file-manager/models/virtualization-settings-model.d.ts +0 -29
  67. package/src/file-manager/models/virtualization-settings.d.ts +0 -24
  68. package/src/file-manager/models/virtualization-settings.js +0 -40
  69. package/styles/file-manager/_material3-definition.scss +0 -237
@@ -163,7 +163,7 @@ var columnArray = [
163
163
  format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190'
164
164
  },
165
165
  {
166
- field: 'size', headerText: 'Size', minWidth: 90, width: '110', template: '<span class="e-fe-size">${size}</span>'
166
+ field: 'size', headerText: 'Size', minWidth: 90, width: '110', template: '<span class="e-fe-size">${size}</span>', format: 'n2'
167
167
  }
168
168
  ];
169
169
  /**
@@ -6109,10 +6109,11 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
6109
6109
  this.menuType = 'folder';
6110
6110
  this.contextMenu.items = this.getItemData(this.parent.contextMenuSettings.folder.map(function (item) { return item.trim(); }));
6111
6111
  this.contextMenu.dataBind();
6112
- if (isTree) {
6112
+ var selectedTreeNode = select('[data-uid="' + this.parent.navigationpaneModule.treeObj.selectedNodes[0] + '"]', this.parent.navigationpaneModule.treeObj.element);
6113
+ if (this.parent.pathNames[this.parent.pathNames.length - 1] === selectedTreeNode.querySelector('.e-list-text').innerHTML && this.parent.activeModule === 'navigationpane') {
6113
6114
  this.disabledItems.push('Open');
6114
6115
  }
6115
- else if (this.parent.selectedItems.length !== 1) {
6116
+ else if (this.parent.selectedItems.length !== 1 && this.parent.activeModule !== 'navigationpane') {
6116
6117
  this.disabledItems.push('Rename', 'Paste');
6117
6118
  }
6118
6119
  };
@@ -6256,10 +6257,13 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
6256
6257
  refresh(_this.parent);
6257
6258
  break;
6258
6259
  case 'open':
6259
- if (_this.parent.visitedItem) {
6260
+ if (_this.parent.visitedItem && _this.parent.activeModule !== 'navigationpane') {
6260
6261
  _this.parent.notify(openInit, { target: _this.parent.visitedItem });
6261
6262
  }
6262
6263
  else if (_this.parent.activeModule === 'navigationpane') {
6264
+ if (_this.parent.visitedItem) {
6265
+ _this.parent.notify(openInit, { target: _this.parent.visitedItem });
6266
+ }
6263
6267
  _this.parent.navigationpaneModule.openFileOnContextMenuClick(closest(_this.targetNodeElement, 'li'));
6264
6268
  }
6265
6269
  break;
@@ -7216,8 +7220,10 @@ var FileManager = /** @__PURE__ @class */ (function (_super) {
7216
7220
  break;
7217
7221
  case 'ctrlU':
7218
7222
  e.preventDefault();
7219
- uploadEle = select('#' + this.element.id + UPLOAD_ID, this.element);
7220
- uploadEle.click();
7223
+ if (this.toolbarSettings.items.indexOf('Upload') != -1) {
7224
+ uploadEle = select('#' + this.element.id + UPLOAD_ID, this.element);
7225
+ uploadEle.click();
7226
+ }
7221
7227
  break;
7222
7228
  }
7223
7229
  };
@@ -8606,6 +8612,7 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8606
8612
  this.isPathDragged = false;
8607
8613
  this.isRenameParent = false;
8608
8614
  this.isRightClick = false;
8615
+ this.isSameNodeClicked = false;
8609
8616
  this.renameParent = null;
8610
8617
  // Specifies the previously selected nodes in the treeview control.
8611
8618
  this.previousSelected = null;
@@ -8761,7 +8768,7 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8761
8768
  };
8762
8769
  // Node Selecting event handler
8763
8770
  NavigationPane.prototype.onNodeSelecting = function (args) {
8764
- if (!args.isInteracted && !this.isRightClick && !this.isPathDragged && !this.isRenameParent || this.restrictSelecting) {
8771
+ if (!args.isInteracted && !this.isRightClick && !this.isSameNodeClicked && !this.isPathDragged && !this.isRenameParent || this.restrictSelecting) {
8765
8772
  this.restrictSelecting = false;
8766
8773
  this.isNodeClickCalled = false;
8767
8774
  return;
@@ -8770,18 +8777,29 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8770
8777
  this.parent.activeModule = 'navigationpane';
8771
8778
  // eslint-disable-next-line
8772
8779
  var nodeData = this.getTreeData(getValue('id', args.nodeData));
8773
- var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
8774
- this.parent.trigger('fileOpen', eventArgs);
8775
- var selecEventArgs = { action: args.action, fileDetails: nodeData[0], isInteracted: args.isInteracted };
8776
- this.parent.trigger('fileSelect', selecEventArgs);
8777
- args.cancel = eventArgs.cancel;
8778
- if (args.cancel) {
8779
- this.restrictSelecting = this.isNodeClickCalled ? this.previousSelected[0] !== args.node.getAttribute('data-uid') : false;
8780
- this.previousSelected = this.treeObj.selectedNodes;
8781
- this.treeObj.selectedNodes = [args.node.getAttribute("data-uid")];
8782
- if (!isNullOrUndefined(this.parent) && !isNullOrUndefined(this.parent.contextmenuModule)) {
8783
- this.parent.contextmenuModule.contextMenu.enableItems(['Open'], true);
8780
+ if (args.node.getAttribute('data-uid') !== this.parent.pathId[this.parent.pathId.length - 1] && !this.isRightClick && !this.isNodeClickCalled || this.isSameNodeClicked) {
8781
+ this.isNodeClickCalled = false;
8782
+ if (!this.isSameNodeClicked) {
8783
+ this.isSameNodeClicked = true;
8784
+ var selecEventArgs = { action: args.action, fileDetails: nodeData[0], isInteracted: args.isInteracted };
8785
+ this.parent.trigger('fileSelect', selecEventArgs);
8786
+ }
8787
+ if (!this.isRightClick) {
8788
+ var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
8789
+ this.parent.trigger('fileOpen', eventArgs);
8790
+ args.cancel = eventArgs.cancel;
8784
8791
  }
8792
+ if (args.cancel) {
8793
+ this.restrictSelecting = this.isNodeClickCalled ? this.previousSelected[0] !== args.node.getAttribute('data-uid') : false;
8794
+ this.isNodeClickCalled = true;
8795
+ this.isSameNodeClicked = false;
8796
+ this.previousSelected = this.treeObj.selectedNodes;
8797
+ this.treeObj.selectedNodes = [args.node.getAttribute("data-uid")];
8798
+ }
8799
+ }
8800
+ else if (this.previousSelected[0] !== args.node.getAttribute('data-uid')) {
8801
+ var selecEventArgs = { action: args.action, fileDetails: nodeData[0], isInteracted: args.isInteracted };
8802
+ this.parent.trigger('fileSelect', selecEventArgs);
8785
8803
  }
8786
8804
  }
8787
8805
  };
@@ -8793,19 +8811,25 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8793
8811
  this.parent.itemData = data;
8794
8812
  this.activeNode = node;
8795
8813
  this.parent.activeModule = 'navigationpane';
8796
- updatePath(node, this.parent.itemData[0], this.parent);
8797
- read(this.parent, this.isPathDragged ? pasteEnd : pathChanged, this.parent.path);
8798
- this.parent.visitedItem = node;
8799
- this.isPathDragged = this.isRenameParent = this.isRightClick = false;
8800
- this.treeObj.selectedNodes = [node.getAttribute('data-uid')];
8814
+ var eventArgs = { cancel: false, fileDetails: data[0], module: 'NavigationPane' };
8815
+ this.parent.trigger('fileOpen', eventArgs);
8816
+ this.isNodeClickCalled = true;
8817
+ if (!eventArgs.cancel) {
8818
+ updatePath(node, this.parent.itemData[0], this.parent);
8819
+ read(this.parent, this.isPathDragged ? pasteEnd : pathChanged, this.parent.path);
8820
+ this.parent.visitedItem = node;
8821
+ this.isPathDragged = this.isRenameParent = this.isRightClick = false;
8822
+ this.treeObj.selectedNodes = [node.getAttribute('data-uid')];
8823
+ }
8801
8824
  };
8802
8825
  NavigationPane.prototype.onNodeSelected = function (args) {
8803
8826
  if (this.parent.breadcrumbbarModule && this.parent.breadcrumbbarModule.searchObj && !this.renameParent) {
8804
8827
  this.parent.breadcrumbbarModule.searchObj.element.value = '';
8805
8828
  this.parent.isFiltered = false;
8829
+ this.isNodeClickCalled = false;
8806
8830
  }
8807
8831
  this.parent.searchedItems = [];
8808
- if (!args.isInteracted && !this.isRightClick && !this.isPathDragged && !this.isRenameParent) {
8832
+ if (!args.isInteracted && !this.isRightClick && !this.isSameNodeClicked && !this.isPathDragged && !this.isRenameParent) {
8809
8833
  this.parent.pathId = getPathId(args.node);
8810
8834
  return;
8811
8835
  }
@@ -8816,7 +8840,8 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8816
8840
  this.parent.selectedItems = [];
8817
8841
  this.parent.itemData = nodeData;
8818
8842
  var previousPath = this.parent.path;
8819
- if (!this.isRightClick) {
8843
+ var sNode = select('[data-uid="' + this.treeObj.selectedNodes[0] + '"]', this.treeObj.element);
8844
+ if (!this.isRightClick && this.isSameNodeClicked && sNode.querySelector('.e-list-text').innerHTML !== this.parent.pathNames[this.parent.pathNames.length - 1]) {
8820
8845
  updatePath(args.node, this.parent.itemData[0], this.parent);
8821
8846
  }
8822
8847
  else {
@@ -8828,12 +8853,13 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8828
8853
  if (args.node.querySelector('.' + ICONS) && args.node.querySelector('.' + LIST_ITEM) === null) {
8829
8854
  this.expandNodeTarget = 'add';
8830
8855
  }
8831
- if (!this.isRightClick) {
8856
+ if (!this.isRightClick && this.isSameNodeClicked) {
8832
8857
  read(this.parent, this.isPathDragged ? pasteEnd : pathChanged, this.parent.path);
8858
+ this.isNodeClickCalled = true;
8833
8859
  }
8834
8860
  this.parent.visitedItem = args.node;
8835
8861
  }
8836
- this.isPathDragged = this.isRenameParent = this.isRightClick = false;
8862
+ this.isPathDragged = this.isRenameParent = this.isRightClick = this.isSameNodeClicked = false;
8837
8863
  };
8838
8864
  /* istanbul ignore next */
8839
8865
  // eslint-disable-next-line
@@ -8877,6 +8903,14 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
8877
8903
  var layout = (this.parent.view === 'LargeIcons') ? 'largeiconsview' : 'detailsview';
8878
8904
  this.parent.notify(modelChanged, { module: layout, newProp: { selectedItems: [] } });
8879
8905
  }
8906
+ else if (args.node.getAttribute('data-uid') === this.treeObj.selectedNodes[0] && !this.isNodeClickCalled) {
8907
+ if (args.event.which === 3) {
8908
+ this.isRightClick = true;
8909
+ }
8910
+ this.isSameNodeClicked = true;
8911
+ this.isNodeClickCalled = true;
8912
+ this.treeObj.selectedNodes = [args.node.getAttribute('data-uid')];
8913
+ }
8880
8914
  };
8881
8915
  /* istanbul ignore next */
8882
8916
  NavigationPane.prototype.onNodeEditing = function (args) {
@@ -9706,7 +9740,17 @@ var DetailsView = /** @__PURE__ @class */ (function () {
9706
9740
  else {
9707
9741
  var sizeValue = getValue('size', args.data);
9708
9742
  var intl = new Internationalization(this.parent.locale);
9709
- var value = intl.formatNumber((sizeValue / 1024), { format: 'n' });
9743
+ var sizeFormat = void 0;
9744
+ var columns = this.parent.detailsViewSettings.columns;
9745
+ for (var i = 0; i < columns.length; i++) {
9746
+ if (columns[i].field === 'size') {
9747
+ sizeFormat = columns[i].format.toString();
9748
+ break;
9749
+ }
9750
+ }
9751
+ var value = intl.formatNumber((sizeValue / 1024), { format: sizeFormat });
9752
+ var num = Number(value.replace(/,/g, ''));
9753
+ value = num.toLocaleString(intl.culture);
9710
9754
  modifiedSize = value + ' ' + getLocaleText(this.parent, 'KB');
9711
9755
  }
9712
9756
  sizeEle.innerHTML = modifiedSize;