@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.
Files changed (36) hide show
  1. package/dist/lib/ask-skip/ask-skip.component.d.ts +87 -0
  2. package/dist/lib/ask-skip/ask-skip.component.js +626 -0
  3. package/dist/lib/ask-skip/skip-dynamic-report-wrapper.d.ts +12 -0
  4. package/dist/lib/ask-skip/skip-dynamic-report-wrapper.js +50 -0
  5. package/dist/lib/favorites/favorites.component.js +1 -1
  6. package/dist/lib/files/files.component.d.ts +8 -0
  7. package/dist/lib/files/files.component.d.ts.map +1 -0
  8. package/dist/lib/files/files.component.js +22 -0
  9. package/dist/lib/generic/base-resource-component.d.ts +34 -0
  10. package/dist/lib/generic/base-resource-component.js +75 -0
  11. package/dist/lib/generic/dynamic-chart.d.ts +33 -0
  12. package/dist/lib/generic/dynamic-chart.js +252 -0
  13. package/dist/lib/generic/dynamic-grid.d.ts +25 -0
  14. package/dist/lib/generic/dynamic-grid.js +142 -0
  15. package/dist/lib/generic/dynamic-report.d.ts +38 -0
  16. package/dist/lib/generic/dynamic-report.js +405 -0
  17. package/dist/lib/header/header.component.d.ts.map +1 -1
  18. package/dist/lib/header/header.component.js +2 -1
  19. package/dist/lib/home-component/home.component.js +1 -1
  20. package/dist/lib/navigation/navigation.component.d.ts +1 -0
  21. package/dist/lib/navigation/navigation.component.d.ts.map +1 -1
  22. package/dist/lib/navigation/navigation.component.js +22 -0
  23. package/dist/lib/settings/settings.component.js +1 -1
  24. package/dist/lib/single-search-result/single-search-result.component.js +1 -1
  25. package/dist/lib/user-notifications/user-notifications.component.js +1 -1
  26. package/dist/module.d.ts +47 -45
  27. package/dist/module.d.ts.map +1 -1
  28. package/dist/module.js +43 -37
  29. package/dist/public-api.d.ts +1 -0
  30. package/dist/public-api.d.ts.map +1 -1
  31. package/dist/public-api.js +1 -0
  32. package/dist/shared/shared.service.d.ts +94 -0
  33. package/dist/shared/shared.service.js +324 -0
  34. package/dist/shared/urlPipe.d.ts +7 -0
  35. package/dist/shared/urlPipe.js +16 -0
  36. package/package.json +53 -53
