@syncfusion/ej2-filemanager 30.1.37 → 30.1.39

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 (148) hide show
  1. package/dist/ej2-filemanager.min.js +2 -2
  2. package/dist/ej2-filemanager.umd.min.js +2 -2
  3. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-filemanager.es2015.js +8 -3
  5. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  6. package/dist/es6/ej2-filemanager.es5.js +7 -2
  7. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  8. package/dist/global/ej2-filemanager.min.js +2 -2
  9. package/dist/global/ej2-filemanager.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +17 -52
  12. package/src/file-manager/common/utility.js +3 -0
  13. package/src/file-manager/layout/navigation-pane.js +4 -2
  14. package/styles/bds-lite.css +11 -12
  15. package/styles/bds.css +11 -12
  16. package/styles/bootstrap-dark-lite.css +11 -12
  17. package/styles/bootstrap-dark.css +11 -12
  18. package/styles/bootstrap-lite.css +11 -12
  19. package/styles/bootstrap.css +11 -12
  20. package/styles/bootstrap4-lite.css +11 -12
  21. package/styles/bootstrap4.css +11 -12
  22. package/styles/bootstrap5-dark-lite.css +11 -12
  23. package/styles/bootstrap5-dark.css +11 -12
  24. package/styles/bootstrap5-lite.css +11 -12
  25. package/styles/bootstrap5.3-lite.css +11 -12
  26. package/styles/bootstrap5.3.css +11 -12
  27. package/styles/bootstrap5.css +11 -12
  28. package/styles/fabric-dark-lite.css +11 -12
  29. package/styles/fabric-dark.css +11 -12
  30. package/styles/fabric-lite.css +11 -12
  31. package/styles/fabric.css +11 -12
  32. package/styles/file-manager/_layout.scss +7 -7
  33. package/styles/file-manager/bds.css +11 -12
  34. package/styles/file-manager/bootstrap-dark.css +11 -12
  35. package/styles/file-manager/bootstrap.css +11 -12
  36. package/styles/file-manager/bootstrap4.css +11 -12
  37. package/styles/file-manager/bootstrap5-dark.css +11 -12
  38. package/styles/file-manager/bootstrap5.3.css +11 -12
  39. package/styles/file-manager/bootstrap5.css +11 -12
  40. package/styles/file-manager/fabric-dark.css +11 -12
  41. package/styles/file-manager/fabric.css +11 -12
  42. package/styles/file-manager/fluent-dark.css +11 -12
  43. package/styles/file-manager/fluent.css +11 -12
  44. package/styles/file-manager/fluent2.css +11 -12
  45. package/styles/file-manager/highcontrast-light.css +11 -12
  46. package/styles/file-manager/highcontrast.css +11 -12
  47. package/styles/file-manager/material-dark.css +11 -12
  48. package/styles/file-manager/material.css +11 -12
  49. package/styles/file-manager/material3-dark.css +11 -12
  50. package/styles/file-manager/material3.css +11 -12
  51. package/styles/file-manager/tailwind-dark.css +11 -12
  52. package/styles/file-manager/tailwind.css +11 -12
  53. package/styles/file-manager/tailwind3.css +11 -12
  54. package/styles/fluent-dark-lite.css +11 -12
  55. package/styles/fluent-dark.css +11 -12
  56. package/styles/fluent-lite.css +11 -12
  57. package/styles/fluent.css +11 -12
  58. package/styles/fluent2-lite.css +11 -12
  59. package/styles/fluent2.css +11 -12
  60. package/styles/highcontrast-light-lite.css +11 -12
  61. package/styles/highcontrast-light.css +11 -12
  62. package/styles/highcontrast-lite.css +11 -12
  63. package/styles/highcontrast.css +11 -12
  64. package/styles/material-dark-lite.css +11 -12
  65. package/styles/material-dark.css +11 -12
  66. package/styles/material-lite.css +11 -12
  67. package/styles/material.css +11 -12
  68. package/styles/material3-dark-lite.css +11 -12
  69. package/styles/material3-dark.css +11 -12
  70. package/styles/material3-lite.css +11 -12
  71. package/styles/material3.css +11 -12
  72. package/styles/tailwind-dark-lite.css +11 -12
  73. package/styles/tailwind-dark.css +11 -12
  74. package/styles/tailwind-lite.css +11 -12
  75. package/styles/tailwind.css +11 -12
  76. package/styles/tailwind3-lite.css +11 -12
  77. package/styles/tailwind3.css +11 -12
  78. package/dist/ts/file-manager/actions/breadcrumb-bar.d.ts +0 -60
  79. package/dist/ts/file-manager/actions/breadcrumb-bar.ts +0 -423
  80. package/dist/ts/file-manager/actions/index.d.ts +0 -6
  81. package/dist/ts/file-manager/actions/index.ts +0 -6
  82. package/dist/ts/file-manager/actions/toolbar.d.ts +0 -54
  83. package/dist/ts/file-manager/actions/toolbar.ts +0 -609
  84. package/dist/ts/file-manager/actions/virtualization.d.ts +0 -93
  85. package/dist/ts/file-manager/actions/virtualization.ts +0 -324
  86. package/dist/ts/file-manager/base/classes.d.ts +0 -224
  87. package/dist/ts/file-manager/base/classes.ts +0 -225
  88. package/dist/ts/file-manager/base/constant.d.ts +0 -136
  89. package/dist/ts/file-manager/base/constant.ts +0 -137
  90. package/dist/ts/file-manager/base/file-manager-model.d.ts +0 -520
  91. package/dist/ts/file-manager/base/file-manager.d.ts +0 -867
  92. package/dist/ts/file-manager/base/file-manager.ts +0 -2061
  93. package/dist/ts/file-manager/base/index.d.ts +0 -8
  94. package/dist/ts/file-manager/base/index.ts +0 -8
  95. package/dist/ts/file-manager/base/interface.d.ts +0 -952
  96. package/dist/ts/file-manager/base/interface.ts +0 -931
  97. package/dist/ts/file-manager/common/index.d.ts +0 -5
  98. package/dist/ts/file-manager/common/index.ts +0 -5
  99. package/dist/ts/file-manager/common/operations.d.ts +0 -122
  100. package/dist/ts/file-manager/common/operations.ts +0 -1369
  101. package/dist/ts/file-manager/common/utility.d.ts +0 -644
  102. package/dist/ts/file-manager/common/utility.ts +0 -1728
  103. package/dist/ts/file-manager/index.d.ts +0 -9
  104. package/dist/ts/file-manager/index.ts +0 -9
  105. package/dist/ts/file-manager/layout/details-view.d.ts +0 -152
  106. package/dist/ts/file-manager/layout/details-view.ts +0 -1990
  107. package/dist/ts/file-manager/layout/index.d.ts +0 -6
  108. package/dist/ts/file-manager/layout/index.ts +0 -6
  109. package/dist/ts/file-manager/layout/large-icons-view.d.ts +0 -157
  110. package/dist/ts/file-manager/layout/large-icons-view.ts +0 -1684
  111. package/dist/ts/file-manager/layout/navigation-pane.d.ts +0 -104
  112. package/dist/ts/file-manager/layout/navigation-pane.ts +0 -919
  113. package/dist/ts/file-manager/models/ajax-settings-model.d.ts +0 -36
  114. package/dist/ts/file-manager/models/ajax-settings.d.ts +0 -30
  115. package/dist/ts/file-manager/models/ajax-settings.ts +0 -39
  116. package/dist/ts/file-manager/models/column-model.d.ts +0 -155
  117. package/dist/ts/file-manager/models/column.d.ts +0 -179
  118. package/dist/ts/file-manager/models/column.ts +0 -216
  119. package/dist/ts/file-manager/models/contextMenu-settings-model.d.ts +0 -36
  120. package/dist/ts/file-manager/models/contextMenu-settings.d.ts +0 -33
  121. package/dist/ts/file-manager/models/contextMenu-settings.ts +0 -44
  122. package/dist/ts/file-manager/models/default-locale.d.ts +0 -4
  123. package/dist/ts/file-manager/models/default-locale.ts +0 -101
  124. package/dist/ts/file-manager/models/details-view-settings-model.d.ts +0 -30
  125. package/dist/ts/file-manager/models/details-view-settings.d.ts +0 -31
  126. package/dist/ts/file-manager/models/details-view-settings.ts +0 -54
  127. package/dist/ts/file-manager/models/index.d.ts +0 -19
  128. package/dist/ts/file-manager/models/index.ts +0 -19
  129. package/dist/ts/file-manager/models/navigation-pane-settings-model.d.ts +0 -40
  130. package/dist/ts/file-manager/models/navigation-pane-settings.d.ts +0 -34
  131. package/dist/ts/file-manager/models/navigation-pane-settings.ts +0 -42
  132. package/dist/ts/file-manager/models/search-settings-model.d.ts +0 -42
  133. package/dist/ts/file-manager/models/search-settings.d.ts +0 -44
  134. package/dist/ts/file-manager/models/search-settings.ts +0 -53
  135. package/dist/ts/file-manager/models/toolbar-settings-model.d.ts +0 -197
  136. package/dist/ts/file-manager/models/toolbar-settings.d.ts +0 -174
  137. package/dist/ts/file-manager/models/toolbar-settings.ts +0 -198
  138. package/dist/ts/file-manager/models/upload-settings-model.d.ts +0 -70
  139. package/dist/ts/file-manager/models/upload-settings.d.ts +0 -61
  140. package/dist/ts/file-manager/models/upload-settings.ts +0 -75
  141. package/dist/ts/file-manager/pop-up/context-menu.d.ts +0 -64
  142. package/dist/ts/file-manager/pop-up/context-menu.ts +0 -693
  143. package/dist/ts/file-manager/pop-up/dialog.d.ts +0 -31
  144. package/dist/ts/file-manager/pop-up/dialog.ts +0 -1009
  145. package/dist/ts/file-manager/pop-up/index.d.ts +0 -5
  146. package/dist/ts/file-manager/pop-up/index.ts +0 -5
  147. package/dist/ts/index.d.ts +0 -4
  148. package/dist/ts/index.ts +0 -4
