@memberjunction/ng-explorer-core 0.9.79 → 0.9.96

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 +117 -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 +55 -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 +55 -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 +22 -22
  86. package/dist/lib/single-report/single-report.component.js +88 -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 +591 -581
  97. package/dist/module.d.ts +69 -65
  98. package/dist/module.js +356 -338
  99. package/dist/public-api.d.ts +46 -47
  100. package/dist/public-api.js +49 -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 +23 -15
@@ -0,0 +1,16 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { QueryEntity } from '@memberjunction/core-entities';
3
+ import { QueryGridComponent } from '@memberjunction/ng-query-grid';
4
+ import * as i0 from "@angular/core";
5
+ export declare class SingleQueryComponent implements OnInit {
6
+ queryId: number;
7
+ loadComplete: EventEmitter<any>;
8
+ loadStarted: EventEmitter<any>;
9
+ theQuery: QueryGridComponent;
10
+ queryEntity: QueryEntity;
11
+ queryData: any[];
12
+ ngOnInit(): void;
13
+ doLoad(): Promise<void>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SingleQueryComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<SingleQueryComponent, "app-single-query", never, { "queryId": { "alias": "queryId"; "required": false; }; }, { "loadComplete": "loadComplete"; "loadStarted": "loadStarted"; }, never, never, false, never>;
16
+ }
@@ -0,0 +1,70 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
11
+ import { LogError, Metadata, RunQuery } from '@memberjunction/core';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@memberjunction/ng-container-directives";
14
+ import * as i2 from "@memberjunction/ng-query-grid";
15
+ const _c0 = ["theQuery"];
16
+ const _c1 = a0 => ({ QueryID: a0 });
17
+ export class SingleQueryComponent {
18
+ constructor() {
19
+ this.loadComplete = new EventEmitter();
20
+ this.loadStarted = new EventEmitter();
21
+ }
22
+ ngOnInit() {
23
+ this.doLoad();
24
+ }
25
+ doLoad() {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ try {
28
+ // get info on the report we are loading
29
+ this.loadStarted.emit();
30
+ const md = new Metadata();
31
+ this.queryEntity = yield md.GetEntityObject('Queries');
32
+ yield this.queryEntity.Load(this.queryId);
33
+ const runReport = new RunQuery();
34
+ const result = yield runReport.RunQuery({ QueryID: this.queryId });
35
+ if (result && result.Success && result.Results.length > 0) {
36
+ this.queryData = result.Results;
37
+ }
38
+ this.loadComplete.emit();
39
+ }
40
+ catch (err) {
41
+ LogError(err);
42
+ }
43
+ });
44
+ }
45
+ }
46
+ SingleQueryComponent.ɵfac = function SingleQueryComponent_Factory(t) { return new (t || SingleQueryComponent)(); };
47
+ SingleQueryComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SingleQueryComponent, selectors: [["app-single-query"]], viewQuery: function SingleQueryComponent_Query(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵviewQuery(_c0, 7);
49
+ } if (rf & 2) {
50
+ let _t;
51
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.theQuery = _t.first);
52
+ } }, inputs: { queryId: "queryId" }, outputs: { loadComplete: "loadComplete", loadStarted: "loadStarted" }, decls: 2, vars: 3, consts: [["mjFillContainer", "", 3, "Params"], ["theQuery", ""]], template: function SingleQueryComponent_Template(rf, ctx) { if (rf & 1) {
53
+ i0.ɵɵelement(0, "mj-query-grid", 0, 1);
54
+ } if (rf & 2) {
55
+ i0.ɵɵproperty("Params", i0.ɵɵpureFunction1(1, _c1, ctx.queryId));
56
+ } }, dependencies: [i1.FillContainer, i2.QueryGridComponent] });
57
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SingleQueryComponent, [{
58
+ type: Component,
59
+ args: [{ selector: 'app-single-query', template: "<mj-query-grid mjFillContainer #theQuery [Params]=\"{QueryID: queryId}\" ></mj-query-grid>" }]
60
+ }], null, { queryId: [{
61
+ type: Input
62
+ }], loadComplete: [{
63
+ type: Output
64
+ }], loadStarted: [{
65
+ type: Output
66
+ }], theQuery: [{
67
+ type: ViewChild,
68
+ args: ['theQuery', { static: true }]
69
+ }] }); })();
70
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SingleQueryComponent, { className: "SingleQueryComponent", filePath: "src\\lib\\single-query\\single-query.component.ts", lineNumber: 11 }); })();
@@ -1,21 +1,21 @@
1
- import { AfterViewInit, EventEmitter, OnInit } from '@angular/core';
2
- import { ActivatedRoute } from '@angular/router';
3
- import { PrimaryKeyValue } from '@memberjunction/core';
4
- import { Container } from '@memberjunction/ng-container-directives';
5
- import * as i0 from "@angular/core";
6
- export declare class SingleRecordComponent implements OnInit, AfterViewInit {
7
- private route;
8
- formContainer: Container;
9
- primaryKeyValues: PrimaryKeyValue[];
10
- entityName: string | null;
11
- loadComplete: EventEmitter<any>;
12
- constructor(route: ActivatedRoute);
13
- appDescription: string;
14
- useGenericForm: boolean;
15
- loading: boolean;
16
- ngOnInit(): void;
17
- ngAfterViewInit(): void;
18
- LoadForm(primaryKeyValues: PrimaryKeyValue[], entityName: string): Promise<void>;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<SingleRecordComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<SingleRecordComponent, "app-single-record", never, { "primaryKeyValues": "primaryKeyValues"; "entityName": "entityName"; }, { "loadComplete": "loadComplete"; }, never, never, false, never>;
21
- }
1
+ import { AfterViewInit, EventEmitter, OnInit } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import { PrimaryKeyValue } from '@memberjunction/core';
4
+ import { Container } from '@memberjunction/ng-container-directives';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SingleRecordComponent implements OnInit, AfterViewInit {
7
+ private route;
8
+ formContainer: Container;
9
+ primaryKeyValues: PrimaryKeyValue[];
10
+ entityName: string | null;
11
+ loadComplete: EventEmitter<any>;
12
+ constructor(route: ActivatedRoute);
13
+ appDescription: string;
14
+ useGenericForm: boolean;
15
+ loading: boolean;
16
+ ngOnInit(): void;
17
+ ngAfterViewInit(): void;
18
+ LoadForm(primaryKeyValues: PrimaryKeyValue[], entityName: string): Promise<void>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<SingleRecordComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<SingleRecordComponent, "app-single-record", never, { "primaryKeyValues": { "alias": "primaryKeyValues"; "required": false; }; "entityName": { "alias": "entityName"; "required": false; }; }, { "loadComplete": "loadComplete"; }, never, never, false, never>;
21
+ }
@@ -1,95 +1,95 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
11
- import { Metadata } from '@memberjunction/core';
12
- import { MJGlobal } from '@memberjunction/global';
13
- import { Container } from '@memberjunction/ng-container-directives';
14
- import { BaseFormComponent } from '../generic/base-form-component';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@angular/router";
17
- import * as i2 from "@angular/common";
18
- import * as i3 from "@progress/kendo-angular-indicators";
19
- import * as i4 from "@memberjunction/ng-container-directives";
20
- function SingleRecordComponent_kendo_loader_0_Template(rf, ctx) { if (rf & 1) {
21
- i0.ɵɵelement(0, "kendo-loader", 2);
22
- } }
23
- function SingleRecordComponent_ng_template_1_Template(rf, ctx) { }
24
- export class SingleRecordComponent {
25
- constructor(route) {
26
- this.route = route;
27
- this.primaryKeyValues = [];
28
- this.entityName = '';
29
- this.loadComplete = new EventEmitter();
30
- this.appDescription = '';
31
- this.useGenericForm = false;
32
- this.loading = true;
33
- }
34
- ngOnInit() {
35
- }
36
- ngAfterViewInit() {
37
- this.LoadForm(this.primaryKeyValues, this.entityName);
38
- }
39
- LoadForm(primaryKeyValues, entityName) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- // Perform any necessary actions with the ViewID, such as fetching data
42
- if (primaryKeyValues && entityName) {
43
- this.entityName = entityName;
44
- this.primaryKeyValues = primaryKeyValues;
45
- const formReg = MJGlobal.Instance.ClassFactory.GetRegistration(BaseFormComponent, entityName);
46
- const md = new Metadata();
47
- const entity = md.Entities.find(e => {
48
- return e.Name === entityName;
49
- });
50
- const permissions = entity === null || entity === void 0 ? void 0 : entity.GetUserPermisions(md.CurrentUser);
51
- if (formReg) {
52
- const record = yield md.GetEntityObject(entityName);
53
- if (record) {
54
- yield record.InnerLoad(primaryKeyValues);
55
- const viewContainerRef = this.formContainer.viewContainerRef;
56
- viewContainerRef.clear();
57
- const componentRef = viewContainerRef.createComponent(formReg.SubClass);
58
- componentRef.instance.record = record;
59
- componentRef.instance.userPermissions = permissions;
60
- this.useGenericForm = false;
61
- this.loadComplete.emit();
62
- }
63
- else
64
- throw new Error(`Unable to load entity ${entityName} with primary key values: ${primaryKeyValues.map(p => p.FieldName + ': ' + p.Value).join(', ')}`);
65
- }
66
- this.loading = false;
67
- }
68
- });
69
- }
70
- }
71
- SingleRecordComponent.ɵfac = function SingleRecordComponent_Factory(t) { return new (t || SingleRecordComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute)); };
72
- SingleRecordComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SingleRecordComponent, selectors: [["app-single-record"]], viewQuery: function SingleRecordComponent_Query(rf, ctx) { if (rf & 1) {
73
- i0.ɵɵviewQuery(Container, 7);
74
- } if (rf & 2) {
75
- let _t;
76
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.formContainer = _t.first);
77
- } }, inputs: { primaryKeyValues: "primaryKeyValues", entityName: "entityName" }, outputs: { loadComplete: "loadComplete" }, decls: 2, vars: 1, consts: [["type", "converging-spinner", 4, "ngIf"], ["mjContainer", ""], ["type", "converging-spinner"]], template: function SingleRecordComponent_Template(rf, ctx) { if (rf & 1) {
78
- i0.ɵɵtemplate(0, SingleRecordComponent_kendo_loader_0_Template, 1, 0, "kendo-loader", 0);
79
- i0.ɵɵtemplate(1, SingleRecordComponent_ng_template_1_Template, 0, 0, "ng-template", 1);
80
- } if (rf & 2) {
81
- i0.ɵɵproperty("ngIf", ctx.loading);
82
- } }, dependencies: [i2.NgIf, i3.LoaderComponent, i4.Container] });
83
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SingleRecordComponent, [{
84
- type: Component,
85
- args: [{ selector: 'app-single-record', template: "<kendo-loader *ngIf=\"loading\" type=\"converging-spinner\" ></kendo-loader>\r\n<ng-template mjContainer></ng-template>" }]
86
- }], function () { return [{ type: i1.ActivatedRoute }]; }, { formContainer: [{
87
- type: ViewChild,
88
- args: [Container, { static: true }]
89
- }], primaryKeyValues: [{
90
- type: Input
91
- }], entityName: [{
92
- type: Input
93
- }], loadComplete: [{
94
- type: Output
95
- }] }); })();
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
11
+ import { Metadata } from '@memberjunction/core';
12
+ import { MJGlobal } from '@memberjunction/global';
13
+ import { Container } from '@memberjunction/ng-container-directives';
14
+ import { BaseFormComponent } from '../generic/base-form-component';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "@angular/router";
17
+ import * as i2 from "@angular/common";
18
+ import * as i3 from "@progress/kendo-angular-indicators";
19
+ import * as i4 from "@memberjunction/ng-container-directives";
20
+ function SingleRecordComponent_kendo_loader_0_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelement(0, "kendo-loader", 2);
22
+ } }
23
+ function SingleRecordComponent_ng_template_1_Template(rf, ctx) { }
24
+ export class SingleRecordComponent {
25
+ constructor(route) {
26
+ this.route = route;
27
+ this.primaryKeyValues = [];
28
+ this.entityName = '';
29
+ this.loadComplete = new EventEmitter();
30
+ this.appDescription = '';
31
+ this.useGenericForm = false;
32
+ this.loading = true;
33
+ }
34
+ ngOnInit() {
35
+ }
36
+ ngAfterViewInit() {
37
+ this.LoadForm(this.primaryKeyValues, this.entityName);
38
+ }
39
+ LoadForm(primaryKeyValues, entityName) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ // Perform any necessary actions with the ViewID, such as fetching data
42
+ if (primaryKeyValues && entityName) {
43
+ this.entityName = entityName;
44
+ this.primaryKeyValues = primaryKeyValues;
45
+ const formReg = MJGlobal.Instance.ClassFactory.GetRegistration(BaseFormComponent, entityName);
46
+ const md = new Metadata();
47
+ const entity = md.Entities.find(e => {
48
+ return e.Name === entityName;
49
+ });
50
+ const permissions = entity === null || entity === void 0 ? void 0 : entity.GetUserPermisions(md.CurrentUser);
51
+ if (formReg) {
52
+ const record = yield md.GetEntityObject(entityName);
53
+ if (record) {
54
+ yield record.InnerLoad(primaryKeyValues);
55
+ const viewContainerRef = this.formContainer.viewContainerRef;
56
+ viewContainerRef.clear();
57
+ const componentRef = viewContainerRef.createComponent(formReg.SubClass);
58
+ componentRef.instance.record = record;
59
+ componentRef.instance.userPermissions = permissions;
60
+ this.useGenericForm = false;
61
+ this.loadComplete.emit();
62
+ }
63
+ else
64
+ throw new Error(`Unable to load entity ${entityName} with primary key values: ${primaryKeyValues.map(p => p.FieldName + ': ' + p.Value).join(', ')}`);
65
+ }
66
+ this.loading = false;
67
+ }
68
+ });
69
+ }
70
+ }
71
+ SingleRecordComponent.ɵfac = function SingleRecordComponent_Factory(t) { return new (t || SingleRecordComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute)); };
72
+ SingleRecordComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SingleRecordComponent, selectors: [["app-single-record"]], viewQuery: function SingleRecordComponent_Query(rf, ctx) { if (rf & 1) {
73
+ i0.ɵɵviewQuery(Container, 7);
74
+ } if (rf & 2) {
75
+ let _t;
76
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.formContainer = _t.first);
77
+ } }, inputs: { primaryKeyValues: "primaryKeyValues", entityName: "entityName" }, outputs: { loadComplete: "loadComplete" }, decls: 2, vars: 1, consts: [["type", "converging-spinner", 4, "ngIf"], ["mjContainer", ""], ["type", "converging-spinner"]], template: function SingleRecordComponent_Template(rf, ctx) { if (rf & 1) {
78
+ i0.ɵɵtemplate(0, SingleRecordComponent_kendo_loader_0_Template, 1, 0, "kendo-loader", 0)(1, SingleRecordComponent_ng_template_1_Template, 0, 0, "ng-template", 1);
79
+ } if (rf & 2) {
80
+ i0.ɵɵproperty("ngIf", ctx.loading);
81
+ } }, dependencies: [i2.NgIf, i3.LoaderComponent, i4.Container] });
82
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SingleRecordComponent, [{
83
+ type: Component,
84
+ args: [{ selector: 'app-single-record', template: "<kendo-loader *ngIf=\"loading\" type=\"converging-spinner\" ></kendo-loader>\r\n<ng-template mjContainer></ng-template>" }]
85
+ }], () => [{ type: i1.ActivatedRoute }], { formContainer: [{
86
+ type: ViewChild,
87
+ args: [Container, { static: true }]
88
+ }], primaryKeyValues: [{
89
+ type: Input
90
+ }], entityName: [{
91
+ type: Input
92
+ }], loadComplete: [{
93
+ type: Output
94
+ }] }); })();
95
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SingleRecordComponent, { className: "SingleRecordComponent", filePath: "src\\lib\\single-record\\single-record.component.ts", lineNumber: 14 }); })();
@@ -1,22 +1,22 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
2
- import { ReportEntity } from '@memberjunction/core-entities';
3
- import { SkipColumnInfo, SkipData } from '../ask-skip/ask-skip.component';
4
- import { DynamicReportComponent } from '../generic/dynamic-report';
5
- import * as i0 from "@angular/core";
6
- export declare class SingleReportComponent implements OnInit {
7
- reportId: number;
8
- loadComplete: EventEmitter<any>;
9
- loadStarted: EventEmitter<any>;
10
- theReport: DynamicReportComponent;
11
- ReportEntity: ReportEntity;
12
- reportData: any[];
13
- ReportConfiguration: SkipData | undefined;
14
- get IsChart(): boolean;
15
- get IsTable(): boolean;
16
- get Columns(): SkipColumnInfo[];
17
- get Report(): DynamicReportComponent;
18
- ngOnInit(): void;
19
- doLoad(): Promise<void>;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<SingleReportComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<SingleReportComponent, "app-single-report", never, { "reportId": "reportId"; }, { "loadComplete": "loadComplete"; "loadStarted": "loadStarted"; }, never, never, false, never>;
22
- }
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { ReportEntity } from '@memberjunction/core-entities';
3
+ import { SkipColumnInfo, SkipData } from '../ask-skip/ask-skip.component';
4
+ import { DynamicReportComponent } from '../generic/dynamic-report';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SingleReportComponent implements OnInit {
7
+ reportId: number;
8
+ loadComplete: EventEmitter<any>;
9
+ loadStarted: EventEmitter<any>;
10
+ theReport: DynamicReportComponent;
11
+ ReportEntity: ReportEntity;
12
+ reportData: any[];
13
+ ReportConfiguration: SkipData | undefined;
14
+ get IsChart(): boolean;
15
+ get IsTable(): boolean;
16
+ get Columns(): SkipColumnInfo[];
17
+ get Report(): DynamicReportComponent;
18
+ ngOnInit(): void;
19
+ doLoad(): Promise<void>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<SingleReportComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<SingleReportComponent, "app-single-report", never, { "reportId": { "alias": "reportId"; "required": false; }; }, { "loadComplete": "loadComplete"; "loadStarted": "loadStarted"; }, never, never, false, never>;
22
+ }
@@ -1,87 +1,88 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
11
- import { LogError, Metadata, RunReport } from '@memberjunction/core';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@memberjunction/ng-container-directives";
14
- import * as i2 from "../generic/dynamic-report";
15
- const _c0 = ["theReport"];
16
- export class SingleReportComponent {
17
- constructor() {
18
- this.loadComplete = new EventEmitter();
19
- this.loadStarted = new EventEmitter();
20
- }
21
- get IsChart() {
22
- return this.theReport.IsChart;
23
- }
24
- get IsTable() {
25
- return this.theReport.IsTable;
26
- }
27
- get Columns() {
28
- return this.theReport.Columns;
29
- }
30
- get Report() {
31
- return this.theReport;
32
- }
33
- ngOnInit() {
34
- this.doLoad();
35
- }
36
- doLoad() {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- try {
39
- // get info on the report we are loading
40
- this.loadStarted.emit();
41
- const md = new Metadata();
42
- this.ReportEntity = (yield md.GetEntityObject('Reports'));
43
- yield this.ReportEntity.Load(this.reportId);
44
- this.ReportConfiguration = JSON.parse(this.ReportEntity.ReportConfiguration);
45
- const runReport = new RunReport();
46
- const result = yield runReport.RunReport({ ReportID: this.reportId });
47
- if (result && result.Success && result.Results.length > 0) {
48
- this.reportData = result.Results;
49
- if (this.ReportConfiguration && this.ReportConfiguration.SQLResults)
50
- this.ReportConfiguration.SQLResults.results = this.reportData; // put the report data into the right spot so the dynamic report knows where to get it
51
- }
52
- else {
53
- // report has an invalid configuration
54
- throw new Error('Error running report: invalid value from ReportConfiguration field ');
55
- }
56
- this.loadComplete.emit();
57
- }
58
- catch (err) {
59
- LogError(err);
60
- }
61
- });
62
- }
63
- }
64
- SingleReportComponent.ɵfac = function SingleReportComponent_Factory(t) { return new (t || SingleReportComponent)(); };
65
- SingleReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SingleReportComponent, selectors: [["app-single-report"]], viewQuery: function SingleReportComponent_Query(rf, ctx) { if (rf & 1) {
66
- i0.ɵɵviewQuery(_c0, 7);
67
- } if (rf & 2) {
68
- let _t;
69
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.theReport = _t.first);
70
- } }, inputs: { reportId: "reportId" }, outputs: { loadComplete: "loadComplete", loadStarted: "loadStarted" }, decls: 2, vars: 4, consts: [["mjFillContainer", "", 3, "ShowDetailsTab", "SkipData", "ConversationID", "ConversationDetailID"], ["theReport", ""]], template: function SingleReportComponent_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelement(0, "app-dynamic-report", 0, 1);
72
- } if (rf & 2) {
73
- i0.ɵɵproperty("ShowDetailsTab", true)("SkipData", ctx.ReportConfiguration)("ConversationID", ctx.ReportEntity.ConversationID)("ConversationDetailID", ctx.ReportEntity.ConversationDetailID);
74
- } }, dependencies: [i1.FillContainer, i2.DynamicReportComponent] });
75
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SingleReportComponent, [{
76
- type: Component,
77
- args: [{ selector: 'app-single-report', template: "<app-dynamic-report mjFillContainer #theReport [ShowDetailsTab]=\"true\" [SkipData]=\"ReportConfiguration\"\r\n [ConversationID]=\"ReportEntity.ConversationID\"\r\n [ConversationDetailID]=\"ReportEntity.ConversationDetailID\"></app-dynamic-report>" }]
78
- }], null, { reportId: [{
79
- type: Input
80
- }], loadComplete: [{
81
- type: Output
82
- }], loadStarted: [{
83
- type: Output
84
- }], theReport: [{
85
- type: ViewChild,
86
- args: ['theReport', { static: true }]
87
- }] }); })();
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
11
+ import { LogError, Metadata, RunReport } from '@memberjunction/core';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@memberjunction/ng-container-directives";
14
+ import * as i2 from "../generic/dynamic-report";
15
+ const _c0 = ["theReport"];
16
+ export class SingleReportComponent {
17
+ constructor() {
18
+ this.loadComplete = new EventEmitter();
19
+ this.loadStarted = new EventEmitter();
20
+ }
21
+ get IsChart() {
22
+ return this.theReport.IsChart;
23
+ }
24
+ get IsTable() {
25
+ return this.theReport.IsTable;
26
+ }
27
+ get Columns() {
28
+ return this.theReport.Columns;
29
+ }
30
+ get Report() {
31
+ return this.theReport;
32
+ }
33
+ ngOnInit() {
34
+ this.doLoad();
35
+ }
36
+ doLoad() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ try {
39
+ // get info on the report we are loading
40
+ this.loadStarted.emit();
41
+ const md = new Metadata();
42
+ this.ReportEntity = (yield md.GetEntityObject('Reports'));
43
+ yield this.ReportEntity.Load(this.reportId);
44
+ this.ReportConfiguration = JSON.parse(this.ReportEntity.ReportConfiguration);
45
+ const runReport = new RunReport();
46
+ const result = yield runReport.RunReport({ ReportID: this.reportId });
47
+ if (result && result.Success && result.Results.length > 0) {
48
+ this.reportData = result.Results;
49
+ if (this.ReportConfiguration && this.ReportConfiguration.SQLResults)
50
+ this.ReportConfiguration.SQLResults.results = this.reportData; // put the report data into the right spot so the dynamic report knows where to get it
51
+ }
52
+ else {
53
+ // report has an invalid configuration
54
+ throw new Error('Error running report: invalid value from ReportConfiguration field ');
55
+ }
56
+ this.loadComplete.emit();
57
+ }
58
+ catch (err) {
59
+ LogError(err);
60
+ }
61
+ });
62
+ }
63
+ }
64
+ SingleReportComponent.ɵfac = function SingleReportComponent_Factory(t) { return new (t || SingleReportComponent)(); };
65
+ SingleReportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SingleReportComponent, selectors: [["app-single-report"]], viewQuery: function SingleReportComponent_Query(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵviewQuery(_c0, 7);
67
+ } if (rf & 2) {
68
+ let _t;
69
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.theReport = _t.first);
70
+ } }, inputs: { reportId: "reportId" }, outputs: { loadComplete: "loadComplete", loadStarted: "loadStarted" }, decls: 2, vars: 4, consts: [["mjFillContainer", "", 3, "ShowDetailsTab", "SkipData", "ConversationID", "ConversationDetailID"], ["theReport", ""]], template: function SingleReportComponent_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelement(0, "app-dynamic-report", 0, 1);
72
+ } if (rf & 2) {
73
+ i0.ɵɵproperty("ShowDetailsTab", true)("SkipData", ctx.ReportConfiguration)("ConversationID", ctx.ReportEntity.ConversationID)("ConversationDetailID", ctx.ReportEntity.ConversationDetailID);
74
+ } }, dependencies: [i1.FillContainer, i2.DynamicReportComponent] });
75
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SingleReportComponent, [{
76
+ type: Component,
77
+ args: [{ selector: 'app-single-report', template: "<app-dynamic-report mjFillContainer #theReport [ShowDetailsTab]=\"true\" [SkipData]=\"ReportConfiguration\"\r\n [ConversationID]=\"ReportEntity.ConversationID\"\r\n [ConversationDetailID]=\"ReportEntity.ConversationDetailID\"></app-dynamic-report>" }]
78
+ }], null, { reportId: [{
79
+ type: Input
80
+ }], loadComplete: [{
81
+ type: Output
82
+ }], loadStarted: [{
83
+ type: Output
84
+ }], theReport: [{
85
+ type: ViewChild,
86
+ args: ['theReport', { static: true }]
87
+ }] }); })();
88
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SingleReportComponent, { className: "SingleReportComponent", filePath: "src\\lib\\single-report\\single-report.component.ts", lineNumber: 12 }); })();
@@ -1,15 +1,15 @@
1
- import { EventEmitter, AfterViewInit } from '@angular/core';
2
- import { RunViewParams } from '@memberjunction/core';
3
- import { UserViewGridComponent } from '@memberjunction/ng-user-view-grid';
4
- import * as i0 from "@angular/core";
5
- export declare class SingleSearchResultComponent implements AfterViewInit {
6
- entity: string;
7
- searchInput: string;
8
- loadComplete: EventEmitter<any>;
9
- loadStarted: EventEmitter<any>;
10
- userViewGrid: UserViewGridComponent;
11
- get params(): RunViewParams;
12
- ngAfterViewInit(): Promise<void>;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<SingleSearchResultComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<SingleSearchResultComponent, "app-single-search-result", never, { "entity": "entity"; "searchInput": "searchInput"; }, { "loadComplete": "loadComplete"; "loadStarted": "loadStarted"; }, never, never, false, never>;
15
- }
1
+ import { EventEmitter, AfterViewInit } from '@angular/core';
2
+ import { RunViewParams } from '@memberjunction/core';
3
+ import { UserViewGridComponent } from '@memberjunction/ng-user-view-grid';
4
+ import * as i0 from "@angular/core";
5
+ export declare class SingleSearchResultComponent implements AfterViewInit {
6
+ entity: string;
7
+ searchInput: string;
8
+ loadComplete: EventEmitter<any>;
9
+ loadStarted: EventEmitter<any>;
10
+ userViewGrid: UserViewGridComponent;
11
+ get params(): RunViewParams;
12
+ ngAfterViewInit(): Promise<void>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<SingleSearchResultComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<SingleSearchResultComponent, "app-single-search-result", never, { "entity": { "alias": "entity"; "required": false; }; "searchInput": { "alias": "searchInput"; "required": false; }; }, { "loadComplete": "loadComplete"; "loadStarted": "loadStarted"; }, never, never, false, never>;
15
+ }