@memberjunction/ng-explorer-core 0.9.79 → 0.9.116

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 (105) hide show
  1. package/dist/lib/ask-skip/ask-skip.component.d.ts +87 -86
  2. package/dist/lib/ask-skip/ask-skip.component.js +615 -580
  3. package/dist/lib/ask-skip/skip-dynamic-report-wrapper.d.ts +12 -12
  4. package/dist/lib/ask-skip/skip-dynamic-report-wrapper.js +40 -39
  5. package/dist/lib/auth-button/auth-button.component.d.ts +12 -12
  6. package/dist/lib/auth-button/auth-button.component.js +44 -43
  7. package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts +18 -18
  8. package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +118 -117
  9. package/dist/lib/data-browser-component/data-browser.component.d.ts +16 -14
  10. package/dist/lib/data-browser-component/data-browser.component.js +96 -91
  11. package/dist/lib/favorites/favorites.component.d.ts +14 -14
  12. package/dist/lib/favorites/favorites.component.js +114 -114
  13. package/dist/lib/generic/base-form-component.d.ts +76 -76
  14. package/dist/lib/generic/base-form-component.js +436 -436
  15. package/dist/lib/generic/base-form-section-component.d.ts +6 -6
  16. package/dist/lib/generic/base-form-section-component.js +9 -9
  17. package/dist/lib/generic/base-record-component.d.ts +6 -6
  18. package/dist/lib/generic/base-record-component.js +15 -15
  19. package/dist/lib/generic/base-resource-component.d.ts +34 -34
  20. package/dist/lib/generic/base-resource-component.js +75 -75
  21. package/dist/lib/generic/dynamic-chart.d.ts +33 -33
  22. package/dist/lib/generic/dynamic-chart.js +236 -235
  23. package/dist/lib/generic/dynamic-grid.d.ts +25 -25
  24. package/dist/lib/generic/dynamic-grid.js +120 -119
  25. package/dist/lib/generic/dynamic-report.d.ts +38 -38
  26. package/dist/lib/generic/dynamic-report.js +353 -347
  27. package/dist/lib/generic/form-toolbar.d.ts +7 -7
  28. package/dist/lib/generic/form-toolbar.js +85 -89
  29. package/dist/lib/generic/resource-container-component.d.ts +25 -25
  30. package/dist/lib/generic/resource-container-component.js +104 -103
  31. package/dist/lib/generic/section-loader-component.d.ts +17 -17
  32. package/dist/lib/generic/section-loader-component.js +66 -65
  33. package/dist/lib/generic-browse-list/generic-browse-list.component.d.ts +26 -24
  34. package/dist/lib/generic-browse-list/generic-browse-list.component.js +145 -143
  35. package/dist/lib/guards/auth-guard.service.d.ts +11 -11
  36. package/dist/lib/guards/auth-guard.service.js +24 -24
  37. package/dist/lib/guards/entities.guard.d.ts +3 -3
  38. package/dist/lib/guards/entities.guard.js +38 -38
  39. package/dist/lib/header/MSFT_UserImageService.d.ts +11 -11
  40. package/dist/lib/header/MSFT_UserImageService.js +23 -23
  41. package/dist/lib/header/header.component.d.ts +51 -51
  42. package/dist/lib/header/header.component.js +220 -208
  43. package/dist/lib/home-component/home.component.d.ts +11 -9
  44. package/dist/lib/home-component/home.component.js +77 -54
  45. package/dist/lib/join-grid/join-grid.component.d.ts +30 -30
  46. package/dist/lib/join-grid/join-grid.component.js +222 -225
  47. package/dist/lib/navigation/navigation.component.d.ts +104 -103
  48. package/dist/lib/navigation/navigation.component.js +1026 -1004
  49. package/dist/lib/query-browser-component/query-browser.component.d.ts +14 -0
  50. package/dist/lib/query-browser-component/query-browser.component.js +56 -0
  51. package/dist/lib/report-browser-component/report-browser.component.d.ts +14 -14
  52. package/dist/lib/report-browser-component/report-browser.component.js +56 -55
  53. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +8 -8
  54. package/dist/lib/resource-wrappers/dashboard-resource.component.js +51 -50
  55. package/dist/lib/resource-wrappers/query-resource.component.d.ts +10 -0
  56. package/dist/lib/resource-wrappers/query-resource.component.js +55 -0
  57. package/dist/lib/resource-wrappers/record-resource.component.d.ts +10 -10
  58. package/dist/lib/resource-wrappers/record-resource.component.js +71 -70
  59. package/dist/lib/resource-wrappers/report-resource.component.d.ts +10 -10
  60. package/dist/lib/resource-wrappers/report-resource.component.js +55 -54
  61. package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts +1 -1
  62. package/dist/lib/resource-wrappers/resource-wrappers-loader.js +14 -12
  63. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +10 -10
  64. package/dist/lib/resource-wrappers/search-results-resource.component.js +52 -51
  65. package/dist/lib/resource-wrappers/view-resource.component.d.ts +8 -8
  66. package/dist/lib/resource-wrappers/view-resource.component.js +61 -60
  67. package/dist/lib/settings/settings.component.d.ts +5 -5
  68. package/dist/lib/settings/settings.component.js +15 -14
  69. package/dist/lib/single-application/single-application.component.d.ts +20 -20
  70. package/dist/lib/single-application/single-application.component.js +113 -113
  71. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts +28 -28
  72. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +210 -212
  73. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts +13 -13
  74. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +60 -59
  75. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +26 -26
  76. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +170 -169
  77. package/dist/lib/single-dashboard/single-dashboard.component.d.ts +75 -75
  78. package/dist/lib/single-dashboard/single-dashboard.component.js +464 -456
  79. package/dist/lib/single-entity/single-entity.component.d.ts +33 -33
  80. package/dist/lib/single-entity/single-entity.component.js +258 -252
  81. package/dist/lib/single-query/single-query.component.d.ts +16 -0
  82. package/dist/lib/single-query/single-query.component.js +70 -0
  83. package/dist/lib/single-record/single-record.component.d.ts +21 -21
  84. package/dist/lib/single-record/single-record.component.js +95 -95
  85. package/dist/lib/single-report/single-report.component.d.ts +21 -22
  86. package/dist/lib/single-report/single-report.component.js +89 -87
  87. package/dist/lib/single-search-result/single-search-result.component.d.ts +15 -15
  88. package/dist/lib/single-search-result/single-search-result.component.js +61 -60
  89. package/dist/lib/single-view/single-view.component.d.ts +38 -38
  90. package/dist/lib/single-view/single-view.component.js +201 -201
  91. package/dist/lib/user-notifications/user-notifications.component.d.ts +32 -32
  92. package/dist/lib/user-notifications/user-notifications.component.js +282 -282
  93. package/dist/lib/user-profile/user-profile.component.d.ts +10 -10
  94. package/dist/lib/user-profile/user-profile.component.js +42 -41
  95. package/dist/lib/user-view-properties/view-properties-dialog.component.d.ts +71 -71
  96. package/dist/lib/user-view-properties/view-properties-dialog.component.js +594 -581
  97. package/dist/module.d.ts +65 -65
  98. package/dist/module.js +328 -338
  99. package/dist/public-api.d.ts +42 -47
  100. package/dist/public-api.js +45 -50
  101. package/dist/shared/shared.service.d.ts +94 -92
  102. package/dist/shared/shared.service.js +324 -318
  103. package/dist/shared/urlPipe.d.ts +7 -7
  104. package/dist/shared/urlPipe.js +16 -16
  105. package/package.json +24 -15
