@syncfusion/ej2-filemanager 19.4.38 → 19.4.48
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.
- package/CHANGELOG.md +25 -0
- package/README.md +1 -1
- package/dist/ej2-filemanager.umd.min.js +2 -2
- package/dist/ej2-filemanager.umd.min.js.map +1 -1
- package/dist/es6/ej2-filemanager.es2015.js +74 -15
- package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
- package/dist/es6/ej2-filemanager.es5.js +74 -15
- package/dist/es6/ej2-filemanager.es5.js.map +1 -1
- package/dist/global/ej2-filemanager.min.js +2 -2
- package/dist/global/ej2-filemanager.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +15 -15
- package/src/file-manager/base/file-manager-model.d.ts +1 -1
- package/src/file-manager/base/file-manager.d.ts +1 -0
- package/src/file-manager/base/file-manager.js +6 -1
- package/src/file-manager/base/interface.d.ts +2 -0
- package/src/file-manager/common/utility.js +9 -2
- package/src/file-manager/layout/large-icons-view.d.ts +1 -1
- package/src/file-manager/layout/navigation-pane.d.ts +5 -0
- package/src/file-manager/layout/navigation-pane.js +47 -5
- package/src/file-manager/pop-up/context-menu.d.ts +1 -0
- package/src/file-manager/pop-up/context-menu.js +12 -7
package/dist/global/index.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
2
|
* filename: index.d.ts
|
3
|
-
* version : 19.4.
|
3
|
+
* version : 19.4.48
|
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@
|
3
|
+
"_id": "@syncfusion/ej2-filemanager@19.4.43",
|
4
4
|
"_inBundle": false,
|
5
|
-
"_integrity": "sha512-
|
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-
|
29
|
-
"_shasum": "
|
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.4.
|
41
|
-
"@syncfusion/ej2-buttons": "~19.4.
|
42
|
-
"@syncfusion/ej2-data": "~19.4.
|
43
|
-
"@syncfusion/ej2-grids": "~19.4.
|
44
|
-
"@syncfusion/ej2-inputs": "~19.4.
|
45
|
-
"@syncfusion/ej2-layouts": "~19.4.
|
46
|
-
"@syncfusion/ej2-lists": "~19.4.
|
47
|
-
"@syncfusion/ej2-navigations": "~19.4.
|
48
|
-
"@syncfusion/ej2-popups": "~19.4.
|
49
|
-
"@syncfusion/ej2-splitbuttons": "~19.4.
|
40
|
+
"@syncfusion/ej2-base": "~19.4.48",
|
41
|
+
"@syncfusion/ej2-buttons": "~19.4.48",
|
42
|
+
"@syncfusion/ej2-data": "~19.4.48",
|
43
|
+
"@syncfusion/ej2-grids": "~19.4.48",
|
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.48",
|
48
|
+
"@syncfusion/ej2-popups": "~19.4.48",
|
49
|
+
"@syncfusion/ej2-splitbuttons": "~19.4.48",
|
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.4.
|
71
|
+
"version": "19.4.48",
|
72
72
|
"sideEffects": false
|
73
73
|
}
|
@@ -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
|
-
|
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
|
}
|
@@ -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) {
|
@@ -73,14 +73,11 @@ 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;
|
81
|
-
}
|
82
|
-
if (target.classList.contains(CLS.FULLROW)) {
|
83
|
-
this.parent.selectedItems.length = 0;
|
80
|
+
this.menuTarget = this.targetNodeElement = target;
|
84
81
|
}
|
85
82
|
this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr.e-row') : target;
|
86
83
|
var view = this.getTargetView(target);
|
@@ -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
|
-
|
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, {});
|