@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.
- package/dist/lib/dynamic-report/base-report.d.ts.map +1 -1
- package/dist/lib/dynamic-report/base-report.js +2 -1
- package/dist/lib/dynamic-report/base-report.js.map +1 -1
- package/dist/lib/dynamic-report/dynamic-ui-component.d.ts +4 -34
- package/dist/lib/dynamic-report/dynamic-ui-component.d.ts.map +1 -1
- package/dist/lib/dynamic-report/dynamic-ui-component.js +414 -563
- package/dist/lib/dynamic-report/dynamic-ui-component.js.map +1 -1
- package/dist/lib/dynamic-report/linear-report.d.ts +9 -1
- package/dist/lib/dynamic-report/linear-report.d.ts.map +1 -1
- package/dist/lib/dynamic-report/linear-report.js +90 -57
- package/dist/lib/dynamic-report/linear-report.js.map +1 -1
- package/dist/lib/module.d.ts +25 -28
- package/dist/lib/module.d.ts.map +1 -1
- package/dist/lib/module.js +0 -18
- package/dist/lib/module.js.map +1 -1
- package/dist/lib/skip-chat/skip-chat.component.d.ts +6 -0
- package/dist/lib/skip-chat/skip-chat.component.d.ts.map +1 -1
- package/dist/lib/skip-chat/skip-chat.component.js +29 -2
- package/dist/lib/skip-chat/skip-chat.component.js.map +1 -1
- package/dist/public-api.d.ts +0 -2
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +0 -2
- package/dist/public-api.js.map +1 -1
- package/package.json +15 -18
- package/dist/lib/dynamic-report/dynamic-chart.d.ts +0 -32
- package/dist/lib/dynamic-report/dynamic-chart.d.ts.map +0 -1
- package/dist/lib/dynamic-report/dynamic-chart.js +0 -195
- package/dist/lib/dynamic-report/dynamic-chart.js.map +0 -1
- package/dist/lib/dynamic-report/dynamic-grid.d.ts +0 -38
- package/dist/lib/dynamic-report/dynamic-grid.d.ts.map +0 -1
- package/dist/lib/dynamic-report/dynamic-grid.js +0 -388
- 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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"}
|