@huntsman-cancer-institute/reporting-framework 16.0.1 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/datepicker/report-datepicker.component.d.ts +16 -16
  2. package/esm2022/datepicker/report-datepicker.component.mjs +61 -61
  3. package/esm2022/format/format.component.mjs +23 -23
  4. package/esm2022/huntsman-cancer-institute-reporting-framework.mjs +4 -4
  5. package/esm2022/index.mjs +2 -2
  6. package/esm2022/model/format.model.mjs +2 -2
  7. package/esm2022/model/option.model.mjs +2 -2
  8. package/esm2022/model/param.model.mjs +18 -18
  9. package/esm2022/model/report-tab.model.mjs +2 -2
  10. package/esm2022/model/report.model.mjs +6 -6
  11. package/esm2022/parameter/parameter.component.mjs +23 -23
  12. package/esm2022/report.module.mjs +79 -79
  13. package/esm2022/reporting-framework.component.mjs +424 -424
  14. package/esm2022/resizable-divider/resizable-section-divider.component.mjs +122 -122
  15. package/esm2022/spinner/dialogs.service.mjs +99 -99
  16. package/esm2022/spinner/spinner-dialog.component.mjs +45 -45
  17. package/fesm2022/huntsman-cancer-institute-reporting-framework.mjs +821 -821
  18. package/fesm2022/huntsman-cancer-institute-reporting-framework.mjs.map +1 -1
  19. package/format/format.component.d.ts +11 -11
  20. package/index.d.ts +2 -2
  21. package/model/format.model.d.ts +6 -6
  22. package/model/option.model.d.ts +5 -5
  23. package/model/param.model.d.ts +16 -16
  24. package/model/report-tab.model.d.ts +7 -7
  25. package/model/report.model.d.ts +15 -15
  26. package/package.json +16 -7
  27. package/parameter/parameter.component.d.ts +9 -9
  28. package/report.module.d.ts +21 -21
  29. package/reporting-framework.component.d.ts +58 -58
  30. package/resizable-divider/resizable-section-divider.component.d.ts +23 -23
  31. package/spinner/dialogs.service.d.ts +30 -30
  32. package/spinner/spinner-dialog.component.d.ts +12 -12
@@ -23,65 +23,65 @@ import { MatLegacyTabsModule } from '@angular/material/legacy-tabs';
23
23
  import * as i6 from 'ag-grid-angular';
24
24
  import { AgGridModule } from 'ag-grid-angular';
25
25
 
26
- class Report {
27
- constructor() {
28
- this.params = [];
29
- this.formats = [];
30
- }
26
+ class Report {
27
+ constructor() {
28
+ this.params = [];
29
+ this.formats = [];
30
+ }
31
31
  }
32
32
 
33
- class Param {
34
- constructor() {
35
- this.activeOnly = true;
36
- this.options = [];
37
- this.selectedValueList = []; //for multi-select
38
- }
39
- calculateDictionaryURL() {
40
- var out = "";
41
- if (this.activeOnly) {
42
- out = this.dictAPILeadIn + "/" + this.className + "/active-entries";
43
- }
44
- else {
45
- out = this.dictAPILeadIn + "/" + this.className + "/entries";
46
- }
47
- return out;
48
- }
33
+ class Param {
34
+ constructor() {
35
+ this.activeOnly = true;
36
+ this.options = [];
37
+ this.selectedValueList = []; //for multi-select
38
+ }
39
+ calculateDictionaryURL() {
40
+ var out = "";
41
+ if (this.activeOnly) {
42
+ out = this.dictAPILeadIn + "/" + this.className + "/active-entries";
43
+ }
44
+ else {
45
+ out = this.dictAPILeadIn + "/" + this.className + "/entries";
46
+ }
47
+ return out;
48
+ }
49
49
  }
50
50
 
51
- class ReportDatepickerComponent {
52
- constructor() {
53
- this.invalid = false;
54
- this.valueChange = new EventEmitter();
55
- }
56
- ngOnInit() {
57
- let today = new Date();
58
- // set the minDate to 20 years in the past by default
59
- if (!this.minDate) {
60
- this.minDate = new Date(today.getFullYear() - 20, today.getMonth(), today.getDate());
61
- }
62
- // set max date to 20 years in future by default
63
- if (!this.maxDate) {
64
- this.maxDate = new Date(today.getFullYear() + 20, today.getMonth(), today.getDate());
65
- }
66
- }
67
- onChange(newValue) {
68
- this.value = newValue;
69
- this.valueChange.emit(newValue);
70
- }
71
- clear() {
72
- this.value = undefined;
73
- this.valueChange.emit();
74
- }
75
- // Clear input field if entered data is invalid (Mat library sets value to null if invalid but doesn't clear input)
76
- onBlur() {
77
- if (!this.value) {
78
- this.value = undefined;
79
- this.valueChange.emit();
80
- }
81
- }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ReportDatepickerComponent, selector: "report-datepicker", inputs: { value: "value", placeholder: "placeholder", minDate: "minDate", maxDate: "maxDate", invalid: "invalid" }, outputs: { valueChange: "valueChange" }, providers: [
84
- { provide: MAT_DATE_LOCALE, useValue: "en-GB" }
51
+ class ReportDatepickerComponent {
52
+ constructor() {
53
+ this.invalid = false;
54
+ this.valueChange = new EventEmitter();
55
+ }
56
+ ngOnInit() {
57
+ let today = new Date();
58
+ // set the minDate to 20 years in the past by default
59
+ if (!this.minDate) {
60
+ this.minDate = new Date(today.getFullYear() - 20, today.getMonth(), today.getDate());
61
+ }
62
+ // set max date to 20 years in future by default
63
+ if (!this.maxDate) {
64
+ this.maxDate = new Date(today.getFullYear() + 20, today.getMonth(), today.getDate());
65
+ }
66
+ }
67
+ onChange(newValue) {
68
+ this.value = newValue;
69
+ this.valueChange.emit(newValue);
70
+ }
71
+ clear() {
72
+ this.value = undefined;
73
+ this.valueChange.emit();
74
+ }
75
+ // Clear input field if entered data is invalid (Mat library sets value to null if invalid but doesn't clear input)
76
+ onBlur() {
77
+ if (!this.value) {
78
+ this.value = undefined;
79
+ this.valueChange.emit();
80
+ }
81
+ }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ReportDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ReportDatepickerComponent, selector: "report-datepicker", inputs: { value: "value", placeholder: "placeholder", minDate: "minDate", maxDate: "maxDate", invalid: "invalid" }, outputs: { valueChange: "valueChange" }, providers: [
84
+ { provide: MAT_DATE_LOCALE, useValue: "en-GB" }
85
85
  ], ngImport: i0, template: `
86
86
  <div class="d-flex" style="width: 100%;">
87
87
  <input matInput [matDatepicker]="picker" class="form-control" style="cursor: pointer;" [placeholder]="placeholder" [ngModel]="value" (ngModelChange)="onChange($event)"
@@ -91,10 +91,10 @@ class ReportDatepickerComponent {
91
91
  <button class="btn btn-outline-secondary" type="button" (click)="picker.open()" style="height:32px; width:32px;"><i class="fas fa-calendar-alt"></i></button>
92
92
  <mat-datepicker #picker ></mat-datepicker>
93
93
  </div>
94
- `, isInline: true, styles: ["#clearIcon{cursor:pointer}#clearIcon:Hover{background-color:#495057;color:#e9ecef}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }] }); }
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportDatepickerComponent, decorators: [{
97
- type: Component,
94
+ `, isInline: true, styles: ["#clearIcon{cursor:pointer}#clearIcon:Hover{background-color:#495057;color:#e9ecef}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }] }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ReportDatepickerComponent, decorators: [{
97
+ type: Component,
98
98
  args: [{ selector: "report-datepicker", template: `
99
99
  <div class="d-flex" style="width: 100%;">
100
100
  <input matInput [matDatepicker]="picker" class="form-control" style="cursor: pointer;" [placeholder]="placeholder" [ngModel]="value" (ngModelChange)="onChange($event)"
@@ -104,33 +104,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
104
104
  <button class="btn btn-outline-secondary" type="button" (click)="picker.open()" style="height:32px; width:32px;"><i class="fas fa-calendar-alt"></i></button>
105
105
  <mat-datepicker #picker ></mat-datepicker>
106
106
  </div>
107
- `, providers: [
108
- { provide: MAT_DATE_LOCALE, useValue: "en-GB" }
109
- ], styles: ["#clearIcon{cursor:pointer}#clearIcon:Hover{background-color:#495057;color:#e9ecef}\n"] }]
110
- }], propDecorators: { value: [{
111
- type: Input
112
- }], placeholder: [{
113
- type: Input
114
- }], minDate: [{
115
- type: Input
116
- }], maxDate: [{
117
- type: Input
118
- }], invalid: [{
119
- type: Input
120
- }], valueChange: [{
121
- type: Output
107
+ `, providers: [
108
+ { provide: MAT_DATE_LOCALE, useValue: "en-GB" }
109
+ ], styles: ["#clearIcon{cursor:pointer}#clearIcon:Hover{background-color:#495057;color:#e9ecef}\n"] }]
110
+ }], propDecorators: { value: [{
111
+ type: Input
112
+ }], placeholder: [{
113
+ type: Input
114
+ }], minDate: [{
115
+ type: Input
116
+ }], maxDate: [{
117
+ type: Input
118
+ }], invalid: [{
119
+ type: Input
120
+ }], valueChange: [{
121
+ type: Output
122
122
  }] } });
123
123
 
124
- class ParameterComponent {
125
- setParam(p) {
126
- this.param = p;
127
- if (this.param.type === "radio") { //if radio, auto select first option
128
- let o = this.param.options[0];
129
- this.param.selectedValue = o.value;
130
- }
131
- }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ParameterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ParameterComponent, selector: "hci-parameter", ngImport: i0, template: `
124
+ class ParameterComponent {
125
+ setParam(p) {
126
+ this.param = p;
127
+ if (this.param.type === "radio") { //if radio, auto select first option
128
+ let o = this.param.options[0];
129
+ this.param.selectedValue = o.value;
130
+ }
131
+ }
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ParameterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ParameterComponent, selector: "hci-parameter", ngImport: i0, template: `
134
134
 
135
135
  <!--Text Input-->
136
136
  <ng-container *ngIf="param.type === 'input'">
@@ -245,10 +245,10 @@ class ParameterComponent {
245
245
  </div>
246
246
  </ng-container>
247
247
 
248
- `, isInline: true, styles: [".data-label{width:270px;margin-right:30px;display:flex;align-items:center;justify-content:flex-end}.date-input{width:45%}.report-select,.multi-report-select{flex-grow:unset!important;width:45%}.radio-pair{display:flex;align-items:center;padding-right:5px;margin-right:15px}.input-field{width:45%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.MdMultiSelectComponent, selector: "hci-md-multi-select", inputs: ["class", "name", "label", "url", "entries", "required", "idKey", "displayKey"] }, { kind: "component", type: i3$1.NativeSelectComponent, selector: "hci-native-select", inputs: ["class", "name", "label", "url", "entries", "required", "idKey", "displayKey", "disabled", "sortKey", "sortNumeric", "filterKey", "filter"] }, { kind: "component", type: ReportDatepickerComponent, selector: "report-datepicker", inputs: ["value", "placeholder", "minDate", "maxDate", "invalid"], outputs: ["valueChange"] }] }); }
249
- }
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ParameterComponent, decorators: [{
251
- type: Component,
248
+ `, isInline: true, styles: [".data-label{width:270px;margin-right:30px;display:flex;align-items:center;justify-content:flex-end}.date-input{width:45%}.report-select,.multi-report-select{flex-grow:unset!important;width:45%}.radio-pair{display:flex;align-items:center;padding-right:5px;margin-right:15px}.input-field{width:45%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.MdMultiSelectComponent, selector: "hci-md-multi-select", inputs: ["class", "name", "label", "url", "entries", "required", "idKey", "displayKey"] }, { kind: "component", type: i3$1.NativeSelectComponent, selector: "hci-native-select", inputs: ["class", "name", "label", "url", "entries", "required", "idKey", "displayKey", "disabled", "sortKey", "sortNumeric", "filterKey", "filter"] }, { kind: "component", type: ReportDatepickerComponent, selector: "report-datepicker", inputs: ["value", "placeholder", "minDate", "maxDate", "invalid"], outputs: ["valueChange"] }] }); }
249
+ }
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ParameterComponent, decorators: [{
251
+ type: Component,
252
252
  args: [{ selector: "hci-parameter", template: `
253
253
 
254
254
  <!--Text Input-->
@@ -364,28 +364,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
364
364
  </div>
365
365
  </ng-container>
366
366
 
367
- `, styles: [".data-label{width:270px;margin-right:30px;display:flex;align-items:center;justify-content:flex-end}.date-input{width:45%}.report-select,.multi-report-select{flex-grow:unset!important;width:45%}.radio-pair{display:flex;align-items:center;padding-right:5px;margin-right:15px}.input-field{width:45%}\n"] }]
367
+ `, styles: [".data-label{width:270px;margin-right:30px;display:flex;align-items:center;justify-content:flex-end}.date-input{width:45%}.report-select,.multi-report-select{flex-grow:unset!important;width:45%}.radio-pair{display:flex;align-items:center;padding-right:5px;margin-right:15px}.input-field{width:45%}\n"] }]
368
368
  }] });
369
369
 
370
- class Option {
370
+ class Option {
371
371
  }
372
372
 
373
- class ReportTab {
373
+ class ReportTab {
374
374
  }
375
375
 
376
- class Format {
376
+ class Format {
377
377
  }
378
378
 
379
- class FormatComponent {
380
- constructor() {
381
- this.selectedValueChange = new EventEmitter();
382
- }
383
- selectFormat(s) {
384
- this.selectedValue = s;
385
- this.selectedValueChange.emit(s);
386
- }
387
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
388
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormatComponent, selector: "hci-format", inputs: { selectedValue: "selectedValue" }, outputs: { selectedValueChange: "selectedValueChange" }, ngImport: i0, template: `
379
+ class FormatComponent {
380
+ constructor() {
381
+ this.selectedValueChange = new EventEmitter();
382
+ }
383
+ selectFormat(s) {
384
+ this.selectedValue = s;
385
+ this.selectedValueChange.emit(s);
386
+ }
387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
388
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: FormatComponent, selector: "hci-format", inputs: { selectedValue: "selectedValue" }, outputs: { selectedValueChange: "selectedValueChange" }, ngImport: i0, template: `
389
389
  <div class="radio-pair">
390
390
  <input type="radio" #radio
391
391
  [value]="format.name"
@@ -395,10 +395,10 @@ class FormatComponent {
395
395
  name="format">
396
396
  <label>{{format.caption}}</label>
397
397
  </div>
398
- `, isInline: true, styles: [".radio-pair{display:flex;align-items:center;padding-right:5px}\n"] }); }
399
- }
400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormatComponent, decorators: [{
401
- type: Component,
398
+ `, isInline: true, styles: [".radio-pair{display:flex;align-items:center;padding-right:5px}\n"] }); }
399
+ }
400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FormatComponent, decorators: [{
401
+ type: Component,
402
402
  args: [{ selector: "hci-format", template: `
403
403
  <div class="radio-pair">
404
404
  <input type="radio" #radio
@@ -409,34 +409,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
409
409
  name="format">
410
410
  <label>{{format.caption}}</label>
411
411
  </div>
412
- `, styles: [".radio-pair{display:flex;align-items:center;padding-right:5px}\n"] }]
413
- }], propDecorators: { selectedValue: [{
414
- type: Input
415
- }], selectedValueChange: [{
416
- type: Output
412
+ `, styles: [".radio-pair{display:flex;align-items:center;padding-right:5px}\n"] }]
413
+ }], propDecorators: { selectedValue: [{
414
+ type: Input
415
+ }], selectedValueChange: [{
416
+ type: Output
417
417
  }] } });
