@syncfusion/ej2-filemanager 19.3.55 → 19.4.47

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 (58) hide show
  1. package/CHANGELOG.md +20 -3
  2. package/README.md +1 -1
  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 +80 -18
  6. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  7. package/dist/es6/ej2-filemanager.es5.js +80 -18
  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 +15 -15
  13. package/src/file-manager/actions/breadcrumb-bar.js +1 -1
  14. package/src/file-manager/base/file-manager-model.d.ts +1 -1
  15. package/src/file-manager/base/file-manager.d.ts +1 -0
  16. package/src/file-manager/base/file-manager.js +6 -1
  17. package/src/file-manager/base/interface.d.ts +2 -0
  18. package/src/file-manager/common/utility.js +9 -2
  19. package/src/file-manager/layout/large-icons-view.d.ts +1 -1
  20. package/src/file-manager/layout/navigation-pane.d.ts +5 -0
  21. package/src/file-manager/layout/navigation-pane.js +47 -5
  22. package/src/file-manager/models/search-settings-model.d.ts +8 -0
  23. package/src/file-manager/models/search-settings.d.ts +7 -0
  24. package/src/file-manager/models/search-settings.js +3 -0
  25. package/src/file-manager/pop-up/context-menu.d.ts +1 -0
  26. package/src/file-manager/pop-up/context-menu.js +14 -9
  27. package/styles/bootstrap-dark.css +2 -2
  28. package/styles/bootstrap.css +1 -1
  29. package/styles/bootstrap4.css +2 -2
  30. package/styles/bootstrap5-dark.css +8 -3
  31. package/styles/bootstrap5.css +8 -3
  32. package/styles/fabric-dark.css +3 -3
  33. package/styles/fabric.css +4 -4
  34. package/styles/file-manager/_bootstrap-dark-definition.scss +1 -1
  35. package/styles/file-manager/_bootstrap-definition.scss +1 -1
  36. package/styles/file-manager/_bootstrap4-definition.scss +1 -1
  37. package/styles/file-manager/_fabric-dark-definition.scss +2 -2
  38. package/styles/file-manager/_fabric-definition.scss +3 -3
  39. package/styles/file-manager/_fluent-definition.scss +245 -0
  40. package/styles/file-manager/_layout.scss +29 -5
  41. package/styles/file-manager/_material-definition.scss +1 -1
  42. package/styles/file-manager/_tailwind-definition.scss +2 -2
  43. package/styles/file-manager/bootstrap-dark.css +2 -2
  44. package/styles/file-manager/bootstrap.css +1 -1
  45. package/styles/file-manager/bootstrap4.css +2 -2
  46. package/styles/file-manager/bootstrap5-dark.css +8 -3
  47. package/styles/file-manager/bootstrap5.css +8 -3
  48. package/styles/file-manager/fabric-dark.css +3 -3
  49. package/styles/file-manager/fabric.css +4 -4
  50. package/styles/file-manager/icons/_fluent.scss +235 -0
  51. package/styles/file-manager/material-dark.css +6 -0
  52. package/styles/file-manager/material.css +7 -1
  53. package/styles/file-manager/tailwind-dark.css +4 -4
  54. package/styles/file-manager/tailwind.css +4 -4
  55. package/styles/material-dark.css +6 -0
  56. package/styles/material.css +7 -1
  57. package/styles/tailwind-dark.css +4 -4
  58. package/styles/tailwind.css +4 -4
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.3.55
3
+ * version : 19.4.47
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-filemanager@*",
3
- "_id": "@syncfusion/ej2-filemanager@19.3.53",
3
+ "_id": "@syncfusion/ej2-filemanager@19.4.43",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-y+rU7IeFzxiAwMQdhwlvddw38ICY0HKcyYY7uur3ltJbGxmR+m037nXA4Yj1+oLRfpURVYp63F/MtX147nZCog==",
5
+ "_integrity": "sha512-fH3Q1fOFz+gttAUrCzQyH7C8xF93aZRLGdwHR+N3wMY3DheHUl7TW/swq4N+4EGlds0aq4qBXHIH2sm2w/ioIQ==",
6
6
  "_location": "/@syncfusion/ej2-filemanager",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -25,8 +25,8 @@
