@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
@@ -1,12 +1,3 @@
1
- /*!
2
- * filename: index.d.ts
3
- * version : 19.4.43
4
- * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
- * Use of this code is subject to the terms of our license.
6
- * A copy of the current license can be obtained at any time by e-mailing
7
- * licensing@syncfusion.com. Any infringement will be prosecuted under
8
- * applicable laws.
9
- */
10
1
  import * as _filemanager from '@syncfusion/ej2-filemanager';
11
2
 
12
3
  export declare namespace ej {
package/package.json CHANGED
@@ -1,73 +1,72 @@
1
1
  {
2
- "_from": "@syncfusion/ej2-filemanager@*",
3
- "_id": "@syncfusion/ej2-filemanager@19.4.42",
4
- "_inBundle": false,
5
- "_integrity": "sha512-1IPNHqxz6MlyoefNUbo/hxHTHTUB94EcY+G1HCd27JfInXYy9ogD5JcWLVyEr9+DDNDSOq3lqHf/ARKLwmc4NA==",
6
- "_location": "/@syncfusion/ej2-filemanager",
7
- "_phantomChildren": {},
8
- "_requested": {
9
- "type": "range",
10
- "registry": true,
11
- "raw": "@syncfusion/ej2-filemanager@*",
12
- "name": "@syncfusion/ej2-filemanager",
13
- "escapedName": "@syncfusion%2fej2-filemanager",
14
- "scope": "@syncfusion",
15
- "rawSpec": "*",
16
- "saveSpec": null,
17
- "fetchSpec": "*"
18
- },
19
- "_requiredBy": [
20
- "/",
21
- "/@syncfusion/ej2",
22
- "/@syncfusion/ej2-angular-filemanager",
23
- "/@syncfusion/ej2-pdfviewer",
24
- "/@syncfusion/ej2-react-filemanager",
25
- "/@syncfusion/ej2-richtexteditor",
26
- "/@syncfusion/ej2-vue-filemanager"
27
- ],
28
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-filemanager/-/ej2-filemanager-19.4.42.tgz",
29
- "_shasum": "10afd89bb64134c599dd1f45f1ef94ed1f1497e0",
30
- "_spec": "@syncfusion/ej2-filemanager@*",
31
- "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
32
- "author": {
33
- "name": "Syncfusion Inc."
34
- },
35
- "bugs": {
36
- "url": "https://github.com/syncfusion/ej2-javascript-ui-controls/issues"
37
- },
38
- "bundleDependencies": false,
39
- "dependencies": {
40
- "@syncfusion/ej2-base": "~19.4.42",
41
- "@syncfusion/ej2-buttons": "~19.4.42",
42
- "@syncfusion/ej2-data": "~19.4.42",
43
- "@syncfusion/ej2-grids": "~19.4.43",
44
- "@syncfusion/ej2-inputs": "~19.4.43",
45
- "@syncfusion/ej2-layouts": "~19.4.43",
46
- "@syncfusion/ej2-lists": "~19.4.38",
47
- "@syncfusion/ej2-navigations": "~19.4.41",
48
- "@syncfusion/ej2-popups": "~19.4.41",
49
- "@syncfusion/ej2-splitbuttons": "~19.4.40",
50
- "selenium-webdriver": "^4.0.0-alpha.1"
51
- },
52
- "deprecated": false,
53
- "description": "Essential JS 2 FileManager Component",
54
- "devDependencies": {},
55
- "es2015": "./dist/es6/ej2-filemanager.es2015.js",
56
- "homepage": "https://github.com/syncfusion/ej2-javascript-ui-controls#readme",
57
- "keywords": [
58
- "ej2",
59
- "syncfusion",
60
- "ej2-filemanager"
61
- ],
62
- "license": "SEE LICENSE IN license",
63
- "main": "./dist/ej2-filemanager.umd.min.js",
64
- "module": "./index.js",
65
- "name": "@syncfusion/ej2-filemanager",
66
- "repository": {
67
- "type": "git",
68
- "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
69
- },
70
- "typings": "index.d.ts",
71
- "version": "19.4.43",
72
- "sideEffects": false
73
- }
2
+ "_from": "@syncfusion/ej2-filemanager@*",
3
+ "_id": "@syncfusion/ej2-filemanager@19.4.48",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-X0K/Cjp5QertYxW0u7Pudh6eHENw0RQNcPc2iqwsq4G0jQAIHLvg1JD3vcLb2KeZXLyxbZ/A4nfp3Lp+tdITFg==",
6
+ "_location": "/@syncfusion/ej2-filemanager",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "range",
10
+ "registry": true,
11
+ "raw": "@syncfusion/ej2-filemanager@*",
12
+ "name": "@syncfusion/ej2-filemanager",
13
+ "escapedName": "@syncfusion%2fej2-filemanager",
14
+ "scope": "@syncfusion",
15
+ "rawSpec": "*",
16
+ "saveSpec": null,
17
+ "fetchSpec": "*"
18
+ },
19
+ "_requiredBy": [
20
+ "/",
21
+ "/@syncfusion/ej2",
22
+ "/@syncfusion/ej2-angular-filemanager",
23
+ "/@syncfusion/ej2-pdfviewer",
24
+ "/@syncfusion/ej2-react-filemanager",
25
+ "/@syncfusion/ej2-richtexteditor",
26
+ "/@syncfusion/ej2-vue-filemanager"
27
+ ],
28
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-filemanager/-/ej2-filemanager-19.4.48.tgz",
29
+ "_shasum": "7418712086c90cb46e9f8bb34fb59c1ef06fa9b3",
30
+ "_spec": "@syncfusion/ej2-filemanager@*",
31
+ "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
32
+ "author": {
33
+ "name": "Syncfusion Inc."
34
+ },
35
+ "bugs": {
36
+ "url": "https://github.com/syncfusion/ej2-javascript-ui-controls/issues"
37
+ },
38
+ "bundleDependencies": false,
39
+ "dependencies": {
40
+ "@syncfusion/ej2-base": "~19.4.48",
41
+ "@syncfusion/ej2-buttons": "~19.4.50",
42
+ "@syncfusion/ej2-data": "~19.4.50",
43
+ "@syncfusion/ej2-grids": "~19.4.50",
44
+ "@syncfusion/ej2-inputs": "~19.4.48",
45
+ "@syncfusion/ej2-layouts": "~19.4.48",
46
+ "@syncfusion/ej2-lists": "~19.4.48",
47
+ "@syncfusion/ej2-navigations": "~19.4.50",
48
+ "@syncfusion/ej2-popups": "~19.4.50",
49
+ "@syncfusion/ej2-splitbuttons": "~19.4.48"
50
+ },
51
+ "deprecated": false,
52
+ "description": "Essential JS 2 FileManager Component",
53
+ "devDependencies": {},
54
+ "es2015": "./dist/es6/ej2-filemanager.es2015.js",
55
+ "homepage": "https://github.com/syncfusion/ej2-javascript-ui-controls#readme",
56
+ "keywords": [
57
+ "ej2",
58
+ "syncfusion",
59
+ "ej2-filemanager"
60
+ ],
61
+ "license": "SEE LICENSE IN license",
62
+ "main": "./dist/ej2-filemanager.umd.min.js",
63
+ "module": "./index.js",
64
+ "name": "@syncfusion/ej2-filemanager",
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
68
+ },
69
+ "typings": "index.d.ts",
70
+ "version": "19.4.51",
71
+ "sideEffects": false
72
+ }
@@ -1,4 +1,4 @@
1
- import { Component, EmitType, ModuleDeclaration, isNullOrUndefined, L10n, closest } from '@syncfusion/ej2-base';import { Property, INotifyPropertyChanged, NotifyPropertyChanges, Complex, select } from '@syncfusion/ej2-base';import { createElement, addClass, removeClass, setStyleAttribute as setAttr, getUniqueID } from '@syncfusion/ej2-base';import { isNullOrUndefined as isNOU, formatUnit, Browser, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Event, EventHandler, getValue, setValue } from '@syncfusion/ej2-base';import { Splitter, PanePropertiesModel } from '@syncfusion/ej2-layouts';import { Dialog, createSpinner, hideSpinner, showSpinner, BeforeOpenEventArgs, BeforeCloseEventArgs } from '@syncfusion/ej2-popups';import { createDialog, createExtDialog } from '../pop-up/dialog';import { ToolbarSettings, ToolbarSettingsModel, AjaxSettings, NavigationPaneSettings, DetailsViewSettings } from '../models/index';import { NavigationPaneSettingsModel, DetailsViewSettingsModel } from '../models/index';import { AjaxSettingsModel, SearchSettings, SearchSettingsModel } from '../models/index';import { Toolbar } from '../actions/toolbar';import { DetailsView } from '../layout/details-view';import { LargeIconsView } from '../layout/large-icons-view';import { Uploader, UploadingEventArgs, SelectedEventArgs, FileInfo } from '@syncfusion/ej2-inputs';import { UploadSettingsModel } from '../models/upload-settings-model';import { UploadSettings } from '../models/upload-settings';import * as events from './constant';import * as CLS from './classes';import { read, filter, createFolder } from '../common/operations';import { ITreeView, IContextMenu, ViewType, SortOrder, FileDragEventArgs, RetryArgs, ReadArgs, FileSelectionEventArgs } from './interface';import { BeforeSendEventArgs, SuccessEventArgs, FailureEventArgs, FileLoadEventArgs } from './interface';import { FileOpenEventArgs, FileSelectEventArgs, MenuClickEventArgs, MenuOpenEventArgs } from './interface';import { ToolbarClickEventArgs, ToolbarCreateEventArgs, UploadListCreateArgs } from './interface';import { PopupOpenCloseEventArgs, BeforePopupOpenCloseEventArgs, BeforeDownloadEventArgs, BeforeImageLoadEventArgs } from './interface';import { refresh, getPathObject, getLocaleText, setNextPath, createDeniedDialog, getCssClass } from '../common/utility';import { hasContentAccess, hasUploadAccess, updateLayout, createNewFolder, uploadItem } from '../common/utility';import { TreeView as BaseTreeView } from '@syncfusion/ej2-navigations';import { ContextMenuSettingsModel } from '../models/contextMenu-settings-model';import { ContextMenuSettings } from '../models/contextMenu-settings';import { BreadCrumbBar } from '../actions/breadcrumb-bar';import { ContextMenu } from '../pop-up/context-menu';import { defaultLocale } from '../models/default-locale';import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';
1
+ import { Component, EmitType, ModuleDeclaration, isNullOrUndefined, L10n, closest } from '@syncfusion/ej2-base';import { Property, INotifyPropertyChanged, NotifyPropertyChanges, Complex, select } from '@syncfusion/ej2-base';import { createElement, addClass, removeClass, setStyleAttribute as setAttr, getUniqueID } from '@syncfusion/ej2-base';import { isNullOrUndefined as isNOU, formatUnit, Browser, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Event, EventHandler, getValue, setValue } from '@syncfusion/ej2-base';import { Splitter, PanePropertiesModel } from '@syncfusion/ej2-layouts';import { Dialog, createSpinner, hideSpinner, showSpinner, BeforeOpenEventArgs, BeforeCloseEventArgs } from '@syncfusion/ej2-popups';import { createDialog, createExtDialog } from '../pop-up/dialog';import { ToolbarSettings, ToolbarSettingsModel, AjaxSettings, NavigationPaneSettings, DetailsViewSettings } from '../models/index';import { NavigationPaneSettingsModel, DetailsViewSettingsModel } from '../models/index';import { AjaxSettingsModel, SearchSettings, SearchSettingsModel } from '../models/index';import { Toolbar } from '../actions/toolbar';import { DetailsView } from '../layout/details-view';import { LargeIconsView } from '../layout/large-icons-view';import { Uploader, UploadingEventArgs, SelectedEventArgs, FileInfo, CancelEventArgs } from '@syncfusion/ej2-inputs';import { UploadSettingsModel } from '../models/upload-settings-model';import { UploadSettings } from '../models/upload-settings';import * as events from './constant';import * as CLS from './classes';import { read, filter, createFolder } from '../common/operations';import { ITreeView, IContextMenu, ViewType, SortOrder, FileDragEventArgs, RetryArgs, ReadArgs, FileSelectionEventArgs } from './interface';import { BeforeSendEventArgs, SuccessEventArgs, FailureEventArgs, FileLoadEventArgs } from './interface';import { FileOpenEventArgs, FileSelectEventArgs, MenuClickEventArgs, MenuOpenEventArgs } from './interface';import { ToolbarClickEventArgs, ToolbarCreateEventArgs, UploadListCreateArgs } from './interface';import { PopupOpenCloseEventArgs, BeforePopupOpenCloseEventArgs, BeforeDownloadEventArgs, BeforeImageLoadEventArgs } from './interface';import { refresh, getPathObject, getLocaleText, setNextPath, createDeniedDialog, getCssClass } from '../common/utility';import { hasContentAccess, hasUploadAccess, updateLayout, createNewFolder, uploadItem } from '../common/utility';import { TreeView as BaseTreeView } from '@syncfusion/ej2-navigations';import { ContextMenuSettingsModel } from '../models/contextMenu-settings-model';import { ContextMenuSettings } from '../models/contextMenu-settings';import { BreadCrumbBar } from '../actions/breadcrumb-bar';import { ContextMenu } from '../pop-up/context-menu';import { defaultLocale } from '../models/default-locale';import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';
2
2
  import {ComponentModel} from '@syncfusion/ej2-base';