@@ -1,323 +1,328 @@
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, Input, ViewChild } from '@angular/core';
11
- import { HtmlListType } from '../../shared/shared.service';
12
- import { Metadata, RunView } from '@memberjunction/core';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "../../shared/shared.service";
15
- import * as i2 from "@angular/router";
16
- const _c0 = ["theGrid"];
17
- const _c1 = ["theChart"];
18
- const _c2 = ["tabStrip"];
19
- function DynamicReportComponent_button_1_Template(rf, ctx) { if (rf & 1) {
20
- const _r12 = i0.ɵɵgetCurrentView();
21
- i0.ɵɵelementStart(0, "button", 9);
22
- i0.ɵɵlistener("click", function DynamicReportComponent_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.doCreateReport()); });
23
- i0.ɵɵtext(1, "Create Report");
24
- i0.ɵɵelementEnd();
25
- } }
26
- function DynamicReportComponent_div_2_Template(rf, ctx) { if (rf & 1) {
27
- const _r14 = i0.ɵɵgetCurrentView();
28
- i0.ɵɵelementStart(0, "div", 10);
29
- i0.ɵɵlistener("click", function DynamicReportComponent_div_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.clickMatchingReport()); });
30
- i0.ɵɵtext(1);
31
- i0.ɵɵelementEnd();
32
- } if (rf & 2) {
33
- const ctx_r1 = i0.ɵɵnextContext();
34
- i0.ɵɵadvance(1);
35
- i0.ɵɵtextInterpolate2("Report: ", ctx_r1.matchingReportName, " (ID: ", ctx_r1.matchingReportID, ") Created From This Message");
36
- } }
37
- function DynamicReportComponent_kendo_tabstrip_tab_5_ng_template_1_Template(rf, ctx) { if (rf & 1) {
38
- i0.ɵɵelement(0, "kendo-icon", 12);
39
- i0.ɵɵelementStart(1, "span", 13);
40
- i0.ɵɵtext(2, "Chart");
41
- i0.ɵɵelementEnd();
42
- } }
43
- function DynamicReportComponent_kendo_tabstrip_tab_5_ng_template_2_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵelement(0, "app-dynamic-chart", 14, 15);
45
- } if (rf & 2) {
46
- const ctx_r16 = i0.ɵɵnextContext(2);
47
- i0.ɵɵproperty("SkipData", ctx_r16.SkipData);
48
- } }
49
- function DynamicReportComponent_kendo_tabstrip_tab_5_Template(rf, ctx) { if (rf & 1) {
50
- i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 11);
51
- i0.ɵɵtemplate(1, DynamicReportComponent_kendo_tabstrip_tab_5_ng_template_1_Template, 3, 0, "ng-template", 7);
52
- i0.ɵɵtemplate(2, DynamicReportComponent_kendo_tabstrip_tab_5_ng_template_2_Template, 2, 1, "ng-template", 8);
53
- i0.ɵɵelementEnd();
54
- } if (rf & 2) {
55
- const ctx_r3 = i0.ɵɵnextContext();
56
- i0.ɵɵproperty("selected", ctx_r3.isTabSelected(0));
57
- } }
58
- function DynamicReportComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
59
- i0.ɵɵelement(0, "kendo-icon", 16);
60
- i0.ɵɵelementStart(1, "span", 13);
61
- i0.ɵɵtext(2, "Table");
62
- i0.ɵɵelementEnd();
63
- } }
64
- function DynamicReportComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
65
- i0.ɵɵelement(0, "app-dynamic-grid", 14, 17);
66
- } if (rf & 2) {
67
- const ctx_r5 = i0.ɵɵnextContext();
68
- i0.ɵɵproperty("SkipData", ctx_r5.SkipData);
69
- } }
70
- function DynamicReportComponent_ng_template_10_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelement(0, "img", 18);
72
- i0.ɵɵelementStart(1, "span", 13);
73
- i0.ɵɵtext(2, "Analysis");
74
- i0.ɵɵelementEnd();
75
- } }
76
- function DynamicReportComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
77
- i0.ɵɵelement(0, "div", 19);
78
- } if (rf & 2) {
79
- const ctx_r7 = i0.ɵɵnextContext();
80
- i0.ɵɵproperty("innerHTML", ctx_r7.createAnalysisHtml(), i0.ɵɵsanitizeHtml);
81
- } }
82
- function DynamicReportComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
83
- i0.ɵɵelement(0, "kendo-icon", 20);
84
- i0.ɵɵelementStart(1, "span", 13);
85
- i0.ɵɵtext(2, "Explanation");
86
- i0.ɵɵelementEnd();
87
- } }
88
- function DynamicReportComponent_ng_template_14_Template(rf, ctx) { if (rf & 1) {
89
- i0.ɵɵelementStart(0, "div", 0);
90
- i0.ɵɵtext(1);
91
- i0.ɵɵelementEnd();
92
- } if (rf & 2) {
93
- const ctx_r9 = i0.ɵɵnextContext();
94
- i0.ɵɵadvance(1);
95
- i0.ɵɵtextInterpolate((ctx_r9.SkipData == null ? null : ctx_r9.SkipData.ReportExplanation) || "No Explanation Provided");
96
- } }
97
- function DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_1_Template(rf, ctx) { if (rf & 1) {
98
- i0.ɵɵelement(0, "kendo-icon", 21);
99
- i0.ɵɵelementStart(1, "span", 13);
100
- i0.ɵɵtext(2, "Details");
101
- i0.ɵɵelementEnd();
102
- } }
103
- function DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_div_7_Template(rf, ctx) { if (rf & 1) {
104
- i0.ɵɵelementStart(0, "div")(1, "span");
105
- i0.ɵɵtext(2, "Skip Conversation ID:");
106
- i0.ɵɵelementEnd();
107
- i0.ɵɵelementStart(3, "span");
108
- i0.ɵɵtext(4);
109
- i0.ɵɵelementEnd()();
110
- } if (rf & 2) {
111
- const ctx_r21 = i0.ɵɵnextContext(3);
112
- i0.ɵɵadvance(4);
113
- i0.ɵɵtextInterpolate(ctx_r21.ConversationID);
114
- } }
115
- function DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_div_8_Template(rf, ctx) { if (rf & 1) {
116
- i0.ɵɵelementStart(0, "div")(1, "span");
117
- i0.ɵɵtext(2, "Skip Conversation Detail ID:");
118
- i0.ɵɵelementEnd();
119
- i0.ɵɵelementStart(3, "span");
120
- i0.ɵɵtext(4);
121
- i0.ɵɵelementEnd()();
122
- } if (rf & 2) {
123
- const ctx_r22 = i0.ɵɵnextContext(3);
124
- i0.ɵɵadvance(4);
125
- i0.ɵɵtextInterpolate(ctx_r22.ConversationDetailID);
126
- } }
127
- function DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_Template(rf, ctx) { if (rf & 1) {
128
- i0.ɵɵelementStart(0, "div")(1, "span")(2, "b");
129
- i0.ɵɵtext(3, "SQL:");
130
- i0.ɵɵelementEnd()();
131
- i0.ɵɵelementStart(4, "span")(5, "textarea", 22);
132
- i0.ɵɵtext(6);
133
- i0.ɵɵelementEnd()()();
134
- i0.ɵɵtemplate(7, DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_div_7_Template, 5, 1, "div", 23);
135
- i0.ɵɵtemplate(8, DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_div_8_Template, 5, 1, "div", 23);
136
- } if (rf & 2) {
137
- const ctx_r20 = i0.ɵɵnextContext(2);
138
- i0.ɵɵadvance(5);
139
- i0.ɵɵproperty("disabled", true)("fillHeight", false);
140
- i0.ɵɵadvance(1);
141
- i0.ɵɵtextInterpolate(ctx_r20.SkipData == null ? null : ctx_r20.SkipData.SQLResults == null ? null : ctx_r20.SkipData.SQLResults.sql);
142
- i0.ɵɵadvance(1);
143
- i0.ɵɵproperty("ngIf", ctx_r20.ConversationID !== null);
144
- i0.ɵɵadvance(1);
145
- i0.ɵɵproperty("ngIf", ctx_r20.ConversationDetailID !== null);
146
- } }
147
- function DynamicReportComponent_kendo_tabstrip_tab_15_Template(rf, ctx) { if (rf & 1) {
148
- i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 11);
149
- i0.ɵɵtemplate(1, DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_1_Template, 3, 0, "ng-template", 7);
150
- i0.ɵɵtemplate(2, DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_Template, 9, 5, "ng-template", 8);
151
- i0.ɵɵelementEnd();
152
- } if (rf & 2) {
153
- const ctx_r10 = i0.ɵɵnextContext();
154
- i0.ɵɵproperty("selected", ctx_r10.isTabSelected(4));
155
- } }
156
- // This component is used for dynamically rendering report data, it is wrapped by app-single-report which gets
157
- // info from the database. This can also be used directly to render a dynamic report that is NOT saved in the DB
158
- // which is what Skip does in its conversational UI
159
- export class DynamicReportComponent {
160
- get SkipData() {
161
- return this._skipData;
162
- }
163
- set SkipData(d) {
164
- this._skipData = d;
165
- if (d && !this._loaded)
166
- this.ngAfterViewInit();
167
- }
168
- constructor(sharedService, router) {
169
- this.sharedService = sharedService;
170
- this.router = router;
171
- this.ShowDetailsTab = false;
172
- this.ShowCreateReportButton = false;
173
- this.ConversationID = null;
174
- this.ConversationName = null;
175
- this.ConversationDetailID = null;
176
- this.matchingReportID = null;
177
- this.matchingReportName = null;
178
- this._loaded = false;
179
- this.activeTabIndex = 0;
180
- }
181
- ngAfterViewInit() {
182
- return __awaiter(this, void 0, void 0, function* () {
183
- if (this.SkipData) {
184
- this._loaded = true;
185
- if (this.ShowCreateReportButton) {
186
- // check to see if a report has been created that is linked to this ConvoID/ConvoDetailID
187
- // if so don't allow the user to create another report, show a link to the existing one
188
- const rv = new RunView();
189
- const matchingReports = yield rv.RunView({
190
- EntityName: 'Reports',
191
- ExtraFilter: 'ConversationID = ' + this.ConversationID + ' AND ConversationDetailID = ' + this.ConversationDetailID
192
- });
193
- if (matchingReports && matchingReports.Success && matchingReports.RowCount > 0) {
194
- const item = matchingReports.Results.at(0);
195
- this.matchingReportID = item === null || item === void 0 ? void 0 : item.ID;
196
- this.matchingReportName = item === null || item === void 0 ? void 0 : item.Name;
197
- }
198
- }
199
- }
200
- });
201
- }
202
- clickMatchingReport() {
203
- if (this.matchingReportID !== null && this.matchingReportID > 0) {
204
- // navigate to the report
205
- this.router.navigate(['resource', 'report', this.matchingReportID]);
206
- }
207
- }
208
- onTabSelect(e) {
209
- e.preventDefault();
210
- this.activeTabIndex = e.index;
211
- this.sharedService.InvokeManualResize(100);
212
- }
213
- isTabSelected(index) {
214
- const offset = !this.IsChart ? 1 : 0;
215
- return this.activeTabIndex === (index - offset);
216
- }
217
- get Columns() {
218
- var _a;
219
- return ((_a = this.SkipData) === null || _a === void 0 ? void 0 : _a.SQLResults.columns) || [];
220
- }
221
- get IsChart() {
222
- if (!this.SkipData)
223
- return false;
224
- return this.SkipData.DisplayType.trim().toLowerCase() !== 'table';
225
- }
226
- get IsTable() {
227
- if (!this.SkipData)
228
- return false;
229
- return this.SkipData.DisplayType.trim().toLowerCase() === 'table';
230
- }
231
- createAnalysisHtml() {
232
- var _a;
233
- const analysis = (_a = this.SkipData) === null || _a === void 0 ? void 0 : _a.Analysis;
234
- if (analysis && analysis.length > 0) {
235
- return this.sharedService.ConvertMarkdownStringToHtmlList(HtmlListType.Unordered, analysis);
236
- }
237
- else
238
- return '<h2>No Analysis Provided</h2>';
239
- }
240
- doCreateReport() {
241
- return __awaiter(this, void 0, void 0, function* () {
242
- if (!this.SkipData || !this.ConversationID || !this.ConversationName || !this.ConversationDetailID) {
243
- throw new Error('Must set SkipData, ConversationID, ConversationName, and ConversationDetailID to enable saving report');
244
- }
245
- else {
246
- if (confirm('Do you want to save this report?')) {
247
- const md = new Metadata();
248
- const report = yield md.GetEntityObject('Reports');
249
- report.NewRecord();
250
- report.Name = this.SkipData.ReportTitle;
251
- report.Description = this.SkipData.ReportExplanation ? this.SkipData.ReportExplanation : '';
252
- report.ConversationID = this.ConversationID;
253
- report.ConversationDetailID = this.ConversationDetailID;
254
- report.ReportSQL = this.SkipData.SQLResults.sql;
255
- report.ReportConfiguration = JSON.stringify(this.SkipData);
256
- report.SharingScope = 'None';
257
- report.UserID = md.CurrentUser.ID;
258
- if (yield report.Save()) {
259
- this.matchingReportID = report.ID;
260
- this.matchingReportName = report.Name;
261
- this.sharedService.CreateSimpleNotification(`Report "${report.Name}"Saved`, 'success', 2500);
262
- }
263
- else
264
- this.sharedService.CreateSimpleNotification('Error saving report', 'error', 2500);
265
- }
266
- }
267
- });
268
- }
269
- }
270
- DynamicReportComponent.ɵfac = function DynamicReportComponent_Factory(t) { return new (t || DynamicReportComponent)(i0.ɵɵdirectiveInject(i1.SharedService), i0.ɵɵdirectiveInject(i2.Router)); };
271
- DynamicReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicReportComponent, selectors: [["app-dynamic-report"]], viewQuery: function DynamicReportComponent_Query(rf, ctx) { if (rf & 1) {
272
- i0.ɵɵviewQuery(_c0, 5);
273
- i0.ɵɵviewQuery(_c1, 5);
274
- i0.ɵɵviewQuery(_c2, 5);
275
- } if (rf & 2) {
276
- let _t;
277
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.theGrid = _t.first);
278
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.theChart = _t.first);
279
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabStrip = _t.first);
280
- } }, inputs: { ShowDetailsTab: "ShowDetailsTab", ShowCreateReportButton: "ShowCreateReportButton", ConversationID: "ConversationID", ConversationName: "ConversationName", ConversationDetailID: "ConversationDetailID", SkipData: "SkipData" }, decls: 16, vars: 12, consts: [["mjFillContainer", ""], ["kendoButton", "", "class", "create-report-button", 3, "click", 4, "ngIf"], ["class", "report-link", 3, "click", 4, "ngIf"], ["mjFillContainer", "", 1, "report-tabstrip", 3, "keepTabContent", "animate", "tabSelect"], ["tabStrip", ""], [3, "selected", 4, "ngIf"], [3, "closable", "selected"], ["kendoTabTitle", ""], ["kendoTabContent", "", "class", "report-tab-contents"], ["kendoButton", "", 1, "create-report-button", 3, "click"], [1, "report-link", 3, "click"], [3, "selected"], ["name", "graph"], [1, "report-tab-title"], ["mjFillContainer", "", 3, "SkipData"], ["theChart", ""], ["name", "table"], ["theGrid", ""], ["src", "assets/Skip - Mark Only - Small.png", 1, "avatar", 2, "height", "16px", "width", "16px"], ["mjFillContainer", "", 3, "innerHTML"], ["name", "file"], ["name", "page-properties"], ["mjFillContainer", "", 3, "disabled", "fillHeight"], [4, "ngIf"]], template: function DynamicReportComponent_Template(rf, ctx) { if (rf & 1) {
281
- i0.ɵɵelementStart(0, "div", 0);
282
- i0.ɵɵtemplate(1, DynamicReportComponent_button_1_Template, 2, 0, "button", 1);
283
- i0.ɵɵtemplate(2, DynamicReportComponent_div_2_Template, 2, 2, "div", 2);
284
- i0.ɵɵelementStart(3, "kendo-tabstrip", 3, 4);
285
- i0.ɵɵlistener("tabSelect", function DynamicReportComponent_Template_kendo_tabstrip_tabSelect_3_listener($event) { return ctx.onTabSelect($event); });
286
- i0.ɵɵtemplate(5, DynamicReportComponent_kendo_tabstrip_tab_5_Template, 3, 1, "kendo-tabstrip-tab", 5);
287
- i0.ɵɵelementStart(6, "kendo-tabstrip-tab", 6);
288
- i0.ɵɵtemplate(7, DynamicReportComponent_ng_template_7_Template, 3, 0, "ng-template", 7);
289
- i0.ɵɵtemplate(8, DynamicReportComponent_ng_template_8_Template, 2, 1, "ng-template", 8);
290
- i0.ɵɵelementEnd();
291
- i0.ɵɵelementStart(9, "kendo-tabstrip-tab", 6);
292
- i0.ɵɵtemplate(10, DynamicReportComponent_ng_template_10_Template, 3, 0, "ng-template", 7);
293
- i0.ɵɵtemplate(11, DynamicReportComponent_ng_template_11_Template, 1, 1, "ng-template", 8);
294
- i0.ɵɵelementEnd();
295
- i0.ɵɵelementStart(12, "kendo-tabstrip-tab", 6);
296
- i0.ɵɵtemplate(13, DynamicReportComponent_ng_template_13_Template, 3, 0, "ng-template", 7);
297
- i0.ɵɵtemplate(14, DynamicReportComponent_ng_template_14_Template, 2, 1, "ng-template", 8);
298
- i0.ɵɵelementEnd();
299
- i0.ɵɵtemplate(15, DynamicReportComponent_kendo_tabstrip_tab_15_Template, 3, 1, "kendo-tabstrip-tab", 5);
300
- i0.ɵɵelementEnd()();
301
- } if (rf & 2) {
302
- i0.ɵɵadvance(1);
303
- i0.ɵɵproperty("ngIf", ctx.ShowCreateReportButton && !ctx.matchingReportID);
304
- i0.ɵɵadvance(1);
305
- i0.ɵɵproperty("ngIf", ctx.matchingReportID !== null);
306
- i0.ɵɵadvance(1);
307
- i0.ɵɵproperty("keepTabContent", true)("animate", false);
308
- i0.ɵɵadvance(2);
309
- i0.ɵɵproperty("ngIf", ctx.IsChart);
310
- i0.ɵɵadvance(1);
311
- i0.ɵɵproperty("closable", false)("selected", ctx.isTabSelected(1));
312
- i0.ɵɵadvance(3);
313
- i0.ɵɵproperty("closable", false)("selected", ctx.isTabSelected(2));
314
- i0.ɵɵadvance(3);
315
- i0.ɵɵproperty("closable", false)("selected", ctx.isTabSelected(3));
316
- i0.ɵɵadvance(3);
317
- i0.ɵɵproperty("ngIf", ctx.ShowDetailsTab);
318
- } }, styles: [".report-tab-title[_ngcontent-%COMP%] { margin-left: 10px;}", ".create-report-button[_ngcontent-%COMP%] { \n margin-bottom: 10px;\n margin-top: 10px;\n }", ".report-link[_ngcontent-%COMP%] {\n margin-top: 10px;\n margin-bottom: 10px;\n cursor: pointer;\n color: blue;\n font-weight: bold;\n }"] });
319
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicReportComponent, [{
320
- type: Component,
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, Input, ViewChild } from '@angular/core';
11
+ import { HtmlListType } from '../../shared/shared.service';
12
+ import { Metadata, RunView } from '@memberjunction/core';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "../../shared/shared.service";
15
+ import * as i2 from "@angular/router";
16
+ const _c0 = ["theGrid"];
17
+ const _c1 = ["theChart"];
18
+ const _c2 = ["tabStrip"];
19
+ function DynamicReportComponent_button_1_Template(rf, ctx) { if (rf & 1) {
20
+ const _r12 = i0.ɵɵgetCurrentView();
21
+ i0.ɵɵelementStart(0, "button", 9);
22
+ i0.ɵɵlistener("click", function DynamicReportComponent_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.doCreateReport()); });
23
+ i0.ɵɵtext(1, "Create Report");
24
+ i0.ɵɵelementEnd();
25
+ } }
26
+ function DynamicReportComponent_div_2_Template(rf, ctx) { if (rf & 1) {
27
+ const _r14 = i0.ɵɵgetCurrentView();
28
+ i0.ɵɵelementStart(0, "div", 10);
29
+ i0.ɵɵlistener("click", function DynamicReportComponent_div_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.clickMatchingReport()); });
30
+ i0.ɵɵtext(1);
31
+ i0.ɵɵelementEnd();
32
+ } if (rf & 2) {
33
+ const ctx_r1 = i0.ɵɵnextContext();
34
+ i0.ɵɵadvance();
35
+ i0.ɵɵtextInterpolate2("Report: ", ctx_r1.matchingReportName, " (ID: ", ctx_r1.matchingReportID, ") Created From This Message");
36
+ } }
37
+ function DynamicReportComponent_kendo_tabstrip_tab_5_ng_template_1_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelement(0, "kendo-svgicon", 12);
39
+ i0.ɵɵelementStart(1, "span", 13);
40
+ i0.ɵɵtext(2, "Chart");
41
+ i0.ɵɵelementEnd();
42
+ } if (rf & 2) {
43
+ const ctx_r15 = i0.ɵɵnextContext(2);
44
+ i0.ɵɵproperty("icon", ctx_r15.sharedService.kendoSVGIcon("graph"));
45
+ } }
46
+ function DynamicReportComponent_kendo_tabstrip_tab_5_ng_template_2_Template(rf, ctx) { if (rf & 1) {
47
+ i0.ɵɵelement(0, "app-dynamic-chart", 14, 15);
48
+ } if (rf & 2) {
49
+ const ctx_r16 = i0.ɵɵnextContext(2);
50
+ i0.ɵɵproperty("SkipData", ctx_r16.SkipData);
51
+ } }
52
+ function DynamicReportComponent_kendo_tabstrip_tab_5_Template(rf, ctx) { if (rf & 1) {
53
+ i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 11);
54
+ i0.ɵɵtemplate(1, DynamicReportComponent_kendo_tabstrip_tab_5_ng_template_1_Template, 3, 1, "ng-template", 7)(2, DynamicReportComponent_kendo_tabstrip_tab_5_ng_template_2_Template, 2, 1, "ng-template", 8);
55
+ i0.ɵɵelementEnd();
56
+ } if (rf & 2) {
57
+ const ctx_r3 = i0.ɵɵnextContext();
58
+ i0.ɵɵproperty("selected", ctx_r3.isTabSelected(0));
59
+ } }
60
+ function DynamicReportComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
61
+ i0.ɵɵelement(0, "kendo-svgicon", 12);
62
+ i0.ɵɵelementStart(1, "span", 13);
63
+ i0.ɵɵtext(2, "Table");
64
+ i0.ɵɵelementEnd();
65
+ } if (rf & 2) {
66
+ const ctx_r4 = i0.ɵɵnextContext();
67
+ i0.ɵɵproperty("icon", ctx_r4.sharedService.kendoSVGIcon("table"));
68
+ } }
69
+ function DynamicReportComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵelement(0, "app-dynamic-grid", 14, 16);
71
+ } if (rf & 2) {
72
+ const ctx_r5 = i0.ɵɵnextContext();
73
+ i0.ɵɵproperty("SkipData", ctx_r5.SkipData);
74
+ } }
75
+ function DynamicReportComponent_ng_template_10_Template(rf, ctx) { if (rf & 1) {
76
+ i0.ɵɵelement(0, "img", 17);
77
+ i0.ɵɵelementStart(1, "span", 13);
78
+ i0.ɵɵtext(2, "Analysis");
79
+ i0.ɵɵelementEnd();
80
+ } }
81
+ function DynamicReportComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
82
+ i0.ɵɵelement(0, "div", 18);
83
+ } if (rf & 2) {
84
+ const ctx_r7 = i0.ɵɵnextContext();
85
+ i0.ɵɵproperty("innerHTML", ctx_r7.createAnalysisHtml(), i0.ɵɵsanitizeHtml);
86
+ } }
87
+ function DynamicReportComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
88
+ i0.ɵɵelement(0, "kendo-svgicon", 12);
89
+ i0.ɵɵelementStart(1, "span", 13);
90
+ i0.ɵɵtext(2, "Explanation");
91
+ i0.ɵɵelementEnd();
92
+ } if (rf & 2) {
93
+ const ctx_r8 = i0.ɵɵnextContext();
94
+ i0.ɵɵproperty("icon", ctx_r8.sharedService.kendoSVGIcon("file"));
95
+ } }
96
+ function DynamicReportComponent_ng_template_14_Template(rf, ctx) { if (rf & 1) {
97
+ i0.ɵɵelementStart(0, "div", 0);
98
+ i0.ɵɵtext(1);
99
+ i0.ɵɵelementEnd();
100
+ } if (rf & 2) {
101
+ const ctx_r9 = i0.ɵɵnextContext();
102
+ i0.ɵɵadvance();
103
+ i0.ɵɵtextInterpolate((ctx_r9.SkipData == null ? null : ctx_r9.SkipData.ReportExplanation) || "No Explanation Provided");
104
+ } }
105
+ function DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_1_Template(rf, ctx) { if (rf & 1) {
106
+ i0.ɵɵelement(0, "kendo-svgicon", 19);
107
+ i0.ɵɵelementStart(1, "span", 13);
108
+ i0.ɵɵtext(2, "Details");
109
+ i0.ɵɵelementEnd();
110
+ } if (rf & 2) {
111
+ const ctx_r19 = i0.ɵɵnextContext(2);
112
+ i0.ɵɵproperty("icon", ctx_r19.sharedService.kendoSVGIcon("pageProperties"));
113
+ } }
114
+ function DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_div_7_Template(rf, ctx) { if (rf & 1) {
115
+ i0.ɵɵelementStart(0, "div")(1, "span");
116
+ i0.ɵɵtext(2, "Skip Conversation ID:");
117
+ i0.ɵɵelementEnd();
118
+ i0.ɵɵelementStart(3, "span");
119
+ i0.ɵɵtext(4);
120
+ i0.ɵɵelementEnd()();
121
+ } if (rf & 2) {
122
+ const ctx_r21 = i0.ɵɵnextContext(3);
123
+ i0.ɵɵadvance(4);
124
+ i0.ɵɵtextInterpolate(ctx_r21.ConversationID);
125
+ } }
126
+ function DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_div_8_Template(rf, ctx) { if (rf & 1) {
127
+ i0.ɵɵelementStart(0, "div")(1, "span");
128
+ i0.ɵɵtext(2, "Skip Conversation Detail ID:");
129
+ i0.ɵɵelementEnd();
130
+ i0.ɵɵelementStart(3, "span");
131
+ i0.ɵɵtext(4);
132
+ i0.ɵɵelementEnd()();
133
+ } if (rf & 2) {
134
+ const ctx_r22 = i0.ɵɵnextContext(3);
135
+ i0.ɵɵadvance(4);
136
+ i0.ɵɵtextInterpolate(ctx_r22.ConversationDetailID);
137
+ } }
138
+ function DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_Template(rf, ctx) { if (rf & 1) {
139
+ i0.ɵɵelementStart(0, "div")(1, "span")(2, "b");
140
+ i0.ɵɵtext(3, "SQL:");
141
+ i0.ɵɵelementEnd()();
142
+ i0.ɵɵelementStart(4, "span")(5, "textarea", 20);
143
+ i0.ɵɵtext(6);
144
+ i0.ɵɵelementEnd()()();
145
+ i0.ɵɵtemplate(7, DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_div_7_Template, 5, 1, "div", 21)(8, DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_div_8_Template, 5, 1, "div", 21);
146
+ } if (rf & 2) {
147
+ const ctx_r20 = i0.ɵɵnextContext(2);
148
+ i0.ɵɵadvance(5);
149
+ i0.ɵɵproperty("disabled", true)("fillHeight", false);
150
+ i0.ɵɵadvance();
151
+ i0.ɵɵtextInterpolate(ctx_r20.SkipData == null ? null : ctx_r20.SkipData.SQLResults == null ? null : ctx_r20.SkipData.SQLResults.sql);
152
+ i0.ɵɵadvance();
153
+ i0.ɵɵproperty("ngIf", ctx_r20.ConversationID !== null);
154
+ i0.ɵɵadvance();
155
+ i0.ɵɵproperty("ngIf", ctx_r20.ConversationDetailID !== null);
156
+ } }
157
+ function DynamicReportComponent_kendo_tabstrip_tab_15_Template(rf, ctx) { if (rf & 1) {
158
+ i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 11);
159
+ i0.ɵɵtemplate(1, DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_1_Template, 3, 1, "ng-template", 7)(2, DynamicReportComponent_kendo_tabstrip_tab_15_ng_template_2_Template, 9, 5, "ng-template", 8);
160
+ i0.ɵɵelementEnd();
161
+ } if (rf & 2) {
162
+ const ctx_r10 = i0.ɵɵnextContext();
163
+ i0.ɵɵproperty("selected", ctx_r10.isTabSelected(4));
164
+ } }
165
+ // This component is used for dynamically rendering report data, it is wrapped by app-single-report which gets
166
+ // info from the database. This can also be used directly to render a dynamic report that is NOT saved in the DB
167
+ // which is what Skip does in its conversational UI
168
+ export class DynamicReportComponent {
169
+ get SkipData() {
170
+ return this._skipData;
171
+ }
172
+ set SkipData(d) {
173
+ this._skipData = d;
174
+ if (d && !this._loaded)
175
+ this.ngAfterViewInit();
176
+ }
177
+ constructor(sharedService, router) {
178
+ this.sharedService = sharedService;
179
+ this.router = router;
180
+ this.ShowDetailsTab = false;
181
+ this.ShowCreateReportButton = false;
182
+ this.ConversationID = null;
183
+ this.ConversationName = null;
184
+ this.ConversationDetailID = null;
185
+ this.matchingReportID = null;
186
+ this.matchingReportName = null;
187
+ this._loaded = false;
188
+ this.activeTabIndex = 0;
189
+ }
190
+ ngAfterViewInit() {
191
+ return __awaiter(this, void 0, void 0, function* () {
192
+ if (this.SkipData) {
193
+ this._loaded = true;
194
+ if (this.ShowCreateReportButton) {
195
+ // check to see if a report has been created that is linked to this ConvoID/ConvoDetailID
196
+ // if so don't allow the user to create another report, show a link to the existing one
197
+ const rv = new RunView();
198
+ const matchingReports = yield rv.RunView({
199
+ EntityName: 'Reports',
200
+ ExtraFilter: 'ConversationID = ' + this.ConversationID + ' AND ConversationDetailID = ' + this.ConversationDetailID
201
+ });
202
+ if (matchingReports && matchingReports.Success && matchingReports.RowCount > 0) {
203
+ const item = matchingReports.Results.at(0);
204
+ this.matchingReportID = item === null || item === void 0 ? void 0 : item.ID;
205
+ this.matchingReportName = item === null || item === void 0 ? void 0 : item.Name;
206
+ }
207
+ }
208
+ }
209
+ });
210
+ }
211
+ clickMatchingReport() {
212
+ if (this.matchingReportID !== null && this.matchingReportID > 0) {
213
+ // navigate to the report
214
+ this.router.navigate(['resource', 'report', this.matchingReportID]);
215
+ }
216
+ }
217
+ onTabSelect(e) {
218
+ e.preventDefault();
219
+ this.activeTabIndex = e.index;
220
+ this.sharedService.InvokeManualResize(100);
221
+ }
222
+ isTabSelected(index) {
223
+ const offset = !this.IsChart ? 1 : 0;
224
+ return this.activeTabIndex === (index - offset);
225
+ }
226
+ get Columns() {
227
+ var _a;
228
+ return ((_a = this.SkipData) === null || _a === void 0 ? void 0 : _a.SQLResults.columns) || [];
229
+ }
230
+ get IsChart() {
231
+ if (!this.SkipData)
232
+ return false;
233
+ return this.SkipData.DisplayType.trim().toLowerCase() !== 'table';
234
+ }
235
+ get IsTable() {
236
+ if (!this.SkipData)
237
+ return false;
238
+ return this.SkipData.DisplayType.trim().toLowerCase() === 'table';
239
+ }
240
+ createAnalysisHtml() {
241
+ var _a;
242
+ const analysis = (_a = this.SkipData) === null || _a === void 0 ? void 0 : _a.Analysis;
243
+ if (analysis && analysis.length > 0) {
244
+ return this.sharedService.ConvertMarkdownStringToHtmlList(HtmlListType.Unordered, analysis);
245
+ }
246
+ else
247
+ return '<h2>No Analysis Provided</h2>';
248
+ }
249
+ doCreateReport() {
250
+ return __awaiter(this, void 0, void 0, function* () {
251
+ if (!this.SkipData || !this.ConversationID || !this.ConversationName || !this.ConversationDetailID) {
252
+ throw new Error('Must set SkipData, ConversationID, ConversationName, and ConversationDetailID to enable saving report');
253
+ }
254
+ else {
255
+ if (confirm('Do you want to save this report?')) {
256
+ const md = new Metadata();
257
+ const report = yield md.GetEntityObject('Reports');
258
+ report.NewRecord();
259
+ report.Name = this.SkipData.ReportTitle;
260
+ report.Description = this.SkipData.ReportExplanation ? this.SkipData.ReportExplanation : '';
261
+ report.ConversationID = this.ConversationID;
262
+ report.ConversationDetailID = this.ConversationDetailID;
263
+ report.ReportSQL = this.SkipData.SQLResults.sql;
264
+ report.ReportConfiguration = JSON.stringify(this.SkipData);
265
+ report.SharingScope = 'None';
266
+ report.UserID = md.CurrentUser.ID;
267
+ if (yield report.Save()) {
268
+ this.matchingReportID = report.ID;
269
+ this.matchingReportName = report.Name;
270
+ this.sharedService.CreateSimpleNotification(`Report "${report.Name}"Saved`, 'success', 2500);
271
+ }
272
+ else
273
+ this.sharedService.CreateSimpleNotification('Error saving report', 'error', 2500);
274
+ }
275
+ }
276
+ });
277
+ }
278
+ }
279
+ DynamicReportComponent.ɵfac = function DynamicReportComponent_Factory(t) { return new (t || DynamicReportComponent)(i0.ɵɵdirectiveInject(i1.SharedService), i0.ɵɵdirectiveInject(i2.Router)); };
280
+ DynamicReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicReportComponent, selectors: [["app-dynamic-report"]], viewQuery: function DynamicReportComponent_Query(rf, ctx) { if (rf & 1) {
281
+ i0.ɵɵviewQuery(_c0, 5);
282
+ i0.ɵɵviewQuery(_c1, 5);
283
+ i0.ɵɵviewQuery(_c2, 5);
284
+ } if (rf & 2) {
285
+ let _t;
286
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.theGrid = _t.first);
287
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.theChart = _t.first);
288
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabStrip = _t.first);
289
+ } }, inputs: { ShowDetailsTab: "ShowDetailsTab", ShowCreateReportButton: "ShowCreateReportButton", ConversationID: "ConversationID", ConversationName: "ConversationName", ConversationDetailID: "ConversationDetailID", SkipData: "SkipData" }, decls: 16, vars: 12, consts: [["mjFillContainer", ""], ["kendoButton", "", "class", "create-report-button", 3, "click", 4, "ngIf"], ["class", "report-link", 3, "click", 4, "ngIf"], ["mjFillContainer", "", 1, "report-tabstrip", 3, "keepTabContent", "animate", "tabSelect"], ["tabStrip", ""], [3, "selected", 4, "ngIf"], [3, "closable", "selected"], ["kendoTabTitle", ""], ["kendoTabContent", "", "class", "report-tab-contents"], ["kendoButton", "", 1, "create-report-button", 3, "click"], [1, "report-link", 3, "click"], [3, "selected"], [3, "icon"], [1, "report-tab-title"], ["mjFillContainer", "", 3, "SkipData"], ["theChart", ""], ["theGrid", ""], ["src", "assets/Skip - Mark Only - Small.png", 1, "avatar", 2, "height", "16px", "width", "16px"], ["mjFillContainer", "", 3, "innerHTML"], ["name", "page-properties", 3, "icon"], ["mjFillContainer", "", 3, "disabled", "fillHeight"], [4, "ngIf"]], template: function DynamicReportComponent_Template(rf, ctx) { if (rf & 1) {
290
+ i0.ɵɵelementStart(0, "div", 0);
291
+ i0.ɵɵtemplate(1, DynamicReportComponent_button_1_Template, 2, 0, "button", 1)(2, DynamicReportComponent_div_2_Template, 2, 2, "div", 2);
292
+ i0.ɵɵelementStart(3, "kendo-tabstrip", 3, 4);
293
+ i0.ɵɵlistener("tabSelect", function DynamicReportComponent_Template_kendo_tabstrip_tabSelect_3_listener($event) { return ctx.onTabSelect($event); });
294
+ i0.ɵɵtemplate(5, DynamicReportComponent_kendo_tabstrip_tab_5_Template, 3, 1, "kendo-tabstrip-tab", 5);
295
+ i0.ɵɵelementStart(6, "kendo-tabstrip-tab", 6);
296
+ i0.ɵɵtemplate(7, DynamicReportComponent_ng_template_7_Template, 3, 1, "ng-template", 7)(8, DynamicReportComponent_ng_template_8_Template, 2, 1, "ng-template", 8);
297
+ i0.ɵɵelementEnd();
298
+ i0.ɵɵelementStart(9, "kendo-tabstrip-tab", 6);
299
+ i0.ɵɵtemplate(10, DynamicReportComponent_ng_template_10_Template, 3, 0, "ng-template", 7)(11, DynamicReportComponent_ng_template_11_Template, 1, 1, "ng-template", 8);
300
+ i0.ɵɵelementEnd();
301
+ i0.ɵɵelementStart(12, "kendo-tabstrip-tab", 6);
302
+ i0.ɵɵtemplate(13, DynamicReportComponent_ng_template_13_Template, 3, 1, "ng-template", 7)(14, DynamicReportComponent_ng_template_14_Template, 2, 1, "ng-template", 8);
303
+ i0.ɵɵelementEnd();
304
+ i0.ɵɵtemplate(15, DynamicReportComponent_kendo_tabstrip_tab_15_Template, 3, 1, "kendo-tabstrip-tab", 5);
305
+ i0.ɵɵelementEnd()();
306
+ } if (rf & 2) {
307
+ i0.ɵɵadvance();
308
+ i0.ɵɵproperty("ngIf", ctx.ShowCreateReportButton && !ctx.matchingReportID);
309
+ i0.ɵɵadvance();
310
+ i0.ɵɵproperty("ngIf", ctx.matchingReportID !== null);
311
+ i0.ɵɵadvance();
312
+ i0.ɵɵproperty("keepTabContent", true)("animate", false);
313
+ i0.ɵɵadvance(2);
314
+ i0.ɵɵproperty("ngIf", ctx.IsChart);
315
+ i0.ɵɵadvance();
316
+ i0.ɵɵproperty("closable", false)("selected", ctx.isTabSelected(1));
317
+ i0.ɵɵadvance(3);
318
+ i0.ɵɵproperty("closable", false)("selected", ctx.isTabSelected(2));
319
+ i0.ɵɵadvance(3);
320
+ i0.ɵɵproperty("closable", false)("selected", ctx.isTabSelected(3));
321
+ i0.ɵɵadvance(3);
322
+ i0.ɵɵproperty("ngIf", ctx.ShowDetailsTab);
323
+ } }, styles: [".report-tab-title[_ngcontent-%COMP%] { margin-left: 10px;}", ".create-report-button[_ngcontent-%COMP%] { \n margin-bottom: 10px;\n margin-top: 10px;\n }", ".report-link[_ngcontent-%COMP%] {\n margin-top: 10px;\n margin-bottom: 10px;\n cursor: pointer;\n color: blue;\n font-weight: bold;\n }"] });
324
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicReportComponent, [{
325
+ type: Component,
321
326
  args: [{ selector: 'app-dynamic-report', template: `
322
327
  <div mjFillContainer>
323
328
  <button kendoButton *ngIf="ShowCreateReportButton && !matchingReportID" (click)="doCreateReport()" class="create-report-button">Create Report</button>
@@ -325,7 +330,7 @@ DynamicReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dyna
325
330
  <kendo-tabstrip mjFillContainer [keepTabContent]="true" [animate]="false" class="report-tabstrip" (tabSelect)="onTabSelect($event)" #tabStrip>
326
331
  <kendo-tabstrip-tab *ngIf="IsChart" [selected]="isTabSelected(0)">
327
332
  <ng-template kendoTabTitle>
328
- <kendo-icon name="graph" ></kendo-icon>
333
+ <kendo-svgicon [icon]="sharedService.kendoSVGIcon('graph')"></kendo-svgicon>
329
334
  <span class="report-tab-title">Chart</span>
330
335
  </ng-template>
331
336
  <ng-template kendoTabContent class="report-tab-contents">
@@ -335,7 +340,7 @@ DynamicReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dyna
335
340
  </kendo-tabstrip-tab>
336
341
  <kendo-tabstrip-tab [closable]="false" [selected]="isTabSelected(1)">
337
342
  <ng-template kendoTabTitle>
338
- <kendo-icon name="table"></kendo-icon>
343
+ <kendo-svgicon [icon]="sharedService.kendoSVGIcon('table')"></kendo-svgicon>
339
344
  <span class="report-tab-title">Table</span>
340
345
  </ng-template>
341
346
  <ng-template kendoTabContent class="report-tab-contents">
@@ -354,7 +359,7 @@ DynamicReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dyna
354
359
  </kendo-tabstrip-tab>
355
360
  <kendo-tabstrip-tab [closable]="false" [selected]="isTabSelected(3)">
356
361
  <ng-template kendoTabTitle>
357
- <kendo-icon name="file"></kendo-icon>
362
+ <kendo-svgicon [icon]="sharedService.kendoSVGIcon('file')"></kendo-svgicon>
358
363
  <span class="report-tab-title">Explanation</span>
359
364
  </ng-template>
360
365
  <ng-template kendoTabContent class="report-tab-contents">
@@ -363,7 +368,7 @@ DynamicReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dyna
363
368
  </kendo-tabstrip-tab>
364
369
  <kendo-tabstrip-tab *ngIf="ShowDetailsTab" [selected]="isTabSelected(4)">
365
370
  <ng-template kendoTabTitle>
366
- <kendo-icon name="page-properties"></kendo-icon>
371
+ <kendo-svgicon [icon]="sharedService.kendoSVGIcon('pageProperties')" name="page-properties"></kendo-svgicon>
367
372
  <span class="report-tab-title">Details</span>
368
373
  </ng-template>
369
374
  <ng-template kendoTabContent class="report-tab-contents">
@@ -374,26 +379,27 @@ DynamicReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dyna
374
379
  </kendo-tabstrip-tab>
375
380
  </kendo-tabstrip>
376
381
  </div>
377
- `, styles: [".report-tab-title { margin-left: 10px;}", ".create-report-button { \n margin-bottom: 10px;\n margin-top: 10px;\n }", ".report-link {\n margin-top: 10px;\n margin-bottom: 10px;\n cursor: pointer;\n color: blue;\n font-weight: bold;\n }"] }]
378
- }], function () { return [{ type: i1.SharedService }, { type: i2.Router }]; }, { ShowDetailsTab: [{
379
- type: Input
380
- }], ShowCreateReportButton: [{
381
- type: Input
382
- }], ConversationID: [{
383
- type: Input
384
- }], ConversationName: [{
385
- type: Input
386
- }], ConversationDetailID: [{
387
- type: Input
388
- }], SkipData: [{
389
- type: Input
390
- }], theGrid: [{
391
- type: ViewChild,
392
- args: ['theGrid', { static: false }]
393
- }], theChart: [{
394
- type: ViewChild,
395
- args: ['theChart', { static: false }]
396
- }], tabStrip: [{
397
- type: ViewChild,
398
- args: ['tabStrip', { static: false }]
399
- }] }); })();
382
+ `, styles: [".report-tab-title { margin-left: 10px;}", ".create-report-button { \n margin-bottom: 10px;\n margin-top: 10px;\n }", ".report-link {\n margin-top: 10px;\n margin-bottom: 10px;\n cursor: pointer;\n color: blue;\n font-weight: bold;\n }"] }]
383
+ }], () => [{ type: i1.SharedService }, { type: i2.Router }], { ShowDetailsTab: [{
384
+ type: Input
385
+ }], ShowCreateReportButton: [{
386
+ type: Input
387
+ }], ConversationID: [{
388
+ type: Input
389
+ }], ConversationName: [{
390
+ type: Input
391
+ }], ConversationDetailID: [{
392
+ type: Input
393
+ }], SkipData: [{
394
+ type: Input
395
+ }], theGrid: [{
396
+ type: ViewChild,
397
+ args: ['theGrid', { static: false }]
398
+ }], theChart: [{
399
+ type: ViewChild,
400
+ args: ['theChart', { static: false }]
401
+ }], tabStrip: [{
402
+ type: ViewChild,
403
+ args: ['tabStrip', { static: false }]
404
+ }] }); })();
405
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DynamicReportComponent, { className: "DynamicReportComponent", filePath: "src\\lib\\generic\\dynamic-report.ts", lineNumber: 90 }); })();