@memberjunction/ng-skip-chat 2.95.0 → 2.97.0

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 (32) hide show
  1. package/dist/lib/dynamic-report/base-report.d.ts.map +1 -1
  2. package/dist/lib/dynamic-report/base-report.js +2 -1
  3. package/dist/lib/dynamic-report/base-report.js.map +1 -1
  4. package/dist/lib/dynamic-report/dynamic-ui-component.d.ts +4 -34
  5. package/dist/lib/dynamic-report/dynamic-ui-component.d.ts.map +1 -1
  6. package/dist/lib/dynamic-report/dynamic-ui-component.js +414 -563
  7. package/dist/lib/dynamic-report/dynamic-ui-component.js.map +1 -1
  8. package/dist/lib/dynamic-report/linear-report.d.ts +9 -1
  9. package/dist/lib/dynamic-report/linear-report.d.ts.map +1 -1
  10. package/dist/lib/dynamic-report/linear-report.js +90 -57
  11. package/dist/lib/dynamic-report/linear-report.js.map +1 -1
  12. package/dist/lib/module.d.ts +25 -28
  13. package/dist/lib/module.d.ts.map +1 -1
  14. package/dist/lib/module.js +0 -18
  15. package/dist/lib/module.js.map +1 -1
  16. package/dist/lib/skip-chat/skip-chat.component.d.ts +6 -0
  17. package/dist/lib/skip-chat/skip-chat.component.d.ts.map +1 -1
  18. package/dist/lib/skip-chat/skip-chat.component.js +29 -2
  19. package/dist/lib/skip-chat/skip-chat.component.js.map +1 -1
  20. package/dist/public-api.d.ts +0 -2
  21. package/dist/public-api.d.ts.map +1 -1
  22. package/dist/public-api.js +0 -2
  23. package/dist/public-api.js.map +1 -1
  24. package/package.json +15 -18
  25. package/dist/lib/dynamic-report/dynamic-chart.d.ts +0 -32
  26. package/dist/lib/dynamic-report/dynamic-chart.d.ts.map +0 -1
  27. package/dist/lib/dynamic-report/dynamic-chart.js +0 -195
  28. package/dist/lib/dynamic-report/dynamic-chart.js.map +0 -1
  29. package/dist/lib/dynamic-report/dynamic-grid.d.ts +0 -38
  30. package/dist/lib/dynamic-report/dynamic-grid.d.ts.map +0 -1
  31. package/dist/lib/dynamic-report/dynamic-grid.js +0 -388
  32. package/dist/lib/dynamic-report/dynamic-grid.js.map +0 -1