3
3
 
4
4
  /**
@@ -106,6 +106,7 @@ export interface FileManagerModel extends ComponentModel{
106
106
  * maxWidth: '650px',
107
107
  * minWidth: '240px',
108
108
  * visible: true,
109
+ * sortOrder: 'None'
109
110
  * }
110
111
  */
111
112
  navigationPaneSettings?: NavigationPaneSettingsModel;
@@ -106,6 +106,7 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
106
106
  currentItemText: string;
107
107
  renameText: string;
108
108
  isFiltered: boolean;
109
+ isSortByClicked: boolean;
109
110
  enablePaste: boolean;
110
111
  splitterObj: Splitter;
111
112
  persistData: boolean;
@@ -231,6 +232,7 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
231
232
  * maxWidth: '650px',
232
233
  * minWidth: '240px',
233
234
  * visible: true,
235
+ * sortOrder: 'None'
234
236
  * }
235
237
  */
236
238
  navigationPaneSettings: NavigationPaneSettingsModel;
@@ -524,6 +526,7 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
524
526
  private onClose;
525
527
  private onUploading;
526
528
  private onRemoving;
529
+ private onCancel;
527
530
  private onClearing;
528
531
  private onSelected;
529
532
  private onFileUploadSuccess;
@@ -77,6 +77,8 @@ var FileManager = /** @class */ (function (_super) {
77
77
  _this.folderPath = '';
78
78
  _this.isSameAction = false;
79
79
  _this.isFiltered = false;
80
+ // Specifies whether the sort by option is clicked or not.
81
+ _this.isSortByClicked = false;
80
82
  _this.enablePaste = false;
81
83
  _this.persistData = false;
82
84
  _this.retryArgs = [];
@@ -407,6 +409,7 @@ var FileManager = /** @class */ (function (_super) {
407
409
  enableRtl: this.enableRtl,
408
410
  uploading: this.onUploading.bind(this),
409
411
  removing: this.onRemoving.bind(this),
412
+ canceling: this.onCancel.bind(this),
410
413
  clearing: this.onClearing.bind(this),
411
414
  selected: this.onSelected.bind(this),
412
415
  success: this.onUploadSuccess.bind(this),
@@ -514,6 +517,11 @@ var FileManager = /** @class */ (function (_super) {
514
517
  }
515
518
  };
516
519
  /* istanbul ignore next */
520
+ FileManager.prototype.onCancel = function (args) {
521
+ var data = JSON.stringify(getValue(this.pathId[this.pathId.length - 1], this.feParent));
522
+ args.customFormData = [{ 'path': this.path }, { 'action': 'remove' }, { 'data': data }];
523
+ };
524
+ /* istanbul ignore next */
517
525
  FileManager.prototype.onClearing = function () {
518
526
  if (this.isOpened) {
519
527
  this.uploadDialogObj.hide();
@@ -543,6 +543,7 @@ export interface IFileManager extends Component<HTMLElement> {
543
543
  isCut: boolean;
544
544
  filterData: Object;
545
545
  isFiltered: boolean;
546
+ isSortByClicked: boolean;
546
547
  isLayoutChange: boolean;
547
548
  isSearchCut: boolean;
548
549
  isPasteError: boolean;
@@ -267,7 +267,13 @@ export function searchWordHandler(parent, value, isLayoutChange) {
267
267
  }
268
268
  else {
269
269
  if (!parent.isFiltered) {
270
- read(parent, isLayoutChange ? events.layoutChange : events.search, parent.path);
270
+ if (parent.isSortByClicked) {
271
+ parent.notify(events.layoutChange, { files: parent.largeiconsviewModule.items });
272
+ parent.isSortByClicked = false;
273
+ }
274
+ else {
275
+ read(parent, isLayoutChange ? events.layoutChange : events.search, parent.path);
276
+ }
271
277
  }
272
278
  else {
273
279
  filter(parent, events.layoutChange);
@@ -678,6 +684,7 @@ export function getCssClass(parent, css) {
678
684
  */
679
685
  export function sortbyClickHandler(parent, args) {
680
686
  var tick;
687
+ parent.isSortByClicked = true;
681
688
  if (args.item.id.indexOf('ascending') !== -1 || args.item.id.indexOf('descending') !== -1 || args.item.id.indexOf('none') !== -1) {
682
689
  tick = true;
683
690
  }
@@ -13,7 +13,7 @@ export declare class LargeIconsView {
13
13
  private keyConfigs;
14
14
  private isInteraction;
15
15
  private itemList;
16
- private items;
16
+ items: Object[];
17
17
  private clickObj;
18
18
  private perRow;
19
19
  private startItem;
@@ -74,6 +74,7 @@ var NavigationPane = /** @class */ (function () {
74
74
  hasChildren: 'hasChild', iconCss: '_fm_icon', htmlAttributes: '_fm_htmlAttr', tooltip: 'name'
75
75
  },
76
76
  enableHtmlSanitizer: this.parent.enableHtmlSanitizer,
77
+ sortOrder: this.parent.navigationPaneSettings.sortOrder,
77
78
  nodeSelecting: this.onNodeSelecting.bind(this),
78
79
  nodeSelected: this.onNodeSelected.bind(this),
79
80
  nodeExpanding: this.onNodeExpand.bind(this),
@@ -184,6 +185,7 @@ var NavigationPane = /** @class */ (function () {
184
185
  NavigationPane.prototype.onNodeSelecting = function (args) {
185
186
  if (!args.isInteracted && !this.isRightClick && !this.isPathDragged && !this.isRenameParent || this.restrictSelecting) {
186
187
  this.restrictSelecting = false;
188
+ this.isNodeClickCalled = false;
187
189
  return;
188
190
  }
189
191
  if (!this.renameParent) {
@@ -191,13 +193,12 @@ var NavigationPane = /** @class */ (function () {
191
193
  // eslint-disable-next-line
192
194
  var nodeData = this.getTreeData(getValue('id', args.nodeData));
193
195
  var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
194
- delete eventArgs.cancel;
195
196
  this.parent.trigger('fileOpen', eventArgs);
196
197
  args.cancel = eventArgs.cancel;
197
198
  if (args.cancel) {
198
- this.restrictSelecting = true;
199
+ this.restrictSelecting = this.isNodeClickCalled ? this.previousSelected[0] != args.node.getAttribute('data-uid') : false;
199
200
  this.treeObj.selectedNodes = this.isNodeClickCalled ? this.previousSelected : this.treeObj.selectedNodes;
200
- this.isNodeClickCalled = false;
201
+ this.previousSelected = this.treeObj.selectedNodes;
201
202
  if (!isNOU(this.parent) && !isNOU(this.parent.contextmenuModule)) {
202
203
  this.parent.contextmenuModule.contextMenu.enableItems(['Open'], true);
203
204
  }
@@ -233,13 +234,16 @@ var NavigationPane = /** @class */ (function () {
233
234
  var nodeData = this.getTreeData(getValue('id', args.nodeData));
234
235
  this.parent.selectedItems = [];
235
236
  this.parent.itemData = nodeData;
237
+ var previousPath = this.parent.path;
236
238
  updatePath(args.node, this.parent.itemData[0], this.parent);
237
- this.expandNodeTarget = null;
238
- if (args.node.querySelector('.' + CLS.ICONS) && args.node.querySelector('.' + CLS.LIST_ITEM) === null) {
239
- this.expandNodeTarget = 'add';
239
+ if (previousPath !== this.parent.path) {
240
+ this.expandNodeTarget = null;
241
+ if (args.node.querySelector('.' + CLS.ICONS) && args.node.querySelector('.' + CLS.LIST_ITEM) === null) {
242
+ this.expandNodeTarget = 'add';
243
+ }
244
+ read(this.parent, this.isPathDragged ? events.pasteEnd : events.pathChanged, this.parent.path);
245
+ this.parent.visitedItem = args.node;
240
246
  }
241
- read(this.parent, this.isPathDragged ? events.pasteEnd : events.pathChanged, this.parent.path);
242
- this.parent.visitedItem = args.node;
243
247
  this.isPathDragged = this.isRenameParent = this.isRightClick = false;
244
248
  };
245
249
  /* istanbul ignore next */
@@ -272,11 +276,11 @@ var NavigationPane = /** @class */ (function () {
272
276
  };
273
277
  NavigationPane.prototype.onNodeClicked = function (args) {
274
278
  this.parent.activeModule = 'navigationpane';
279
+ this.previousSelected = this.treeObj.selectedNodes;
275
280
  this.activeNode = args.node;
276
281
  if ((args.event.which === 3) && (args.node.getAttribute('data-uid') !== this.treeObj.selectedNodes[0])) {
277
282
  this.isRightClick = true;
278
283
  this.isNodeClickCalled = true;
279
- this.previousSelected = this.treeObj.selectedNodes;
280
284
  this.treeObj.selectedNodes = [args.node.getAttribute('data-uid')];
281
285
  }
282
286
  else if (args.node.getAttribute('data-uid') === this.treeObj.selectedNodes[0] && this.parent.selectedItems.length !== 0) {
@@ -463,6 +467,9 @@ var NavigationPane = /** @class */ (function () {
463
467
  break;
464
468
  case 'navigationPaneSettings':
465
469
  read(this.parent, events.finalizeEnd, '/');
470
+ if (e.oldProp.navigationPaneSettings.sortOrder !== e.newProp.navigationPaneSettings.sortOrder) {
471
+ this.treeObj.sortOrder = e.newProp.navigationPaneSettings.sortOrder;
472
+ }
466
473
  break;
467
474
  }
468
475
  }
@@ -755,13 +762,15 @@ var NavigationPane = /** @class */ (function () {
755
762
  removeActive(this.parent);
756
763
  break;
757
764
  case 'del':
758
- this.updateItemData();
759
- if (!hasEditAccess(this.parent.itemData[0])) {
760
- createDeniedDialog(this.parent, this.parent.itemData[0], events.permissionEdit);
761
- }
762
- else {
763
- this.removeNodes = [];
764
- createDialog(this.parent, 'Delete');
765
+ if (this.parent.pathId[0] !== this.activeNode.getAttribute('data-uid')) {
766
+ this.updateItemData();
767
+ if (!hasEditAccess(this.parent.itemData[0])) {
768
+ createDeniedDialog(this.parent, this.parent.itemData[0], events.permissionEdit);
769
+ }
770
+ else {
771
+ this.removeNodes = [];
772
+ createDialog(this.parent, 'Delete');
773
+ }
765
774
  }
766
775
  break;
767
776
  case 'ctrlC':
@@ -26,4 +26,15 @@ export interface NavigationPaneSettingsModel {
26
26
  */
27
27
  visible?: boolean;
28
28
 
29
+ /**
30
+ * Specifies a value that indicates how to sort the folders in the navigation pane of the file manager component.
31
+ *
32
+ * If the sortOrder is Ascending, the folders are sorted in ascending order.
33
+ * If the sortOrder is Descending, the folders are sorted in descending order.
34
+ * If the sortOrder is None, the folders are not sorted.
35
+ *
36
+ * @default 'None'
37
+ */
38
+ sortOrder?: 'None' | 'Ascending' | 'Descending';
39
+
29
40
  }
@@ -21,4 +21,14 @@ export declare class NavigationPaneSettings extends ChildProperty<NavigationPane
21
21
  * @default true
22
22
  */
23
23
  visible: boolean;
24
+ /**
25
+ * Specifies a value that indicates how to sort the folders in the navigation pane of the file manager component.
26
+ *
27
+ * If the sortOrder is Ascending, the folders are sorted in ascending order.
28
+ * If the sortOrder is Descending, the folders are sorted in descending order.
29
+ * If the sortOrder is None, the folders are not sorted.
30
+ *
31
+ * @default 'None'
32
+ */
33
+ sortOrder: 'None' | 'Ascending' | 'Descending';
24
34
  }
@@ -35,6 +35,9 @@ var NavigationPaneSettings = /** @class */ (function (_super) {
35
35
  __decorate([
36
36
  Property(true)
37
37
  ], NavigationPaneSettings.prototype, "visible", void 0);
38
+ __decorate([
39
+ Property('None')
40
+ ], NavigationPaneSettings.prototype, "sortOrder", void 0);
38
41
  return NavigationPaneSettings;
39
42
  }(ChildProperty));
40
43
  export { NavigationPaneSettings };
@@ -79,9 +79,6 @@ var ContextMenu = /** @class */ (function () {
79
79
  target = this.parent.navigationpaneModule.activeNode.getElementsByClassName(CLS.FULLROW)[0];
80
80
  this.menuTarget = this.targetNodeElement = target;
81
81
  }
82
- if (target.classList.contains(CLS.FULLROW)) {
83
- this.parent.selectedItems.length = 0;
84
- }
85
82
  this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr.e-row') : target;
86
83
  var view = this.getTargetView(target);
87
84
  this.updateActiveModule();
@@ -954,6 +954,10 @@ ejs-filemanager {
954
954
  overflow: hidden;
955
955
  }
956
956
 
957
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
958
+ overflow: auto;
959
+ }
960
+
957
961
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
958
962
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
959
963
  margin: 0 0;
@@ -955,6 +955,10 @@ ejs-filemanager {
955
955
  overflow: hidden;
956
956
  }
957
957
 
958
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
959
+ overflow: auto;
960
+ }
961
+
958
962
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
959
963
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
960
964
  margin: 0 0;
@@ -954,6 +954,10 @@ ejs-filemanager {
954
954
  overflow: hidden;
955
955
  }
956
956
 
957
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
958
+ overflow: auto;
959
+ }
960
+
957
961
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
958
962
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
959
963
  margin: 0 0;
@@ -956,6 +956,10 @@ ejs-filemanager {
956
956
  overflow: hidden;
957
957
  }
958
958
 
959
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
960
+ overflow: auto;
961
+ }
962
+
959
963
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
960
964
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
961
965
  margin: 0 0;
@@ -956,6 +956,10 @@ ejs-filemanager {
956
956
  overflow: hidden;
957
957
  }
958
958
 
959
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
960
+ overflow: auto;
961
+ }
962
+
959
963
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
960
964
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
961
965
  margin: 0 0;
@@ -946,6 +946,10 @@ ejs-filemanager {
946
946
  overflow: hidden;
947
947
  }
948
948
 
949
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
950
+ overflow: auto;
951
+ }
952
+
949
953
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
950
954
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
951
955
  margin: 0 0;
package/styles/fabric.css CHANGED
@@ -947,6 +947,10 @@ ejs-filemanager {
947
947
  overflow: hidden;
948
948
  }
949
949
 
950
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
951
+ overflow: auto;
952
+ }
953
+
950
954
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
951
955
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
952
956
  margin: 0 0;
@@ -962,6 +962,12 @@
962
962
  }
963
963
  }
964
964
 
965
+ &.e-dialog.e-fe-upload-dialog {
966
+ .e-dlg-content {
967
+ overflow: auto;
968
+ }
969
+ }
970
+
965
971
  &.e-contextmenu-wrapper ul .e-menu-item.e-separator,
966
972
  &.e-contextmenu-container ul .e-menu-item.e-separator {
967
973
  margin: $fe-cm-separator-margin;
@@ -954,6 +954,10 @@ ejs-filemanager {
954
954
  overflow: hidden;
955
955
  }
956
956
 
957
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
958
+ overflow: auto;
959
+ }
960
+
957
961
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
958
962
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
959
963
  margin: 0 0;
@@ -955,6 +955,10 @@ ejs-filemanager {
955
955
  overflow: hidden;
956
956
  }
957
957
 
958
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
959
+ overflow: auto;
960
+ }
961
+
958
962
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
959
963
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
960
964
  margin: 0 0;
@@ -954,6 +954,10 @@ ejs-filemanager {
954
954
  overflow: hidden;
955
955
  }
956
956
 
957
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
958
+ overflow: auto;
959
+ }
960
+
957
961
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
958
962
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
959
963
  margin: 0 0;
@@ -956,6 +956,10 @@ ejs-filemanager {
956
956
  overflow: hidden;
957
957
  }
958
958
 
959
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
960
+ overflow: auto;
961
+ }
962
+
959
963
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
960
964
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
961
965
  margin: 0 0;
@@ -956,6 +956,10 @@ ejs-filemanager {
956
956
  overflow: hidden;
957
957
  }
958
958
 
959
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
960
+ overflow: auto;
961
+ }
962
+
959
963
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
960
964
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
961
965
  margin: 0 0;
@@ -946,6 +946,10 @@ ejs-filemanager {
946
946
  overflow: hidden;
947
947
  }
948
948
 
949
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
950
+ overflow: auto;
951
+ }
952
+
949
953
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
950
954
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
951
955
  margin: 0 0;
@@ -947,6 +947,10 @@ ejs-filemanager {
947
947
  overflow: hidden;
948
948
  }
949
949
 
950
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
951
+ overflow: auto;
952
+ }
953
+
950
954
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
951
955
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
952
956
  margin: 0 0;
@@ -952,6 +952,10 @@ ejs-filemanager {
952
952
  overflow: hidden;
953
953
  }
954
954
 
955
+ .e-fe-popup.e-dialog.e-fe-upload-dialog .e-dlg-content {
956
+ overflow: auto;
957
+ }
958
+
955
959
  .e-fe-popup.e-contextmenu-wrapper ul .e-menu-item.e-separator,
956
960
  .e-fe-popup.e-contextmenu-container ul .e-menu-item.e-separator {
957
961
  margin: 0 0;