@memberjunction/ng-skip-chat 2.13.4 → 2.14.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 (57) hide show
  1. package/dist/lib/drill-down-info.d.ts +14 -0
  2. package/dist/lib/drill-down-info.d.ts.map +1 -0
  3. package/dist/lib/drill-down-info.js +19 -0
  4. package/dist/lib/drill-down-info.js.map +1 -0
  5. package/dist/lib/dynamic-report/base-report.d.ts +67 -0
  6. package/dist/lib/dynamic-report/base-report.d.ts.map +1 -0
  7. package/dist/lib/dynamic-report/base-report.js +246 -0
  8. package/dist/lib/dynamic-report/base-report.js.map +1 -0
  9. package/dist/lib/dynamic-report/dynamic-chart.d.ts +32 -0
  10. package/dist/lib/dynamic-report/dynamic-chart.d.ts.map +1 -0
  11. package/dist/lib/dynamic-report/dynamic-chart.js +202 -0
  12. package/dist/lib/dynamic-report/dynamic-chart.js.map +1 -0
  13. package/dist/lib/dynamic-report/dynamic-grid.d.ts +36 -0
  14. package/dist/lib/dynamic-report/dynamic-grid.d.ts.map +1 -0
  15. package/dist/lib/dynamic-report/dynamic-grid.js +397 -0
  16. package/dist/lib/dynamic-report/dynamic-grid.js.map +1 -0
  17. package/dist/lib/dynamic-report/linear-report.d.ts +23 -0
  18. package/dist/lib/dynamic-report/linear-report.d.ts.map +1 -0
  19. package/dist/lib/dynamic-report/linear-report.js +174 -0
  20. package/dist/lib/dynamic-report/linear-report.js.map +1 -0
  21. package/dist/lib/dynamic-report/skip-dynamic-report-wrapper.d.ts +14 -0
  22. package/dist/lib/dynamic-report/skip-dynamic-report-wrapper.d.ts.map +1 -0
  23. package/dist/lib/dynamic-report/skip-dynamic-report-wrapper.js +50 -0
  24. package/dist/lib/dynamic-report/skip-dynamic-report-wrapper.js.map +1 -0
  25. package/dist/lib/module.d.ts +26 -9
  26. package/dist/lib/module.d.ts.map +1 -1
  27. package/dist/lib/module.js +110 -22
  28. package/dist/lib/module.js.map +1 -1
  29. package/dist/lib/skip-chat/skip-chat.component.d.ts +131 -0
  30. package/dist/lib/skip-chat/skip-chat.component.d.ts.map +1 -0
  31. package/dist/lib/skip-chat/skip-chat.component.js +1317 -0
  32. package/dist/lib/skip-chat/skip-chat.component.js.map +1 -0
  33. package/dist/lib/skip-single-message/skip-single-message.component.d.ts +49 -0
  34. package/dist/lib/skip-single-message/skip-single-message.component.d.ts.map +1 -0
  35. package/dist/lib/skip-single-message/skip-single-message.component.js +262 -0
  36. package/dist/lib/skip-single-message/skip-single-message.component.js.map +1 -0
  37. package/dist/public-api.d.ts +7 -4
  38. package/dist/public-api.d.ts.map +1 -1
  39. package/dist/public-api.js +7 -4
  40. package/dist/public-api.js.map +1 -1
  41. package/package.json +23 -4
  42. package/dist/lib/tab/tab.component.d.ts +0 -55
  43. package/dist/lib/tab/tab.component.d.ts.map +0 -1
  44. package/dist/lib/tab/tab.component.js +0 -138
  45. package/dist/lib/tab/tab.component.js.map +0 -1
  46. package/dist/lib/tab-body/tab-body.component.d.ts +0 -13
  47. package/dist/lib/tab-body/tab-body.component.d.ts.map +0 -1
  48. package/dist/lib/tab-body/tab-body.component.js +0 -38
  49. package/dist/lib/tab-body/tab-body.component.js.map +0 -1
  50. package/dist/lib/tab-strip/tab-strip.component.d.ts +0 -117
  51. package/dist/lib/tab-strip/tab-strip.component.d.ts.map +0 -1
  52. package/dist/lib/tab-strip/tab-strip.component.js +0 -404
  53. package/dist/lib/tab-strip/tab-strip.component.js.map +0 -1
  54. package/dist/lib/tab.base.d.ts +0 -4
  55. package/dist/lib/tab.base.d.ts.map +0 -1
  56. package/dist/lib/tab.base.js +0 -3
  57. package/dist/lib/tab.base.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ import { AfterViewInit, EventEmitter } from '@angular/core';
