ms-data-grid 0.0.57 → 0.0.59

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 (64) hide show
  1. package/ng-package.json +18 -0
  2. package/package.json +38 -51
  3. package/src/lib/css/bootstrap.css +12043 -0
  4. package/src/lib/data-grid/animations.ts +267 -0
  5. package/src/lib/data-grid/data-grid.component.html +5724 -0
  6. package/src/lib/data-grid/data-grid.component.scss +2126 -0
  7. package/src/lib/data-grid/data-grid.component.spec.ts +28 -0
  8. package/src/lib/data-grid/data-grid.component.ts +5780 -0
  9. package/src/lib/data-grid/statuses.ts +49 -0
  10. package/src/lib/data-grid.module.ts +21 -0
  11. package/src/lib/data-grid.service.spec.ts +16 -0
  12. package/src/lib/data-grid.service.ts +9 -0
  13. package/src/lib/directives/cell-render-init.directive.spec.ts +11 -0
  14. package/src/lib/directives/cell-render-init.directive.ts +65 -0
  15. package/src/lib/directives/cellHost.directive.spec.ts +11 -0
  16. package/src/lib/directives/cellHost.directive.ts +10 -0
  17. package/src/lib/directives/draggable-header.directive.spec.ts +11 -0
  18. package/src/lib/directives/draggable-header.directive.ts +172 -0
  19. package/src/lib/pipes/filter.pipe.spec.ts +11 -0
  20. package/src/lib/pipes/filter.pipe.ts +22 -0
  21. package/src/lib/services/cell-selection.service.spec.ts +16 -0
  22. package/src/lib/services/cell-selection.service.ts +205 -0
  23. package/src/lib/services/common.service.spec.ts +16 -0
  24. package/src/lib/services/common.service.ts +306 -0
  25. package/src/lib/services/copy-service.service.spec.ts +16 -0
  26. package/src/lib/services/copy-service.service.ts +252 -0
  27. package/src/lib/services/drag-drp.service.spec.ts +16 -0
  28. package/src/lib/services/drag-drp.service.ts +58 -0
  29. package/src/lib/services/export.service.spec.ts +16 -0
  30. package/src/lib/services/export.service.ts +189 -0
  31. package/src/lib/services/split-columns.service.spec.ts +16 -0
  32. package/src/lib/services/split-columns.service.ts +148 -0
  33. package/src/lib/services/swap-columns.service.spec.ts +16 -0
  34. package/src/lib/services/swap-columns.service.ts +162 -0
  35. package/{public-api.d.ts → src/public-api.ts} +6 -2
  36. package/src/typings.d.ts +4 -0
  37. package/tsconfig.lib.json +19 -0
  38. package/tsconfig.lib.prod.json +10 -0
  39. package/tsconfig.spec.json +14 -0
  40. package/esm2022/lib/data-grid/data-grid.component.mjs +0 -5068
  41. package/esm2022/lib/data-grid/statuses.mjs +0 -45
  42. package/esm2022/lib/data-grid.module.mjs +0 -27
  43. package/esm2022/lib/directives/cell-render-init.directive.mjs +0 -67
  44. package/esm2022/lib/directives/cellHost.directive.mjs +0 -16
  45. package/esm2022/lib/pipes/filter.pipe.mjs +0 -28
  46. package/esm2022/lib/services/common.service.mjs +0 -259
  47. package/esm2022/lib/services/copy-service.service.mjs +0 -222
  48. package/esm2022/lib/services/export.service.mjs +0 -149
  49. package/esm2022/lib/services/split-columns.service.mjs +0 -143
  50. package/esm2022/ms-data-grid.mjs +0 -5
  51. package/esm2022/public-api.mjs +0 -6
  52. package/fesm2022/ms-data-grid.mjs +0 -6005
  53. package/fesm2022/ms-data-grid.mjs.map +0 -1
  54. package/index.d.ts +0 -5
  55. package/lib/data-grid/data-grid.component.d.ts +0 -564
  56. package/lib/data-grid/statuses.d.ts +0 -3
  57. package/lib/data-grid.module.d.ts +0 -15
  58. package/lib/directives/cell-render-init.directive.d.ts +0 -18
  59. package/lib/directives/cellHost.directive.d.ts +0 -8
  60. package/lib/pipes/filter.pipe.d.ts +0 -7
  61. package/lib/services/common.service.d.ts +0 -18
  62. package/lib/services/copy-service.service.d.ts +0 -14
  63. package/lib/services/export.service.d.ts +0 -24
  64. package/lib/services/split-columns.service.d.ts +0 -9