@@ -1,388 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { SkipColumnInfo } from '@memberjunction/skip-types';
3
- import { DecimalPipe, DatePipe } from '@angular/common';
4
- import { GetEntityNameFromSchemaAndViewString, LogError } from '@memberjunction/core';
5
- import { ExcelExportComponent } from '@progress/kendo-angular-excel-export';
6
- import { DrillDownInfo } from '../drill-down-info';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@memberjunction/ng-notifications";
10
- import * as i3 from "@progress/kendo-angular-grid";
11
- import * as i4 from "@progress/kendo-angular-buttons";
12
- import * as i5 from "@progress/kendo-angular-excel-export";
13
- const _c0 = ["excelExport"];
14
- const _c1 = () => ({ "font-weight": "bold", "background-color": "#cyan" });
15
- function SkipDynamicGridComponent_kendo_grid_0_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
16
- i0.ɵɵtext(0);
17
- } if (rf & 2) {
18
- const dataItem_r3 = ctx.$implicit;
19
- const col_r4 = i0.ɵɵnextContext().$implicit;
20
- const ctx_r1 = i0.ɵɵnextContext(2);
21
- i0.ɵɵtextInterpolate1(" ", ctx_r1.formatData(col_r4.simpleDataType, dataItem_r3[col_r4.fieldName]), " ");
22
- } }
23
- function SkipDynamicGridComponent_kendo_grid_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵelementContainerStart(0);
25
- i0.ɵɵelementStart(1, "kendo-grid-column", 8);
26
- i0.ɵɵtemplate(2, SkipDynamicGridComponent_kendo_grid_0_ng_container_1_ng_template_2_Template, 1, 1, "ng-template", 9);
27
- i0.ɵɵelementEnd();
28
- i0.ɵɵelementContainerEnd();
29
- } if (rf & 2) {
30
- const col_r4 = ctx.$implicit;
31
- i0.ɵɵadvance();
32
- i0.ɵɵpropertyInterpolate("field", col_r4.fieldName);
33
- i0.ɵɵpropertyInterpolate("title", col_r4.displayName);
34
- i0.ɵɵproperty("headerStyle", i0.ɵɵpureFunction0(3, _c1));
35
- } }
36
- function SkipDynamicGridComponent_kendo_grid_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
37
- const _r5 = i0.ɵɵgetCurrentView();
38
- i0.ɵɵelementStart(0, "button", 10);
39
- i0.ɵɵlistener("click", function SkipDynamicGridComponent_kendo_grid_0_ng_template_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.doExcelExport()); });
40
- i0.ɵɵelement(1, "span", 11);
41
- i0.ɵɵtext(2, " Export to Excel");
42
- i0.ɵɵelementEnd();
43
- } }
44
- function SkipDynamicGridComponent_kendo_grid_0_kendo_excelexport_column_5_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵelement(0, "kendo-excelexport-column", 12);
46
- } if (rf & 2) {
47
- const exportCol_r6 = ctx.$implicit;
48
- i0.ɵɵproperty("field", exportCol_r6.fieldName)("title", exportCol_r6.displayName);
49
- } }
50
- function SkipDynamicGridComponent_kendo_grid_0_Template(rf, ctx) { if (rf & 1) {
51
- const _r1 = i0.ɵɵgetCurrentView();
52
- i0.ɵɵelementStart(0, "kendo-grid", 3);
53
- i0.ɵɵlistener("pageChange", function SkipDynamicGridComponent_kendo_grid_0_Template_kendo_grid_pageChange_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pageChange($event)); })("cellClick", function SkipDynamicGridComponent_kendo_grid_0_Template_kendo_grid_cellClick_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cellClick($event)); });
54
- i0.ɵɵtemplate(1, SkipDynamicGridComponent_kendo_grid_0_ng_container_1_Template, 3, 4, "ng-container", 4)(2, SkipDynamicGridComponent_kendo_grid_0_ng_template_2_Template, 3, 0, "ng-template", 5);
55
- i0.ɵɵelementStart(3, "kendo-excelexport", 6, 0);
56
- i0.ɵɵtemplate(5, SkipDynamicGridComponent_kendo_grid_0_kendo_excelexport_column_5_Template, 1, 2, "kendo-excelexport-column", 7);
57
- i0.ɵɵelementEnd()();
58
- } if (rf & 2) {
59
- const ctx_r1 = i0.ɵɵnextContext();
60
- i0.ɵɵproperty("height", ctx_r1.GridHeight)("data", ctx_r1.gridView)("skip", ctx_r1.startingRow)("pageSize", ctx_r1.pageSize)("rowHeight", 36)("reorderable", true)("resizable", true)("navigable", true);
61
- i0.ɵɵadvance();
62
- i0.ɵɵproperty("ngForOf", ctx_r1.columns);
63
- i0.ɵɵadvance(2);
64
- i0.ɵɵproperty("data", ctx_r1.exportData)("fileName", "Report_Grid_Export.xlsx");
65
- i0.ɵɵadvance(2);
66
- i0.ɵɵproperty("ngForOf", ctx_r1.columns);
67
- } }
68
- function SkipDynamicGridComponent_kendo_grid_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
69
- i0.ɵɵtext(0);
70
- } if (rf & 2) {
71
- const dataItem_r8 = ctx.$implicit;
72
- const col_r9 = i0.ɵɵnextContext().$implicit;
73
- const ctx_r1 = i0.ɵɵnextContext(2);
74
- i0.ɵɵtextInterpolate1(" ", ctx_r1.formatData(col_r9.simpleDataType, dataItem_r8[col_r9.fieldName]), " ");
75
- } }
76
- function SkipDynamicGridComponent_kendo_grid_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
77
- i0.ɵɵelementContainerStart(0);
78
- i0.ɵɵelementStart(1, "kendo-grid-column", 8);
79
- i0.ɵɵtemplate(2, SkipDynamicGridComponent_kendo_grid_1_ng_container_1_ng_template_2_Template, 1, 1, "ng-template", 9);
80
- i0.ɵɵelementEnd();
81
- i0.ɵɵelementContainerEnd();
82
- } if (rf & 2) {
83
- const col_r9 = ctx.$implicit;
84
- i0.ɵɵadvance();
85
- i0.ɵɵpropertyInterpolate("field", col_r9.fieldName);
86
- i0.ɵɵpropertyInterpolate("title", col_r9.displayName);
87
- i0.ɵɵproperty("headerStyle", i0.ɵɵpureFunction0(3, _c1));
88
- } }
89
- function SkipDynamicGridComponent_kendo_grid_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
90
- const _r10 = i0.ɵɵgetCurrentView();
91
- i0.ɵɵelementStart(0, "button", 10);
92
- i0.ɵɵlistener("click", function SkipDynamicGridComponent_kendo_grid_1_ng_template_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.doExcelExport()); });
93
- i0.ɵɵelement(1, "span", 11);
94
- i0.ɵɵtext(2, " Export to Excel");
95
- i0.ɵɵelementEnd();
96
- } }
97
- function SkipDynamicGridComponent_kendo_grid_1_kendo_excelexport_column_5_Template(rf, ctx) { if (rf & 1) {
98
- i0.ɵɵelement(0, "kendo-excelexport-column", 12);
99
- } if (rf & 2) {
100
- const exportCol_r11 = ctx.$implicit;
101
- i0.ɵɵproperty("field", exportCol_r11.fieldName)("title", exportCol_r11.displayName);
102
- } }
103
- function SkipDynamicGridComponent_kendo_grid_1_Template(rf, ctx) { if (rf & 1) {
104
- const _r7 = i0.ɵɵgetCurrentView();
105
- i0.ɵɵelementStart(0, "kendo-grid", 13);
106
- i0.ɵɵlistener("pageChange", function SkipDynamicGridComponent_kendo_grid_1_Template_kendo_grid_pageChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pageChange($event)); })("cellClick", function SkipDynamicGridComponent_kendo_grid_1_Template_kendo_grid_cellClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cellClick($event)); });
107
- i0.ɵɵtemplate(1, SkipDynamicGridComponent_kendo_grid_1_ng_container_1_Template, 3, 4, "ng-container", 4)(2, SkipDynamicGridComponent_kendo_grid_1_ng_template_2_Template, 3, 0, "ng-template", 5);
108
- i0.ɵɵelementStart(3, "kendo-excelexport", 6, 0);
109
- i0.ɵɵtemplate(5, SkipDynamicGridComponent_kendo_grid_1_kendo_excelexport_column_5_Template, 1, 2, "kendo-excelexport-column", 7);
110
- i0.ɵɵelementEnd()();
111
- } if (rf & 2) {
112
- const ctx_r1 = i0.ɵɵnextContext();
113
- i0.ɵɵproperty("data", ctx_r1.gridView)("skip", ctx_r1.startingRow)("pageSize", ctx_r1.pageSize)("rowHeight", 36)("reorderable", true)("resizable", true)("navigable", true);
114
- i0.ɵɵadvance();
115
- i0.ɵɵproperty("ngForOf", ctx_r1.columns);
116
- i0.ɵɵadvance(2);
117
- i0.ɵɵproperty("data", ctx_r1.exportData)("fileName", "Report_Grid_Export.xlsx");
118
- i0.ɵɵadvance(2);
119
- i0.ɵɵproperty("ngForOf", ctx_r1.columns);
120
- } }
121
- export class SkipDynamicGridComponent {
122
- decimalPipe;
123
- datePipe;
124
- notificationService;
125
- data = [];
126
- columns = [];
127
- pageSize = 30;
128
- startingRow = 0;
129
- GridHeight = null;
130
- ShowRefreshButton = false;
131
- AllowDrillDown = true;
132
- DrillDownEvent = new EventEmitter();
133
- _skipData;
134
- get SkipData() {
135
- return this._skipData ? this._skipData : undefined;
136
- }
137
- set SkipData(d) {
138
- this._skipData = d;
139
- if (d) {
140
- // check to see if the tableDataColumns is NOT provided, in that case we need to check to see if we
141
- // have column names that are valid in our table data. If we don't we need to prepend whatever was provided with a "_" prefix so that
142
- // we don't have things like 2022 as a column name which is not valid in JavaScript
143
- if (!d.tableDataColumns || d.tableDataColumns.length === 0) {
144
- // no columns provided, so we check here to make sure the column names are valid
145
- this.data = d.executionResults?.tableData ? d.executionResults?.tableData : [];
146
- // now loop through the data and fix up the column names if needed
147
- for (let i = 0; i < this.data.length; i++) {
148
- const row = this.data[i];
149
- for (let key in row) {
150
- if (key.match(/^\d/)) {
151
- const newKey = '_' + key;
152
- row[newKey] = row[key];
153
- delete row[key];
154
- }
155
- }
156
- }
157
- // now, populate the columns array with the column names
158
- this.columns = [];
159
- const row = this.data[0];
160
- for (let key in row) {
161
- const col = new SkipColumnInfo();
162
- col.fieldName = key;
163
- col.displayName = key;
164
- col.simpleDataType = 'string'; // don't know the type, so default to string
165
- this.columns.push(col);
166
- }
167
- }
168
- else {
169
- // we have table data columns provided, so use that info!
170
- this.columns = d.tableDataColumns;
171
- this.data = d.executionResults?.tableData ? d.executionResults?.tableData : [];
172
- }
173
- this.loadGridView();
174
- }
175
- }
176
- gridView;
177
- constructor(decimalPipe, datePipe, notificationService) {
178
- this.decimalPipe = decimalPipe;
179
- this.datePipe = datePipe;
180
- this.notificationService = notificationService;
181
- }
182
- kendoExcelExport = null;
183
- formatData(dataType, data) {
184
- switch (dataType) {
185
- case 'bigint':
186
- case 'smallint':
187
- case 'int':
188
- case 'tinyint':
189
- return data; // No specific formatting for integer types
190
- case 'decimal':
191
- case 'numeric':
192
- case 'smallmoney':
193
- case 'money':
194
- return this.decimalPipe.transform(data, '1.2-2'); // Format as decimal with 2 digits after the decimal point
195
- case 'date':
196
- case 'datetime':
197
- case 'datetime2':
198
- case 'smalldatetime':
199
- return this.datePipe.transform(data, 'short'); // Format as short date
200
- // Add more cases as needed for other SQL Server datatypes
201
- default:
202
- return data; // For data types not handled, return data as is
203
- }
204
- }
205
- ngAfterViewInit() {
206
- if (this.data) {
207
- this.loadGridView();
208
- }
209
- }
210
- pageChange(event) {
211
- this.startingRow = event.skip;
212
- this.loadGridView();
213
- }
214
- loadGridView() {
215
- Promise.resolve().then(() => {
216
- this.gridView = {
217
- data: this.data.slice(this.startingRow, this.startingRow + this.pageSize),
218
- total: this.data.length,
219
- };
220
- });
221
- }
222
- async cellClick(event) {
223
- try {
224
- if (!this.AllowDrillDown)
225
- return;
226
- const rowSelected = event.dataItem;
227
- const drillDown = this.SkipData?.drillDown;
228
- if (drillDown && rowSelected) {
229
- // we have a valid situation to drill down where we have the configuration and we have a drill down value.
230
- // we can navigate to the drill down view
231
- const entityName = GetEntityNameFromSchemaAndViewString(drillDown.viewName);
232
- if (entityName) {
233
- const filterSQL = drillDown.filters.map(f => {
234
- const val = rowSelected[f.componentFieldName];
235
- const isDateValue = val instanceof Date;
236
- const isNumberValue = !isNaN(parseFloat(val));
237
- const needsQuotes = isDateValue ? true : (isNumberValue ? false : true);
238
- const quotes = needsQuotes ? "'" : '';
239
- return `${f.viewFieldName} = ${quotes}${val}${quotes}`;
240
- }).join(' AND ');
241
- this.DrillDownEvent.emit(new DrillDownInfo(entityName, filterSQL));
242
- }
243
- }
244
- }
245
- catch (e) {
246
- console.warn('Error handling grid row click', e);
247
- }
248
- }
249
- // Export Functionality
250
- exportData = [];
251
- async doExcelExport() {
252
- if (this.kendoExcelExport === null)
253
- throw new Error("kendoExcelExport is null, cannot export data");
254
- try {
255
- this.exportData = await this.getExportData();
256
- // next show an initial notification, but only if a lot of data
257
- if (this.exportData.length > 5000)
258
- this.notificationService.CreateSimpleNotification("Working on the export, will notify you when it is complete...", 'info', 2000);
259
- // before we call the save, we need to let Angular do its thing that will result in the kendoExcelExport component binding properly to
260
- // the exportColumns and exportData arrays. So we wait for the next tick before we call save()
261
- setTimeout(() => {
262
- // support the legacy report title as old conversation details had a reportTitle property
263
- // but the new SkipData object has a title property, so favor the title property
264
- const title = this.SkipData?.title || this.SkipData?.reportTitle || 'Report_Grid_Export';
265
- this.kendoExcelExport.fileName = `${title}.xlsx`;
266
- this.kendoExcelExport.save();
267
- this.notificationService.CreateSimpleNotification("Excel Export Complete", 'success', 2000);
268
- }, 100);
269
- }
270
- catch (e) {
271
- this.notificationService.CreateSimpleNotification("Error exporting data", 'error', 5000);
272
- LogError(e);
273
- }
274
- }
275
- async getExportData() {
276
- return this.data;
277
- }
278
- static ɵfac = function SkipDynamicGridComponent_Factory(t) { return new (t || SkipDynamicGridComponent)(i0.ɵɵdirectiveInject(i1.DecimalPipe), i0.ɵɵdirectiveInject(i1.DatePipe), i0.ɵɵdirectiveInject(i2.MJNotificationService)); };
279
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipDynamicGridComponent, selectors: [["skip-dynamic-grid"]], viewQuery: function SkipDynamicGridComponent_Query(rf, ctx) { if (rf & 1) {
280
- i0.ɵɵviewQuery(_c0, 5, ExcelExportComponent);
281
- } if (rf & 2) {
282
- let _t;
283
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoExcelExport = _t.first);
284
- } }, inputs: { data: "data", columns: "columns", pageSize: "pageSize", startingRow: "startingRow", GridHeight: "GridHeight", ShowRefreshButton: "ShowRefreshButton", AllowDrillDown: "AllowDrillDown", SkipData: "SkipData" }, outputs: { DrillDownEvent: "DrillDownEvent" }, features: [i0.ɵɵProvidersFeature([DecimalPipe, DatePipe])], decls: 2, vars: 2, consts: [["excelExport", ""], ["scrollable", "virtual", 3, "height", "data", "skip", "pageSize", "rowHeight", "reorderable", "resizable", "navigable", "pageChange", "cellClick", 4, "ngIf"], ["scrollable", "virtual", 3, "data", "skip", "pageSize", "rowHeight", "reorderable", "resizable", "navigable", "pageChange", "cellClick", 4, "ngIf"], ["scrollable", "virtual", 3, "pageChange", "cellClick", "height", "data", "skip", "pageSize", "rowHeight", "reorderable", "resizable", "navigable"], [4, "ngFor", "ngForOf"], ["kendoGridToolbarTemplate", ""], [3, "data", "fileName"], [3, "field", "title", 4, "ngFor", "ngForOf"], [3, "field", "title", "headerStyle"], ["kendoGridCellTemplate", ""], ["kendoButton", "", 3, "click"], [1, "fa-solid", "fa-file-excel"], [3, "field", "title"], ["scrollable", "virtual", 3, "pageChange", "cellClick", "data", "skip", "pageSize", "rowHeight", "reorderable", "resizable", "navigable"]], template: function SkipDynamicGridComponent_Template(rf, ctx) { if (rf & 1) {
285
- i0.ɵɵtemplate(0, SkipDynamicGridComponent_kendo_grid_0_Template, 6, 12, "kendo-grid", 1)(1, SkipDynamicGridComponent_kendo_grid_1_Template, 6, 11, "kendo-grid", 2);
286
- } if (rf & 2) {
287
- i0.ɵɵproperty("ngIf", ctx.GridHeight !== null);
288
- i0.ɵɵadvance();
289
- i0.ɵɵproperty("ngIf", ctx.GridHeight === null);
290
- } }, dependencies: [i1.NgForOf, i1.NgIf, i3.GridComponent, i3.ToolbarTemplateDirective, i3.ColumnComponent, i3.CellTemplateDirective, i4.ButtonComponent, i5.ExcelExportComponent, i5.ColumnComponent], encapsulation: 2 });
291
- }
292
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SkipDynamicGridComponent, [{
293
- type: Component,
294
- args: [{
295
- selector: 'skip-dynamic-grid',
296
- template: `
297
- <kendo-grid *ngIf="GridHeight !== null"
298
- [height]="GridHeight"
299
- [data]="gridView"
300
- [skip]="startingRow"
301
- [pageSize]="pageSize"
302
- scrollable="virtual"
303
- [rowHeight]="36"
304
- [reorderable]="true"
305
- [resizable]="true"
306
- (pageChange)="pageChange($event)"
307
- (cellClick)="cellClick($event)"
308
- [navigable]="true"
309
- >
310
- <ng-container *ngFor="let col of columns">
311
- <kendo-grid-column
312
- field="{{col.fieldName}}"
313
- title="{{col.displayName}}"
314
- [headerStyle]="{ 'font-weight' : 'bold', 'background-color': '#cyan' }">
315
- <ng-template kendoGridCellTemplate let-dataItem>
316
- {{ formatData(col.simpleDataType, dataItem[col.fieldName]) }}
317
- </ng-template>
318
- </kendo-grid-column>
319
- </ng-container>
320
- <ng-template kendoGridToolbarTemplate>
321
- <button kendoButton (click)="doExcelExport()" ><span class="fa-solid fa-file-excel"></span> Export to Excel</button>
322
- </ng-template>
323
-
324
- <kendo-excelexport #excelExport [data]="exportData" [fileName]="'Report_Grid_Export.xlsx'">
325
- <kendo-excelexport-column *ngFor="let exportCol of columns" [field]="exportCol.fieldName" [title]="exportCol.displayName">
326
- </kendo-excelexport-column>
327
- </kendo-excelexport>
328
- </kendo-grid>
329
-
330
- <!-- Now do the grid that does NOT have a height, wish kendo allowed you to do it another way! -->
331
- <kendo-grid *ngIf="GridHeight === null"
332
- [data]="gridView"
333
- [skip]="startingRow"
334
- [pageSize]="pageSize"
335
- scrollable="virtual"
336
- [rowHeight]="36"
337
- [reorderable]="true"
338
- [resizable]="true"
339
- (pageChange)="pageChange($event)"
340
- (cellClick)="cellClick($event)"
341
- [navigable]="true"
342
- >
343
- <ng-container *ngFor="let col of columns">
344
- <kendo-grid-column
345
- field="{{col.fieldName}}"
346
- title="{{col.displayName}}"
347
- [headerStyle]="{ 'font-weight' : 'bold', 'background-color': '#cyan' }">
348
- <ng-template kendoGridCellTemplate let-dataItem>
349
- {{ formatData(col.simpleDataType, dataItem[col.fieldName]) }}
350
- </ng-template>
351
- </kendo-grid-column>
352
- </ng-container>
353
- <ng-template kendoGridToolbarTemplate>
354
- <button kendoButton (click)="doExcelExport()" ><span class="fa-solid fa-file-excel"></span> Export to Excel</button>
355
- </ng-template>
356
-
357
- <kendo-excelexport #excelExport [data]="exportData" [fileName]="'Report_Grid_Export.xlsx'">
358
- <kendo-excelexport-column *ngFor="let exportCol of columns" [field]="exportCol.fieldName" [title]="exportCol.displayName">
359
- </kendo-excelexport-column>
360
- </kendo-excelexport>
361
- </kendo-grid>
362
- `,
363
- providers: [DecimalPipe, DatePipe]
364
- }]
365
- }], () => [{ type: i1.DecimalPipe }, { type: i1.DatePipe }, { type: i2.MJNotificationService }], { data: [{
366
- type: Input
367
- }], columns: [{
368
- type: Input
369
- }], pageSize: [{
370
- type: Input
371
- }], startingRow: [{
372
- type: Input
373
- }], GridHeight: [{
374
- type: Input
375
- }], ShowRefreshButton: [{
376
- type: Input
377
- }], AllowDrillDown: [{
378
- type: Input
379
- }], DrillDownEvent: [{
380
- type: Output
381
- }], SkipData: [{
382
- type: Input
383
- }], kendoExcelExport: [{
384
- type: ViewChild,
385
- args: ['excelExport', { read: ExcelExportComponent }]
386
- }] }); })();
387
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipDynamicGridComponent, { className: "SkipDynamicGridComponent", filePath: "src/lib/dynamic-report/dynamic-grid.ts", lineNumber: 81 }); })();
388
- //# sourceMappingURL=dynamic-grid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-grid.js","sourceRoot":"","sources":["../../../src/lib/dynamic-report/dynamic-grid.ts"],"names":[],"mappings":"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"}