25
25
  "/@syncfusion/ej2-richtexteditor",
26
26
  "/@syncfusion/ej2-vue-filemanager"
27
27
  ],
28
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix/@syncfusion/ej2-filemanager/-/ej2-filemanager-19.3.53.tgz",
29
- "_shasum": "46218763e324cfee9ae9342adfecf7c093e5ef7e",
28
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-filemanager/-/ej2-filemanager-19.4.43.tgz",
29
+ "_shasum": "92dd7a5c453ed3b7ae2b40e9b5dd9fff88720219",
30
30
  "_spec": "@syncfusion/ej2-filemanager@*",
31
31
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
32
32
  "author": {
@@ -37,16 +37,16 @@
37
37
  },
38
38
  "bundleDependencies": false,
39
39
  "dependencies": {
40
- "@syncfusion/ej2-base": "~19.3.54",
41
- "@syncfusion/ej2-buttons": "~19.3.53",
42
- "@syncfusion/ej2-data": "~19.3.53",
43
- "@syncfusion/ej2-grids": "~19.3.55",
44
- "@syncfusion/ej2-inputs": "~19.3.53",
45
- "@syncfusion/ej2-layouts": "~19.3.53",
46
- "@syncfusion/ej2-lists": "~19.3.53",
47
- "@syncfusion/ej2-navigations": "~19.3.54",
48
- "@syncfusion/ej2-popups": "~19.3.53",
49
- "@syncfusion/ej2-splitbuttons": "~19.3.53",
40
+ "@syncfusion/ej2-base": "~19.4.42",
41
+ "@syncfusion/ej2-buttons": "~19.4.42",
42
+ "@syncfusion/ej2-data": "~19.4.47",
43
+ "@syncfusion/ej2-grids": "~19.4.47",
44
+ "@syncfusion/ej2-inputs": "~19.4.47",
45
+ "@syncfusion/ej2-layouts": "~19.4.47",
46
+ "@syncfusion/ej2-lists": "~19.4.38",
47
+ "@syncfusion/ej2-navigations": "~19.4.47",
48
+ "@syncfusion/ej2-popups": "~19.4.47",
49
+ "@syncfusion/ej2-splitbuttons": "~19.4.47",
50
50
  "selenium-webdriver": "^4.0.0-alpha.1"
51
51
  },
52
52
  "deprecated": false,
@@ -68,6 +68,6 @@
68
68
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
69
69
  },
70
70
  "typings": "index.d.ts",
71
- "version": "19.3.55",
71
+ "version": "19.4.47",
72
72
  "sideEffects": false
73
73
  }
@@ -405,7 +405,7 @@ var BreadCrumbBar = /** @class */ (function () {
405
405
  }
406
406
  };
407
407
  BreadCrumbBar.prototype.onSearchTextChange = function (args) {
408
- this.searchObj.element.placeholder = getLocaleText(this.parent, 'Search') + ' ' + args.cwd.name;
408
+ this.searchObj.element.placeholder = (this.parent.searchSettings.placeholder != null) ? this.parent.searchSettings.placeholder : getLocaleText(this.parent, 'Search') + ' ' + args.cwd.name;
409
409
  };
410
410
  return BreadCrumbBar;
411
411
  }());
@@ -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 } 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 } 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 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;
@@ -19,7 +19,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
19
19
  };
20
20
  import { Component, isNullOrUndefined, L10n, closest } from '@syncfusion/ej2-base';
21
21
  import { Property, NotifyPropertyChanges, Complex, select } from '@syncfusion/ej2-base';
22
- import { createElement, addClass, removeClass, setStyleAttribute as setAttr } from '@syncfusion/ej2-base';
22
+ import { createElement, addClass, removeClass, setStyleAttribute as setAttr, getUniqueID } from '@syncfusion/ej2-base';
23
23
  import { isNullOrUndefined as isNOU, formatUnit, Browser, KeyboardEvents } from '@syncfusion/ej2-base';
24
24
  import { Event, EventHandler, getValue, setValue } from '@syncfusion/ej2-base';