@@ -0,0 +1,12 @@
1
+ import { DynamicReportComponent } from '../generic/dynamic-report';
2
+ import { SkipData } from './ask-skip.component';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SkipDynamicReportComponent {
5
+ theReport: DynamicReportComponent;
6
+ SkipData: SkipData | undefined;
7
+ ConversationID: number | null;
8
+ ConversationName: string | null;
9
+ ConversationDetailID: number | null;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkipDynamicReportComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkipDynamicReportComponent, "app-skip-dynamic-report", never, { "SkipData": { "alias": "SkipData"; "required": false; }; "ConversationID": { "alias": "ConversationID"; "required": false; }; "ConversationName": { "alias": "ConversationName"; "required": false; }; "ConversationDetailID": { "alias": "ConversationDetailID"; "required": false; }; }, {}, never, never, false, never>;
12
+ }
@@ -0,0 +1,50 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const _c0 = ["theReport"];
4
+ export class SkipDynamicReportComponent {
5
+ constructor() {
6
+ this.ConversationID = null;
7
+ this.ConversationName = null;
8
+ this.ConversationDetailID = null;
9
+ }
10
+ }
11
+ SkipDynamicReportComponent.ɵfac = function SkipDynamicReportComponent_Factory(t) { return new (t || SkipDynamicReportComponent)(); };
12
+ SkipDynamicReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipDynamicReportComponent, selectors: [["app-skip-dynamic-report"]], viewQuery: function SkipDynamicReportComponent_Query(rf, ctx) { if (rf & 1) {
13
+ i0.ɵɵviewQuery(_c0, 5);
14
+ } if (rf & 2) {
15
+ let _t;
16
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.theReport = _t.first);
17
+ } }, inputs: { SkipData: "SkipData", ConversationID: "ConversationID", ConversationName: "ConversationName", ConversationDetailID: "ConversationDetailID" }, decls: 3, vars: 5, consts: [[1, "skip-dynamic-report-container"], [3, "SkipData", "ConversationID", "ConversationName", "ConversationDetailID", "ShowCreateReportButton"], ["theReport", ""]], template: function SkipDynamicReportComponent_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "div", 0);
19
+ i0.ɵɵelement(1, "app-dynamic-report", 1, 2);
20
+ i0.ɵɵelementEnd();
21
+ } if (rf & 2) {
22
+ i0.ɵɵadvance();
23
+ i0.ɵɵproperty("SkipData", ctx.SkipData)("ConversationID", ctx.ConversationID)("ConversationName", ctx.ConversationName)("ConversationDetailID", ctx.ConversationDetailID)("ShowCreateReportButton", true);
24
+ } }, styles: [".report-tab-title[_ngcontent-%COMP%] { margin-left: 10px;}", ".skip-dynamic-report-container[_ngcontent-%COMP%] {\n display: block;\n height: 450px;\n width: 90%;\n margin-right: 20px;\n }"] });
25
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SkipDynamicReportComponent, [{
26
+ type: Component,
27
+ args: [{ selector: 'app-skip-dynamic-report', template: `
28
+ <div class='skip-dynamic-report-container'>
29
+ <app-dynamic-report #theReport
30
+ [SkipData]="SkipData"
31
+ [ConversationID]="ConversationID"
32
+ [ConversationName]="ConversationName"
33
+ [ConversationDetailID]="ConversationDetailID"
34
+ [ShowCreateReportButton]="true"
35
+ ></app-dynamic-report>
36
+ </div>
37
+ `, styles: [".report-tab-title { margin-left: 10px;}", ".skip-dynamic-report-container {\n display: block;\n height: 450px;\n width: 90%;\n margin-right: 20px;\n }"] }]
38
+ }], null, { theReport: [{
39
+ type: ViewChild,
40
+ args: ['theReport', { static: false }]
41
+ }], SkipData: [{
42
+ type: Input
43
+ }], ConversationID: [{
44
+ type: Input
45
+ }], ConversationName: [{
46
+ type: Input
47
+ }], ConversationDetailID: [{
48
+ type: Input
49
+ }] }); })();
50
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipDynamicReportComponent, { className: "SkipDynamicReportComponent", filePath: "src\\lib\\ask-skip\\skip-dynamic-report-wrapper.ts", lineNumber: 28 }); })();
@@ -109,6 +109,6 @@ FavoritesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Favorite
109
109
  } }, dependencies: [i2.ItemTemplateDirective, i2.HeaderTemplateDirective, i2.ListViewComponent], styles: [".favorites-list[_ngcontent-%COMP%] {\r\n width: 400px;\r\n}", ".main-area[_ngcontent-%COMP%] {\r\n display: flex;\r\n height: 100%;\r\n width: 100%;\r\n gap: 24px;\r\n padding: 24px 0;\r\n}\r\n.list-view[_ngcontent-%COMP%] {\r\n padding: 16px;\r\n min-width: 300px;\r\n border-radius: 4px;\r\n background: #FAFAFA;\r\n border: none;\r\n}\r\n .list-view .k-listview-header, .list-view .k-listview-footer {\r\n border: none;\r\n}\r\n .list-view .k-listview-content {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 4px;\r\n background: #fff;\r\n padding: 16px;\r\n}\r\n\r\n.header[_ngcontent-%COMP%], .footer[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 16px;\r\n height: auto;\r\n margin:0;\r\n}\r\n\r\n.header[_ngcontent-%COMP%] {\r\n color: #424242;\r\n margin-bottom: 16px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n.header[_ngcontent-%COMP%] .head-tag[_ngcontent-%COMP%] {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\nfont-size: 16px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 20px;\r\n}\r\n\r\n.header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] {\r\n width: 24px;\r\n height: 24px;\r\n min-width: 24px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 10px;\r\n background: rgba(0, 0, 0, 0.08);\r\n border-radius: 50%;\r\n}\r\n.footer[_ngcontent-%COMP%] {\r\n font-size: 14px;\r\n margin-top: 16px;\r\n}\r\n\r\n.list-item[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 30px;\r\n cursor: pointer;\r\n margin: 4px;\r\n}\r\n.card-container[_ngcontent-%COMP%] {\r\n margin: 0;\r\n padding: 0;\r\n box-shadow: none;\r\n}\r\n.card-header-entity[_ngcontent-%COMP%] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n}\r\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n }\r\n .card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n .card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n }\r\n\r\n \r\n\r\n\r\n \r\n .view-card[_ngcontent-%COMP%] .view-icon[_ngcontent-%COMP%] {\r\n color: #ff6358;\r\n }\r\n .card-wrapper[_ngcontent-%COMP%] {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 6px;\r\n }\r\n .card-wrapper[_ngcontent-%COMP%] .k-card-body[_ngcontent-%COMP%] {\r\n background: #fff;\r\n padding: 12px 20px;\r\n }\r\n .card-wrapper[_ngcontent-%COMP%] .view-card[_ngcontent-%COMP%] {\r\n overflow: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n background: #fafafa;\r\n padding: 4px 15px;\r\n }\r\n .view-card[_ngcontent-%COMP%] .btn-wrapper[_ngcontent-%COMP%] {\r\n display: flex;\r\n align-items: center;\r\n }\r\n \r\n .k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 16px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n margin-bottom: 0;\r\n letter-spacing: 0.18px;\r\n }\r\n .k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\r\n color: #666;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n height: 48px;\r\n margin-bottom: 0;\r\n }\r\n .card-container[_ngcontent-%COMP%] {\r\n padding: 0;\r\n margin: 0;\r\n box-shadow: none;\r\n }\r\n .card-header-entity[_ngcontent-%COMP%] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n }\r\n \r\n .card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n }\r\n .card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n .card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n }\r\n .main-area[_ngcontent-%COMP%] .card-list[_ngcontent-%COMP%] {\r\n display: flex;\r\n gap: 20px;\r\n }"] });