418
418
 
419
- class SpinnerDialogComponent {
420
- constructor(dialogRef, data) {
421
- this.dialogRef = dialogRef;
422
- this.data = data;
423
- this.strokeWidth = 3;
424
- this.diameter = 30;
425
- this.message = "Loading...";
426
- if (this.data) {
427
- if (!!this.data.message) {
428
- this.message = this.data.message;
429
- }
430
- if (!!this.data.diameter) {
431
- this.diameter = this.data.diameter;
432
- }
433
- if (!!this.data.strokeWidth) {
434
- this.strokeWidth = this.data.strokeWidth;
435
- }
436
- }
437
- }
438
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinnerDialogComponent, deps: [{ token: i1$1.MatLegacyDialogRef }, { token: MAT_LEGACY_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
439
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SpinnerDialogComponent, selector: "spinner-dialog", inputs: { strokeWidth: "strokeWidth", diameter: "diameter", message: "message" }, ngImport: i0, template: `
419
+ class SpinnerDialogComponent {
420
+ constructor(dialogRef, data) {
421
+ this.dialogRef = dialogRef;
422
+ this.data = data;
423
+ this.strokeWidth = 3;
424
+ this.diameter = 30;
425
+ this.message = "Loading...";
426
+ if (this.data) {
427
+ if (!!this.data.message) {
428
+ this.message = this.data.message;
429
+ }
430
+ if (!!this.data.diameter) {
431
+ this.diameter = this.data.diameter;
432
+ }
433
+ if (!!this.data.strokeWidth) {
434
+ this.strokeWidth = this.data.strokeWidth;
435
+ }
436
+ }
437
+ }
438
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpinnerDialogComponent, deps: [{ token: i1$1.MatLegacyDialogRef }, { token: MAT_LEGACY_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
439
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpinnerDialogComponent, selector: "spinner-dialog", inputs: { strokeWidth: "strokeWidth", diameter: "diameter", message: "message" }, ngImport: i0, template: `
440
440
  <div mat-dialog-content class="full-height padded">
441
441
  <div class="full-width full-height t">
442
442
  <div class="tr">
@@ -451,10 +451,10 @@ class SpinnerDialogComponent {
451
451
  </div>
452
452
  <div mat-dialog-actions class="not-rendered">
453
453
  </div>
454
- `, isInline: true, styles: [".t{display:table}.tr{display:table-row}.td{display:table-cell}.full-height{height:100%}.full-width{width:100%}.vertical-center{vertical-align:middle}.padded{padding-top:.4em;padding-bottom:.4em}.not-rendered{padding:0;margin:0;min-height:0;max-height:0;height:0}\n"], dependencies: [{ kind: "directive", type: i1$1.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$1.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i2$1.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }] }); }
455
- }
456
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinnerDialogComponent, decorators: [{
457
- type: Component,
454
+ `, isInline: true, styles: [".t{display:table}.tr{display:table-row}.td{display:table-cell}.full-height{height:100%}.full-width{width:100%}.vertical-center{vertical-align:middle}.padded{padding-top:.4em;padding-bottom:.4em}.not-rendered{padding:0;margin:0;min-height:0;max-height:0;height:0}\n"], dependencies: [{ kind: "directive", type: i1$1.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$1.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i2$1.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }] }); }
455
+ }
456
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpinnerDialogComponent, decorators: [{
457
+ type: Component,
458
458
  args: [{ selector: "spinner-dialog", template: `
459
459
  <div mat-dialog-content class="full-height padded">
460
460
  <div class="full-width full-height t">
@@ -470,204 +470,204 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
470
470
  </div>
471
471
  <div mat-dialog-actions class="not-rendered">
472
472
  </div>
473
- `, styles: [".t{display:table}.tr{display:table-row}.td{display:table-cell}.full-height{height:100%}.full-width{width:100%}.vertical-center{vertical-align:middle}.padded{padding-top:.4em;padding-bottom:.4em}.not-rendered{padding:0;margin:0;min-height:0;max-height:0;height:0}\n"] }]
474
- }], ctorParameters: function () { return [{ type: i1$1.MatLegacyDialogRef }, { type: undefined, decorators: [{
475
- type: Inject,
476
- args: [MAT_LEGACY_DIALOG_DATA]
477
- }] }]; }, propDecorators: { strokeWidth: [{
478
- type: Input,
479
- args: ["strokeWidth"]
480
- }], diameter: [{
481
- type: Input,
482
- args: ["diameter"]
483
- }], message: [{
484
- type: Input,
485
- args: ["message"]
473
+ `, styles: [".t{display:table}.tr{display:table-row}.td{display:table-cell}.full-height{height:100%}.full-width{width:100%}.vertical-center{vertical-align:middle}.padded{padding-top:.4em;padding-bottom:.4em}.not-rendered{padding:0;margin:0;min-height:0;max-height:0;height:0}\n"] }]
474
+ }], ctorParameters: () => [{ type: i1$1.MatLegacyDialogRef }, { type: undefined, decorators: [{
475
+ type: Inject,
476
+ args: [MAT_LEGACY_DIALOG_DATA]
477
+ }] }], propDecorators: { strokeWidth: [{
478
+ type: Input,
479
+ args: ["strokeWidth"]
480
+ }], diameter: [{
481
+ type: Input,
482
+ args: ["diameter"]
483
+ }], message: [{
484
+ type: Input,
485
+ args: ["message"]
486
486
  }] } });
487
487
 
488
- var DialogType;
489
- (function (DialogType) {
490
- DialogType["ERROR"] = "Error";
491
- DialogType["WARNING"] = "Warning";
492
- DialogType["ALERT"] = "Alert";
493
- DialogType["SUCCESS"] = "Succeed";
494
- DialogType["FAILED"] = "Failed";
495
- DialogType["CONFIRM"] = "Confirm";
496
- DialogType["INFO"] = "Info";
497
- DialogType["VALIDATION"] = "Validation Error";
498
- })(DialogType || (DialogType = {}));
499
- class DialogsService {
500
- get spinnerDialogIsOpen() {
501
- return this._spinnerDialogIsOpen;
502
- }
503
- constructor(dialog) {
504
- this.dialog = dialog;
505
- this._spinnerDialogIsOpen = false;
506
- this.spinnerWorkItemCount = 0;
507
- this.checkingSpinnerWorkItems = false;
508
- this.spinnerDialogRefs = [];
509
- }
510
- startDefaultSpinnerDialog() {
511
- return this.startSpinnerDialog("Please wait...", 3, 30);
512
- }
513
- startSpinnerDialog(message, strokeWidth, diameter) {
514
- if (this._spinnerDialogIsOpen) {
515
- return null;
516
- }
517
- this._spinnerDialogIsOpen = true;
518
- let configuration = new MatLegacyDialogConfig();
519
- configuration.data = {
520
- message: message,
521
- strokeWidth: strokeWidth,
522
- diameter: diameter
523
- };
524
- configuration.width = "13em";
525
- configuration.disableClose = true;
526
- let dialogRef = this.dialog.open(SpinnerDialogComponent, configuration);
527
- dialogRef.afterClosed().subscribe(() => {
528
- this._spinnerDialogIsOpen = false;
529
- });
530
- this.spinnerDialogRefs.push(dialogRef);
531
- return dialogRef;
532
- }
533
- // Let there be an alternative, global way to stop all active spinner dialogs.
534
- stopAllSpinnerDialogs() {
535
- this.spinnerWorkItemCount = 0;
536
- for (let dialogRef of this.spinnerDialogRefs) {
537
- setTimeout(() => {
538
- dialogRef.close();
539
- });
540
- }
541
- this.spinnerDialogRefs = [];
542
- }
543
- addSpinnerWorkItem() {
544
- this.spinnerWorkItemCount++;
545
- if (!this.checkingSpinnerWorkItems) {
546
- this.checkingSpinnerWorkItems = true;
547
- setTimeout(() => {
548
- this.checkSpinnerWorkItems();
549
- });
550
- }
551
- }
552
- removeSpinnerWorkItem() {
553
- this.spinnerWorkItemCount--;
554
- if (this.spinnerWorkItemCount < 0) {
555
- this.spinnerWorkItemCount = 0;
556
- }
557
- if (!this.checkingSpinnerWorkItems) {
558
- this.checkingSpinnerWorkItems = true;
559
- setTimeout(() => {
560
- this.checkSpinnerWorkItems();
561
- });
562
- }
563
- }
564
- checkSpinnerWorkItems() {
565
- this.checkingSpinnerWorkItems = false;
566
- if (this.spinnerWorkItemCount) {
567
- if (!this._spinnerDialogIsOpen) {
568
- this.startDefaultSpinnerDialog();
569
- }
570
- }
571
- else if (this._spinnerDialogIsOpen) {
572
- this.stopAllSpinnerDialogs();
573
- }
574
- }
575
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogsService, deps: [{ token: i1$1.MatLegacyDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
576
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogsService }); }
577
- }
578
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogsService, decorators: [{
579
- type: Injectable
580
- }], ctorParameters: function () { return [{ type: i1$1.MatLegacyDialog }]; } });
488
+ var DialogType;
489
+ (function (DialogType) {
490
+ DialogType["ERROR"] = "Error";
491
+ DialogType["WARNING"] = "Warning";
492
+ DialogType["ALERT"] = "Alert";
493
+ DialogType["SUCCESS"] = "Succeed";
494
+ DialogType["FAILED"] = "Failed";
495
+ DialogType["CONFIRM"] = "Confirm";
496
+ DialogType["INFO"] = "Info";
497
+ DialogType["VALIDATION"] = "Validation Error";
498
+ })(DialogType || (DialogType = {}));
499
+ class DialogsService {
500
+ get spinnerDialogIsOpen() {
501
+ return this._spinnerDialogIsOpen;
502
+ }
503
+ constructor(dialog) {
504
+ this.dialog = dialog;
505
+ this._spinnerDialogIsOpen = false;
506
+ this.spinnerWorkItemCount = 0;
507
+ this.checkingSpinnerWorkItems = false;
508
+ this.spinnerDialogRefs = [];
509
+ }
510
+ startDefaultSpinnerDialog() {
511
+ return this.startSpinnerDialog("Please wait...", 3, 30);
512
+ }
513
+ startSpinnerDialog(message, strokeWidth, diameter) {
514
+ if (this._spinnerDialogIsOpen) {
515
+ return null;
516
+ }
517
+ this._spinnerDialogIsOpen = true;
518
+ let configuration = new MatLegacyDialogConfig();
519
+ configuration.data = {
520
+ message: message,
521
+ strokeWidth: strokeWidth,
522
+ diameter: diameter
523
+ };
524
+ configuration.width = "13em";
525
+ configuration.disableClose = true;
526
+ let dialogRef = this.dialog.open(SpinnerDialogComponent, configuration);
527
+ dialogRef.afterClosed().subscribe(() => {
528
+ this._spinnerDialogIsOpen = false;
529
+ });
530
+ this.spinnerDialogRefs.push(dialogRef);
531
+ return dialogRef;
532
+ }
533
+ // Let there be an alternative, global way to stop all active spinner dialogs.
534
+ stopAllSpinnerDialogs() {
535
+ this.spinnerWorkItemCount = 0;
536
+ for (let dialogRef of this.spinnerDialogRefs) {
537
+ setTimeout(() => {
538
+ dialogRef.close();
539
+ });
540
+ }
541
+ this.spinnerDialogRefs = [];
542
+ }
543
+ addSpinnerWorkItem() {
544
+ this.spinnerWorkItemCount++;
545
+ if (!this.checkingSpinnerWorkItems) {
546
+ this.checkingSpinnerWorkItems = true;
547
+ setTimeout(() => {
548
+ this.checkSpinnerWorkItems();
549
+ });
550
+ }
551
+ }
552
+ removeSpinnerWorkItem() {
553
+ this.spinnerWorkItemCount--;
554
+ if (this.spinnerWorkItemCount < 0) {
555
+ this.spinnerWorkItemCount = 0;
556
+ }
557
+ if (!this.checkingSpinnerWorkItems) {
558
+ this.checkingSpinnerWorkItems = true;
559
+ setTimeout(() => {
560
+ this.checkSpinnerWorkItems();
561
+ });
562
+ }
563
+ }
564
+ checkSpinnerWorkItems() {
565
+ this.checkingSpinnerWorkItems = false;
566
+ if (this.spinnerWorkItemCount) {
567
+ if (!this._spinnerDialogIsOpen) {
568
+ this.startDefaultSpinnerDialog();
569
+ }
570
+ }
571
+ else if (this._spinnerDialogIsOpen) {
572
+ this.stopAllSpinnerDialogs();
573
+ }
574
+ }
575
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DialogsService, deps: [{ token: i1$1.MatLegacyDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
576
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DialogsService }); }
577
+ }
578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DialogsService, decorators: [{
579
+ type: Injectable
580
+ }], ctorParameters: () => [{ type: i1$1.MatLegacyDialog }] });
581
581
 
582
- class ResizableSectionDividerComponent {
583
- constructor() {
584
- // Starting width or height % for the right / bottom containers respectively
585
- this.initialPercentage = 50;
586
- this.isVerticalLayout = false;
587
- this.maxPercentage = 90;
588
- this.minPercentage = 10;
589
- this.dragging = false;
590
- this.grabberOffset = 0;
591
- }
592
- ngOnInit() {
593
- this.sectionSize = this.initialPercentage;
594
- this.verticalTouchFunction = (event) => {
595
- if (this.dragging) {
596
- this.grabberOffset = (((20 / this.verticalContainer.nativeElement.offsetHeight) * 100) / 2);
597
- this.sectionSize = ((this.verticalContainer.nativeElement.offsetHeight - (event.touches[0].pageY - this.verticalContainer.nativeElement.getBoundingClientRect().top))
598
- / (this.verticalContainer.nativeElement.offsetHeightt) * 100);
599
- event.stopPropagation();
600
- event.preventDefault();
601
- }
602
- };
603
- this.horizontalTouchFunction = (event) => {
604
- if (this.dragging) {
605
- this.grabberOffset = (((10 / this.horizontalContainer.nativeElement.offsetWidth) * 100) / 2);
606
- this.sectionSize = ((this.horizontalContainer.nativeElement.offsetWidth - event.touches[0].pageX - this.horizontalContainer.nativeElement.getBoundingClientRect().left)
607
- / (this.horizontalContainer.nativeElement.offsetWidth) * 100);
608
- event.stopPropagation();
609
- event.preventDefault();
610
- }
611
- };
612
- }
613
- ngAfterViewInit() {
614
- // Handle initializing grabber size for when elements are initialized as hidden
615
- this.elementObserver = new IntersectionObserver((entries, observable) => {
616
- entries.forEach(entry => {
617
- if (entry.isIntersecting) {
618
- // subtract half the grabber height/width % from each section
619
- if (this.isVerticalLayout) {
620
- this.grabberOffset = (((20 / this.verticalContainer.nativeElement.offsetHeight) * 100) / 2);
621
- }
622
- else {
623
- this.grabberOffset = (((10 / this.horizontalContainer.nativeElement.offsetWidth) * 100) / 2);
624
- }
625
- observable.disconnect();
626
- }
627
- });
628
- });
629
- if (this.isVerticalLayout) {
630
- this.elementObserver.observe(this.verticalContainer.nativeElement);
631
- window.addEventListener("touchmove", this.verticalTouchFunction, { passive: false });
632
- }
633
- else {
634
- this.elementObserver.observe(this.horizontalContainer.nativeElement);
635
- window.addEventListener("touchmove", this.horizontalTouchFunction, { passive: false });
636
- }
637
- }
638
- mouseMove(event) {
639
- if (this.dragging) {
640
- if (this.isVerticalLayout) {
641
- this.grabberOffset = (((20 / this.verticalContainer.nativeElement.offsetHeight) * 100) / 2);
642
- this.sectionSize = ((this.verticalContainer.nativeElement.offsetHeight - (event.pageY - this.verticalContainer.nativeElement.getBoundingClientRect().top))
643
- / (this.verticalContainer.nativeElement.offsetHeight) * 100);
644
- event.stopPropagation();
645
- event.preventDefault();
646
- }
647
- else {
648
- this.grabberOffset = (((10 / this.horizontalContainer.nativeElement.offsetWidth) * 100) / 2);
649
- this.sectionSize = ((this.horizontalContainer.nativeElement.offsetWidth - event.pageX - this.horizontalContainer.nativeElement.getBoundingClientRect().left)
650
- / (this.horizontalContainer.nativeElement.offsetWidth) * 100);
651
- event.stopPropagation();
652
- event.preventDefault();
653
- }
654
- }
655
- }
656
- mouseUp(event) {
657
- if (this.dragging) {
658
- this.dragging = false;
659
- }
660
- }
661
- ngOnDestroy() {
662
- if (this.isVerticalLayout) {
663
- window.removeEventListener("touchmove", this.verticalTouchFunction);
664
- }
665
- else {
666
- window.removeEventListener("touchmove", this.horizontalTouchFunction);
667
- }
668
- }
669
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizableSectionDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
670
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResizableSectionDividerComponent, selector: "resizable-section-divider", inputs: { initialPercentage: "initialPercentage", isVerticalLayout: "isVerticalLayout", maxPercentage: "maxPercentage", minPercentage: "minPercentage" }, host: { listeners: { "document:mousemove": "mouseMove($event)", "document:mouseup": "mouseUp($event)", "document:touchend": "mouseUp($event)" } }, viewQueries: [{ propertyName: "verticalContainer", first: true, predicate: ["verticalContainer"], descendants: true }, { propertyName: "horizontalContainer", first: true, predicate: ["horizontalContainer"], descendants: true }], ngImport: i0, template: `
582
+ class ResizableSectionDividerComponent {
583
+ constructor() {
584
+ // Starting width or height % for the right / bottom containers respectively
585
+ this.initialPercentage = 50;
586
+ this.isVerticalLayout = false;
587
+ this.maxPercentage = 90;
588
+ this.minPercentage = 10;
589
+ this.dragging = false;
590
+ this.grabberOffset = 0;
591
+ }
592
+ ngOnInit() {
593
+ this.sectionSize = this.initialPercentage;
594
+ this.verticalTouchFunction = (event) => {
595
+ if (this.dragging) {
596
+ this.grabberOffset = (((20 / this.verticalContainer.nativeElement.offsetHeight) * 100) / 2);
597
+ this.sectionSize = ((this.verticalContainer.nativeElement.offsetHeight - (event.touches[0].pageY - this.verticalContainer.nativeElement.getBoundingClientRect().top))
598
+ / (this.verticalContainer.nativeElement.offsetHeightt) * 100);
599
+ event.stopPropagation();
600
+ event.preventDefault();
601
+ }
602
+ };
603
+ this.horizontalTouchFunction = (event) => {
604
+ if (this.dragging) {
605
+ this.grabberOffset = (((10 / this.horizontalContainer.nativeElement.offsetWidth) * 100) / 2);
606
+ this.sectionSize = ((this.horizontalContainer.nativeElement.offsetWidth - event.touches[0].pageX - this.horizontalContainer.nativeElement.getBoundingClientRect().left)
607
+ / (this.horizontalContainer.nativeElement.offsetWidth) * 100);
608
+ event.stopPropagation();
609
+ event.preventDefault();
610
+ }
611
+ };
612
+ }
613
+ ngAfterViewInit() {
614
+ // Handle initializing grabber size for when elements are initialized as hidden
615
+ this.elementObserver = new IntersectionObserver((entries, observable) => {
616
+ entries.forEach(entry => {
617
+ if (entry.isIntersecting) {
618
+ // subtract half the grabber height/width % from each section
619
+ if (this.isVerticalLayout) {
620
+ this.grabberOffset = (((20 / this.verticalContainer.nativeElement.offsetHeight) * 100) / 2);
621
+ }
622
+ else {
623
+ this.grabberOffset = (((10 / this.horizontalContainer.nativeElement.offsetWidth) * 100) / 2);
624
+ }
625
+ observable.disconnect();
626
+ }
627
+ });
628
+ });
629
+ if (this.isVerticalLayout) {
630
+ this.elementObserver.observe(this.verticalContainer.nativeElement);
631
+ window.addEventListener("touchmove", this.verticalTouchFunction, { passive: false });
632
+ }
633
+ else {
634
+ this.elementObserver.observe(this.horizontalContainer.nativeElement);
635
+ window.addEventListener("touchmove", this.horizontalTouchFunction, { passive: false });
636
+ }
637
+ }
638
+ mouseMove(event) {
639
+ if (this.dragging) {
640
+ if (this.isVerticalLayout) {
641
+ this.grabberOffset = (((20 / this.verticalContainer.nativeElement.offsetHeight) * 100) / 2);
642
+ this.sectionSize = ((this.verticalContainer.nativeElement.offsetHeight - (event.pageY - this.verticalContainer.nativeElement.getBoundingClientRect().top))
643
+ / (this.verticalContainer.nativeElement.offsetHeight) * 100);
644
+ event.stopPropagation();
645
+ event.preventDefault();
646
+ }
647
+ else {
648
+ this.grabberOffset = (((10 / this.horizontalContainer.nativeElement.offsetWidth) * 100) / 2);
649
+ this.sectionSize = ((this.horizontalContainer.nativeElement.offsetWidth - event.pageX - this.horizontalContainer.nativeElement.getBoundingClientRect().left)
650
+ / (this.horizontalContainer.nativeElement.offsetWidth) * 100);
651
+ event.stopPropagation();
652
+ event.preventDefault();
653
+ }
654
+ }
655
+ }
656
+ mouseUp(event) {
657
+ if (this.dragging) {
658
+ this.dragging = false;
659
+ }
660
+ }
661
+ ngOnDestroy() {
662
+ if (this.isVerticalLayout) {
663
+ window.removeEventListener("touchmove", this.verticalTouchFunction);
664
+ }
665
+ else {
666
+ window.removeEventListener("touchmove", this.horizontalTouchFunction);
667
+ }
668
+ }
669
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ResizableSectionDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
670
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ResizableSectionDividerComponent, selector: "resizable-section-divider", inputs: { initialPercentage: "initialPercentage", isVerticalLayout: "isVerticalLayout", maxPercentage: "maxPercentage", minPercentage: "minPercentage" }, host: { listeners: { "document:mousemove": "mouseMove($event)", "document:mouseup": "mouseUp($event)", "document:touchend": "mouseUp($event)" } }, viewQueries: [{ propertyName: "verticalContainer", first: true, predicate: ["verticalContainer"], descendants: true }, { propertyName: "horizontalContainer", first: true, predicate: ["horizontalContainer"], descendants: true }], ngImport: i0, template: `
671
671
  <div *ngIf="isVerticalLayout" style="height: 100%; width: 100%;" #verticalContainer>
672
672
  <div class="p-1" style="width: 100%;" [style.min-height.%]="minPercentage" [style.max-height.%]="maxPercentage" [style.height.%]="(100 - sectionSize - grabberOffset)">
673
673
  <ng-content select="[topSection]"></ng-content>
@@ -695,10 +695,10 @@ class ResizableSectionDividerComponent {
695
695
  <ng-content select="[rightSection]"></ng-content>
696
696
  </div>
697
697
  </div>
698
- `, isInline: true, styles: [".rad-grabber{cursor:ew-resize}.rad-grabber-vertical{cursor:ns-resize}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
699
- }
700
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizableSectionDividerComponent, decorators: [{
701
- type: Component,
698
+ `, isInline: true, styles: [".rad-grabber{cursor:ew-resize}.rad-grabber-vertical{cursor:ns-resize}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
699
+ }
700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ResizableSectionDividerComponent, decorators: [{
701
+ type: Component,
702
702
  args: [{ selector: "resizable-section-divider", template: `
703
703
  <div *ngIf="isVerticalLayout" style="height: 100%; width: 100%;" #verticalContainer>
704
704
  <div class="p-1" style="width: 100%;" [style.min-height.%]="minPercentage" [style.max-height.%]="maxPercentage" [style.height.%]="(100 - sectionSize - grabberOffset)">
@@ -727,414 +727,414 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
727
727
  <ng-content select="[rightSection]"></ng-content>
728
728
  </div>
729
729
  </div>
730
- `, styles: [".rad-grabber{cursor:ew-resize}.rad-grabber-vertical{cursor:ns-resize}\n"] }]
731
- }], propDecorators: { initialPercentage: [{
732
- type: Input
733
- }], isVerticalLayout: [{
734
- type: Input
735
- }], maxPercentage: [{
736
- type: Input
737
- }], minPercentage: [{
738
- type: Input
739
- }], verticalContainer: [{
740
- type: ViewChild,
741
- args: ["verticalContainer", { static: false }]
742
- }], horizontalContainer: [{
743
- type: ViewChild,
744
- args: ["horizontalContainer", { static: false }]
745
- }], mouseMove: [{
746
- type: HostListener,
747
- args: ["document:mousemove", ["$event"]]
748
- }], mouseUp: [{
749
- type: HostListener,
750
- args: ["document:mouseup", ["$event"]]
751
- }, {
752
- type: HostListener,
753
- args: ["document:touchend", ["$event"]]
730
+ `, styles: [".rad-grabber{cursor:ew-resize}.rad-grabber-vertical{cursor:ns-resize}\n"] }]
731
+ }], propDecorators: { initialPercentage: [{
732
+ type: Input
733
+ }], isVerticalLayout: [{
734
+ type: Input
735
+ }], maxPercentage: [{
736
+ type: Input
737
+ }], minPercentage: [{
738
+ type: Input
739
+ }], verticalContainer: [{
740
+ type: ViewChild,
741
+ args: ["verticalContainer", { static: false }]
742
+ }], horizontalContainer: [{
743
+ type: ViewChild,
744
+ args: ["horizontalContainer", { static: false }]
745
+ }], mouseMove: [{
746
+ type: HostListener,
747
+ args: ["document:mousemove", ["$event"]]
748
+ }], mouseUp: [{
749
+ type: HostListener,
750
+ args: ["document:mouseup", ["$event"]]
751
+ }, {
752
+ type: HostListener,
753
+ args: ["document:touchend", ["$event"]]
754
754
  }] } });
