@syncfusion/ej2-filemanager 20.1.52-10459 → 20.1.52-10460

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 (203) hide show
  1. package/.eslintrc.json +3 -20
  2. package/CHANGELOG.md +410 -0
  3. package/README.md +43 -54
  4. package/dist/ej2-filemanager.umd.min.js +10 -1
  5. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-filemanager.es2015.js +659 -2353
  7. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  8. package/dist/es6/ej2-filemanager.es5.js +708 -2421
  9. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  10. package/dist/global/ej2-filemanager.min.js +10 -1
  11. package/dist/global/ej2-filemanager.min.js.map +1 -1
  12. package/dist/global/index.d.ts +9 -0
  13. package/helpers/e2e/filemanagerHelper.js +166 -183
  14. package/package.json +71 -71
  15. package/src/file-manager/actions/breadcrumb-bar.js +5 -1
  16. package/src/file-manager/actions/index.d.ts +0 -1
  17. package/src/file-manager/actions/index.js +0 -1
  18. package/src/file-manager/actions/toolbar.d.ts +0 -1
  19. package/src/file-manager/actions/toolbar.js +17 -129
  20. package/src/file-manager/base/file-manager-model.d.ts +28 -154
  21. package/src/file-manager/base/file-manager.d.ts +27 -176
  22. package/src/file-manager/base/file-manager.js +28 -244
  23. package/src/file-manager/base/interface.d.ts +3 -329
  24. package/src/file-manager/base/interface.js +1 -0
  25. package/src/file-manager/common/operations.d.ts +0 -7
  26. package/src/file-manager/common/operations.js +185 -830
  27. package/src/file-manager/common/utility.d.ts +3 -46
  28. package/src/file-manager/common/utility.js +73 -249
  29. package/src/file-manager/index.d.ts +0 -1
  30. package/src/file-manager/index.js +0 -1
  31. package/src/file-manager/layout/details-view.d.ts +0 -10
  32. package/src/file-manager/layout/details-view.js +94 -203
  33. package/src/file-manager/layout/large-icons-view.d.ts +2 -4
  34. package/src/file-manager/layout/large-icons-view.js +72 -121
  35. package/src/file-manager/layout/navigation-pane.d.ts +0 -2
  36. package/src/file-manager/layout/navigation-pane.js +73 -97
  37. package/src/file-manager/models/column-model.d.ts +5 -23
  38. package/src/file-manager/models/column.d.ts +2 -21
  39. package/src/file-manager/models/column.js +0 -6
  40. package/src/file-manager/models/default-locale.js +1 -0
  41. package/src/file-manager/models/details-view-settings-model.d.ts +1 -1
  42. package/src/file-manager/models/details-view-settings.js +3 -8
  43. package/src/file-manager/models/search-settings.d.ts +0 -5
  44. package/src/file-manager/models/toolbar-settings-model.d.ts +2 -177
  45. package/src/file-manager/models/toolbar-settings.d.ts +2 -157
  46. package/src/file-manager/models/toolbar-settings.js +2 -64
  47. package/src/file-manager/models/upload-settings-model.d.ts +0 -13
  48. package/src/file-manager/models/upload-settings.d.ts +0 -12
  49. package/src/file-manager/models/upload-settings.js +0 -3
  50. package/src/file-manager/pop-up/context-menu.d.ts +1 -2
  51. package/src/file-manager/pop-up/context-menu.js +36 -111
  52. package/src/file-manager/pop-up/dialog.d.ts +2 -1
  53. package/src/file-manager/pop-up/dialog.js +40 -19
  54. package/src/global.js +1 -1
  55. package/styles/bootstrap-dark.css +665 -371
  56. package/styles/bootstrap-dark.scss +1 -17
  57. package/styles/bootstrap.css +644 -353
  58. package/styles/bootstrap.scss +1 -17
  59. package/styles/bootstrap4.css +680 -381
  60. package/styles/bootstrap4.scss +1 -17
  61. package/styles/bootstrap5-dark.css +694 -376
  62. package/styles/bootstrap5-dark.scss +1 -17
  63. package/styles/bootstrap5.css +695 -377
  64. package/styles/bootstrap5.scss +1 -17
  65. package/styles/fabric-dark.css +642 -358
  66. package/styles/fabric-dark.scss +1 -17
  67. package/styles/fabric.css +641 -357
  68. package/styles/fabric.scss +1 -17
  69. package/styles/file-manager/_all.scss +1 -1
  70. package/styles/file-manager/_bootstrap-dark-definition.scss +2 -6
  71. package/styles/file-manager/_bootstrap-definition.scss +2 -6
  72. package/styles/file-manager/_bootstrap4-definition.scss +2 -6
  73. package/styles/file-manager/_bootstrap5-definition.scss +15 -20
  74. package/styles/file-manager/_fabric-dark-definition.scss +2 -6
  75. package/styles/file-manager/_fabric-definition.scss +2 -6
  76. package/styles/file-manager/_fluent-definition.scss +15 -18
  77. package/styles/file-manager/_highcontrast-definition.scss +2 -6
  78. package/styles/file-manager/_highcontrast-light-definition.scss +2 -6
  79. package/styles/file-manager/_layout.scss +932 -369
  80. package/styles/file-manager/_material-dark-definition.scss +2 -7
  81. package/styles/file-manager/_material-definition.scss +2 -7
  82. package/styles/file-manager/_tailwind-definition.scss +16 -20
  83. package/styles/file-manager/_theme.scss +102 -123
  84. package/styles/file-manager/bootstrap-dark.css +665 -371
  85. package/styles/file-manager/bootstrap-dark.scss +1 -2
  86. package/styles/file-manager/bootstrap.css +644 -353
  87. package/styles/file-manager/bootstrap.scss +1 -2
  88. package/styles/file-manager/bootstrap4.css +680 -381
  89. package/styles/file-manager/bootstrap4.scss +1 -2
  90. package/styles/file-manager/bootstrap5-dark.css +694 -376
  91. package/styles/file-manager/bootstrap5-dark.scss +1 -2
  92. package/styles/file-manager/bootstrap5.css +695 -377
  93. package/styles/file-manager/bootstrap5.scss +1 -2
  94. package/styles/file-manager/fabric-dark.css +642 -358
  95. package/styles/file-manager/fabric-dark.scss +1 -2
  96. package/styles/file-manager/fabric.css +641 -357
  97. package/styles/file-manager/fabric.scss +1 -2
  98. package/styles/file-manager/fluent-dark.css +641 -356
  99. package/styles/file-manager/fluent-dark.scss +1 -2
  100. package/styles/file-manager/fluent.css +640 -355
  101. package/styles/file-manager/fluent.scss +1 -2
  102. package/styles/file-manager/highcontrast-light.css +644 -354
  103. package/styles/file-manager/highcontrast-light.scss +1 -2
  104. package/styles/file-manager/highcontrast.css +647 -377
  105. package/styles/file-manager/highcontrast.scss +1 -2
  106. package/styles/file-manager/icons/_bootstrap.scss +1 -0
  107. package/styles/file-manager/icons/_bootstrap4.scss +1 -0
  108. package/styles/file-manager/icons/_fabric-dark.scss +1 -0
  109. package/styles/file-manager/icons/_fabric.scss +1 -0
  110. package/styles/file-manager/material-dark.css +671 -392
  111. package/styles/file-manager/material-dark.scss +1 -2
  112. package/styles/file-manager/material.css +654 -391
  113. package/styles/file-manager/material.scss +1 -2
  114. package/styles/file-manager/tailwind-dark.css +667 -350
  115. package/styles/file-manager/tailwind-dark.scss +1 -2
  116. package/styles/file-manager/tailwind.css +667 -350
  117. package/styles/file-manager/tailwind.scss +1 -2
  118. package/styles/fluent-dark.css +641 -356
  119. package/styles/fluent-dark.scss +1 -17
  120. package/styles/fluent.css +640 -355
  121. package/styles/fluent.scss +1 -17
  122. package/styles/highcontrast-light.css +644 -354
  123. package/styles/highcontrast-light.scss +1 -17
  124. package/styles/highcontrast.css +647 -377
  125. package/styles/highcontrast.scss +1 -17
  126. package/styles/material-dark.css +671 -392
  127. package/styles/material-dark.scss +1 -17
  128. package/styles/material.css +654 -391
  129. package/styles/material.scss +1 -17
  130. package/styles/tailwind-dark.css +667 -350
  131. package/styles/tailwind-dark.scss +1 -17
  132. package/styles/tailwind.css +667 -350
  133. package/styles/tailwind.scss +1 -17
  134. package/dist/ej2-filemanager.min.js +0 -1
  135. package/src/file-manager/actions/virtualization.d.ts +0 -93
  136. package/src/file-manager/actions/virtualization.js +0 -279
  137. package/styles/bootstrap-dark-lite.css +0 -1058
  138. package/styles/bootstrap-dark-lite.scss +0 -16
  139. package/styles/bootstrap-lite.css +0 -1040
  140. package/styles/bootstrap-lite.scss +0 -16
  141. package/styles/bootstrap4-lite.css +0 -1068
  142. package/styles/bootstrap4-lite.scss +0 -16
  143. package/styles/bootstrap5-dark-lite.css +0 -1078
  144. package/styles/bootstrap5-dark-lite.scss +0 -16
  145. package/styles/bootstrap5-lite.css +0 -1078
  146. package/styles/bootstrap5-lite.scss +0 -16
  147. package/styles/bootstrap5.3-lite.css +0 -1035
  148. package/styles/bootstrap5.3-lite.scss +0 -16
  149. package/styles/bootstrap5.3.css +0 -1603
  150. package/styles/bootstrap5.3.scss +0 -17
  151. package/styles/fabric-dark-lite.css +0 -1039
  152. package/styles/fabric-dark-lite.scss +0 -16
  153. package/styles/fabric-lite.css +0 -1039
  154. package/styles/fabric-lite.scss +0 -16
  155. package/styles/file-manager/_bds-definition.scss +0 -236
  156. package/styles/file-manager/_bigger.scss +0 -758
  157. package/styles/file-manager/_bootstrap5.3-definition.scss +0 -242
  158. package/styles/file-manager/_fluent2-definition.scss +0 -255
  159. package/styles/file-manager/_fusionnew-definition.scss +0 -241
  160. package/styles/file-manager/_material3-dark-definition.scss +0 -1
  161. package/styles/file-manager/_material3-definition.scss +0 -235
  162. package/styles/file-manager/bootstrap5.3.css +0 -1603
  163. package/styles/file-manager/bootstrap5.3.scss +0 -17
  164. package/styles/file-manager/fluent2.css +0 -1886
  165. package/styles/file-manager/fluent2.scss +0 -17
  166. package/styles/file-manager/icons/_bds.scss +0 -235
  167. package/styles/file-manager/icons/_bootstrap5.3.scss +0 -235
  168. package/styles/file-manager/icons/_fluent2.scss +0 -235
  169. package/styles/file-manager/icons/_fusionnew.scss +0 -235
  170. package/styles/file-manager/icons/_material3-dark.scss +0 -1
  171. package/styles/file-manager/icons/_material3.scss +0 -235
  172. package/styles/file-manager/material3-dark.css +0 -1633
  173. package/styles/file-manager/material3-dark.scss +0 -18
  174. package/styles/file-manager/material3.css +0 -1635
  175. package/styles/file-manager/material3.scss +0 -18
  176. package/styles/fluent-dark-lite.css +0 -1037
  177. package/styles/fluent-dark-lite.scss +0 -16
  178. package/styles/fluent-lite.css +0 -1036
  179. package/styles/fluent-lite.scss +0 -16
  180. package/styles/fluent2-lite.css +0 -1272
  181. package/styles/fluent2-lite.scss +0 -16
  182. package/styles/fluent2.css +0 -1886
  183. package/styles/fluent2.scss +0 -17
  184. package/styles/highcontrast-light-lite.css +0 -1039
  185. package/styles/highcontrast-light-lite.scss +0 -16
  186. package/styles/highcontrast-lite.css +0 -1059
  187. package/styles/highcontrast-lite.scss +0 -16
  188. package/styles/material-dark-lite.css +0 -1092
  189. package/styles/material-dark-lite.scss +0 -16
  190. package/styles/material-lite.css +0 -1097
  191. package/styles/material-lite.scss +0 -16
  192. package/styles/material3-dark-lite.css +0 -1090
  193. package/styles/material3-dark-lite.scss +0 -16
  194. package/styles/material3-dark.css +0 -1633
  195. package/styles/material3-dark.scss +0 -19
  196. package/styles/material3-lite.css +0 -1092
  197. package/styles/material3-lite.scss +0 -16
  198. package/styles/material3.css +0 -1635
  199. package/styles/material3.scss +0 -19
  200. package/styles/tailwind-dark-lite.css +0 -1060
  201. package/styles/tailwind-dark-lite.scss +0 -16
  202. package/styles/tailwind-lite.css +0 -1060
  203. package/styles/tailwind-lite.scss +0 -16