2
+ import { SkipColumnInfo, SkipAPIAnalysisCompleteResponse } from '@memberjunction/skip-types';
3
+ import { DecimalPipe, DatePipe } from '@angular/common';
4
+ import { GridDataResult, PageChangeEvent } from '@progress/kendo-angular-grid';
5
+ import { ExcelExportComponent } from '@progress/kendo-angular-excel-export';
6
+ import { DrillDownInfo } from '../drill-down-info';
7
+ import * as i0 from "@angular/core";
8
+ export declare class SkipDynamicGridComponent implements AfterViewInit {
9
+ private decimalPipe;
10
+ private datePipe;
11
+ data: any[];
12
+ columns: SkipColumnInfo[];
13
+ pageSize: number;
14
+ startingRow: number;
15
+ GridHeight: number | null;
16
+ ShowRefreshButton: boolean;
17
+ AllowDrillDown: boolean;
18
+ DrillDownEvent: EventEmitter<DrillDownInfo>;
19
+ private _skipData;
20
+ get SkipData(): SkipAPIAnalysisCompleteResponse | undefined;
21
+ set SkipData(d: SkipAPIAnalysisCompleteResponse | undefined);
22
+ gridView: GridDataResult;
23
+ constructor(decimalPipe: DecimalPipe, datePipe: DatePipe);
24
+ kendoExcelExport: ExcelExportComponent | null;
25
+ formatData(dataType: string, data: any): any;
26
+ ngAfterViewInit(): void;
27
+ pageChange(event: PageChangeEvent): void;
28
+ private loadGridView;
29
+ cellClick(event: any): Promise<void>;
30
+ exportData: any[];
31
+ doExcelExport(): Promise<void>;
32
+ protected getExportData(): Promise<any[]>;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkipDynamicGridComponent, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkipDynamicGridComponent, "skip-dynamic-grid", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "startingRow": { "alias": "startingRow"; "required": false; }; "GridHeight": { "alias": "GridHeight"; "required": false; }; "ShowRefreshButton": { "alias": "ShowRefreshButton"; "required": false; }; "AllowDrillDown": { "alias": "AllowDrillDown"; "required": false; }; "SkipData": { "alias": "SkipData"; "required": false; }; }, { "DrillDownEvent": "DrillDownEvent"; }, never, never, false, never>;
35
+ }
36
+ //# sourceMappingURL=dynamic-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-grid.d.ts","sourceRoot":"","sources":["../../../src/lib/dynamic-report/dynamic-grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,YAAY,EAA4B,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;;AAEnD,qBAuEa,wBAAyB,YAAW,aAAa;IA0DhD,OAAO,CAAC,WAAW;IAAe,OAAO,CAAC,QAAQ;IAzDrD,IAAI,EAAE,GAAG,EAAE,CAAM;IACjB,OAAO,EAAE,cAAc,EAAE,CAAM;IACxB,QAAQ,SAAM;IACd,WAAW,SAAK;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjC,iBAAiB,EAAE,OAAO,CAAS;IAC1C,cAAc,EAAE,OAAO,CAAO;IAC7B,cAAc,8BAAqC;IAE7D,OAAO,CAAC,SAAS,CAA8C;IAC/D,IAAa,QAAQ,IAAI,+BAA+B,GAAG,SAAS,CAEnE;IAED,IAAI,QAAQ,CAAC,CAAC,EAAE,+BAA+B,GAAG,SAAS,EAuC1D;IAEM,QAAQ,EAAG,cAAc,CAAC;gBAEb,WAAW,EAAE,WAAW,EAAU,QAAQ,EAAE,QAAQ;IAEd,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAG/G,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG;IAuB5C,eAAe;IAMR,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAK/C,OAAO,CAAC,YAAY;IASP,SAAS,CAAC,KAAK,EAAE,GAAG;IA+B1B,UAAU,EAAE,GAAG,EAAE,CAAM;IACjB,aAAa;cAyBV,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;yCAnKpC,wBAAwB;2CAAxB,wBAAwB;CAuKpC"}
@@ -0,0 +1,397 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
11
+ import { SkipColumnInfo } from '@memberjunction/skip-types';
12
+ import { DecimalPipe, DatePipe } from '@angular/common';
13
+ import { GetEntityNameFromSchemaAndViewString, LogError } from '@memberjunction/core';
14
+ import { SharedService } from '@memberjunction/ng-shared';
15
+ import { ExcelExportComponent } from '@progress/kendo-angular-excel-export';
16
+ import { DrillDownInfo } from '../drill-down-info';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@angular/common";
19
+ import * as i2 from "@progress/kendo-angular-grid";
20
+ import * as i3 from "@progress/kendo-angular-buttons";
21
+ import * as i4 from "@progress/kendo-angular-excel-export";
22
+ const _c0 = ["excelExport"];
23
+ const _c1 = () => ({ "font-weight": "bold", "background-color": "#cyan" });
24
+ function SkipDynamicGridComponent_kendo_grid_0_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵtext(0);
26
+ } if (rf & 2) {
27
+ const dataItem_r3 = ctx.$implicit;
28
+ const col_r4 = i0.ɵɵnextContext().$implicit;
29
+ const ctx_r1 = i0.ɵɵnextContext(2);
30
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.formatData(col_r4.simpleDataType, dataItem_r3[col_r4.fieldName]), " ");
31
+ } }
32
+ function SkipDynamicGridComponent_kendo_grid_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementContainerStart(0);
34
+ i0.ɵɵelementStart(1, "kendo-grid-column", 8);
35
+ i0.ɵɵtemplate(2, SkipDynamicGridComponent_kendo_grid_0_ng_container_1_ng_template_2_Template, 1, 1, "ng-template", 9);
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵelementContainerEnd();
38
+ } if (rf & 2) {
39
+ const col_r4 = ctx.$implicit;
40
+ i0.ɵɵadvance();
41
+ i0.ɵɵpropertyInterpolate("field", col_r4.fieldName);
42
+ i0.ɵɵpropertyInterpolate("title", col_r4.displayName);
43
+ i0.ɵɵproperty("headerStyle", i0.ɵɵpureFunction0(3, _c1));
44
+ } }
45
+ function SkipDynamicGridComponent_kendo_grid_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
46
+ const _r5 = i0.ɵɵgetCurrentView();
47
+ i0.ɵɵelementStart(0, "button", 10);
48
+ 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()); });
49
+ i0.ɵɵelement(1, "span", 11);
50
+ i0.ɵɵtext(2, " Export to Excel");
51
+ i0.ɵɵelementEnd();
52
+ } }
53
+ function SkipDynamicGridComponent_kendo_grid_0_kendo_excelexport_column_5_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelement(0, "kendo-excelexport-column", 12);
55
+ } if (rf & 2) {
56
+ const exportCol_r6 = ctx.$implicit;
57
+ i0.ɵɵproperty("field", exportCol_r6.fieldName)("title", exportCol_r6.displayName);
58
+ } }
59
+ function SkipDynamicGridComponent_kendo_grid_0_Template(rf, ctx) { if (rf & 1) {
60
+ const _r1 = i0.ɵɵgetCurrentView();
61
+ i0.ɵɵelementStart(0, "kendo-grid", 3);
62
+ 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)); });
63
+ 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);
64
+ i0.ɵɵelementStart(3, "kendo-excelexport", 6, 0);
65
+ i0.ɵɵtemplate(5, SkipDynamicGridComponent_kendo_grid_0_kendo_excelexport_column_5_Template, 1, 2, "kendo-excelexport-column", 7);
66
+ i0.ɵɵelementEnd()();
67
+ } if (rf & 2) {
68
+ const ctx_r1 = i0.ɵɵnextContext();
69
+ 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);
70
+ i0.ɵɵadvance();
71
+ i0.ɵɵproperty("ngForOf", ctx_r1.columns);
72
+ i0.ɵɵadvance(2);
73
+ i0.ɵɵproperty("data", ctx_r1.exportData)("fileName", "Report_Grid_Export.xlsx");
74
+ i0.ɵɵadvance(2);
75
+ i0.ɵɵproperty("ngForOf", ctx_r1.columns);
76
+ } }
77
+ function SkipDynamicGridComponent_kendo_grid_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
78
+ i0.ɵɵtext(0);
79
+ } if (rf & 2) {
80
+ const dataItem_r8 = ctx.$implicit;
81
+ const col_r9 = i0.ɵɵnextContext().$implicit;
82
+ const ctx_r1 = i0.ɵɵnextContext(2);
83
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.formatData(col_r9.simpleDataType, dataItem_r8[col_r9.fieldName]), " ");
84
+ } }
85
+ function SkipDynamicGridComponent_kendo_grid_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
86
+ i0.ɵɵelementContainerStart(0);
87
+ i0.ɵɵelementStart(1, "kendo-grid-column", 8);
88
+ i0.ɵɵtemplate(2, SkipDynamicGridComponent_kendo_grid_1_ng_container_1_ng_template_2_Template, 1, 1, "ng-template", 9);
89
+ i0.ɵɵelementEnd();
90
+ i0.ɵɵelementContainerEnd();
91
+ } if (rf & 2) {
92
+ const col_r9 = ctx.$implicit;
93
+ i0.ɵɵadvance();
94
+ i0.ɵɵpropertyInterpolate("field", col_r9.fieldName);
95
+ i0.ɵɵpropertyInterpolate("title", col_r9.displayName);
96
+ i0.ɵɵproperty("headerStyle", i0.ɵɵpureFunction0(3, _c1));
97
+ } }
98
+ function SkipDynamicGridComponent_kendo_grid_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
99
+ const _r10 = i0.ɵɵgetCurrentView();
100
+ i0.ɵɵelementStart(0, "button", 10);
101
+ 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()); });
102
+ i0.ɵɵelement(1, "span", 11);
103
+ i0.ɵɵtext(2, " Export to Excel");
104
+ i0.ɵɵelementEnd();
105
+ } }
106
+ function SkipDynamicGridComponent_kendo_grid_1_kendo_excelexport_column_5_Template(rf, ctx) { if (rf & 1) {
107
+ i0.ɵɵelement(0, "kendo-excelexport-column", 12);
108
+ } if (rf & 2) {
109
+ const exportCol_r11 = ctx.$implicit;
110
+ i0.ɵɵproperty("field", exportCol_r11.fieldName)("title", exportCol_r11.displayName);
111
+ } }
112
+ function SkipDynamicGridComponent_kendo_grid_1_Template(rf, ctx) { if (rf & 1) {
113
+ const _r7 = i0.ɵɵgetCurrentView();
114
+ i0.ɵɵelementStart(0, "kendo-grid", 13);
115
+ 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)); });
116
+ 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);
117
+ i0.ɵɵelementStart(3, "kendo-excelexport", 6, 0);
118
+ i0.ɵɵtemplate(5, SkipDynamicGridComponent_kendo_grid_1_kendo_excelexport_column_5_Template, 1, 2, "kendo-excelexport-column", 7);
119
+ i0.ɵɵelementEnd()();
120
+ } if (rf & 2) {
121
+ const ctx_r1 = i0.ɵɵnextContext();
122
+ i0.ɵɵproperty("data", ctx_r1.gridView)("skip", ctx_r1.startingRow)("pageSize", ctx_r1.pageSize)("rowHeight", 36)("reorderable", true)("resizable", true)("navigable", true);
123
+ i0.ɵɵadvance();
124
+ i0.ɵɵproperty("ngForOf", ctx_r1.columns);
125
+ i0.ɵɵadvance(2);
126
+ i0.ɵɵproperty("data", ctx_r1.exportData)("fileName", "Report_Grid_Export.xlsx");
127
+ i0.ɵɵadvance(2);
128
+ i0.ɵɵproperty("ngForOf", ctx_r1.columns);
129
+ } }
130
+ export class SkipDynamicGridComponent {
131
+ get SkipData() {
132
+ return this._skipData ? this._skipData : undefined;
133
+ }
134
+ set SkipData(d) {
135
+ var _a, _b, _c, _d;
136
+ this._skipData = d;
137
+ if (d) {
138
+ // check to see if the tableDataColumns is NOT provided, in that case we need to check to see if we
139
+ // 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
140
+ // we don't have things like 2022 as a column name which is not valid in JavaScript
141
+ if (!d.tableDataColumns || d.tableDataColumns.length === 0) {
142
+ // no columns provided, so we check here to make sure the column names are valid
143
+ this.data = ((_a = d.executionResults) === null || _a === void 0 ? void 0 : _a.tableData) ? (_b = d.executionResults) === null || _b === void 0 ? void 0 : _b.tableData : [];
144
+ // now loop through the data and fix up the column names if needed
145
+ for (let i = 0; i < this.data.length; i++) {
146
+ const row = this.data[i];
147
+ for (let key in row) {
148
+ if (key.match(/^\d/)) {
149
+ const newKey = '_' + key;
150
+ row[newKey] = row[key];
151
+ delete row[key];
152
+ }
153
+ }
154
+ }
155
+ // now, populate the columns array with the column names
156
+ this.columns = [];
157
+ const row = this.data[0];
158
+ for (let key in row) {
159
+ const col = new SkipColumnInfo();
160
+ col.fieldName = key;
161
+ col.displayName = key;
162
+ col.simpleDataType = 'string'; // don't know the type, so default to string
163
+ this.columns.push(col);
164
+ }
165
+ }
166
+ else {
167
+ // we have table data columns provided, so use that info!
168
+ this.columns = d.tableDataColumns;
169
+ this.data = ((_c = d.executionResults) === null || _c === void 0 ? void 0 : _c.tableData) ? (_d = d.executionResults) === null || _d === void 0 ? void 0 : _d.tableData : [];
170
+ }
171
+ this.loadGridView();
172
+ }
173
+ }
174
+ constructor(decimalPipe, datePipe) {
175
+ this.decimalPipe = decimalPipe;
176
+ this.datePipe = datePipe;
177
+ this.data = [];
178
+ this.columns = [];
179
+ this.pageSize = 30;
180
+ this.startingRow = 0;
181
+ this.GridHeight = null;
182
+ this.ShowRefreshButton = false;
183
+ this.AllowDrillDown = true;
184
+ this.DrillDownEvent = new EventEmitter();
185
+ this.kendoExcelExport = null;
186
+ // Export Functionality
187
+ this.exportData = [];
188
+ }
189
+ formatData(dataType, data) {
190
+ switch (dataType) {
191
+ case 'bigint':
192
+ case 'smallint':
193
+ case 'int':
194
+ case 'tinyint':
195
+ return data; // No specific formatting for integer types
196
+ case 'decimal':
197
+ case 'numeric':
198
+ case 'smallmoney':
199
+ case 'money':
200
+ return this.decimalPipe.transform(data, '1.2-2'); // Format as decimal with 2 digits after the decimal point
201
+ case 'date':
202
+ case 'datetime':
203
+ case 'datetime2':
204
+ case 'smalldatetime':
205
+ return this.datePipe.transform(data, 'short'); // Format as short date
206
+ // Add more cases as needed for other SQL Server datatypes
207
+ default:
208
+ return data; // For data types not handled, return data as is
209
+ }
210
+ }
211
+ ngAfterViewInit() {
212
+ if (this.data) {
213
+ this.loadGridView();
214
+ }
215
+ }
216
+ pageChange(event) {
217
+ this.startingRow = event.skip;
218
+ this.loadGridView();
219
+ }
220
+ loadGridView() {
221
+ Promise.resolve().then(() => {
222
+ this.gridView = {
223
+ data: this.data.slice(this.startingRow, this.startingRow + this.pageSize),
224
+ total: this.data.length,
225
+ };
226
+ });
227
+ }
228
+ cellClick(event) {
229
+ return __awaiter(this, void 0, void 0, function* () {
230
+ var _a;
231
+ try {
232
+ if (!this.AllowDrillDown)
233
+ return;
234
+ const rowSelected = event.dataItem;
235
+ const drillDown = (_a = this.SkipData) === null || _a === void 0 ? void 0 : _a.drillDown;
236
+ if (drillDown && rowSelected) {
237
+ // we have a valid situation to drill down where we have the configuration and we have a drill down value.
238
+ // we can navigate to the drill down view
239
+ const entityName = GetEntityNameFromSchemaAndViewString(drillDown.viewName);
240
+ if (entityName) {
241
+ const filterSQL = drillDown.filters.map(f => {
242
+ const val = rowSelected[f.reportFieldName];
243
+ const isDateValue = val instanceof Date;
244
+ const isNumberValue = !isNaN(parseFloat(val));
245
+ const needsQuotes = isDateValue ? true : (isNumberValue ? false : true);
246
+ const quotes = needsQuotes ? "'" : '';
247
+ return `${f.viewFieldName} = ${quotes}${val}${quotes}`;
248
+ }).join(' AND ');
249
+ this.DrillDownEvent.emit(new DrillDownInfo(entityName, filterSQL));
250
+ }
251
+ }
252
+ }
253
+ catch (e) {
254
+ console.warn('Error handling grid row click', e);
255
+ }
256
+ });
257
+ }
258
+ doExcelExport() {
259
+ return __awaiter(this, void 0, void 0, function* () {
260
+ if (this.kendoExcelExport === null)
261
+ throw new Error("kendoExcelExport is null, cannot export data");
262
+ try {
263
+ this.exportData = yield this.getExportData();
264
+ // next show an initial notification, but only if a lot of data
265
+ if (this.exportData.length > 5000)
266
+ SharedService.Instance.CreateSimpleNotification("Working on the export, will notify you when it is complete...", 'info', 2000);
267
+ // before we call the save, we need to let Angular do its thing that will result in the kendoExcelExport component binding properly to
268
+ // the exportColumns and exportData arrays. So we wait for the next tick before we call save()
269
+ setTimeout(() => {
270
+ var _a;
271
+ this.kendoExcelExport.fileName = (((_a = this.SkipData) === null || _a === void 0 ? void 0 : _a.reportTitle) || 'Report_Grid_Export') + '.xlsx';
272
+ this.kendoExcelExport.save();
273
+ SharedService.Instance.CreateSimpleNotification("Excel Export Complete", 'success', 2000);
274
+ }, 100);
275
+ }
276
+ catch (e) {
277
+ SharedService.Instance.CreateSimpleNotification("Error exporting data", 'error', 5000);
278
+ LogError(e);
279
+ }
280
+ });
281
+ }
282
+ getExportData() {
283
+ return __awaiter(this, void 0, void 0, function* () {
284
+ return this.data;
285
+ });
286
+ }
287
+ }
288
+ SkipDynamicGridComponent.ɵfac = function SkipDynamicGridComponent_Factory(t) { return new (t || SkipDynamicGridComponent)(i0.ɵɵdirectiveInject(i1.DecimalPipe), i0.ɵɵdirectiveInject(i1.DatePipe)); };
289
+ SkipDynamicGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipDynamicGridComponent, selectors: [["skip-dynamic-grid"]], viewQuery: function SkipDynamicGridComponent_Query(rf, ctx) { if (rf & 1) {
290
+ i0.ɵɵviewQuery(_c0, 5, ExcelExportComponent);
291
+ } if (rf & 2) {
292
+ let _t;
293
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.kendoExcelExport = _t.first);
294
+ } }, 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) {
295
+ i0.ɵɵtemplate(0, SkipDynamicGridComponent_kendo_grid_0_Template, 6, 12, "kendo-grid", 1)(1, SkipDynamicGridComponent_kendo_grid_1_Template, 6, 11, "kendo-grid", 2);
296
+ } if (rf & 2) {
297
+ i0.ɵɵproperty("ngIf", ctx.GridHeight !== null);
298
+ i0.ɵɵadvance();
299
+ i0.ɵɵproperty("ngIf", ctx.GridHeight === null);
300
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.GridComponent, i2.ToolbarTemplateDirective, i2.ColumnComponent, i2.CellTemplateDirective, i3.ButtonComponent, i4.ExcelExportComponent, i4.ColumnComponent], encapsulation: 2 });
301
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SkipDynamicGridComponent, [{
302
+ type: Component,
303
+ args: [{
304
+ selector: 'skip-dynamic-grid',
305
+ template: `
306
+ <kendo-grid *ngIf="GridHeight !== null"
307
+ [height]="GridHeight"
308
+ [data]="gridView"
309
+ [skip]="startingRow"
310
+ [pageSize]="pageSize"
311
+ scrollable="virtual"
312
+ [rowHeight]="36"
313
+ [reorderable]="true"
314
+ [resizable]="true"
315
+ (pageChange)="pageChange($event)"
316
+ (cellClick)="cellClick($event)"
317
+ [navigable]="true"
318
+ >
319
+ <ng-container *ngFor="let col of columns">
320
+ <kendo-grid-column
321
+ field="{{col.fieldName}}"
322
+ title="{{col.displayName}}"
323
+ [headerStyle]="{ 'font-weight' : 'bold', 'background-color': '#cyan' }">
324
+ <ng-template kendoGridCellTemplate let-dataItem>
325
+ {{ formatData(col.simpleDataType, dataItem[col.fieldName]) }}
326
+ </ng-template>
327
+ </kendo-grid-column>
328
+ </ng-container>
329
+ <ng-template kendoGridToolbarTemplate>
330
+ <button kendoButton (click)="doExcelExport()" ><span class="fa-solid fa-file-excel"></span> Export to Excel</button>
331
+ </ng-template>
332
+
333
+ <kendo-excelexport #excelExport [data]="exportData" [fileName]="'Report_Grid_Export.xlsx'">
334
+ <kendo-excelexport-column *ngFor="let exportCol of columns" [field]="exportCol.fieldName" [title]="exportCol.displayName">
335
+ </kendo-excelexport-column>
336
+ </kendo-excelexport>
337
+ </kendo-grid>
338
+
339
+ <!-- Now do the grid that does NOT have a height, wish kendo allowed you to do it another way! -->
340
+ <kendo-grid *ngIf="GridHeight === null"
341
+ [data]="gridView"
342
+ [skip]="startingRow"
343
+ [pageSize]="pageSize"
344
+ scrollable="virtual"
345
+ [rowHeight]="36"
346
+ [reorderable]="true"
347
+ [resizable]="true"
348
+ (pageChange)="pageChange($event)"
349
+ (cellClick)="cellClick($event)"
350
+ [navigable]="true"
351
+ >
352
+ <ng-container *ngFor="let col of columns">
353
+ <kendo-grid-column
354
+ field="{{col.fieldName}}"
355
+ title="{{col.displayName}}"
356
+ [headerStyle]="{ 'font-weight' : 'bold', 'background-color': '#cyan' }">
357
+ <ng-template kendoGridCellTemplate let-dataItem>
358
+ {{ formatData(col.simpleDataType, dataItem[col.fieldName]) }}
359
+ </ng-template>
360
+ </kendo-grid-column>
361
+ </ng-container>
362
+ <ng-template kendoGridToolbarTemplate>
363
+ <button kendoButton (click)="doExcelExport()" ><span class="fa-solid fa-file-excel"></span> Export to Excel</button>
364
+ </ng-template>
365
+
366
+ <kendo-excelexport #excelExport [data]="exportData" [fileName]="'Report_Grid_Export.xlsx'">
367
+ <kendo-excelexport-column *ngFor="let exportCol of columns" [field]="exportCol.fieldName" [title]="exportCol.displayName">
368
+ </kendo-excelexport-column>
369
+ </kendo-excelexport>
370
+ </kendo-grid>
371
+ `,
372
+ providers: [DecimalPipe, DatePipe]
373
+ }]
374
+ }], () => [{ type: i1.DecimalPipe }, { type: i1.DatePipe }], { data: [{
375
+ type: Input
376
+ }], columns: [{
377
+ type: Input
378
+ }], pageSize: [{
379
+ type: Input
380
+ }], startingRow: [{
381
+ type: Input
382
+ }], GridHeight: [{
383
+ type: Input
384
+ }], ShowRefreshButton: [{
385
+ type: Input
386
+ }], AllowDrillDown: [{
387
+ type: Input
388
+ }], DrillDownEvent: [{
389
+ type: Output
390
+ }], SkipData: [{
391
+ type: Input
392
+ }], kendoExcelExport: [{
393
+ type: ViewChild,
394
+ args: ['excelExport', { read: ExcelExportComponent }]
395
+ }] }); })();
396
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipDynamicGridComponent, { className: "SkipDynamicGridComponent", filePath: "src/lib/dynamic-report/dynamic-grid.ts", lineNumber: 82 }); })();
397
+ //# sourceMappingURL=dynamic-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-grid.js","sourceRoot":"","sources":["../../../src/lib/dynamic-report/dynamic-grid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectorRef, EventEmitter } from '@angular/core';
2
+ import { SkipDynamicReportBase } from './base-report';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * This component is used for dynamically rendering Skip Reports
6
+ */
7
+ export declare class SkipDynamicLinearReportComponent extends SkipDynamicReportBase {
8
+ protected cdRef: ChangeDetectorRef;
9
+ ExpandAll: boolean;
10
+ /**
11
+ * This event fires whenever the component has a click on a matching report link.
12
+ * The provided parameter is the ID of the matching report.
13
+ */
14
+ NavigateToMatchingReport: EventEmitter<string>;
15
+ constructor(cdRef: ChangeDetectorRef);
16
+ clickMatchingReport(): void;
17
+ confirmCreateReportDialogOpen: boolean;
18
+ askCreateReport(): Promise<void>;
19
+ closeCreateReport(action: 'yes' | 'no'): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkipDynamicLinearReportComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkipDynamicLinearReportComponent, "skip-dynamic-linear-report", never, { "ExpandAll": { "alias": "ExpandAll"; "required": false; }; }, { "NavigateToMatchingReport": "NavigateToMatchingReport"; }, never, never, false, never>;
22
+ }
23
+ //# sourceMappingURL=linear-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear-report.d.ts","sourceRoot":"","sources":["../../../src/lib/dynamic-report/linear-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAQzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;;AAEtD;;GAEG;AACH,qBAKa,gCAAiC,SAAQ,qBAAqB;IASvE,SAAS,CAAC,KAAK,EAAE,iBAAiB;IAR3B,SAAS,EAAE,OAAO,CAAQ;IACnC;;;OAGG;IACO,wBAAwB,uBAA8B;gBAGpD,KAAK,EAAE,iBAAiB;IAM7B,mBAAmB;IAQnB,6BAA6B,EAAE,OAAO,CAAS;IAEzC,eAAe;IAQrB,iBAAiB,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI;yCAjClC,gCAAgC;2CAAhC,gCAAgC;CAuC5C"}