@syncfusion/ej2-treegrid 31.1.17 → 31.1.20

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 (136) hide show
  1. package/dist/ej2-treegrid.min.js +2 -2
  2. package/dist/ej2-treegrid.umd.min.js +2 -2
  3. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-treegrid.es2015.js +13 -4
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +13 -4
  7. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  8. package/dist/global/ej2-treegrid.min.js +2 -2
  9. package/dist/global/ej2-treegrid.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +14 -50
  12. package/src/treegrid/actions/edit.js +1 -1
  13. package/src/treegrid/actions/rowdragdrop.js +12 -3
  14. package/styles/bootstrap4-lite.css +8 -0
  15. package/styles/bootstrap4.css +8 -0
  16. package/styles/treegrid/bootstrap4.css +8 -0
  17. package/dist/ts/index.d.ts +0 -4
  18. package/dist/ts/index.ts +0 -4
  19. package/dist/ts/treegrid/actions/batch-edit.d.ts +0 -74
  20. package/dist/ts/treegrid/actions/batch-edit.ts +0 -627
  21. package/dist/ts/treegrid/actions/clipboard.d.ts +0 -36
  22. package/dist/ts/treegrid/actions/clipboard.ts +0 -174
  23. package/dist/ts/treegrid/actions/column-chooser.d.ts +0 -37
  24. package/dist/ts/treegrid/actions/column-chooser.ts +0 -55
  25. package/dist/ts/treegrid/actions/column-menu.d.ts +0 -24
  26. package/dist/ts/treegrid/actions/column-menu.ts +0 -39
  27. package/dist/ts/treegrid/actions/command-column.d.ts +0 -24
  28. package/dist/ts/treegrid/actions/command-column.ts +0 -32
  29. package/dist/ts/treegrid/actions/context-menu.d.ts +0 -42
  30. package/dist/ts/treegrid/actions/context-menu.ts +0 -149
  31. package/dist/ts/treegrid/actions/crud-actions.d.ts +0 -66
  32. package/dist/ts/treegrid/actions/crud-actions.ts +0 -388
  33. package/dist/ts/treegrid/actions/detail-row.d.ts +0 -39
  34. package/dist/ts/treegrid/actions/detail-row.ts +0 -124
  35. package/dist/ts/treegrid/actions/edit.d.ts +0 -121
  36. package/dist/ts/treegrid/actions/edit.ts +0 -1083
  37. package/dist/ts/treegrid/actions/excel-export.d.ts +0 -67
  38. package/dist/ts/treegrid/actions/excel-export.ts +0 -240
  39. package/dist/ts/treegrid/actions/filter.d.ts +0 -57
  40. package/dist/ts/treegrid/actions/filter.ts +0 -231
  41. package/dist/ts/treegrid/actions/freeze-column.d.ts +0 -28
  42. package/dist/ts/treegrid/actions/freeze-column.ts +0 -119
  43. package/dist/ts/treegrid/actions/index.d.ts +0 -24
  44. package/dist/ts/treegrid/actions/index.ts +0 -24
  45. package/dist/ts/treegrid/actions/infinite-scroll.d.ts +0 -96
  46. package/dist/ts/treegrid/actions/infinite-scroll.ts +0 -320
  47. package/dist/ts/treegrid/actions/logger.d.ts +0 -25
  48. package/dist/ts/treegrid/actions/logger.ts +0 -136
  49. package/dist/ts/treegrid/actions/page.d.ts +0 -67
  50. package/dist/ts/treegrid/actions/page.ts +0 -212
  51. package/dist/ts/treegrid/actions/pdf-export.d.ts +0 -63
  52. package/dist/ts/treegrid/actions/pdf-export.ts +0 -182
  53. package/dist/ts/treegrid/actions/print.d.ts +0 -37
  54. package/dist/ts/treegrid/actions/print.ts +0 -69
  55. package/dist/ts/treegrid/actions/reorder.d.ts +0 -36
  56. package/dist/ts/treegrid/actions/reorder.ts +0 -60
  57. package/dist/ts/treegrid/actions/resize.d.ts +0 -36
  58. package/dist/ts/treegrid/actions/resize.ts +0 -54
  59. package/dist/ts/treegrid/actions/rowdragdrop.d.ts +0 -405
  60. package/dist/ts/treegrid/actions/rowdragdrop.ts +0 -1896
  61. package/dist/ts/treegrid/actions/selection.d.ts +0 -51
  62. package/dist/ts/treegrid/actions/selection.ts +0 -530
  63. package/dist/ts/treegrid/actions/sort.d.ts +0 -63
  64. package/dist/ts/treegrid/actions/sort.ts +0 -149
  65. package/dist/ts/treegrid/actions/summary.d.ts +0 -47
  66. package/dist/ts/treegrid/actions/summary.ts +0 -231
  67. package/dist/ts/treegrid/actions/toolbar.d.ts +0 -52
  68. package/dist/ts/treegrid/actions/toolbar.ts +0 -154
  69. package/dist/ts/treegrid/actions/virtual-scroll.d.ts +0 -90
  70. package/dist/ts/treegrid/actions/virtual-scroll.ts +0 -306
  71. package/dist/ts/treegrid/base/constant.d.ts +0 -158
  72. package/dist/ts/treegrid/base/constant.ts +0 -158
  73. package/dist/ts/treegrid/base/data.d.ts +0 -90
  74. package/dist/ts/treegrid/base/data.ts +0 -904
  75. package/dist/ts/treegrid/base/index.d.ts +0 -11
  76. package/dist/ts/treegrid/base/index.ts +0 -11
  77. package/dist/ts/treegrid/base/interface.d.ts +0 -186
  78. package/dist/ts/treegrid/base/interface.ts +0 -191
  79. package/dist/ts/treegrid/base/treegrid-model.d.ts +0 -1100
  80. package/dist/ts/treegrid/base/treegrid.d.ts +0 -2422
  81. package/dist/ts/treegrid/base/treegrid.ts +0 -5962
  82. package/dist/ts/treegrid/enum.d.ts +0 -152
  83. package/dist/ts/treegrid/enum.ts +0 -217
  84. package/dist/ts/treegrid/index.d.ts +0 -9
  85. package/dist/ts/treegrid/index.ts +0 -9
  86. package/dist/ts/treegrid/models/column-chooser-settings-model.d.ts +0 -62
  87. package/dist/ts/treegrid/models/column-chooser-settings.d.ts +0 -53
  88. package/dist/ts/treegrid/models/column-chooser-settings.ts +0 -67
  89. package/dist/ts/treegrid/models/column-model.d.ts +0 -30
  90. package/dist/ts/treegrid/models/column.d.ts +0 -697
  91. package/dist/ts/treegrid/models/column.ts +0 -800
  92. package/dist/ts/treegrid/models/edit-settings-model.d.ts +0 -100
  93. package/dist/ts/treegrid/models/edit-settings.d.ts +0 -89
  94. package/dist/ts/treegrid/models/edit-settings.ts +0 -111
  95. package/dist/ts/treegrid/models/filter-settings-model.d.ts +0 -216
  96. package/dist/ts/treegrid/models/filter-settings.d.ts +0 -195
  97. package/dist/ts/treegrid/models/filter-settings.ts +0 -237
  98. package/dist/ts/treegrid/models/index.d.ts +0 -24
  99. package/dist/ts/treegrid/models/index.ts +0 -24
  100. package/dist/ts/treegrid/models/infinite-scroll-settings-model.d.ts +0 -29
  101. package/dist/ts/treegrid/models/infinite-scroll-settings.d.ts +0 -25
  102. package/dist/ts/treegrid/models/infinite-scroll-settings.ts +0 -31
  103. package/dist/ts/treegrid/models/loading-indicator-model.d.ts +0 -21
  104. package/dist/ts/treegrid/models/loading-indicator.d.ts +0 -19
  105. package/dist/ts/treegrid/models/loading-indicator.ts +0 -21
  106. package/dist/ts/treegrid/models/page-settings-model.d.ts +0 -66
  107. package/dist/ts/treegrid/models/page-settings.d.ts +0 -57
  108. package/dist/ts/treegrid/models/page-settings.ts +0 -73
  109. package/dist/ts/treegrid/models/rowdrop-settings-model.d.ts +0 -15
  110. package/dist/ts/treegrid/models/rowdrop-settings.d.ts +0 -34
  111. package/dist/ts/treegrid/models/rowdrop-settings.ts +0 -37
  112. package/dist/ts/treegrid/models/search-settings-model.d.ts +0 -79
  113. package/dist/ts/treegrid/models/search-settings.d.ts +0 -73
  114. package/dist/ts/treegrid/models/search-settings.ts +0 -83
  115. package/dist/ts/treegrid/models/selection-settings-model.d.ts +0 -76
  116. package/dist/ts/treegrid/models/selection-settings.d.ts +0 -68
  117. package/dist/ts/treegrid/models/selection-settings.ts +0 -82
  118. package/dist/ts/treegrid/models/sort-settings-model.d.ts +0 -49
  119. package/dist/ts/treegrid/models/sort-settings.d.ts +0 -43
  120. package/dist/ts/treegrid/models/sort-settings.ts +0 -51
  121. package/dist/ts/treegrid/models/summary-model.d.ts +0 -93
  122. package/dist/ts/treegrid/models/summary.d.ts +0 -126
  123. package/dist/ts/treegrid/models/summary.ts +0 -170
  124. package/dist/ts/treegrid/models/textwrap-settings-model.d.ts +0 -21
  125. package/dist/ts/treegrid/models/textwrap-settings.d.ts +0 -19
  126. package/dist/ts/treegrid/models/textwrap-settings.ts +0 -21
  127. package/dist/ts/treegrid/renderer/index.d.ts +0 -5
  128. package/dist/ts/treegrid/renderer/index.ts +0 -5
  129. package/dist/ts/treegrid/renderer/render.d.ts +0 -41
  130. package/dist/ts/treegrid/renderer/render.ts +0 -379
  131. package/dist/ts/treegrid/renderer/virtual-row-model-generator.d.ts +0 -16
  132. package/dist/ts/treegrid/renderer/virtual-row-model-generator.ts +0 -90
  133. package/dist/ts/treegrid/renderer/virtual-tree-content-render.d.ts +0 -353
  134. package/dist/ts/treegrid/renderer/virtual-tree-content-render.ts +0 -1125
  135. package/dist/ts/treegrid/utils.d.ts +0 -70
  136. package/dist/ts/treegrid/utils.ts +0 -217