755
755
 
756
- class ReportingFrameworkComponent {
757
- constructor(http, resolver, datePipe, dialogsService, modalService) {
758
- this.http = http;
759
- this.resolver = resolver;
760
- this.datePipe = datePipe;
761
- this.dialogsService = dialogsService;
762
- this.modalService = modalService;
763
- this.fullGridList = [];
764
- this.tabbedGridList = {};
765
- this.gridOptions = {
766
- rowStyle: {
767
- "font-family": "Prompt, sans-serif"
768
- },
769
- rowHeight: 20,
770
- enableCellTextSelection: true,
771
- ensureDomOrder: true
772
- }; //enableCellTextSelection should be combined with ensureDomOrder
773
- this.tabbedGridApiList = {}; //a map of GridAPIs to tab names
774
- this.reportList = [];
775
- this.tabList = [];
776
- this.tabTypeNameLookup = {}; //a kind of dict that maps the tab or type to the tab-name
777
- this.selectedReport = new Report();
778
- this.displayedParamComponentRefs = [];
779
- this.displayedFormatComponentRefs = [];
780
- }
781
- ngOnInit() {
782
- if (this.manageReportUrl != null) {
783
- this.http.get(this.manageReportUrl, {
784
- params: new HttpParams().set("action", "loadWithParams")
785
- }).subscribe((resp) => {
786
- console.log(resp);
787
- var templist = [];
788
- var tempTabbedGridList = {};
789
- var tablist = resp["reportTabs"];
790
- for (let row of tablist) {
791
- var tab = new ReportTab();
792
- tab.name = row.name;
793
- tab.title = row.title;
794
- tab.type = row.type;
795
- tab.tab = row.tab;
796
- tab.datakey = row.datakey;
797
- if (!this.reportsByType) {
798
- this.tabList.push(tab);
799
- if (tab.tab) {
800
- this.tabTypeNameLookup[tab.tab] = tab.name;
801
- }
802
- if (tab.type) {
803
- this.tabTypeNameLookup[tab.type] = tab.name;
804
- }
805
- }
806
- else {
807
- if (this.reportsByType == tab.type) {
808
- this.tabList.push(tab);
809
- this.tabTypeNameLookup[tab.tab] = tab.name;
810
- }
811
- }
812
- var tabGridList = [];
813
- this.tabbedGridList[tab.name] = tabGridList;
814
- tempTabbedGridList[tab.name] = [];
815
- }
816
- var list = resp["reportList"];
817
- // console.log(list);
818
- for (let row of list) {
819
- var report = new Report();
820
- report.name = row.name;
821
- report.title = row.title;
822
- report.description = row.description;
823
- report.className = row.className;
824
- report.fileName = row.fileName;
825
- report.type = row.type;
826
- report.tab = row.tab;
827
- report.datakey = row.datakey;
828
- report.help = row.help;
829
- const object = {
830
- name: report.name,
831
- title: report.title,
832
- description: report.description
833
- };
834
- var tabname;
835
- if (report.tab) {
836
- tabname = this.tabTypeNameLookup[report.tab];
837
- }
838
- else if (!this.reportsByType && report.type) {
839
- tabname = this.tabTypeNameLookup[report.type];
840
- }
841
- if (tabname) {
842
- var gridlist = tempTabbedGridList[tabname];
843
- if (this.reportsByType) {
844
- if (report.type === this.reportsByType) {
845
- gridlist.push(object);
846
- }
847
- }
848
- else {
849
- gridlist.push(object);
850
- }
851
- }
852
- let params = row.params;
853
- if (params) {
854
- for (let p of params) {
855
- // console.log(p);
856
- var newParam = new Param();
857
- newParam.dictAPILeadIn = this.dictAPILeadIn;
858
- newParam.caption = p.caption;
859
- newParam.name = p.name;
860
- newParam.type = p.type;
861
- newParam.className = p.className;
862
- newParam.valueXPath = p.valueXPath;
863
- newParam.displayXPath = p.displayXPath;
864
- newParam.displayOrder = p.displayOrder;
865
- newParam.activeOnly = p.activeOnly;
866
- if (newParam.valueXPath) {
867
- newParam.valueXPath = newParam.valueXPath.replace("@", "");
868
- }
869
- if (newParam.displayXPath) {
870
- newParam.displayXPath = newParam.displayXPath.replace("@", "");
871
- }
872
- let options = p.options;
873
- if (options) {
874
- for (let o of options) {
875
- var newOption = new Option();
876
- newOption.value = o.value;
877
- newOption.display = o.display;
878
- newOption.displayOrder = o.displayOrder;
879
- newParam.options.push(newOption);
880
- }
881
- }
882
- report.params.push(newParam);
883
- }
884
- }
885
- let formats = row.formats;
886
- if (formats) {
887
- for (let f of formats) {
888
- var newFormat = new Format();
889
- newFormat.name = f.name;
890
- newFormat.caption = f.caption;
891
- newFormat.displayOrder = f.displayOrder;
892
- report.formats.push(newFormat);
893
- }
894
- }
895
- this.reportList.push(report);
896
- if (this.reportsByType) {
897
- if (report.type === this.reportsByType) {
898
- templist.push(object);
899
- }
900
- }
901
- else {
902
- templist.push(object);
903
- }
904
- }
905
- this.fullGridList = templist.slice();
906
- console.log("gridlist: ");
907
- console.log(this.fullGridList);
908
- for (let tab of this.tabList) {
909
- this.tabbedGridList[tab.name] = tempTabbedGridList[tab.name].slice();
910
- }
911
- });
912
- }
913
- }
914
- columnDef() {
915
- return [
916
- {
917
- field: "title",
918
- headerName: "Title",
919
- width: 300,
920
- sortable: true,
921
- resizable: true,
922
- editable: false
923
- },
924
- {
925
- field: "description",
926
- headerName: "Description",
927
- sortable: true,
928
- resizable: true,
929
- editable: false
930
- }
931
- ];
932
- }
933
- onMainGridReady(params) {
934
- this.mainGridApi = params.api;
935
- this.mainGridApi.setColumnDefs(this.columnDef());
936
- this.mainGridApi.setRowData(this.fullGridList);
937
- this.mainGridApi.sizeColumnsToFit();
938
- }
939
- onTabbedGridReady(params, tabname) {
940
- this.tabbedGridApiList[tabname] = params.api;
941
- this.tabbedGridApiList[tabname].setColumnDefs(this.columnDef());
942
- this.tabbedGridApiList[tabname].setRowData(this.tabbedGridList[tabname]);
943
- this.tabbedGridApiList[tabname].sizeColumnsToFit();
944
- }
945
- setSelectedRow(event) {
946
- //console.log(event);
947
- if (event.node.selected) {
948
- let reportName = event.node.data.name;
949
- console.log(event.node.data.name);
950
- var matchedReport;
951
- for (let r of this.reportList) {
952
- if (r.name == reportName) {
953
- matchedReport = r;
954
- }
955
- }
956
- if (matchedReport != null) {
957
- this.selectedReport = matchedReport;
958
- }
959
- else {
960
- this.selectedReport = new Report();
961
- }
962
- this.createParamComponents();
963
- }
964
- }
965
- createParamComponents() {
966
- if (this.paramContainer) {
967
- this.paramContainer.clear();
968
- }
969
- if (this.formatContainer) {
970
- this.formatContainer.clear();
971
- }
972
- //destroy previous components and clear the displayedRef lists..?
973
- this.destroyComponentRefs();
974
- this.displayedParamComponentRefs = [];
975
- this.displayedFormatComponentRefs = [];
976
- for (let p of this.selectedReport.params) {
977
- const factory = this.resolver.resolveComponentFactory(ParameterComponent);
978
- var componentRef = this.paramContainer.createComponent(factory);
979
- this.displayedParamComponentRefs.push(componentRef);
980
- componentRef.instance.setParam(p);
981
- if (p.options.length > 0) {
982
- var entries = [];
983
- for (let o of p.options) {
984
- var e = { id: o.value, display: o.display };
985
- entries.push(e);
986
- }
987
- componentRef.instance.entries = entries;
988
- }
989
- }
990
- var first = true;
991
- for (let f of this.selectedReport.formats) {
992
- const factory2 = this.resolver.resolveComponentFactory(FormatComponent);
993
- var componentRef2 = this.formatContainer.createComponent(factory2);
994
- this.displayedFormatComponentRefs.push(componentRef2);
995
- componentRef2.instance.format = f;
996
- componentRef2.instance.selectedValueChange.subscribe((s) => {
997
- this.selectedFormat = s;
998
- });
999
- if (first) { //select the first format in the grouping
1000
- componentRef2.instance.selectedValue = f.name;
1001
- this.selectedFormat = f.name;
1002
- first = false;
1003
- }
1004
- }
1005
- }
1006
- openHelp(content) {
1007
- this.modalService.open(content, { ariaLabelledBy: "help-modal-title" })
1008
- .result.then((result) => {
1009
- // this.closeResult = `Closed with: ${result}`;
1010
- console.log(result);
1011
- }, (reason) => {
1012
- var closeResult = `Dismissed ${this.getDismissReason(reason)}`;
1013
- console.log(closeResult);
1014
- });
1015
- }
1016
- getDismissReason(reason) {
1017
- if (reason === ModalDismissReasons.ESC) {
1018
- return "by pressing ESC";
1019
- }
1020
- else if (reason === ModalDismissReasons.BACKDROP_CLICK) {
1021
- return "by clicking on a backdrop";
1022
- }
1023
- else {
1024
- return `with: ${reason}`;
1025
- }
1026
- }
1027
- onRunReport() {
1028
- if (this.selectedReport) {
1029
- this.dialogsService.startDefaultSpinnerDialog();
1030
- console.log("format:" + this.selectedFormat);
1031
- if (!this.selectedFormat) {
1032
- this.selectedFormat = "html";
1033
- }
1034
- let runParams = new HttpParams();
1035
- runParams = runParams.append("format", this.selectedFormat);
1036
- runParams = runParams.append("action", "show");
1037
- runParams = runParams.append("reportName", this.selectedReport.name);
1038
- runParams = this.getRunParameters(runParams);
1039
- console.log(runParams);
1040
- this.http.get(this.commandPrefix + this.selectedReport.className, {
1041
- params: runParams,
1042
- observe: "response",
1043
- responseType: "blob"
1044
- }).subscribe((res) => {
1045
- console.log(res);
1046
- var filename;
1047
- if (this.selectedFormat != "html") {
1048
- filename = res.headers.get("content-disposition").split(";")[1].split("=")[1].replace(/\"/g, "");
1049
- }
1050
- var blob = new Blob([res.body], { type: res.body.type }); //, {type: "application/vnd.ms-excel"}
1051
- var fileURL = window.URL.createObjectURL(blob);
1052
- console.log(fileURL);
1053
- const a = document.createElement("a");
1054
- a.href = fileURL;
1055
- if (this.selectedFormat == "html") {
1056
- a.target = "_blank";
1057
- }
1058
- else {
1059
- a.download = filename;
1060
- }
1061
- window.document.body.appendChild(a);
1062
- a.click();
1063
- window.document.body.removeChild(a);
1064
- URL.revokeObjectURL(fileURL);
1065
- this.dialogsService.stopAllSpinnerDialogs();
1066
- });
1067
- }
1068
- }
1069
- getRunParameters(runParams) {
1070
- var newParams = runParams;
1071
- for (let o of this.displayedParamComponentRefs) {
1072
- var param = o.instance.param;
1073
- if (param.type == "multiselect") {
1074
- var resList = "";
1075
- for (let v of param.selectedValueList) {
1076
- if (resList != "") {
1077
- resList += ",";
1078
- }
1079
- resList += v;
1080
- }
1081
- newParams = newParams.append(param.name, resList);
1082
- }
1083
- else {
1084
- var value;
1085
- if (param.selectedValue) { //so we don't get "undefined" sent back
1086
- if (param.type == "date") {
1087
- value = this.getDateString(param.selectedValue);
1088
- }
1089
- else {
1090
- value = param.selectedValue;
1091
- }
1092
- }
1093
- else {
1094
- value = "";
1095
- }
1096
- newParams = newParams.append(param.name, value);
1097
- }
1098
- }
1099
- return newParams;
1100
- }
1101
- getDateString(date) {
1102
- if (date instanceof Date) {
1103
- if (!isNaN(date.getTime())) {
1104
- return this.datePipe.transform(date, "MM/dd/yyyy");
1105
- }
1106
- else {
1107
- return "";
1108
- }
1109
- }
1110
- else if (moment.isMoment(date)) {
1111
- if (date != null) {
1112
- return date.format("M/D/YYYY");
1113
- }
1114
- else {
1115
- return "";
1116
- }
1117
- }
1118
- else if (typeof date == "string") {
1119
- return date;
1120
- }
1121
- else {
1122
- return "";
1123
- }
1124
- }
1125
- destroyComponentRefs() {
1126
- for (let o of this.displayedParamComponentRefs) {
1127
- o.destroy();
1128
- }
1129
- for (let o of this.displayedFormatComponentRefs) {
1130
- o.destroy();
1131
- }
1132
- }
1133
- ngOnDestroy() {
1134
- this.destroyComponentRefs();
1135
- }
1136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportingFrameworkComponent, deps: [{ token: i1$2.HttpClient }, { token: i0.ComponentFactoryResolver }, { token: i1.DatePipe }, { token: DialogsService }, { token: i4.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
1137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ReportingFrameworkComponent, selector: "hci-reporting-framework", inputs: { manageReportUrl: "manageReportUrl", commandPrefix: "commandPrefix", dictAPILeadIn: "dictAPILeadIn", reportsByType: "reportsByType" }, viewQueries: [{ propertyName: "paramContainer", first: true, predicate: ["paramContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "formatContainer", first: true, predicate: ["formatContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
756
+ class ReportingFrameworkComponent {
757
+ constructor(http, resolver, datePipe, dialogsService, modalService) {
758
+ this.http = http;
759
+ this.resolver = resolver;
760
+ this.datePipe = datePipe;
761
+ this.dialogsService = dialogsService;
762
+ this.modalService = modalService;
763
+ this.fullGridList = [];
764
+ this.tabbedGridList = {};
765
+ this.gridOptions = {
766
+ rowStyle: {
767
+ "font-family": "Prompt, sans-serif"
768
+ },
769
+ rowHeight: 20,
770
+ enableCellTextSelection: true,
771
+ ensureDomOrder: true
772
+ }; //enableCellTextSelection should be combined with ensureDomOrder
773
+ this.tabbedGridApiList = {}; //a map of GridAPIs to tab names
774
+ this.reportList = [];
775
+ this.tabList = [];
776
+ this.tabTypeNameLookup = {}; //a kind of dict that maps the tab or type to the tab-name
777
+ this.selectedReport = new Report();
778
+ this.displayedParamComponentRefs = [];
779
+ this.displayedFormatComponentRefs = [];
780
+ }
781
+ ngOnInit() {
782
+ if (this.manageReportUrl != null) {
783
+ this.http.get(this.manageReportUrl, {
784
+ params: new HttpParams().set("action", "loadWithParams")
785
+ }).subscribe((resp) => {
786
+ console.log(resp);
787
+ var templist = [];
788
+ var tempTabbedGridList = {};
789
+ var tablist = resp["reportTabs"];
790
+ for (let row of tablist) {
791
+ var tab = new ReportTab();
792
+ tab.name = row.name;
793
+ tab.title = row.title;
794
+ tab.type = row.type;
795
+ tab.tab = row.tab;
796
+ tab.datakey = row.datakey;
797
+ if (!this.reportsByType) {
798
+ this.tabList.push(tab);
799
+ if (tab.tab) {
800
+ this.tabTypeNameLookup[tab.tab] = tab.name;
801
+ }
802
+ if (tab.type) {
803
+ this.tabTypeNameLookup[tab.type] = tab.name;
804
+ }
805
+ }
806
+ else {
807
+ if (this.reportsByType == tab.type) {
808
+ this.tabList.push(tab);
809
+ this.tabTypeNameLookup[tab.tab] = tab.name;
810
+ }
811
+ }
812
+ var tabGridList = [];
813
+ this.tabbedGridList[tab.name] = tabGridList;
814
+ tempTabbedGridList[tab.name] = [];
815
+ }
816
+ var list = resp["reportList"];
817
+ // console.log(list);
818
+ for (let row of list) {
819
+ var report = new Report();
820
+ report.name = row.name;
821
+ report.title = row.title;
822
+ report.description = row.description;
823
+ report.className = row.className;
824
+ report.fileName = row.fileName;
825
+ report.type = row.type;
826
+ report.tab = row.tab;
827
+ report.datakey = row.datakey;
828
+ report.help = row.help;
829
+ const object = {
830
+ name: report.name,
831
+ title: report.title,
832
+ description: report.description
833
+ };
834
+ var tabname;
835
+ if (report.tab) {
836
+ tabname = this.tabTypeNameLookup[report.tab];
837
+ }
838
+ else if (!this.reportsByType && report.type) {
839
+ tabname = this.tabTypeNameLookup[report.type];
840
+ }
841
+ if (tabname) {
842
+ var gridlist = tempTabbedGridList[tabname];
843
+ if (this.reportsByType) {
844
+ if (report.type === this.reportsByType) {
845
+ gridlist.push(object);
846
+ }
847
+ }
848
+ else {
849
+ gridlist.push(object);
850
+ }
851
+ }
852
+ let params = row.params;
853
+ if (params) {
854
+ for (let p of params) {
855
+ // console.log(p);
856
+ var newParam = new Param();
857
+ newParam.dictAPILeadIn = this.dictAPILeadIn;
858
+ newParam.caption = p.caption;
859
+ newParam.name = p.name;
860
+ newParam.type = p.type;
861
+ newParam.className = p.className;
862
+ newParam.valueXPath = p.valueXPath;
863
+ newParam.displayXPath = p.displayXPath;
864
+ newParam.displayOrder = p.displayOrder;
865
+ newParam.activeOnly = p.activeOnly;
866
+ if (newParam.valueXPath) {
867
+ newParam.valueXPath = newParam.valueXPath.replace("@", "");
868
+ }
869
+ if (newParam.displayXPath) {
870
+ newParam.displayXPath = newParam.displayXPath.replace("@", "");
871
+ }
872
+ let options = p.options;
873
+ if (options) {
874
+ for (let o of options) {
875
+ var newOption = new Option();
876
+ newOption.value = o.value;
877
+ newOption.display = o.display;
878
+ newOption.displayOrder = o.displayOrder;
879
+ newParam.options.push(newOption);
880
+ }
881
+ }
882
+ report.params.push(newParam);
883
+ }
884
+ }
885
+ let formats = row.formats;
886
+ if (formats) {
887
+ for (let f of formats) {
888
+ var newFormat = new Format();
889
+ newFormat.name = f.name;
890
+ newFormat.caption = f.caption;
891
+ newFormat.displayOrder = f.displayOrder;
892
+ report.formats.push(newFormat);
893
+ }
894
+ }
895
+ this.reportList.push(report);
896
+ if (this.reportsByType) {
897
+ if (report.type === this.reportsByType) {
898
+ templist.push(object);
899
+ }
900
+ }
901
+ else {
902
+ templist.push(object);
903
+ }
904
+ }
905
+ this.fullGridList = templist.slice();
906
+ console.log("gridlist: ");
907
+ console.log(this.fullGridList);
908
+ for (let tab of this.tabList) {
909
+ this.tabbedGridList[tab.name] = tempTabbedGridList[tab.name].slice();
910
+ }
911
+ });
912
+ }
913
+ }
914
+ columnDef() {
915
+ return [
916
+ {
917
+ field: "title",
918
+ headerName: "Title",
919
+ width: 300,
920
+ sortable: true,
921
+ resizable: true,
922
+ editable: false
923
+ },
924
+ {
925
+ field: "description",
926
+ headerName: "Description",
927
+ sortable: true,
928
+ resizable: true,
929
+ editable: false
930
+ }
931
+ ];
932
+ }
933
+ onMainGridReady(params) {
934
+ this.mainGridApi = params.api;
935
+ this.mainGridApi.setColumnDefs(this.columnDef());
936
+ this.mainGridApi.setRowData(this.fullGridList);
937
+ this.mainGridApi.sizeColumnsToFit();
938
+ }
939
+ onTabbedGridReady(params, tabname) {
940
+ this.tabbedGridApiList[tabname] = params.api;
941
+ this.tabbedGridApiList[tabname].setColumnDefs(this.columnDef());
942
+ this.tabbedGridApiList[tabname].setRowData(this.tabbedGridList[tabname]);
943
+ this.tabbedGridApiList[tabname].sizeColumnsToFit();
944
+ }
945
+ setSelectedRow(event) {
946
+ //console.log(event);
947
+ if (event.node.selected) {
948
+ let reportName = event.node.data.name;
949
+ console.log(event.node.data.name);
950
+ var matchedReport;
951
+ for (let r of this.reportList) {
952
+ if (r.name == reportName) {
953
+ matchedReport = r;
954
+ }
955
+ }
956
+ if (matchedReport != null) {
957
+ this.selectedReport = matchedReport;
958
+ }
959
+ else {
960
+ this.selectedReport = new Report();
961
+ }
962
+ this.createParamComponents();
963
+ }
964
+ }
965
+ createParamComponents() {
966
+ if (this.paramContainer) {
967
+ this.paramContainer.clear();
968
+ }
969
+ if (this.formatContainer) {
970
+ this.formatContainer.clear();
971
+ }
972
+ //destroy previous components and clear the displayedRef lists..?
973
+ this.destroyComponentRefs();
974
+ this.displayedParamComponentRefs = [];
975
+ this.displayedFormatComponentRefs = [];
976
+ for (let p of this.selectedReport.params) {
977
+ const factory = this.resolver.resolveComponentFactory(ParameterComponent);
978
+ var componentRef = this.paramContainer.createComponent(factory);
979
+ this.displayedParamComponentRefs.push(componentRef);
980
+ componentRef.instance.setParam(p);
981
+ if (p.options.length > 0) {
982
+ var entries = [];
983
+ for (let o of p.options) {
984
+ var e = { id: o.value, display: o.display };
985
+ entries.push(e);
986
+ }
987
+ componentRef.instance.entries = entries;
988
+ }
989
+ }
990
+ var first = true;
991
+ for (let f of this.selectedReport.formats) {
992
+ const factory2 = this.resolver.resolveComponentFactory(FormatComponent);
993
+ var componentRef2 = this.formatContainer.createComponent(factory2);
994
+ this.displayedFormatComponentRefs.push(componentRef2);
995
+ componentRef2.instance.format = f;
996
+ componentRef2.instance.selectedValueChange.subscribe((s) => {
997
+ this.selectedFormat = s;
998
+ });
999
+ if (first) { //select the first format in the grouping
1000
+ componentRef2.instance.selectedValue = f.name;
1001
+ this.selectedFormat = f.name;
1002
+ first = false;
1003
+ }
1004
+ }
1005
+ }
1006
+ openHelp(content) {
1007
+ this.modalService.open(content, { ariaLabelledBy: "help-modal-title" })
1008
+ .result.then((result) => {
1009
+ // this.closeResult = `Closed with: ${result}`;
1010
+ console.log(result);
1011
+ }, (reason) => {
1012
+ var closeResult = `Dismissed ${this.getDismissReason(reason)}`;
1013
+ console.log(closeResult);
1014
+ });
1015
+ }
1016
+ getDismissReason(reason) {
1017
+ if (reason === ModalDismissReasons.ESC) {
1018
+ return "by pressing ESC";
1019
+ }
1020
+ else if (reason === ModalDismissReasons.BACKDROP_CLICK) {
1021
+ return "by clicking on a backdrop";
1022
+ }
1023
+ else {
1024
+ return `with: ${reason}`;
1025
+ }
1026
+ }
1027
+ onRunReport() {
1028
+ if (this.selectedReport) {
1029
+ this.dialogsService.startDefaultSpinnerDialog();
1030
+ console.log("format:" + this.selectedFormat);
1031
+ if (!this.selectedFormat) {
1032
+ this.selectedFormat = "html";
1033
+ }
1034
+ let runParams = new HttpParams();
1035
+ runParams = runParams.append("format", this.selectedFormat);
1036
+ runParams = runParams.append("action", "show");
1037
+ runParams = runParams.append("reportName", this.selectedReport.name);
1038
+ runParams = this.getRunParameters(runParams);
1039
+ console.log(runParams);
1040
+ this.http.get(this.commandPrefix + this.selectedReport.className, {
1041
+ params: runParams,
1042
+ observe: "response",
1043
+ responseType: "blob"
1044
+ }).subscribe((res) => {
1045
+ console.log(res);
1046
+ var filename;
1047
+ if (this.selectedFormat != "html") {
1048
+ filename = res.headers.get("content-disposition").split(";")[1].split("=")[1].replace(/\"/g, "");
1049
+ }
1050
+ var blob = new Blob([res.body], { type: res.body.type }); //, {type: "application/vnd.ms-excel"}
1051
+ var fileURL = window.URL.createObjectURL(blob);
1052
+ console.log(fileURL);
1053
+ const a = document.createElement("a");
1054
+ a.href = fileURL;
1055
+ if (this.selectedFormat == "html") {
1056
+ a.target = "_blank";
1057
+ }
1058
+ else {
1059
+ a.download = filename;
1060
+ }
1061
+ window.document.body.appendChild(a);
1062
+ a.click();
1063
+ window.document.body.removeChild(a);
1064
+ URL.revokeObjectURL(fileURL);
1065
+ this.dialogsService.stopAllSpinnerDialogs();
1066
+ });
1067
+ }
1068
+ }
1069
+ getRunParameters(runParams) {
1070
+ var newParams = runParams;
1071
+ for (let o of this.displayedParamComponentRefs) {
1072
+ var param = o.instance.param;
1073
+ if (param.type == "multiselect") {
1074
+ var resList = "";
1075
+ for (let v of param.selectedValueList) {
1076
+ if (resList != "") {
1077
+ resList += ",";
1078
+ }
1079
+ resList += v;
1080
+ }
1081
+ newParams = newParams.append(param.name, resList);
1082
+ }
1083
+ else {
1084
+ var value;
1085
+ if (param.selectedValue) { //so we don't get "undefined" sent back
1086
+ if (param.type == "date") {
1087
+ value = this.getDateString(param.selectedValue);
1088
+ }
1089
+ else {
1090
+ value = param.selectedValue;
1091
+ }
1092
+ }
1093
+ else {
1094
+ value = "";
1095
+ }
1096
+ newParams = newParams.append(param.name, value);
1097
+ }
1098
+ }
1099
+ return newParams;
1100
+ }
1101
+ getDateString(date) {
1102
+ if (date instanceof Date) {
1103
+ if (!isNaN(date.getTime())) {
1104
+ return this.datePipe.transform(date, "MM/dd/yyyy");
1105
+ }
1106
+ else {
1107
+ return "";
1108
+ }
1109
+ }
1110
+ else if (moment.isMoment(date)) {
1111
+ if (date != null) {
1112
+ return date.format("M/D/YYYY");
1113
+ }
1114
+ else {
1115
+ return "";
1116
+ }
1117
+ }
1118
+ else if (typeof date == "string") {
1119
+ return date;
1120
+ }
1121
+ else {
1122
+ return "";
1123
+ }
1124
+ }
1125
+ destroyComponentRefs() {
1126
+ for (let o of this.displayedParamComponentRefs) {
1127
+ o.destroy();
1128
+ }
1129
+ for (let o of this.displayedFormatComponentRefs) {
1130
+ o.destroy();
1131
+ }
1132
+ }
1133
+ ngOnDestroy() {
1134
+ this.destroyComponentRefs();
1135
+ }
1136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ReportingFrameworkComponent, deps: [{ token: i1$2.HttpClient }, { token: i0.ComponentFactoryResolver }, { token: i1.DatePipe }, { token: DialogsService }, { token: i4.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
1137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ReportingFrameworkComponent, selector: "hci-reporting-framework", inputs: { manageReportUrl: "manageReportUrl", commandPrefix: "commandPrefix", dictAPILeadIn: "dictAPILeadIn", reportsByType: "reportsByType" }, viewQueries: [{ propertyName: "paramContainer", first: true, predicate: ["paramContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "formatContainer", first: true, predicate: ["formatContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
1138
1138
  <div style="height: 100vh">
1139
1139
  <resizable-section-divider class="flex-grow-1" [isVerticalLayout]="true">
1140
1140
  <div topSection class="d-flex flex-column" style="height: 100%; width: 100%; overflow: auto;">
@@ -1236,10 +1236,10 @@ class ReportingFrameworkComponent {
1236
1236
  </div>
1237
1237
  </ng-template>
1238
1238
 
1239
- `, isInline: true, styles: [":host ::ng-deep .mat-tab-body-wrapper{flex-grow:1}:host ::ng-deep .mat-tab-label{background-color:#98c7e0}:host ::ng-deep .mat-tab-label-active{background-color:#def4ff}.report-details{height:100%;width:100%;position:absolute}.center-row{margin-top:10px;margin-left:60vw}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i5.MatLegacyTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "directive", type: i5.MatLegacyTabContent, selector: "[matTabContent]" }, { kind: "component", type: i6.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: ResizableSectionDividerComponent, selector: "resizable-section-divider", inputs: ["initialPercentage", "isVerticalLayout", "maxPercentage", "minPercentage"] }] }); }
1240
- }
1241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportingFrameworkComponent, decorators: [{
1242
- type: Component,
1239
+ `, isInline: true, styles: [":host ::ng-deep .mat-tab-body-wrapper{flex-grow:1}:host ::ng-deep .mat-tab-label{background-color:#98c7e0}:host ::ng-deep .mat-tab-label-active{background-color:#def4ff}.report-details{height:100%;width:100%;position:absolute}.center-row{margin-top:10px;margin-left:60vw}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatLegacyTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i5.MatLegacyTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "directive", type: i5.MatLegacyTabContent, selector: "[matTabContent]" }, { kind: "component", type: i6.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: ResizableSectionDividerComponent, selector: "resizable-section-divider", inputs: ["initialPercentage", "isVerticalLayout", "maxPercentage", "minPercentage"] }] }); }
1240
+ }
1241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ReportingFrameworkComponent, decorators: [{
1242
+ type: Component,
1243
1243
  args: [{ selector: "hci-reporting-framework", template: `
1244
1244
  <div style="height: 100vh">
1245
1245
  <resizable-section-divider class="flex-grow-1" [isVerticalLayout]="true">
@@ -1342,86 +1342,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1342
1342
  </div>
1343
1343
  </ng-template>
1344
1344
 
1345
- `, styles: [":host ::ng-deep .mat-tab-body-wrapper{flex-grow:1}:host ::ng-deep .mat-tab-label{background-color:#98c7e0}:host ::ng-deep .mat-tab-label-active{background-color:#def4ff}.report-details{height:100%;width:100%;position:absolute}.center-row{margin-top:10px;margin-left:60vw}\n"] }]
1346
- }], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i0.ComponentFactoryResolver }, { type: i1.DatePipe }, { type: DialogsService }, { type: i4.NgbModal }]; }, propDecorators: { manageReportUrl: [{
1347
- type: Input
1348
- }], commandPrefix: [{
1349
- type: Input
1350
- }], dictAPILeadIn: [{
1351
- type: Input
1352
- }], reportsByType: [{
1353
- type: Input
1354
- }], paramContainer: [{
1355
- type: ViewChild,
1356
- args: ["paramContainer", { read: ViewContainerRef, static: false }]
1357
- }], formatContainer: [{
1358
- type: ViewChild,
1359
- args: ["formatContainer", { read: ViewContainerRef, static: false }]
1345
+ `, styles: [":host ::ng-deep .mat-tab-body-wrapper{flex-grow:1}:host ::ng-deep .mat-tab-label{background-color:#98c7e0}:host ::ng-deep .mat-tab-label-active{background-color:#def4ff}.report-details{height:100%;width:100%;position:absolute}.center-row{margin-top:10px;margin-left:60vw}\n"] }]
1346
+ }], ctorParameters: () => [{ type: i1$2.HttpClient }, { type: i0.ComponentFactoryResolver }, { type: i1.DatePipe }, { type: DialogsService }, { type: i4.NgbModal }], propDecorators: { manageReportUrl: [{
1347
+ type: Input
1348
+ }], commandPrefix: [{
1349
+ type: Input
1350
+ }], dictAPILeadIn: [{
1351
+ type: Input
1352
+ }], reportsByType: [{
1353
+ type: Input
1354
+ }], paramContainer: [{
1355
+ type: ViewChild,
1356
+ args: ["paramContainer", { read: ViewContainerRef, static: false }]
1357
+ }], formatContainer: [{
1358
+ type: ViewChild,
1359
+ args: ["formatContainer", { read: ViewContainerRef, static: false }]
1360
1360
  }] } });
1361
1361
 
1362
- class ReportModule {
1363
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1364
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ReportModule, declarations: [ReportingFrameworkComponent,
1365
- ReportDatepickerComponent,
1366
- ParameterComponent,
1367
- FormatComponent,
1368
- SpinnerDialogComponent,
1369
- ResizableSectionDividerComponent], imports: [CommonModule,
1370
- FormsModule,
1371
- NgbModule,
1372
- MatDatepickerModule,
1373
- MatLegacyDialogModule,
1374
- MatLegacyProgressSpinnerModule,
1375
- MatLegacyTabsModule,
1376
- SelectModule,
1377
- AgGridModule], exports: [ReportingFrameworkComponent] }); }
1378
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportModule, providers: [
1379
- DatePipe,
1380
- DialogsService
1381
- ], imports: [CommonModule,
1382
- FormsModule,
1383
- NgbModule,
1384
- MatDatepickerModule,
1385
- MatLegacyDialogModule,
1386
- MatLegacyProgressSpinnerModule,
1387
- MatLegacyTabsModule,
1388
- SelectModule,
1389
- AgGridModule] }); }
1390
- }
1391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReportModule, decorators: [{
1392
- type: NgModule,
1393
- args: [{
1394
- imports: [
1395
- CommonModule,
1396
- FormsModule,
1397
- NgbModule,
1398
- MatDatepickerModule,
1399
- MatLegacyDialogModule,
1400
- MatLegacyProgressSpinnerModule,
1401
- MatLegacyTabsModule,
1402
- SelectModule,
1403
- AgGridModule,
1404
- ],
1405
- providers: [
1406
- DatePipe,
1407
- DialogsService
1408
- ],
1409
- declarations: [
1410
- ReportingFrameworkComponent,
1411
- ReportDatepickerComponent,
1412
- ParameterComponent,
1413
- FormatComponent,
1414
- SpinnerDialogComponent,
1415
- ResizableSectionDividerComponent
1416
- ],
1417
- exports: [
1418
- ReportingFrameworkComponent
1419
- ]
1420
- }]
1362
+ class ReportModule {
1363
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ReportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1364
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: ReportModule, declarations: [ReportingFrameworkComponent,
1365
+ ReportDatepickerComponent,
1366
+ ParameterComponent,
1367
+ FormatComponent,
1368
+ SpinnerDialogComponent,
1369
+ ResizableSectionDividerComponent], imports: [CommonModule,
1370
+ FormsModule,
1371
+ NgbModule,
1372
+ MatDatepickerModule,
1373
+ MatLegacyDialogModule,
1374
+ MatLegacyProgressSpinnerModule,
1375
+ MatLegacyTabsModule,
1376
+ SelectModule,
1377
+ AgGridModule], exports: [ReportingFrameworkComponent] }); }
1378
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ReportModule, providers: [
1379
+ DatePipe,
1380
+ DialogsService
1381
+ ], imports: [CommonModule,
1382
+ FormsModule,
1383
+ NgbModule,
1384
+ MatDatepickerModule,
1385
+ MatLegacyDialogModule,
1386
+ MatLegacyProgressSpinnerModule,
1387
+ MatLegacyTabsModule,
1388
+ SelectModule,
1389
+ AgGridModule] }); }
1390
+ }
1391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ReportModule, decorators: [{
1392
+ type: NgModule,
1393
+ args: [{
1394
+ imports: [
1395
+ CommonModule,
1396
+ FormsModule,
1397
+ NgbModule,
1398
+ MatDatepickerModule,
1399
+ MatLegacyDialogModule,
1400
+ MatLegacyProgressSpinnerModule,
1401
+ MatLegacyTabsModule,
1402
+ SelectModule,
1403
+ AgGridModule,
1404
+ ],
1405
+ providers: [
1406
+ DatePipe,
1407
+ DialogsService
1408
+ ],
1409
+ declarations: [
1410
+ ReportingFrameworkComponent,
1411
+ ReportDatepickerComponent,
1412
+ ParameterComponent,
1413
+ FormatComponent,
1414
+ SpinnerDialogComponent,
1415
+ ResizableSectionDividerComponent
1416
+ ],
1417
+ exports: [
1418
+ ReportingFrameworkComponent
1419
+ ]
1420
+ }]
1421
1421
  }] });
1422
1422
 
1423
- /**
1424
- * Generated bundle index. Do not edit.
1423
+ /**
1424
+ * Generated bundle index. Do not edit.
1425
1425
  */
1426
1426
 
1427
1427
  export { ReportModule, ReportingFrameworkComponent };