@memberjunction/ng-explorer-core 0.9.204 → 0.9.206
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/ask-skip/ask-skip.component.d.ts +87 -0
- package/dist/lib/ask-skip/ask-skip.component.js +626 -0
- package/dist/lib/ask-skip/skip-dynamic-report-wrapper.d.ts +12 -0
- package/dist/lib/ask-skip/skip-dynamic-report-wrapper.js +50 -0
- package/dist/lib/favorites/favorites.component.js +1 -1
- package/dist/lib/files/files.component.d.ts +8 -0
- package/dist/lib/files/files.component.d.ts.map +1 -0
- package/dist/lib/files/files.component.js +22 -0
- package/dist/lib/generic/base-resource-component.d.ts +34 -0
- package/dist/lib/generic/base-resource-component.js +75 -0
- package/dist/lib/generic/dynamic-chart.d.ts +33 -0
- package/dist/lib/generic/dynamic-chart.js +252 -0
- package/dist/lib/generic/dynamic-grid.d.ts +25 -0
- package/dist/lib/generic/dynamic-grid.js +142 -0
- package/dist/lib/generic/dynamic-report.d.ts +38 -0
- package/dist/lib/generic/dynamic-report.js +405 -0
- package/dist/lib/header/header.component.d.ts.map +1 -1
- package/dist/lib/header/header.component.js +2 -1
- package/dist/lib/home-component/home.component.js +1 -1
- package/dist/lib/navigation/navigation.component.d.ts +1 -0
- package/dist/lib/navigation/navigation.component.d.ts.map +1 -1
- package/dist/lib/navigation/navigation.component.js +22 -0
- package/dist/lib/settings/settings.component.js +1 -1
- package/dist/lib/single-search-result/single-search-result.component.js +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +1 -1
- package/dist/module.d.ts +47 -45
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +43 -37
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -0
- package/dist/shared/shared.service.d.ts +94 -0
- package/dist/shared/shared.service.js +324 -0
- package/dist/shared/urlPipe.d.ts +7 -0
- package/dist/shared/urlPipe.js +16 -0
- package/package.json +53 -53
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { DecimalPipe, DatePipe } from '@angular/common';
|
|
3
|
+
import { LogStatus } from '@memberjunction/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@progress/kendo-angular-grid";
|
|
7
|
+
function DynamicGridComponent_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵtext(0);
|
|
9
|
+
} if (rf & 2) {
|
|
10
|
+
const dataItem_r3 = ctx.$implicit;
|
|
11
|
+
const col_r1 = i0.ɵɵnextContext().$implicit;
|
|
12
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
13
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.formatData(col_r1.DataType, dataItem_r3[col_r1.FieldName]), " ");
|
|
14
|
+
} }
|
|
15
|
+
const _c0 = () => ({ "font-weight": "bold", "background-color": "#cyan" });
|
|
16
|
+
function DynamicGridComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
i0.ɵɵelementContainerStart(0);
|
|
18
|
+
i0.ɵɵelementStart(1, "kendo-grid-column", 2);
|
|
19
|
+
i0.ɵɵtemplate(2, DynamicGridComponent_ng_container_1_ng_template_2_Template, 1, 1, "ng-template", 3);
|
|
20
|
+
i0.ɵɵelementEnd();
|
|
21
|
+
i0.ɵɵelementContainerEnd();
|
|
22
|
+
} if (rf & 2) {
|
|
23
|
+
const col_r1 = ctx.$implicit;
|
|
24
|
+
i0.ɵɵadvance();
|
|
25
|
+
i0.ɵɵpropertyInterpolate("field", col_r1.FieldName);
|
|
26
|
+
i0.ɵɵpropertyInterpolate("title", col_r1.DisplayName);
|
|
27
|
+
i0.ɵɵproperty("headerStyle", i0.ɵɵpureFunction0(3, _c0));
|
|
28
|
+
} }
|
|
29
|
+
export class DynamicGridComponent {
|
|
30
|
+
get SkipData() {
|
|
31
|
+
return this._skipData ? this._skipData : undefined;
|
|
32
|
+
}
|
|
33
|
+
set SkipData(d) {
|
|
34
|
+
this._skipData = d;
|
|
35
|
+
if (d) {
|
|
36
|
+
this.data = d.SQLResults.results;
|
|
37
|
+
this.columns = d.SQLResults.columns;
|
|
38
|
+
this.loadGridView();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
constructor(decimalPipe, datePipe) {
|
|
42
|
+
this.decimalPipe = decimalPipe;
|
|
43
|
+
this.datePipe = datePipe;
|
|
44
|
+
this.data = [];
|
|
45
|
+
this.columns = [];
|
|
46
|
+
this.pageSize = 30;
|
|
47
|
+
this.startingRow = 0;
|
|
48
|
+
}
|
|
49
|
+
formatData(dataType, data) {
|
|
50
|
+
switch (dataType) {
|
|
51
|
+
case 'bigint':
|
|
52
|
+
case 'smallint':
|
|
53
|
+
case 'int':
|
|
54
|
+
case 'tinyint':
|
|
55
|
+
return data; // No specific formatting for integer types
|
|
56
|
+
case 'decimal':
|
|
57
|
+
case 'numeric':
|
|
58
|
+
case 'smallmoney':
|
|
59
|
+
case 'money':
|
|
60
|
+
return this.decimalPipe.transform(data, '1.2-2'); // Format as decimal with 2 digits after the decimal point
|
|
61
|
+
case 'date':
|
|
62
|
+
case 'datetime':
|
|
63
|
+
case 'datetime2':
|
|
64
|
+
case 'smalldatetime':
|
|
65
|
+
return this.datePipe.transform(data, 'short'); // Format as short date
|
|
66
|
+
// Add more cases as needed for other SQL Server datatypes
|
|
67
|
+
default:
|
|
68
|
+
return data; // For data types not handled, return data as is
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
ngAfterViewInit() {
|
|
72
|
+
if (this.data) {
|
|
73
|
+
this.loadGridView();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
pageChange(event) {
|
|
77
|
+
this.startingRow = event.skip;
|
|
78
|
+
this.loadGridView();
|
|
79
|
+
}
|
|
80
|
+
loadGridView() {
|
|
81
|
+
this.gridView = {
|
|
82
|
+
data: this.data.slice(this.startingRow, this.startingRow + this.pageSize),
|
|
83
|
+
total: this.data.length,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
cellClick(event) {
|
|
87
|
+
LogStatus(`Cell clicked in DynamicGrid`, undefined, event);
|
|
88
|
+
LogStatus('Need to implement cellClick in DynamicGridComponent like DyanmicChartComponent to do drill down!');
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
DynamicGridComponent.ɵfac = function DynamicGridComponent_Factory(t) { return new (t || DynamicGridComponent)(i0.ɵɵdirectiveInject(i1.DecimalPipe), i0.ɵɵdirectiveInject(i1.DatePipe)); };
|
|
92
|
+
DynamicGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicGridComponent, selectors: [["app-dynamic-grid"]], inputs: { data: "data", columns: "columns", pageSize: "pageSize", startingRow: "startingRow", SkipData: "SkipData" }, features: [i0.ɵɵProvidersFeature([DecimalPipe, DatePipe])], decls: 2, vars: 8, consts: [["scrollable", "virtual", 3, "data", "skip", "pageSize", "rowHeight", "reorderable", "resizable", "navigable", "pageChange", "cellClick"], [4, "ngFor", "ngForOf"], [3, "field", "title", "headerStyle"], ["kendoGridCellTemplate", ""]], template: function DynamicGridComponent_Template(rf, ctx) { if (rf & 1) {
|
|
93
|
+
i0.ɵɵelementStart(0, "kendo-grid", 0);
|
|
94
|
+
i0.ɵɵlistener("pageChange", function DynamicGridComponent_Template_kendo_grid_pageChange_0_listener($event) { return ctx.pageChange($event); })("cellClick", function DynamicGridComponent_Template_kendo_grid_cellClick_0_listener($event) { return ctx.cellClick($event); });
|
|
95
|
+
i0.ɵɵtemplate(1, DynamicGridComponent_ng_container_1_Template, 3, 4, "ng-container", 1);
|
|
96
|
+
i0.ɵɵelementEnd();
|
|
97
|
+
} if (rf & 2) {
|
|
98
|
+
i0.ɵɵproperty("data", ctx.gridView)("skip", ctx.startingRow)("pageSize", ctx.pageSize)("rowHeight", 36)("reorderable", true)("resizable", true)("navigable", true);
|
|
99
|
+
i0.ɵɵadvance();
|
|
100
|
+
i0.ɵɵproperty("ngForOf", ctx.columns);
|
|
101
|
+
} }, dependencies: [i1.NgForOf, i2.GridComponent, i2.ColumnComponent, i2.CellTemplateDirective], encapsulation: 2 });
|
|
102
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicGridComponent, [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{
|
|
105
|
+
selector: 'app-dynamic-grid',
|
|
106
|
+
template: `
|
|
107
|
+
<kendo-grid [data]="gridView"
|
|
108
|
+
[skip]="startingRow"
|
|
109
|
+
[pageSize]="pageSize"
|
|
110
|
+
scrollable="virtual"
|
|
111
|
+
[rowHeight]="36"
|
|
112
|
+
[reorderable]="true"
|
|
113
|
+
[resizable]="true"
|
|
114
|
+
(pageChange)="pageChange($event)"
|
|
115
|
+
(cellClick)="cellClick($event)"
|
|
116
|
+
[navigable]="true">
|
|
117
|
+
<ng-container *ngFor="let col of columns">
|
|
118
|
+
<kendo-grid-column
|
|
119
|
+
field="{{col.FieldName}}"
|
|
120
|
+
title="{{col.DisplayName}}"
|
|
121
|
+
[headerStyle]="{ 'font-weight' : 'bold', 'background-color': '#cyan' }">
|
|
122
|
+
<ng-template kendoGridCellTemplate let-dataItem>
|
|
123
|
+
{{ formatData(col.DataType, dataItem[col.FieldName]) }}
|
|
124
|
+
</ng-template>
|
|
125
|
+
</kendo-grid-column>
|
|
126
|
+
</ng-container>
|
|
127
|
+
</kendo-grid>
|
|
128
|
+
`,
|
|
129
|
+
providers: [DecimalPipe, DatePipe]
|
|
130
|
+
}]
|
|
131
|
+
}], () => [{ type: i1.DecimalPipe }, { type: i1.DatePipe }], { data: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], columns: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], pageSize: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], startingRow: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], SkipData: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}] }); })();
|
|
142
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DynamicGridComponent, { className: "DynamicGridComponent", filePath: "src\\lib\\generic\\dynamic-grid.ts", lineNumber: 34 }); })();
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Router } from '@angular/router';
|
|
2
|
+
import { SkipColumnInfo, SkipData } from '../ask-skip/ask-skip.component';
|
|
3
|
+
import { SharedService } from '../../shared/shared.service';
|
|
4
|
+
import { DynamicGridComponent } from './dynamic-grid';
|
|
5
|
+
import { DynamicChartComponent } from './dynamic-chart';
|
|
6
|
+
import { SelectEvent, TabStripComponent } from '@progress/kendo-angular-layout';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class DynamicReportComponent {
|
|
9
|
+
sharedService: SharedService;
|
|
10
|
+
private router;
|
|
11
|
+
ShowDetailsTab: boolean;
|
|
12
|
+
ShowCreateReportButton: boolean;
|
|
13
|
+
ConversationID: number | null;
|
|
14
|
+
ConversationName: string | null;
|
|
15
|
+
ConversationDetailID: number | null;
|
|
16
|
+
private _skipData;
|
|
17
|
+
get SkipData(): SkipData | undefined;
|
|
18
|
+
set SkipData(d: SkipData | undefined);
|
|
19
|
+
theGrid: DynamicGridComponent;
|
|
20
|
+
theChart: DynamicChartComponent;
|
|
21
|
+
tabStrip: TabStripComponent;
|
|
22
|
+
constructor(sharedService: SharedService, router: Router);
|
|
23
|
+
matchingReportID: number | null;
|
|
24
|
+
matchingReportName: string | null;
|
|
25
|
+
private _loaded;
|
|
26
|
+
ngAfterViewInit(): Promise<void>;
|
|
27
|
+
clickMatchingReport(): void;
|
|
28
|
+
activeTabIndex: number;
|
|
29
|
+
onTabSelect(e: SelectEvent): void;
|
|
30
|
+
isTabSelected(index: number): boolean;
|
|
31
|
+
get Columns(): SkipColumnInfo[];
|
|
32
|
+
get IsChart(): boolean;
|
|
33
|
+
get IsTable(): boolean;
|
|
34
|
+
createAnalysisHtml(): string;
|
|
35
|
+
doCreateReport(): Promise<void>;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicReportComponent, never>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicReportComponent, "app-dynamic-report", never, { "ShowDetailsTab": { "alias": "ShowDetailsTab"; "required": false; }; "ShowCreateReportButton": { "alias": "ShowCreateReportButton"; "required": false; }; "ConversationID": { "alias": "ConversationID"; "required": false; }; "ConversationName": { "alias": "ConversationName"; "required": false; }; "ConversationDetailID": { "alias": "ConversationDetailID"; "required": false; }; "SkipData": { "alias": "SkipData"; "required": false; }; }, {}, never, never, false, never>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,405 @@
|
|
|
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,
|
|
326
|
+
args: [{ selector: 'app-dynamic-report', template: `
|
|
327
|
+
<div mjFillContainer>
|
|
328
|
+
<button kendoButton *ngIf="ShowCreateReportButton && !matchingReportID" (click)="doCreateReport()" class="create-report-button">Create Report</button>
|
|
329
|
+
<div *ngIf="matchingReportID!==null" class="report-link" (click)="clickMatchingReport()">Report: {{matchingReportName}} (ID: {{matchingReportID}}) Created From This Message</div>
|
|
330
|
+
<kendo-tabstrip mjFillContainer [keepTabContent]="true" [animate]="false" class="report-tabstrip" (tabSelect)="onTabSelect($event)" #tabStrip>
|
|
331
|
+
<kendo-tabstrip-tab *ngIf="IsChart" [selected]="isTabSelected(0)">
|
|
332
|
+
<ng-template kendoTabTitle>
|
|
333
|
+
<kendo-svgicon [icon]="sharedService.kendoSVGIcon('graph')"></kendo-svgicon>
|
|
334
|
+
<span class="report-tab-title">Chart</span>
|
|
335
|
+
</ng-template>
|
|
336
|
+
<ng-template kendoTabContent class="report-tab-contents">
|
|
337
|
+
<app-dynamic-chart mjFillContainer #theChart [SkipData]="SkipData">
|
|
338
|
+
</app-dynamic-chart>
|
|
339
|
+
</ng-template>
|
|
340
|
+
</kendo-tabstrip-tab>
|
|
341
|
+
<kendo-tabstrip-tab [closable]="false" [selected]="isTabSelected(1)">
|
|
342
|
+
<ng-template kendoTabTitle>
|
|
343
|
+
<kendo-svgicon [icon]="sharedService.kendoSVGIcon('table')"></kendo-svgicon>
|
|
344
|
+
<span class="report-tab-title">Table</span>
|
|
345
|
+
</ng-template>
|
|
346
|
+
<ng-template kendoTabContent class="report-tab-contents">
|
|
347
|
+
<app-dynamic-grid mjFillContainer #theGrid [SkipData]="SkipData">
|
|
348
|
+
</app-dynamic-grid>
|
|
349
|
+
</ng-template>
|
|
350
|
+
</kendo-tabstrip-tab>
|
|
351
|
+
<kendo-tabstrip-tab [closable]="false" [selected]="isTabSelected(2)">
|
|
352
|
+
<ng-template kendoTabTitle>
|
|
353
|
+
<img src="assets/Skip - Mark Only - Small.png" class="avatar" style="height:16px;width:16px;" />
|
|
354
|
+
<span class="report-tab-title">Analysis</span>
|
|
355
|
+
</ng-template>
|
|
356
|
+
<ng-template kendoTabContent class="report-tab-contents">
|
|
357
|
+
<div mjFillContainer [innerHTML]="createAnalysisHtml()"></div>
|
|
358
|
+
</ng-template>
|
|
359
|
+
</kendo-tabstrip-tab>
|
|
360
|
+
<kendo-tabstrip-tab [closable]="false" [selected]="isTabSelected(3)">
|
|
361
|
+
<ng-template kendoTabTitle>
|
|
362
|
+
<kendo-svgicon [icon]="sharedService.kendoSVGIcon('file')"></kendo-svgicon>
|
|
363
|
+
<span class="report-tab-title">Explanation</span>
|
|
364
|
+
</ng-template>
|
|
365
|
+
<ng-template kendoTabContent class="report-tab-contents">
|
|
366
|
+
<div mjFillContainer>{{SkipData?.ReportExplanation || 'No Explanation Provided'}}</div>
|
|
367
|
+
</ng-template>
|
|
368
|
+
</kendo-tabstrip-tab>
|
|
369
|
+
<kendo-tabstrip-tab *ngIf="ShowDetailsTab" [selected]="isTabSelected(4)">
|
|
370
|
+
<ng-template kendoTabTitle>
|
|
371
|
+
<kendo-svgicon [icon]="sharedService.kendoSVGIcon('pageProperties')" name="page-properties"></kendo-svgicon>
|
|
372
|
+
<span class="report-tab-title">Details</span>
|
|
373
|
+
</ng-template>
|
|
374
|
+
<ng-template kendoTabContent class="report-tab-contents">
|
|
375
|
+
<div><span><b>SQL:</b></span><span><textarea [disabled]="true" mjFillContainer [fillHeight]="false">{{SkipData?.SQLResults?.sql}}</textarea></span></div>
|
|
376
|
+
<div *ngIf="ConversationID!==null"><span>Skip Conversation ID:</span><span>{{ConversationID}}</span></div>
|
|
377
|
+
<div *ngIf="ConversationDetailID!==null"><span>Skip Conversation Detail ID:</span><span>{{ConversationDetailID}}</span></div>
|
|
378
|
+
</ng-template>
|
|
379
|
+
</kendo-tabstrip-tab>
|
|
380
|
+
</kendo-tabstrip>
|
|
381
|
+
</div>
|
|
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 }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.component.d.ts","sourceRoot":"","sources":["../../../src/lib/header/header.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAqB,UAAU,EAAE,MAAM,EAAS,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAc,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;;AAEvE,qBAKa,eAAgB,YAAW,MAAM;IAkCvB,QAAQ,EAAE,UAAU;IAAS,aAAa,EAAE,aAAa;IAAE,OAAO,CAAC,oBAAoB;IAAwB,OAAO,CAAC,MAAM;IAjCvI,eAAe,EAAG,MAAM,CAAC;IACzB,mBAAmB,EAAG,MAAM,CAAC;IAE/B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAE7B;IACK,gBAAgB,EAAE,MAAM,CAAe;IACvC,YAAY,EAAE,MAAM,CAAqB;IAC/B,MAAM,oBAAsB;IAEnB,WAAW,EAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAClC,cAAc,EAAG,qBAAqB,CAAA;IAEjE,OAAO,EAAE,MAAM,CAAI;IAEnB,gBAAgB;;;MAA4C;IAC5D,aAAa;;MAAoB;IACjC,MAAM,EAAE,GAAG,CAKhB;IACK,aAAa,MAAkB;IAEtC,IAAW,iBAAiB,IAAI,sBAAsB,EAAE,CAEvD;IAED,IAAW,uBAAuB,IAAI,MAAM,CAE3C;gBAEkB,QAAQ,EAAE,UAAU,EAAS,aAAa,EAAE,aAAa,EAAU,oBAAoB,EAAE,oBAAoB,EAAU,MAAM,EAAE,MAAM;IAEjJ,WAAW,CAAC,KAAK,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC;IAM/C,aAAa,IAAI,IAAI;IAIf,MAAM;IAMN,WAAW,CAAC,KAAK,EAAE,GAAG;IAMtB,iBAAiB,CAAC,KAAK,EAAE,GAAG;IAWlC,kBAAkB,EAAE,GAAG,EAAE,CAAM;IAC/B,cAAc,EAAE,GAAG,CAAC;IACd,QAAQ;YAmBP,sBAAsB;
|
|
1
|
+
{"version":3,"file":"header.component.d.ts","sourceRoot":"","sources":["../../../src/lib/header/header.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAqB,UAAU,EAAE,MAAM,EAAS,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAc,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;;AAEvE,qBAKa,eAAgB,YAAW,MAAM;IAkCvB,QAAQ,EAAE,UAAU;IAAS,aAAa,EAAE,aAAa;IAAE,OAAO,CAAC,oBAAoB;IAAwB,OAAO,CAAC,MAAM;IAjCvI,eAAe,EAAG,MAAM,CAAC;IACzB,mBAAmB,EAAG,MAAM,CAAC;IAE/B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAE7B;IACK,gBAAgB,EAAE,MAAM,CAAe;IACvC,YAAY,EAAE,MAAM,CAAqB;IAC/B,MAAM,oBAAsB;IAEnB,WAAW,EAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAClC,cAAc,EAAG,qBAAqB,CAAA;IAEjE,OAAO,EAAE,MAAM,CAAI;IAEnB,gBAAgB;;;MAA4C;IAC5D,aAAa;;MAAoB;IACjC,MAAM,EAAE,GAAG,CAKhB;IACK,aAAa,MAAkB;IAEtC,IAAW,iBAAiB,IAAI,sBAAsB,EAAE,CAEvD;IAED,IAAW,uBAAuB,IAAI,MAAM,CAE3C;gBAEkB,QAAQ,EAAE,UAAU,EAAS,aAAa,EAAE,aAAa,EAAU,oBAAoB,EAAE,oBAAoB,EAAU,MAAM,EAAE,MAAM;IAEjJ,WAAW,CAAC,KAAK,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC;IAM/C,aAAa,IAAI,IAAI;IAIf,MAAM;IAMN,WAAW,CAAC,KAAK,EAAE,GAAG;IAMtB,iBAAiB,CAAC,KAAK,EAAE,GAAG;IAWlC,kBAAkB,EAAE,GAAG,EAAE,CAAM;IAC/B,cAAc,EAAE,GAAG,CAAC;IACd,QAAQ;YAmBP,sBAAsB;IAepC,OAAO,CAAC,WAAW;IAKZ,QAAQ,CAAC,KAAK,EAAE,GAAG;yCA9GjB,eAAe;2CAAf,eAAe;CAyH3B"}
|
|
@@ -119,7 +119,8 @@ export class HeaderComponent {
|
|
|
119
119
|
const rv = new RunView();
|
|
120
120
|
const result = yield rv.RunView({
|
|
121
121
|
EntityName: 'Entities',
|
|
122
|
-
ExtraFilter: 'AllowUserSearchAPI = 1'
|
|
122
|
+
ExtraFilter: 'AllowUserSearchAPI = 1',
|
|
123
|
+
OrderBy: 'Name'
|
|
123
124
|
});
|
|
124
125
|
if (result && result.Success) {
|
|
125
126
|
this.searchableEntities = result.Results;
|