@@ -1,423 +0,0 @@
1
- import { EventHandler, closest, isNullOrUndefined, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';
2
- import { getValue, addClass, removeClass, remove, createElement, DragEventArgs } from '@syncfusion/ej2-base';
3
- import { TextBox, ChangedEventArgs } from '@syncfusion/ej2-inputs';
4
- import { IFileManager, NotifyArgs, ReadArgs, FileOpenEventArgs } from '../base/interface';
5
- import { DropDownButton, MenuEventArgs } from '@syncfusion/ej2-splitbuttons';
6
- import { read } from '../common/operations';
7
- import { getLocaleText, searchWordHandler } from '../common/utility';
8
- import * as events from '../base/constant';
9
- import * as CLS from '../base/classes';
10
- import { SearchSettingsModel } from '../models';
11
-
12
- /**
13
- * BreadCrumbBar module
14
- */
15
- export class BreadCrumbBar {
16
-
17
- /* Internal variables */
18
- private parent: IFileManager;
19
- public addressPath: string = '';
20
- public addressBarLink: string = '';
21
- public searchObj: TextBox;
22
- private subMenuObj: DropDownButton;
23
- private keyboardModule: KeyboardEvents;
24
- private searchTimer: number = null;
25
- private keyConfigs: { [key: string]: string };
26
- private searchWrapWidth: number = null;
27
- /**
28
- * constructor for addressbar module
29
- *
30
- * @hidden
31
- * @param {IFileManager} parent - specifies parent element.
32
- * @private
33
- *
34
- */
35
- constructor(parent?: IFileManager) {
36
- this.parent = parent;
37
- this.keyConfigs = {
38
- enter: 'enter'
39
- };
40
- this.render();
41
- }
42
- private onPropertyChanged(e: NotifyArgs): void {
43
- if (e.module !== this.getModuleName() && e.module !== 'common') {
44
- return;
45
- }
46
- for (const prop of Object.keys(e.newProp)) {
47
- const value: SearchSettingsModel = e.newProp.searchSettings;
48
- switch (prop) {
49
- case 'searchSettings':
50
- if (!isNullOrUndefined(value.allowSearchOnTyping)) {
51
- this.searchEventBind(value.allowSearchOnTyping);
52
- }
53
- if (this.parent.breadcrumbbarModule.searchObj.value && this.parent.breadcrumbbarModule.searchObj.value !== '' &&
54
- !(!isNullOrUndefined(value.allowSearchOnTyping) && isNullOrUndefined(value.filterType) &&
55
- isNullOrUndefined(value.ignoreCase))) {
56
- searchWordHandler(this.parent, this.parent.breadcrumbbarModule.searchObj.value, false);
57
- }
58
- break;
59
- }
60
- }
61
- }
62
- private render(): void {
63
- this.addEventListener();
64
- }
65
- public onPathChange(): void {
66
- const pathNames: string[] = this.parent.pathNames;
67
- const paths: string[] = this.parent.path.split('/');
68
- const addressbarUL: HTMLElement = this.parent.createElement('ul', { className: 'e-addressbar-ul' });
69
- let addressbarLI: HTMLElement = null;
70
- const pathNamesLen: number = pathNames.length;
71
- if (pathNames.length > 0) {
72
- let id: string = '';
73
- for (let i: number = 0; i < pathNamesLen; i++) {
74
- let addressATag: HTMLElement = null;
75
- addressbarLI = this.parent.createElement('li', { className: 'e-address-list-item' });
76
- for (let j: number = 0; j <= i; j++) {
77
- id = id + paths[j as number] + '/';
78
- }
79
- addressbarLI.setAttribute('data-utext', id);
80
- if (i !== 0) {
81
- const icon: HTMLElement = createElement('span', { className: CLS.ICONS });
82
- addressbarLI.appendChild(icon);
83
- }
84
- if (pathNamesLen - i !== 1) {
85
- addressATag = createElement('a', { className: CLS.LIST_TEXT });
86
- addressbarLI.setAttribute('tabindex', '0');
87
- } else {
88
- addressATag = createElement('span', { className: CLS.LIST_TEXT });
89
- }
90
- id = '';
91
- addressATag.innerText = pathNames[i as number];
92
- addressbarLI.appendChild(addressATag);
93
- addressbarUL.appendChild(addressbarLI);
94
- }
95
- const ulElement: Element = this.parent.breadCrumbBarNavigation.querySelector('.e-addressbar-ul');
96
- if (!isNullOrUndefined(ulElement)) {
97
- if (!isNullOrUndefined(this.subMenuObj)) {
98
- this.subMenuObj.destroy();
99
- }
100
- remove(ulElement);
101
- }
102
- const searchWrap: Element = this.parent.breadCrumbBarNavigation.querySelector('.e-search-wrap');
103
- if (!searchWrap) {
104
- this.parent.breadCrumbBarNavigation.insertBefore(addressbarUL, searchWrap);
105
- } else {
106
- this.parent.breadCrumbBarNavigation.appendChild(addressbarUL);
107
- }
108
- this.updateBreadCrumbBar(addressbarUL);
109
- }
110
- }
111
- /* istanbul ignore next */
112
- private updateBreadCrumbBar(addresBarUL: HTMLElement): void {
113
- const liElements: NodeListOf<Element> = addresBarUL.querySelectorAll('li');
114
- const ulElement: Element = this.parent.breadCrumbBarNavigation.querySelector('.e-addressbar-ul');
115
- const style: CSSStyleDeclaration = window.getComputedStyle(ulElement, null);
116
- const pRight: number = parseFloat(style.getPropertyValue('padding-right'));
117
- const pLeft: number = parseFloat(style.getPropertyValue('padding-left'));
118
- let breadCrumbBarWidth: number = (<HTMLElement>ulElement).offsetWidth - pRight - pLeft;
119
- const addressbarUL: HTMLElement = this.parent.createElement('ul', { className: 'e-addressbar-ul' });
120
- let liElementsWidth: number = 0;
121
- const liElementsWidths: number[] = [];
122
- for (let i: number = 0; i < liElements.length; i++) {
123
- const width: number = liElements[i as number].clientWidth;
124
- liElementsWidths.push(width);
125
- liElementsWidth = liElementsWidth + width;
126
- }
127
- if (!isNullOrUndefined(ulElement)) {
128
- remove(ulElement);
129
- }
130
- const searchContainer: HTMLElement = this.parent.createElement('div');
131
- searchContainer.setAttribute('class', 'e-search-wrap');
132
- const id: string = this.parent.element.id + CLS.SEARCH_ID;
133
- const searchInput: HTMLElement = createElement('input', { id: id,
134
- attrs: { autocomplete: 'off', 'aria-label': getLocaleText(this.parent, 'Search') } });
135
- searchContainer.appendChild(searchInput);
136
- const searchEle: Element = this.parent.breadCrumbBarNavigation.querySelector('.e-search-wrap .e-input');
137
- if (isNullOrUndefined(searchEle)) {
138
- this.parent.breadCrumbBarNavigation.appendChild(searchContainer);
139
- const span: Element = createElement('span', { className: 'e-icons e-fe-search' });
140
- EventHandler.add(span, 'click', this.onShowInput, this);
141
- searchInput.parentElement.insertBefore(span, searchInput);
142
- this.searchObj = new TextBox({
143
- value: '',
144
- showClearButton: true,
145
- placeholder: getLocaleText(this.parent, 'Search'),
146
- focus: this.onFocus.bind(this),
147
- blur: this.onBlur.bind(this)
148
- });
149
- this.searchObj.appendTo('#' + this.parent.element.id + CLS.SEARCH_ID);
150
- this.searchEventBind(this.parent.searchSettings.allowSearchOnTyping);
151
- const search: Element = this.searchObj.element.nextElementSibling;
152
- EventHandler.add(search, 'mousedown', this.searchChangeHandler.bind(this), this);
153
- EventHandler.add(this.searchObj.element, 'keyup', this.onKeyUp.bind(this), this);
154
- }
155
- const searchWrap: HTMLElement = this.parent.breadCrumbBarNavigation.querySelector('.e-search-wrap');
156
- breadCrumbBarWidth = breadCrumbBarWidth - (this.searchWrapWidth ? this.searchWrapWidth : searchWrap.offsetWidth);
157
- if (liElementsWidth > breadCrumbBarWidth) {
158
- let i: number = liElements.length;
159
- while (i--) {
160
- const diff: number = breadCrumbBarWidth - liElementsWidths[i as number];
161
- if (diff > 40) {
162
- addressbarUL.insertBefore(liElements[i as number], addressbarUL.querySelector('li'));
163
- breadCrumbBarWidth = diff;
164
- } else {
165
- const items: Object[] = [];
166
- for (let j: number = 0; j <= i; j++) {
167
- const liElement: Element = liElements[j as number];
168
- items.push({
169
- text: (<HTMLElement>liElement).innerText,
170
- utext: liElement.getAttribute('data-utext')
171
- });
172
- }
173
- const subMenuLi: HTMLElement = this.parent.createElement('li', { className: 'e-breadcrumb-menu' });
174
- const attributes: Object = { className: 'e-breadcrumb-submenu' };
175
- const subMenuSpan: HTMLElement = this.parent.createElement('button', attributes);
176
- subMenuLi.appendChild(subMenuSpan);
177
- addressbarUL.insertBefore(subMenuLi, addressbarUL.querySelector('li'));
178
- this.subMenuObj = new DropDownButton({
179
- items: items,
180
- cssClass: 'e-caret-hide e-submenu',
181
- iconCss: CLS.ICON_BREADCRUMB,
182
- iconPosition: 'Top',
183
- enableHtmlSanitizer: this.parent.enableHtmlSanitizer,
184
- beforeItemRender: this.addSubMenuAttributes.bind(this),
185
- select: this.subMenuSelectOperations.bind(this)
186
- });
187
- this.subMenuObj.isStringTemplate = true;
188
- this.subMenuObj.appendTo(subMenuSpan);
189
- break;
190
- }
191
- }
192
- this.parent.breadCrumbBarNavigation.insertBefore(addressbarUL, searchWrap);
193
- } else {
194
- this.parent.breadCrumbBarNavigation.insertBefore(addresBarUL, searchWrap);
195
- }
196
- }
197
- /* istanbul ignore next */
198
- private onFocus(): void {
199
- const wrap: Element = closest(this.searchObj.element, '.e-search-wrap');
200
- wrap.classList.add('e-focus');
201
- }
202
- /* istanbul ignore next */
203
- private onKeyUp(): void {
204
- this.parent.notify(events.pathColumn, { args: this.parent });
205
- }
206
- /* istanbul ignore next */
207
- private onBlur(): void {
208
- const wrap: Element = closest(this.searchObj.element, '.e-search-wrap');
209
- wrap.classList.remove('e-focus');
210
- }
211
- /* istanbul ignore next */
212
- private subMenuSelectOperations(event: MenuEventArgs): void {
213
- const args: Object = { target: event.element };
214
- this.addressPathClickHandler(<Event>args);
215
- }
216
- /* istanbul ignore next */
217
- private addSubMenuAttributes(args: MenuEventArgs): void {
218
- args.element.setAttribute('data-utext', getValue('utext', args.item));
219
- const anchor: HTMLElement = this.parent.createElement('a', { className: 'e-list-text' });
220
- args.element.appendChild(anchor);
221
- }
222
- private searchEventBind(allow: boolean): void {
223
- if (allow) {
224
- this.searchObj.input = this.searchChangeHandler.bind(this);
225
- this.searchObj.change = null;
226
- } else {
227
- this.searchObj.change = this.searchChangeHandler.bind(this);
228
- this.searchObj.input = null;
229
- }
230
- }
231
- private searchChangeHandler(args?: ChangedEventArgs): void {
232
- if (!isNullOrUndefined(args.value)) {
233
- this.parent.isFiltered = false;
234
- if (this.parent.searchSettings.allowSearchOnTyping) {
235
- window.clearTimeout(this.searchTimer);
236
- this.searchTimer = window.setTimeout(() => { searchWordHandler(this.parent, args.value, false); }, 300);
237
- } else {
238
- searchWordHandler(this.parent, args.value, false);
239
- }
240
- }
241
- }
242
- private addressPathClickHandler(e: Event): void {
243
- const li: HTMLElement = (<HTMLElement>e.target);
244
- if (li.nodeName === 'LI' || li.nodeName === 'A') {
245
- const node: Element = li.nodeName === 'LI' ? li.children[0] : li;
246
- if (!isNullOrUndefined(node)) {
247
- this.parent.isFiltered = false;
248
- const currentPath: string = this.updatePath((<HTMLElement>node));
249
- this.parent.itemData = [getValue(this.parent.pathId[this.parent.pathId.length - 1], this.parent.feParent)];
250
- this.triggerFileOpen(this.parent.itemData[0]);
251
- read(this.parent, events.pathChanged, currentPath);
252
- const treeNodeId: string = this.parent.pathId[this.parent.pathId.length - 1];
253
- this.parent.notify(events.updateTreeSelection, { module: 'treeview', selectedNode: treeNodeId });
254
- }
255
- }
256
- }
257
-
258
- private triggerFileOpen(data: Object): void {
259
- const eventArgs: FileOpenEventArgs = { cancel: false, fileDetails: data, module: 'BreadCrumbBar' };
260
- delete eventArgs.cancel;
261
- this.parent.trigger('fileOpen', eventArgs);
262
- }
263
-
264
- /* istanbul ignore next */
265
- private onShowInput(): void {
266
- if (this.parent.isMobile) {
267
- if (this.parent.element.classList.contains(CLS.FILTER)) {
268
- removeClass([this.parent.element], CLS.FILTER);
269
- this.searchWrapWidth = null;
270
- } else {
271
- const searchWrap: HTMLElement = this.parent.breadCrumbBarNavigation.querySelector('.e-search-wrap');
272
- this.searchWrapWidth = searchWrap.offsetWidth;
273
- addClass([this.parent.element], CLS.FILTER);
274
- this.searchObj.element.focus();
275
- }
276
- }
277
- }
278
-
279
- private updatePath(list: HTMLElement): string {
280
- const li: Element = closest(list, 'li');
281
- const liElementId: string = li.getAttribute('data-utext');
282
- this.addressBarLink = liElementId;
283
- const link: string[] = this.addressBarLink.split('/');
284
- const ids: string[] = this.parent.pathId;
285
- const names: string[] = this.parent.pathNames;
286
- this.parent.pathId = [];
287
- this.parent.pathNames = [];
288
- let newpath: string = '';
289
- for (let i: number = 0, len: number = link.length - 1; i < len; i++) {
290
- this.parent.pathId.push(ids[i as number]);
291
- this.parent.pathNames.push(names[i as number]);
292
- newpath += link[i as number] + '/';
293
- }
294
- this.parent.setProperties({ path: newpath }, true);
295
- return newpath;
296
- }
297
-
298
- private onUpdatePath(): void {
299
- this.onPathChange();
300
- this.removeSearchValue();
301
- }
302
-
303
- private onCreateEnd(): void {
304
- this.onPathChange();
305
- }
306
-
307
- private onRenameEnd(): void {
308
- this.onPathChange();
309
- }
310
-
311
- /* istanbul ignore next */
312
- private onDeleteEnd(): void {
313
- this.onUpdatePath();
314
- }
315
-
316
- /* istanbul ignore next */
317
- private removeSearchValue(): void {
318
- this.parent.isFiltered = false;
319
- if (this.searchObj && (this.searchObj.value !== '' || this.searchObj.element.value !== '')) {
320
- this.searchObj.value = '';
321
- this.searchObj.element.value = '';
322
- this.searchObj.dataBind();
323
- }
324
- }
325
-
326
- private onResize(): void {
327
- this.onPathChange();
328
- }
329
- private onPasteEnd(): void {
330
- this.onPathChange();
331
- }
332
-
333
- private addEventListener(): void {
334
- this.keyboardModule = new KeyboardEvents(
335
- this.parent.breadCrumbBarNavigation,
336
- {
337
- keyAction: this.keyActionHandler.bind(this),
338
- keyConfigs: this.keyConfigs,
339
- eventName: 'keydown'
340
- }
341
- );
342
- this.parent.on(events.modelChanged, this.onPropertyChanged, this);
343
- EventHandler.add(this.parent.breadCrumbBarNavigation, 'click', this.addressPathClickHandler, this);
344
- this.parent.on(events.destroy, this.destroy, this);
345
- this.parent.on(events.pathChanged, this.onUpdatePath, this);
346
- this.parent.on(events.finalizeEnd, this.onUpdatePath, this);
347
- this.parent.on(events.refreshEnd, this.onUpdatePath, this);
348
- this.parent.on(events.openEnd, this.onUpdatePath, this);
349
- this.parent.on(events.createEnd, this.onCreateEnd, this);
350
- this.parent.on(events.renameEnd, this.onRenameEnd, this);
351
- this.parent.on(events.deleteEnd, this.onDeleteEnd, this);
352
- this.parent.on(events.splitterResize, this.onResize, this);
353
- this.parent.on(events.pasteEnd, this.onPasteEnd, this);
354
- this.parent.on(events.resizeEnd, this.onResize, this);
355
- this.parent.on(events.searchTextChange, this.onSearchTextChange, this);
356
- this.parent.on(events.dropInit, this.onDropInit, this);
357
- this.parent.on(events.layoutRefresh, this.onResize, this);
358
- this.parent.on(events.dropPath, this.onPathChange, this);
359
- }
360
-
361
- private keyActionHandler(e: KeyboardEventArgs): void {
362
- switch (e.action) {
363
- case 'enter':
364
- this.addressPathClickHandler(e);
365
- break;
366
- }
367
- }
368
- private removeEventListener(): void {
369
- this.keyboardModule.destroy();
370
- this.parent.off(events.pathChanged, this.onUpdatePath);
371
- this.parent.off(events.finalizeEnd, this.onUpdatePath);
372
- this.parent.off(events.refreshEnd, this.onUpdatePath);
373
- this.parent.off(events.openEnd, this.onUpdatePath);
374
- this.parent.off(events.pasteEnd, this.onPasteEnd);
375
- this.parent.off(events.createEnd, this.onCreateEnd);
376
- this.parent.off(events.renameEnd, this.onRenameEnd);
377
- this.parent.off(events.deleteEnd, this.onDeleteEnd);
378
- this.parent.off(events.splitterResize, this.onResize);
379
- this.parent.off(events.resizeEnd, this.onResize);
380
- this.parent.off(events.searchTextChange, this.onSearchTextChange);
381
- this.parent.off(events.dropInit, this.onDropInit);
382
- this.parent.off(events.layoutRefresh, this.onResize);
383
- this.parent.off(events.dropPath, this.onPathChange);
384
- }
385
-
386
- /* istanbul ignore next */
387
- private onDropInit(args: DragEventArgs): void {
388
- if (this.parent.targetModule === this.getModuleName()) {
389
- const liEle: Element = args.target.closest('li');
390
- this.parent.dropPath = this.updatePath(<HTMLElement>(liEle.children[0]));
391
- this.parent.dropData = getValue(this.parent.pathId[this.parent.pathId.length - 1], this.parent.feParent);
392
- this.triggerFileOpen(this.parent.dropData);
393
- const treeNodeId: string = this.parent.pathId[this.parent.pathId.length - 1];
394
- this.parent.notify(events.updateTreeSelection, { module: 'treeview', selectedNode: treeNodeId });
395
- }
396
- }
397
-
398
- /**
399
- * For internal use only - Get the module name.
400
- *
401
- * @returns {string} - returns the module name
402
- * @private
403
- */
404
- private getModuleName(): string {
405
- return 'breadcrumbbar';
406
- }
407
-
408
- public destroy(): void {
409
- if (this.parent.isDestroyed) { return; }
410
- this.removeEventListener();
411
- /* istanbul ignore next */
412
- if (!isNullOrUndefined(this.subMenuObj)) {
413
- this.subMenuObj.destroy();
414
- }
415
- if (!isNullOrUndefined(this.searchObj)) {
416
- this.searchObj.destroy();
417
- }
418
- }
419
-
420
- private onSearchTextChange(args: ReadArgs): void {
421
- this.searchObj.element.placeholder = (this.parent.searchSettings.placeholder != null) ? this.parent.searchSettings.placeholder : getLocaleText(this.parent, 'Search') + ' ' + getLocaleText(this.parent, args.cwd.name.toString());
422
- }
423
- }
@@ -1,6 +0,0 @@
1
- /**
2
- * File Manager actions modules
3
- */
4
- export * from './toolbar';
5
- export * from './breadcrumb-bar';
6
- export * from './virtualization';
@@ -1,6 +0,0 @@
1
- /**
2
- * File Manager actions modules
3
- */
4
- export * from './toolbar';
5
- export * from './breadcrumb-bar';
6
- export * from './virtualization';
@@ -1,54 +0,0 @@
1
- import { Toolbar as BaseToolbar } from '@syncfusion/ej2-navigations';
2
- import { IFileManager } from '../base/interface';
3
- /**
4
- * Toolbar module
5
- */
6
- export declare class Toolbar {
7
- private parent;
8
- private items;
9
- private buttonObj;
10
- private layoutBtnObj;
11
- private default;
12
- private single;
13
- private multiple;
14
- private selection;
15
- toolbarObj: BaseToolbar;
16
- /**
17
- * Constructor for the Toolbar module
18
- *
19
- * @hidden
20
- * @param {IFileManager} parent - specifies the parent element.
21
- * @private
22
- */
23
- constructor(parent?: IFileManager);
24
- private render;
25
- getItemIndex(item: string): number;
26
- private getItems;
27
- private onClicked;
28
- private toolbarCreateHandler;
29
- private updateSortByButton;
30
- private getPupupId;
31
- private layoutChange;
32
- private toolbarItemData;
33
- private getItemModel;
34
- private getId;
35
- private addEventListener;
36
- private reRenderToolbar;
37
- private onSelectionChanged;
38
- private hideItems;
39
- private hideStatus;
40
- private showPaste;
41
- private hidePaste;
42
- private onLayoutChange;
43
- private removeEventListener;
44
- /**
45
- * For internal use only - Get the module name.
46
- *
47
- * @returns {string} - returns module name.
48
- * @private
49
- */
50
- private getModuleName;
51
- private onPropertyChanged;
52
- destroy(): void;
53
- enableItems(items: string[], isEnable?: boolean): void;
54
- }