@syncfusion/ej2-filemanager 19.3.53 → 19.4.43

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 (61) hide show
  1. package/.eslintrc.json +244 -0
  2. package/CHANGELOG.md +17 -1
  3. package/README.md +1 -1
  4. package/dist/ej2-filemanager.umd.min.js +2 -2
  5. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-filemanager.es2015.js +74 -18
  7. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  8. package/dist/es6/ej2-filemanager.es5.js +74 -18
  9. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  10. package/dist/global/ej2-filemanager.min.js +2 -2
  11. package/dist/global/ej2-filemanager.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +15 -15
  14. package/src/file-manager/actions/breadcrumb-bar.js +1 -1
  15. package/src/file-manager/base/file-manager-model.d.ts +1 -1
  16. package/src/file-manager/base/file-manager.js +4 -1
  17. package/src/file-manager/base/interface.d.ts +1 -0
  18. package/src/file-manager/common/operations.js +1 -1
  19. package/src/file-manager/common/utility.js +2 -2
  20. package/src/file-manager/layout/details-view.js +1 -1
  21. package/src/file-manager/layout/navigation-pane.d.ts +5 -0
  22. package/src/file-manager/layout/navigation-pane.js +47 -5
  23. package/src/file-manager/models/default-locale.js +1 -1
  24. package/src/file-manager/models/search-settings-model.d.ts +8 -0
  25. package/src/file-manager/models/search-settings.d.ts +7 -0
  26. package/src/file-manager/models/search-settings.js +3 -0
  27. package/src/file-manager/pop-up/context-menu.d.ts +1 -0
  28. package/src/file-manager/pop-up/context-menu.js +14 -6
  29. package/styles/bootstrap-dark.css +2 -2
  30. package/styles/bootstrap.css +1 -1
  31. package/styles/bootstrap4.css +2 -2
  32. package/styles/bootstrap5-dark.css +8 -3
  33. package/styles/bootstrap5.css +8 -3
  34. package/styles/fabric-dark.css +3 -3
  35. package/styles/fabric.css +4 -4
  36. package/styles/file-manager/_bootstrap-dark-definition.scss +1 -1
  37. package/styles/file-manager/_bootstrap-definition.scss +1 -1
  38. package/styles/file-manager/_bootstrap4-definition.scss +1 -1
  39. package/styles/file-manager/_fabric-dark-definition.scss +2 -2
  40. package/styles/file-manager/_fabric-definition.scss +3 -3
  41. package/styles/file-manager/_fluent-definition.scss +245 -0
  42. package/styles/file-manager/_layout.scss +29 -5
  43. package/styles/file-manager/_material-definition.scss +1 -1
  44. package/styles/file-manager/_tailwind-definition.scss +2 -2
  45. package/styles/file-manager/bootstrap-dark.css +2 -2
  46. package/styles/file-manager/bootstrap.css +1 -1
  47. package/styles/file-manager/bootstrap4.css +2 -2
  48. package/styles/file-manager/bootstrap5-dark.css +8 -3
  49. package/styles/file-manager/bootstrap5.css +8 -3
  50. package/styles/file-manager/fabric-dark.css +3 -3
  51. package/styles/file-manager/fabric.css +4 -4
  52. package/styles/file-manager/icons/_fluent.scss +235 -0
  53. package/styles/file-manager/material-dark.css +6 -0
  54. package/styles/file-manager/material.css +7 -1
  55. package/styles/file-manager/tailwind-dark.css +4 -4
  56. package/styles/file-manager/tailwind.css +4 -4
  57. package/styles/material-dark.css +6 -0
  58. package/styles/material.css +7 -1
  59. package/styles/tailwind-dark.css +4 -4
  60. package/styles/tailwind.css +4 -4
  61. package/tslint.json +111 -0
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.3.53
3
+ * version : 19.4.43
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@18.5.10",
3
+ "_id": "@syncfusion/ej2-filemanager@19.4.42",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-7wl/Y86Qa3vJoDam94ni6cGKleEPIN4r+OW10OnY4jZSTcPCylyYEQ92uU13CWfYoBN5a6OIR/rZcBpzVwpXCw==",
5
+ "_integrity": "sha512-1IPNHqxz6MlyoefNUbo/hxHTHTUB94EcY+G1HCd27JfInXYy9ogD5JcWLVyEr9+DDNDSOq3lqHf/ARKLwmc4NA==",
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-18.5.10.tgz",
29
- "_shasum": "a6e4c63146e14bd897402fc8326bce5dea3c2b1c",
28
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-filemanager/-/ej2-filemanager-19.4.42.tgz",
29
+ "_shasum": "10afd89bb64134c599dd1f45f1ef94ed1f1497e0",
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.53",
41
- "@syncfusion/ej2-buttons": "~19.3.53",
42
- "@syncfusion/ej2-data": "~19.3.53",
43
- "@syncfusion/ej2-grids": "~19.3.53",
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.53",
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.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
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.53",
71
+ "version": "19.4.43",
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
  /**
@@ -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';
@@ -120,6 +120,9 @@ var FileManager = /** @class */ (function (_super) {
120
120
  * @returns {void}
121
121
  */
122
122
  FileManager.prototype.preRender = function () {
123
+ if (isNOU(this.element.id) || this.element.id === '') {
124
+ this.element.setAttribute('id', getUniqueID('filemanager'));
125
+ }
123
126
  this.ensurePath();
124
127
  this.feParent = [];
125
128
  this.feFiles = [];
@@ -601,6 +601,7 @@ export interface ITreeView extends Component<HTMLElement> {
601
601
  duplicateFiles: Function;
602
602
  rootID: string;
603
603
  activeNode: Element;
604
+ openFileOnContextMenuClick: Function;
604
605
  }
605
606
  /** @hidden */
606
607
  export interface IContextMenu extends Component<HTMLElement> {
@@ -53,7 +53,7 @@ export function filter(parent, event) {
53
53
  var filterData;
54
54
  // eslint-disable-next-line
55
55
  var filterDataVal = parent.filterData ? extend(filterData, data, parent.filterData) : data;
56
- createAjax(parent, filterData, filterSuccess, event, getValue('action', filterDataVal));
56
+ createAjax(parent, filterDataVal, filterSuccess, event, getValue('action', filterDataVal));
57
57
  }
58
58
  /**
59
59
  * Function to rename the folder/file in File Manager.
@@ -448,7 +448,7 @@ export function fileType(file) {
448
448
  export function getImageUrl(parent, item) {
449
449
  var baseUrl = parent.ajaxSettings.getImageUrl ? parent.ajaxSettings.getImageUrl : parent.ajaxSettings.url;
450
450
  var imgUrl;
451
- var fileName = getValue('name', item);
451
+ var fileName = encodeURIComponent(getValue('name', item));
452
452
  var fPath = getValue('filterPath', item);
453
453
  if (parent.hasId) {
454
454
  var imgId = getValue('id', item);
@@ -1022,7 +1022,7 @@ export function createVirtualDragElement(parent) {
1022
1022
  parent.dragNodes.push(parent.selectedItems[i]);
1023
1023
  i++;
1024
1024
  }
1025
- if (parent.selectedItems.length == 0 && parent.dragData && parent.dragData.length == 1) {
1025
+ if (parent.selectedItems.length === 0 && parent.dragData && parent.dragData.length === 1) {
1026
1026
  parent.dragNodes.push(getItemName(parent, parent.dragData[0]));
1027
1027
  }
1028
1028
  }
@@ -894,7 +894,7 @@ var DetailsView = /** @class */ (function () {
894
894
  // eslint-disable-next-line
895
895
  this.parent.dragData = this.gridObj.getSelectedRecords();
896
896
  var dragRow;
897
- if (this.parent.dragData.length == 0 && dragLi) {
897
+ if (this.parent.dragData.length === 0 && dragLi) {
898
898
  dragRow = this.gridObj.getRowInfo(dragLi);
899
899
  }
900
900
  if (dragRow) {
@@ -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
+ return;
188
+ }
189
+ if (!this.renameParent) {
190
+ this.parent.activeModule = 'navigationpane';
191
+ // eslint-disable-next-line
192
+ var nodeData = this.getTreeData(getValue('id', args.nodeData));
193
+ var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
194
+ delete eventArgs.cancel;
195
+ this.parent.trigger('fileOpen', eventArgs);
196
+ args.cancel = eventArgs.cancel;
197
+ if (args.cancel) {
198
+ this.restrictSelecting = true;
199
+ this.treeObj.selectedNodes = this.isNodeClickCalled ? this.previousSelected : this.treeObj.selectedNodes;
200
+ this.isNodeClickCalled = false;
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);
@@ -235,6 +275,8 @@ var NavigationPane = /** @class */ (function () {
235
275
  this.activeNode = args.node;
236
276
  if ((args.event.which === 3) && (args.node.getAttribute('data-uid') !== this.treeObj.selectedNodes[0])) {
237
277
  this.isRightClick = true;
278
+ this.isNodeClickCalled = true;
279
+ this.previousSelected = this.treeObj.selectedNodes;
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) {
@@ -85,7 +85,7 @@ export var defaultLocale = {
85
85
  'Filter-Empty': 'No results found',
86
86
  'Filter-Key': 'Try with different filter',
87
87
  'Sub-Folder-Error': 'The destination folder is the subfolder of the source folder.',
88
- "Same-Folder-Error": "The destination folder is the same as the source folder.",
88
+ 'Same-Folder-Error': 'The destination folder is the same as the source folder.',
89
89
  'Access-Denied': 'Access Denied',
90
90
  'Access-Details': 'You don"t have permission to access this folder.',
91
91
  'Header-Retry': 'File Already Exists',
@@ -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,16 @@ 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
82
  if (target.classList.contains(CLS.FULLROW)) {
83
83
  this.parent.selectedItems.length = 0;
84
84
  }
85
- this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr') : target;
85
+ this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr.e-row') : target;
86
86
  var view = this.getTargetView(target);
87
87
  this.updateActiveModule();
88
88
  /* istanbul ignore next */
@@ -114,7 +114,7 @@ var ContextMenu = /** @class */ (function () {
114
114
  data = this.parent.visitedData;
115
115
  selected = true;
116
116
  }
117
- else if (!isNOU(closest(target, 'tr'))) {
117
+ else if (!isNOU(closest(target, 'tr.e-row'))) {
118
118
  uid = this.targetElement.getAttribute('data-uid');
119
119
  // eslint-disable-next-line
120
120
  data = this.parent.detailsviewModule.gridObj.getRowObjectFromUID(uid).data;
@@ -191,7 +191,7 @@ var ContextMenu = /** @class */ (function () {
191
191
  _this.enableItems(_this.disabledItems, false, true);
192
192
  args.cancel = menuOpenArgs.cancel;
193
193
  if (menuOpenArgs.cancel) {
194
- _this.menuTarget = _this.currentElement = null;
194
+ _this.menuTarget = _this.targetNodeElement = _this.currentElement = null;
195
195
  }
196
196
  });
197
197
  };
@@ -311,7 +311,12 @@ var ContextMenu = /** @class */ (function () {
311
311
  }
312
312
  else {
313
313
  this.parent.notify(events.selectedData, {});
314
- details = this.parent.itemData;
314
+ if (this.parent.activeModule === 'navigationpane' && itemText === 'open') {
315
+ details = [this.menuItemData];
316
+ }
317
+ else {
318
+ details = this.parent.itemData;
319
+ }
315
320
  }
316
321
  var eventArgs = {
317
322
  cancel: false,
@@ -388,6 +393,9 @@ var ContextMenu = /** @class */ (function () {
388
393
  if (_this.parent.visitedItem) {
389
394
  _this.parent.notify(events.openInit, { target: _this.parent.visitedItem });
390
395
  }
396
+ else if (_this.parent.activeModule === 'navigationpane') {
397
+ _this.parent.navigationpaneModule.openFileOnContextMenuClick(closest(_this.targetNodeElement, 'li'));
398
+ }
391
399
  break;
392
400
  case 'details':
393
401
  _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;
@@ -62,9 +62,9 @@ $fe-tb-ddb-caret-size: 10px !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: 4px 0 !default;
66
66
  $fe-search-clear-icon-padding: 0 !default;
67
- $fe-search-input-margin: -1px 0 0 24px !default;
67
+ $fe-search-input-margin: -2px 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;
@@ -113,7 +113,7 @@ $fe-big-address-height: 40px !default;
113
113
  $fe-big-tv-node-height: 38px !default;
114
114
  $fe-big-tb-ddb-btn-hvr-padding: 0 !default;
115
115
  $fe-big-tb-ddb-btn-padding: 0 !default;
116
- $fe-big-search-padding: 2px 12px 0 1px !default;
116
+ $fe-big-search-padding: 1.5px 12px 0 1px !default;
117
117
  $fe-big-search-height: 36px !default;
118
118
  $fe-big-bc-padding: 3px 12px !default;
119
119
  $fe-big-bc-text-size: 32px !default;