@@ -1,222 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CopyServiceService {
4
- constructor() {
5
- this.updateRows = [];
6
- this.currentColums = [];
7
- }
8
- getSelectedDataForCopy(dataSet, columns, rowSelectedIndexes, selectedCells, getNestedValue) {
9
- columns = columns.filter(col => col.is_visible);
10
- const copiedRows = [];
11
- const findRowByVirtualIndex = (vIndex) => dataSet.find((r) => r.__virtualIndex === vIndex);
12
- if (rowSelectedIndexes && rowSelectedIndexes.size > 0) {
13
- const sortedIndexes = [...rowSelectedIndexes].sort((a, b) => a - b);
14
- for (const vIndex of sortedIndexes) {
15
- const row = findRowByVirtualIndex(vIndex);
16
- if (!row)
17
- continue;
18
- const extractValue = (field) => {
19
- const nested = getNestedValue(row, field);
20
- const value = nested?.value ??
21
- nested?.name ??
22
- nested ??
23
- '-';
24
- if (Array.isArray(value)) {
25
- return value
26
- .map(v => typeof v === 'object'
27
- ? (v.departmentName ?? v.roleName ?? '')
28
- : (v?.toString() ?? ''))
29
- .join(', ');
30
- }
31
- return value ?? '';
32
- };
33
- const mapped = columns.map(col => {
34
- if (col.children && Array.isArray(col.children)) {
35
- return col.children.map((c) => extractValue(c.field));
36
- }
37
- return [extractValue(col.field)];
38
- });
39
- const rowValues = mapped.reduce((acc, curr) => acc.concat(curr), []);
40
- copiedRows.push(rowValues);
41
- }
42
- }
43
- if (selectedCells && selectedCells.length > 0) {
44
- const rowsMap = new Map();
45
- for (const cell of selectedCells) {
46
- const row = findRowByVirtualIndex(cell.rowIndex);
47
- if (!row)
48
- continue;
49
- const col = columns[cell.colIndex];
50
- let fieldName = col?.field;
51
- if (col?.children && col.children[cell.subColIndex]) {
52
- fieldName = col.children[cell.subColIndex].field;
53
- }
54
- let value = getNestedValue(row, fieldName) || getNestedValue(row, fieldName)?.name || getNestedValue(row, fieldName) || '-';
55
- if (Array.isArray(value)) {
56
- value = value
57
- .map(v => typeof v === 'object'
58
- ? v.departmentName ?? v.roleName ?? v.full_name ?? ''
59
- : v?.toString() ?? '')
60
- .join(', ');
61
- }
62
- else {
63
- value = value ?? '';
64
- }
65
- if (!rowsMap.has(cell.rowIndex))
66
- rowsMap.set(cell.rowIndex, []);
67
- rowsMap.get(cell.rowIndex).push(value);
68
- }
69
- const sortedCells = [...rowsMap.entries()]
70
- .sort(([a], [b]) => a - b)
71
- .map(([_, v]) => v);
72
- copiedRows.push(...sortedCells);
73
- }
74
- if (copiedRows.length === 0) {
75
- const activeCell = document.querySelector('.active-cell');
76
- if (activeCell)
77
- return [[activeCell.textContent?.trim() || '']];
78
- }
79
- const maxCols = copiedRows.reduce((max, row) => Math.max(max, row.length), 0);
80
- return copiedRows.map(row => {
81
- const newRow = [...row];
82
- while (newRow.length < maxCols)
83
- newRow.push('');
84
- return newRow;
85
- });
86
- }
87
- copyToClipboard(selectedData, selector = '.selected-cell, .active-cell, .row-selected') {
88
- if (!selectedData || selectedData.length === 0)
89
- return;
90
- const textToCopy = selectedData
91
- .map(row => row.map(cell => (cell ?? '').toString()).join('\t'))
92
- .join('\n');
93
- navigator.clipboard.writeText(textToCopy).catch(err => console.error(err));
94
- const selectedEls = document.querySelectorAll(selector);
95
- selectedEls.forEach(el => el.classList.add('flash-bg'));
96
- setTimeout(() => {
97
- selectedEls.forEach(el => el.classList.remove('flash-bg'));
98
- }, 1000);
99
- }
100
- async pasteFromClipboardText(text, dataSet, columns, startRowIndex, startColIndex, startSubColIndex = 0) {
101
- if (!text)
102
- return [];
103
- this.updateRows = [];
104
- const rows = text.split(/\r?\n/).map(r => r.split('\t'));
105
- const flattenedColumns = [];
106
- columns.forEach(col => {
107
- if (col.children?.length) {
108
- col.children.forEach((child) => flattenedColumns.push({ parent: col, ...child }));
109
- }
110
- else {
111
- flattenedColumns.push(col);
112
- }
113
- });
114
- let startFlattenedIndex = 0;
115
- for (let i = 0; i < startColIndex; i++) {
116
- const col = columns[i];
117
- startFlattenedIndex += col.children?.length || 1;
118
- }
119
- const startCol = columns[startColIndex];
120
- if (startCol?.children?.length) {
121
- startFlattenedIndex += Math.min(startSubColIndex, startCol.children.length - 1);
122
- }
123
- rows.forEach((rowValues, rOffset) => {
124
- const targetRowIndex = startRowIndex + rOffset;
125
- const row = dataSet.find(r => r?.__virtualIndex === targetRowIndex);
126
- if (!row)
127
- return;
128
- rowValues.forEach((value, cOffset) => {
129
- const targetIndex = startFlattenedIndex + cOffset;
130
- if (targetIndex < 0 || targetIndex >= flattenedColumns.length)
131
- return;
132
- const targetColumn = flattenedColumns[targetIndex];
133
- if (!targetColumn || !targetColumn.is_editable)
134
- return;
135
- if (targetColumn?.type === 'string') {
136
- this.currentColums.push(targetColumn);
137
- this.setNestedValue(row, targetColumn, value);
138
- }
139
- else if (targetColumn.type === 'number') {
140
- const num = Number(value);
141
- if (!isNaN(num) && value !== '') {
142
- this.currentColums.push(targetColumn);
143
- this.setNestedValue(row, targetColumn, num);
144
- }
145
- }
146
- });
147
- });
148
- return { updateRows: this.updateRows, currentColums: this.currentColums };
149
- }
150
- setNestedValue(obj, column, option, calledFromInput = false) {
151
- if (column.type === 'date' || column.type === 'image')
152
- return;
153
- const path = column.field;
154
- if (!path)
155
- return;
156
- const keys = path.split('.');
157
- const lastKey = keys.pop();
158
- const parent = keys.reduce((acc, key) => (acc[key] ??= {}), obj);
159
- if (parent && lastKey) {
160
- if (typeof option === 'object' && option !== null) {
161
- parent[lastKey] = {
162
- id: option.id ?? 1,
163
- value: option.value ?? option,
164
- };
165
- }
166
- else {
167
- parent[lastKey] = option;
168
- }
169
- }
170
- const sendObj = {
171
- data: { ...obj },
172
- eventType: 'onCellEdit',
173
- };
174
- this.updateRows.push(obj);
175
- }
176
- cutSelectedSelectedData(dataSet, rowSelectedIndexes, selectedCells, columns, setNestedValue) {
177
- let updatedData = [...dataSet];
178
- if (rowSelectedIndexes?.size) {
179
- const indexes = [...rowSelectedIndexes];
180
- updatedData = updatedData.filter((row) => !indexes.includes(row.__virtualIndex));
181
- // rowSelectedIndexes.clear();
182
- }
183
- else if (selectedCells?.length) {
184
- this.updateRows = [];
185
- for (const cell of selectedCells) {
186
- const row = updatedData.find(r => r.__virtualIndex === cell.rowIndex);
187
- if (!row)
188
- continue;
189
- let col = columns[cell.colIndex];
190
- if (col?.children && col.children[cell.subColIndex]) {
191
- col = col.children[cell.subColIndex];
192
- }
193
- this.setNestedValue(row, col, '');
194
- }
195
- // selectedCells.length = 0;
196
- }
197
- return { updatedData: updatedData, updatedRows: this.updateRows };
198
- }
199
- cutWithAnimation(selectedData, selector = '.selected-cell, .active-cell, .row-selected') {
200
- if (!selectedData || selectedData.length === 0)
201
- return;
202
- const textToCopy = selectedData
203
- .map(row => row.map(cell => (cell ?? '').toString()).join('\t'))
204
- .join('\n');
205
- navigator.clipboard.writeText(textToCopy).catch(err => console.error(err));
206
- // Apply red cut animation
207
- const selectedEls = document.querySelectorAll(selector);
208
- selectedEls.forEach(el => el.classList.add('cut-flash-bg'));
209
- setTimeout(() => {
210
- selectedEls.forEach(el => el.classList.remove('cut-flash-bg'));
211
- }, 1000);
212
- }
213
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CopyServiceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
214
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CopyServiceService, providedIn: 'root' }); }
215
- }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CopyServiceService, decorators: [{
217
- type: Injectable,
218
- args: [{
219
- providedIn: 'root'
220
- }]
221
- }], ctorParameters: function () { return []; } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1zZXJ2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWdyaWQvc3JjL2xpYi9zZXJ2aWNlcy9jb3B5LXNlcnZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCO1FBMkdGLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDckIsa0JBQWEsR0FBUyxFQUFFLENBQUE7SUE1R1IsQ0FBQztJQUNqQixzQkFBc0IsQ0FDcEIsT0FBYyxFQUNkLE9BQWMsRUFDZCxrQkFBK0IsRUFDL0IsYUFBb0IsRUFDcEIsY0FBK0M7UUFFL0MsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsTUFBTSxVQUFVLEdBQVksRUFBRSxDQUFDO1FBQy9CLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUMvQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELElBQUksa0JBQWtCLElBQUksa0JBQWtCLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNyRCxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxhQUFhLEVBQUU7Z0JBQ2xDLE1BQU0sR0FBRyxHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsR0FBRztv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QUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUzRSwwQkFBMEI7UUFDMUIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDOytHQW5QVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29weVNlcnZpY2VTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuICBnZXRTZWxlY3RlZERhdGFGb3JDb3B5KFxyXG4gICAgZGF0YVNldDogYW55W10sXHJcbiAgICBjb2x1bW5zOiBhbnlbXSxcclxuICAgIHJvd1NlbGVjdGVkSW5kZXhlczogU2V0PG51bWJlcj4sXHJcbiAgICBzZWxlY3RlZENlbGxzOiBhbnlbXSxcclxuICAgIGdldE5lc3RlZFZhbHVlOiAob2JqOiBhbnksIHBhdGg6IHN0cmluZykgPT4gYW55XHJcbiAgKTogYW55W11bXSB7XHJcbiAgICBjb2x1bW5zID0gY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC5pc192aXNpYmxlKTtcclxuICAgIGNvbnN0IGNvcGllZFJvd3M6IGFueVtdW10gPSBbXTtcclxuICAgIGNvbnN0IGZpbmRSb3dCeVZpcnR1YWxJbmRleCA9ICh2SW5kZXg6IG51bWJlcikgPT5cclxuICAgICAgZGF0YVNldC5maW5kKChyOiBhbnkpID0+IHIuX192aXJ0dWFsSW5kZXggPT09IHZJbmRleCk7XHJcbiAgICBpZiAocm93U2VsZWN0ZWRJbmRleGVzICYmIHJvd1NlbGVjdGVkSW5kZXhlcy5zaXplID4gMCkge1xyXG4gICAgICBjb25zdCBzb3J0ZWRJbmRleGVzID0gWy4uLnJvd1NlbGVjdGVkSW5kZXhlc10uc29ydCgoYSwgYikgPT4gYSAtIGIpO1xyXG4gICAgICBmb3IgKGNvbnN0IHZJbmRleCBvZiBzb3J0ZWRJbmRleGVzKSB7XHJcbiAgICAgICAgY29uc3Qgcm93ID0gZmluZFJvd0J5VmlydHVhbEluZGV4KHZJbmRleCk7XHJcbiAgICAgICAgaWYgKCFyb3cpIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IGV4dHJhY3RWYWx1ZSA9IChmaWVsZDogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgICAgICAgIGNvbnN0IG5lc3RlZCA9IGdldE5lc3RlZFZhbHVlKHJvdywgZmllbGQpO1xyXG4gICAgICAgICAgY29uc3QgdmFsdWUgPVxyXG4gICAgICAgICAgICBuZXN0ZWQ/LnZhbHVlID8/XHJcbiAgICAgICAgICAgIG5lc3RlZD8ubmFtZSA/P1xyXG4gICAgICAgICAgICBuZXN0ZWQgPz9cclxuICAgICAgICAgICAgJy0nO1xyXG5cclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWVcclxuICAgICAgICAgICAgICAubWFwKHYgPT5cclxuICAgICAgICAgICAgICAgIHR5cGVvZiB2ID09PSAnb2JqZWN0J1xyXG4gICAgICAgICAgICAgICAgICA/ICh2LmRlcGFydG1lbnROYW1lID8/IHYucm9sZU5hbWUgPz8gJycpXHJcbiAgICAgICAgICAgICAgICAgIDogKHY/LnRvU3RyaW5nKCkgPz8gJycpXHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgIC5qb2luKCcsICcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlID8/ICcnO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgbWFwcGVkID0gY29sdW1ucy5tYXAoY29sID0+IHtcclxuICAgICAgICAgIGlmIChjb2wuY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjb2wuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb2wuY2hpbGRyZW4ubWFwKChjOiB7IGZpZWxkOiBzdHJpbmcgfSkgPT4gZXh0cmFjdFZhbHVlKGMuZmllbGQpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBbZXh0cmFjdFZhbHVlKGNvbC5maWVsZCldO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IHJvd1ZhbHVlcyA9IG1hcHBlZC5yZWR1Y2U8c3RyaW5nW10+KChhY2MsIGN1cnIpID0+IGFjYy5jb25jYXQoY3VyciksIFtdKTtcclxuICAgICAgICBjb3BpZWRSb3dzLnB1c2gocm93VmFsdWVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHNlbGVjdGVkQ2VsbHMgJiYgc2VsZWN0ZWRDZWxscy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHJvd3NNYXAgPSBuZXcgTWFwPG51bWJlciwgYW55W10+KCk7XHJcbiAgICAgIGZvciAoY29uc3QgY2VsbCBvZiBzZWxlY3RlZENlbGxzKSB7XHJcbiAgICAgICAgY29uc3Qgcm93ID0gZmluZFJvd0J5VmlydHVhbEluZGV4KGNlbGwucm93SW5kZXgpO1xyXG4gICAgICAgIGlmICghcm93KSBjb250aW51ZTtcclxuICAgICAgICBjb25zdCBjb2wgPSBjb2x1bW5zW2NlbGwuY29sSW5kZXhdO1xyXG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSBjb2w/LmZpZWxkO1xyXG4gICAgICAgIGlmIChjb2w/LmNoaWxkcmVuICYmIGNvbC5jaGlsZHJlbltjZWxsLnN1YkNvbEluZGV4XSkge1xyXG4gICAgICAgICAgZmllbGROYW1lID0gY29sLmNoaWxkcmVuW2NlbGwuc3ViQ29sSW5kZXhdLmZpZWxkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdmFsdWUgPSBnZXROZXN0ZWRWYWx1ZShyb3csIGZpZWxkTmFtZSkgfHwgZ2V0TmVzdGVkVmFsdWUocm93LCBmaWVsZE5hbWUpPy5uYW1lIHx8IGdldE5lc3RlZFZhbHVlKHJvdywgZmllbGROYW1lKSB8fCAnLSc7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlXHJcbiAgICAgICAgICAgIC5tYXAodiA9PlxyXG4gICAgICAgICAgICAgIHR5cGVvZiB2ID09PSAnb2JqZWN0J1xyXG4gICAgICAgICAgICAgICAgPyB2LmRlcGFydG1lbnROYW1lID8/IHYucm9sZU5hbWUgPz8gdi5mdWxsX25hbWUgPz8gJydcclxuICAgICAgICAgICAgICAgIDogdj8udG9TdHJpbmcoKSA/PyAnJ1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5qb2luKCcsICcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlID8/ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXJvd3NNYXAuaGFzKGNlbGwucm93SW5kZXgpKSByb3dzTWFwLnNldChjZWxsLnJvd0luZGV4LCBbXSk7XHJcbiAgICAgICAgcm93c01hcC5nZXQoY2VsbC5yb3dJbmRleCkhLnB1c2godmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHNvcnRlZENlbGxzID0gWy4uLnJvd3NNYXAuZW50cmllcygpXVxyXG4gICAgICAgIC5zb3J0KChbYV0sIFtiXSkgPT4gYSAtIGIpXHJcbiAgICAgICAgLm1hcCgoW18sIHZdKSA9PiB2KTtcclxuICAgICAgY29waWVkUm93cy5wdXNoKC4uLnNvcnRlZENlbGxzKTtcclxuICAgIH1cclxuICAgIGlmIChjb3BpZWRSb3dzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBjb25zdCBhY3RpdmVDZWxsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFjdGl2ZS1jZWxsJyk7XHJcbiAgICAgIGlmIChhY3RpdmVDZWxsKSByZXR1cm4gW1thY3RpdmVDZWxsLnRleHRDb250ZW50Py50cmltKCkgfHwgJyddXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtYXhDb2xzID0gY29waWVkUm93cy5yZWR1Y2UoKG1heCwgcm93KSA9PiBNYXRoLm1heChtYXgsIHJvdy5sZW5ndGgpLCAwKTtcclxuICAgIHJldHVybiBjb3BpZWRSb3dzLm1hcChyb3cgPT4ge1xyXG4gICAgICBjb25zdCBuZXdSb3cgPSBbLi4ucm93XTtcclxuICAgICAgd2hpbGUgKG5ld1Jvdy5sZW5ndGggPCBtYXhDb2xzKSBuZXdSb3cucHVzaCgnJyk7XHJcbiAgICAgIHJldHVybiBuZXdSb3c7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBjb3B5VG9DbGlwYm9hcmQoXHJcbiAgICBzZWxlY3RlZERhdGE6IGFueVtdW10sXHJcbiAgICBzZWxlY3RvciA9ICcuc2VsZWN0ZWQtY2VsbCwgLmFjdGl2ZS1jZWxsLCAucm93LXNlbGVjdGVkJ1xyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKCFzZWxlY3RlZERhdGEgfHwgc2VsZWN0ZWREYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdGV4dFRvQ29weSA9IHNlbGVjdGVkRGF0YVxyXG4gICAgICAubWFwKHJvdyA9PiByb3cubWFwKGNlbGwgPT4gKGNlbGwgPz8gJycpLnRvU3RyaW5nKCkpLmpvaW4oJ1xcdCcpKVxyXG4gICAgICAuam9pbignXFxuJyk7XHJcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0VG9Db3B5KS5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIpKTtcclxuICAgIGNvbnN0IHNlbGVjdGVkRWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XHJcbiAgICBzZWxlY3RlZEVscy5mb3JFYWNoKGVsID0+IGVsLmNsYXNzTGlzdC5hZGQoJ2ZsYXNoLWJnJykpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHNlbGVjdGVkRWxzLmZvckVhY2goZWwgPT4gZWwuY2xhc3NMaXN0LnJlbW92ZSgnZmxhc2gtYmcnKSk7XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG5cclxudXBkYXRlUm93czogYW55W10gPSBbXTtcclxuICBjdXJyZW50Q29sdW1zIDogYW55ID0gW11cclxuICBhc3luYyBwYXN0ZUZyb21DbGlwYm9hcmRUZXh0KFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgZGF0YVNldDogYW55W10sXHJcbiAgICBjb2x1bW5zOiBhbnlbXSxcclxuICAgIHN0YXJ0Um93SW5kZXg6IG51bWJlcixcclxuICAgIHN0YXJ0Q29sSW5kZXg6IG51bWJlcixcclxuICAgIHN0YXJ0U3ViQ29sSW5kZXg6IG51bWJlciA9IDBcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gW107XHJcbiAgICB0aGlzLnVwZGF0ZVJvd3MgPSBbXTtcclxuICAgIGNvbnN0IHJvd3MgPSB0ZXh0LnNwbGl0KC9cXHI/XFxuLykubWFwKHIgPT4gci5zcGxpdCgnXFx0JykpO1xyXG4gICAgY29uc3QgZmxhdHRlbmVkQ29sdW1uczogYW55W10gPSBbXTtcclxuICAgIGNvbHVtbnMuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBjb2wuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4gZmxhdHRlbmVkQ29sdW1ucy5wdXNoKHsgcGFyZW50OiBjb2wsIC4uLmNoaWxkIH0pKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmbGF0dGVuZWRDb2x1bW5zLnB1c2goY29sKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBsZXQgc3RhcnRGbGF0dGVuZWRJbmRleCA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0YXJ0Q29sSW5kZXg7IGkrKykge1xyXG4gICAgICBjb25zdCBjb2wgPSBjb2x1bW5zW2ldO1xyXG4gICAgICBzdGFydEZsYXR0ZW5lZEluZGV4ICs9IGNvbC5jaGlsZHJlbj8ubGVuZ3RoIHx8IDE7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzdGFydENvbCA9IGNvbHVtbnNbc3RhcnRDb2xJbmRleF07XHJcbiAgICBpZiAoc3RhcnRDb2w/LmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgc3RhcnRGbGF0dGVuZWRJbmRleCArPSBNYXRoLm1pbihzdGFydFN1YkNvbEluZGV4LCBzdGFydENvbC5jaGlsZHJlbi5sZW5ndGggLSAxKTtcclxuICAgIH1cclxuIFxyXG4gICAgcm93cy5mb3JFYWNoKChyb3dWYWx1ZXMsIHJPZmZzZXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0Um93SW5kZXggPSBzdGFydFJvd0luZGV4ICsgck9mZnNldDtcclxuICAgICAgY29uc3Qgcm93ID0gZGF0YVNldC5maW5kKHIgPT4gcj8uX192aXJ0dWFsSW5kZXggPT09IHRhcmdldFJvd0luZGV4KTtcclxuICAgICAgaWYgKCFyb3cpIHJldHVybjtcclxuIFxyXG4gICAgICByb3dWYWx1ZXMuZm9yRWFjaCgodmFsdWUsIGNPZmZzZXQpID0+IHtcclxuICAgICAgICBjb25zdCB0YXJnZXRJbmRleCA9IHN0YXJ0RmxhdHRlbmVkSW5kZXggKyBjT2Zmc2V0O1xyXG4gICAgICAgIGlmICh0YXJnZXRJbmRleCA8IDAgfHwgdGFyZ2V0SW5kZXggPj0gZmxhdHRlbmVkQ29sdW1ucy5sZW5ndGgpIHJldHVybjtcclxuIFxyXG4gICAgICAgIGNvbnN0IHRhcmdldENvbHVtbiA9IGZsYXR0ZW5lZENvbHVtbnNbdGFyZ2V0SW5kZXhdO1xyXG4gICAgICAgIGlmKCF0YXJnZXRDb2x1bW4gfHwgIXRhcmdldENvbHVtbi5pc19lZGl0YWJsZSkgcmV0dXJuO1xyXG4gICAgICAgICBpZiAodGFyZ2V0Q29sdW1uPy50eXBlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50Q29sdW1zLnB1c2godGFyZ2V0Q29sdW1uKTtcclxuICAgICAgICAgICAgdGhpcy5zZXROZXN0ZWRWYWx1ZShyb3csIHRhcmdldENvbHVtbiwgdmFsdWUpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0YXJnZXRDb2x1bW4udHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgY29uc3QgbnVtID0gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKCFpc05hTihudW0pICYmIHZhbHVlICE9PSAnJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudENvbHVtcy5wdXNoKHRhcmdldENvbHVtbik7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXROZXN0ZWRWYWx1ZShyb3csIHRhcmdldENvbHVtbiwgbnVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gXHJcbiAgICByZXR1cm4ge3VwZGF0ZVJvd3MgOiB0aGlzLnVwZGF0ZVJvd3MsIGN1cnJlbnRDb2x1bXMgOiB0aGlzLmN1cnJlbnRDb2x1bXN9O1xyXG4gIH1cclxuXHJcblxyXG4gIHNldE5lc3RlZFZhbHVlKG9iajogYW55LCBjb2x1bW46IGFueSwgb3B0aW9uOiBhbnksIGNhbGxlZEZyb21JbnB1dCA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdkYXRlJyB8fCBjb2x1bW4udHlwZSA9PT0gJ2ltYWdlJykgcmV0dXJuO1xyXG4gICAgY29uc3QgcGF0aCA9IGNvbHVtbi5maWVsZDtcclxuICAgIGlmICghcGF0aCkgcmV0dXJuO1xyXG4gICAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoJy4nKTtcclxuICAgIGNvbnN0IGxhc3RLZXkgPSBrZXlzLnBvcCgpO1xyXG4gICAgY29uc3QgcGFyZW50ID0ga2V5cy5yZWR1Y2UoKGFjYzogYW55LCBrZXk6IHN0cmluZykgPT4gKGFjY1trZXldID8/PSB7fSksIG9iaik7XHJcbiAgICBpZiAocGFyZW50ICYmIGxhc3RLZXkpIHtcclxuICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbiAhPT0gbnVsbCkge1xyXG4gICAgICAgIHBhcmVudFtsYXN0S2V5XSA9IHtcclxuICAgICAgICAgIGlkOiBvcHRpb24uaWQgPz8gMSxcclxuICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUgPz8gb3B0aW9uLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcGFyZW50W2xhc3RLZXldID0gb3B0aW9uO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZW5kT2JqID0ge1xyXG4gICAgICBkYXRhOiB7IC4uLm9iaiB9LFxyXG4gICAgICBldmVudFR5cGU6ICdvbkNlbGxFZGl0JyxcclxuICAgIH07XHJcbiAgICB0aGlzLnVwZGF0ZVJvd3MucHVzaChvYmopO1xyXG4gIH1cclxuXHJcblxyXG4gIGN1dFNlbGVjdGVkU2VsZWN0ZWREYXRhKFxyXG4gICAgZGF0YVNldDogYW55W10sXHJcbiAgICByb3dTZWxlY3RlZEluZGV4ZXM6IFNldDxudW1iZXI+LFxyXG4gICAgc2VsZWN0ZWRDZWxsczogYW55W10sXHJcbiAgICBjb2x1bW5zOiBhbnlbXSxcclxuICAgIHNldE5lc3RlZFZhbHVlOiAob2JqOiBhbnksIGNvbHVtbjogYW55LCB2YWx1ZTogYW55KSA9PiB2b2lkXHJcbiAgKTogYW55IHtcclxuICAgIGxldCB1cGRhdGVkRGF0YSA9IFsuLi5kYXRhU2V0XTtcclxuICAgIGlmIChyb3dTZWxlY3RlZEluZGV4ZXM/LnNpemUpIHtcclxuICAgICAgY29uc3QgaW5kZXhlcyA9IFsuLi5yb3dTZWxlY3RlZEluZGV4ZXNdO1xyXG4gICAgICB1cGRhdGVkRGF0YSA9IHVwZGF0ZWREYXRhLmZpbHRlcihcclxuICAgICAgICAocm93OiBhbnkpID0+ICFpbmRleGVzLmluY2x1ZGVzKHJvdy5fX3ZpcnR1YWxJbmRleClcclxuICAgICAgKTtcclxuICAgICAgLy8gcm93U2VsZWN0ZWRJbmRleGVzLmNsZWFyKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChzZWxlY3RlZENlbGxzPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51cGRhdGVSb3dzID0gW107XHJcbiAgICAgIGZvciAoY29uc3QgY2VsbCBvZiBzZWxlY3RlZENlbGxzKSB7XHJcbiAgICAgICAgY29uc3Qgcm93ID0gdXBkYXRlZERhdGEuZmluZChyID0+IHIuX192aXJ0dWFsSW5kZXggPT09IGNlbGwucm93SW5kZXgpO1xyXG4gICAgICAgIGlmICghcm93KSBjb250aW51ZTtcclxuICAgICAgICBsZXQgY29sID0gY29sdW1uc1tjZWxsLmNvbEluZGV4XTtcclxuICAgICAgICBpZiAoY29sPy5jaGlsZHJlbiAmJiBjb2wuY2hpbGRyZW5bY2VsbC5zdWJDb2xJbmRleF0pIHtcclxuICAgICAgICAgIGNvbCA9IGNvbC5jaGlsZHJlbltjZWxsLnN1YkNvbEluZGV4XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXROZXN0ZWRWYWx1ZShyb3csIGNvbCwgJycpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHNlbGVjdGVkQ2VsbHMubGVuZ3RoID0gMDtcclxuICAgIH1cclxuICAgIHJldHVybiB7dXBkYXRlZERhdGE6IHVwZGF0ZWREYXRhLCB1cGRhdGVkUm93czogdGhpcy51cGRhdGVSb3dzfTtcclxuICB9XHJcblxyXG5cclxuICBjdXRXaXRoQW5pbWF0aW9uKFxyXG4gICAgc2VsZWN0ZWREYXRhOiBhbnlbXVtdLFxyXG4gICAgc2VsZWN0b3IgPSAnLnNlbGVjdGVkLWNlbGwsIC5hY3RpdmUtY2VsbCwgLnJvdy1zZWxlY3RlZCdcclxuICApOiB2b2lkIHtcclxuICAgIGlmICghc2VsZWN0ZWREYXRhIHx8IHNlbGVjdGVkRGF0YS5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB0ZXh0VG9Db3B5ID0gc2VsZWN0ZWREYXRhXHJcbiAgICAgIC5tYXAocm93ID0+IHJvdy5tYXAoY2VsbCA9PiAoY2VsbCA/PyAnJykudG9TdHJpbmcoKSkuam9pbignXFx0JykpXHJcbiAgICAgIC5qb2luKCdcXG4nKTtcclxuXHJcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0VG9Db3B5KS5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIpKTtcclxuXHJcbiAgICAvLyBBcHBseSByZWQgY3V0IGFuaW1hdGlvblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRFbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcclxuICAgIHNlbGVjdGVkRWxzLmZvckVhY2goZWwgPT4gZWwuY2xhc3NMaXN0LmFkZCgnY3V0LWZsYXNoLWJnJykpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHNlbGVjdGVkRWxzLmZvckVhY2goZWwgPT4gZWwuY2xhc3NMaXN0LnJlbW92ZSgnY3V0LWZsYXNoLWJnJykpO1xyXG4gICAgfSwgMTAwMCk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
@@ -1,149 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as XLSX from 'xlsx-js-style';
3
- import { saveAs } from 'file-saver';
4
- import * as i0 from "@angular/core";
5
- export class ExportService {
6
- constructor() { }
7
- /**
8
- * Exports data to CSV or Excel.
9
- * @param columns List of column definitions (each having name/key/is_visible)
10
- * @param data The array of data objects
11
- * @param fileName Name of the exported file (without extension)
12
- * @param format 'csv' | 'xlsx'
13
- */
14
- exportData(columns, data, fileName, format = 'xlsx', rowSelectedIndexes = new Set(), styleConfig = {}) {
15
- const { headerBgColor = '#228B22', headerTextColor = '#FFFFFF', bodyTextColor = '#000000', fontFamily = 'Calibri', fontWeight = 'normal', zoomScale = 120, headerRowHeight = 20, selectedRowBgColor = '#8AC5FF', } = styleConfig;
16
- const visibleColumns = columns.filter(col => col.is_visible && col.type !== 'image' && col.type !== 'logo');
17
- const headers = visibleColumns.map(col => col.header || col.headerName || col.name);
18
- const flattenValue = (value) => {
19
- if (value == null)
20
- return '';
21
- if (Array.isArray(value))
22
- return value.map(v => (typeof v === 'object' ? flattenValue(v) : v)).join(', ');
23
- if (typeof value === 'object')
24
- return Object.entries(value)
25
- .map(([k, v]) => `${k}: ${flattenValue(v)}`)
26
- .join(', ');
27
- return value;
28
- };
29
- const exportData = data.map(row => visibleColumns.reduce((acc, col) => {
30
- const header = col.headerName || col.name || col.header;
31
- let value = this.getNestedValue(row, col.field);
32
- switch (col.type) {
33
- case 'boolean':
34
- value = value ? 'Yes' : 'No';
35
- break;
36
- case 'date':
37
- if (value) {
38
- const date = new Date(value);
39
- if (!isNaN(date.getTime())) {
40
- value = date.toLocaleDateString('en-US', {
41
- day: '2-digit',
42
- month: 'long',
43
- year: 'numeric',
44
- });
45
- }
46
- }
47
- break;
48
- default:
49
- value = flattenValue(value);
50
- }
51
- acc[header] = value;
52
- return acc;
53
- }, {}));
54
- const worksheet = XLSX.utils.json_to_sheet(exportData, { header: headers });
55
- // ✅ Define a reusable border style
56
- const borderStyle = {
57
- top: { style: 'thin', color: { rgb: 'CCCCCC' } },
58
- bottom: { style: 'thin', color: { rgb: 'CCCCCC' } },
59
- left: { style: 'thin', color: { rgb: 'CCCCCC' } },
60
- right: { style: 'thin', color: { rgb: 'CCCCCC' } },
61
- };
62
- // ✅ Apply header styles
63
- headers.forEach((header, index) => {
64
- const cellAddress = XLSX.utils.encode_cell({ r: 0, c: index });
65
- if (!worksheet[cellAddress])
66
- return;
67
- worksheet[cellAddress].s = {
68
- fill: { fgColor: { rgb: headerBgColor.replace('#', '') } },
69
- font: {
70
- name: fontFamily,
71
- sz: 14,
72
- color: { rgb: headerTextColor.replace('#', '') },
73
- bold: fontWeight === 'bold',
74
- },
75
- alignment: { horizontal: 'center', vertical: 'center' },
76
- border: borderStyle, // ✅ Added border here
77
- };
78
- });
79
- // ✅ Apply body styles + highlight selected rows
80
- for (let r = 1; r <= exportData.length; r++) {
81
- const isSelected = rowSelectedIndexes?.has(r - 1);
82
- const rowBgColor = isSelected ? selectedRowBgColor : '#FFFFFF';
83
- for (let c = 0; c < headers.length; c++) {
84
- const col = visibleColumns[c];
85
- const cellAddress = XLSX.utils.encode_cell({ r, c });
86
- const cell = worksheet[cellAddress];
87
- if (!cell)
88
- continue;
89
- let horizontalAlign = 'left';
90
- if (['number', 'boolean', 'date'].includes(col.type))
91
- horizontalAlign = 'center';
92
- cell.s = {
93
- fill: { fgColor: { rgb: rowBgColor.replace('#', '') } },
94
- font: {
95
- name: fontFamily,
96
- sz: 14,
97
- color: { rgb: bodyTextColor.replace('#', '') },
98
- bold: false,
99
- },
100
- alignment: { horizontal: horizontalAlign, vertical: 'center', wrapText: true },
101
- border: borderStyle, // ✅ Added border here too
102
- };
103
- }
104
- }
105
- // ✅ Adjust column widths
106
- const colWidths = headers.map(header => {
107
- let maxLength = header.length;
108
- exportData.forEach(row => {
109
- const val = row[header];
110
- if (val != null) {
111
- const len = val.toString().length;
112
- if (len > maxLength)
113
- maxLength = len;
114
- }
115
- });
116
- return { wch: Math.min(maxLength + 2, 64) };
117
- });
118
- worksheet['!cols'] = colWidths;
119
- worksheet['!rows'] = [{ hpt: headerRowHeight }];
120
- worksheet['!zoom'] = zoomScale;
121
- const workbook = { Sheets: { Data: worksheet }, SheetNames: ['Data'] };
122
- if (format === 'csv') {
123
- const csv = XLSX.utils.sheet_to_csv(worksheet);
124
- const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });
125
- saveAs(blob, `${fileName}.csv`);
126
- }
127
- else {
128
- const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
129
- const blob = new Blob([excelBuffer], {
130
- type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8',
131
- });
132
- saveAs(blob, `${fileName}.xlsx`);
133
- }
134
- }
135
- getNestedValue(obj, path) {
136
- if (!path || typeof obj !== 'object')
137
- return obj;
138
- return path.split('.').reduce((acc, key) => (acc && acc[key] !== undefined ? acc[key] : ''), obj);
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
141
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExportService, providedIn: 'root' }); }
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExportService, decorators: [{
144
- type: Injectable,
145
- args: [{
146
- providedIn: 'root'
147
- }]
148
- }], ctorParameters: function () { return []; } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWdyaWQvc3JjL2xpYi9zZXJ2aWNlcy9leHBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBS3BDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLGdCQUFlLENBQUM7SUFFaEI7Ozs7OztPQU1HO0lBQ0wsVUFBVSxDQUNSLE9BQWMsRUFDZCxJQUFXLEVBQ1gsUUFBZ0IsRUFDaEIsU0FBeUIsTUFBTSxFQUMvQixxQkFBeUMsSUFBSSxHQUFHLEVBQUUsRUFDbEQsY0FTSSxFQUFFO1FBRU4sTUFBTSxFQUNKLGFBQWEsR0FBRyxTQUFTLEVBQ3pCLGVBQWUsR0FBRyxTQUFTLEVBQzNCLGFBQWEsR0FBRyxTQUFTLEVBQ3pCLFVBQVUsR0FBRyxTQUFTLEVBQ3RCLFVBQVUsR0FBRyxRQUFRLEVBQ3JCLFNBQVMsR0FBRyxHQUFHLEVBQ2YsZUFBZSxHQUFHLEVBQUUsRUFDcEIsa0JBQWtCLEdBQUcsU0FBUyxHQUMvQixHQUFHLFdBQVcsQ0FBQztRQUVoQixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUNuQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLENBQ3JFLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENB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QUFJLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxNQUFNLFdBQVcsR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbkYsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxFQUFFLGlGQUFpRjthQUN4RixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFLTyxjQUFjLENBQUMsR0FBUSxFQUFFLElBQVk7UUFDM0MsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEcsQ0FBQzsrR0FwTFksYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeC1qcy1zdHlsZSc7XHJcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhwb3J0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwb3J0cyBkYXRhIHRvIENTViBvciBFeGNlbC5cclxuICAgKiBAcGFyYW0gY29sdW1ucyBMaXN0IG9mIGNvbHVtbiBkZWZpbml0aW9ucyAoZWFjaCBoYXZpbmcgbmFtZS9rZXkvaXNfdmlzaWJsZSlcclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgZGF0YSBvYmplY3RzXHJcbiAgICogQHBhcmFtIGZpbGVOYW1lIE5hbWUgb2YgdGhlIGV4cG9ydGVkIGZpbGUgKHdpdGhvdXQgZXh0ZW5zaW9uKVxyXG4gICAqIEBwYXJhbSBmb3JtYXQgJ2NzdicgfCAneGxzeCdcclxuICAgKi9cclxuZXhwb3J0RGF0YShcclxuICBjb2x1bW5zOiBhbnlbXSxcclxuICBkYXRhOiBhbnlbXSxcclxuICBmaWxlTmFtZTogc3RyaW5nLFxyXG4gIGZvcm1hdDogJ2NzdicgfCAneGxzeCcgPSAneGxzeCcsXHJcbiAgcm93U2VsZWN0ZWRJbmRleGVzOiBTZXQ8bnVtYmVyPiB8IG51bGwgPSBuZXcgU2V0KCksXHJcbiAgc3R5bGVDb25maWc6IHtcclxuICAgIGhlYWRlckJnQ29sb3I/OiBzdHJpbmc7XHJcbiAgICBoZWFkZXJUZXh0Q29sb3I/OiBzdHJpbmc7XHJcbiAgICBib2R5VGV4dENvbG9yPzogc3RyaW5nO1xyXG4gICAgZm9udEZhbWlseT86IHN0cmluZztcclxuICAgIGZvbnRXZWlnaHQ/OiAnbm9ybWFsJyB8ICdib2xkJztcclxuICAgIHpvb21TY2FsZT86IG51bWJlcjtcclxuICAgIGhlYWRlclJvd0hlaWdodD86IG51bWJlcjtcclxuICAgIHNlbGVjdGVkUm93QmdDb2xvcj86IHN0cmluZztcclxuICB9ID0ge31cclxuKSB7XHJcbiAgY29uc3Qge1xyXG4gICAgaGVhZGVyQmdDb2xvciA9ICcjMjI4QjIyJyxcclxuICAgIGhlYWRlclRleHRDb2xvciA9ICcjRkZGRkZGJyxcclxuICAgIGJvZHlUZXh0Q29sb3IgPSAnIzAwMDAwMCcsXHJcbiAgICBmb250RmFtaWx5ID0gJ0NhbGlicmknLFxyXG4gICAgZm9udFdlaWdodCA9ICdub3JtYWwnLFxyXG4gICAgem9vbVNjYWxlID0gMTIwLFxyXG4gICAgaGVhZGVyUm93SGVpZ2h0ID0gMjAsXHJcbiAgICBzZWxlY3RlZFJvd0JnQ29sb3IgPSAnIzhBQzVGRicsXHJcbiAgfSA9IHN0eWxlQ29uZmlnO1xyXG5cclxuICBjb25zdCB2aXNpYmxlQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKFxyXG4gICAgY29sID0+IGNvbC5pc192aXNpYmxlICYmIGNvbC50eXBlICE9PSAnaW1hZ2UnICYmIGNvbC50eXBlICE9PSAnbG9nbydcclxuICApO1xyXG5cclxuICBjb25zdCBoZWFkZXJzID0gdmlzaWJsZUNvbHVtbnMubWFwKGNvbCA9PiBjb2wuaGVhZGVyIHx8IGNvbC5oZWFkZXJOYW1lIHx8IGNvbC5uYW1lKTtcclxuXHJcbiAgY29uc3QgZmxhdHRlblZhbHVlID0gKHZhbHVlOiBhbnkpOiBhbnkgPT4ge1xyXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiAnJztcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSlcclxuICAgICAgcmV0dXJuIHZhbHVlLm1hcCh2ID0+ICh0eXBlb2YgdiA9PT0gJ29iamVjdCcgPyBmbGF0dGVuVmFsdWUodikgOiB2KSkuam9pbignLCAnKTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKVxyXG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModmFsdWUpXHJcbiAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiBgJHtrfTogJHtmbGF0dGVuVmFsdWUodil9YClcclxuICAgICAgICAuam9pbignLCAnKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9O1xyXG5cclxuICBjb25zdCBleHBvcnREYXRhID0gZGF0YS5tYXAocm93ID0+XHJcbiAgICB2aXNpYmxlQ29sdW1ucy5yZWR1Y2UoKGFjYzogYW55LCBjb2wpID0+IHtcclxuICAgICAgY29uc3QgaGVhZGVyID0gY29sLmhlYWRlck5hbWUgfHwgY29sLm5hbWUgfHwgY29sLmhlYWRlcjtcclxuICAgICAgbGV0IHZhbHVlID0gdGhpcy5nZXROZXN0ZWRWYWx1ZShyb3csIGNvbC5maWVsZCk7XHJcblxyXG4gICAgICBzd2l0Y2ggKGNvbC50eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlID8gJ1llcycgOiAnTm8nO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKCFpc05hTihkYXRlLmdldFRpbWUoKSkpIHtcclxuICAgICAgICAgICAgICB2YWx1ZSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgICAgICAgbW9udGg6ICdsb25nJyxcclxuICAgICAgICAgICAgICAgIHllYXI6ICdudW1lcmljJyxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHZhbHVlID0gZmxhdHRlblZhbHVlKHZhbHVlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYWNjW2hlYWRlcl0gPSB2YWx1ZTtcclxuICAgICAgcmV0dXJuIGFjYztcclxuICAgIH0sIHt9KVxyXG4gICk7XHJcblxyXG4gIGNvbnN0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoZXhwb3J0RGF0YSwgeyBoZWFkZXI6IGhlYWRlcnMgfSk7XHJcblxyXG4gIC8vIOKchSBEZWZpbmUgYSByZXVzYWJsZSBib3JkZXIgc3R5bGVcclxuICBjb25zdCBib3JkZXJTdHlsZSA9IHtcclxuICAgIHRvcDogeyBzdHlsZTogJ3RoaW4nLCBjb2xvcjogeyByZ2I6ICdDQ0NDQ0MnIH0gfSxcclxuICAgIGJvdHRvbTogeyBzdHlsZTogJ3RoaW4nLCBjb2xvcjogeyByZ2I6ICdDQ0NDQ0MnIH0gfSxcclxuICAgIGxlZnQ6IHsgc3R5bGU6ICd0aGluJywgY29sb3I6IHsgcmdiOiAnQ0NDQ0NDJyB9IH0sXHJcbiAgICByaWdodDogeyBzdHlsZTogJ3RoaW4nLCBjb2xvcjogeyByZ2I6ICdDQ0NDQ0MnIH0gfSxcclxuICB9O1xyXG5cclxuICAvLyDinIUgQXBwbHkgaGVhZGVyIHN0eWxlc1xyXG4gIGhlYWRlcnMuZm9yRWFjaCgoaGVhZGVyLCBpbmRleCkgPT4ge1xyXG4gICAgY29uc3QgY2VsbEFkZHJlc3MgPSBYTFNYLnV0aWxzLmVuY29kZV9jZWxsKHsgcjogMCwgYzogaW5kZXggfSk7XHJcbiAgICBpZiAoIXdvcmtzaGVldFtjZWxsQWRkcmVzc10pIHJldHVybjtcclxuXHJcbiAgICB3b3Jrc2hlZXRbY2VsbEFkZHJlc3NdLnMgPSB7XHJcbiAgICAgIGZpbGw6IHsgZmdDb2xvcjogeyByZ2I6IGhlYWRlckJnQ29sb3IucmVwbGFjZSgnIycsICcnKSB9IH0sXHJcbiAgICAgIGZvbnQ6IHtcclxuICAgICAgICBuYW1lOiBmb250RmFtaWx5LFxyXG4gICAgICAgIHN6OiAxNCxcclxuICAgICAgICBjb2xvcjogeyByZ2I6IGhlYWRlclRleHRDb2xvci5yZXBsYWNlKCcjJywgJycpIH0sXHJcbiAgICAgICAgYm9sZDogZm9udFdlaWdodCA9PT0gJ2JvbGQnLFxyXG4gICAgICB9LFxyXG4gICAgICBhbGlnbm1lbnQ6IHsgaG9yaXpvbnRhbDogJ2NlbnRlcicsIHZlcnRpY2FsOiAnY2VudGVyJyB9LFxyXG4gICAgICBib3JkZXI6IGJvcmRlclN0eWxlLCAvLyDinIUgQWRkZWQgYm9yZGVyIGhlcmVcclxuICAgIH07XHJcbiAgfSk7XHJcblxyXG4gIC8vIOKchSBBcHBseSBib2R5IHN0eWxlcyArIGhpZ2hsaWdodCBzZWxlY3RlZCByb3dzXHJcbiAgZm9yIChsZXQgciA9IDE7IHIgPD0gZXhwb3J0RGF0YS5sZW5ndGg7IHIrKykge1xyXG4gICAgY29uc3QgaXNTZWxlY3RlZCA9IHJvd1NlbGVjdGVkSW5kZXhlcz8uaGFzKHIgLSAxKTtcclxuICAgIGNvbnN0IHJvd0JnQ29sb3IgPSBpc1NlbGVjdGVkID8gc2VsZWN0ZWRSb3dCZ0NvbG9yIDogJyNGRkZGRkYnO1xyXG5cclxuICAgIGZvciAobGV0IGMgPSAwOyBjIDwgaGVhZGVycy5sZW5ndGg7IGMrKykge1xyXG4gICAgICBjb25zdCBjb2wgPSB2aXNpYmxlQ29sdW1uc1tjXTtcclxuICAgICAgY29uc3QgY2VsbEFkZHJlc3MgPSBYTFNYLnV0aWxzLmVuY29kZV9jZWxsKHsgciwgYyB9KTtcclxuICAgICAgY29uc3QgY2VsbCA9IHdvcmtzaGVldFtjZWxsQWRkcmVzc107XHJcbiAgICAgIGlmICghY2VsbCkgY29udGludWU7XHJcblxyXG4gICAgICBsZXQgaG9yaXpvbnRhbEFsaWduID0gJ2xlZnQnO1xyXG4gICAgICBpZiAoWydudW1iZXInLCAnYm9vbGVhbicsICdkYXRlJ10uaW5jbHVkZXMoY29sLnR5cGUpKSBob3Jpem9udGFsQWxpZ24gPSAnY2VudGVyJztcclxuXHJcbiAgICAgIGNlbGwucyA9IHtcclxuICAgICAgICBmaWxsOiB7IGZnQ29sb3I6IHsgcmdiOiByb3dCZ0NvbG9yLnJlcGxhY2UoJyMnLCAnJykgfSB9LFxyXG4gICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgIG5hbWU6IGZvbnRGYW1pbHksXHJcbiAgICAgICAgICBzejogMTQsXHJcbiAgICAgICAgICBjb2xvcjogeyByZ2I6IGJvZHlUZXh0Q29sb3IucmVwbGFjZSgnIycsICcnKSB9LFxyXG4gICAgICAgICAgYm9sZDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhbGlnbm1lbnQ6IHsgaG9yaXpvbnRhbDogaG9yaXpvbnRhbEFsaWduLCB2ZXJ0aWNhbDogJ2NlbnRlcicsIHdyYXBUZXh0OiB0cnVlIH0sXHJcbiAgICAgICAgYm9yZGVyOiBib3JkZXJTdHlsZSwgLy8g4pyFIEFkZGVkIGJvcmRlciBoZXJlIHRvb1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8g4pyFIEFkanVzdCBjb2x1bW4gd2lkdGhzXHJcbiAgY29uc3QgY29sV2lkdGhzID0gaGVhZGVycy5tYXAoaGVhZGVyID0+IHtcclxuICAgIGxldCBtYXhMZW5ndGggPSBoZWFkZXIubGVuZ3RoO1xyXG4gICAgZXhwb3J0RGF0YS5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbCA9IHJvd1toZWFkZXJdO1xyXG4gICAgICBpZiAodmFsICE9IG51bGwpIHtcclxuICAgICAgICBjb25zdCBsZW4gPSB2YWwudG9TdHJpbmcoKS5sZW5ndGg7XHJcbiAgICAgICAgaWYgKGxlbiA+IG1heExlbmd0aCkgbWF4TGVuZ3RoID0gbGVuO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB7IHdjaDogTWF0aC5taW4obWF4TGVuZ3RoICsgMiwgNjQpIH07XHJcbiAgfSk7XHJcbiAgd29ya3NoZWV0WychY29scyddID0gY29sV2lkdGhzO1xyXG5cclxuICB3b3Jrc2hlZXRbJyFyb3dzJ10gPSBbeyBocHQ6IGhlYWRlclJvd0hlaWdodCB9XTtcclxuICB3b3Jrc2hlZXRbJyF6b29tJ10gPSB6b29tU2NhbGU7XHJcblxyXG4gIGNvbnN0IHdvcmtib29rOiBYTFNYLldvcmtCb29rID0geyBTaGVldHM6IHsgRGF0YTogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnRGF0YSddIH07XHJcblxyXG4gIGlmIChmb3JtYXQgPT09ICdjc3YnKSB7XHJcbiAgICBjb25zdCBjc3YgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2Nzdih3b3Jrc2hlZXQpO1xyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtjc3ZdLCB7IHR5cGU6ICd0ZXh0L2NzdjtjaGFyc2V0PXV0Zi04OycgfSk7XHJcbiAgICBzYXZlQXMoYmxvYiwgYCR7ZmlsZU5hbWV9LmNzdmApO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGNlbEJ1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnLFxyXG4gICAgfSk7XHJcbiAgICBzYXZlQXMoYmxvYiwgYCR7ZmlsZU5hbWV9Lnhsc3hgKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbnByaXZhdGUgZ2V0TmVzdGVkVmFsdWUob2JqOiBhbnksIHBhdGg6IHN0cmluZyk6IGFueSB7XHJcbiAgaWYgKCFwYXRoIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSByZXR1cm4gb2JqO1xyXG4gIHJldHVybiBwYXRoLnNwbGl0KCcuJykucmVkdWNlKChhY2MsIGtleSkgPT4gKGFjYyAmJiBhY2Nba2V5XSAhPT0gdW5kZWZpbmVkID8gYWNjW2tleV0gOiAnJyksIG9iaik7XHJcbn1cclxufVxyXG4iXX0=
@@ -1,143 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SplitColumnsService {
4
- prepareColumns(columns, containerWidth) {
5
- const left = [];
6
- const center = [];
7
- const right = [];
8
- for (const col of columns) {
9
- if (col.children?.length) {
10
- const leftChildren = [];
11
- const centerChildren = [];
12
- const rightChildren = [];
13
- for (const child of col.children) {
14
- if (child.is_visible === false)
15
- continue;
16
- const pinned = child.pinned ?? col.pinned ?? null;
17
- const childWithPinned = { ...child, pinned };
18
- if (pinned === 'left')
19
- leftChildren.push(childWithPinned);
20
- else if (pinned === 'right')
21
- rightChildren.push(childWithPinned);
22
- else
23
- centerChildren.push(childWithPinned);
24
- }
25
- if (leftChildren.length) {
26
- left.push({ header: col.header, children: leftChildren, id: col?.id || col?._id });
27
- }
28
- if (centerChildren.length) {
29
- center.push({
30
- header: col.header,
31
- children: centerChildren,
32
- id: col.id || col._id,
33
- });
34
- }
35
- if (rightChildren.length) {
36
- right.push({
37
- header: col.header,
38
- children: rightChildren,
39
- id: col.id || col._id,
40
- });
41
- }
42
- }
43
- else if (col.is_visible !== false) {
44
- const pinned = col.pinned ?? null;
45
- if (pinned === 'left')
46
- left.push(col);
47
- else if (pinned === 'right')
48
- right.push(col);
49
- else
50
- center.push(col);
51
- }
52
- }
53
- return { left, center, right };
54
- }
55
- setColumnsQuery(columns) {
56
- for (const col of columns) {
57
- // if (col.children?.length) {
58
- // for (const child of col.children) {
59
- // if (!child?.query?.firt_value && !child?.query?._ids?.length) {
60
- // child['query'] = {
61
- // first_condition: 'contain',
62
- // first_value: null,
63
- // condition: 'none',
64
- // second_condition: 'contain',
65
- // second_value: null,
66
- // _ids: [],
67
- // };
68
- // }
69
- // }
70
- // }
71
- // if (!col?.query?.firt_value && !col?.query?._ids?.length) {
72
- // col.query = {
73
- // first_condition: 'contain',
74
- // first_value: null,
75
- // condition: 'none',
76
- // second_condition: 'contain',
77
- // second_value: null,
78
- // _ids: [],
79
- // };
80
- // }
81
- }
82
- console.log('Updated Columns: ', columns);
83
- return columns;
84
- }
85
- assignDefaultWidths(columns, containerWidth) {
86
- const visibleLeafCols = this.getVisibleLeafColumns(columns);
87
- if (!visibleLeafCols.length)
88
- return columns;
89
- let defaultWidth = Math.floor(containerWidth / visibleLeafCols.length);
90
- if (defaultWidth < 150)
91
- defaultWidth = 150;
92
- const cloneColumns = (cols) => cols.map((col) => {
93
- if (col.children?.length) {
94
- const newChildren = col.children.map((child) => {
95
- // If visible → dynamic default width
96
- // If invisible → fixed 150px
97
- if (!child.width) {
98
- if (child.is_visible === false) {
99
- return { ...child, width: 150 };
100
- }
101
- else {
102
- return { ...child, width: defaultWidth };
103
- }
104
- }
105
- return { ...child };
106
- });
107
- return { ...col, children: newChildren };
108
- }
109
- if (!col.width) {
110
- if (col.is_visible === false) {
111
- return { ...col, width: 150 };
112
- }
113
- else {
114
- return { ...col, width: defaultWidth };
115
- }
116
- }
117
- return { ...col };
118
- });
119
- return cloneColumns(columns);
120
- }
121
- getVisibleLeafColumns(columns) {
122
- const result = [];
123
- for (const col of columns) {
124
- if (col.children?.length) {
125
- const visibleChildren = col.children.filter((c) => c.is_visible !== false);
126
- result.push(...visibleChildren);
127
- }
128
- else if (col.is_visible !== false) {
129
- result.push(col);
130
- }
131
- }
132
- return result;
133
- }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitColumnsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
135
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitColumnsService, providedIn: 'root' }); }
136
- }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitColumnsService, decorators: [{
138
- type: Injectable,
139
- args: [{
140
- providedIn: 'root',
141
- }]
142
- }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtY29sdW1ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1ncmlkL3NyYy9saWIvc2VydmljZXMvc3BsaXQtY29sdW1ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsY0FBYyxDQUFDLE9BQWMsRUFBRSxjQUFzQjtRQUNuRCxNQUFNLElBQUksR0FBVSxFQUFFLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFVLEVBQUUsQ0FBQztRQUV4QixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRTtZQUN6QixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUN4QixNQUFNLFlBQVksR0FBVSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sY0FBYyxHQUFVLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxhQUFhLEdBQVUsRUFBRSxDQUFDO2dCQUVoQyxLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7b0JBQ2hDLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxLQUFLO3dCQUFFLFNBQVM7b0JBRXpDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7b0JBQ2xELE1BQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBRTdDLElBQUksTUFBTSxLQUFLLE1BQU07d0JBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzt5QkFDckQsSUFBSSxNQUFNLEtBQUssT0FBTzt3QkFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDOzt3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LFFBQVEsQ0FBQyxNQUFNLENBQ3pDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FDbkMsQ0FBQztnQkFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUM7YUFDakM7aUJBQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEtBQUssRUFBRTtnQkFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNsQjtTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsrR0E3SVUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGxpdENvbHVtbnNTZXJ2aWNlIHtcclxuICBwcmVwYXJlQ29sdW1ucyhjb2x1bW5zOiBhbnlbXSwgY29udGFpbmVyV2lkdGg6IG51bWJlcik6IGFueSB7XHJcbiAgICBjb25zdCBsZWZ0OiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3QgY2VudGVyOiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3QgcmlnaHQ6IGFueVtdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCBsZWZ0Q2hpbGRyZW46IGFueVtdID0gW107XHJcbiAgICAgICAgY29uc3QgY2VudGVyQ2hpbGRyZW46IGFueVtdID0gW107XHJcbiAgICAgICAgY29uc3QgcmlnaHRDaGlsZHJlbjogYW55W10gPSBbXTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb2wuY2hpbGRyZW4pIHtcclxuICAgICAgICAgIGlmIChjaGlsZC5pc192aXNpYmxlID09PSBmYWxzZSkgY29udGludWU7XHJcblxyXG4gICAgICAgICAgY29uc3QgcGlubmVkID0gY2hpbGQucGlubmVkID8/IGNvbC5waW5uZWQgPz8gbnVsbDtcclxuICAgICAgICAgIGNvbnN0IGNoaWxkV2l0aFBpbm5lZCA9IHsgLi4uY2hpbGQsIHBpbm5lZCB9O1xyXG5cclxuICAgICAgICAgIGlmIChwaW5uZWQgPT09ICdsZWZ0JykgbGVmdENoaWxkcmVuLnB1c2goY2hpbGRXaXRoUGlubmVkKTtcclxuICAgICAgICAgIGVsc2UgaWYgKHBpbm5lZCA9PT0gJ3JpZ2h0JykgcmlnaHRDaGlsZHJlbi5wdXNoKGNoaWxkV2l0aFBpbm5lZCk7XHJcbiAgICAgICAgICBlbHNlIGNlbnRlckNoaWxkcmVuLnB1c2goY2hpbGRXaXRoUGlubmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChsZWZ0Q2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBsZWZ0LnB1c2goeyBoZWFkZXI6IGNvbC5oZWFkZXIsIGNoaWxkcmVuOiBsZWZ0Q2hpbGRyZW4sIGlkOiBjb2w/LmlkIHx8IGNvbD8uX2lkIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY2VudGVyQ2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjZW50ZXIucHVzaCh7XHJcbiAgICAgICAgICAgIGhlYWRlcjogY29sLmhlYWRlcixcclxuICAgICAgICAgICAgY2hpbGRyZW46IGNlbnRlckNoaWxkcmVuLFxyXG4gICAgICAgICAgICBpZDogY29sLmlkIHx8IGNvbC5faWQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJpZ2h0Q2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByaWdodC5wdXNoKHtcclxuICAgICAgICAgICAgaGVhZGVyOiBjb2wuaGVhZGVyLFxyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmlnaHRDaGlsZHJlbixcclxuICAgICAgICAgICAgaWQ6IGNvbC5pZCB8fCBjb2wuX2lkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGNvbC5pc192aXNpYmxlICE9PSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnN0IHBpbm5lZCA9IGNvbC5waW5uZWQgPz8gbnVsbDtcclxuICAgICAgICBpZiAocGlubmVkID09PSAnbGVmdCcpIGxlZnQucHVzaChjb2wpO1xyXG4gICAgICAgIGVsc2UgaWYgKHBpbm5lZCA9PT0gJ3JpZ2h0JykgcmlnaHQucHVzaChjb2wpO1xyXG4gICAgICAgIGVsc2UgY2VudGVyLnB1c2goY29sKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7IGxlZnQsIGNlbnRlciwgcmlnaHQgfTtcclxuICB9XHJcblxyXG4gIHNldENvbHVtbnNRdWVyeShjb2x1bW5zOiBhbnlbXSkge1xyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xyXG4gICAgICAvLyBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgLy8gICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNvbC5jaGlsZHJlbikge1xyXG4gICAgICAvLyAgICAgaWYgKCFjaGlsZD8ucXVlcnk/LmZpcnRfdmFsdWUgJiYgIWNoaWxkPy5xdWVyeT8uX2lkcz8ubGVuZ3RoKSB7XHJcbiAgICAgIC8vICAgICAgIGNoaWxkWydxdWVyeSddID0ge1xyXG4gICAgICAvLyAgICAgICAgIGZpcnN0X2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxyXG4gICAgICAvLyAgICAgICAgIGZpcnN0X3ZhbHVlOiBudWxsLFxyXG4gICAgICAvLyAgICAgICAgIGNvbmRpdGlvbjogJ25vbmUnLFxyXG4gICAgICAvLyAgICAgICAgIHNlY29uZF9jb25kaXRpb246ICdjb250YWluJyxcclxuICAgICAgLy8gICAgICAgICBzZWNvbmRfdmFsdWU6IG51bGwsXHJcbiAgICAgIC8vICAgICAgICAgX2lkczogW10sXHJcbiAgICAgIC8vICAgICAgIH07XHJcbiAgICAgIC8vICAgICB9XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9XHJcbiAgICAgIC8vIGlmICghY29sPy5xdWVyeT8uZmlydF92YWx1ZSAmJiAhY29sPy5xdWVyeT8uX2lkcz8ubGVuZ3RoKSB7XHJcbiAgICAgIC8vICAgY29sLnF1ZXJ5ID0ge1xyXG4gICAgICAvLyAgICAgZmlyc3RfY29uZGl0aW9uOiAnY29udGFpbicsXHJcbiAgICAgIC8vICAgICBmaXJzdF92YWx1ZTogbnVsbCxcclxuICAgICAgLy8gICAgIGNvbmRpdGlvbjogJ25vbmUnLFxyXG4gICAgICAvLyAgICAgc2Vjb25kX2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxyXG4gICAgICAvLyAgICAgc2Vjb25kX3ZhbHVlOiBudWxsLFxyXG4gICAgICAvLyAgICAgX2lkczogW10sXHJcbiAgICAgIC8vICAgfTtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUubG9nKCdVcGRhdGVkIENvbHVtbnM6ICcsIGNvbHVtbnMpO1xyXG5cclxuICAgIHJldHVybiBjb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgIGFzc2lnbkRlZmF1bHRXaWR0aHMoY29sdW1uczogYW55W10sIGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBhbnlbXSB7XHJcbiAgY29uc3QgdmlzaWJsZUxlYWZDb2xzID0gdGhpcy5nZXRWaXNpYmxlTGVhZkNvbHVtbnMoY29sdW1ucyk7XHJcblxyXG4gIGlmICghdmlzaWJsZUxlYWZDb2xzLmxlbmd0aCkgcmV0dXJuIGNvbHVtbnM7XHJcblxyXG4gIGxldCBkZWZhdWx0V2lkdGggPSBNYXRoLmZsb29yKGNvbnRhaW5lcldpZHRoIC8gdmlzaWJsZUxlYWZDb2xzLmxlbmd0aCk7XHJcbiAgaWYgKGRlZmF1bHRXaWR0aCA8IDE1MCkgZGVmYXVsdFdpZHRoID0gMTUwO1xyXG5cclxuICBjb25zdCBjbG9uZUNvbHVtbnMgPSAoY29sczogYW55W10pOiBhbnlbXSA9PlxyXG4gICAgY29scy5tYXAoKGNvbCkgPT4ge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCBuZXdDaGlsZHJlbiA9IGNvbC5jaGlsZHJlbi5tYXAoKGNoaWxkOiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vIElmIHZpc2libGUg4oaSIGR5bmFtaWMgZGVmYXVsdCB3aWR0aFxyXG4gICAgICAgICAgLy8gSWYgaW52aXNpYmxlIOKGkiBmaXhlZCAxNTBweFxyXG4gICAgICAgICAgaWYgKCFjaGlsZC53aWR0aCkge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQuaXNfdmlzaWJsZSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICByZXR1cm4geyAuLi5jaGlsZCwgd2lkdGg6IDE1MCB9O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJldHVybiB7IC4uLmNoaWxkLCB3aWR0aDogZGVmYXVsdFdpZHRoIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB7IC4uLmNoaWxkIH07XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB7IC4uLmNvbCwgY2hpbGRyZW46IG5ld0NoaWxkcmVuIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghY29sLndpZHRoKSB7XHJcbiAgICAgICAgaWYgKGNvbC5pc192aXNpYmxlID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgLi4uY29sLCB3aWR0aDogMTUwIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB7IC4uLmNvbCwgd2lkdGg6IGRlZmF1bHRXaWR0aCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHsgLi4uY29sIH07XHJcbiAgICB9KTtcclxuXHJcbiAgcmV0dXJuIGNsb25lQ29sdW1ucyhjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBnZXRWaXNpYmxlTGVhZkNvbHVtbnMoY29sdW1uczogYW55W10pOiBhbnlbXSB7XHJcbiAgICBjb25zdCByZXN1bHQ6IGFueVtdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCB2aXNpYmxlQ2hpbGRyZW4gPSBjb2wuY2hpbGRyZW4uZmlsdGVyKFxyXG4gICAgICAgICAgKGM6IGFueSkgPT4gYy5pc192aXNpYmxlICE9PSBmYWxzZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmVzdWx0LnB1c2goLi4udmlzaWJsZUNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChjb2wuaXNfdmlzaWJsZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICByZXN1bHQucHVzaChjb2wpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXMtZGF0YS1ncmlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1ncmlkL3NyYy9tcy1kYXRhLWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,6 +0,0 @@
1
- /*
2
- * Public API Surface of data-grid
3
- */
4
- export * from './lib/data-grid.module';
5
- export * from './lib/data-grid/data-grid.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGEtZ3JpZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBkYXRhLWdyaWRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWdyaWQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQnO1xyXG4iXX0=