110
110
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FavoritesComponent, [{
111
111
  type: Component,
112
- args: [{ selector: 'app-favorites', template: "<kendo-listview\r\n [data]=\"favorites\"\r\n class=\"list-view\"\r\n>\r\n <ng-container class=\"entity-wrap\">\r\n <ng-template kendoListViewHeaderTemplate>\r\n <div class=\"header\"> \r\n <div class=\"head-tag\">\r\n <span class=\"k-icon k-i-clock\"></span>\r\n Favorites\r\n </div>\r\n <div class=\"count\">{{favorites.length}}</div>\r\n </div>\r\n </ng-template>\r\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\r\n <div class=\"list-item\" (click)=\"favoriteItemClick(dataItem)\">\r\n <b>{{dataItem.Entity}}</b>: {{favoriteItemDisplayName(dataItem)}}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</kendo-listview>\r\n", styles: [".favorites-list {\r\n width: 400px;\r\n}", "\r\n.main-area {\r\n display: flex;\r\n height: 100%;\r\n width: 100%;\r\n gap: 24px;\r\n padding: 24px 0;\r\n}\r\n.list-view {\r\n padding: 16px;\r\n min-width: 300px;\r\n border-radius: 4px;\r\n background: #FAFAFA;\r\n border: none;\r\n}\r\n::ng-deep .list-view .k-listview-header, \r\n::ng-deep .list-view .k-listview-footer {\r\n border: none;\r\n}\r\n::ng-deep .list-view .k-listview-content {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 4px;\r\n background: #fff;\r\n padding: 16px;\r\n}\r\n\r\n.header,\r\n.footer {\r\n color: #424242;\r\n font-size: 16px;\r\n height: auto;\r\n margin:0;\r\n}\r\n\r\n.header {\r\n color: #424242;\r\n margin-bottom: 16px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n.header .head-tag {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\nfont-size: 16px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 20px;\r\n}\r\n\r\n.header .count {\r\n width: 24px;\r\n height: 24px;\r\n min-width: 24px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 10px;\r\n background: rgba(0, 0, 0, 0.08);\r\n border-radius: 50%;\r\n}\r\n.footer {\r\n font-size: 14px;\r\n margin-top: 16px;\r\n}\r\n\r\n.list-item {\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 30px;\r\n cursor: pointer;\r\n margin: 4px;\r\n}\r\n.card-container {\r\n margin: 0;\r\n padding: 0;\r\n box-shadow: none;\r\n}\r\n.card-header-entity {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n}\r\n.card-header-entity .title-wrap h1 {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n }\r\n .card-header-entity .title-wrap {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n .card-header-entity .title-wrap p {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n }\r\n\r\n \r\n\r\n\r\n \r\n .view-card .view-icon {\r\n color: #ff6358;\r\n }\r\n .card-wrapper {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 6px;\r\n }\r\n .card-wrapper .k-card-body {\r\n background: #fff;\r\n padding: 12px 20px;\r\n }\r\n .card-wrapper .view-card {\r\n overflow: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n background: #fafafa;\r\n padding: 4px 15px;\r\n }\r\n .view-card .btn-wrapper {\r\n display: flex;\r\n align-items: center;\r\n }\r\n \r\n .k-card-body .view-card-content h5 {\r\n color: #424242;\r\n font-size: 16px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n margin-bottom: 0;\r\n letter-spacing: 0.18px;\r\n }\r\n .k-card-body .view-card-content p {\r\n color: #666;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n height: 48px;\r\n margin-bottom: 0;\r\n }\r\n .card-container {\r\n padding: 0;\r\n margin: 0;\r\n box-shadow: none;\r\n }\r\n .card-header-entity {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n }\r\n \r\n .card-header-entity .title-wrap h1 {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n }\r\n .card-header-entity .title-wrap {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n .card-header-entity .title-wrap p {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n }\r\n .main-area .card-list {\r\n display: flex;\r\n gap: 20px;\r\n }\r\n "] }]
112
+ args: [{ selector: 'app-favorites', template: "<kendo-listview\n [data]=\"favorites\"\n class=\"list-view\"\n>\n <ng-container class=\"entity-wrap\">\n <ng-template kendoListViewHeaderTemplate>\n <div class=\"header\"> \n <div class=\"head-tag\">\n <span class=\"k-icon k-i-clock\"></span>\n Favorites\n </div>\n <div class=\"count\">{{favorites.length}}</div>\n </div>\n </ng-template>\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\n <div class=\"list-item\" (click)=\"favoriteItemClick(dataItem)\">\n <b>{{dataItem.Entity}}</b>: {{favoriteItemDisplayName(dataItem)}}\n </div>\n </ng-template>\n </ng-container>\n</kendo-listview>\n", styles: [".favorites-list {\r\n width: 400px;\r\n}", "\r\n.main-area {\r\n display: flex;\r\n height: 100%;\r\n width: 100%;\r\n gap: 24px;\r\n padding: 24px 0;\r\n}\r\n.list-view {\r\n padding: 16px;\r\n min-width: 300px;\r\n border-radius: 4px;\r\n background: #FAFAFA;\r\n border: none;\r\n}\r\n::ng-deep .list-view .k-listview-header, \r\n::ng-deep .list-view .k-listview-footer {\r\n border: none;\r\n}\r\n::ng-deep .list-view .k-listview-content {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 4px;\r\n background: #fff;\r\n padding: 16px;\r\n}\r\n\r\n.header,\r\n.footer {\r\n color: #424242;\r\n font-size: 16px;\r\n height: auto;\r\n margin:0;\r\n}\r\n\r\n.header {\r\n color: #424242;\r\n margin-bottom: 16px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n.header .head-tag {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\nfont-size: 16px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 20px;\r\n}\r\n\r\n.header .count {\r\n width: 24px;\r\n height: 24px;\r\n min-width: 24px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 10px;\r\n background: rgba(0, 0, 0, 0.08);\r\n border-radius: 50%;\r\n}\r\n.footer {\r\n font-size: 14px;\r\n margin-top: 16px;\r\n}\r\n\r\n.list-item {\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 30px;\r\n cursor: pointer;\r\n margin: 4px;\r\n}\r\n.card-container {\r\n margin: 0;\r\n padding: 0;\r\n box-shadow: none;\r\n}\r\n.card-header-entity {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n}\r\n.card-header-entity .title-wrap h1 {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n }\r\n .card-header-entity .title-wrap {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n .card-header-entity .title-wrap p {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n }\r\n\r\n \r\n\r\n\r\n \r\n .view-card .view-icon {\r\n color: #ff6358;\r\n }\r\n .card-wrapper {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 6px;\r\n }\r\n .card-wrapper .k-card-body {\r\n background: #fff;\r\n padding: 12px 20px;\r\n }\r\n .card-wrapper .view-card {\r\n overflow: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n background: #fafafa;\r\n padding: 4px 15px;\r\n }\r\n .view-card .btn-wrapper {\r\n display: flex;\r\n align-items: center;\r\n }\r\n \r\n .k-card-body .view-card-content h5 {\r\n color: #424242;\r\n font-size: 16px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n margin-bottom: 0;\r\n letter-spacing: 0.18px;\r\n }\r\n .k-card-body .view-card-content p {\r\n color: #666;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n height: 48px;\r\n margin-bottom: 0;\r\n }\r\n .card-container {\r\n padding: 0;\r\n margin: 0;\r\n box-shadow: none;\r\n }\r\n .card-header-entity {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n }\r\n \r\n .card-header-entity .title-wrap h1 {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n }\r\n .card-header-entity .title-wrap {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n .card-header-entity .title-wrap p {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n }\r\n .main-area .card-list {\r\n display: flex;\r\n gap: 20px;\r\n }\r\n "] }]
113
113
  }], () => [{ type: i1.Router }], null); })();