@@ -1,67 +0,0 @@
1
- import { TreeGrid } from '../base/treegrid';
2
- import { ExcelExportProperties } from '@syncfusion/ej2-grids';
3
- import { Fetch } from '@syncfusion/ej2-base';
4
- import { Query } from '@syncfusion/ej2-data';
5
- /**
6
- * TreeGrid Excel Export module
7
- *
8
- * @hidden
9
- */
10
- export declare class ExcelExport {
11
- private parent;
12
- private dataResults;
13
- private isCollapsedStatePersist;
14
- /**
15
- * Constructor for Excel Export module
16
- *
17
- * @param {TreeGrid} parent - Tree Grid instance
18
- */
19
- constructor(parent?: TreeGrid);
20
- /**
21
- * For internal use only - Get the module name.
22
- *
23
- * @private
24
- * @returns {string} Returns ExcelExport module name
25
- */
26
- protected getModuleName(): string;
27
- /**
28
- * @hidden
29
- * @returns {void}
30
- */
31
- addEventListener(): void;
32
- /**
33
- * To destroy the Excel Export
34
- *
35
- * @returns {void}
36
- * @hidden
37
- */
38
- destroy(): void;
39
- /**
40
- * @hidden
41
- * @returns {void}
42
- */
43
- removeEventListener(): void;
44
- private updateExcelResultModel;
45
- Map(excelExportProperties?: ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean, isCsv?: boolean): Promise<Object>;
46
- protected generateQuery(query: Query, property?: ExcelExportProperties): Query;
47
- protected manipulateExportProperties(property?: ExcelExportProperties, dtSrc?: Object, queryResult?: Fetch): Object;
48
- /**
49
- * TreeGrid Excel Export cell modifier
50
- *
51
- * @param {ExcelQueryCellInfoEventArgs} args - current cell details
52
- * @hidden
53
- * @returns {void}
54
- */
55
- private excelQueryCellInfo;
56
- /**
57
- * TreeGrid Excel Export Aggregate cell modifier
58
- *
59
- * @param {AggregateQueryCellInfoEventArgs} args - current cell details
60
- * @hidden
61
- * @returns {void}
62
- */
63
- private excelAggregateCellInfo;
64
- private exportRowDataBound;
65
- private finalPageSetup;
66
- private isLocal;
67
- }
@@ -1,240 +0,0 @@
1
- import { TreeGrid } from '../base/treegrid';
2
- import { ITreeData, TreeGridExcelExportProperties } from '../base/interface';
3
- import { getObject, Grid, ExcelExport as GridExcel, ExcelExportProperties, BeforeDataBoundArgs, ExportHelper } from '@syncfusion/ej2-grids';
4
- import { ExcelStyle, ExcelQueryCellInfoEventArgs, AggregateQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';
5
- import { ExcelRow, Row, Column, Data } from '@syncfusion/ej2-grids';
6
- import { isRemoteData, isOffline, getParentData, getExpandStatus } from '../utils';
7
- import { isNullOrUndefined, setValue, Fetch, extend } from '@syncfusion/ej2-base';
8
- import { DataManager, Query, ReturnOption } from '@syncfusion/ej2-data';
9
- import * as event from '../base/constant';
10
- /**
11
- * TreeGrid Excel Export module
12
- *
13
- * @hidden
14
- */
15
- export class ExcelExport {
16
- private parent: TreeGrid;
17
- private dataResults: ReturnOption;
18
- private isCollapsedStatePersist: boolean = false;
19
- /**
20
- * Constructor for Excel Export module
21
- *
22
- * @param {TreeGrid} parent - Tree Grid instance
23
- */
24
- constructor(parent?: TreeGrid) {
25
- Grid.Inject(GridExcel);
26
- this.parent = parent;
27
- this.dataResults = <ReturnOption>{};
28
- this.addEventListener();
29
- }
30
- /**
31
- * For internal use only - Get the module name.
32
- *
33
- * @private
34
- * @returns {string} Returns ExcelExport module name
35
- */
36
- protected getModuleName(): string {
37
- return 'ExcelExport';
38
- }
39
- /**
40
- * @hidden
41
- * @returns {void}
42
- */
43
- public addEventListener(): void {
44
- this.parent.on('updateResults', this.updateExcelResultModel, this);
45
- this.parent.on('excelCellInfo', this.excelQueryCellInfo, this);
46
- this.parent.grid.on('export-RowDataBound', this.exportRowDataBound, this);
47
- this.parent.on('excelAggregateCellInfo', this.excelAggregateCellInfo, this);
48
- this.parent.grid.on('finalPageSetup', this.finalPageSetup, this);
49
- }
50
- /**
51
- * To destroy the Excel Export
52
- *
53
- * @returns {void}
54
- * @hidden
55
- */
56
- public destroy(): void {
57
- this.removeEventListener();
58
- }
59
- /**
60
- * @hidden
61
- * @returns {void}
62
- */
63
- public removeEventListener(): void {
64
- if (this.parent.isDestroyed) { return; }
65
- this.parent.off('updateResults', this.updateExcelResultModel);
66
- this.parent.off('excelCellInfo', this.excelQueryCellInfo);
67
- this.parent.grid.off('export-RowDataBound', this.exportRowDataBound);
68
- this.parent.off('excelAggregateCellInfo', this.excelAggregateCellInfo);
69
- this.parent.grid.off('finalPageSetup', this.finalPageSetup);
70
- }
71
- private updateExcelResultModel(returnResult: { result: ITreeData[], count: number }): void {
72
- this.dataResults = <ReturnOption>returnResult;
73
- }
74
- public Map(
75
- excelExportProperties?: ExcelExportProperties,
76
- /* eslint-disable-next-line */
77
- isMultipleExport?: boolean, workbook?: any, isBlob?: boolean, isCsv?: boolean) : Promise<Object> {
78
- const dataSource: object = this.parent.dataSource;
79
- const data: Data = new Data(this.parent.grid);
80
- const property: Object = Object();
81
- setValue('isCsv', isCsv, property);
82
- setValue('cancel', false, property);
83
- if (!isNullOrUndefined(excelExportProperties)) {
84
- this.isCollapsedStatePersist = (excelExportProperties as TreeGridExcelExportProperties).isCollapsedStatePersist;
85
- }
86
- if (!isNullOrUndefined(excelExportProperties)) {
87
- if (!this.isLocal() && !isNullOrUndefined(excelExportProperties.dataSource) && !excelExportProperties.dataSource['dataSource']) {
88
- return this.parent.grid.excelExportModule.Map(
89
- this.parent.grid, excelExportProperties, isMultipleExport, workbook, isCsv, isBlob);
90
- }
91
- if (excelExportProperties.exportType === 'CurrentPage') {
92
- excelExportProperties.dataSource = this.parent.getCurrentViewRecords();
93
- return this.parent.grid.excelExportModule.Map(
94
- this.parent.grid, excelExportProperties, isMultipleExport, workbook, isCsv, isBlob);
95
- }
96
- }
97
- return new Promise((resolve: Function) => {
98
- const dm: DataManager = this.isLocal() && !(dataSource instanceof DataManager) ? new DataManager(dataSource)
99
- : <DataManager>this.parent.dataSource;
100
- let query: Query = new Query();
101
- if (!this.isLocal()) {
102
- query = this.generateQuery(query);
103
- query.queries = this.parent.grid.getDataModule().generateQuery().queries;
104
- query = ExportHelper.getQuery(this.parent.grid, data);
105
- if (isNullOrUndefined(this.parent.filterModule)) {
106
- query.queries = query.queries.slice(1, 2);
107
- query.params = query.params.slice(0, 0);
108
- }
109
- setValue('query', query, property);
110
- }
111
- this.parent.trigger(event.beforeExcelExport, extend(property, excelExportProperties));
112
- if (getObject('cancel', property)) {
113
- return null;
114
- }
115
- dm.executeQuery(query).then((e: Object) => {
116
- let customData: Object = null;
117
- if (!isNullOrUndefined(excelExportProperties) && !isNullOrUndefined(excelExportProperties.dataSource)) {
118
- customData = excelExportProperties.dataSource;
119
- }
120
- excelExportProperties = this.manipulateExportProperties(excelExportProperties, dataSource, <Fetch>e);
121
- return this.parent.grid.excelExportModule.Map(
122
- this.parent.grid, excelExportProperties, isMultipleExport, workbook, isCsv, isBlob).then((book: Object) => {
123
- if (customData != null) {
124
- excelExportProperties.dataSource = customData;
125
- } else {
126
- delete excelExportProperties.dataSource;
127
- }
128
- resolve(book);
129
- });
130
- });
131
- });
132
- }
133
- protected generateQuery(query: Query, property?: ExcelExportProperties) : Query {
134
- if (!isNullOrUndefined(property) && property.exportType === 'CurrentPage'
135
- && this.parent.allowPaging) {
136
- property.exportType = 'AllPages';
137
- query.addParams('ExportType', 'CurrentPage');
138
- query.where(this.parent.parentIdMapping, 'equal', null);
139
- query = getObject('grid.renderModule.data.pageQuery', this.parent)(query);
140
- }
141
- return query;
142
- }
143
- protected manipulateExportProperties(property?: ExcelExportProperties, dtSrc?: Object, queryResult?: Fetch) : Object {
144
- //count not required for this query
145
- let args: BeforeDataBoundArgs = Object();
146
- if (!isNullOrUndefined(this.parent.grid.getDataModule())) {
147
- setValue('query', this.parent.grid.getDataModule().generateQuery(true), args);
148
- }
149
- setValue('isExport', true, args);
150
- if (!isNullOrUndefined(property) && !isNullOrUndefined(property.exportType)) {
151
- setValue('exportType', property.exportType, args);
152
- }
153
- if (!this.isLocal()) {
154
- this.parent.parentData = [];
155
- this.parent.dataModule.convertToFlatData(getObject('result', queryResult));
156
- setValue('expresults', this.parent.flatData, args);
157
- }
158
- this.parent.notify('dataProcessor', args);
159
- //args = this.parent.dataModule.dataProcessor(args);
160
- args = <BeforeDataBoundArgs>this.dataResults;
161
- dtSrc = isNullOrUndefined(args.result) ? this.parent.flatData.slice(0) : args.result;
162
- if (!this.isLocal()) {
163
- this.parent.flatData = [];
164
- }
165
- if (property && property.dataSource) {
166
- const flatsData: Object[] = this.parent.flatData;
167
- const dataSrc: Object = property.dataSource instanceof DataManager ? property.dataSource.dataSource.json : property.dataSource;
168
- this.parent.dataModule.convertToFlatData(dataSrc);
169
- dtSrc = this.parent.flatData;
170
- this.parent.flatData = flatsData;
171
- }
172
- property = isNullOrUndefined(property) ? Object() : property;
173
- property.dataSource = new DataManager({json: <Object[]>dtSrc});
174
- if (this.parent.aggregates.length > 0) {
175
- property.query = args['query'];
176
- }
177
- return property;
178
- }
179
- /**
180
- * TreeGrid Excel Export cell modifier
181
- *
182
- * @param {ExcelQueryCellInfoEventArgs} args - current cell details
183
- * @hidden
184
- * @returns {void}
185
- */
186
- private excelQueryCellInfo(args?: ExcelQueryCellInfoEventArgs) : void {
187
- if (this.parent.grid.getColumnIndexByUid(args.column.uid) === this.parent.treeColumnIndex) {
188
- const style: ExcelStyle = {};
189
- const data: ITreeData = <ITreeData>args.data;
190
- const ispadfilter: boolean = isNullOrUndefined(data.filterLevel);
191
- const pad: number = ispadfilter ? data.level : data.filterLevel;
192
- style.indent = pad;
193
- args.style = style;
194
- }
195
- this.parent.notify('updateResults', args);
196
- this.parent.trigger('excelQueryCellInfo', args);
197
- }
198
- /**
199
- * TreeGrid Excel Export Aggregate cell modifier
200
- *
201
- * @param {AggregateQueryCellInfoEventArgs} args - current cell details
202
- * @hidden
203
- * @returns {void}
204
- */
205
- private excelAggregateCellInfo(args?: AggregateQueryCellInfoEventArgs) : void {
206
- this.parent.trigger('excelAggregateQueryCellInfo', args);
207
- }
208
- private exportRowDataBound(excelRow: {excelRows: ExcelRow[], rowObj: Row<Column>, type: string}) : void {
209
- if (excelRow.type === 'excel') {
210
- const excelrowobj: ITreeData = excelRow.rowObj.data;
211
- const filtercolumnlength: number = this.parent.grid.filterSettings.columns.length;
212
- const rowlength: number = excelRow.excelRows.length;
213
- const rowlevel: number = excelrowobj.level;
214
- if (excelrowobj.parentItem && getParentData(this.parent, excelrowobj.parentItem.uniqueID, Boolean(filtercolumnlength))) {
215
- let expandedStatus: boolean = false; let sublevelState: boolean = false;
216
- const state: boolean = getExpandStatus(this.parent, excelrowobj, this.parent.parentData);
217
- if (this.isCollapsedStatePersist && (!state || !this.parent.isLocalData)) {
218
- expandedStatus = true;
219
- sublevelState = excelrowobj.expanded ? false : true;
220
- }
221
- excelRow.excelRows[rowlength - 1].grouping = { outlineLevel: rowlevel, isCollapsed: sublevelState,
222
- isHidden: expandedStatus };
223
- }
224
- else if (excelrowobj.hasChildRecords && isNullOrUndefined(excelrowobj.parentItem)) {
225
- excelRow.excelRows[rowlength - 1].grouping = { outlineLevel: rowlevel};
226
- }
227
- }
228
- }
229
- /* eslint-disable-next-line */
230
- private finalPageSetup(workbook: any): void {
231
- for (let i: number = 0; i < workbook.worksheets.length; i++) {
232
- if (workbook.worksheets[parseInt(i.toString(), 10)].rows) {
233
- workbook.worksheets[parseInt(i.toString(), 10)].pageSetup = { isSummaryRowBelow: false };
234
- }
235
- }
236
- }
237
- private isLocal(): boolean {
238
- return !isRemoteData(this.parent) && isOffline(this.parent);
239
- }
240
- }
@@ -1,57 +0,0 @@
1
- import { TreeGrid } from '../base/treegrid';
2
- /**
3
- * TreeGrid Filter module will handle filtering action
4
- *
5
- * @hidden
6
- */
7
- export declare class Filter {
8
- private parent;
9
- filteredResult: Object[];
10
- private flatFilteredData;
11
- private filteredParentRecs;
12
- private isHierarchyFilter;
13
- /**
14
- * Constructor for Filter module
15
- *
16
- * @param {TreeGrid} parent - Tree Grid instance
17
- */
18
- constructor(parent?: TreeGrid);
19
- /**
20
- * For internal use only - Get the module name.
21
- *
22
- * @private
23
- * @returns {string} Returns Filter module name
24
- */
25
- protected getModuleName(): string;
26
- /**
27
- * To destroy the Filter module
28
- *
29
- * @returns {void}
30
- * @hidden
31
- */
32
- destroy(): void;
33
- /**
34
- * @hidden
35
- * @returns {void}
36
- */
37
- addEventListener(): void;
38
- /**
39
- * @hidden
40
- * @returns {void}
41
- */
42
- removeEventListener(): void;
43
- /**
44
- * Function to update filtered records
45
- *
46
- * @param {{data: Object} } dataDetails - Filtered data collection
47
- * @param {Object} dataDetails.data - Fliltered data collection
48
- * @hidden
49
- * @returns {void}
50
- */
51
- private updatedFilteredRecord;
52
- private updateParentFilteredRecord;
53
- private addParentRecord;
54
- private checkChildExsist;
55
- private updateFilterLevel;
56
- private clearFilterLevel;
57
- }
@@ -1,231 +0,0 @@
1
- import { TreeGrid } from '../base/treegrid';
2
- import { getObject, Filter as GridFilter, Grid } from '@syncfusion/ej2-grids';
3
- import { isNullOrUndefined, setValue, getValue } from '@syncfusion/ej2-base';
4
- import { ITreeData } from '../base';
5
- import { getParentData } from '../utils';
6
- import { FilterHierarchyMode } from '..';
7
-
8
- /**
9
- * TreeGrid Filter module will handle filtering action
10
- *
11
- * @hidden
12
- */
13
- export class Filter {
14
-
15
- private parent: TreeGrid;
16
- public filteredResult: Object[];
17
- private flatFilteredData: Object[];
18
- private filteredParentRecs: Object[];
19
- private isHierarchyFilter: boolean;
20
- /**
21
- * Constructor for Filter module
22
- *
23
- * @param {TreeGrid} parent - Tree Grid instance
24
- */
25
- constructor(parent?: TreeGrid) {
26
- Grid.Inject(GridFilter);
27
- this.parent = parent;
28
- this.isHierarchyFilter = false;
29
- this.filteredResult = [];
30
- this.flatFilteredData = [];
31
- this.filteredParentRecs = [];
32
- this.addEventListener();
33
- }
34
- /**
35
- * For internal use only - Get the module name.
36
- *
37
- * @private
38
- * @returns {string} Returns Filter module name
39
- */
40
- protected getModuleName(): string {
41
- return 'filter';
42
- }
43
- /**
44
- * To destroy the Filter module
45
- *
46
- * @returns {void}
47
- * @hidden
48
- */
49
- public destroy(): void {
50
- this.removeEventListener();
51
- }
52
- /**
53
- * @hidden
54
- * @returns {void}
55
- */
56
- public addEventListener(): void {
57
- this.parent.on('updateFilterRecs', this.updatedFilteredRecord, this);
58
- this.parent.on('clearFilters', this.clearFilterLevel, this);
59
- }
60
- /**
61
- * @hidden
62
- * @returns {void}
63
- */
64
- public removeEventListener(): void {
65
- if (this.parent.isDestroyed) { return; }
66
- this.parent.off('updateFilterRecs', this.updatedFilteredRecord);
67
- this.parent.off('clearFilters', this.clearFilterLevel);
68
- }
69
- /**
70
- * Function to update filtered records
71
- *
72
- * @param {{data: Object} } dataDetails - Filtered data collection
73
- * @param {Object} dataDetails.data - Fliltered data collection
74
- * @hidden
75
- * @returns {void}
76
- */
77
- private updatedFilteredRecord(dataDetails: { data: Object }): void {
78
- setValue('uniqueIDFilterCollection', {}, this.parent);
79
- this.flatFilteredData = dataDetails.data as Object[];
80
- this.filteredParentRecs = [];
81
- this.filteredResult = [];
82
- this.isHierarchyFilter = false;
83
- const hierarchyMode: FilterHierarchyMode = this.parent.grid.searchSettings.key === '' ? this.parent.filterSettings.hierarchyMode
84
- : this.parent.searchSettings.hierarchyMode;
85
- for (let f: number = 0; f < this.flatFilteredData.length; f++) {
86
- const rec: ITreeData = this.flatFilteredData[parseInt(f.toString(), 10)];
87
- this.addParentRecord(rec);
88
- if (((hierarchyMode === 'Child' || hierarchyMode === 'None') &&
89
- (this.parent.grid.filterSettings.columns.length !== 0 || this.parent.grid.searchSettings.key !== ''))) {
90
- this.isHierarchyFilter = true;
91
- }
92
- const ischild: Object[] = getObject('childRecords', rec);
93
- if (!isNullOrUndefined(ischild) && ischild.length) {
94
- setValue('hasFilteredChildRecords', this.checkChildExsist(rec), rec);
95
- }
96
- const parent: Object = getObject('parentItem', rec);
97
- if (!isNullOrUndefined(parent)) {
98
- const parRecord: ITreeData = getParentData(this.parent, rec.parentItem.uniqueID, true);
99
- setValue('hasFilteredChildRecords', true, parRecord);
100
- if (parRecord && parRecord.parentItem) {
101
- this.updateParentFilteredRecord(parRecord);
102
- }
103
- }
104
- }
105
- if (this.flatFilteredData.length > 0 && this.isHierarchyFilter) {
106
- this.updateFilterLevel();
107
- }
108
- this.parent.notify('updateAction', { result: this.filteredResult });
109
- }
110
- private updateParentFilteredRecord(record: ITreeData): void {
111
- const parRecord: ITreeData = getParentData(this.parent, record.parentItem.uniqueID, true);
112
- const uniqueIDValue: Object = getValue('uniqueIDFilterCollection', this.parent);
113
- if (parRecord && Object.prototype.hasOwnProperty.call(uniqueIDValue, parRecord.uniqueID)) {
114
- setValue('hasFilteredChildRecords', true, parRecord);
115
- }
116
- if (parRecord && parRecord.parentItem) {
117
- this.updateParentFilteredRecord(parRecord);
118
- }
119
- }
120
- private addParentRecord(record: ITreeData): void {
121
- const parent: Object = getParentData(this.parent, record.parentUniqueID);
122
- const hierarchyMode: FilterHierarchyMode = this.parent.grid.searchSettings.key === '' ? this.parent.filterSettings.hierarchyMode
123
- : this.parent.searchSettings.hierarchyMode;
124
- if (hierarchyMode === 'None' && (this.parent.grid.filterSettings.columns.length !== 0
125
- || this.parent.grid.searchSettings.key !== '')) {
126
- if (isNullOrUndefined(parent)) {
127
- if (this.flatFilteredData.indexOf(record) !== -1) {
128
- if (this.filteredResult.indexOf(record) === -1) {
129
- this.filteredResult.push(record);
130
- setValue('uniqueIDFilterCollection.' + record.uniqueID, record, this.parent);
131
- record.hasFilteredChildRecords = true;
132
- }
133
- return;
134
- }
135
- } else {
136
- this.addParentRecord(parent);
137
- if (this.flatFilteredData.indexOf(parent) !== -1 || this.filteredResult.indexOf(parent) !== -1) {
138
- if (this.filteredResult.indexOf(record) === -1) {
139
- this.filteredResult.push(record);
140
- setValue('uniqueIDFilterCollection.' + record.uniqueID, record, this.parent);
141
- }
142
- } else {
143
- if (this.filteredResult.indexOf(record) === -1 && this.flatFilteredData.indexOf(record) !== -1) {
144
- this.filteredResult.push(record);
145
- setValue('uniqueIDFilterCollection.' + record.uniqueID, record, this.parent);
146
- }
147
- }
148
- }
149
- } else {
150
- if (!isNullOrUndefined(parent)) {
151
- const hierarchyMode: FilterHierarchyMode = this.parent.grid.searchSettings.key === '' ?
152
- this.parent.filterSettings.hierarchyMode : this.parent.searchSettings.hierarchyMode;
153
- if (hierarchyMode === 'Child' && (this.parent.grid.filterSettings.columns.length !== 0
154
- || this.parent.grid.searchSettings.key !== '')) {
155
- if (this.flatFilteredData.indexOf(parent) !== -1) {
156
- this.addParentRecord(parent);
157
- }
158
- } else {
159
- this.addParentRecord(parent);
160
- }
161
- }
162
- if (this.filteredResult.indexOf(record) === -1) {
163
- this.filteredResult.push(record);
164
- setValue('uniqueIDFilterCollection.' + record.uniqueID, record, this.parent);
165
- }
166
- }
167
- }
168
- private checkChildExsist(records: Object): boolean {
169
- const childRec: ITreeData[] = getObject('childRecords', records);
170
- let isExist: boolean = false;
171
- for (let count: number = 0; count < childRec.length; count++) {
172
- const ischild: Object[] = childRec[parseInt(count.toString(), 10)].childRecords;
173
- const hierarchyMode: FilterHierarchyMode = this.parent.grid.searchSettings.key === '' ?
174
- this.parent.filterSettings.hierarchyMode : this.parent.searchSettings.hierarchyMode;
175
- if (((hierarchyMode === 'Child' || hierarchyMode === 'Both') && (this.parent.grid.filterSettings.columns.length !== 0
176
- || this.parent.grid.searchSettings.key !== ''))) {
177
- const uniqueIDValue: Object = getValue('uniqueIDFilterCollection', this.parent);
178
- if (!Object.prototype.hasOwnProperty.call(uniqueIDValue, childRec[parseInt(count.toString(), 10)].uniqueID)) {
179
- this.filteredResult.push(childRec[parseInt(count.toString(), 10)]);
180
- setValue('uniqueIDFilterCollection.' + childRec[parseInt(count.toString(), 10)].uniqueID, childRec[parseInt(count.toString(), 10)], this.parent);
181
- isExist = true;
182
- }
183
- }
184
- if ((hierarchyMode === 'None')
185
- && (this.parent.grid.filterSettings.columns.length !== 0 || this.parent.grid.searchSettings.key !== '')) {
186
- if (this.flatFilteredData.indexOf(childRec[parseInt(count.toString(), 10)]) !== -1) {
187
- isExist = true;
188
- break;
189
- }
190
- }
191
- if (!isNullOrUndefined(ischild) && ischild.length) {
192
- isExist = this.checkChildExsist(childRec[parseInt(count.toString(), 10)]);
193
- }
194
- if ((hierarchyMode === 'Child' || hierarchyMode === 'Both') && childRec.length) {
195
- isExist = true;
196
- }
197
- }
198
- return isExist;
199
- }
200
- private updateFilterLevel(): void {
201
- const record: ITreeData[] = this.filteredResult;
202
- const len: number = this.filteredResult.length;
203
- for (let c: number = 0; c < len; c++) {
204
- const parent: ITreeData = getParentData(this.parent, record[parseInt(c.toString(), 10)].parentUniqueID);
205
- const isPrst: boolean = record.indexOf(parent) !== -1;
206
- if (isPrst) {
207
- const parent: ITreeData = getParentData(this.parent, record[parseInt(c.toString(), 10)].parentUniqueID, true);
208
- record[parseInt(c.toString(), 10)].filterLevel = parent.filterLevel + 1;
209
- } else {
210
- record[parseInt(c.toString(), 10)].filterLevel = 0;
211
- this.filteredParentRecs.push(record[parseInt(c.toString(), 10)]);
212
- }
213
- }
214
- }
215
- private clearFilterLevel(data: { flatData: Object[] }): void {
216
- let count: number = 0;
217
- const flatData: ITreeData[] = data.flatData as ITreeData[];
218
- const len: number = flatData.length;
219
- let currentRecord: ITreeData;
220
- for (count; count < len; count++) {
221
- currentRecord = flatData[parseInt(count.toString(), 10)];
222
- const fLevel: number = currentRecord.filterLevel;
223
- if (fLevel || fLevel === 0 || !isNullOrUndefined(currentRecord.hasFilteredChildRecords)) {
224
- currentRecord.hasFilteredChildRecords = null;
225
- currentRecord.filterLevel = null;
226
- }
227
- }
228
- this.filteredResult = [];
229
- this.parent.notify('updateResults', { result: flatData, count: flatData.length });
230
- }
231
- }
@@ -1,28 +0,0 @@
1
- import { TreeGrid } from '../base/treegrid';
2
- /**
3
- * TreeGrid Freeze module
4
- *
5
- * @hidden
6
- */
7
- export declare class Freeze {
8
- private parent;
9
- /**
10
- * Constructor for render module
11
- *
12
- * @param {TreeGrid} parent - Tree Grid instance
13
- */
14
- constructor(parent?: TreeGrid);
15
- addEventListener(): void;
16
- removeEventListener(): void;
17
- private rowExpandCollapse;
18
- private dblClickHandler;
19
- private dataBoundArg;
20
- destroy(): void;
21
- /**
22
- * For internal use only - Get the module name.
23
- *
24
- * @private
25
- * @returns {string} Returns Freeze module name
26
- */
27
- private getModuleName;
28
- }