@@ -12,9 +12,8 @@ export declare class LargeIconsView {
12
12
  private keyboardDownModule;
13
13
  private keyConfigs;
14
14
  private isInteraction;
15
- itemList: HTMLElement[];
15
+ private itemList;
16
16
  items: Object[];
17
- allItems: Object[];
18
17
  private clickObj;
19
18
  private perRow;
20
19
  private startItem;
@@ -24,7 +23,6 @@ export declare class LargeIconsView {
24
23
  private count;
25
24
  private isRendered;
26
25
  private tapCount;
27
- private isSelectAllCalled;
28
26
  private tapEvent;
29
27
  private isPasteOperation;
30
28
  private dragObj;
@@ -37,7 +35,6 @@ export declare class LargeIconsView {
37
35
  */
38
36
  constructor(parent?: IFileManager);
39
37
  private render;
40
- private comparer;
41
38
  private preventImgDrag;
42
39
  private createDragObj;
43
40
  dragHelper(args: {
@@ -52,6 +49,7 @@ export declare class LargeIconsView {
52
49
  * @private
53
50
  */
54
51
  private getModuleName;
52
+ private adjustHeight;
55
53
  private onItemCreated;
56
54
  private renderCheckbox;
57
55
  private onLayoutChange;
@@ -2,7 +2,7 @@ import { ListBase } from '@syncfusion/ej2-lists';
2
2
  import { createElement, select, selectAll, EventHandler, KeyboardEvents, closest, Draggable } from '@syncfusion/ej2-base';
3
3
  import { isNullOrUndefined as isNOU, addClass, removeClass, Touch, isVisible } from '@syncfusion/ej2-base';
4
4
  import { getValue, setValue, remove } from '@syncfusion/ej2-base';
5
- import { DataManager, Query, DataUtil } from '@syncfusion/ej2-data';
5
+ import { DataManager, Query } from '@syncfusion/ej2-data';
6
6
  import { hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
7
7
  import * as events from '../base/constant';
8
8
  import * as CLS from '../base/classes';
@@ -31,7 +31,6 @@ var LargeIconsView = /** @class */ (function () {
31
31
  this.count = 0;
32
32
  this.isRendered = true;
33
33
  this.tapCount = 0;
34
- this.isSelectAllCalled = false;
35
34
  this.isPasteOperation = false;
36
35
  this.isInteracted = true;
37
36
  this.parent = parent;
@@ -73,9 +72,9 @@ var LargeIconsView = /** @class */ (function () {
73
72
  altEnter: 'alt+enter',
74
73
  esc: 'escape',
75
74
  del: 'delete',
76
- ctrlX: this.parent.isMac ? 'cmd+x' : 'ctrl+x',
77
- ctrlC: this.parent.isMac ? 'cmd+c' : 'ctrl+c',
78
- ctrlV: this.parent.isMac ? 'cmd+v' : 'ctrl+v',
75
+ ctrlX: 'ctrl+x',
76
+ ctrlC: 'ctrl+c',
77
+ ctrlV: 'ctrl+v',
79
78
  f2: 'f2',
80
79
  shiftdel: 'shift+delete',
81
80
  back: 'backspace',
@@ -112,22 +111,14 @@ var LargeIconsView = /** @class */ (function () {
112
111
  };
113
112
  this.items = [];
114
113
  this.items = this.renderList(args);
115
- if (this.parent.sortComparer && this.parent.sortBy !== 'None') {
116
- this.items = this.allItems = DataUtil.sort(this.items, this.parent.sortBy, this.comparer.bind(this));
117
- }
118
- else {
119
- this.items = this.allItems = getSortedData(this.parent, this.items);
120
- }
121
- iconsView.classList.remove(CLS.DISPLAY_NONE);
122
- if (this.parent.enableVirtualization && this.allItems.length > 0) {
123
- this.parent.virtualizationModule.setUIVirtualization();
124
- }
114
+ this.items = getSortedData(this.parent, this.items);
115
+ // eslint-disable-next-line
125
116
  this.listElements = ListBase.createListFromJson(createElement, this.items, this.listObj);
126
117
  this.itemList = Array.prototype.slice.call(selectAll('.' + CLS.LIST_ITEM, this.listElements));
127
118
  this.element.appendChild(this.listElements);
128
- this.listElements.setAttribute('aria-label', 'listbox');
129
119
  this.preventImgDrag();
130
120
  this.createDragObj();
121
+ iconsView.classList.remove(CLS.DISPLAY_NONE);
131
122
  if (this.itemList.length === 0) {
132
123
  var emptyList = this.element.querySelector('.' + CLS.LIST_PARENT);
133
124
  this.element.removeChild(emptyList);
@@ -157,14 +148,11 @@ var LargeIconsView = /** @class */ (function () {
157
148
  for (var i = 0; i < activeEle.length; i++) {
158
149
  activeEle[i].setAttribute('aria-selected', 'true');
159
150
  }
151
+ this.adjustHeight();
160
152
  this.element.style.maxHeight = '100%';
161
153
  this.getItemCount();
162
154
  this.addEventListener();
163
155
  this.wireEvents();
164
- if (this.parent.enableVirtualization && this.allItems.length > 0) {
165
- this.parent.virtualizationModule.setUlElementHeight();
166
- this.parent.virtualizationModule.wireScrollEvent(false);
167
- }
168
156
  this.isRendered = true;
169
157
  hideSpinner(this.parent.element);
170
158
  if (this.parent.selectedItems.length) {
@@ -172,14 +160,6 @@ var LargeIconsView = /** @class */ (function () {
172
160
  }
173
161
  }
174
162
  };
175
- LargeIconsView.prototype.comparer = function (x, y) {
176
- if (this.parent.sortOrder === 'Descending') {
177
- var z = x;
178
- x = y;
179
- y = z;
180
- }
181
- return this.parent.sortComparer(x, y);
182
- };
183
163
  LargeIconsView.prototype.preventImgDrag = function () {
184
164
  var i = 0;
185
165
  while (i < this.itemList.length) {
@@ -192,7 +172,7 @@ var LargeIconsView = /** @class */ (function () {
192
172
  };
193
173
  LargeIconsView.prototype.createDragObj = function () {
194
174
  var _this = this;
195
- if (this.listObj) {
175
+ if (!this.parent.isMobile && this.listObj) {
196
176
  if (this.parent.allowDragAndDrop) {
197
177
  if (this.dragObj) {
198
178
  this.dragObj.destroy();
@@ -200,7 +180,7 @@ var LargeIconsView = /** @class */ (function () {
200
180
  this.dragObj = new Draggable(this.listElements, {
201
181
  enableTailMode: true,
202
182
  distance: 5,
203
- enableAutoScroll: false,
183
+ enableAutoScroll: true,
204
184
  dragTarget: '.' + CLS.LARGE_ICON,
205
185
  helper: this.dragHelper.bind(this),
206
186
  cursorAt: this.parent.dragCursorPosition,
@@ -231,7 +211,8 @@ var LargeIconsView = /** @class */ (function () {
231
211
  this.parent.activeElements = [];
232
212
  this.parent.dragData = [];
233
213
  for (var i = 0; i < activeEle.length; i++) {
234
- this.parent.dragData.push(this.getItemObject(activeEle[parseInt(i.toString(), 10)]));
214
+ // eslint-disable-next-line
215
+ this.parent.dragData.push(this.getItemObject(activeEle[i]));
235
216
  this.parent.activeElements.push(activeEle[i]);
236
217
  }
237
218
  getModule(this.parent, dragLi);
@@ -242,8 +223,10 @@ var LargeIconsView = /** @class */ (function () {
242
223
  LargeIconsView.prototype.onDropInit = function (args) {
243
224
  if (this.parent.targetModule === this.getModuleName()) {
244
225
  var dropLi = closest(args.target, '.e-list-item');
226
+ // eslint-disable-next-line
245
227
  var cwdData = getValue(this.parent.pathId[this.parent.pathId.length - 1], this.parent.feParent);
246
228
  if (dropLi) {
229
+ // eslint-disable-next-line
247
230
  var info = this.getItemObject(dropLi);
248
231
  this.parent.dropPath = info.isFile ? this.parent.path : getFullPath(this.parent, info, this.parent.path);
249
232
  this.parent.dropData = info.isFile ? cwdData : info;
@@ -263,6 +246,11 @@ var LargeIconsView = /** @class */ (function () {
263
246
  LargeIconsView.prototype.getModuleName = function () {
264
247
  return 'largeiconsview';
265
248
  };
249
+ LargeIconsView.prototype.adjustHeight = function () {
250
+ var pane = select('#' + this.parent.element.id + CLS.CONTENT_ID, this.parent.element);
251
+ var bar = select('#' + this.parent.element.id + CLS.BREADCRUMBBAR_ID, this.parent.element);
252
+ this.element.style.height = (pane.offsetHeight - bar.offsetHeight) + 'px';
253
+ };
266
254
  LargeIconsView.prototype.onItemCreated = function (args) {
267
255
  args.item.removeAttribute('aria-level');
268
256
  if (!this.parent.showFileExtension && getValue('isFile', args.curData)) {
@@ -280,7 +268,7 @@ var LargeIconsView = /** @class */ (function () {
280
268
  this.parent.trigger('fileLoad', eventArgs);
281
269
  };
282
270
  LargeIconsView.prototype.renderCheckbox = function (args) {
283
- if (!this.parent.showItemCheckBoxes) {
271
+ if (!this.parent.allowMultiSelection) {
284
272
  return;
285
273
  }
286
274
  var checkElement = createCheckBox(createElement, false, {
@@ -289,15 +277,11 @@ var LargeIconsView = /** @class */ (function () {
289
277
  });
290
278
  checkElement.setAttribute('role', 'checkbox');
291
279
  checkElement.setAttribute('aria-checked', 'false');
292
- checkElement.setAttribute('aria-label', 'checkbox');
293
280
  args.item.firstElementChild.insertBefore(checkElement, args.item.firstElementChild.childNodes[0]);
294
281
  };
295
282
  LargeIconsView.prototype.onLayoutChange = function (args) {
296
283
  if (this.parent.view === 'LargeIcons') {
297
284
  this.destroy();
298
- if (this.parent.enableVirtualization) {
299
- this.parent.setProperties({ selectedItems: [] }, true);
300
- }
301
285
  this.render(args);
302
286
  /* istanbul ignore next */
303
287
  if (getValue('name', args) === 'layout-change' && this.parent.fileAction === 'move' &&
@@ -330,8 +314,10 @@ var LargeIconsView = /** @class */ (function () {
330
314
  }
331
315
  }
332
316
  };
317
+ // eslint-disable-next-line
333
318
  LargeIconsView.prototype.renderList = function (args) {
334
319
  var i = 0;
320
+ // eslint-disable-next-line
335
321
  var items = JSON.parse(JSON.stringify(args.files));
336
322
  while (i < items.length) {
337
323
  var icon = fileType(items[i]);
@@ -368,7 +354,6 @@ var LargeIconsView = /** @class */ (function () {
368
354
  this.selectItems([getValue(this.parent.hasId ? 'id' : 'name', this.parent.createdItem)]);
369
355
  this.parent.createdItem = null;
370
356
  this.parent.largeiconsviewModule.element.focus();
371
- this.parent.activeModule = 'largeiconsview';
372
357
  };
373
358
  LargeIconsView.prototype.onSelectedData = function () {
374
359
  if (this.parent.activeModule === 'largeiconsview') {
@@ -413,6 +398,7 @@ var LargeIconsView = /** @class */ (function () {
413
398
  if (this.parent.renamedItem) {
414
399
  this.clearSelect();
415
400
  this.addSelection(this.parent.renamedItem);
401
+ this.parent.renamedItem = null;
416
402
  }
417
403
  }
418
404
  };
@@ -462,6 +448,7 @@ var LargeIconsView = /** @class */ (function () {
462
448
  if (this.parent.view !== 'LargeIcons') {
463
449
  return;
464
450
  }
451
+ this.adjustHeight();
465
452
  };
466
453
  LargeIconsView.prototype.onUpdateSelectionData = function () {
467
454
  if (this.parent.view !== 'LargeIcons') {
@@ -553,6 +540,7 @@ var LargeIconsView = /** @class */ (function () {
553
540
  this.parent.on(events.filterEnd, this.onPathChanged, this);
554
541
  };
555
542
  LargeIconsView.prototype.onActionFailure = function () { this.isInteraction = true; this.isInteracted = true; };
543
+ // eslint-disable-next-line
556
544
  LargeIconsView.prototype.onMenuItemData = function (args) {
557
545
  if (this.parent.activeModule === this.getModuleName()) {
558
546
  var ele = closest(args.target, 'li');
@@ -589,8 +577,7 @@ var LargeIconsView = /** @class */ (function () {
589
577
  LargeIconsView.prototype.onpasteEnd = function (args) {
590
578
  if (this.parent.view === 'LargeIcons') {
591
579
  this.isPasteOperation = true;
592
- if (this.parent.path === this.parent.destinationPath ||
593
- this.parent.path === getDirectoryPath(this.parent, args) || this.parent.hasId) {
580
+ if (this.parent.path === this.parent.destinationPath || this.parent.path === getDirectoryPath(this.parent, args)) {
594
581
  this.onPathChanged(args);
595
582
  }
596
583
  }
@@ -612,6 +599,9 @@ var LargeIconsView = /** @class */ (function () {
612
599
  case 'allowDragAndDrop':
613
600
  this.createDragObj();
614
601
  break;
602
+ case 'height':
603
+ this.adjustHeight();
604
+ break;
615
605
  case 'selectedItems':
616
606
  this.isInteraction = false;
617
607
  this.isInteracted = false;
@@ -656,8 +646,6 @@ var LargeIconsView = /** @class */ (function () {
656
646
  if (this.listObj) {
657
647
  this.unWireEvents();
658
648
  }
659
- this.startItem = null;
660
- this.listElements = null;
661
649
  };
662
650
  LargeIconsView.prototype.wireEvents = function () {
663
651
  this.wireClickEvent(true);
@@ -688,37 +676,38 @@ var LargeIconsView = /** @class */ (function () {
688
676
  }
689
677
  };
690
678
  LargeIconsView.prototype.wireClickEvent = function (toBind) {
691
- var _this = this;
692
679
  if (toBind) {
680
+ // eslint-disable-next-line
681
+ var proxy_1 = this;
693
682
  this.clickObj = new Touch(this.element, {
694
683
  tap: function (eve) {
695
684
  eve.originalEvent.preventDefault();
696
- if (_this.parent.isDevice) {
697
- _this.tapCount = eve.tapCount;
698
- _this.tapEvent = eve;
685
+ if (proxy_1.parent.isDevice) {
686
+ proxy_1.tapCount = eve.tapCount;
687
+ proxy_1.tapEvent = eve;
699
688
  setTimeout(function () {
700
- if (_this.tapCount > 0) {
701
- _this.doTapAction(_this.tapEvent);
689
+ if (proxy_1.tapCount > 0) {
690
+ proxy_1.doTapAction(proxy_1.tapEvent);
702
691
  }
703
- _this.tapCount = 0;
692
+ proxy_1.tapCount = 0;
704
693
  }, 350);
705
694
  }
706
695
  else {
707
696
  if (eve.tapCount === 2 && eve.originalEvent.which !== 3) {
708
- _this.dblClickHandler(eve);
697
+ proxy_1.dblClickHandler(eve);
709
698
  }
710
699
  else {
711
- _this.clickHandler(eve);
700
+ proxy_1.clickHandler(eve);
712
701
  }
713
702
  }
714
703
  },
715
704
  tapHold: function (e) {
716
- if (_this.parent.isDevice) {
717
- _this.multiSelect = _this.parent.allowMultiSelection ? true : false;
718
- if (_this.parent.allowMultiSelection) {
719
- addClass([_this.parent.element], CLS.MULTI_SELECT);
705
+ if (proxy_1.parent.isDevice) {
706
+ proxy_1.multiSelect = proxy_1.parent.allowMultiSelection ? true : false;
707
+ if (proxy_1.parent.allowMultiSelection) {
708
+ addClass([proxy_1.parent.element], CLS.MULTI_SELECT);
720
709
  }
721
- _this.clickHandler(e);
710
+ proxy_1.clickHandler(e);
722
711
  }
723
712
  }
724
713
  });
@@ -769,7 +758,6 @@ var LargeIconsView = /** @class */ (function () {
769
758
  this.parent.isFile = false;
770
759
  var action = 'select';
771
760
  if (e.which === 3 && !isNOU(item) && item.classList.contains(CLS.ACTIVE)) {
772
- this.addActive(item);
773
761
  this.updateType(item);
774
762
  return;
775
763
  }
@@ -778,9 +766,6 @@ var LargeIconsView = /** @class */ (function () {
778
766
  && (e.ctrlKey || target.classList.contains(CLS.CHECK))) {
779
767
  action = 'unselect';
780
768
  }
781
- if (e.ctrlKey && e.shiftKey) {
782
- this.isSelectAllCalled = true;
783
- }
784
769
  var fileSelectionArgs = this.triggerSelection(action, item);
785
770
  if (fileSelectionArgs.cancel !== true) {
786
771
  if ((!this.parent.allowMultiSelection || (!this.multiSelect && (e && !e.ctrlKey)))
@@ -827,13 +812,9 @@ var LargeIconsView = /** @class */ (function () {
827
812
  }
828
813
  }
829
814
  else {
830
- if (this.parent.selectedItems.length === this.itemList.length) {
831
- this.isSelectAllCalled = true;
832
- }
833
815
  this.clearSelection();
834
816
  }
835
817
  if (!isNOU(item)) {
836
- this.isSelectAllCalled = false;
837
818
  this.updateType(item);
838
819
  }
839
820
  };
@@ -860,6 +841,7 @@ var LargeIconsView = /** @class */ (function () {
860
841
  this.parent.isFile = false;
861
842
  if (!isNOU(item)) {
862
843
  this.updateType(item);
844
+ // eslint-disable-next-line
863
845
  var details_1 = this.getItemObject(item);
864
846
  if (!hasReadAccess(details_1)) {
865
847
  createDeniedDialog(this.parent, details_1, events.permissionRead);
@@ -873,7 +855,6 @@ var LargeIconsView = /** @class */ (function () {
873
855
  var val = _this.parent.breadcrumbbarModule.searchObj.element.value;
874
856
  if (val === '' && !_this.parent.isFiltered) {
875
857
  var id = getValue('id', details_1);
876
- _this.parent.oldPath = _this.parent.path;
877
858
  var newPath = _this.parent.path + (isNOU(id) ? text : id) + '/';
878
859
  _this.parent.setProperties({ path: newPath }, true);
879
860
  _this.parent.pathNames.push(text);
@@ -903,6 +884,7 @@ var LargeIconsView = /** @class */ (function () {
903
884
  this.parent.isFile = isNOU(folder) ? true : false;
904
885
  };
905
886
  /* istanbul ignore next */
887
+ // eslint:disable-next-line
906
888
  LargeIconsView.prototype.keydownActionHandler = function (e) {
907
889
  if (!this.isRendered) {
908
890
  return;
@@ -951,8 +933,8 @@ var LargeIconsView = /** @class */ (function () {
951
933
  }
952
934
  };
953
935
  /* istanbul ignore next */
936
+ // eslint:disable-next-line
954
937
  LargeIconsView.prototype.keyActionHandler = function (e) {
955
- var _this = this;
956
938
  if (!this.isRendered) {
957
939
  return;
958
940
  }
@@ -961,28 +943,10 @@ var LargeIconsView = /** @class */ (function () {
961
943
  var lastItem = this.getLastItem();
962
944
  switch (e.action) {
963
945
  case 'end':
964
- if (this.parent.enableVirtualization) {
965
- this.clearSelect();
966
- this.element.firstElementChild.scrollTo(0, this.element.firstElementChild.scrollHeight);
967
- setTimeout(function () {
968
- _this.navigateItem(_this.itemList[_this.itemList.length - 1]);
969
- }, 10);
970
- }
971
- else {
972
- this.navigateItem(lastItem);
973
- }
946
+ this.navigateItem(lastItem);
974
947
  break;
975
948
  case 'home':
976
- if (this.parent.enableVirtualization) {
977
- this.clearSelect();
978
- this.element.firstElementChild.scrollTop = 0;
979
- setTimeout(function () {
980
- _this.navigateItem(_this.itemList[0]);
981
- }, 10);
982
- }
983
- else {
984
- this.navigateItem(firstItem);
985
- }
949
+ this.navigateItem(firstItem);
986
950
  break;
987
951
  case 'tab':
988
952
  if (!isNOU(fItem)) {
@@ -1077,9 +1041,6 @@ var LargeIconsView = /** @class */ (function () {
1077
1041
  case 'ctrlD':
1078
1042
  this.doDownload();
1079
1043
  break;
1080
- case 'back':
1081
- this.parent.traverseBackward();
1082
- break;
1083
1044
  }
1084
1045
  };
1085
1046
  LargeIconsView.prototype.doDownload = function () {
@@ -1089,6 +1050,7 @@ var LargeIconsView = /** @class */ (function () {
1089
1050
  LargeIconsView.prototype.performDelete = function () {
1090
1051
  if (this.parent.selectedItems && this.parent.selectedItems.length > 0) {
1091
1052
  this.updateSelectedData();
1053
+ // eslint-disable-next-line
1092
1054
  var data = this.parent.itemData;
1093
1055
  for (var i = 0; i < data.length; i++) {
1094
1056
  if (!hasEditAccess(data[i])) {
@@ -1107,6 +1069,7 @@ var LargeIconsView = /** @class */ (function () {
1107
1069
  };
1108
1070
  LargeIconsView.prototype.updateRenameData = function () {
1109
1071
  var item = select('.' + CLS.LIST_ITEM + '.' + CLS.ACTIVE, this.element);
1072
+ // eslint-disable-next-line
1110
1073
  var data = this.getItemObject(item);
1111
1074
  updateRenamingData(this.parent, data);
1112
1075
  };
@@ -1152,12 +1115,6 @@ var LargeIconsView = /** @class */ (function () {
1152
1115
  index = perRow ? index - perRow : index - 1;
1153
1116
  }
1154
1117
  nextItem = this.itemList[index];
1155
- if (this.parent.enableVirtualization && isNOU(nextItem)) {
1156
- var marginValue = parseInt(window.getComputedStyle(this.itemList[0]).getPropertyValue('margin-top'), 10) +
1157
- parseInt(window.getComputedStyle(this.itemList[0]).getPropertyValue('margin-bottom'), 10);
1158
- var scrollHeight = this.itemList[0].getBoundingClientRect().height + marginValue;
1159
- this.element.firstElementChild.scrollTo(this.element.firstElementChild.scrollTop, this.element.firstElementChild.scrollTop + scrollHeight);
1160
- }
1161
1118
  if (isNOU(nextItem)) {
1162
1119
  return li;
1163
1120
  }
@@ -1322,6 +1279,7 @@ var LargeIconsView = /** @class */ (function () {
1322
1279
  }
1323
1280
  };
1324
1281
  LargeIconsView.prototype.getDataName = function (item) {
1282
+ // eslint-disable-next-line
1325
1283
  var data = this.getItemObject(item);
1326
1284
  return getItemName(this.parent, data);
1327
1285
  };
@@ -1337,7 +1295,7 @@ var LargeIconsView = /** @class */ (function () {
1337
1295
  item.focus();
1338
1296
  };
1339
1297
  LargeIconsView.prototype.checkState = function (item, toCheck) {
1340
- if (!this.parent.showItemCheckBoxes) {
1298
+ if (!this.parent.allowMultiSelection) {
1341
1299
  return;
1342
1300
  }
1343
1301
  var checkEle = select('.' + CLS.FRAME, item);
@@ -1372,6 +1330,9 @@ var LargeIconsView = /** @class */ (function () {
1372
1330
  };
1373
1331
  LargeIconsView.prototype.resizeHandler = function () {
1374
1332
  this.getItemCount();
1333
+ if (!isNOU(this.listObj)) {
1334
+ this.adjustHeight();
1335
+ }
1375
1336
  };
1376
1337
  LargeIconsView.prototype.splitterResizeHandler = function () {
1377
1338
  this.getItemCount();
@@ -1391,38 +1352,20 @@ var LargeIconsView = /** @class */ (function () {
1391
1352
  this.perRow = perRow;
1392
1353
  };
1393
1354
  LargeIconsView.prototype.triggerSelection = function (action, item) {
1394
- var data = [];
1395
- if (this.isSelectAllCalled) {
1396
- for (var i = 0, len = this.itemList.length; i < len; i++) {
1397
- data[i] = this.getItemObject(this.itemList[i]);
1398
- }
1399
- }
1400
- else {
1401
- data[0] = this.getItemObject(item);
1402
- }
1403
- var eventArgs = { action: action, fileDetails: data.length > 1
1404
- ? data : data[0], isInteracted: this.isInteraction, cancel: false, target: this.isSelectAllCalled ? null
1405
- : item
1355
+ // eslint-disable-next-line
1356
+ var data = this.getItemObject(item);
1357
+ var eventArgs = {
1358
+ action: action, fileDetails: data, isInteracted: this.isInteraction, cancel: false, target: item
1406
1359
  };
1407
1360
  this.parent.trigger('fileSelection', eventArgs);
1408
1361
  this.isInteraction = true;
1409
1362
  return eventArgs;
1410
1363
  };
1411
1364
  LargeIconsView.prototype.triggerSelect = function (action, item) {
1412
- var data = [];
1413
- if (this.isSelectAllCalled) {
1414
- for (var i = 0, len = this.itemList.length; i < len; i++) {
1415
- data[i] = this.getItemObject(this.itemList[i]);
1416
- }
1417
- this.isSelectAllCalled = false;
1418
- }
1419
- else {
1420
- data[0] = this.getItemObject(item);
1421
- }
1422
- this.parent.visitedData = data.length > 1 ? data[data.length - 1] : data[0];
1423
- var eventArgs = { action: action, fileDetails: data.length > 1
1424
- ? data
1425
- : data[0], isInteracted: this.isInteracted };
1365
+ // eslint-disable-next-line
1366
+ var data = this.getItemObject(item);
1367
+ this.parent.visitedData = data;
1368
+ var eventArgs = { action: action, fileDetails: data, isInteracted: this.isInteracted };
1426
1369
  this.parent.trigger('fileSelect', eventArgs);
1427
1370
  this.isInteracted = true;
1428
1371
  };
@@ -1443,17 +1386,21 @@ var LargeIconsView = /** @class */ (function () {
1443
1386
  }
1444
1387
  return indexes;
1445
1388
  };
1389
+ // eslint-disable-next-line
1446
1390
  LargeIconsView.prototype.getItemObject = function (item) {
1447
1391
  var index = this.itemList.indexOf(item);
1448
1392
  return this.items[index];
1449
1393
  };
1394
+ // eslint-disable-next-line
1450
1395
  LargeIconsView.prototype.addSelection = function (data) {
1396
+ // eslint-disable-next-line
1451
1397
  var resultData = [];
1452
1398
  if (this.parent.hasId) {
1453
1399
  resultData = new DataManager(this.items).
1454
1400
  executeLocal(new Query().where('id', 'equal', this.parent.renamedId, false));
1455
1401
  }
1456
1402
  else {
1403
+ // eslint-disable-next-line
1457
1404
  var newData = new DataManager(this.items).
1458
1405
  executeLocal(new Query().where('name', 'equal', getValue('name', data), false));
1459
1406
  if (newData.length > 0) {
@@ -1468,6 +1415,7 @@ var LargeIconsView = /** @class */ (function () {
1468
1415
  }
1469
1416
  };
1470
1417
  LargeIconsView.prototype.updateSelectedData = function () {
1418
+ // eslint-disable-next-line
1471
1419
  var data = [];
1472
1420
  var items = selectAll('.' + CLS.LIST_ITEM + '.' + CLS.ACTIVE, this.element);
1473
1421
  for (var i = 0; i < items.length; i++) {
@@ -1475,6 +1423,7 @@ var LargeIconsView = /** @class */ (function () {
1475
1423
  }
1476
1424
  this.parent.itemData = data;
1477
1425
  };
1426
+ // eslint-disable-next-line
1478
1427
  LargeIconsView.prototype.onMethodCall = function (args) {
1479
1428
  if (this.parent.view !== 'LargeIcons') {
1480
1429
  return;
@@ -1542,6 +1491,7 @@ var LargeIconsView = /** @class */ (function () {
1542
1491
  if (indexes.length === 0) {
1543
1492
  return;
1544
1493
  }
1494
+ // eslint-disable-next-line
1545
1495
  var data = [];
1546
1496
  var newIds = [];
1547
1497
  for (var i = 0; i < indexes.length; i++) {
@@ -1559,6 +1509,7 @@ var LargeIconsView = /** @class */ (function () {
1559
1509
  if (index.length === 0) {
1560
1510
  return;
1561
1511
  }
1512
+ // eslint-disable-next-line
1562
1513
  var data = [];
1563
1514
  var newIds = [];
1564
1515
  for (var i = 0; i < index.length; i++) {
@@ -20,8 +20,6 @@ export declare class NavigationPane {
20
20
  private isPathDragged;
21
21
  private isRenameParent;
22
22
  private isRightClick;
23
- private isSameNodeClicked;
24
- private isNodeExpandCalled;
25
23
  private renameParent;
26
24
  private previousSelected;
27
25
  private isNodeClickCalled;