114
114
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FavoritesComponent, { className: "FavoritesComponent", filePath: "src\\lib\\favorites\\favorites.component.ts", lineNumber: 11 }); })();
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class FilesComponent {
3
+ currentItem: 'EntityPermissions' | 'Users' | 'Roles';
4
+ selectItem(item: 'EntityPermissions' | 'Users' | 'Roles'): void;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilesComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilesComponent, "app-files", never, {}, {}, never, never, false, never>;
7
+ }
8
+ //# sourceMappingURL=files.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.component.d.ts","sourceRoot":"","sources":["../../../src/lib/files/files.component.ts"],"names":[],"mappings":";AAEA,qBAKa,cAAc;IAClB,WAAW,EAAE,mBAAmB,GAAG,OAAO,GAAG,OAAO,CAAuB;IAE3E,UAAU,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,GAAG,OAAO;yCAHpD,cAAc;2CAAd,cAAc;CAM1B"}
@@ -0,0 +1,22 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@memberjunction/ng-file-storage";
4
+ export class FilesComponent {
5
+ constructor() {
6
+ this.currentItem = 'EntityPermissions';
7
+ }
8
+ selectItem(item) {
9
+ this.currentItem = item;
10
+ }
11
+ }
12
+ FilesComponent.ɵfac = function FilesComponent_Factory(t) { return new (t || FilesComponent)(); };
13
+ FilesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FilesComponent, selectors: [["app-files"]], decls: 3, vars: 0, consts: [[1, "container"]], template: function FilesComponent_Template(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵelementStart(0, "div", 0);
15
+ i0.ɵɵelement(1, "mj-files-category-tree")(2, "mj-files-grid");
16
+ i0.ɵɵelementEnd();
17
+ } }, dependencies: [i1.CategoryTreeComponent, i1.FilesGridComponent], styles: [".container[_ngcontent-%COMP%] {\r\n display: flex;\r\n }"] });
18
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FilesComponent, [{
19
+ type: Component,
20
+ args: [{ selector: 'app-files', template: "<div class=\"container\">\r\n <mj-files-category-tree></mj-files-category-tree>\r\n <mj-files-grid></mj-files-grid>\r\n</div>\r\n", styles: [" .container {\r\n display: flex;\r\n } "] }]
21
+ }], null, null); })();
22
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FilesComponent, { className: "FilesComponent", filePath: "src\\lib\\files\\files.component.ts", lineNumber: 8 }); })();
@@ -0,0 +1,34 @@
1
+ import { BaseEntity } from "@memberjunction/core";
2
+ export declare abstract class BaseResourceComponent {
3
+ Data: ResourceData;
4
+ private _loadComplete;
5
+ get LoadComplete(): boolean;
6
+ private _loadStarted;
7
+ get LoadStarted(): boolean;
8
+ private _loadCompleteEvent;
9
+ get LoadCompleteEvent(): any;
10
+ set LoadCompleteEvent(value: any);
11
+ private _loadStartedEvent;
12
+ get LoadStartedEvent(): any;
13
+ set LoadStartedEvent(value: any);
14
+ private _resourceRecordSavedEvent;
15
+ get ResourceRecordSavedEvent(): any;
16
+ set ResourceRecordSavedEvent(value: any);
17
+ protected NotifyLoadComplete(): void;
18
+ protected NotifyLoadStarted(): void;
19
+ protected ResourceRecordSaved(resourceRecordEntity: BaseEntity): void;
20
+ abstract GetResourceDisplayName(data: ResourceData): Promise<string>;
21
+ }
22
+ export declare class ResourceData {
23
+ constructor(data?: any);
24
+ ID: number;
25
+ Name: string;
26
+ ResourceTypeID: number;
27
+ ResourceRecordID: any;
28
+ Configuration: any;
29
+ /**
30
+ * Returns the name of the resource type based on the ResourceTypeID
31
+ */
32
+ get ResourceType(): string;
33
+ get ResourceIcon(): string;
34
+ }
@@ -0,0 +1,75 @@
1
+ import { SharedService } from "../../shared/shared.service";
2
+ export class BaseResourceComponent {
3
+ constructor() {
4
+ this.Data = new ResourceData();
5
+ this._loadComplete = false;
6
+ this._loadStarted = false;
7
+ this._loadCompleteEvent = null;
8
+ this._loadStartedEvent = null;
9
+ this._resourceRecordSavedEvent = null;
10
+ }
11
+ get LoadComplete() {
12
+ return this._loadComplete;
13
+ }
14
+ get LoadStarted() {
15
+ return this._loadStarted;
16
+ }
17
+ get LoadCompleteEvent() {
18
+ return this._loadCompleteEvent;
19
+ }
20
+ set LoadCompleteEvent(value) {
21
+ this._loadCompleteEvent = value;
22
+ }
23
+ get LoadStartedEvent() {
24
+ return this._loadStartedEvent;
25
+ }
26
+ set LoadStartedEvent(value) {
27
+ this._loadStartedEvent = value;
28
+ }
29
+ get ResourceRecordSavedEvent() {
30
+ return this._resourceRecordSavedEvent;
31
+ }
32
+ set ResourceRecordSavedEvent(value) {
33
+ this._resourceRecordSavedEvent = value;
34
+ }
35
+ NotifyLoadComplete() {
36
+ this._loadComplete = true;
37
+ if (this._loadCompleteEvent) {
38
+ this._loadCompleteEvent();
39
+ }
40
+ }
41
+ NotifyLoadStarted() {
42
+ this._loadStarted = true;
43
+ if (this._loadStartedEvent) {
44
+ this._loadStartedEvent();
45
+ }
46
+ }
47
+ ResourceRecordSaved(resourceRecordEntity) {
48
+ this.Data.ResourceRecordID = resourceRecordEntity.PrimaryKey.Value;
49
+ if (this._resourceRecordSavedEvent) {
50
+ this._resourceRecordSavedEvent(resourceRecordEntity);
51
+ }
52
+ }
53
+ }
54
+ export class ResourceData {
55
+ constructor(data = null) {
56
+ if (data) {
57
+ this.ID = data.ID;
58
+ this.Name = data.Name;
59
+ this.ResourceTypeID = data.ResourceTypeID;
60
+ this.ResourceRecordID = data.ResourceRecordID;
61
+ this.Configuration = data.Configuration;
62
+ }
63
+ }
64
+ /**
65
+ * Returns the name of the resource type based on the ResourceTypeID
66
+ */
67
+ get ResourceType() {
68
+ const rt = SharedService.Instance.ResourceTypes.find(rt => rt.ID === this.ResourceTypeID);
69
+ return rt ? rt.Name : '';
70
+ }
71
+ get ResourceIcon() {
72
+ const rt = SharedService.Instance.ResourceTypes.find(rt => rt.ID === this.ResourceTypeID);
73
+ return rt ? rt.Icon : '';
74
+ }
75
+ }
@@ -0,0 +1,33 @@
1
+ import { SeriesType, CategoryAxisTitle } from '@progress/kendo-angular-charts';
2
+ import { SkipColumnInfo, SkipData } from '../ask-skip/ask-skip.component';
3
+ import { SeriesClickEvent } from '@progress/kendo-angular-charts';
4
+ import * as i0 from "@angular/core";
5
+ export declare class DynamicChartComponent {
6
+ private _data;
7
+ get data(): any[];
8
+ set data(value: any[]);
9
+ chartTitle: string;
10
+ chartType: string;
11
+ xAxis: string | string[] | null;
12
+ yAxis: string | string[] | null;
13
+ xLabel: string;
14
+ yLabel: string;
15
+ columns: SkipColumnInfo[];
16
+ private _skipData;
17
+ get SkipData(): SkipData | undefined;
18
+ set SkipData(d: SkipData | undefined);
19
+ get kendoSeriesType(): SeriesType;
20
+ private _axes;
21
+ get chartCategoryAxes(): {
22
+ categories: string[];
23
+ title: CategoryAxisTitle;
24
+ }[];
25
+ protected convertAxisToArray(axis: string | string[] | null): string[];
26
+ private _series;
27
+ get chartSeries(): any[];
28
+ private colors;
29
+ getSeriesColor(item: any): string;
30
+ onChartSeriesClick(e: SeriesClickEvent): void;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<DynamicChartComponent, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicChartComponent, "app-dynamic-chart", never, { "data": { "alias": "data"; "required": false; }; "chartTitle": { "alias": "chartTitle"; "required": false; }; "chartType": { "alias": "chartType"; "required": false; }; "xAxis": { "alias": "xAxis"; "required": false; }; "yAxis": { "alias": "yAxis"; "required": false; }; "xLabel": { "alias": "xLabel"; "required": false; }; "yLabel": { "alias": "yLabel"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "SkipData": { "alias": "SkipData"; "required": false; }; }, {}, never, never, false, never>;
33
+ }
@@ -0,0 +1,252 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { EntityFieldTSType, LogError, LogStatus, Metadata } from '@memberjunction/core';
3
+ import { MJEventType, MJGlobal } from '@memberjunction/global';
4
+ import { EventCodes, SharedService } from '../../shared/shared.service';
5
+ import { ResourceData } from './base-resource-component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@progress/kendo-angular-charts";
9
+ import * as i3 from "@memberjunction/ng-container-directives";
10
+ function DynamicChartComponent_kendo_chart_category_axis_item_3_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵelement(0, "kendo-chart-category-axis-item", 4);
12
+ } if (rf & 2) {
13
+ const axis_r2 = ctx.$implicit;
14
+ i0.ɵɵproperty("title", axis_r2.title)("categories", axis_r2.categories);
15
+ } }
16
+ function DynamicChartComponent_kendo_chart_series_item_5_Template(rf, ctx) { if (rf & 1) {
17
+ i0.ɵɵelement(0, "kendo-chart-series-item", 5);
18
+ } if (rf & 2) {
19
+ const item_r3 = ctx.$implicit;
20
+ const ctx_r1 = i0.ɵɵnextContext();
21
+ i0.ɵɵproperty("color", ctx_r1.getSeriesColor(item_r3))("type", ctx_r1.kendoSeriesType)("data", item_r3.data)("name", item_r3.name);
22
+ } }
23
+ export class DynamicChartComponent {
24
+ constructor() {
25
+ this._data = [];
26
+ this.chartTitle = 'Chart Title';
27
+ this.chartType = 'column';
28
+ this.xAxis = null;
29
+ this.yAxis = null;
30
+ this.xLabel = '';
31
+ this.yLabel = '';
32
+ this.columns = [];
33
+ this._axes = [];
34
+ this._series = [];
35
+ // simple default colors
36
+ this.colors = [
37
+ '#e6194b', '#3cb44b', '#ffe119', '#4363d8', '#f58231', '#911eb4', '#46f0f0', '#f032e6', '#bcf60c', '#fabebe',
38
+ '#008080', '#e6beff', '#9a6324', '#fffac8', '#800000', '#aaffc3', '#808000', '#ffd8b1', '#000075', '#808080',
39
+ '#000000', '#7cb9e8', '#c9ffe5', '#b284be', '#5d8aa8', '#00308f', '#72a0c1', '#e32636', '#c46210', '#efdecd'
40
+ ];
41
+ }
42
+ get data() {
43
+ return this._data;
44
+ }
45
+ set data(value) {
46
+ // reset the series and axes when the data changes
47
+ this._series = [];
48
+ this._axes = [];
49
+ this._data = value;
50
+ }
51
+ get SkipData() {
52
+ return this._skipData ? this._skipData : undefined;
53
+ }
54
+ set SkipData(d) {
55
+ this._skipData = d;
56
+ if (d) {
57
+ this.data = d.SQLResults.results;
58
+ this.columns = d.SQLResults.columns;
59
+ this.xAxis = d.ChartOptions.xAxis;
60
+ this.xLabel = d.ChartOptions.xLabel;
61
+ this.yLabel = d.ChartOptions.yLabel;
62
+ this.yAxis = d.ChartOptions.yAxis;
63
+ this.chartType = d.DisplayType;
64
+ this.chartTitle = d.ReportTitle;
65
+ }
66
+ }
67
+ get kendoSeriesType() {
68
+ return this.chartType;
69
+ }
70
+ get chartCategoryAxes() {
71
+ if (this._axes.length === 0) {
72
+ const result = [];
73
+ if (this.xAxis) {
74
+ const xArray = this.convertAxisToArray(this.xAxis);
75
+ for (let i = 0; i < xArray.length; i++) {
76
+ const xItem = xArray[i];
77
+ if (xItem !== null && xItem !== undefined && xItem.length > 0)
78
+ result.push({
79
+ categories: this.data.map(x => x[xItem]),
80
+ title: { text: this.xLabel }
81
+ });
82
+ }
83
+ }
84
+ this._axes = result;
85
+ return result;
86
+ }
87
+ else {
88
+ return this._axes;
89
+ }
90
+ }
91
+ convertAxisToArray(axis) {
92
+ if (Array.isArray(axis)) {
93
+ return axis;
94
+ }
95
+ else if (axis !== null && axis !== undefined && axis.length > 0) {
96
+ if (!axis.includes(',')) {
97
+ return [axis];
98
+ }
99
+ else
100
+ return axis.split(',');
101
+ }
102
+ else
103
+ return [];
104
+ }
105
+ get chartSeries() {
106
+ var _a;
107
+ if (this._series.length === 0) {
108
+ const result = [];
109
+ if (this.yAxis) {
110
+ const yArray = this.convertAxisToArray(this.yAxis);
111
+ for (let i = 0; i < yArray.length; i++) {
112
+ const yItem = yArray[i];
113
+ if (yItem !== null && yItem !== undefined && yItem.length > 0) {
114
+ const colDisplayName = ((_a = this.columns.find(col => col.FieldName === yItem)) === null || _a === void 0 ? void 0 : _a.DisplayName) || yItem;
115
+ result.push({ data: this.data.map(x => x[yItem]), name: colDisplayName });
116
+ }
117
+ }
118
+ }
119
+ this._series = result;
120
+ return result;
121
+ }
122
+ else {
123
+ return this._series;
124
+ }
125
+ }
126
+ getSeriesColor(item) {
127
+ var _a;
128
+ try {
129
+ const c = (_a = this.SkipData) === null || _a === void 0 ? void 0 : _a.ChartOptions.color;
130
+ if (c && c.length > 0) {
131
+ // use the configured color since it was provided
132
+ return c;
133
+ }
134
+ else {
135
+ const index = this.chartSeries.indexOf(item);
136
+ return this.colors[index % this.colors.length];
137
+ }
138
+ }
139
+ catch (ex) {
140
+ LogError(ex);
141
+ return '#000000';
142
+ }
143
+ }
144
+ onChartSeriesClick(e) {
145
+ var _a, _b;
146
+ try {
147
+ const drillDownValue = e.category; // contains the category for the clicked series item
148
+ const ddBaseViewField = (_a = this.SkipData) === null || _a === void 0 ? void 0 : _a.DrillDownBaseViewField;
149
+ const ddV = (_b = this.SkipData) === null || _b === void 0 ? void 0 : _b.DrillDownView;
150
+ if (ddBaseViewField && ddV && ddBaseViewField.length > 0 && ddV.length > 0 && drillDownValue && drillDownValue.length > 0) {
151
+ // we have a valid situation to drill down where we have the configuration and we have a drill down value.
152
+ const md = new Metadata();
153
+ const e = md.Entities.find(x => x.BaseView.trim().toLowerCase() === ddV.trim().toLowerCase());
154
+ if (e) {
155
+ // we have a valid entity for the drill down view
156
+ // now that we've validated all of this, we can navigate to the drill down view
157
+ // which is simply a dynamic view for a given entity with a filter applied
158
+ const rd = new ResourceData();
159
+ const ef = e.Fields.find(ef => ef.Name.trim().toLowerCase() === ddBaseViewField.trim().toLowerCase());
160
+ // next, fix up the drill down value to wrap with quotes if we need if we are a string or date, and also if a string, escape any single quotes
161
+ let filterVal = drillDownValue;
162
+ if ((ef === null || ef === void 0 ? void 0 : ef.TSType) === EntityFieldTSType.String) {
163
+ filterVal = `'${filterVal.replace(/'/g, "''")}'`;
164
+ }
165
+ else if ((ef === null || ef === void 0 ? void 0 : ef.TSType) === EntityFieldTSType.Date) {
166
+ filterVal = `'${filterVal}'`;
167
+ }
168
+ rd.ResourceTypeID = SharedService.Instance.ViewResourceType.ID;
169
+ rd.ResourceRecordID = 0;
170
+ rd.Configuration = {
171
+ Entity: e.Name,
172
+ ExtraFilter: `${ddBaseViewField} = ${filterVal}`,
173
+ };
174
+ // now we've built up our ResourceData object, we can raise the event to navigate to the drill down view
175
+ LogStatus(`drilling down to ${ddV} with filter ${ddBaseViewField} = ${drillDownValue}`);
176
+ MJGlobal.Instance.RaiseEvent({
177
+ component: this,
178
+ event: MJEventType.ComponentEvent,
179
+ eventCode: EventCodes.ViewClicked,
180
+ args: rd
181
+ });
182
+ }
183
+ else
184
+ LogError(`Could not find entity for the specified DrillDownView: ${ddV}`);
185
+ }
186
+ }
187
+ catch (e) {
188
+ LogError(e);
189
+ }
190
+ }
191
+ }
192
+ DynamicChartComponent.ɵfac = function DynamicChartComponent_Factory(t) { return new (t || DynamicChartComponent)(); };
193
+ DynamicChartComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicChartComponent, selectors: [["app-dynamic-chart"]], inputs: { data: "data", chartTitle: "chartTitle", chartType: "chartType", xAxis: "xAxis", yAxis: "yAxis", xLabel: "xLabel", yLabel: "yLabel", columns: "columns", SkipData: "SkipData" }, decls: 6, vars: 3, consts: [["mjFillContainer", "", 3, "seriesClick"], [3, "text"], [3, "title", "categories", 4, "ngFor", "ngForOf"], [3, "color", "type", "data", "name", 4, "ngFor", "ngForOf"], [3, "title", "categories"], [3, "color", "type", "data", "name"]], template: function DynamicChartComponent_Template(rf, ctx) { if (rf & 1) {
194
+ i0.ɵɵelementStart(0, "kendo-chart", 0);
195
+ i0.ɵɵlistener("seriesClick", function DynamicChartComponent_Template_kendo_chart_seriesClick_0_listener($event) { return ctx.onChartSeriesClick($event); });
196
+ i0.ɵɵelement(1, "kendo-chart-title", 1);
197
+ i0.ɵɵelementStart(2, "kendo-chart-category-axis");
198
+ i0.ɵɵtemplate(3, DynamicChartComponent_kendo_chart_category_axis_item_3_Template, 1, 2, "kendo-chart-category-axis-item", 2);
199
+ i0.ɵɵelementEnd();
200
+ i0.ɵɵelementStart(4, "kendo-chart-series");
201
+ i0.ɵɵtemplate(5, DynamicChartComponent_kendo_chart_series_item_5_Template, 1, 4, "kendo-chart-series-item", 3);
202
+ i0.ɵɵelementEnd()();
203
+ } if (rf & 2) {
204
+ i0.ɵɵadvance();
205
+ i0.ɵɵproperty("text", ctx.chartTitle);
206
+ i0.ɵɵadvance(2);
207
+ i0.ɵɵproperty("ngForOf", ctx.chartCategoryAxes);
208
+ i0.ɵɵadvance(2);
209
+ i0.ɵɵproperty("ngForOf", ctx.chartSeries);
210
+ } }, dependencies: [i1.NgForOf, i2.ChartComponent, i2.CategoryAxisComponent, i2.CategoryAxisItemComponent, i2.SeriesComponent, i2.SeriesItemComponent, i2.TitleComponent, i3.FillContainer], encapsulation: 2 });
211
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicChartComponent, [{
212
+ type: Component,
213
+ args: [{
214
+ selector: 'app-dynamic-chart',
215
+ template: `
216
+ <kendo-chart mjFillContainer
217
+ (seriesClick)="onChartSeriesClick($event)"
218
+ >
219
+ <kendo-chart-title [text]="chartTitle"></kendo-chart-title>
220
+ <kendo-chart-category-axis>
221
+ <kendo-chart-category-axis-item *ngFor="let axis of chartCategoryAxes" [title]="axis.title" [categories]="axis.categories"></kendo-chart-category-axis-item>
222
+ </kendo-chart-category-axis>
223
+ <kendo-chart-series>
224
+ <kendo-chart-series-item *ngFor="let item of chartSeries"
225
+ [color]="getSeriesColor(item)"
226
+ [type]="kendoSeriesType"
227
+ [data]="item.data"
228
+ [name]="item.name"></kendo-chart-series-item>
229
+ </kendo-chart-series>
230
+ </kendo-chart>
231
+ `
232
+ }]
233
+ }], null, { data: [{
234
+ type: Input
235
+ }], chartTitle: [{
236
+ type: Input
237
+ }], chartType: [{
238
+ type: Input
239
+ }], xAxis: [{
240
+ type: Input
241
+ }], yAxis: [{
242
+ type: Input
243
+ }], xLabel: [{
244
+ type: Input
245
+ }], yLabel: [{
246
+ type: Input
247
+ }], columns: [{
248
+ type: Input
249
+ }], SkipData: [{
250
+ type: Input
251
+ }] }); })();
252
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DynamicChartComponent, { className: "DynamicChartComponent", filePath: "src\\lib\\generic\\dynamic-chart.ts", lineNumber: 30 }); })();
@@ -0,0 +1,25 @@
1
+ import { AfterViewInit } from '@angular/core';
2
+ import { SkipColumnInfo, SkipData } from '../ask-skip/ask-skip.component';
3
+ import { DecimalPipe, DatePipe } from '@angular/common';
4
+ import { GridDataResult, PageChangeEvent } from '@progress/kendo-angular-grid';
5
+ import * as i0 from "@angular/core";
6
+ export declare class DynamicGridComponent implements AfterViewInit {
7
+ private decimalPipe;
8
+ private datePipe;
9
+ data: any[];
10
+ columns: SkipColumnInfo[];
11
+ pageSize: number;
12
+ startingRow: number;
13
+ private _skipData;
14
+ get SkipData(): SkipData | undefined;
15
+ set SkipData(d: SkipData | undefined);
16
+ gridView: GridDataResult;
17
+ constructor(decimalPipe: DecimalPipe, datePipe: DatePipe);
18
+ formatData(dataType: string, data: any): any;
19
+ ngAfterViewInit(): void;
20
+ pageChange(event: PageChangeEvent): void;
21
+ private loadGridView;
22
+ cellClick(event: any): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<DynamicGridComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicGridComponent, "app-dynamic-grid", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "startingRow": { "alias": "startingRow"; "required": false; }; "SkipData": { "alias": "SkipData"; "required": false; }; }, {}, never, never, false, never>;
25
+ }