25
25
  import { Splitter } from '@syncfusion/ej2-layouts';
@@ -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 = [];
@@ -120,6 +122,9 @@ var FileManager = /** @class */ (function (_super) {
120
122
  * @returns {void}
121
123
  */
122
124
  FileManager.prototype.preRender = function () {
125
+ if (isNOU(this.element.id) || this.element.id === '') {
126
+ this.element.setAttribute('id', getUniqueID('filemanager'));
127
+ }
123
128
  this.ensurePath();
124
129
  this.feParent = [];
125
130
  this.feFiles = [];
@@ -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;
@@ -601,6 +602,7 @@ export interface ITreeView extends Component<HTMLElement> {
601
602
  duplicateFiles: Function;
602
603
  rootID: string;
603
604
  activeNode: Element;
605
+ openFileOnContextMenuClick: Function;
604
606
  }
605
607
  /** @hidden */
606
608
  export interface IContextMenu extends Component<HTMLElement> {
@@ -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);
@@ -448,7 +454,7 @@ export function fileType(file) {
448
454
  export function getImageUrl(parent, item) {
449
455
  var baseUrl = parent.ajaxSettings.getImageUrl ? parent.ajaxSettings.getImageUrl : parent.ajaxSettings.url;
450
456
  var imgUrl;
451
- var fileName = getValue('name', item);
457
+ var fileName = encodeURIComponent(getValue('name', item));
452
458
  var fPath = getValue('filterPath', item);
453
459
  if (parent.hasId) {
454
460
  var imgId = getValue('id', item);
@@ -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;
@@ -21,6 +21,9 @@ export declare class NavigationPane {
21
21
  private isRenameParent;
22
22
  private isRightClick;
23
23
  private renameParent;
24
+ private previousSelected;
25
+ private isNodeClickCalled;
26
+ private restrictSelecting;
24
27
  /**
25
28
  * Constructor for the TreeView module
26
29
  *
@@ -38,6 +41,8 @@ export declare class NavigationPane {
38
41
  private getDropPath;
39
42
  private onDrowNode;
40
43
  private addChild;
44
+ private onNodeSelecting;
45
+ openFileOnContextMenuClick(node: HTMLLIElement): void;
41
46
  private onNodeSelected;
42
47
  private onPathDrag;
43
48
  private onNodeExpand;
@@ -29,6 +29,12 @@ var NavigationPane = /** @class */ (function () {
29
29
  this.isRenameParent = false;
30
30
  this.isRightClick = false;
31
31
  this.renameParent = null;
32
+ // Specifies the previously selected nodes in the treeview control.
33
+ this.previousSelected = null;
34
+ // Specifies whether the nodeClicked event of the treeview control is triggered or not.
35
+ this.isNodeClickCalled = false;
36
+ // Specifies whether to restrict node selection in the treeview control.
37
+ this.restrictSelecting = false;
32
38
  this.parent = parent;
33
39
  this.addEventListener();
34
40
  this.keyConfigs = {
@@ -68,6 +74,7 @@ var NavigationPane = /** @class */ (function () {
68
74
  hasChildren: 'hasChild', iconCss: '_fm_icon', htmlAttributes: '_fm_htmlAttr', tooltip: 'name'
69
75
  },
70
76
  enableHtmlSanitizer: this.parent.enableHtmlSanitizer,
77
+ nodeSelecting: this.onNodeSelecting.bind(this),
71
78
  nodeSelected: this.onNodeSelected.bind(this),
72
79
  nodeExpanding: this.onNodeExpand.bind(this),
73
80
  nodeClicked: this.onNodeClicked.bind(this),
@@ -173,6 +180,44 @@ var NavigationPane = /** @class */ (function () {
173
180
  this.treeObj.addNodes(directories, target, null, prevent);
174
181
  }
175
182
  };
183
+ // Node Selecting event handler
184
+ NavigationPane.prototype.onNodeSelecting = function (args) {
185
+ if (!args.isInteracted && !this.isRightClick && !this.isPathDragged && !this.isRenameParent || this.restrictSelecting) {
186
+ this.restrictSelecting = false;
187
+ this.isNodeClickCalled = false;
188
+ return;
189
+ }
190
+ if (!this.renameParent) {
191
+ this.parent.activeModule = 'navigationpane';
192
+ // eslint-disable-next-line
193
+ var nodeData = this.getTreeData(getValue('id', args.nodeData));
194
+ var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
195
+ this.parent.trigger('fileOpen', eventArgs);
196
+ args.cancel = eventArgs.cancel;
197
+ if (args.cancel) {
198
+ this.restrictSelecting = this.isNodeClickCalled ? this.previousSelected[0] != args.node.getAttribute('data-uid') : false;
199
+ this.treeObj.selectedNodes = this.isNodeClickCalled ? this.previousSelected : this.treeObj.selectedNodes;
200
+ this.previousSelected = this.treeObj.selectedNodes;
201
+ if (!isNOU(this.parent) && !isNOU(this.parent.contextmenuModule)) {
202
+ this.parent.contextmenuModule.contextMenu.enableItems(['Open'], true);
203
+ }
204
+ }
205
+ }
206
+ };
207
+ // Opens the folder while clicking open context menu item in the treeview.
208
+ NavigationPane.prototype.openFileOnContextMenuClick = function (node) {
209
+ var data = this.treeObj.getTreeData(node);
210
+ // eslint-disable-next-line
211
+ this.parent.selectedItems = [];
212
+ this.parent.itemData = data;
213
+ this.activeNode = node;
214
+ this.parent.activeModule = 'navigationpane';
215
+ updatePath(node, this.parent.itemData[0], this.parent);
216
+ read(this.parent, this.isPathDragged ? events.pasteEnd : events.pathChanged, this.parent.path);
217
+ this.parent.visitedItem = node;
218
+ this.isPathDragged = this.isRenameParent = this.isRightClick = false;
219
+ this.treeObj.selectedNodes = [node.getAttribute('data-uid')];
220
+ };
176
221
  NavigationPane.prototype.onNodeSelected = function (args) {
177
222
  if (this.parent.breadcrumbbarModule && this.parent.breadcrumbbarModule.searchObj && !this.renameParent) {
178
223
  this.parent.breadcrumbbarModule.searchObj.element.value = '';
@@ -186,11 +231,6 @@ var NavigationPane = /** @class */ (function () {
186
231
  this.parent.activeModule = 'navigationpane';
187
232
  // eslint-disable-next-line
188
233
  var nodeData = this.getTreeData(getValue('id', args.nodeData));
189
- if (!this.renameParent) {
190
- var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
191
- delete eventArgs.cancel;
192
- this.parent.trigger('fileOpen', eventArgs);
193
- }
194
234
  this.parent.selectedItems = [];
195
235
  this.parent.itemData = nodeData;
196
236
  updatePath(args.node, this.parent.itemData[0], this.parent);
@@ -232,9 +272,11 @@ var NavigationPane = /** @class */ (function () {
232
272
  };
233
273
  NavigationPane.prototype.onNodeClicked = function (args) {
234
274
  this.parent.activeModule = 'navigationpane';
275
+ this.previousSelected = this.treeObj.selectedNodes;
235
276
  this.activeNode = args.node;
236
277
  if ((args.event.which === 3) && (args.node.getAttribute('data-uid') !== this.treeObj.selectedNodes[0])) {
237
278
  this.isRightClick = true;
279
+ this.isNodeClickCalled = true;
238
280
  this.treeObj.selectedNodes = [args.node.getAttribute('data-uid')];
239
281
  }
240
282
  else if (args.node.getAttribute('data-uid') === this.treeObj.selectedNodes[0] && this.parent.selectedItems.length !== 0) {
@@ -31,4 +31,12 @@ export interface SearchSettingsModel {
31
31
  */
32
32
  ignoreCase?: boolean;
33
33
 
34
+ /**
35
+ * Specifies the placeholder value to the search input of the File Manager component.
36
+ * It accepts string.
37
+ *
38
+ * @default null
39
+ */
40
+ placeholder?: string;
41
+
34
42
  }
@@ -29,4 +29,11 @@ export declare class SearchSettings extends ChildProperty<SearchSettings> {
29
29
  * @default true
30
30
  */
31
31
  ignoreCase: boolean;
32
+ /**
33
+ * Specifies the placeholder value to the search input of the File Manager component.
34
+ * It accepts string.
35
+ *
36
+ * @default null
37
+ */
38
+ placeholder: string;
32
39
  }
@@ -35,6 +35,9 @@ var SearchSettings = /** @class */ (function (_super) {
35
35
  __decorate([
36
36
  Property(true)
37
37
  ], SearchSettings.prototype, "ignoreCase", void 0);
38
+ __decorate([
39
+ Property(null)
40
+ ], SearchSettings.prototype, "placeholder", void 0);
38
41
  return SearchSettings;
39
42
  }(ChildProperty));
40
43
  export { SearchSettings };
@@ -15,6 +15,7 @@ export declare class ContextMenu {
15
15
  private currentItems;
16
16
  private currentElement;
17
17
  private disabledItems;
18
+ private targetNodeElement;
18
19
  menuItemData: object;
19
20
  /**
20
21
  * Constructor for the ContextMenu module
@@ -73,16 +73,13 @@ var ContextMenu = /** @class */ (function () {
73
73
  var data;
74
74
  var treeFolder = false;
75
75
  var target = args.event.target;
76
- this.menuTarget = target;
76
+ this.menuTarget = this.targetNodeElement = target;
77
77
  this.currentElement = args.element;
78
78
  if (target.classList.contains('e-spinner-pane')) {
79
79
  target = this.parent.navigationpaneModule.activeNode.getElementsByClassName(CLS.FULLROW)[0];
80
- this.menuTarget = target;
80
+ this.menuTarget = this.targetNodeElement = target;
81
81
  }
82
- if (target.classList.contains(CLS.FULLROW)) {
83
- this.parent.selectedItems.length = 0;
84
- }
85
- this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr') : target;
82
+ this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr.e-row') : target;
86
83
  var view = this.getTargetView(target);
87
84
  this.updateActiveModule();
88
85
  /* istanbul ignore next */
@@ -114,7 +111,7 @@ var ContextMenu = /** @class */ (function () {
114
111
  data = this.parent.visitedData;
115
112
  selected = true;
116
113
  }
117
- else if (!isNOU(closest(target, 'tr'))) {
114
+ else if (!isNOU(closest(target, 'tr.e-row'))) {
118
115
  uid = this.targetElement.getAttribute('data-uid');
119
116
  // eslint-disable-next-line
120
117
  data = this.parent.detailsviewModule.gridObj.getRowObjectFromUID(uid).data;
@@ -191,7 +188,7 @@ var ContextMenu = /** @class */ (function () {
191
188
  _this.enableItems(_this.disabledItems, false, true);
192
189
  args.cancel = menuOpenArgs.cancel;
193
190
  if (menuOpenArgs.cancel) {
194
- _this.menuTarget = _this.currentElement = null;
191
+ _this.menuTarget = _this.targetNodeElement = _this.currentElement = null;
195
192
  }
196
193
  });
197
194
  };
@@ -311,7 +308,12 @@ var ContextMenu = /** @class */ (function () {
311
308
  }
312
309
  else {
313
310
  this.parent.notify(events.selectedData, {});
314
- details = this.parent.itemData;
311
+ if (this.parent.activeModule === 'navigationpane' && itemText === 'open') {
312
+ details = [this.menuItemData];
313
+ }
314
+ else {
315
+ details = this.parent.itemData;
316
+ }
315
317
  }
316
318
  var eventArgs = {
317
319
  cancel: false,
@@ -388,6 +390,9 @@ var ContextMenu = /** @class */ (function () {
388
390
  if (_this.parent.visitedItem) {
389
391
  _this.parent.notify(events.openInit, { target: _this.parent.visitedItem });
390
392
  }
393
+ else if (_this.parent.activeModule === 'navigationpane') {
394
+ _this.parent.navigationpaneModule.openFileOnContextMenuClick(closest(_this.targetNodeElement, 'li'));
395
+ }
391
396
  break;
392
397
  case 'details':
393
398
  _this.parent.notify(events.detailsInit, {});
@@ -414,7 +414,7 @@ ejs-filemanager {
414
414
  }
415
415
 
416
416
  .e-filemanager .e-address .e-search-wrap .e-input-group .e-input {
417
- margin: -2px 0 0 24px;
417
+ margin: -1px 0 0 24px;
418
418
  padding: 0;
419
419
  }
420
420
 
@@ -1207,7 +1207,7 @@ ejs-filemanager {
1207
1207
  .e-filemanager.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input,
1208
1208
  .e-bigger .e-filemanager.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input,
1209
1209
  .e-filemanager.e-bigger.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input {
1210
- margin: -2px 0 0 24px;
1210
+ margin: -1px 0 0 24px;
1211
1211
  }
1212
1212
 
1213
1213
  .e-filemanager.e-fe-mobile .e-address .e-fe-search,
@@ -426,7 +426,7 @@ ejs-filemanager {
426
426
 
427
427
  .e-filemanager .e-address .e-fe-search {
428
428
  font-size: 14px;
429
- margin: 5px 0;
429
+ margin: 3px 0;
430
430
  padding: 5px;
431
431
  position: absolute;
432
432
  z-index: 1;
@@ -414,7 +414,7 @@ ejs-filemanager {
414
414
  }
415
415
 
416
416
  .e-filemanager .e-address .e-search-wrap .e-input-group .e-input {
417
- margin: -2px 0 0 24px;
417
+ margin: 0 0 0 24px;
418
418
  padding: 0;
419
419
  }
420
420
 
@@ -1207,7 +1207,7 @@ ejs-filemanager {
1207
1207
  .e-filemanager.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input,
1208
1208
  .e-bigger .e-filemanager.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input,
1209
1209
  .e-filemanager.e-bigger.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input {
1210
- margin: -2px 0 0 24px;
1210
+ margin: 0 0 0 24px;
1211
1211
  }
1212
1212
 
1213
1213
  .e-filemanager.e-fe-mobile .e-address .e-fe-search,
@@ -23,6 +23,7 @@
23
23
  }
24
24
 
25
25
  /*! TreeView's bootstrap5 theme wise override definitions and variables */
26
+ /*! Toolbar's bootstrap5 theme wise override definitions and variables */
26
27
  /*! FileManager's tailwind theme wise override definitions and variables */
27
28
  .e-filemanager .e-fe-icon,
28
29
  .e-filemanager .e-list-icon {
@@ -429,7 +430,7 @@ ejs-filemanager {
429
430
  .e-filemanager .e-address .e-search-wrap .e-input-group .e-input {
430
431
  margin: 0 0 0 29px;
431
432
  padding: 0;
432
- height: 30px;
433
+ height: 26px;
433
434
  }
434
435
 
435
436
  .e-filemanager .e-address .e-search-wrap .e-input-group .e-clear-icon {
@@ -1424,7 +1425,6 @@ ejs-filemanager {
1424
1425
  .e-bigger .e-filemanager .e-toolbar .e-toolbar-items .e-toolbar-item .e-btn-icon.e-icons,
1425
1426
  .e-filemanager.e-bigger .e-toolbar .e-toolbar-items .e-toolbar-item .e-btn-icon.e-icons {
1426
1427
  font-size: 20px;
1427
- padding-bottom: 0;
1428
1428
  }
1429
1429
 
1430
1430
  .e-bigger .e-filemanager .e-toolbar .e-toolbar-items .e-toolbar-item .e-dropdown-btn.e-btn.e-tbar-btn,
@@ -1545,9 +1545,14 @@ ejs-filemanager {
1545
1545
  padding: 0;
1546
1546
  }
1547
1547
 
1548
+ .e-bigger .e-filemanager .e-address .e-search-wrap .e-input-group .e-clear-icon::before,
1549
+ .e-filemanager.e-bigger .e-address .e-search-wrap .e-input-group .e-clear-icon::before {
1550
+ margin: 0;
1551
+ }
1552
+
1548
1553
  .e-bigger .e-filemanager .e-address .e-fe-search,
1549
1554
  .e-filemanager.e-bigger .e-address .e-fe-search {
1550
- font-size: 18px;
1555
+ font-size: 16px;
1551
1556
  margin: 4px;
1552
1557
  }
1553
1558
 
@@ -23,6 +23,7 @@
23
23
  }
24
24
 
25
25
  /*! TreeView's bootstrap5 theme wise override definitions and variables */
26
+ /*! Toolbar's bootstrap5 theme wise override definitions and variables */
26
27
  /*! FileManager's tailwind theme wise override definitions and variables */
27
28
  .e-filemanager .e-fe-icon,
28
29
  .e-filemanager .e-list-icon {
@@ -429,7 +430,7 @@ ejs-filemanager {
429
430
  .e-filemanager .e-address .e-search-wrap .e-input-group .e-input {
430
431
  margin: 0 0 0 29px;
431
432
  padding: 0;
432
- height: 30px;
433
+ height: 26px;
433
434
  }
434
435
 
435
436
  .e-filemanager .e-address .e-search-wrap .e-input-group .e-clear-icon {
@@ -1424,7 +1425,6 @@ ejs-filemanager {
1424
1425
  .e-bigger .e-filemanager .e-toolbar .e-toolbar-items .e-toolbar-item .e-btn-icon.e-icons,
1425
1426
  .e-filemanager.e-bigger .e-toolbar .e-toolbar-items .e-toolbar-item .e-btn-icon.e-icons {
1426
1427
  font-size: 20px;
1427
- padding-bottom: 0;
1428
1428
  }
1429
1429
 
1430
1430
  .e-bigger .e-filemanager .e-toolbar .e-toolbar-items .e-toolbar-item .e-dropdown-btn.e-btn.e-tbar-btn,
@@ -1545,9 +1545,14 @@ ejs-filemanager {
1545
1545
  padding: 0;
1546
1546
  }
1547
1547
 
1548
+ .e-bigger .e-filemanager .e-address .e-search-wrap .e-input-group .e-clear-icon::before,
1549
+ .e-filemanager.e-bigger .e-address .e-search-wrap .e-input-group .e-clear-icon::before {
1550
+ margin: 0;
1551
+ }
1552
+
1548
1553
  .e-bigger .e-filemanager .e-address .e-fe-search,
1549
1554
  .e-filemanager.e-bigger .e-address .e-fe-search {
1550
- font-size: 18px;
1555
+ font-size: 16px;
1551
1556
  margin: 4px;
1552
1557
  }
1553
1558
 
@@ -408,7 +408,7 @@ ejs-filemanager {
408
408
  }
409
409
 
410
410
  .e-filemanager .e-address .e-search-wrap .e-input-group .e-input {
411
- margin: -1px 0 0 24px;
411
+ margin: -2px 0 0 24px;
412
412
  padding: 0;
413
413
  }
414
414
 
@@ -418,7 +418,7 @@ ejs-filemanager {
418
418
 
419
419
  .e-filemanager .e-address .e-fe-search {
420
420
  font-size: 14px;
421
- margin: 5px 0;
421
+ margin: 4px 0;
422
422
  padding: 5px;
423
423
  position: absolute;
424
424
  z-index: 1;
@@ -1199,7 +1199,7 @@ ejs-filemanager {
1199
1199
  .e-filemanager.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input,
1200
1200
  .e-bigger .e-filemanager.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input,
1201
1201
  .e-filemanager.e-bigger.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input {
1202
- margin: -1px 0 0 24px;
1202
+ margin: -2px 0 0 24px;
1203
1203
  }
1204
1204
 
1205
1205
  .e-filemanager.e-fe-mobile .e-address .e-fe-search,
package/styles/fabric.css CHANGED
@@ -409,7 +409,7 @@ ejs-filemanager {
409
409
  }
410
410
 
411
411
  .e-filemanager .e-address .e-search-wrap .e-input-group .e-input {
412
- margin: -1px 0 0 24px;
412
+ margin: -2px 0 0 24px;
413
413
  padding: 0;
414
414
  }
415
415
 
@@ -419,7 +419,7 @@ ejs-filemanager {
419
419
 
420
420
  .e-filemanager .e-address .e-fe-search {
421
421
  font-size: 14px;
422
- margin: 5px 0;
422
+ margin: 4px 0;
423
423
  padding: 5px;
424
424
  position: absolute;
425
425
  z-index: 1;
@@ -1200,7 +1200,7 @@ ejs-filemanager {
1200
1200
  .e-filemanager.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input,
1201
1201
  .e-bigger .e-filemanager.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input,
1202
1202
  .e-filemanager.e-bigger.e-fe-mobile .e-address .e-search-wrap .e-input-group .e-input {
1203
- margin: -1px 0 0 24px;
1203
+ margin: -2px 0 0 24px;
1204
1204
  }
1205
1205
 
1206
1206
  .e-filemanager.e-fe-mobile .e-address .e-fe-search,
@@ -1488,7 +1488,7 @@ ejs-filemanager {
1488
1488
  .e-bigger .e-filemanager .e-address .e-search-wrap,
1489
1489
  .e-filemanager.e-bigger .e-address .e-search-wrap {
1490
1490
  min-width: 51px;
1491
- padding: 2px 12px 0 1px;
1491
+ padding: 1.5px 12px 0 1px;
1492
1492
  }
1493
1493
 
1494
1494
  .e-bigger .e-filemanager .e-address .e-search-wrap .e-input-group,
@@ -64,7 +64,7 @@ $fe-search-padding: 1.5px 8px 0 1px !default;
64
64
  $fe-search-height: 30px !default;
65
65
  $fe-search-icon-margin: 3px 0 !default;
66
66
  $fe-search-clear-icon-padding: 0 !default;
67
- $fe-search-input-margin: -2px 0 0 24px !default;
67
+ $fe-search-input-margin: -1px 0 0 24px !default;
68
68
  $fe-bc-margin: 0 !default;
69
69
  $fe-bc-padding: 2px 8px !default;
70
70
  $fe-bc-text-padding: 4px 4px 5px !default;
@@ -62,7 +62,7 @@ $fe-tb-ddb-caret-size: 8px !default;
62
62
  $fe-search-padding: 1.5px 8px 0 1px !default;
63
63
  $fe-upload-overlay-border: 3px !default;
64
64
  $fe-search-height: 30px !default;
65
- $fe-search-icon-margin: 5px 0 !default;
65
+ $fe-search-icon-margin: 3px 0 !default;
66
66
  $fe-search-clear-icon-padding: 0 !default;
67
67
  $fe-search-input-margin: -1px 0 0 24px !default;
68
68
  $fe-bc-margin: 0 !default;
@@ -66,7 +66,7 @@ $fe-search-padding: 1.5px 8px 0 1px !default;
66
66
  $fe-search-height: 30px !default;
67
67
  $fe-search-icon-margin: 3px 0 !default;
68
68
  $fe-search-clear-icon-padding: 0 !default;
69
- $fe-search-input-margin: -2px 0 0 24px !default;
69
+ $fe-search-input-margin: 0 0 0 24px !default;
70
70
  $fe-bc-margin: 0 !default;
71
71
  $fe-bc-padding: 2px 8px !default;
72
72
  $fe-bc-text-padding: 4px 4px 5px !default;
@@ -60,9 +60,9 @@ $fe-tb-ddb-caret-size: 10px !default;
60
60
  $fe-search-padding: 2px 4px 2px 8px !default;
61
61
  $fe-upload-overlay-border: 3px !default;
62
62
  $fe-search-height: 29px !default;
63
- $fe-search-icon-margin: 5px 0 !default;
63
+ $fe-search-icon-margin: 4px 0 !default;
64
64
  $fe-search-clear-icon-padding: 0 !default;
65
- $fe-search-input-margin: -1px 0 0 24px !default;
65
+ $fe-search-input-margin: -2px 0 0 24px !default;
66
66
  $fe-bc-margin: 0 !default;
67
67
  $fe-bc-padding: 6px 8px !default;
68
68
  $fe-bc-text-padding: 4px 4px 5px !default;