@pega/angular-sdk-components 0.242.4 → 0.242.6

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 (65) hide show
  1. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +3 -10
  2. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +27 -13
  3. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +30 -13
  4. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +10 -37
  5. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +2 -2
  6. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +2 -8
  7. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +75 -47
  8. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +30 -10
  9. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +3 -13
  10. package/esm2022/lib/_components/infra/view/view.component.mjs +15 -2
  11. package/esm2022/lib/_components/template/base/details-template-base.mjs +56 -0
  12. package/esm2022/lib/_components/template/base/form-template-base.mjs +16 -0
  13. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +9 -14
  14. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +35 -10
  15. package/esm2022/lib/_components/template/details/details.component.mjs +9 -36
  16. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +9 -36
  17. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +9 -38
  18. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +12 -39
  19. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +9 -38
  20. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +9 -38
  21. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +9 -38
  22. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +3 -3
  23. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +7 -6
  24. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +3 -3
  25. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +3 -3
  26. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +3 -3
  27. package/esm2022/lib/_components/widget/todo/todo.component.mjs +3 -3
  28. package/esm2022/lib/_services/banner.service.mjs +35 -0
  29. package/esm2022/lib/_services/endpoints.mjs +1 -2
  30. package/esm2022/lib/_services/idle-detection.service.mjs +26 -0
  31. package/esm2022/public-api.mjs +5 -2
  32. package/fesm2022/pega-angular-sdk-components.mjs +431 -458
  33. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  34. package/lib/_components/field/dropdown/dropdown.component.d.ts +1 -1
  35. package/lib/_components/field/user-reference/user-reference.component.d.ts +5 -0
  36. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +0 -1
  37. package/lib/_components/infra/Containers/flow-container/helpers.d.ts +1 -0
  38. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +1 -2
  39. package/lib/_components/infra/assignment/assignment.component.d.ts +6 -3
  40. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +10 -2
  41. package/lib/_components/infra/root-container/root-container.component.d.ts +0 -1
  42. package/lib/_components/template/base/details-template-base.d.ts +22 -0
  43. package/lib/_components/template/base/form-template-base.d.ts +10 -0
  44. package/lib/_components/template/case-view/case-view.component.d.ts +1 -2
  45. package/lib/_components/template/default-form/default-form.component.d.ts +9 -4
  46. package/lib/_components/template/details/details.component.d.ts +3 -11
  47. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +3 -11
  48. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +3 -13
  49. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +3 -13
  50. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +3 -13
  51. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +3 -13
  52. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +3 -13
  53. package/lib/_components/template/one-column/one-column.component.d.ts +2 -2
  54. package/lib/_components/template/simple-table-manual/helpers.d.ts +1 -0
  55. package/lib/_components/template/three-column/three-column.component.d.ts +2 -2
  56. package/lib/_components/template/two-column/two-column.component.d.ts +2 -2
  57. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +2 -2
  58. package/lib/_services/banner.service.d.ts +8 -0
  59. package/lib/_services/endpoints.d.ts +0 -1
  60. package/lib/_services/idle-detection.service.d.ts +9 -0
  61. package/lib/doc/KeyReleaseUpdates.md +23 -6
  62. package/package.json +1 -1
  63. package/public-api.d.ts +4 -1
  64. package/esm2022/lib/_components/template/form-template-base/form-template-base.component.mjs +0 -13
  65. package/lib/_components/template/form-template-base/form-template-base.component.d.ts +0 -8
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, forwardRef, Injectable, Inject, Directive, ViewChild, ViewContainerRef, HostListener } from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, Injectable, forwardRef, Inject, Directive, ViewChild, ViewContainerRef, HostListener } from '@angular/core';
3
3
  import * as i3 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i3$1 from '@angular/material/button';
@@ -8,28 +8,29 @@ import * as i2 from '@angular/material/grid-list';
8
8
  import { MatGridListModule } from '@angular/material/grid-list';
9
9
  import * as i4 from '@angular/forms';
10
10
  import { ReactiveFormsModule, FormControl, FormsModule, FormGroup, Validators } from '@angular/forms';
11
+ import { merge, fromEvent, timer, Subject, interval, startWith as startWith$1, map as map$1 } from 'rxjs';
12
+ import { switchMap, tap, debounceTime, startWith, map } from 'rxjs/operators';
13
+ import { getSdkConfig, SdkConfigAccess, logout } from '@pega/auth/lib/sdk-auth-manager';
11
14
  import * as i4$1 from '@angular/material/snack-bar';
12
15
  import { MatSnackBarModule } from '@angular/material/snack-bar';
13
- import { Subject, interval, startWith as startWith$1, map as map$1 } from 'rxjs';
14
16
  import isEqual from 'fast-deep-equal';
15
17
  import dayjs from 'dayjs';
16
18
  import customParseFormat from 'dayjs/plugin/customParseFormat';
17
19
  import localizedFormat from 'dayjs/plugin/localizedFormat';
18
20
  import relativeTime from 'dayjs/plugin/relativeTime';
19
- import { getSdkConfig, SdkConfigAccess, logout } from '@pega/auth/lib/sdk-auth-manager';
21
+ import * as i5 from 'packages/angular-sdk-components/src/public-api';
20
22
  import * as i7 from '@angular/material/core';
21
23
  import { MatNativeDateModule, MatOptionModule, MAT_DATE_FORMATS } from '@angular/material/core';
22
24
  import * as i4$2 from '@angular/material/datepicker';
23
25
  import { MatDatepickerModule } from '@angular/material/datepicker';
24
- import * as i5 from '@angular/material/form-field';
26
+ import * as i5$1 from '@angular/material/form-field';
25
27
  import { MatFormFieldModule } from '@angular/material/form-field';
26
- import { debounceTime, startWith, map } from 'rxjs/operators';
27
28
  import { v4 } from 'uuid';
28
- import * as i5$1 from '@angular/material/card';
29
+ import * as i5$2 from '@angular/material/card';
29
30
  import { MatCardModule } from '@angular/material/card';
30
31
  import * as i6 from '@angular/material/menu';
31
32
  import { MatMenuModule } from '@angular/material/menu';
32
- import * as i5$2 from '@angular/material/list';
33
+ import * as i5$3 from '@angular/material/list';
33
34
  import { MatListModule } from '@angular/material/list';
34
35
  import * as i4$3 from '@angular/material/progress-spinner';
35
36
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
@@ -41,7 +42,7 @@ import * as i6$1 from '@angular/material/input';
41
42
  import { MatInputModule } from '@angular/material/input';
42
43
  import * as i1 from '@angular/common/http';
43
44
  import { HttpHeaders, HttpParams } from '@angular/common/http';
44
- import * as i5$3 from '@angular/material/checkbox';
45
+ import * as i5$4 from '@angular/material/checkbox';
45
46
  import { MatCheckboxModule } from '@angular/material/checkbox';
46
47
  import { NgxCurrencyInputMode, NgxCurrencyDirective } from 'ngx-currency';
47
48
  import utc from 'dayjs/plugin/utc';
@@ -231,44 +232,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
231
232
  args: [{ selector: 'app-reference', standalone: true, template: "<!-- Reference component is all static methods so .html not used -->\n" }]
232
233
  }], ctorParameters: () => [] });
233
234
 
234
- class AssignmentCardComponent {
235
+ class IdleDetectionService {
235
236
  constructor() {
236
- this.actionButtonClick = new EventEmitter();
237
- }
238
- ngOnInit() {
239
- // Children may contain 'reference' component, so we need to
240
- // normalize them
241
- this.arChildren$ = ReferenceComponent.normalizePConnArray(this.arChildren$);
237
+ this.activityEvents$ = merge(fromEvent(document, 'mousemove'), fromEvent(document, 'keydown'), fromEvent(document, 'click'));
242
238
  }
243
- ngOnChanges() {
244
- // Children may contain 'reference' component, so we need to
245
- // normalize them
246
- this.arChildren$ = ReferenceComponent.normalizePConnArray(this.arChildren$);
239
+ startWatching(idleCallback, idleTimeout = 10000) {
240
+ this.idleSubscription = this.activityEvents$.pipe(switchMap(() => timer(idleTimeout).pipe(tap(() => idleCallback())))).subscribe();
247
241
  }
248
- onActionButtonClick(oData) {
249
- this.actionButtonClick.emit(oData);
242
+ stopWatching() {
243
+ if (this.idleSubscription) {
244
+ this.idleSubscription.unsubscribe();
245
+ }
250
246
  }
251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AssignmentCardComponent, isStandalone: true, selector: "app-assignment-card", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", updateToken$: "updateToken$" }, outputs: { actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.ɵNgNoValidate), selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
247
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IdleDetectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
248
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IdleDetectionService, providedIn: 'root' }); }
253
249
  }
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentCardComponent, decorators: [{
255
- type: Component,
256
- args: [{ selector: 'app-assignment-card', standalone: true, imports: [CommonModule, ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)], template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"] }]
257
- }], propDecorators: { pConn$: [{
258
- type: Input
259
- }], formGroup$: [{
260
- type: Input
261
- }], arMainButtons$: [{
262
- type: Input
263
- }], arSecondaryButtons$: [{
264
- type: Input
265
- }], arChildren$: [{
266
- type: Input
267
- }], updateToken$: [{
268
- type: Input
269
- }], actionButtonClick: [{
270
- type: Output
271
- }] } });
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IdleDetectionService, decorators: [{
251
+ type: Injectable,
252
+ args: [{
253
+ providedIn: 'root'
254
+ }]
255
+ }] });
272
256
 
273
257
  class ServerConfigService {
274
258
  /**
@@ -319,6 +303,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
319
303
  }]
320
304
  }] });
321
305
 
306
+ class AssignmentCardComponent {
307
+ constructor(idleService, scservice) {
308
+ this.idleService = idleService;
309
+ this.scservice = scservice;
310
+ this.actionButtonClick = new EventEmitter();
311
+ }
312
+ ngOnInit() {
313
+ // Children may contain 'reference' component, so we need to normalize them
314
+ this.arChildren$ = ReferenceComponent.normalizePConnArray(this.arChildren$);
315
+ this.checkAndEnableAutoSave();
316
+ }
317
+ ngOnChanges() {
318
+ // Children may contain 'reference' component, so we need to
319
+ // normalize them
320
+ this.arChildren$ = ReferenceComponent.normalizePConnArray(this.arChildren$);
321
+ }
322
+ ngOnDestroy() {
323
+ this.idleService.stopWatching();
324
+ }
325
+ async checkAndEnableAutoSave() {
326
+ const sdkConfig = await this.scservice.getSdkConfig();
327
+ const autoSave = sdkConfig.serverConfig.autoSave;
328
+ if (autoSave) {
329
+ this.idleService.startWatching(() => this.autoSave(), autoSave);
330
+ }
331
+ }
332
+ onActionButtonClick(oData) {
333
+ this.actionButtonClick.emit(oData);
334
+ }
335
+ autoSave() {
336
+ const context = this.pConn$.getContextName();
337
+ if (PCore.getFormUtils().isStateModified(context)) {
338
+ this.pConn$.getActionsApi().saveAssignment(context);
339
+ }
340
+ }
341
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentCardComponent, deps: [{ token: IdleDetectionService }, { token: ServerConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
342
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AssignmentCardComponent, isStandalone: true, selector: "app-assignment-card", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", updateToken$: "updateToken$" }, outputs: { actionButtonClick: "actionButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n *ngIf=\"arMainButtons$ && arSecondaryButtons$\"\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.ɵNgNoValidate), selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
343
+ }
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentCardComponent, decorators: [{
345
+ type: Component,
346
+ args: [{ selector: 'app-assignment-card', standalone: true, imports: [CommonModule, ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)], template: "<form [formGroup]=\"formGroup$\" name=\"flowContainer\" class=\"psdk-flow-container\">\n <div *ngFor=\"let kid of arChildren$\">\n <div [ngSwitch]=\"kid.getPConnect().getComponentName()\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'CaseCreateStage'\"\n name=\"CaseCreateStage\"\n [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"\n ></component-mapper>\n <component-mapper *ngSwitchCase=\"'Region'\" name=\"Region\" [props]=\"{ formGroup$, pConn$: kid.getPConnect() }\"></component-mapper>\n <div *ngSwitchDefault>Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}</div>\n </div>\n </div>\n</form>\n\n<div>\n <br />\n <div class=\"psdk-case-view-divider\"></div>\n\n <component-mapper\n *ngIf=\"arMainButtons$ && arSecondaryButtons$\"\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-flow-container{padding:0rem 1rem}\n"] }]
347
+ }], ctorParameters: () => [{ type: IdleDetectionService }, { type: ServerConfigService }], propDecorators: { pConn$: [{
348
+ type: Input
349
+ }], formGroup$: [{
350
+ type: Input
351
+ }], arMainButtons$: [{
352
+ type: Input
353
+ }], arSecondaryButtons$: [{
354
+ type: Input
355
+ }], arChildren$: [{
356
+ type: Input
357
+ }], updateToken$: [{
358
+ type: Input
359
+ }], actionButtonClick: [{
360
+ type: Output
361
+ }] } });
362
+
322
363
  dayjs.extend(customParseFormat);
323
364
  dayjs.extend(localizedFormat);
324
365
  dayjs.extend(relativeTime);
@@ -1174,13 +1215,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
1174
1215
  }], ctorParameters: () => [{ type: ProgressSpinnerService }, { type: ErrorMessagesService }, { type: Utils }] });
1175
1216
 
1176
1217
  /* eslint-disable no-case-declarations */
1218
+ function getRefreshProps(refreshConditions) {
1219
+ // refreshConditions cuurently supports only "Changes" event
1220
+ if (!refreshConditions) {
1221
+ return [];
1222
+ }
1223
+ return refreshConditions.filter(item => item.event && item.event === 'Changes').map(item => [item.field, item.field?.substring(1)]) || [];
1224
+ }
1177
1225
  class AssignmentComponent {
1178
- constructor(angularPConnect, psService, erService, ngZone, snackBar) {
1226
+ constructor(angularPConnect, psService, erService, ngZone, snackBar, bannerService) {
1179
1227
  this.angularPConnect = angularPConnect;
1180
1228
  this.psService = psService;
1181
1229
  this.erService = erService;
1182
1230
  this.ngZone = ngZone;
1183
1231
  this.snackBar = snackBar;
1232
+ this.bannerService = bannerService;
1184
1233
  this.isInModal$ = false;
1185
1234
  // For interaction with AngularPConnect
1186
1235
  this.angularPConnectData = {};
@@ -1214,6 +1263,7 @@ class AssignmentComponent {
1214
1263
  checkAndUpdate() {
1215
1264
  // Should always check the bridge to see if the component should update itself (re-render)
1216
1265
  const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
1266
+ this.bannerService.updateBanners(this.itemKey$);
1217
1267
  // ONLY call updateSelf when the component should update
1218
1268
  // AND removing the "gate" that was put there since shouldComponentUpdate
1219
1269
  // should be the real "gate"
@@ -1235,6 +1285,7 @@ class AssignmentComponent {
1235
1285
  }
1236
1286
  }
1237
1287
  updateChanges() {
1288
+ this.registerForRefresh();
1238
1289
  // pConn$ may be a 'reference' component, so normalize it
1239
1290
  this.newPConn$ = ReferenceComponent.normalizePConn(this.pConn$);
1240
1291
  if (this.arChildren$) {
@@ -1366,6 +1417,9 @@ class AssignmentComponent {
1366
1417
  this.buttonClick(oData.action, oData.buttonType);
1367
1418
  }
1368
1419
  buttonClick(sAction, sButtonType) {
1420
+ this.snackBarRef?.dismiss();
1421
+ this.bannerService.clearBanners();
1422
+ PCore.getPubSubUtils().publish('clearBannerMessages');
1369
1423
  // right now, done on an individual basis, setting bReInit to true
1370
1424
  // upon the next flow container state change, will cause the flow container
1371
1425
  // to re-initialize
@@ -1385,20 +1439,20 @@ class AssignmentComponent {
1385
1439
  switch (sAction) {
1386
1440
  case 'navigateToStep':
1387
1441
  this.erService.sendMessage('publish', '');
1388
- if (this.formValid()) {
1389
- this.bReInit = true;
1390
- this.psService.sendMessage(true);
1391
- const navigatePromise = this.navigateToStep('previous', this.itemKey$);
1392
- navigatePromise
1393
- .then(() => {
1394
- this.updateChanges();
1395
- this.psService.sendMessage(false);
1396
- })
1397
- .catch(() => {
1398
- this.psService.sendMessage(false);
1399
- this.snackBar.open(`${this.localizedVal('Navigation failed!', this.localeCategory)}`, 'Ok');
1400
- });
1401
- }
1442
+ // if (this.formValid()) {
1443
+ this.bReInit = true;
1444
+ this.psService.sendMessage(true);
1445
+ const navigatePromise = this.navigateToStep('previous', this.itemKey$);
1446
+ navigatePromise
1447
+ .then(() => {
1448
+ this.updateChanges();
1449
+ this.psService.sendMessage(false);
1450
+ })
1451
+ .catch(() => {
1452
+ this.psService.sendMessage(false);
1453
+ this.snackBarRef = this.snackBar.open(`${this.localizedVal('Navigation failed!', this.localeCategory)}`, 'Ok');
1454
+ });
1455
+ // }
1402
1456
  break;
1403
1457
  case 'saveAssignment': {
1404
1458
  const caseID = this.pConn$.getCaseInfo().getKey();
@@ -1412,7 +1466,7 @@ class AssignmentComponent {
1412
1466
  })
1413
1467
  .catch(() => {
1414
1468
  this.psService.sendMessage(false);
1415
- this.snackBar.open(`${this.localizedVal('Save failed', this.localeCategory)}`, 'Ok');
1469
+ this.snackBarRef = this.snackBar.open(`${this.localizedVal('Save failed', this.localeCategory)}`, 'Ok');
1416
1470
  });
1417
1471
  break;
1418
1472
  }
@@ -1433,7 +1487,7 @@ class AssignmentComponent {
1433
1487
  })
1434
1488
  .catch(() => {
1435
1489
  this.psService.sendMessage(false);
1436
- this.snackBar.open(`${this.localizedVal('Cancel failed!', this.localeCategory)}`, 'Ok');
1490
+ this.snackBarRef = this.snackBar.open(`${this.localizedVal('Cancel failed!', this.localeCategory)}`, 'Ok');
1437
1491
  });
1438
1492
  }
1439
1493
  else {
@@ -1449,7 +1503,7 @@ class AssignmentComponent {
1449
1503
  })
1450
1504
  .catch(() => {
1451
1505
  this.psService.sendMessage(false);
1452
- this.snackBar.open(`${this.localizedVal('Cancel failed!', this.localeCategory)}`, 'Ok');
1506
+ this.snackBarRef = this.snackBar.open(`${this.localizedVal('Cancel failed!', this.localeCategory)}`, 'Ok');
1453
1507
  });
1454
1508
  }
1455
1509
  break;
@@ -1459,7 +1513,7 @@ class AssignmentComponent {
1459
1513
  .then(() => { })
1460
1514
  .catch(() => {
1461
1515
  this.psService.sendMessage(false);
1462
- this.snackBar.open(`${this.localizedVal('Rejection failed!', this.localeCategory)}`, 'Ok');
1516
+ this.snackBarRef = this.snackBar.open(`${this.localizedVal('Rejection failed!', this.localeCategory)}`, 'Ok');
1463
1517
  });
1464
1518
  break;
1465
1519
  }
@@ -1471,24 +1525,18 @@ class AssignmentComponent {
1471
1525
  switch (sAction) {
1472
1526
  case 'finishAssignment':
1473
1527
  this.erService.sendMessage('publish', '');
1474
- if (this.formValid()) {
1475
- this.bReInit = true;
1476
- this.psService.sendMessage(true);
1477
- const finishPromise = this.finishAssignment(this.itemKey$); // JA - was itemID but Nebula/Constellation uses itemKey
1478
- finishPromise
1479
- .then(() => {
1480
- this.psService.sendMessage(false);
1481
- this.updateChanges();
1482
- })
1483
- .catch(() => {
1484
- this.psService.sendMessage(false);
1485
- this.snackBar.open(`${this.localizedVal('Submit failed!', this.localeCategory)}`, 'Ok');
1486
- });
1487
- }
1488
- else {
1489
- // let snackBarRef = this.snackBar.open("Please fix errors on form.", "Ok");
1490
- this.erService.sendMessage('show', this.localizedVal('Please fix errors on form.', this.localeCategory));
1491
- }
1528
+ this.bReInit = true;
1529
+ this.psService.sendMessage(true);
1530
+ const finishPromise = this.finishAssignment(this.itemKey$); // JA - was itemID but Nebula/Constellation uses itemKey
1531
+ finishPromise
1532
+ .then(() => {
1533
+ this.psService.sendMessage(false);
1534
+ this.updateChanges();
1535
+ })
1536
+ .catch(() => {
1537
+ this.psService.sendMessage(false);
1538
+ this.snackBarRef = this.snackBar.open(`${this.localizedVal('Submit failed!', this.localeCategory)}`, 'Ok');
1539
+ });
1492
1540
  break;
1493
1541
  case 'approveCase': {
1494
1542
  const approvePromise = this.approveCase(this.itemKey$);
@@ -1496,7 +1544,7 @@ class AssignmentComponent {
1496
1544
  .then(() => { })
1497
1545
  .catch(() => {
1498
1546
  this.psService.sendMessage(false);
1499
- this.snackBar.open(`${this.localizedVal('Approve failed!', this.localeCategory)}`, 'Ok');
1547
+ this.snackBarRef = this.snackBar.open(`${this.localizedVal('Approve failed!', this.localeCategory)}`, 'Ok');
1500
1548
  });
1501
1549
  break;
1502
1550
  }
@@ -1514,19 +1562,41 @@ class AssignmentComponent {
1514
1562
  control.markAsTouched();
1515
1563
  });
1516
1564
  }
1517
- // eslint-disable-next-line sonarjs/no-identical-functions
1518
1565
  topViewRefresh() {
1519
1566
  Object.values(this.formGroup$.controls).forEach((control) => {
1520
1567
  control.markAsTouched();
1521
1568
  });
1522
1569
  }
1523
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentComponent, deps: [{ token: AngularPConnectService }, { token: ProgressSpinnerService }, { token: ErrorMessagesService }, { token: i0.NgZone }, { token: i4$1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
1524
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AssignmentComponent, isStandalone: true, selector: "app-assignment", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arChildren$: "arChildren$", itemKey$: "itemKey$", isCreateStage$: "isCreateStage$", updateToken$: "updateToken$", isInModal$: "isInModal$", banners: "banners" }, usesOnChanges: true, ngImport: i0, template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSnackBarModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
1570
+ registerForRefresh() {
1571
+ // @ts-ignore - Property 'getActionRefreshConditions' is private and only accessible within class 'CaseInfo'
1572
+ const refreshConditions = this.pConn$.getCaseInfo()?.getActionRefreshConditions();
1573
+ const pageReference = this.pConn$.getPageReference();
1574
+ const context = this.pConn$.getContextName();
1575
+ // refresh api de-registration
1576
+ PCore.getRefreshManager().deRegisterForRefresh(context);
1577
+ // refresh api registration
1578
+ const refreshProps = getRefreshProps(refreshConditions);
1579
+ const caseKey = this.pConn$.getCaseInfo().getKey();
1580
+ const refreshOptions = {
1581
+ autoDetectRefresh: true,
1582
+ preserveClientChanges: false
1583
+ };
1584
+ if (refreshProps.length > 0) {
1585
+ refreshProps.forEach(prop => {
1586
+ PCore.getRefreshManager().registerForRefresh('PROP_CHANGE', this.pConn$.getActionsApi().refreshCaseView.bind(this.pConn$.getActionsApi(), caseKey, '', pageReference, {
1587
+ ...refreshOptions,
1588
+ refreshFor: prop[0]
1589
+ }), `${pageReference}.${prop[1]}`, `${context}/${pageReference}`, context);
1590
+ });
1591
+ }
1592
+ }
1593
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentComponent, deps: [{ token: AngularPConnectService }, { token: ProgressSpinnerService }, { token: ErrorMessagesService }, { token: i0.NgZone }, { token: i4$1.MatSnackBar }, { token: i5.BannerService }], target: i0.ɵɵFactoryTarget.Component }); }
1594
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AssignmentComponent, isStandalone: true, selector: "app-assignment", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arChildren$: "arChildren$", itemKey$: "itemKey$", isCreateStage$: "isCreateStage$", updateToken$: "updateToken$", isInModal$: "isInModal$" }, usesOnChanges: true, ngImport: i0, template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners: bannerService.banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSnackBarModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
1525
1595
  }
1526
1596
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AssignmentComponent, decorators: [{
1527
1597
  type: Component,
1528
- args: [{ selector: 'app-assignment', standalone: true, imports: [CommonModule, MatSnackBarModule, forwardRef(() => ComponentMapperComponent)], template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n" }]
1529
- }], ctorParameters: () => [{ type: AngularPConnectService }, { type: ProgressSpinnerService }, { type: ErrorMessagesService }, { type: i0.NgZone }, { type: i4$1.MatSnackBar }], propDecorators: { pConn$: [{
1598
+ args: [{ selector: 'app-assignment', standalone: true, imports: [CommonModule, MatSnackBarModule, forwardRef(() => ComponentMapperComponent)], template: "<div>\n <div><component-mapper name=\"AlertBanner\" [props]=\"{ banners: bannerService.banners }\" [parent]=\"this\"></component-mapper></div>\n <div *ngIf=\"bHasNavigation$\" class=\"psdk-stepper\">\n <component-mapper\n name=\"MultiStep\"\n [props]=\"{\n pConn$: newPConn$,\n formGroup$,\n arChildren$,\n arMainButtons$,\n arSecondaryButtons$,\n bIsVertical$,\n arCurrentStepIndicies$,\n arNavigationSteps$\n }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!bHasNavigation$\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$: newPConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$, updateToken$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n" }]
1599
+ }], ctorParameters: () => [{ type: AngularPConnectService }, { type: ProgressSpinnerService }, { type: ErrorMessagesService }, { type: i0.NgZone }, { type: i4$1.MatSnackBar }, { type: i5.BannerService }], propDecorators: { pConn$: [{
1530
1600
  type: Input
1531
1601
  }], formGroup$: [{
1532
1602
  type: Input
@@ -1540,8 +1610,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
1540
1610
  type: Input
1541
1611
  }], isInModal$: [{
1542
1612
  type: Input
1543
- }], banners: [{
1544
- type: Input
1545
1613
  }] } });
1546
1614
 
1547
1615
  /** This file contains various utility methods to generate filter components, regionLayout data, filter expressions, etc. */
@@ -1695,7 +1763,7 @@ class DashboardFilterComponent {
1695
1763
  PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE, filterData);
1696
1764
  }
1697
1765
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DashboardFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1698
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DashboardFilterComponent, isStandalone: true, selector: "app-dashboard-filter", inputs: { pConn$: "pConn$", filtersFormGroup$: "filtersFormGroup$", inlineProps: "inlineProps", children: "children" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDateRangeInput), selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatStartDate), selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatEndDate), selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDateRangePicker), selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatNativeDateModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
1766
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DashboardFilterComponent, isStandalone: true, selector: "app-dashboard-filter", inputs: { pConn$: "pConn$", filtersFormGroup$: "filtersFormGroup$", inlineProps: "inlineProps", children: "children" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDateRangeInput), selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatStartDate), selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatEndDate), selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDateRangePicker), selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatNativeDateModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
1699
1767
  }
1700
1768
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DashboardFilterComponent, decorators: [{
1701
1769
  type: Component,
@@ -2063,6 +2131,9 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
2063
2131
  PCore.getPubSubUtils().subscribe('cancelPressed', () => {
2064
2132
  this.handleCancelPressed();
2065
2133
  }, 'cancelPressed');
2134
+ PCore.getPubSubUtils().subscribe('clearBannerMessages', () => {
2135
+ this.banners = [];
2136
+ }, 'CLEAR_BANNER_MESSAGES');
2066
2137
  }
2067
2138
  ngOnDestroy() {
2068
2139
  if (this.angularPConnectData.unsubscribeFn) {
@@ -2070,6 +2141,7 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
2070
2141
  }
2071
2142
  PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.EVENT_CANCEL, 'cancelAssignment');
2072
2143
  PCore.getPubSubUtils().unsubscribe('cancelPressed', 'cancelPressed');
2144
+ PCore.getPubSubUtils().unsubscribe('clearBannerMessages', 'CLEAR_BANNER_MESSAGES');
2073
2145
  }
2074
2146
  handleCancel() {
2075
2147
  // cancel happened, so ok to initialize the flow container
@@ -2088,13 +2160,14 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
2088
2160
  const pConn = this.pConnectOfActiveContainerItem || this.pConn$;
2089
2161
  const caseViewModeFromProps = this.angularPConnect.getComponentProp(this, 'caseViewMode');
2090
2162
  const caseViewModeFromRedux = pConn.getValue('context_data.caseViewMode', '');
2163
+ const completeProps = this.angularPConnect.getCurrentCompleteProps(this);
2091
2164
  // ONLY call updateSelf when the component should update
2092
2165
  // AND removing the "gate" that was put there since shouldComponentUpdate
2093
2166
  // should be the real "gate"
2167
+ // eslint-disable-next-line sonarjs/no-collapsible-if
2094
2168
  if (bUpdateSelf || caseViewModeFromProps !== caseViewModeFromRedux) {
2095
2169
  // don't want to redraw the flow container when there are page messages, because
2096
2170
  // the redraw causes us to loose the errors on the elements
2097
- const completeProps = this.angularPConnect.getCurrentCompleteProps(this);
2098
2171
  if (!completeProps.pageMessages || completeProps.pageMessages.length == 0) {
2099
2172
  // with a cancel, need to timeout so todo will update correctly
2100
2173
  if (this.bHasCancel) {
@@ -2107,10 +2180,8 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
2107
2180
  this.updateSelf();
2108
2181
  }
2109
2182
  }
2110
- else {
2111
- this.showPageMessages(completeProps);
2112
- }
2113
2183
  }
2184
+ this.showPageMessages(completeProps);
2114
2185
  }
2115
2186
  showPageMessages(completeProps) {
2116
2187
  this.ngZone.run(() => {
@@ -2189,36 +2260,6 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
2189
2260
  // turn off spinner
2190
2261
  this.psService.sendMessage(false);
2191
2262
  }
2192
- hasAssignments() {
2193
- let hasAssignments = false;
2194
- const assignmentsList = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS);
2195
- // const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();
2196
- // 8.7 includes assignments in Assignments List that may be assigned to
2197
- // a different operator. So, see if there are any assignments for
2198
- // the current operator
2199
- const isEmbedded = window.location.href.includes('embedded');
2200
- let bAssignmentsForThisOperator = false;
2201
- if (isEmbedded) {
2202
- const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();
2203
- for (const assignment of assignmentsList) {
2204
- if (assignment.assigneeInfo.ID === thisOperator) {
2205
- bAssignmentsForThisOperator = true;
2206
- }
2207
- }
2208
- }
2209
- else {
2210
- bAssignmentsForThisOperator = true;
2211
- }
2212
- // Bail if there is no assignmentsList
2213
- if (!assignmentsList) {
2214
- return hasAssignments;
2215
- }
2216
- const hasChildCaseAssignments = this.hasChildCaseAssignments();
2217
- if (bAssignmentsForThisOperator || hasChildCaseAssignments || this.isCaseWideLocalAction()) {
2218
- hasAssignments = true;
2219
- }
2220
- return hasAssignments;
2221
- }
2222
2263
  isCaseWideLocalAction() {
2223
2264
  const actionID = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.ACTIVE_ACTION_ID);
2224
2265
  const caseActions = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.AVAILABLEACTIONS);
@@ -2342,7 +2383,7 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
2342
2383
  this.caseMessages$ = this.localizedVal(this.pConn$.getValue('caseMessages'), this.localeCategory);
2343
2384
  // caseMessages's behavior has changed in 24.2, and hence it doesn't let Optional Action work.
2344
2385
  // Changing the below condition for now. Was: (theCaseMessages || !hasAssignments())
2345
- if (!this.hasAssignments()) {
2386
+ if (!hasAssignments(this.pConn$)) {
2346
2387
  this.bHasCaseMessages$ = true;
2347
2388
  this.bShowConfirm = true;
2348
2389
  this.checkSvg$ = this.utils.getImageSrc('check', this.utils.getSDKStaticContentUrl());
@@ -2489,7 +2530,7 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
2489
2530
  });
2490
2531
  }
2491
2532
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FlowContainerComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: ProgressSpinnerService }, { token: i4.FormBuilder }, { token: i0.NgZone }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
2492
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FlowContainerComponent, isStandalone: true, selector: "app-flow-container", inputs: { pConn$: "pConn$" }, providers: [Utils], usesInheritance: true, ngImport: i0, template: "<div style=\"text-align: left\" class=\"psdk-flow-container-top\">\n <div *ngIf=\"!bShowConfirm\">\n <div *ngIf=\"!todo_showTodo$\">\n <h2>{{ containerName$ }}</h2>\n <div *ngIf=\"banners?.length\">\n <component-mapper name=\"AlertBanner\" [props]=\"{ banners }\"></component-mapper>\n </div>\n </div>\n <div *ngIf=\"todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Todo\"\n [props]=\"{\n pConn$: pConnectOfActiveContainerItem,\n caseInfoID$: todo_caseInfoID$,\n datasource$: todo_datasource$,\n showTodoList$: todo_showTodoList$,\n headerText$: todo_headerText$,\n type$: 'TODO',\n context$: todo_context$,\n isConfirm: true\n }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Assignment\"\n [props]=\"{ pConn$: pConnectOfActiveContainerItem, formGroup$, arChildren$, itemKey$ }\"\n ></component-mapper>\n </div>\n </div>\n <div *ngIf=\"bHasCaseMessages$\">\n <mat-card class=\"psdk-message-card\">\n <div style=\"display: flex; flex-direction: row\">\n <div><img class=\"psdk-icon\" src=\"{{ checkSvg$ }}\" /></div>\n <div>{{ caseMessages$ }}</div>\n </div>\n </mat-card>\n </div>\n <div *ngIf=\"bShowBanner && bShowConfirm && confirm_pconn\">\n <component-mapper name=\"View\" [props]=\"{ formGroup$, pConn$: confirm_pconn }\"></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatCardModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatCard), selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
2533
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FlowContainerComponent, isStandalone: true, selector: "app-flow-container", inputs: { pConn$: "pConn$" }, providers: [Utils], usesInheritance: true, ngImport: i0, template: "<div style=\"text-align: left\" class=\"psdk-flow-container-top\">\n <div *ngIf=\"!bShowConfirm\">\n <div *ngIf=\"!todo_showTodo$\">\n <h2>{{ containerName$ }}</h2>\n <div *ngIf=\"banners?.length\">\n <component-mapper name=\"AlertBanner\" [props]=\"{ banners }\"></component-mapper>\n </div>\n </div>\n <div *ngIf=\"todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Todo\"\n [props]=\"{\n pConn$: pConnectOfActiveContainerItem,\n caseInfoID$: todo_caseInfoID$,\n datasource$: todo_datasource$,\n showTodoList$: todo_showTodoList$,\n headerText$: todo_headerText$,\n type$: 'TODO',\n context$: todo_context$,\n isConfirm: true\n }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Assignment\"\n [props]=\"{ pConn$: pConnectOfActiveContainerItem, formGroup$, arChildren$, itemKey$ }\"\n ></component-mapper>\n </div>\n </div>\n <div *ngIf=\"bHasCaseMessages$\">\n <mat-card class=\"psdk-message-card\">\n <div style=\"display: flex; flex-direction: row\">\n <div><img class=\"psdk-icon\" src=\"{{ checkSvg$ }}\" /></div>\n <div>{{ caseMessages$ }}</div>\n </div>\n </mat-card>\n </div>\n <div *ngIf=\"bShowBanner && bShowConfirm && confirm_pconn\">\n <component-mapper name=\"View\" [props]=\"{ formGroup$, pConn$: confirm_pconn }\"></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatCardModule) }, { kind: "component", type: i0.forwardRef(() => i5$2.MatCard), selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
2493
2534
  }
2494
2535
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FlowContainerComponent, decorators: [{
2495
2536
  type: Component,
@@ -2608,10 +2649,6 @@ class ModalViewContainerComponent {
2608
2649
  this.formGroup$ = fb.group({ hideRequired: false });
2609
2650
  }
2610
2651
  ngOnInit() {
2611
- if (this.displayOnlyFA$) {
2612
- // for when non modal
2613
- this.bShowAsModal$ = false;
2614
- }
2615
2652
  // First thing in initialization is registering and subscribing to the AngularPConnect service
2616
2653
  this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
2617
2654
  const baseContext = this.pConn$.getContextName();
@@ -2886,15 +2923,13 @@ class ModalViewContainerComponent {
2886
2923
  return `${this.localizedVal('Create', this.localeCategory)} ${this.localizedVal(caseTypeName, undefined, caseLocaleRef)} (${ID})`;
2887
2924
  }
2888
2925
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ModalViewContainerComponent, deps: [{ token: AngularPConnectService }, { token: i0.NgZone }, { token: ProgressSpinnerService }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
2889
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ModalViewContainerComponent, isStandalone: true, selector: "app-modal-view-container", inputs: { pConn$: "pConn$", displayOnlyFA$: "displayOnlyFA$" }, outputs: { modalVisibleChange: "modalVisibleChange" }, ngImport: i0, template: "<div id=\"dialog\" *ngIf=\"bShowModal$ && bShowAsModal$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-view-container-top\" id=\"{{ buildName$ }}\">\n <h3 *ngIf=\"title$ != ''\">{{ title$ }}</h3>\n <component-mapper\n name=\"Assignment\"\n [props]=\"{ pConn$: createdViewPConn$, formGroup$, arChildren$, itemKey$, isCreateStage$: true, updateToken$, isInModal$: true, banners }\"\n ></component-mapper>\n <div *ngIf=\"isMultiRecord\">\n <component-mapper\n name=\"ListViewActionButtons\"\n [props]=\"{ pConn$: createdViewPConn$, context$ }\"\n [outputEvents]=\"{ closeActionsDialog: closeActionsDialog }\"\n ></component-mapper>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"bShowModal$ && !bShowAsModal$\">\n <div id=\"{{ buildName$ }}\">\n <h3 *ngIf=\"title$ != ''\">{{ title$ }}</h3>\n <component-mapper\n name=\"Assignment\"\n [props]=\"{ pConn$: createdViewPConn$, formGroup$, arChildren$, itemKey$, isCreateStage$: true, updateToken$ }\"\n ></component-mapper>\n </div>\n</div>\n\n<div *ngIf=\"bShowCancelAlert$\">\n <component-mapper\n name=\"CancelAlert\"\n [props]=\"{ bShowAlert$: bShowCancelAlert$, pConn$: cancelPConn$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ onAlertState$: onAlertState }\"\n ></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
2926
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ModalViewContainerComponent, isStandalone: true, selector: "app-modal-view-container", inputs: { pConn$: "pConn$" }, outputs: { modalVisibleChange: "modalVisibleChange" }, ngImport: i0, template: "<div id=\"dialog\" *ngIf=\"bShowModal$ && bShowAsModal$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-view-container-top\" id=\"{{ buildName$ }}\">\n <h3 *ngIf=\"title$ != ''\">{{ title$ }}</h3>\n <component-mapper\n name=\"Assignment\"\n [props]=\"{ pConn$: createdViewPConn$, formGroup$, arChildren$, itemKey$, isCreateStage$: true, updateToken$, isInModal$: true, banners }\"\n ></component-mapper>\n <div *ngIf=\"isMultiRecord\">\n <component-mapper\n name=\"ListViewActionButtons\"\n [props]=\"{ pConn$: createdViewPConn$, context$ }\"\n [outputEvents]=\"{ closeActionsDialog: closeActionsDialog }\"\n ></component-mapper>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"bShowModal$ && !bShowAsModal$\">\n <div id=\"{{ buildName$ }}\">\n <h3 *ngIf=\"title$ != ''\">{{ title$ }}</h3>\n <component-mapper\n name=\"Assignment\"\n [props]=\"{ pConn$: createdViewPConn$, formGroup$, arChildren$, itemKey$, isCreateStage$: true, updateToken$ }\"\n ></component-mapper>\n </div>\n</div>\n\n<div *ngIf=\"bShowCancelAlert$\">\n <component-mapper\n name=\"CancelAlert\"\n [props]=\"{ bShowAlert$: bShowCancelAlert$, pConn$: cancelPConn$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ onAlertState$: onAlertState }\"\n ></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
2890
2927
  }
2891
2928
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ModalViewContainerComponent, decorators: [{
2892
2929
  type: Component,
2893
2930
  args: [{ selector: 'app-modal-view-container', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div id=\"dialog\" *ngIf=\"bShowModal$ && bShowAsModal$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-view-container-top\" id=\"{{ buildName$ }}\">\n <h3 *ngIf=\"title$ != ''\">{{ title$ }}</h3>\n <component-mapper\n name=\"Assignment\"\n [props]=\"{ pConn$: createdViewPConn$, formGroup$, arChildren$, itemKey$, isCreateStage$: true, updateToken$, isInModal$: true, banners }\"\n ></component-mapper>\n <div *ngIf=\"isMultiRecord\">\n <component-mapper\n name=\"ListViewActionButtons\"\n [props]=\"{ pConn$: createdViewPConn$, context$ }\"\n [outputEvents]=\"{ closeActionsDialog: closeActionsDialog }\"\n ></component-mapper>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"bShowModal$ && !bShowAsModal$\">\n <div id=\"{{ buildName$ }}\">\n <h3 *ngIf=\"title$ != ''\">{{ title$ }}</h3>\n <component-mapper\n name=\"Assignment\"\n [props]=\"{ pConn$: createdViewPConn$, formGroup$, arChildren$, itemKey$, isCreateStage$: true, updateToken$ }\"\n ></component-mapper>\n </div>\n</div>\n\n<div *ngIf=\"bShowCancelAlert$\">\n <component-mapper\n name=\"CancelAlert\"\n [props]=\"{ bShowAlert$: bShowCancelAlert$, pConn$: cancelPConn$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ onAlertState$: onAlertState }\"\n ></component-mapper>\n</div>\n" }]
2894
2931
  }], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.NgZone }, { type: ProgressSpinnerService }, { type: i4.FormBuilder }], propDecorators: { pConn$: [{
2895
2932
  type: Input
2896
- }], displayOnlyFA$: [{
2897
- type: Input
2898
2933
  }], modalVisibleChange: [{
2899
2934
  type: Output
2900
2935
  }] } });
@@ -3080,7 +3115,7 @@ class NavbarComponent {
3080
3115
  });
3081
3116
  }
3082
3117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavbarComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: ProgressSpinnerService }, { token: i0.NgZone }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
3083
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavbarComponent, isStandalone: true, selector: "app-navbar", inputs: { pConn$: "pConn$", appName$: "appName$", pages$: "pages$", caseTypes$: "caseTypes$" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-appshell-nav\">\n <div class=\"psdk-nav-header\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ portalApp$ }}</div>\n </div>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list>\n <mat-list-item id=\"create-case-button\" (click)=\"navPanelCreateButtonClick()\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ navExpandCollapse$ }}\" />\n <span class=\"psdk-nav-button-span\">Create</span>\n </div>\n </mat-list-item>\n <mat-list *ngIf=\"bShowCaseTypes$\" style=\"margin-left: 40px\">\n <mat-list-item\n id=\"case-list-item\"\n *ngFor=\"let caseType of caseTypes$\"\n (click)=\"navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)\"\n >\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference) }}</span>\n </mat-list-item>\n </mat-list>\n </mat-list>\n </div>\n <div style=\"height: 100%\">\n <mat-list *ngFor=\"let page of navPages$\">\n <mat-list-item (click)=\"navPanelButtonClick(page)\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ page.iconName }}\" />\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(page.pyLabel, '', localeReference) }}</span>\n </div>\n </mat-list-item>\n </mat-list>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list id=\"profile\">\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n <span class=\"psdk-nav-button-span\">{{ portalOperator$ }}</span>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item>Profile</button>\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </div>\n</div>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem}.psdk-nav-logo{width:3.75rem;padding:.625rem;margin-right:1.25rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.25rem}.psdk-appshell-nav{z-index:199;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem;color:var(--app-nav-color)}.psdk-nav-oper-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;background:var(--app-neutral-color);color:var(--app-form-color);font-weight:400;font-size:1rem}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item:hover{background-color:var(--app-label-color)}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5$2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
3118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavbarComponent, isStandalone: true, selector: "app-navbar", inputs: { pConn$: "pConn$", appName$: "appName$", pages$: "pages$", caseTypes$: "caseTypes$" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-appshell-nav\">\n <div class=\"psdk-nav-header\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ portalApp$ }}</div>\n </div>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list>\n <mat-list-item id=\"create-case-button\" (click)=\"navPanelCreateButtonClick()\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ navExpandCollapse$ }}\" />\n <span class=\"psdk-nav-button-span\">Create</span>\n </div>\n </mat-list-item>\n <mat-list *ngIf=\"bShowCaseTypes$\" style=\"margin-left: 40px\">\n <mat-list-item\n id=\"case-list-item\"\n *ngFor=\"let caseType of caseTypes$\"\n (click)=\"navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)\"\n >\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference) }}</span>\n </mat-list-item>\n </mat-list>\n </mat-list>\n </div>\n <div style=\"height: 100%\">\n <mat-list *ngFor=\"let page of navPages$\">\n <mat-list-item (click)=\"navPanelButtonClick(page)\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ page.iconName }}\" />\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(page.pyLabel, '', localeReference) }}</span>\n </div>\n </mat-list-item>\n </mat-list>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list id=\"profile\">\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n <span class=\"psdk-nav-button-span\">{{ portalOperator$ }}</span>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item>Profile</button>\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </div>\n</div>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem}.psdk-nav-logo{width:3.75rem;padding:.625rem;margin-right:1.25rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.25rem}.psdk-appshell-nav{z-index:199;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem;color:var(--app-nav-color)}.psdk-nav-oper-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;background:var(--app-neutral-color);color:var(--app-form-color);font-weight:400;font-size:1rem}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item:hover{background-color:var(--app-label-color)}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5$3.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
3084
3119
  }
3085
3120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavbarComponent, decorators: [{
3086
3121
  type: Component,
@@ -3249,16 +3284,6 @@ class RootContainerComponent {
3249
3284
  this.updateSelf();
3250
3285
  }
3251
3286
  }
3252
- modalVisibleChanged(isVisible) {
3253
- if (this.displayOnlyFA$) {
3254
- if (isVisible) {
3255
- this.bShowRoot$ = false;
3256
- }
3257
- else {
3258
- this.bShowRoot$ = true;
3259
- }
3260
- }
3261
- }
3262
3287
  updateSelf() {
3263
3288
  // need to call this.getCurrentCompleteProps (not this.thePConn.getConfigProps)
3264
3289
  // to get full set of props that affect this component in Redux
@@ -3367,7 +3392,7 @@ class RootContainerComponent {
3367
3392
  }
3368
3393
  }
3369
3394
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RootContainerComponent, deps: [{ token: AngularPConnectService }, { token: ProgressSpinnerService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
3370
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RootContainerComponent, isStandalone: true, selector: "app-root-container", inputs: { pConn$: "pConn$", displayOnlyFA$: "displayOnlyFA$", isMashup$: "isMashup$" }, ngImport: i0, template: "<div class=\"progress-box\" *ngIf=\"bIsProgress$\">\n <mat-spinner class=\"progress-spinner\"></mat-spinner>\n</div>\n\n<div *ngIf=\"bShowRoot$\">\n <div [ngSwitch]=\"componentName$\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$, displayOnlyFA$ }\"></component-mapper>\n <!-- <app-reference *ngSwitchCase=\"'reference'\" [pConn$]=\"pConn$\" [displayOnlyFA$]=\"displayOnlyFA$\"></app-reference> -->\n <component-mapper\n *ngSwitchCase=\"'ViewContainer'\"\n name=\"ViewContainer\"\n [props]=\"{ pConn$: displayOnlyFA$ ? viewContainerPConn$ : pConn$, displayOnlyFA$ }\"\n ></component-mapper>\n <app-hybrid-view-container *ngSwitchCase=\"'HybridViewContainer'\" [pConn$]=\"pConn$\" [displayOnlyFA$]=\"displayOnlyFA$\"></app-hybrid-view-container>\n <app-modal-view-container\n *ngSwitchCase=\"'ModalViewContainer'\"\n [pConn$]=\"pConn$\"\n [displayOnlyFA$]=\"displayOnlyFA$\"\n (modalVisibleChange)=\"modalVisibleChanged($event)\"\n ></app-modal-view-container>\n <div *ngSwitchCase=\"''\"></div>\n <div *ngSwitchDefault>{{ localizedVal('RootContainer Missing: ' + componentName$, localeCategory) }}.</div>\n </div>\n</div>\n\n<div *ngIf=\"pvConn$ != null\">\n <app-preview-view-container [pConn$]=\"pvConn$\"></app-preview-view-container>\n</div>\n\n<div *ngIf=\"mConn$ != null\">\n <app-modal-view-container\n [pConn$]=\"mConn$\"\n [displayOnlyFA$]=\"displayOnlyFA$\"\n (modalVisibleChange)=\"modalVisibleChanged($event)\"\n ></app-modal-view-container>\n</div>\n", styles: [".progress-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-background-color);position:fixed;z-index:99999;top:0rem;left:0rem;opacity:.5}.progress-spinner{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: i0.forwardRef(() => MatProgressSpinnerModule) }, { kind: "component", type: i0.forwardRef(() => i4$3.MatProgressSpinner), selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i0.forwardRef(() => HybridViewContainerComponent), selector: "app-hybrid-view-container", inputs: ["pConn$", "formGroup$", "displayOnlyFA$"] }, { kind: "component", type: i0.forwardRef(() => ModalViewContainerComponent), selector: "app-modal-view-container", inputs: ["pConn$", "displayOnlyFA$"], outputs: ["modalVisibleChange"] }, { kind: "component", type: i0.forwardRef(() => PreviewViewContainerComponent), selector: "app-preview-view-container", inputs: ["pConn$"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
3395
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RootContainerComponent, isStandalone: true, selector: "app-root-container", inputs: { pConn$: "pConn$", displayOnlyFA$: "displayOnlyFA$", isMashup$: "isMashup$" }, ngImport: i0, template: "<div class=\"progress-box\" *ngIf=\"bIsProgress$\">\n <mat-spinner class=\"progress-spinner\"></mat-spinner>\n</div>\n\n<div *ngIf=\"bShowRoot$\">\n <div [ngSwitch]=\"componentName$\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$, displayOnlyFA$ }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'ViewContainer'\"\n name=\"ViewContainer\"\n [props]=\"{ pConn$: viewContainerPConn$, displayOnlyFA$ }\"\n ></component-mapper>\n <div *ngSwitchDefault>{{ localizedVal('RootContainer Missing: ' + componentName$, localeCategory) }}.</div>\n </div>\n</div>\n\n<div *ngIf=\"pvConn$ != null\">\n <app-preview-view-container [pConn$]=\"pvConn$\"></app-preview-view-container>\n</div>\n\n<div *ngIf=\"mConn$ != null\">\n <app-modal-view-container [pConn$]=\"mConn$\"></app-modal-view-container>\n</div>\n", styles: [".progress-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-background-color);position:fixed;z-index:99999;top:0rem;left:0rem;opacity:.5}.progress-spinner{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: i0.forwardRef(() => MatProgressSpinnerModule) }, { kind: "component", type: i0.forwardRef(() => i4$3.MatProgressSpinner), selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i0.forwardRef(() => ModalViewContainerComponent), selector: "app-modal-view-container", inputs: ["pConn$"], outputs: ["modalVisibleChange"] }, { kind: "component", type: i0.forwardRef(() => PreviewViewContainerComponent), selector: "app-preview-view-container", inputs: ["pConn$"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
3371
3396
  }
3372
3397
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RootContainerComponent, decorators: [{
3373
3398
  type: Component,
@@ -3378,7 +3403,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
3378
3403
  ModalViewContainerComponent,
3379
3404
  PreviewViewContainerComponent,
3380
3405
  forwardRef(() => ComponentMapperComponent)
3381
- ], template: "<div class=\"progress-box\" *ngIf=\"bIsProgress$\">\n <mat-spinner class=\"progress-spinner\"></mat-spinner>\n</div>\n\n<div *ngIf=\"bShowRoot$\">\n <div [ngSwitch]=\"componentName$\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$, displayOnlyFA$ }\"></component-mapper>\n <!-- <app-reference *ngSwitchCase=\"'reference'\" [pConn$]=\"pConn$\" [displayOnlyFA$]=\"displayOnlyFA$\"></app-reference> -->\n <component-mapper\n *ngSwitchCase=\"'ViewContainer'\"\n name=\"ViewContainer\"\n [props]=\"{ pConn$: displayOnlyFA$ ? viewContainerPConn$ : pConn$, displayOnlyFA$ }\"\n ></component-mapper>\n <app-hybrid-view-container *ngSwitchCase=\"'HybridViewContainer'\" [pConn$]=\"pConn$\" [displayOnlyFA$]=\"displayOnlyFA$\"></app-hybrid-view-container>\n <app-modal-view-container\n *ngSwitchCase=\"'ModalViewContainer'\"\n [pConn$]=\"pConn$\"\n [displayOnlyFA$]=\"displayOnlyFA$\"\n (modalVisibleChange)=\"modalVisibleChanged($event)\"\n ></app-modal-view-container>\n <div *ngSwitchCase=\"''\"></div>\n <div *ngSwitchDefault>{{ localizedVal('RootContainer Missing: ' + componentName$, localeCategory) }}.</div>\n </div>\n</div>\n\n<div *ngIf=\"pvConn$ != null\">\n <app-preview-view-container [pConn$]=\"pvConn$\"></app-preview-view-container>\n</div>\n\n<div *ngIf=\"mConn$ != null\">\n <app-modal-view-container\n [pConn$]=\"mConn$\"\n [displayOnlyFA$]=\"displayOnlyFA$\"\n (modalVisibleChange)=\"modalVisibleChanged($event)\"\n ></app-modal-view-container>\n</div>\n", styles: [".progress-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-background-color);position:fixed;z-index:99999;top:0rem;left:0rem;opacity:.5}.progress-spinner{text-align:center}\n"] }]
3406
+ ], template: "<div class=\"progress-box\" *ngIf=\"bIsProgress$\">\n <mat-spinner class=\"progress-spinner\"></mat-spinner>\n</div>\n\n<div *ngIf=\"bShowRoot$\">\n <div [ngSwitch]=\"componentName$\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$, displayOnlyFA$ }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'ViewContainer'\"\n name=\"ViewContainer\"\n [props]=\"{ pConn$: viewContainerPConn$, displayOnlyFA$ }\"\n ></component-mapper>\n <div *ngSwitchDefault>{{ localizedVal('RootContainer Missing: ' + componentName$, localeCategory) }}.</div>\n </div>\n</div>\n\n<div *ngIf=\"pvConn$ != null\">\n <app-preview-view-container [pConn$]=\"pvConn$\"></app-preview-view-container>\n</div>\n\n<div *ngIf=\"mConn$ != null\">\n <app-modal-view-container [pConn$]=\"mConn$\"></app-modal-view-container>\n</div>\n", styles: [".progress-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-background-color);position:fixed;z-index:99999;top:0rem;left:0rem;opacity:.5}.progress-spinner{text-align:center}\n"] }]
3382
3407
  }], ctorParameters: () => [{ type: AngularPConnectService }, { type: ProgressSpinnerService }, { type: i0.NgZone }], propDecorators: { pConn$: [{
3383
3408
  type: Input
3384
3409
  }], displayOnlyFA$: [{
@@ -3582,6 +3607,19 @@ function filterForFieldValueList(fields) {
3582
3607
  }
3583
3608
 
3584
3609
  const NO_HEADER_TEMPLATES = ['SubTabs', 'SimpleTable', 'Confirmation', 'DynamicTabs', 'DetailsSubTabs'];
3610
+ const DETAILS_TEMPLATES = [
3611
+ 'Details',
3612
+ 'DetailsFields',
3613
+ 'DetailsOneColumn',
3614
+ 'DetailsSubTabs',
3615
+ 'DetailsThreeColumn',
3616
+ 'DetailsTwoColumn',
3617
+ 'NarrowWideDetails',
3618
+ 'WideNarrowDetails'
3619
+ ];
3620
+ function isDetailsTemplate(template) {
3621
+ return DETAILS_TEMPLATES.includes(template);
3622
+ }
3585
3623
  /**
3586
3624
  * WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
3587
3625
  * Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
@@ -3674,7 +3712,7 @@ class ViewComponent {
3674
3712
  this.templateName$ = this.configProps$.template || '';
3675
3713
  this.title$ = this.configProps$.title || '';
3676
3714
  this.label$ = this.configProps$.label || '';
3677
- this.showLabel$ = this.configProps$.showLabel || this.showLabel$;
3715
+ this.showLabel$ = this.configProps$.showLabel || isDetailsTemplate(this.templateName$) || this.showLabel$;
3678
3716
  // label & showLabel within inheritedProps takes precedence over configProps
3679
3717
  this.label$ = this.inheritedProps$.label || this.label$;
3680
3718
  this.showLabel$ = this.inheritedProps$.showLabel || this.showLabel$;
@@ -4017,7 +4055,6 @@ const endpoints = {
4017
4055
  // use_pkce: true,
4018
4056
  // loginExperience: loginBoxType.Main
4019
4057
  // },
4020
- SP_VERSION: '1.00',
4021
4058
  AUTH: '/v1/authenticate',
4022
4059
  CASES: '/v1/cases',
4023
4060
  CASES_V2: '/application/v2/cases',
@@ -4343,7 +4380,7 @@ class AutoCompleteComponent {
4343
4380
  return errMessage;
4344
4381
  }
4345
4382
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }, { token: DatapageService }], target: i0.ɵɵFactoryTarget.Component }); }
4346
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AutoCompleteComponent, isStandalone: true, selector: "app-auto-complete", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, hideLabel }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n (input)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"optionChanged($event)\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i0.forwardRef(() => i3.AsyncPipe), name: "async" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatAutocompleteModule) }, { kind: "component", type: i0.forwardRef(() => i8.MatAutocomplete), selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i0.forwardRef(() => i8.MatAutocompleteTrigger), selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
4383
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AutoCompleteComponent, isStandalone: true, selector: "app-auto-complete", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, hideLabel }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n (input)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"optionChanged($event)\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i0.forwardRef(() => i3.AsyncPipe), name: "async" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatAutocompleteModule) }, { kind: "component", type: i0.forwardRef(() => i8.MatAutocomplete), selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i0.forwardRef(() => i8.MatAutocompleteTrigger), selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
4347
4384
  }
4348
4385
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AutoCompleteComponent, decorators: [{
4349
4386
  type: Component,
@@ -4680,7 +4717,7 @@ class CheckBoxComponent {
4680
4717
  return errMessage;
4681
4718
  }
4682
4719
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CheckBoxComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
4683
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: CheckBoxComponent, isStandalone: true, selector: "app-check-box", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper\n *ngIf=\"bVisible$ !== false\"\n name=\"FieldValueList\"\n [props]=\"{ label$: caption$, value$: value$ ? trueLabel$ : falseLabel$, displayMode$ }\"\n ></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <div class=\"mat-form-field-infix\" *ngIf=\"showLabel$\">\n <span>\n <label class=\"mat-form-field-label psdk-label-readonly\">{{ label$ }}</label>\n </span>\n </div>\n <div *ngIf=\"selectionMode === 'multi'; else single\">\n <mat-option *ngFor=\"let item of listOfCheckboxes\" (click)=\"handleChangeMultiMode($event, item)\">\n <mat-checkbox\n [labelPosition]=\"'after'\"\n [checked]=\"item.selected\"\n [attr.data-test-id]=\"testId + ':' + item.value\"\n (change)=\"handleChangeMultiMode($event, item)\"\n (blur)=\"fieldOnBlur($event)\"\n >{{ item.text ?? item.value }}\n </mat-checkbox>\n </mat-option>\n </div>\n <ng-template #single>\n <mat-checkbox\n [labelPosition]=\"'after'\"\n [checked]=\"isChecked$\"\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n >{{ caption$ }}</mat-checkbox\n >\n <p *ngIf=\"helperText\">{{ helperText }}</p>\n </ng-template>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{min-width:9.375rem;width:100%;text-align:left}.psdk-label-readonly{top:0rem;margin-top:.625rem;font-size:.875rem;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%;color:#0009}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}p{font-size:.75rem;color:#00000094}mat-checkbox{margin-left:-11px}.mat-mdc-option{margin-left:-16px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatCheckboxModule) }, { kind: "component", type: i0.forwardRef(() => i5$3.MatCheckbox), selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
4720
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: CheckBoxComponent, isStandalone: true, selector: "app-check-box", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper\n *ngIf=\"bVisible$ !== false\"\n name=\"FieldValueList\"\n [props]=\"{ label$: caption$, value$: value$ ? trueLabel$ : falseLabel$, displayMode$ }\"\n ></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <div class=\"mat-form-field-infix\" *ngIf=\"showLabel$\">\n <span>\n <label class=\"mat-form-field-label psdk-label-readonly\">{{ label$ }}</label>\n </span>\n </div>\n <div *ngIf=\"selectionMode === 'multi'; else single\">\n <mat-option *ngFor=\"let item of listOfCheckboxes\" (click)=\"handleChangeMultiMode($event, item)\">\n <mat-checkbox\n [labelPosition]=\"'after'\"\n [checked]=\"item.selected\"\n [attr.data-test-id]=\"testId + ':' + item.value\"\n (change)=\"handleChangeMultiMode($event, item)\"\n (blur)=\"fieldOnBlur($event)\"\n >{{ item.text ?? item.value }}\n </mat-checkbox>\n </mat-option>\n </div>\n <ng-template #single>\n <mat-checkbox\n [labelPosition]=\"'after'\"\n [checked]=\"isChecked$\"\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n >{{ caption$ }}</mat-checkbox\n >\n <p *ngIf=\"helperText\">{{ helperText }}</p>\n </ng-template>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{min-width:9.375rem;width:100%;text-align:left}.psdk-label-readonly{top:0rem;margin-top:.625rem;font-size:.875rem;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%;color:#0009}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}p{font-size:.75rem;color:#00000094}mat-checkbox{margin-left:-11px}.mat-mdc-option{margin-left:-16px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatCheckboxModule) }, { kind: "component", type: i0.forwardRef(() => i5$4.MatCheckbox), selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
4684
4721
  }
4685
4722
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CheckBoxComponent, decorators: [{
4686
4723
  type: Component,
@@ -6179,7 +6216,7 @@ class CurrencyComponent {
6179
6216
  return errMessage;
6180
6217
  }
6181
6218
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CurrencyComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
6182
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: CurrencyComponent, isStandalone: true, selector: "app-currency", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\" class=\"psdk-currency-field\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <div class=\"psdk-currency-input\">\n <input\n style=\"margin-left: 5px; margin-top: -1rem\"\n type=\"text\"\n matInput\n currencyMask\n [options]=\"{\n prefix: currencySymbol,\n thousands: thousandSeparator,\n decimal: decimalSeparator,\n align: 'left',\n nullable: true,\n precision: decimalPrecision,\n inputMode: inputMode\n }\"\n [placeholder]=\"placeholder\"\n [formControlName]=\"controlName$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (blur)=\"fieldOnBlur($event)\"\n [readonly]=\"bReadonly$\"\n />\n </div>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}.psdk-currency-input{display:flex}.psdk-currency-field ::ng-deep .mdc-floating-label{position:initial!important}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i0.forwardRef(() => NgxCurrencyDirective), selector: "input[currencyMask]", inputs: ["currencyMask", "options"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
6219
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: CurrencyComponent, isStandalone: true, selector: "app-currency", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\" class=\"psdk-currency-field\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <div class=\"psdk-currency-input\">\n <input\n style=\"margin-left: 5px; margin-top: -1rem\"\n type=\"text\"\n matInput\n currencyMask\n [options]=\"{\n prefix: currencySymbol,\n thousands: thousandSeparator,\n decimal: decimalSeparator,\n align: 'left',\n nullable: true,\n precision: decimalPrecision,\n inputMode: inputMode\n }\"\n [placeholder]=\"placeholder\"\n [formControlName]=\"controlName$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (blur)=\"fieldOnBlur($event)\"\n [readonly]=\"bReadonly$\"\n />\n </div>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}.psdk-currency-input{display:flex}.psdk-currency-field ::ng-deep .mdc-floating-label{position:initial!important}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i0.forwardRef(() => NgxCurrencyDirective), selector: "input[currencyMask]", inputs: ["currencyMask", "options"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
6183
6220
  }
6184
6221
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CurrencyComponent, decorators: [{
6185
6222
  type: Component,
@@ -6417,7 +6454,7 @@ class DateComponent {
6417
6454
  return errMessage;
6418
6455
  }
6419
6456
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DateComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }, { token: MAT_DATE_FORMATS }], target: i0.ɵɵFactoryTarget.Component }); }
6420
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DateComponent, isStandalone: true, selector: "app-date", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, providers: [{ provide: MAT_DATE_FORMATS, useClass: MyFormat }], ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n #dateInput\n [attr.data-test-id]=\"testId\"\n [matDatepicker]=\"pegadate\"\n [placeholder]=\"dateFormatInfo.dateFormatStringLC\"\n type=\"text\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n (dateChange)=\"fieldOnDateChange($event)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"pegadate\"></mat-datepicker-toggle>\n <mat-datepicker #pegadate [startAt]=\"value$\"></mat-datepicker>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'date' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepicker), selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatDatepickerInput), selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatNativeDateModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MomentDateModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
6457
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DateComponent, isStandalone: true, selector: "app-date", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, providers: [{ provide: MAT_DATE_FORMATS, useClass: MyFormat }], ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n #dateInput\n [attr.data-test-id]=\"testId\"\n [matDatepicker]=\"pegadate\"\n [placeholder]=\"dateFormatInfo.dateFormatStringLC\"\n type=\"text\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n (dateChange)=\"fieldOnDateChange($event)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"pegadate\"></mat-datepicker-toggle>\n <mat-datepicker #pegadate [startAt]=\"value$\"></mat-datepicker>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'date' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepicker), selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatDatepickerInput), selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatNativeDateModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MomentDateModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
6421
6458
  }
6422
6459
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DateComponent, decorators: [{
6423
6460
  type: Component,
@@ -6582,7 +6619,7 @@ class DateTimeComponent {
6582
6619
  return errMessage;
6583
6620
  }
6584
6621
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DateTimeComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
6585
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DateTimeComponent, isStandalone: true, selector: "app-date-time", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [owlDateTime]=\"dtPicker\"\n [attr.data-test-id]=\"testId\"\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n (dateTimeChange)=\"fieldOnDateChange($event)\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n />\n <mat-datepicker-toggle matSuffix [owlDateTimeTrigger]=\"dtPicker\"></mat-datepicker-toggle>\n <owl-date-time #dtPicker></owl-date-time>\n <mat-error *ngIf=\"fieldControl?.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'date-time' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}::ng-deep .mat-datepicker-content,::ng-deep .time-container{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;border-radius:4px;background-color:var(--mat-datepicker-calendar-container-background-color);color:var(--mat-datepicker-calendar-container-text-color)}::ng-deep .mat-calendar-body-cell-content{color:var(--mat-datepicker-calendar-date-text-color);border-color:var(--mat-datepicker-calendar-date-outline-color)}::ng-deep .mat-calendar-body-selected{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color);color:var(--mat-datepicker-calendar-date-selected-state-text-color)}::ng-deep .mat-calendar-body-cell-content{border:none!important}::ng-deep .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--mat-datepicker-calendar-date-hover-state-background-color)}::ng-deep .mat-calendar-arrow{fill:var(--mat-datepicker-calendar-period-button-icon-color)}::ng-deep .mat-calendar-table-header th{text-align:center;padding:0 0 8px;color:var(--mat-datepicker-calendar-header-text-color);font-size:var(--mat-datepicker-calendar-header-text-size);font-weight:var(--mat-datepicker-calendar-header-text-weight)}::ng-deep .mat-datepicker-content .mat-calendar-previous-button,::ng-deep .mat-datepicker-content .mat-calendar-next-button{color:var(--mat-datepicker-calendar-navigation-button-icon-color)}::ng-deep .mat-calendar-table-header-divider:after{content:\"\";position:absolute;top:0;left:-8px;right:-8px;height:1px;background:var(--mat-datepicker-calendar-header-divider-color)}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: i0.forwardRef(() => OwlDateTimeModule) }, { kind: "directive", type: i0.forwardRef(() => i8$1.OwlDateTimeTriggerDirective), selector: "[owlDateTimeTrigger]", inputs: ["owlDateTimeTrigger", "disabled"] }, { kind: "directive", type: i0.forwardRef(() => i8$1.OwlDateTimeInputDirective), selector: "input[owlDateTime]", inputs: ["required", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "rangeSeparator", "value", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { kind: "component", type: i0.forwardRef(() => i8$1.OwlDateTimeComponent), selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "endAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "beforePickerOpen", "afterPickerOpen", "yearSelected", "monthSelected", "dateSelected"], exportAs: ["owlDateTime"] }, { kind: "ngmodule", type: i0.forwardRef(() => OwlNativeDateTimeModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
6622
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DateTimeComponent, isStandalone: true, selector: "app-date-time", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [owlDateTime]=\"dtPicker\"\n [attr.data-test-id]=\"testId\"\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n (dateTimeChange)=\"fieldOnDateChange($event)\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n />\n <mat-datepicker-toggle matSuffix [owlDateTimeTrigger]=\"dtPicker\"></mat-datepicker-toggle>\n <owl-date-time #dtPicker></owl-date-time>\n <mat-error *ngIf=\"fieldControl?.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'date-time' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}::ng-deep .mat-datepicker-content,::ng-deep .time-container{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;border-radius:4px;background-color:var(--mat-datepicker-calendar-container-background-color);color:var(--mat-datepicker-calendar-container-text-color)}::ng-deep .mat-calendar-body-cell-content{color:var(--mat-datepicker-calendar-date-text-color);border-color:var(--mat-datepicker-calendar-date-outline-color)}::ng-deep .mat-calendar-body-selected{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color);color:var(--mat-datepicker-calendar-date-selected-state-text-color)}::ng-deep .mat-calendar-body-cell-content{border:none!important}::ng-deep .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--mat-datepicker-calendar-date-hover-state-background-color)}::ng-deep .mat-calendar-arrow{fill:var(--mat-datepicker-calendar-period-button-icon-color)}::ng-deep .mat-calendar-table-header th{text-align:center;padding:0 0 8px;color:var(--mat-datepicker-calendar-header-text-color);font-size:var(--mat-datepicker-calendar-header-text-size);font-weight:var(--mat-datepicker-calendar-header-text-weight)}::ng-deep .mat-datepicker-content .mat-calendar-previous-button,::ng-deep .mat-datepicker-content .mat-calendar-next-button{color:var(--mat-datepicker-calendar-navigation-button-icon-color)}::ng-deep .mat-calendar-table-header-divider:after{content:\"\";position:absolute;top:0;left:-8px;right:-8px;height:1px;background:var(--mat-datepicker-calendar-header-divider-color)}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: i0.forwardRef(() => OwlDateTimeModule) }, { kind: "directive", type: i0.forwardRef(() => i8$1.OwlDateTimeTriggerDirective), selector: "[owlDateTimeTrigger]", inputs: ["owlDateTimeTrigger", "disabled"] }, { kind: "directive", type: i0.forwardRef(() => i8$1.OwlDateTimeInputDirective), selector: "input[owlDateTime]", inputs: ["required", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "rangeSeparator", "value", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { kind: "component", type: i0.forwardRef(() => i8$1.OwlDateTimeComponent), selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "endAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "beforePickerOpen", "afterPickerOpen", "yearSelected", "monthSelected", "dateSelected"], exportAs: ["owlDateTime"] }, { kind: "ngmodule", type: i0.forwardRef(() => OwlNativeDateTimeModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
6586
6623
  }
6587
6624
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DateTimeComponent, decorators: [{
6588
6625
  type: Component,
@@ -6753,7 +6790,7 @@ class DecimalComponent {
6753
6790
  return errMessage;
6754
6791
  }
6755
6792
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DecimalComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
6756
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DecimalComponent, isStandalone: true, selector: "app-decimal", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n type=\"text\"\n matInput\n currencyMask\n [options]=\"{\n prefix: currencySymbol,\n thousands: thousandSeparator,\n decimal: decimalSeparator,\n align: 'left',\n nullable: true,\n precision: decimalPrecision,\n inputMode: inputMode\n }\"\n [placeholder]=\"placeholder\"\n step=\"0.01\"\n [formControlName]=\"controlName$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (blur)=\"fieldOnBlur($event)\"\n [readonly]=\"bReadonly$\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => FormsModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i0.forwardRef(() => NgxCurrencyDirective), selector: "input[currencyMask]", inputs: ["currencyMask", "options"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
6793
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DecimalComponent, isStandalone: true, selector: "app-decimal", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n type=\"text\"\n matInput\n currencyMask\n [options]=\"{\n prefix: currencySymbol,\n thousands: thousandSeparator,\n decimal: decimalSeparator,\n align: 'left',\n nullable: true,\n precision: decimalPrecision,\n inputMode: inputMode\n }\"\n [placeholder]=\"placeholder\"\n step=\"0.01\"\n [formControlName]=\"controlName$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (blur)=\"fieldOnBlur($event)\"\n [readonly]=\"bReadonly$\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => FormsModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i0.forwardRef(() => NgxCurrencyDirective), selector: "input[currencyMask]", inputs: ["currencyMask", "options"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
6757
6794
  }
6758
6795
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DecimalComponent, decorators: [{
6759
6796
  type: Component,
@@ -6967,23 +7004,37 @@ class DropdownComponent {
6967
7004
  }
6968
7005
  columns = preProcessColumns$1(columns) || [];
6969
7006
  if (!this.displayMode$ && listType !== 'associated' && typeof datasource === 'string') {
6970
- this.getData(datasource, parameters, columns, context);
7007
+ this.getData(datasource, parameters, columns, context, listType);
6971
7008
  }
6972
7009
  }
6973
- getData(datasource, parameters, columns, context) {
6974
- this.dataPageService.getDataPageData(datasource, parameters, context).then((results) => {
7010
+ getData(dataSource, parameters, columns, context, listType) {
7011
+ const dataConfig = {
7012
+ columns,
7013
+ dataSource,
7014
+ deferDatasource: true,
7015
+ listType,
7016
+ parameters,
7017
+ matchPosition: 'contains',
7018
+ maxResultsDisplay: '5000',
7019
+ cacheLifeSpan: 'form'
7020
+ };
7021
+ PCore.getDataApi()
7022
+ .init(dataConfig, context)
7023
+ .then((dataApiObj) => {
6975
7024
  const optionsData = [];
6976
7025
  const displayColumn = getDisplayFieldsMetaData$1(columns);
6977
- results?.forEach(element => {
6978
- const val = element[displayColumn.primary]?.toString();
6979
- const obj = {
6980
- key: element[displayColumn.key] || element.pyGUID,
6981
- value: val
6982
- };
6983
- optionsData.push(obj);
7026
+ dataApiObj?.fetchData('').then(response => {
7027
+ response.data?.forEach(element => {
7028
+ const val = element[displayColumn.primary]?.toString();
7029
+ const obj = {
7030
+ key: element[displayColumn.key] || element.pyGUID,
7031
+ value: val
7032
+ };
7033
+ optionsData.push(obj);
7034
+ });
7035
+ optionsData?.unshift({ key: 'Select', value: this.pConn$.getLocalizedValue('Select...', '', '') });
7036
+ this.options$ = optionsData;
6984
7037
  });
6985
- optionsData?.unshift({ key: 'Select', value: this.pConn$.getLocalizedValue('Select...', '', '') });
6986
- this.options$ = optionsData;
6987
7038
  });
6988
7039
  }
6989
7040
  isSelected(buttonValue) {
@@ -7020,7 +7071,7 @@ class DropdownComponent {
7020
7071
  return errMessage;
7021
7072
  }
7022
7073
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DropdownComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }, { token: DatapageService }], target: i0.ɵɵFactoryTarget.Component }); }
7023
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DropdownComponent, isStandalone: true, selector: "app-dropdown", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper\n *ngIf=\"bVisible$ !== false\"\n name=\"FieldValueList\"\n [props]=\"{ label$, value$: this.localizedValue, displayMode$ }\"\n ></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-select\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [attr.data-test-id]=\"testId\"\n (selectionChange)=\"fieldOnChange($event)\"\n [formControl]=\"fieldControl\"\n >\n <mat-option *ngFor=\"let opt of options$\" [value]=\"opt.key\">\n {{ getLocalizedOptionValue(opt) }}\n </mat-option>\n </mat-select>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-form{min-width:9.375rem;width:100%}.psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSelectModule) }, { kind: "component", type: i0.forwardRef(() => i7$1.MatSelect), selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7074
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DropdownComponent, isStandalone: true, selector: "app-dropdown", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper\n *ngIf=\"bVisible$ !== false\"\n name=\"FieldValueList\"\n [props]=\"{ label$, value$: this.localizedValue, displayMode$ }\"\n ></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-select\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [attr.data-test-id]=\"testId\"\n (selectionChange)=\"fieldOnChange($event)\"\n [formControl]=\"fieldControl\"\n >\n <mat-option *ngFor=\"let opt of options$\" [value]=\"opt.key\">\n {{ getLocalizedOptionValue(opt) }}\n </mat-option>\n </mat-select>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-form{min-width:9.375rem;width:100%}.psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSelectModule) }, { kind: "component", type: i0.forwardRef(() => i7$1.MatSelect), selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7024
7075
  }
7025
7076
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DropdownComponent, decorators: [{
7026
7077
  type: Component,
@@ -7162,7 +7213,7 @@ class EmailComponent {
7162
7213
  return errMessage;
7163
7214
  }
7164
7215
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EmailComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
7165
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: EmailComponent, isStandalone: true, selector: "app-email", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"email\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7216
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: EmailComponent, isStandalone: true, selector: "app-email", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"email\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7166
7217
  }
7167
7218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EmailComponent, decorators: [{
7168
7219
  type: Component,
@@ -7364,7 +7415,7 @@ class IntegerComponent {
7364
7415
  return errMessage;
7365
7416
  }
7366
7417
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IntegerComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
7367
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: IntegerComponent, isStandalone: true, selector: "app-integer", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"number\"\n step=\"1\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NumberValueAccessor), selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7418
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: IntegerComponent, isStandalone: true, selector: "app-integer", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"number\"\n step=\"1\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NumberValueAccessor), selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7368
7419
  }
7369
7420
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IntegerComponent, decorators: [{
7370
7421
  type: Component,
@@ -7565,7 +7616,7 @@ class PercentageComponent {
7565
7616
  return errMessage;
7566
7617
  }
7567
7618
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PercentageComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
7568
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PercentageComponent, isStandalone: true, selector: "app-percentage", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n type=\"text\"\n matInput\n currencyMask\n [options]=\"{\n prefix: '',\n suffix: '%',\n thousands: thousandSeparator,\n decimal: decimalSeparator,\n align: 'left',\n nullable: true,\n precision: decimalPrecision,\n inputMode: inputMode\n }\"\n [placeholder]=\"placeholder\"\n step=\".01\"\n [formControlName]=\"controlName$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n [readonly]=\"bReadonly$\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i0.forwardRef(() => NgxCurrencyDirective), selector: "input[currencyMask]", inputs: ["currencyMask", "options"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7619
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PercentageComponent, isStandalone: true, selector: "app-percentage", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n type=\"text\"\n matInput\n currencyMask\n [options]=\"{\n prefix: '',\n suffix: '%',\n thousands: thousandSeparator,\n decimal: decimalSeparator,\n align: 'left',\n nullable: true,\n precision: decimalPrecision,\n inputMode: inputMode\n }\"\n [placeholder]=\"placeholder\"\n step=\".01\"\n [formControlName]=\"controlName$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n [readonly]=\"bReadonly$\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i0.forwardRef(() => NgxCurrencyDirective), selector: "input[currencyMask]", inputs: ["currencyMask", "options"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7569
7620
  }
7570
7621
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PercentageComponent, decorators: [{
7571
7622
  type: Component,
@@ -7711,7 +7762,7 @@ class PhoneComponent {
7711
7762
  return errMessage;
7712
7763
  }
7713
7764
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PhoneComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
7714
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PhoneComponent, isStandalone: true, selector: "app-phone", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div #f=\"ngForm\" [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <ngx-mat-intl-tel-input\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n [preferredCountries]=\"['us']\"\n [enablePlaceholder]=\"true\"\n [enableSearch]=\"true\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur()\"\n >\n </ngx-mat-intl-tel-input>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}.phone-label-readonly{opacity:54%;font-size:.7rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i0.forwardRef(() => NgxMatIntlTelInputComponent), selector: "ngx-mat-intl-tel-input", inputs: ["preferredCountries", "enablePlaceholder", "inputPlaceholder", "cssClass", "name", "onlyCountries", "errorStateMatcher", "enableSearch", "searchPlaceholder", "describedBy", "format", "placeholder", "required", "disabled"], outputs: ["countryChanged"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7765
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PhoneComponent, isStandalone: true, selector: "app-phone", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div #f=\"ngForm\" [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <ngx-mat-intl-tel-input\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n [preferredCountries]=\"['us']\"\n [enablePlaceholder]=\"true\"\n [enableSearch]=\"true\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur()\"\n >\n </ngx-mat-intl-tel-input>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}.phone-label-readonly{opacity:54%;font-size:.7rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i0.forwardRef(() => NgxMatIntlTelInputComponent), selector: "ngx-mat-intl-tel-input", inputs: ["preferredCountries", "enablePlaceholder", "inputPlaceholder", "cssClass", "name", "onlyCountries", "errorStateMatcher", "enableSearch", "searchPlaceholder", "describedBy", "format", "placeholder", "required", "disabled"], outputs: ["countryChanged"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7715
7766
  }
7716
7767
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PhoneComponent, decorators: [{
7717
7768
  type: Component,
@@ -7875,7 +7926,7 @@ class RadioButtonsComponent {
7875
7926
  return errMessage;
7876
7927
  }
7877
7928
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RadioButtonsComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
7878
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RadioButtonsComponent, isStandalone: true, selector: "app-radio-buttons", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, providers: [Utils], ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper\n *ngIf=\"bVisible$ !== false\"\n name=\"FieldValueList\"\n [props]=\"{ label$, value$: this.localizedValue, displayMode$ }\"\n ></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-radio-form\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <span class=\"psdk-label-wrapper-readonly\">\n <label class=\"psdk-label-readonly\">{{ label$ }}</label>\n </span>\n <!-- <mat-label>{{label$}}</mat-label> -->\n <input matInput [placeholder]=\"placeholder\" style=\"display: none\" />\n <mat-radio-group\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange($event)\"\n class=\"{{ bInline$ ? 'psdk-radio-horizontal' : 'psdk-radio-vertical' }}\"\n >\n <mat-radio-button\n *ngFor=\"let opt of options$\"\n [checked]=\"isSelected(opt.key)\"\n [disabled]=\"bReadonly$\"\n [value]=\"opt.key\"\n class=\"psdk-radio-button\"\n >\n {{ getLocalizedOptionValue(opt) }}\n </mat-radio-button>\n </mat-radio-group>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n</ng-template>\n", styles: [".psdk-label-readonly{opacity:54%;font-size:.7rem}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}.psdk-radio-horizontal{display:flex;flex-direction:row}.psdk-radio-vertical{display:flex;flex-direction:column}.psdk-radio-button{padding:.3125rem 0}.psdk-radio-form{width:100%}.psdk-radio-form ::ng-deep .mat-form-field-underline{background-color:transparent}.psdk-radio-form ::ng-deep .mat-form-field-label{top:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatRadioModule) }, { kind: "directive", type: i0.forwardRef(() => i7$2.MatRadioGroup), selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i0.forwardRef(() => i7$2.MatRadioButton), selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7929
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RadioButtonsComponent, isStandalone: true, selector: "app-radio-buttons", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, providers: [Utils], ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper\n *ngIf=\"bVisible$ !== false\"\n name=\"FieldValueList\"\n [props]=\"{ label$, value$: this.localizedValue, displayMode$ }\"\n ></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-radio-form\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <span class=\"psdk-label-wrapper-readonly\">\n <label class=\"psdk-label-readonly\">{{ label$ }}</label>\n </span>\n <!-- <mat-label>{{label$}}</mat-label> -->\n <input matInput [placeholder]=\"placeholder\" style=\"display: none\" />\n <mat-radio-group\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange($event)\"\n class=\"{{ bInline$ ? 'psdk-radio-horizontal' : 'psdk-radio-vertical' }}\"\n >\n <mat-radio-button\n *ngFor=\"let opt of options$\"\n [checked]=\"isSelected(opt.key)\"\n [disabled]=\"bReadonly$\"\n [value]=\"opt.key\"\n class=\"psdk-radio-button\"\n >\n {{ getLocalizedOptionValue(opt) }}\n </mat-radio-button>\n </mat-radio-group>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n</ng-template>\n", styles: [".psdk-label-readonly{opacity:54%;font-size:.7rem}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}.psdk-radio-horizontal{display:flex;flex-direction:row}.psdk-radio-vertical{display:flex;flex-direction:column}.psdk-radio-button{padding:.3125rem 0}.psdk-radio-form{width:100%}.psdk-radio-form ::ng-deep .mat-form-field-underline{background-color:transparent}.psdk-radio-form ::ng-deep .mat-form-field-label{top:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatRadioModule) }, { kind: "directive", type: i0.forwardRef(() => i7$2.MatRadioGroup), selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i0.forwardRef(() => i7$2.MatRadioButton), selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
7879
7930
  }
7880
7931
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RadioButtonsComponent, decorators: [{
7881
7932
  type: Component,
@@ -8067,7 +8118,7 @@ class TextAreaComponent {
8067
8118
  return errMessage;
8068
8119
  }
8069
8120
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TextAreaComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
8070
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TextAreaComponent, isStandalone: true, selector: "app-text-area", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\">\n <div *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <textarea\n matInput\n rows=\"5\"\n [placeholder]=\"label$\"\n type=\"text\"\n [attr.data-test-id]=\"testId\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [disabled]=\"bDisabled$\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n ></textarea>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TextAreaComponent, isStandalone: true, selector: "app-text-area", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\">\n <div *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <textarea\n matInput\n rows=\"5\"\n [placeholder]=\"label$\"\n type=\"text\"\n [attr.data-test-id]=\"testId\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [disabled]=\"bDisabled$\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n ></textarea>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8071
8122
  }
8072
8123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TextAreaComponent, decorators: [{
8073
8124
  type: Component,
@@ -8405,7 +8456,7 @@ class TextInputComponent {
8405
8456
  return errMessage;
8406
8457
  }
8407
8458
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TextInputComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
8408
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TextInputComponent, isStandalone: true, selector: "app-text-input", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"text\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8459
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TextInputComponent, isStandalone: true, selector: "app-text-input", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"text\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8409
8460
  }
8410
8461
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TextInputComponent, decorators: [{
8411
8462
  type: Component,
@@ -8551,7 +8602,7 @@ class TimeComponent {
8551
8602
  return errMessage;
8552
8603
  }
8553
8604
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimeComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
8554
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TimeComponent, isStandalone: true, selector: "app-time", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"time\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8605
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TimeComponent, isStandalone: true, selector: "app-time", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$: formattedValue$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"time\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8555
8606
  }
8556
8607
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimeComponent, decorators: [{
8557
8608
  type: Component,
@@ -8693,7 +8744,7 @@ class UrlComponent {
8693
8744
  return errMessage;
8694
8745
  }
8695
8746
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: UrlComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
8696
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: UrlComponent, isStandalone: true, selector: "app-url", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"url\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'url' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8747
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: UrlComponent, isStandalone: true, selector: "app-url", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n type=\"url\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'url' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8697
8748
  }
8698
8749
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: UrlComponent, decorators: [{
8699
8750
  type: Component,
@@ -8714,6 +8765,18 @@ class UserReferenceComponent {
8714
8765
  this.angularPConnectData = {};
8715
8766
  this.filterValue = '';
8716
8767
  this.fieldControl = new FormControl('', null);
8768
+ this.isUserNameAvailable = user => {
8769
+ return typeof user === 'object' && user !== null && user.userName;
8770
+ };
8771
+ this.getUserName = user => {
8772
+ return user.userName;
8773
+ };
8774
+ this.getValue = user => {
8775
+ if (this.displayAs$ === DROPDOWN_LIST) {
8776
+ return this.utils.getUserId(user) || this.getUserName(user);
8777
+ }
8778
+ return this.isUserNameAvailable(user) ? this.getUserName(user) : this.utils.getUserId(user);
8779
+ };
8717
8780
  }
8718
8781
  async ngOnInit() {
8719
8782
  // First thing in initialization is registering and subscribing to the AngularPConnect service
@@ -8723,9 +8786,9 @@ class UserReferenceComponent {
8723
8786
  if (this.formGroup$) {
8724
8787
  // add control to formGroup
8725
8788
  this.formGroup$.addControl(this.controlName$, this.fieldControl);
8726
- this.fieldControl.setValue(this.value$);
8789
+ this.fieldControl.setValue(this.getValue(this.value$));
8727
8790
  }
8728
- this.filteredOptions = this.fieldControl.valueChanges.pipe(startWith$1(''), map$1(value => this._filter(value || '')));
8791
+ this.filteredOptions = this.fieldControl.valueChanges.pipe(startWith$1(this.getValue(this.value$) || ''), map$1(value => this._filter(value || '')));
8729
8792
  }
8730
8793
  ngOnDestroy() {
8731
8794
  if (this.formGroup$) {
@@ -8767,6 +8830,7 @@ class UserReferenceComponent {
8767
8830
  async updateSelf() {
8768
8831
  const props = this.pConn$.getConfigProps();
8769
8832
  this.testId = props.testId;
8833
+ this.onRecordChange = props?.onRecordChange;
8770
8834
  const { label, displayAs, value, showAsFormattedText, helperText, placeholder, displayMode } = props;
8771
8835
  this.label$ = label;
8772
8836
  this.showAsFormattedText$ = showAsFormattedText;
@@ -8774,16 +8838,14 @@ class UserReferenceComponent {
8774
8838
  this.helperText = helperText;
8775
8839
  this.placeholder = placeholder || '';
8776
8840
  this.displayMode$ = displayMode;
8841
+ this.value$ = this.pConn$.getConfigProps()?.value;
8777
8842
  const { readOnly, required } = props;
8778
8843
  [this.bReadonly$, this.bRequired$] = [readOnly, required].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));
8779
8844
  this.actionsApi = this.pConn$.getActionsApi();
8780
8845
  this.propName = this.pConn$.getStateProps().value;
8781
- const isUserNameAvailable = user => {
8782
- return typeof user === 'object' && user !== null && user.userName;
8783
- };
8784
8846
  this.userID$ = this.utils.getUserId(value);
8785
8847
  if (this.userID$ && this.bReadonly$ && this.showAsFormattedText$) {
8786
- if (isUserNameAvailable(value)) {
8848
+ if (this.isUserNameAvailable(value)) {
8787
8849
  this.userName$ = value.userName;
8788
8850
  }
8789
8851
  else {
@@ -8823,7 +8885,11 @@ class UserReferenceComponent {
8823
8885
  if (event?.target) {
8824
8886
  this.filterValue = event.target.value;
8825
8887
  }
8826
- const value = event?.target?.value;
8888
+ const value = event?.value;
8889
+ handleEvent(this.actionsApi, 'change', this.propName, value);
8890
+ }
8891
+ optionChanged(event) {
8892
+ const value = event?.option?.value;
8827
8893
  handleEvent(this.actionsApi, 'change', this.propName, value);
8828
8894
  }
8829
8895
  fieldOnBlur(event) {
@@ -8832,10 +8898,12 @@ class UserReferenceComponent {
8832
8898
  const index = this.options$?.findIndex(element => element.value === event.target.value);
8833
8899
  key = index > -1 ? (key = this.options$[index].key) : event.target.value;
8834
8900
  }
8835
- const value = {
8836
- value: key
8837
- };
8901
+ const value = key;
8838
8902
  handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
8903
+ if (this.onRecordChange) {
8904
+ event.target.value = value;
8905
+ this.onRecordChange(event);
8906
+ }
8839
8907
  }
8840
8908
  getErrorMessage() {
8841
8909
  let errMessage = '';
@@ -8853,7 +8921,7 @@ class UserReferenceComponent {
8853
8921
  return errMessage;
8854
8922
  }
8855
8923
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: UserReferenceComponent, deps: [{ token: AngularPConnectService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
8856
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: UserReferenceComponent, isStandalone: true, selector: "app-user-reference", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div class=\"psdk-user-reference\">\n <div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n </div>\n <ng-template #noDisplayMode>\n <div *ngIf=\"type === 'operator'\">\n <component-mapper name=\"Operator\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div [formGroup]=\"formGroup$\" *ngIf=\"type === 'dropdown'\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-select\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (selectionChange)=\"fieldOnChange($event)\"\n >\n <mat-option *ngFor=\"let opt of options$\" [value]=\"opt.key\">\n {{ opt.value }}\n </mat-option>\n </mat-select>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">\n {{ getErrorMessage() }}\n </mat-error>\n </mat-form-field>\n </div>\n <div [formGroup]=\"formGroup$\" *ngIf=\"type === 'searchbox'\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">\n {{ getErrorMessage() }}\n </mat-error>\n </mat-form-field>\n </div>\n </ng-template>\n</div>\n", styles: [".psdk-user-reference{font-size:.8rem;color:var(--app-neutral-color)}.psdk-single{flex:1}.psdk-double{flex:2}.psdk-top-pad{padding-top:10px}.psdk-full-width{width:100%;padding-left:.625rem}dt{flex:1}dd{flex:2}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i0.forwardRef(() => i3.AsyncPipe), name: "async" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSelectModule) }, { kind: "component", type: i0.forwardRef(() => i7$1.MatSelect), selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatAutocompleteModule) }, { kind: "component", type: i0.forwardRef(() => i8.MatAutocomplete), selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i0.forwardRef(() => i8.MatAutocompleteTrigger), selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8924
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: UserReferenceComponent, isStandalone: true, selector: "app-user-reference", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div class=\"psdk-user-reference\">\n <div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n </div>\n <ng-template #noDisplayMode>\n <div *ngIf=\"type === 'operator'\">\n <component-mapper name=\"Operator\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div [formGroup]=\"formGroup$\" *ngIf=\"type === 'dropdown'\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-select [required]=\"bRequired$\" [formControl]=\"fieldControl\" [attr.data-test-id]=\"testId\" (selectionChange)=\"fieldOnChange($event)\">\n <mat-option *ngFor=\"let opt of options$\" [value]=\"opt.key\">\n {{ opt.value }}\n </mat-option>\n </mat-select>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">\n {{ getErrorMessage() }}\n </mat-error>\n </mat-form-field>\n </div>\n <div [formGroup]=\"formGroup$\" *ngIf=\"type === 'searchbox'\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n [attr.data-test-id]=\"testId\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"optionChanged($event)\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">\n {{ getErrorMessage() }}\n </mat-error>\n </mat-form-field>\n </div>\n </ng-template>\n</div>\n", styles: [".psdk-user-reference{font-size:.8rem;color:var(--app-neutral-color)}.psdk-single{flex:1}.psdk-double{flex:2}.psdk-top-pad{padding-top:10px}.psdk-full-width{width:100%;padding-left:.625rem}dt{flex:1}dd{flex:2}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i0.forwardRef(() => i3.AsyncPipe), name: "async" }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSelectModule) }, { kind: "component", type: i0.forwardRef(() => i7$1.MatSelect), selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatAutocompleteModule) }, { kind: "component", type: i0.forwardRef(() => i8.MatAutocomplete), selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i0.forwardRef(() => i8.MatAutocompleteTrigger), selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
8857
8925
  }
8858
8926
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: UserReferenceComponent, decorators: [{
8859
8927
  type: Component,
@@ -8866,7 +8934,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
8866
8934
  MatInputModule,
8867
8935
  MatAutocompleteModule,
8868
8936
  forwardRef(() => ComponentMapperComponent)
8869
- ], template: "<div class=\"psdk-user-reference\">\n <div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n </div>\n <ng-template #noDisplayMode>\n <div *ngIf=\"type === 'operator'\">\n <component-mapper name=\"Operator\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div [formGroup]=\"formGroup$\" *ngIf=\"type === 'dropdown'\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-select\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (selectionChange)=\"fieldOnChange($event)\"\n >\n <mat-option *ngFor=\"let opt of options$\" [value]=\"opt.key\">\n {{ opt.value }}\n </mat-option>\n </mat-select>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">\n {{ getErrorMessage() }}\n </mat-error>\n </mat-form-field>\n </div>\n <div [formGroup]=\"formGroup$\" *ngIf=\"type === 'searchbox'\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">\n {{ getErrorMessage() }}\n </mat-error>\n </mat-form-field>\n </div>\n </ng-template>\n</div>\n", styles: [".psdk-user-reference{font-size:.8rem;color:var(--app-neutral-color)}.psdk-single{flex:1}.psdk-double{flex:2}.psdk-top-pad{padding-top:10px}.psdk-full-width{width:100%;padding-left:.625rem}dt{flex:1}dd{flex:2}\n"] }]
8937
+ ], template: "<div class=\"psdk-user-reference\">\n <div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n </div>\n <ng-template #noDisplayMode>\n <div *ngIf=\"type === 'operator'\">\n <component-mapper name=\"Operator\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div [formGroup]=\"formGroup$\" *ngIf=\"type === 'dropdown'\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-select [required]=\"bRequired$\" [formControl]=\"fieldControl\" [attr.data-test-id]=\"testId\" (selectionChange)=\"fieldOnChange($event)\">\n <mat-option *ngFor=\"let opt of options$\" [value]=\"opt.key\">\n {{ opt.value }}\n </mat-option>\n </mat-select>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">\n {{ getErrorMessage() }}\n </mat-error>\n </mat-form-field>\n </div>\n <div [formGroup]=\"formGroup$\" *ngIf=\"type === 'searchbox'\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n [attr.data-test-id]=\"testId\"\n (blur)=\"fieldOnBlur($event)\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption (optionSelected)=\"optionChanged($event)\">\n <mat-option *ngFor=\"let opt of filteredOptions | async\" [value]=\"opt.value\">\n <span>{{ opt.value }}</span>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">\n {{ getErrorMessage() }}\n </mat-error>\n </mat-form-field>\n </div>\n </ng-template>\n</div>\n", styles: [".psdk-user-reference{font-size:.8rem;color:var(--app-neutral-color)}.psdk-single{flex:1}.psdk-double{flex:2}.psdk-top-pad{padding-top:10px}.psdk-full-width{width:100%;padding-left:.625rem}dt{flex:1}dd{flex:2}\n"] }]
8870
8938
  }], ctorParameters: () => [{ type: AngularPConnectService }, { type: Utils }], propDecorators: { pConn$: [{
8871
8939
  type: Input
8872
8940
  }], formGroup$: [{
@@ -9435,17 +9503,14 @@ class CaseViewComponent {
9435
9503
  this.editAction = this.arAvailableActions$.find(action => action.ID === 'pyUpdateCaseDetails');
9436
9504
  this.arAvailabeProcesses$ = caseInfo?.availableProcesses ? caseInfo.availableProcesses : [];
9437
9505
  this.svgCase$ = this.utils.getImageSrc(this.configProps$.icon, this.utils.getSDKStaticContentUrl());
9438
- // this.utils.consoleKidDump(this.pConn$);
9439
- if (!this.displayOnlyFA$) {
9440
- for (const kid of this.arChildren$) {
9441
- const kidPConn = kid.getPConnect();
9442
- if (kidPConn.getRawMetadata().name == 'Tabs') {
9443
- this.mainTabs = kid;
9444
- this.mainTabData = this.mainTabs.getPConnect().getChildren();
9445
- }
9506
+ for (const kid of this.arChildren$) {
9507
+ const kidPConn = kid.getPConnect();
9508
+ if (kidPConn.getRawMetadata().name == 'Tabs') {
9509
+ this.mainTabs = kid;
9510
+ this.mainTabData = this.mainTabs.getPConnect().getChildren();
9446
9511
  }
9447
- this.generateTabsData();
9448
9512
  }
9513
+ this.generateTabsData();
9449
9514
  }
9450
9515
  generateTabsData() {
9451
9516
  this.mainTabs
@@ -9497,17 +9562,15 @@ class CaseViewComponent {
9497
9562
  openProcessAction(data.ID, { ...data });
9498
9563
  }
9499
9564
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CaseViewComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: AngularPConnectService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
9500
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: CaseViewComponent, isStandalone: true, selector: "app-case-view", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", displayOnlyFA$: "displayOnlyFA$" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-case-view\" id=\"case-view\">\n <div *ngIf=\"!displayOnlyFA$\" class=\"psdk-case-view-info\">\n <mat-toolbar color=\"primary\" class=\"psdk-case-view-toolbar\">\n <mat-toolbar-row style=\"padding-left: 1rem\">\n <div class=\"psdk-case-icon-div\">\n <img class=\"psdk-case-svg-icon\" src=\"{{ svgCase$ }}\" />\n </div>\n <div class=\"psdk-case-view-heading\">\n <div>\n <h1 id=\"case-name\">{{ heading$ }}</h1>\n </div>\n <div id=\"current-caseID\" [hidden]=\"true\">{{ currentCaseID }}</div>\n <div class=\"psdk-case-view-heading-id\" id=\"caseId\">{{ id$ }}</div>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"psdk-case-view-buttons\">\n <button *ngIf=\"editAction\" mat-raised-button color=\"secondary\" (click)=\"_editClick()\">{{ localizedVal('Edit', localeCategory) }}</button>\n <button mat-raised-button color=\"secondary\" [matMenuTriggerFor]=\"actionMenu\">{{ localizedVal('Actions...', localeCategory) }}</button>\n <mat-menu #actionMenu=\"matMenu\" overlapTrigger=\"false\">\n <ng-container *ngFor=\"let action of arAvailableActions$\">\n <button mat-menu-item (click)=\"_menuActionClick(action)\">\n {{ localizedVal(action.name, '', localeKey) }}\n </button>\n </ng-container>\n <ng-container *ngFor=\"let process of arAvailabeProcesses$\">\n <button mat-menu-item (click)=\"_menuProcessClick(process)\">\n {{ process.name }}\n </button>\n </ng-container>\n </mat-menu>\n </div>\n\n <div class=\"psdk-case-view-divider\"></div>\n\n <div class=\"psdk-case-view-summary\">\n <component-mapper name=\"CaseSummary\" [props]=\"{ pConn$: caseSummaryPConn$ }\"></component-mapper>\n </div>\n\n <component-mapper\n *ngIf=\"caseTabs$.length > 1\"\n name=\"VerticalTabs\"\n [props]=\"{ tabConfig$: caseTabs$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ tabClick: onTabClick }\"\n ></component-mapper>\n </div>\n <div class=\"psdk-case-view-main\">\n <div *ngIf=\"!displayOnlyFA$\">\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"\n kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'stages'\n \"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'todo'\"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name == 'Main'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div *ngIf=\"!displayOnlyFA$\">\n <component-mapper name=\"DeferLoad\" [props]=\"{ pConn$, loadData$: tabData$, name: tabData$?.config?.name }\"></component-mapper>\n </div>\n </div>\n <div *ngIf=\"!displayOnlyFA$\">\n <div *ngIf=\"arChildren$\" class=\"psdk-case-view-utilities\">\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata()?.type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata()?.name == 'Utilities'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["h1{font-size:1.1rem;line-height:1.3rem}::ng-deep .mat-mdc-menu-panel{overflow:unset;max-width:unset}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%;border-radius:.6125rem}.psdk-case-view{box-sizing:border-box;display:flex}.ng-case-view-toolbar{padding:.625rem}.psdk-case-icon-div{background-color:var(--app-primary-dark-color);border-radius:1rem;padding:.5rem .3rem .3rem}.psdk-case-svg-icon{width:2rem;padding:0rem .3125rem;filter:var(--app-white-color-filter)}.psdk-case-view-info-box{display:flex;flex-direction:row;padding:0rem .3125rem 0rem 0rem}.psdk-case-view-info{flex:0 0 auto;width:25rem;float:left;padding:0rem .3125rem 0rem 0rem;margin-left:.5rem;margin-top:.5rem;height:100%;background-color:var(--app-form-color)}.psdk-case-view-main{flex-grow:2;float:left;padding:0rem .3125rem;height:100%}.psdk-case-view-summary{padding-left:.75rem}.psdk-case-view-heading{display:block;text-align:left;padding-left:.5rem;padding-bottom:0;padding-top:5px}.psdk-case-view-heading-id{font-size:.9rem;font-weight:400}.psdk-case-view-buttons{display:flex;justify-content:flex-start;padding:.3125rem}.psdk-case-view-utilities{width:21.875rem;float:left;padding:0rem .3125rem;height:100%}.psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-status{padding:.3125rem;background-color:var(--app-primary-color);color:var(--app-form-color);width:fit-content;margin:.625rem}button{margin:0rem .3125rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatToolbarModule) }, { kind: "component", type: i0.forwardRef(() => i4$4.MatToolbar), selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i0.forwardRef(() => i4$4.MatToolbarRow), selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatMenuModule) }, { kind: "component", type: i0.forwardRef(() => i6.MatMenu), selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i0.forwardRef(() => i6.MatMenuItem), selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i0.forwardRef(() => i6.MatMenuTrigger), selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
9565
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: CaseViewComponent, isStandalone: true, selector: "app-case-view", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-case-view\" id=\"case-view\">\n <div class=\"psdk-case-view-info\">\n <mat-toolbar color=\"primary\" class=\"psdk-case-view-toolbar\">\n <mat-toolbar-row style=\"padding-left: 1rem\">\n <div class=\"psdk-case-icon-div\">\n <img class=\"psdk-case-svg-icon\" src=\"{{ svgCase$ }}\" />\n </div>\n <div class=\"psdk-case-view-heading\">\n <div>\n <h1 id=\"case-name\">{{ heading$ }}</h1>\n </div>\n <div id=\"current-caseID\" [hidden]=\"true\">{{ currentCaseID }}</div>\n <div class=\"psdk-case-view-heading-id\" id=\"caseId\">{{ id$ }}</div>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"psdk-case-view-buttons\">\n <button *ngIf=\"editAction\" mat-raised-button color=\"secondary\" (click)=\"_editClick()\">{{ localizedVal('Edit', localeCategory) }}</button>\n <button mat-raised-button color=\"secondary\" [matMenuTriggerFor]=\"actionMenu\">{{ localizedVal('Actions...', localeCategory) }}</button>\n <mat-menu #actionMenu=\"matMenu\" overlapTrigger=\"false\">\n <ng-container *ngFor=\"let action of arAvailableActions$\">\n <button mat-menu-item (click)=\"_menuActionClick(action)\">\n {{ localizedVal(action.name, '', localeKey) }}\n </button>\n </ng-container>\n <ng-container *ngFor=\"let process of arAvailabeProcesses$\">\n <button mat-menu-item (click)=\"_menuProcessClick(process)\">\n {{ process.name }}\n </button>\n </ng-container>\n </mat-menu>\n </div>\n\n <div class=\"psdk-case-view-divider\"></div>\n\n <div class=\"psdk-case-view-summary\">\n <component-mapper name=\"CaseSummary\" [props]=\"{ pConn$: caseSummaryPConn$ }\"></component-mapper>\n </div>\n\n <component-mapper\n *ngIf=\"caseTabs$.length > 1\"\n name=\"VerticalTabs\"\n [props]=\"{ tabConfig$: caseTabs$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ tabClick: onTabClick }\"\n ></component-mapper>\n </div>\n <div class=\"psdk-case-view-main\">\n <div>\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"\n kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'stages'\n \"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'todo'\"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name == 'Main'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div>\n <component-mapper name=\"DeferLoad\" [props]=\"{ pConn$, loadData$: tabData$, name: tabData$?.config?.name }\"></component-mapper>\n </div>\n </div>\n <div>\n <div *ngIf=\"arChildren$\" class=\"psdk-case-view-utilities\">\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata()?.type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata()?.name == 'Utilities'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["h1{font-size:1.1rem;line-height:1.3rem}::ng-deep .mat-mdc-menu-panel{overflow:unset;max-width:unset}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%;border-radius:.6125rem}.psdk-case-view{box-sizing:border-box;display:flex}.ng-case-view-toolbar{padding:.625rem}.psdk-case-icon-div{background-color:var(--app-primary-dark-color);border-radius:1rem;padding:.5rem .3rem .3rem}.psdk-case-svg-icon{width:2rem;padding:0rem .3125rem;filter:var(--app-white-color-filter)}.psdk-case-view-info-box{display:flex;flex-direction:row;padding:0rem .3125rem 0rem 0rem}.psdk-case-view-info{flex:0 0 auto;width:25rem;float:left;padding:0rem .3125rem 0rem 0rem;margin-left:.5rem;margin-top:.5rem;height:100%;background-color:var(--app-form-color)}.psdk-case-view-main{flex-grow:2;float:left;padding:0rem .3125rem;height:100%}.psdk-case-view-summary{padding-left:.75rem}.psdk-case-view-heading{display:block;text-align:left;padding-left:.5rem;padding-bottom:0;padding-top:5px}.psdk-case-view-heading-id{font-size:.9rem;font-weight:400}.psdk-case-view-buttons{display:flex;justify-content:flex-start;padding:.3125rem}.psdk-case-view-utilities{width:21.875rem;float:left;padding:0rem .3125rem;height:100%}.psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-status{padding:.3125rem;background-color:var(--app-primary-color);color:var(--app-form-color);width:fit-content;margin:.625rem}button{margin:0rem .3125rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatToolbarModule) }, { kind: "component", type: i0.forwardRef(() => i4$4.MatToolbar), selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i0.forwardRef(() => i4$4.MatToolbarRow), selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatMenuModule) }, { kind: "component", type: i0.forwardRef(() => i6.MatMenu), selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i0.forwardRef(() => i6.MatMenuItem), selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i0.forwardRef(() => i6.MatMenuTrigger), selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
9501
9566
  }
9502
9567
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CaseViewComponent, decorators: [{
9503
9568
  type: Component,
9504
- args: [{ selector: 'app-case-view', providers: [Utils], standalone: true, imports: [CommonModule, MatToolbarModule, MatButtonModule, MatMenuModule, forwardRef(() => ComponentMapperComponent)], template: "<div class=\"psdk-case-view\" id=\"case-view\">\n <div *ngIf=\"!displayOnlyFA$\" class=\"psdk-case-view-info\">\n <mat-toolbar color=\"primary\" class=\"psdk-case-view-toolbar\">\n <mat-toolbar-row style=\"padding-left: 1rem\">\n <div class=\"psdk-case-icon-div\">\n <img class=\"psdk-case-svg-icon\" src=\"{{ svgCase$ }}\" />\n </div>\n <div class=\"psdk-case-view-heading\">\n <div>\n <h1 id=\"case-name\">{{ heading$ }}</h1>\n </div>\n <div id=\"current-caseID\" [hidden]=\"true\">{{ currentCaseID }}</div>\n <div class=\"psdk-case-view-heading-id\" id=\"caseId\">{{ id$ }}</div>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"psdk-case-view-buttons\">\n <button *ngIf=\"editAction\" mat-raised-button color=\"secondary\" (click)=\"_editClick()\">{{ localizedVal('Edit', localeCategory) }}</button>\n <button mat-raised-button color=\"secondary\" [matMenuTriggerFor]=\"actionMenu\">{{ localizedVal('Actions...', localeCategory) }}</button>\n <mat-menu #actionMenu=\"matMenu\" overlapTrigger=\"false\">\n <ng-container *ngFor=\"let action of arAvailableActions$\">\n <button mat-menu-item (click)=\"_menuActionClick(action)\">\n {{ localizedVal(action.name, '', localeKey) }}\n </button>\n </ng-container>\n <ng-container *ngFor=\"let process of arAvailabeProcesses$\">\n <button mat-menu-item (click)=\"_menuProcessClick(process)\">\n {{ process.name }}\n </button>\n </ng-container>\n </mat-menu>\n </div>\n\n <div class=\"psdk-case-view-divider\"></div>\n\n <div class=\"psdk-case-view-summary\">\n <component-mapper name=\"CaseSummary\" [props]=\"{ pConn$: caseSummaryPConn$ }\"></component-mapper>\n </div>\n\n <component-mapper\n *ngIf=\"caseTabs$.length > 1\"\n name=\"VerticalTabs\"\n [props]=\"{ tabConfig$: caseTabs$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ tabClick: onTabClick }\"\n ></component-mapper>\n </div>\n <div class=\"psdk-case-view-main\">\n <div *ngIf=\"!displayOnlyFA$\">\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"\n kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'stages'\n \"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'todo'\"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name == 'Main'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div *ngIf=\"!displayOnlyFA$\">\n <component-mapper name=\"DeferLoad\" [props]=\"{ pConn$, loadData$: tabData$, name: tabData$?.config?.name }\"></component-mapper>\n </div>\n </div>\n <div *ngIf=\"!displayOnlyFA$\">\n <div *ngIf=\"arChildren$\" class=\"psdk-case-view-utilities\">\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata()?.type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata()?.name == 'Utilities'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["h1{font-size:1.1rem;line-height:1.3rem}::ng-deep .mat-mdc-menu-panel{overflow:unset;max-width:unset}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%;border-radius:.6125rem}.psdk-case-view{box-sizing:border-box;display:flex}.ng-case-view-toolbar{padding:.625rem}.psdk-case-icon-div{background-color:var(--app-primary-dark-color);border-radius:1rem;padding:.5rem .3rem .3rem}.psdk-case-svg-icon{width:2rem;padding:0rem .3125rem;filter:var(--app-white-color-filter)}.psdk-case-view-info-box{display:flex;flex-direction:row;padding:0rem .3125rem 0rem 0rem}.psdk-case-view-info{flex:0 0 auto;width:25rem;float:left;padding:0rem .3125rem 0rem 0rem;margin-left:.5rem;margin-top:.5rem;height:100%;background-color:var(--app-form-color)}.psdk-case-view-main{flex-grow:2;float:left;padding:0rem .3125rem;height:100%}.psdk-case-view-summary{padding-left:.75rem}.psdk-case-view-heading{display:block;text-align:left;padding-left:.5rem;padding-bottom:0;padding-top:5px}.psdk-case-view-heading-id{font-size:.9rem;font-weight:400}.psdk-case-view-buttons{display:flex;justify-content:flex-start;padding:.3125rem}.psdk-case-view-utilities{width:21.875rem;float:left;padding:0rem .3125rem;height:100%}.psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-status{padding:.3125rem;background-color:var(--app-primary-color);color:var(--app-form-color);width:fit-content;margin:.625rem}button{margin:0rem .3125rem}\n"] }]
9569
+ args: [{ selector: 'app-case-view', providers: [Utils], standalone: true, imports: [CommonModule, MatToolbarModule, MatButtonModule, MatMenuModule, forwardRef(() => ComponentMapperComponent)], template: "<div class=\"psdk-case-view\" id=\"case-view\">\n <div class=\"psdk-case-view-info\">\n <mat-toolbar color=\"primary\" class=\"psdk-case-view-toolbar\">\n <mat-toolbar-row style=\"padding-left: 1rem\">\n <div class=\"psdk-case-icon-div\">\n <img class=\"psdk-case-svg-icon\" src=\"{{ svgCase$ }}\" />\n </div>\n <div class=\"psdk-case-view-heading\">\n <div>\n <h1 id=\"case-name\">{{ heading$ }}</h1>\n </div>\n <div id=\"current-caseID\" [hidden]=\"true\">{{ currentCaseID }}</div>\n <div class=\"psdk-case-view-heading-id\" id=\"caseId\">{{ id$ }}</div>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"psdk-case-view-buttons\">\n <button *ngIf=\"editAction\" mat-raised-button color=\"secondary\" (click)=\"_editClick()\">{{ localizedVal('Edit', localeCategory) }}</button>\n <button mat-raised-button color=\"secondary\" [matMenuTriggerFor]=\"actionMenu\">{{ localizedVal('Actions...', localeCategory) }}</button>\n <mat-menu #actionMenu=\"matMenu\" overlapTrigger=\"false\">\n <ng-container *ngFor=\"let action of arAvailableActions$\">\n <button mat-menu-item (click)=\"_menuActionClick(action)\">\n {{ localizedVal(action.name, '', localeKey) }}\n </button>\n </ng-container>\n <ng-container *ngFor=\"let process of arAvailabeProcesses$\">\n <button mat-menu-item (click)=\"_menuProcessClick(process)\">\n {{ process.name }}\n </button>\n </ng-container>\n </mat-menu>\n </div>\n\n <div class=\"psdk-case-view-divider\"></div>\n\n <div class=\"psdk-case-view-summary\">\n <component-mapper name=\"CaseSummary\" [props]=\"{ pConn$: caseSummaryPConn$ }\"></component-mapper>\n </div>\n\n <component-mapper\n *ngIf=\"caseTabs$.length > 1\"\n name=\"VerticalTabs\"\n [props]=\"{ tabConfig$: caseTabs$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ tabClick: onTabClick }\"\n ></component-mapper>\n </div>\n <div class=\"psdk-case-view-main\">\n <div>\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"\n kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'stages'\n \"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'todo'\"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name == 'Main'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div>\n <component-mapper name=\"DeferLoad\" [props]=\"{ pConn$, loadData$: tabData$, name: tabData$?.config?.name }\"></component-mapper>\n </div>\n </div>\n <div>\n <div *ngIf=\"arChildren$\" class=\"psdk-case-view-utilities\">\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata()?.type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata()?.name == 'Utilities'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["h1{font-size:1.1rem;line-height:1.3rem}::ng-deep .mat-mdc-menu-panel{overflow:unset;max-width:unset}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%;border-radius:.6125rem}.psdk-case-view{box-sizing:border-box;display:flex}.ng-case-view-toolbar{padding:.625rem}.psdk-case-icon-div{background-color:var(--app-primary-dark-color);border-radius:1rem;padding:.5rem .3rem .3rem}.psdk-case-svg-icon{width:2rem;padding:0rem .3125rem;filter:var(--app-white-color-filter)}.psdk-case-view-info-box{display:flex;flex-direction:row;padding:0rem .3125rem 0rem 0rem}.psdk-case-view-info{flex:0 0 auto;width:25rem;float:left;padding:0rem .3125rem 0rem 0rem;margin-left:.5rem;margin-top:.5rem;height:100%;background-color:var(--app-form-color)}.psdk-case-view-main{flex-grow:2;float:left;padding:0rem .3125rem;height:100%}.psdk-case-view-summary{padding-left:.75rem}.psdk-case-view-heading{display:block;text-align:left;padding-left:.5rem;padding-bottom:0;padding-top:5px}.psdk-case-view-heading-id{font-size:.9rem;font-weight:400}.psdk-case-view-buttons{display:flex;justify-content:flex-start;padding:.3125rem}.psdk-case-view-utilities{width:21.875rem;float:left;padding:0rem .3125rem;height:100%}.psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-status{padding:.3125rem;background-color:var(--app-primary-color);color:var(--app-form-color);width:fit-content;margin:.625rem}button{margin:0rem .3125rem}\n"] }]
9505
9570
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: AngularPConnectService }, { type: Utils }], propDecorators: { pConn$: [{
9506
9571
  type: Input
9507
9572
  }], formGroup$: [{
9508
9573
  type: Input
9509
- }], displayOnlyFA$: [{
9510
- type: Input
9511
9574
  }] } });
9512
9575
 
9513
9576
  class ConfirmationComponent {
@@ -9805,14 +9868,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
9805
9868
  type: Input
9806
9869
  }] } });
9807
9870
 
9808
- class FormTemplateBaseComponent {
9871
+ class FormTemplateBase {
9809
9872
  ngOnDestroy() {
9810
9873
  PCore.getContextTreeManager().removeContextTreeNode(this.pConn$.getContextName());
9874
+ if (this.angularPConnectData.unsubscribeFn) {
9875
+ this.angularPConnectData.unsubscribeFn();
9876
+ }
9811
9877
  }
9812
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormTemplateBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9813
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormTemplateBaseComponent, ngImport: i0 }); }
9878
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormTemplateBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9879
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormTemplateBase, ngImport: i0 }); }
9814
9880
  }
9815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormTemplateBaseComponent, decorators: [{
9881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormTemplateBase, decorators: [{
9816
9882
  type: Directive
9817
9883
  }] });
9818
9884
 
@@ -9870,12 +9936,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
9870
9936
  }]
9871
9937
  }] });
9872
9938
 
9873
- class DefaultFormComponent extends FormTemplateBaseComponent {
9874
- constructor(templateUtils) {
9939
+ function areViewsChanged(oldViews, newViews) {
9940
+ if (oldViews?.length !== newViews?.length) {
9941
+ return true;
9942
+ }
9943
+ return !oldViews?.every((oldView, index) => {
9944
+ const newView = newViews[index];
9945
+ return oldView.getPConnect().viewName === newView.getPConnect().viewName;
9946
+ });
9947
+ }
9948
+ class DefaultFormComponent extends FormTemplateBase {
9949
+ constructor(angularPConnect, templateUtils) {
9875
9950
  super();
9951
+ this.angularPConnect = angularPConnect;
9876
9952
  this.templateUtils = templateUtils;
9953
+ // Used with AngularPConnect
9954
+ this.angularPConnectData = {};
9877
9955
  }
9878
9956
  ngOnInit() {
9957
+ // First thing in initialization is registering and subscribing to the AngularPConnect service
9958
+ this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
9959
+ this.updateSelf();
9960
+ }
9961
+ onStateChange() {
9962
+ this.updateSelf();
9963
+ }
9964
+ updateSelf() {
9879
9965
  const configProps = this.pConn$.getConfigProps();
9880
9966
  const kids = this.pConn$.getChildren();
9881
9967
  this.instructions = this.templateUtils.getInstructions(this.pConn$, configProps?.instructions);
@@ -9897,32 +9983,33 @@ class DefaultFormComponent extends FormTemplateBaseComponent {
9897
9983
  // repoint children before getting templateArray
9898
9984
  // Children may contain 'reference' component, so we need to
9899
9985
  // normalize them
9900
- this.arChildren$ = ReferenceComponent.normalizePConnArray(kids[0].getPConnect().getChildren());
9986
+ const children = ReferenceComponent.normalizePConnArray(kids[0].getPConnect().getChildren());
9987
+ const visibleChildren = children?.filter(child => child !== undefined) || [];
9988
+ if (areViewsChanged(this.arChildren$, visibleChildren)) {
9989
+ this.arChildren$ = visibleChildren;
9990
+ }
9901
9991
  }
9902
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DefaultFormComponent, deps: [{ token: TemplateUtils }], target: i0.ɵɵFactoryTarget.Component }); }
9992
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DefaultFormComponent, deps: [{ token: AngularPConnectService }, { token: TemplateUtils }], target: i0.ɵɵFactoryTarget.Component }); }
9903
9993
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DefaultFormComponent, isStandalone: true, selector: "app-default-form", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"instructions\" class=\"psdk-default-form-instruction-text\">\n <div key=\"instructions\" id=\"instruction-text\" [innerHTML]=\"instructions\"></div>\n</div>\n<div [className]=\"divClass$\">\n <div *ngFor=\"let kid of arChildren$\" [ngClass]=\"{ 'grid-column': kid.getPConnect().getComponentName() === 'View' }\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"DefaultForm wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".psdk-default-form-one-column{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));column-gap:1rem}.psdk-default-form-two-column{display:grid;grid-template-columns:repeat(2,1fr);column-gap:1rem}.psdk-default-form-three-column{display:grid;grid-template-columns:repeat(3,1fr);column-gap:1rem}.psdk-default-form-three-column .grid-column{grid-column:1/span 3}.psdk-default-form-two-column .grid-column{grid-column:1/span 2}.psdk-default-form-one-column .grid-column{grid-column:1}.template-title-container{font-size:.9375rem;font-weight:600;margin:10px 0}.psdk-default-form-instruction-text{padding-top:.625rem;padding-bottom:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
9904
9994
  }
9905
9995
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DefaultFormComponent, decorators: [{
9906
9996
  type: Component,
9907
9997
  args: [{ selector: 'app-default-form', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"instructions\" class=\"psdk-default-form-instruction-text\">\n <div key=\"instructions\" id=\"instruction-text\" [innerHTML]=\"instructions\"></div>\n</div>\n<div [className]=\"divClass$\">\n <div *ngFor=\"let kid of arChildren$\" [ngClass]=\"{ 'grid-column': kid.getPConnect().getComponentName() === 'View' }\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"DefaultForm wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".psdk-default-form-one-column{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));column-gap:1rem}.psdk-default-form-two-column{display:grid;grid-template-columns:repeat(2,1fr);column-gap:1rem}.psdk-default-form-three-column{display:grid;grid-template-columns:repeat(3,1fr);column-gap:1rem}.psdk-default-form-three-column .grid-column{grid-column:1/span 3}.psdk-default-form-two-column .grid-column{grid-column:1/span 2}.psdk-default-form-one-column .grid-column{grid-column:1}.template-title-container{font-size:.9375rem;font-weight:600;margin:10px 0}.psdk-default-form-instruction-text{padding-top:.625rem;padding-bottom:.625rem}\n"] }]
9908
- }], ctorParameters: () => [{ type: TemplateUtils }], propDecorators: { pConn$: [{
9998
+ }], ctorParameters: () => [{ type: AngularPConnectService }, { type: TemplateUtils }], propDecorators: { pConn$: [{
9909
9999
  type: Input
9910
10000
  }], formGroup$: [{
9911
10001
  type: Input
9912
10002
  }] } });
9913
10003
 
9914
- class DetailsComponent {
9915
- constructor(angularPConnect) {
9916
- this.angularPConnect = angularPConnect;
9917
- this.highlightedDataArr = [];
9918
- this.arFields$ = [];
9919
- // Used with AngularPConnect
10004
+ class DetailsTemplateBase {
10005
+ constructor(injector) {
10006
+ // For interaction with AngularPConnect
9920
10007
  this.angularPConnectData = {};
10008
+ this.angularPConnect = injector.get(AngularPConnectService);
9921
10009
  }
9922
10010
  ngOnInit() {
9923
10011
  // First thing in initialization is registering and subscribing to the AngularPConnect service
9924
10012
  this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
9925
- // this.updateSelf();
9926
10013
  this.checkAndUpdate();
9927
10014
  }
9928
10015
  ngOnDestroy() {
@@ -9934,14 +10021,45 @@ class DetailsComponent {
9934
10021
  this.checkAndUpdate();
9935
10022
  }
9936
10023
  checkAndUpdate() {
9937
- // Should always check the bridge to see if the component should
9938
- // update itself (re-render)
10024
+ // Should always check the bridge to see if the component should update itself (re-render)
9939
10025
  const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
9940
- // ONLY call updateSelf when the component should update
9941
- if (bUpdateSelf) {
10026
+ // Only call updateSelf when the component should update
10027
+ if (bUpdateSelf || this.hasRawMetadataChanged()) {
9942
10028
  this.updateSelf();
9943
10029
  }
9944
10030
  }
10031
+ // this method will get overriden by the child component
10032
+ updateSelf() { }
10033
+ hasRawMetadataChanged() {
10034
+ const newChildrenMetadata = this.fetchChildrenMetadata();
10035
+ if (!PCore.isDeepEqual(newChildrenMetadata, this.childrenMetadataOld)) {
10036
+ this.childrenMetadataOld = newChildrenMetadata;
10037
+ return true;
10038
+ }
10039
+ return false;
10040
+ }
10041
+ fetchChildrenMetadata() {
10042
+ const children = this.pConn$.getChildren() || [];
10043
+ return children.map(child => {
10044
+ const pConnect = child.getPConnect();
10045
+ return pConnect.resolveConfigProps(pConnect.getRawMetadata());
10046
+ });
10047
+ }
10048
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsTemplateBase, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
10049
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: DetailsTemplateBase, inputs: { pConn$: "pConn$" }, ngImport: i0 }); }
10050
+ }
10051
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsTemplateBase, decorators: [{
10052
+ type: Directive
10053
+ }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { pConn$: [{
10054
+ type: Input
10055
+ }] } });
10056
+
10057
+ class DetailsComponent extends DetailsTemplateBase {
10058
+ constructor() {
10059
+ super(...arguments);
10060
+ this.highlightedDataArr = [];
10061
+ this.arFields$ = [];
10062
+ }
9945
10063
  updateSelf() {
9946
10064
  const rawMetaData = this.pConn$.resolveConfigProps(this.pConn$.getRawMetadata()?.config);
9947
10065
  this.showHighlightedData = rawMetaData?.showHighlightedData;
@@ -10000,47 +10118,20 @@ class DetailsComponent {
10000
10118
  });
10001
10119
  }
10002
10120
  }
10003
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsComponent, deps: [{ token: AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
10004
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsComponent, isStandalone: true, selector: "app-details", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div>\n <component-mapper name=\"MaterialDetails\" [props]=\"{ arFields$, arHighlightedFields: highlightedDataArr, layout: 'one-column' }\"></component-mapper>\n</div>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsComponent, isStandalone: true, selector: "app-details", usesInheritance: true, ngImport: i0, template: "<div>\n <component-mapper name=\"MaterialDetails\" [props]=\"{ arFields$, arHighlightedFields: highlightedDataArr, layout: 'one-column' }\"></component-mapper>\n</div>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10005
10123
  }
10006
10124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsComponent, decorators: [{
10007
10125
  type: Component,
10008
10126
  args: [{ selector: 'app-details', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<div>\n <component-mapper name=\"MaterialDetails\" [props]=\"{ arFields$, arHighlightedFields: highlightedDataArr, layout: 'one-column' }\"></component-mapper>\n</div>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"] }]
10009
- }], ctorParameters: () => [{ type: AngularPConnectService }], propDecorators: { pConn$: [{
10010
- type: Input
10011
- }] } });
10127
+ }] });
10012
10128
 
10013
- class DetailsNarrowWideComponent {
10014
- constructor(angularPConnect) {
10015
- this.angularPConnect = angularPConnect;
10129
+ class DetailsNarrowWideComponent extends DetailsTemplateBase {
10130
+ constructor() {
10131
+ super(...arguments);
10016
10132
  this.arFields$ = [];
10017
10133
  this.arFields2$ = [];
10018
10134
  this.highlightedDataArr = [];
10019
- // Used with AngularPConnect
10020
- this.angularPConnectData = {};
10021
- }
10022
- ngOnInit() {
10023
- // First thing in initialization is registering and subscribing to the AngularPConnect service
10024
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
10025
- // this.updateSelf();
10026
- this.checkAndUpdate();
10027
- }
10028
- ngOnDestroy() {
10029
- if (this.angularPConnectData.unsubscribeFn) {
10030
- this.angularPConnectData.unsubscribeFn();
10031
- }
10032
- }
10033
- onStateChange() {
10034
- this.checkAndUpdate();
10035
- }
10036
- checkAndUpdate() {
10037
- // Should always check the bridge to see if the component should
10038
- // update itself (re-render)
10039
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
10040
- // ONLY call updateSelf when the component should update
10041
- if (bUpdateSelf) {
10042
- this.updateSelf();
10043
- }
10044
10135
  }
10045
10136
  updateSelf() {
10046
10137
  const rawMetaData = this.pConn$.resolveConfigProps(this.pConn$.getRawMetadata()?.config);
@@ -10068,45 +10159,18 @@ class DetailsNarrowWideComponent {
10068
10159
  }
10069
10160
  }
10070
10161
  }
10071
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsNarrowWideComponent, deps: [{ token: AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
10072
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsNarrowWideComponent, isStandalone: true, selector: "app-details-narrow-wide", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'narrow-wide' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:3fr 7fr;column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsNarrowWideComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsNarrowWideComponent, isStandalone: true, selector: "app-details-narrow-wide", usesInheritance: true, ngImport: i0, template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'narrow-wide' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:3fr 7fr;column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10073
10164
  }
10074
10165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsNarrowWideComponent, decorators: [{
10075
10166
  type: Component,
10076
10167
  args: [{ selector: 'app-details-narrow-wide', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'narrow-wide' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:3fr 7fr;column-gap:1rem;row-gap:1rem;align-items:start}\n"] }]
10077
- }], ctorParameters: () => [{ type: AngularPConnectService }], propDecorators: { pConn$: [{
10078
- type: Input
10079
- }] } });
10168
+ }] });
10080
10169
 
10081
- class DetailsOneColumnComponent {
10082
- constructor(angularPConnect) {
10083
- this.angularPConnect = angularPConnect;
10170
+ class DetailsOneColumnComponent extends DetailsTemplateBase {
10171
+ constructor() {
10172
+ super(...arguments);
10084
10173
  this.arFields$ = [];
10085
- // Used with AngularPConnect
10086
- this.angularPConnectData = {};
10087
- }
10088
- ngOnInit() {
10089
- // First thing in initialization is registering and subscribing to the AngularPConnect service
10090
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
10091
- // this.updateSelf();
10092
- this.checkAndUpdate();
10093
- }
10094
- ngOnDestroy() {
10095
- if (this.angularPConnectData.unsubscribeFn) {
10096
- this.angularPConnectData.unsubscribeFn();
10097
- }
10098
- }
10099
- onStateChange() {
10100
- this.checkAndUpdate();
10101
- }
10102
- checkAndUpdate() {
10103
- // Should always check the bridge to see if the component should
10104
- // update itself (re-render)
10105
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
10106
- // ONLY call updateSelf when the component should update
10107
- if (bUpdateSelf) {
10108
- this.updateSelf();
10109
- }
10110
10174
  }
10111
10175
  updateSelf() {
10112
10176
  const rawMetaData = this.pConn$.resolveConfigProps(this.pConn$.getRawMetadata()?.config);
@@ -10133,46 +10197,19 @@ class DetailsOneColumnComponent {
10133
10197
  }
10134
10198
  }
10135
10199
  }
10136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsOneColumnComponent, deps: [{ token: AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
10137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsOneColumnComponent, isStandalone: true, selector: "app-details-one-column", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<component-mapper name=\"MaterialDetails\" [props]=\"{ arFields$, arHighlightedFields: highlightedDataArr, layout: 'one-column' }\"></component-mapper>\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsOneColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsOneColumnComponent, isStandalone: true, selector: "app-details-one-column", usesInheritance: true, ngImport: i0, template: "<component-mapper name=\"MaterialDetails\" [props]=\"{ arFields$, arHighlightedFields: highlightedDataArr, layout: 'one-column' }\"></component-mapper>\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10138
10202
  }
10139
10203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsOneColumnComponent, decorators: [{
10140
10204
  type: Component,
10141
10205
  args: [{ selector: 'app-details-one-column', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<component-mapper name=\"MaterialDetails\" [props]=\"{ arFields$, arHighlightedFields: highlightedDataArr, layout: 'one-column' }\"></component-mapper>\n" }]
10142
- }], ctorParameters: () => [{ type: AngularPConnectService }], propDecorators: { pConn$: [{
10143
- type: Input
10144
- }], formGroup$: [{
10145
- type: Input
10146
- }] } });
10206
+ }] });
10147
10207
 
10148
- class DetailsSubTabsComponent {
10149
- constructor(angularPConnect) {
10150
- this.angularPConnect = angularPConnect;
10151
- this.angularPConnectData = {};
10208
+ class DetailsSubTabsComponent extends DetailsTemplateBase {
10209
+ constructor() {
10210
+ super(...arguments);
10152
10211
  this.currentTabId = '0';
10153
10212
  }
10154
- ngOnInit() {
10155
- // First thing in initialization is registering and subscribing to the AngularPConnect service
10156
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
10157
- this.checkAndUpdate();
10158
- }
10159
- ngOnDestroy() {
10160
- if (this.angularPConnectData.unsubscribeFn) {
10161
- this.angularPConnectData.unsubscribeFn();
10162
- }
10163
- }
10164
- onStateChange() {
10165
- this.checkAndUpdate();
10166
- }
10167
- checkAndUpdate() {
10168
- // Should always check the bridge to see if the component should
10169
- // update itself (re-render)
10170
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
10171
- // ONLY call updateSelf when the component should update
10172
- if (bUpdateSelf) {
10173
- this.updateSelf();
10174
- }
10175
- }
10176
10213
  updateSelf() {
10177
10214
  const children = this.pConn$?.getChildren();
10178
10215
  const deferLoadedTabs = children[0];
@@ -10190,50 +10227,21 @@ class DetailsSubTabsComponent {
10190
10227
  const tempTabItems = getTransientTabs(this.availableTabs, this.currentTabId, this.tabItems);
10191
10228
  this.tabItems[index].content = tempTabItems[index].content;
10192
10229
  }
10193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsSubTabsComponent, deps: [{ token: AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
10194
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsSubTabsComponent, isStandalone: true, selector: "app-details-sub-tabs", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<mat-tab-group (selectedTabChange)=\"handleTabClick($event)\">\n <mat-tab *ngFor=\"let tab of tabItems; let i = index\" [label]=\"tab.name\">\n <div *ngIf=\"+currentTabId == i\">\n <component-mapper\n *ngIf=\"tab.content?.getPConnect()\"\n [name]=\"tab.content?.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: tab.content?.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Details Sub tabs wants component not yet available: {{ tab.content?.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n </mat-tab>\n</mat-tab-group>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => MatTabsModule) }, { kind: "component", type: i0.forwardRef(() => i2$1.MatTab), selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i0.forwardRef(() => i2$1.MatTabGroup), selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10230
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsSubTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10231
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsSubTabsComponent, isStandalone: true, selector: "app-details-sub-tabs", usesInheritance: true, ngImport: i0, template: "<mat-tab-group (selectedTabChange)=\"handleTabClick($event)\">\n <mat-tab *ngFor=\"let tab of tabItems; let i = index\" [label]=\"tab.name\">\n <div *ngIf=\"+currentTabId == i\">\n <component-mapper\n *ngIf=\"tab.content?.getPConnect()\"\n [name]=\"tab.content?.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: tab.content?.getPConnect()\n }\"\n errorMsg=\"Details Sub tabs wants component not yet available: {{ tab.content?.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n </mat-tab>\n</mat-tab-group>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => MatTabsModule) }, { kind: "component", type: i0.forwardRef(() => i2$1.MatTab), selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i0.forwardRef(() => i2$1.MatTabGroup), selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10195
10232
  }
10196
10233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsSubTabsComponent, decorators: [{
10197
10234
  type: Component,
10198
- args: [{ selector: 'app-details-sub-tabs', standalone: true, imports: [MatTabsModule, CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<mat-tab-group (selectedTabChange)=\"handleTabClick($event)\">\n <mat-tab *ngFor=\"let tab of tabItems; let i = index\" [label]=\"tab.name\">\n <div *ngIf=\"+currentTabId == i\">\n <component-mapper\n *ngIf=\"tab.content?.getPConnect()\"\n [name]=\"tab.content?.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: tab.content?.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Details Sub tabs wants component not yet available: {{ tab.content?.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n </mat-tab>\n</mat-tab-group>\n" }]
10199
- }], ctorParameters: () => [{ type: AngularPConnectService }], propDecorators: { pConn$: [{
10200
- type: Input
10201
- }], formGroup$: [{
10202
- type: Input
10203
- }] } });
10235
+ args: [{ selector: 'app-details-sub-tabs', standalone: true, imports: [MatTabsModule, CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<mat-tab-group (selectedTabChange)=\"handleTabClick($event)\">\n <mat-tab *ngFor=\"let tab of tabItems; let i = index\" [label]=\"tab.name\">\n <div *ngIf=\"+currentTabId == i\">\n <component-mapper\n *ngIf=\"tab.content?.getPConnect()\"\n [name]=\"tab.content?.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: tab.content?.getPConnect()\n }\"\n errorMsg=\"Details Sub tabs wants component not yet available: {{ tab.content?.getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n </mat-tab>\n</mat-tab-group>\n" }]
10236
+ }] });
10204
10237
 
10205
- class DetailsThreeColumnComponent {
10206
- constructor(angularPConnect) {
10207
- this.angularPConnect = angularPConnect;
10238
+ class DetailsThreeColumnComponent extends DetailsTemplateBase {
10239
+ constructor() {
10240
+ super(...arguments);
10208
10241
  this.arFields$ = [];
10209
10242
  this.arFields2$ = [];
10210
10243
  this.arFields3$ = [];
10211
10244
  this.propsToUse = {};
10212
- // Used with AngularPConnect
10213
- this.angularPConnectData = {};
10214
- }
10215
- ngOnInit() {
10216
- // First thing in initialization is registering and subscribing to the AngularPConnect service
10217
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
10218
- // this.updateSelf();
10219
- this.checkAndUpdate();
10220
- }
10221
- ngOnDestroy() {
10222
- if (this.angularPConnectData.unsubscribeFn) {
10223
- this.angularPConnectData.unsubscribeFn();
10224
- }
10225
- }
10226
- onStateChange() {
10227
- this.checkAndUpdate();
10228
- }
10229
- checkAndUpdate() {
10230
- // Should always check the bridge to see if the component should
10231
- // update itself (re-render)
10232
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
10233
- // ONLY call updateSelf when the component should update
10234
- if (bUpdateSelf) {
10235
- this.updateSelf();
10236
- }
10237
10245
  }
10238
10246
  updateSelf() {
10239
10247
  const rawMetaData = this.pConn$.resolveConfigProps(this.pConn$.getRawMetadata()?.config);
@@ -10266,50 +10274,21 @@ class DetailsThreeColumnComponent {
10266
10274
  }
10267
10275
  }
10268
10276
  }
10269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsThreeColumnComponent, deps: [{ token: AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
10270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsThreeColumnComponent, isStandalone: true, selector: "app-details-three-column", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arFields3$, arHighlightedFields: highlightedDataArr, layout: 'three-column' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10277
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsThreeColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10278
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsThreeColumnComponent, isStandalone: true, selector: "app-details-three-column", usesInheritance: true, ngImport: i0, template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arFields3$, arHighlightedFields: highlightedDataArr, layout: 'three-column' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10271
10279
  }
10272
10280
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsThreeColumnComponent, decorators: [{
10273
10281
  type: Component,
10274
10282
  args: [{ selector: 'app-details-three-column', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arFields3$, arHighlightedFields: highlightedDataArr, layout: 'three-column' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"] }]
10275
- }], ctorParameters: () => [{ type: AngularPConnectService }], propDecorators: { pConn$: [{
10276
- type: Input
10277
- }], formGroup$: [{
10278
- type: Input
10279
- }] } });
10283
+ }] });
10280
10284
 
10281
- class DetailsTwoColumnComponent {
10282
- constructor(angularPConnect) {
10283
- this.angularPConnect = angularPConnect;
10285
+ class DetailsTwoColumnComponent extends DetailsTemplateBase {
10286
+ constructor() {
10287
+ super(...arguments);
10284
10288
  this.arFields$ = [];
10285
10289
  this.arFields2$ = [];
10286
10290
  this.arFields3$ = [];
10287
10291
  this.propsToUse = {};
10288
- // Used with AngularPConnect
10289
- this.angularPConnectData = {};
10290
- }
10291
- ngOnInit() {
10292
- // First thing in initialization is registering and subscribing to the AngularPConnect service
10293
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
10294
- // this.updateSelf();
10295
- this.checkAndUpdate();
10296
- }
10297
- ngOnDestroy() {
10298
- if (this.angularPConnectData.unsubscribeFn) {
10299
- this.angularPConnectData.unsubscribeFn();
10300
- }
10301
- }
10302
- onStateChange() {
10303
- this.checkAndUpdate();
10304
- }
10305
- checkAndUpdate() {
10306
- // Should always check the bridge to see if the component should
10307
- // update itself (re-render)
10308
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
10309
- // ONLY call updateSelf when the component should update
10310
- if (bUpdateSelf) {
10311
- this.updateSelf();
10312
- }
10313
10292
  }
10314
10293
  updateSelf() {
10315
10294
  const rawMetaData = this.pConn$.resolveConfigProps(this.pConn$.getRawMetadata()?.config);
@@ -10339,50 +10318,21 @@ class DetailsTwoColumnComponent {
10339
10318
  }
10340
10319
  }
10341
10320
  }
10342
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsTwoColumnComponent, deps: [{ token: AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
10343
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsTwoColumnComponent, isStandalone: true, selector: "app-details-two-column", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'two-column' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10321
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsTwoColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10322
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsTwoColumnComponent, isStandalone: true, selector: "app-details-two-column", usesInheritance: true, ngImport: i0, template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'two-column' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10344
10323
  }
10345
10324
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsTwoColumnComponent, decorators: [{
10346
10325
  type: Component,
10347
10326
  args: [{ selector: 'app-details-two-column', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'two-column' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}\n"] }]
10348
- }], ctorParameters: () => [{ type: AngularPConnectService }], propDecorators: { pConn$: [{
10349
- type: Input
10350
- }], formGroup$: [{
10351
- type: Input
10352
- }] } });
10327
+ }] });
10353
10328
 
10354
- class DetailsWideNarrowComponent {
10355
- constructor(angularPConnect) {
10356
- this.angularPConnect = angularPConnect;
10329
+ class DetailsWideNarrowComponent extends DetailsTemplateBase {
10330
+ constructor() {
10331
+ super(...arguments);
10357
10332
  this.highlightedDataArr = [];
10358
10333
  this.arFields$ = [];
10359
10334
  this.arFields2$ = [];
10360
10335
  this.propsToUse = {};
10361
- // Used with AngularPConnect
10362
- this.angularPConnectData = {};
10363
- }
10364
- ngOnInit() {
10365
- // First thing in initialization is registering and subscribing to the AngularPConnect service
10366
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
10367
- // this.updateSelf();
10368
- this.checkAndUpdate();
10369
- }
10370
- ngOnDestroy() {
10371
- if (this.angularPConnectData.unsubscribeFn) {
10372
- this.angularPConnectData.unsubscribeFn();
10373
- }
10374
- }
10375
- onStateChange() {
10376
- this.checkAndUpdate();
10377
- }
10378
- checkAndUpdate() {
10379
- // Should always check the bridge to see if the component should
10380
- // update itself (re-render)
10381
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
10382
- // ONLY call updateSelf when the component should update
10383
- if (bUpdateSelf) {
10384
- this.updateSelf();
10385
- }
10386
10336
  }
10387
10337
  updateSelf() {
10388
10338
  const rawMetaData = this.pConn$.resolveConfigProps(this.pConn$.getRawMetadata()?.config);
@@ -10412,17 +10362,13 @@ class DetailsWideNarrowComponent {
10412
10362
  }
10413
10363
  }
10414
10364
  }
10415
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsWideNarrowComponent, deps: [{ token: AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
10416
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsWideNarrowComponent, isStandalone: true, selector: "app-details-wide-narrow", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'wide-narrow' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:7fr 3fr;column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsWideNarrowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10366
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DetailsWideNarrowComponent, isStandalone: true, selector: "app-details-wide-narrow", usesInheritance: true, ngImport: i0, template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'wide-narrow' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:7fr 3fr;column-gap:1rem;row-gap:1rem;align-items:start}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
10417
10367
  }
10418
10368
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsWideNarrowComponent, decorators: [{
10419
10369
  type: Component,
10420
10370
  args: [{ selector: 'app-details-wide-narrow', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<component-mapper\n name=\"MaterialDetails\"\n [props]=\"{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'wide-narrow' }\"\n></component-mapper>\n", styles: [".psdk-grid-filter{display:grid;grid-template-columns:7fr 3fr;column-gap:1rem;row-gap:1rem;align-items:start}\n"] }]
10421
- }], ctorParameters: () => [{ type: AngularPConnectService }], propDecorators: { pConn$: [{
10422
- type: Input
10423
- }], formGroup$: [{
10424
- type: Input
10425
- }] } });
10371
+ }] });
10426
10372
 
10427
10373
  /**
10428
10374
  *
@@ -12807,7 +12753,7 @@ class ListViewComponent {
12807
12753
  return select;
12808
12754
  }
12809
12755
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListViewComponent, deps: [{ token: ProgressSpinnerService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
12810
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ListViewComponent, isStandalone: true, selector: "app-list-view", inputs: { pConn$: "pConn$", bInForm$: "bInForm$", payload: "payload" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"psdk-list-header\">\n <div>\n <h3 *ngIf=\"label\" class=\"label\" style=\"font-weight: bold\">\n {{ label }} <span class=\"results-count\">{{ getResultsText() }}</span>\n </h3>\n <mat-form-field class=\"psdk-search\" *ngIf=\"bShowSearch$\">\n <mat-label><img class=\"psdk-icon-search\" src=\"{{ searchIcon$ }}\" /> <span class=\"psdk-search-label\">Search</span> </mat-label>\n <input matInput id=\"search\" (keyup)=\"applySearch($event)\" placeholder=\"\" />\n </mat-form-field>\n\n <div *ngIf=\"!bInForm$\" class=\"psdk-outer-div-in-form\">\n <div class=\"psdk-inner-div-in-form\" *ngIf=\"bColumnReorder$\">\n <div>\n <table\n mat-table\n id=\"list-view\"\n [dataSource]=\"repeatList$\"\n matSort\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.config.name\" sticky=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"psdk-mat-header\" (click)=\"_headerSortClick($event, dCol)\" arrowPosition=\"before\" cdkDrag>\n {{ dCol.config.label }}\n <div class=\"psdk-mat-header-filter\">\n <img class=\"psdk-filter-svg-icon\" name=\"filterOnIcon\" />\n </div>\n <div class=\"psdk-mat-header-arrow\">\n <img class=\"psdk-arrow-svg-icon\" arrow=\"none\" [attr.arrowid]=\"dCol.config.name\" />\n </div>\n <div class=\"psdk-mat-header-button\" (click)=\"$event.stopPropagation()\">\n <button mat-icon-button [matMenuTriggerFor]=\"groupMenu\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ menuSvgIcon$ }}\" />\n </button>\n <mat-menu #groupMenu>\n <button *ngIf=\"!_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_groupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Group By</span>\n </button>\n <button *ngIf=\"_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_unGroupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Ungroup</span>\n </button>\n <button mat-menu-item (click)=\"_filter($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ filterSvgIcon$ }}\" /><span>Filter</span>\n </button>\n </mat-menu>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let element; index as i\">\n <button\n *ngIf=\"_showButton(dCol.config.name, dCol); else regular\"\n mat-button\n color=\"primary\"\n (click)=\"_listViewClick(dCol.config, element)\"\n >\n {{ element[dCol.config.name] || '---' }}\n </button>\n <ng-template #regular>\n {{ element[dCol.config.name] || '---' }}\n </ng-template>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\"></tr>\n\n <!-- Group header -->\n <ng-container matColumnDef=\"groupHeader\">\n <td mat-cell colspan=\"999\" *matCellDef=\"let group\">\n <mat-icon *ngIf=\"group.expanded\" [attr.style]=\"_getIconStyle(group.level)\">expand_less</mat-icon>\n <mat-icon *ngIf=\"!group.expanded\" [attr.style]=\"_getIconStyle(group.level)\">expand_more</mat-icon>\n <strong\n >{{ _getGroupName(groupByColumns$[group.level - 1]) }}: {{ group[groupByColumns$[group.level - 1]] }} ({{\n group.totalCounts\n }})</strong\n >\n </td>\n </ng-container>\n\n <tr mat-row *matRowDef=\"let row; columns: ['groupHeader']; when: isGroup\" (click)=\"_groupHeaderClick(row)\"></tr>\n </table>\n </div>\n </div>\n <div class=\"psdk-inner-div-in-form\" *ngIf=\"!bColumnReorder$\">\n <div>\n <table mat-table id=\"list-view\" [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.config.name\" sticky=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"psdk-mat-header\" (click)=\"_headerSortClick($event, dCol)\" arrowPosition=\"before\">\n {{ dCol.config.label }}\n <div class=\"psdk-mat-header-filter\">\n <img class=\"psdk-filter-svg-icon\" name=\"filterOnIcon\" />\n </div>\n <div class=\"psdk-mat-header-arrow\">\n <img class=\"psdk-arrow-svg-icon\" arrow=\"none\" [attr.arrowid]=\"dCol.config.name\" />\n </div>\n <div class=\"psdk-mat-header-button\" (click)=\"$event.stopPropagation()\">\n <button mat-icon-button [matMenuTriggerFor]=\"groupMenu\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ menuSvgIcon$ }}\" />\n </button>\n <mat-menu #groupMenu>\n <button *ngIf=\"!_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_groupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Group By</span>\n </button>\n <button *ngIf=\"_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_unGroupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Ungroup</span>\n </button>\n <button mat-menu-item (click)=\"_filter($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ filterSvgIcon$ }}\" /><span>Filter</span>\n </button>\n </mat-menu>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let element; index as i\">\n <button\n *ngIf=\"_showButton(dCol.config.name, dCol); else regular\"\n mat-button\n color=\"primary\"\n (click)=\"_listViewClick(dCol.config, element)\"\n >\n {{ element[dCol.config.name] || '---' }}\n </button>\n <ng-template #regular>\n {{ element[dCol.config.name] || '---' }}\n </ng-template>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\"></tr>\n\n <!-- Group header -->\n <ng-container matColumnDef=\"groupHeader\">\n <td mat-cell colspan=\"999\" *matCellDef=\"let group\">\n <mat-icon *ngIf=\"group.expanded\" [attr.style]=\"_getIconStyle(group.level)\">expand_less</mat-icon>\n <mat-icon *ngIf=\"!group.expanded\" [attr.style]=\"_getIconStyle(group.level)\">expand_more</mat-icon>\n <strong\n >{{ _getGroupName(groupByColumns$[group.level - 1]) }}: {{ group[groupByColumns$[group.level - 1]] }} ({{\n group.totalCounts\n }})</strong\n >\n </td>\n </ng-container>\n\n <tr mat-row *matRowDef=\"let row; columns: ['groupHeader']; when: isGroup\" (click)=\"_groupHeaderClick(row)\"></tr>\n </table>\n </div>\n </div>\n </div>\n <div *ngIf=\"bInForm$\">\n <div>\n <div class=\"psdk-inner-div-in-form\">\n <table id=\"list-view\" *ngIf=\"repeatListData.length > 0\" mat-table [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngIf=\"singleSelectionMode\" matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-radio-button [value]=\"row[rowID]\" [checked]=\"row[rowID] === checkBoxValue\" (change)=\"fieldOnChange(row)\"></mat-radio-button>\n </td>\n </ng-container>\n <ng-container *ngIf=\"multiSelectionMode\" matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox [value]=\"row[rowID]\" [checked]=\"isChecked(row)\" (change)=\"onCheckboxClick(row, $event)\"></mat-checkbox>\n </td>\n </ng-container>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.config.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"_headerSortClick($event, dCol)\" arrowPosition=\"before\">\n {{ dCol.config.label }}\n </th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.config.name] || '---' }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\"></tr>\n </table>\n <div *ngIf=\"repeatListData?.length === 0\">\n <table id=\"list-view\" *ngIf=\"repeatListData?.length === 0\" mat-table [dataSource]=\"repeatList$\">\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.config.name\">\n <th mat-header-cell *matHeaderCellDef>{{ dCol.config.label }}</th>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n </table>\n </div>\n <div class=\"psdk-no-records\" *ngIf=\"repeatListData?.length === 0\">No Records Found.</div>\n </div>\n </div>\n </div>\n\n <mat-paginator id=\"pagination\" *ngIf=\"bInForm$\" [pageSizeOptions]=\"[10, 20, 50, 100, 500, 1000]\" showFirstLastButtons></mat-paginator>\n <mat-paginator id=\"pagination\" *ngIf=\"!bInForm$\" [pageSizeOptions]=\"[10, 20, 50, 100, 500]\" showFirstLastButtons></mat-paginator>\n </div>\n\n <!-- pop overs for filters-->\n <div *ngIf=\"bShowFilterPopover$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-file-top\">\n <h4>\n Filter:<b> {{ filterContainsLabel$ }}</b>\n </h4>\n <div *ngIf=\"bContains$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-select [value]=\"filterContainsType$\" (selectionChange)=\"_filterContainsType($event)\">\n <mat-option value=\"contains\">Contains</mat-option>\n <mat-option value=\"equals\">Equals</mat-option>\n <mat-option value=\"startswith\">Starts with</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"psdk-full-width\">\n <input matInput type=\"text\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsValue($event)\" />\n </mat-form-field>\n </div>\n\n <div *ngIf=\"bDateTime$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-select [value]=\"filterContainsType$\" (selectionChange)=\"_filterContainsType($event)\">\n <mat-option value=\"notequal\">is not equal to</mat-option>\n <mat-option value=\"after\">after</mat-option>\n <mat-option value=\"before\">before</mat-option>\n <mat-option value=\"null\">is null</mat-option>\n <mat-option value=\"notnull\">is not null</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsDate$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Date</mat-label>\n <input\n matInput\n #dateInput\n [matDatepicker]=\"pegadate\"\n type=\"text\"\n [value]=\"filterContainsValue$\"\n (dateChange)=\"_filterContainsDateValue($event, dateInput.value)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"pegadate\"></mat-datepicker-toggle>\n <mat-datepicker #pegadate [startAt]=\"filterContainsValue$\"></mat-datepicker>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsDateTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Date time</mat-label>\n <input matInput type=\"datetime-local\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsDateTimeValue($event)\" />\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Time</mat-label>\n <input matInput type=\"time\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsTimeValue($event)\" />\n </mat-form-field>\n </div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$: arFilterMainButtons$, arSecondaryButtons$: arFilterSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: _onFilterActionButtonClick }\"\n ></component-mapper>\n </div>\n </div>\n</div>\n", styles: [".psdk-list-header{background-color:var(--app-form-color);padding:1rem;margin:.5rem;border-radius:.6125rem}table{width:100%}::ng-deep .mat-sort-header-content{white-space:nowrap}::ng-deep td.mat-mdc-cell{white-space:nowrap}::ng-deep th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding:0rem .188rem}::ng-deep .mat-mdc-button{padding:0;text-align:left}.mat-mdc-icon-button{width:fit-content}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-mat-header{white-space:nowrap;padding-right:5px}.psdk-mat-header-button{display:inline-grid}.psdk-mat-header-arrow,.psdk-mat-header-filter{display:inline-grid;vertical-align:middle}.psdk-full-width{width:100%}.psdk-search{padding-left:.625rem;padding-right:.625rem}.psdk-icon-search{vertical-align:sub;padding:.125rem;min-width:unset;width:1.1rem}.psdk-outer-div-in-form{padding:1rem;overflow:hidden}.psdk-inner-div-in-form{height:auto;position:relative;width:100%;overflow:auto;max-height:550px;min-height:auto}.psdk-list-view-svg-icon{width:1.4rem;display:inline-block;vertical-align:middle;filter:var(--app-primary-color-filter)}.psdk-filter-svg-icon,.psdk-arrow-svg-icon{width:1rem;display:inline-block;vertical-align:middle;filter:var(--app-neutral-color-filter)}.psdk-filter-popover{display:table;margin:auto;min-width:100px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color);position:absolute;z-index:99}.psdk-dialog-background{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-dialog-background-color);position:fixed;z-index:999;top:0;left:0}.psdk-modal-file-top{display:table;margin:auto;min-width:150px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color)}.psdk-no-records{height:56px;justify-content:center;display:flex;align-items:center;border:1px solid var(--app-neutral-light-color);border-top:none}.psdk-table-field-link{color:var(--app-primary-color);padding:0;cursor:pointer;border:0;background-color:transparent;align-items:center}.results-count{opacity:.7;font-size:.8rem;font-weight:700;margin-inline-start:.625rem}.label{margin:8px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatTableModule) }, { kind: "component", type: i0.forwardRef(() => i6$2.MatTable), selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderCellDef), selector: "[matHeaderCellDef]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderRowDef), selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatColumnDef), selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatCellDef), selector: "[matCellDef]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatRowDef), selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderCell), selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatCell), selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i0.forwardRef(() => i6$2.MatHeaderRow), selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i0.forwardRef(() => i6$2.MatRow), selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSortModule) }, { kind: "directive", type: i0.forwardRef(() => i7$3.MatSort), selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i0.forwardRef(() => i7$3.MatSortHeader), selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: i0.forwardRef(() => DragDropModule) }, { kind: "directive", type: i0.forwardRef(() => i8$2.CdkDropList), selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i0.forwardRef(() => i8$2.CdkDrag), selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => i3$1.MatIconButton), selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatMenuModule) }, { kind: "component", type: i0.forwardRef(() => i6.MatMenu), selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i0.forwardRef(() => i6.MatMenuItem), selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i0.forwardRef(() => i6.MatMenuTrigger), selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatIconModule) }, { kind: "component", type: i0.forwardRef(() => i2$2.MatIcon), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatRadioModule) }, { kind: "component", type: i0.forwardRef(() => i7$2.MatRadioButton), selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatCheckboxModule) }, { kind: "component", type: i0.forwardRef(() => i5$3.MatCheckbox), selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatPaginatorModule) }, { kind: "component", type: i0.forwardRef(() => i14.MatPaginator), selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSelectModule) }, { kind: "component", type: i0.forwardRef(() => i7$1.MatSelect), selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepicker), selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatDatepickerInput), selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
12756
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ListViewComponent, isStandalone: true, selector: "app-list-view", inputs: { pConn$: "pConn$", bInForm$: "bInForm$", payload: "payload" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"psdk-list-header\">\n <div>\n <h3 *ngIf=\"label\" class=\"label\" style=\"font-weight: bold\">\n {{ label }} <span class=\"results-count\">{{ getResultsText() }}</span>\n </h3>\n <mat-form-field class=\"psdk-search\" *ngIf=\"bShowSearch$\">\n <mat-label><img class=\"psdk-icon-search\" src=\"{{ searchIcon$ }}\" /> <span class=\"psdk-search-label\">Search</span> </mat-label>\n <input matInput id=\"search\" (keyup)=\"applySearch($event)\" placeholder=\"\" />\n </mat-form-field>\n\n <div *ngIf=\"!bInForm$\" class=\"psdk-outer-div-in-form\">\n <div class=\"psdk-inner-div-in-form\" *ngIf=\"bColumnReorder$\">\n <div>\n <table\n mat-table\n id=\"list-view\"\n [dataSource]=\"repeatList$\"\n matSort\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.config.name\" sticky=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"psdk-mat-header\" (click)=\"_headerSortClick($event, dCol)\" arrowPosition=\"before\" cdkDrag>\n {{ dCol.config.label }}\n <div class=\"psdk-mat-header-filter\">\n <img class=\"psdk-filter-svg-icon\" name=\"filterOnIcon\" />\n </div>\n <div class=\"psdk-mat-header-arrow\">\n <img class=\"psdk-arrow-svg-icon\" arrow=\"none\" [attr.arrowid]=\"dCol.config.name\" />\n </div>\n <div class=\"psdk-mat-header-button\" (click)=\"$event.stopPropagation()\">\n <button mat-icon-button [matMenuTriggerFor]=\"groupMenu\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ menuSvgIcon$ }}\" />\n </button>\n <mat-menu #groupMenu>\n <button *ngIf=\"!_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_groupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Group By</span>\n </button>\n <button *ngIf=\"_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_unGroupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Ungroup</span>\n </button>\n <button mat-menu-item (click)=\"_filter($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ filterSvgIcon$ }}\" /><span>Filter</span>\n </button>\n </mat-menu>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let element; index as i\">\n <button\n *ngIf=\"_showButton(dCol.config.name, dCol); else regular\"\n mat-button\n color=\"primary\"\n (click)=\"_listViewClick(dCol.config, element)\"\n >\n {{ element[dCol.config.name] || '---' }}\n </button>\n <ng-template #regular>\n {{ element[dCol.config.name] || '---' }}\n </ng-template>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\"></tr>\n\n <!-- Group header -->\n <ng-container matColumnDef=\"groupHeader\">\n <td mat-cell colspan=\"999\" *matCellDef=\"let group\">\n <mat-icon *ngIf=\"group.expanded\" [attr.style]=\"_getIconStyle(group.level)\">expand_less</mat-icon>\n <mat-icon *ngIf=\"!group.expanded\" [attr.style]=\"_getIconStyle(group.level)\">expand_more</mat-icon>\n <strong\n >{{ _getGroupName(groupByColumns$[group.level - 1]) }}: {{ group[groupByColumns$[group.level - 1]] }} ({{\n group.totalCounts\n }})</strong\n >\n </td>\n </ng-container>\n\n <tr mat-row *matRowDef=\"let row; columns: ['groupHeader']; when: isGroup\" (click)=\"_groupHeaderClick(row)\"></tr>\n </table>\n </div>\n </div>\n <div class=\"psdk-inner-div-in-form\" *ngIf=\"!bColumnReorder$\">\n <div>\n <table mat-table id=\"list-view\" [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.config.name\" sticky=\"true\">\n <th mat-header-cell *matHeaderCellDef class=\"psdk-mat-header\" (click)=\"_headerSortClick($event, dCol)\" arrowPosition=\"before\">\n {{ dCol.config.label }}\n <div class=\"psdk-mat-header-filter\">\n <img class=\"psdk-filter-svg-icon\" name=\"filterOnIcon\" />\n </div>\n <div class=\"psdk-mat-header-arrow\">\n <img class=\"psdk-arrow-svg-icon\" arrow=\"none\" [attr.arrowid]=\"dCol.config.name\" />\n </div>\n <div class=\"psdk-mat-header-button\" (click)=\"$event.stopPropagation()\">\n <button mat-icon-button [matMenuTriggerFor]=\"groupMenu\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ menuSvgIcon$ }}\" />\n </button>\n <mat-menu #groupMenu>\n <button *ngIf=\"!_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_groupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Group By</span>\n </button>\n <button *ngIf=\"_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_unGroupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Ungroup</span>\n </button>\n <button mat-menu-item (click)=\"_filter($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ filterSvgIcon$ }}\" /><span>Filter</span>\n </button>\n </mat-menu>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let element; index as i\">\n <button\n *ngIf=\"_showButton(dCol.config.name, dCol); else regular\"\n mat-button\n color=\"primary\"\n (click)=\"_listViewClick(dCol.config, element)\"\n >\n {{ element[dCol.config.name] || '---' }}\n </button>\n <ng-template #regular>\n {{ element[dCol.config.name] || '---' }}\n </ng-template>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\"></tr>\n\n <!-- Group header -->\n <ng-container matColumnDef=\"groupHeader\">\n <td mat-cell colspan=\"999\" *matCellDef=\"let group\">\n <mat-icon *ngIf=\"group.expanded\" [attr.style]=\"_getIconStyle(group.level)\">expand_less</mat-icon>\n <mat-icon *ngIf=\"!group.expanded\" [attr.style]=\"_getIconStyle(group.level)\">expand_more</mat-icon>\n <strong\n >{{ _getGroupName(groupByColumns$[group.level - 1]) }}: {{ group[groupByColumns$[group.level - 1]] }} ({{\n group.totalCounts\n }})</strong\n >\n </td>\n </ng-container>\n\n <tr mat-row *matRowDef=\"let row; columns: ['groupHeader']; when: isGroup\" (click)=\"_groupHeaderClick(row)\"></tr>\n </table>\n </div>\n </div>\n </div>\n <div *ngIf=\"bInForm$\">\n <div>\n <div class=\"psdk-inner-div-in-form\">\n <table id=\"list-view\" *ngIf=\"repeatListData.length > 0\" mat-table [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngIf=\"singleSelectionMode\" matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-radio-button [value]=\"row[rowID]\" [checked]=\"row[rowID] === checkBoxValue\" (change)=\"fieldOnChange(row)\"></mat-radio-button>\n </td>\n </ng-container>\n <ng-container *ngIf=\"multiSelectionMode\" matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox [value]=\"row[rowID]\" [checked]=\"isChecked(row)\" (change)=\"onCheckboxClick(row, $event)\"></mat-checkbox>\n </td>\n </ng-container>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.config.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"_headerSortClick($event, dCol)\" arrowPosition=\"before\">\n {{ dCol.config.label }}\n </th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.config.name] || '---' }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\"></tr>\n </table>\n <div *ngIf=\"repeatListData?.length === 0\">\n <table id=\"list-view\" *ngIf=\"repeatListData?.length === 0\" mat-table [dataSource]=\"repeatList$\">\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.config.name\">\n <th mat-header-cell *matHeaderCellDef>{{ dCol.config.label }}</th>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n </table>\n </div>\n <div class=\"psdk-no-records\" *ngIf=\"repeatListData?.length === 0\">No Records Found.</div>\n </div>\n </div>\n </div>\n\n <mat-paginator id=\"pagination\" *ngIf=\"bInForm$\" [pageSizeOptions]=\"[10, 20, 50, 100, 500, 1000]\" showFirstLastButtons></mat-paginator>\n <mat-paginator id=\"pagination\" *ngIf=\"!bInForm$\" [pageSizeOptions]=\"[10, 20, 50, 100, 500]\" showFirstLastButtons></mat-paginator>\n </div>\n\n <!-- pop overs for filters-->\n <div *ngIf=\"bShowFilterPopover$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-file-top\">\n <h4>\n Filter:<b> {{ filterContainsLabel$ }}</b>\n </h4>\n <div *ngIf=\"bContains$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-select [value]=\"filterContainsType$\" (selectionChange)=\"_filterContainsType($event)\">\n <mat-option value=\"contains\">Contains</mat-option>\n <mat-option value=\"equals\">Equals</mat-option>\n <mat-option value=\"startswith\">Starts with</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"psdk-full-width\">\n <input matInput type=\"text\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsValue($event)\" />\n </mat-form-field>\n </div>\n\n <div *ngIf=\"bDateTime$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-select [value]=\"filterContainsType$\" (selectionChange)=\"_filterContainsType($event)\">\n <mat-option value=\"notequal\">is not equal to</mat-option>\n <mat-option value=\"after\">after</mat-option>\n <mat-option value=\"before\">before</mat-option>\n <mat-option value=\"null\">is null</mat-option>\n <mat-option value=\"notnull\">is not null</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsDate$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Date</mat-label>\n <input\n matInput\n #dateInput\n [matDatepicker]=\"pegadate\"\n type=\"text\"\n [value]=\"filterContainsValue$\"\n (dateChange)=\"_filterContainsDateValue($event, dateInput.value)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"pegadate\"></mat-datepicker-toggle>\n <mat-datepicker #pegadate [startAt]=\"filterContainsValue$\"></mat-datepicker>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsDateTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Date time</mat-label>\n <input matInput type=\"datetime-local\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsDateTimeValue($event)\" />\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Time</mat-label>\n <input matInput type=\"time\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsTimeValue($event)\" />\n </mat-form-field>\n </div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$: arFilterMainButtons$, arSecondaryButtons$: arFilterSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: _onFilterActionButtonClick }\"\n ></component-mapper>\n </div>\n </div>\n</div>\n", styles: [".psdk-list-header{background-color:var(--app-form-color);padding:1rem;margin:.5rem;border-radius:.6125rem}table{width:100%}::ng-deep .mat-sort-header-content{white-space:nowrap}::ng-deep td.mat-mdc-cell{white-space:nowrap}::ng-deep th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding:0rem .188rem}::ng-deep .mat-mdc-button{padding:0;text-align:left}.mat-mdc-icon-button{width:fit-content}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-mat-header{white-space:nowrap;padding-right:5px}.psdk-mat-header-button{display:inline-grid}.psdk-mat-header-arrow,.psdk-mat-header-filter{display:inline-grid;vertical-align:middle}.psdk-full-width{width:100%}.psdk-search{padding-left:.625rem;padding-right:.625rem}.psdk-icon-search{vertical-align:sub;padding:.125rem;min-width:unset;width:1.1rem}.psdk-outer-div-in-form{padding:1rem;overflow:hidden}.psdk-inner-div-in-form{height:auto;position:relative;width:100%;overflow:auto;max-height:550px;min-height:auto}.psdk-list-view-svg-icon{width:1.4rem;display:inline-block;vertical-align:middle;filter:var(--app-primary-color-filter)}.psdk-filter-svg-icon,.psdk-arrow-svg-icon{width:1rem;display:inline-block;vertical-align:middle;filter:var(--app-neutral-color-filter)}.psdk-filter-popover{display:table;margin:auto;min-width:100px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color);position:absolute;z-index:99}.psdk-dialog-background{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-dialog-background-color);position:fixed;z-index:999;top:0;left:0}.psdk-modal-file-top{display:table;margin:auto;min-width:150px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color)}.psdk-no-records{height:56px;justify-content:center;display:flex;align-items:center;border:1px solid var(--app-neutral-light-color);border-top:none}.psdk-table-field-link{color:var(--app-primary-color);padding:0;cursor:pointer;border:0;background-color:transparent;align-items:center}.results-count{opacity:.7;font-size:.8rem;font-weight:700;margin-inline-start:.625rem}.label{margin:8px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatTableModule) }, { kind: "component", type: i0.forwardRef(() => i6$2.MatTable), selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderCellDef), selector: "[matHeaderCellDef]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderRowDef), selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatColumnDef), selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatCellDef), selector: "[matCellDef]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatRowDef), selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderCell), selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatCell), selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i0.forwardRef(() => i6$2.MatHeaderRow), selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i0.forwardRef(() => i6$2.MatRow), selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSortModule) }, { kind: "directive", type: i0.forwardRef(() => i7$3.MatSort), selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i0.forwardRef(() => i7$3.MatSortHeader), selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: i0.forwardRef(() => DragDropModule) }, { kind: "directive", type: i0.forwardRef(() => i8$2.CdkDropList), selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i0.forwardRef(() => i8$2.CdkDrag), selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => i3$1.MatIconButton), selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatMenuModule) }, { kind: "component", type: i0.forwardRef(() => i6.MatMenu), selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i0.forwardRef(() => i6.MatMenuItem), selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i0.forwardRef(() => i6.MatMenuTrigger), selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatIconModule) }, { kind: "component", type: i0.forwardRef(() => i2$2.MatIcon), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatRadioModule) }, { kind: "component", type: i0.forwardRef(() => i7$2.MatRadioButton), selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatCheckboxModule) }, { kind: "component", type: i0.forwardRef(() => i5$4.MatCheckbox), selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatPaginatorModule) }, { kind: "component", type: i0.forwardRef(() => i14.MatPaginator), selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSelectModule) }, { kind: "component", type: i0.forwardRef(() => i7$1.MatSelect), selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepicker), selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatDatepickerInput), selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
12811
12757
  }
12812
12758
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListViewComponent, decorators: [{
12813
12759
  type: Component,
@@ -13336,7 +13282,7 @@ class MultiselectComponent {
13336
13282
  return errMessage;
13337
13283
  }
13338
13284
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiselectComponent, deps: [{ token: AngularPConnectService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
13339
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MultiselectComponent, isStandalone: true, selector: "app-multiselect", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div [formGroup]=\"formGroup$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\">\n <mat-label>{{ label$ }}</mat-label>\n <mat-chip-grid #chipGrid>\n <ng-container *ngFor=\"let select of selectedItems\">\n <mat-chip-row (removed)=\"removeChip(select)\">\n {{ select.primary }}\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n </ng-container>\n </mat-chip-grid>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n (input)=\"fieldOnChange($event)\"\n [matChipInputFor]=\"chipGrid\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let item of itemsTree\" [value]=\"item.primary\" (click)=\"optionClicked($event, item)\">\n <mat-checkbox [checked]=\"item.selected\" (click)=\"optionClicked($event, item)\">\n <span>{{ item.primary }}</span>\n </mat-checkbox>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n</div>\n", styles: [".psdk-full-width{width:100%}::ng-deep .mat-mdc-form-field-infix{padding-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatAutocompleteModule) }, { kind: "component", type: i0.forwardRef(() => i8.MatAutocomplete), selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i0.forwardRef(() => i8.MatAutocompleteTrigger), selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MatCheckboxModule) }, { kind: "component", type: i0.forwardRef(() => i5$3.MatCheckbox), selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatIconModule) }, { kind: "component", type: i0.forwardRef(() => i2$2.MatIcon), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatChipsModule) }, { kind: "component", type: i0.forwardRef(() => i11.MatChipGrid), selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i0.forwardRef(() => i11.MatChipInput), selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i0.forwardRef(() => i11.MatChipRemove), selector: "[matChipRemove]" }, { kind: "component", type: i0.forwardRef(() => i11.MatChipRow), selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }] }); }
13285
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MultiselectComponent, isStandalone: true, selector: "app-multiselect", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div [formGroup]=\"formGroup$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\">\n <mat-label>{{ label$ }}</mat-label>\n <mat-chip-grid #chipGrid>\n <ng-container *ngFor=\"let select of selectedItems\">\n <mat-chip-row (removed)=\"removeChip(select)\">\n {{ select.primary }}\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n </ng-container>\n </mat-chip-grid>\n <input\n matInput\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [matAutocomplete]=\"auto\"\n (input)=\"fieldOnChange($event)\"\n [matChipInputFor]=\"chipGrid\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let item of itemsTree\" [value]=\"item.primary\" (click)=\"optionClicked($event, item)\">\n <mat-checkbox [checked]=\"item.selected\" (click)=\"optionClicked($event, item)\">\n <span>{{ item.primary }}</span>\n </mat-checkbox>\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n</div>\n", styles: [".psdk-full-width{width:100%}::ng-deep .mat-mdc-form-field-infix{padding-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.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: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatAutocompleteModule) }, { kind: "component", type: i0.forwardRef(() => i8.MatAutocomplete), selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i0.forwardRef(() => i8.MatAutocompleteTrigger), selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "ngmodule", type: i0.forwardRef(() => MatCheckboxModule) }, { kind: "component", type: i0.forwardRef(() => i5$4.MatCheckbox), selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatIconModule) }, { kind: "component", type: i0.forwardRef(() => i2$2.MatIcon), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatChipsModule) }, { kind: "component", type: i0.forwardRef(() => i11.MatChipGrid), selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i0.forwardRef(() => i11.MatChipInput), selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i0.forwardRef(() => i11.MatChipRemove), selector: "[matChipRemove]" }, { kind: "component", type: i0.forwardRef(() => i11.MatChipRow), selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }] }); }
13340
13286
  }
13341
13287
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiselectComponent, decorators: [{
13342
13288
  type: Component,
@@ -13383,7 +13329,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
13383
13329
  type: Input
13384
13330
  }] } });
13385
13331
 
13386
- class OneColumnComponent extends FormTemplateBaseComponent {
13332
+ class OneColumnComponent extends FormTemplateBase {
13387
13333
  ngOnInit() {
13388
13334
  this.updateSelf();
13389
13335
  }
@@ -13675,16 +13621,17 @@ function getFieldWidth(field, label) {
13675
13621
  const getContext = thePConn => {
13676
13622
  const contextName = thePConn.getContextName();
13677
13623
  const pageReference = thePConn.getPageReference();
13678
- // 8.7 change = referenceList may now be in top-level of state props,
13679
- // not always in config of state props
13680
- let { referenceList } = thePConn.getStateProps()?.config || thePConn.getStateProps();
13624
+ const { readonlyContextList, referenceList = readonlyContextList } = thePConn.getStateProps()?.config || thePConn.getStateProps();
13681
13625
  const pageReferenceForRows = referenceList.startsWith('.') ? `${pageReference}.${referenceList.substring(1)}` : referenceList;
13626
+ const viewName = thePConn.viewName;
13682
13627
  // removing "caseInfo.content" prefix to avoid setting it as a target while preparing pageInstructions
13683
- referenceList = pageReferenceForRows.replace(PCore.getConstants().CASE_INFO.CASE_INFO_CONTENT, '');
13628
+ // skipping the removal as StateMachine itself is removing this case info prefix while preparing pageInstructions
13629
+ // referenceList = pageReferenceForRows.replace(PCore.getConstants().CASE_INFO.CASE_INFO_CONTENT, '');
13684
13630
  return {
13685
13631
  contextName,
13686
13632
  referenceListStr: referenceList,
13687
- pageReferenceForRows
13633
+ pageReferenceForRows,
13634
+ viewName
13688
13635
  };
13689
13636
  };
13690
13637
  const populateRowKey = rawData => {
@@ -14721,7 +14668,7 @@ class SimpleTableManualComponent {
14721
14668
  this.elementsData = eleData;
14722
14669
  }
14723
14670
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SimpleTableManualComponent, deps: [{ token: AngularPConnectService }, { token: Utils }, { token: DatapageService }], target: i0.ɵɵFactoryTarget.Component }); }
14724
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: SimpleTableManualComponent, isStandalone: true, selector: "app-simple-table-manual", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"bVisible$\">\n <div class=\"simple-table-wrapper\">\n <h3 *ngIf=\"label\" className=\"label\" style=\"font-weight: bold\">\n {{ label }} <span class=\"results-count\">{{ getResultsText() }}</span>\n </h3>\n <table *ngIf=\"readOnlyMode || allowEditingInModal\" mat-table [dataSource]=\"rowData\" class=\"mat-elevation-z8\" id=\"readonly-table\" matSort>\n <ng-container *ngFor=\"let dCol of processedFields\" [matColumnDef]=\"dCol.config.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"_headerSortClick($event, dCol)\" arrowPosition=\"before\">\n <div>{{ dCol.config.label }}</div>\n <div class=\"psdk-mat-header-filter\">\n <img class=\"psdk-filter-svg-icon\" name=\"filterOnIcon\" />\n </div>\n <div (click)=\"$event.stopPropagation()\">\n <button mat-icon-button [matMenuTriggerFor]=\"groupMenu\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ menuSvgIcon$ }}\" />\n </button>\n <mat-menu #groupMenu>\n <button mat-menu-item (click)=\"_groupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Group By</span>\n </button>\n <button *ngIf=\"_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_unGroupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Ungroup</span>\n </button>\n <button mat-menu-item (click)=\"_filter($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ filterSvgIcon$ }}\" /><span>Filter</span>\n </button>\n </mat-menu>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.config.name] || '---' }}</td>\n </ng-container>\n <ng-container matColumnDef=\"DeleteIcon\">\n <div *ngIf=\"allowEditingInModal\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element; index as j\">\n <div class=\"header-icon\">\n <button mat-icon-button [matMenuTriggerFor]=\"utilityMenu\">\n <img class=\"psdk-utility-card-actions-svg-icon\" src=\"{{ settingsSvgIcon$ }}\" />\n </button>\n <mat-menu #utilityMenu=\"matMenu\" overlapTrigger=\"false\">\n <button mat-menu-item (click)=\"editRecord(element, j)\">Edit</button>\n <button mat-menu-item (click)=\"deleteRecord(j)\">Delete</button>\n </mat-menu>\n </div>\n </td>\n </div>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n <table *ngIf=\"editableMode && !allowEditingInModal\" mat-table [dataSource]=\"elementsData\" class=\"mat-elevation-z8\" id=\"editable-table\">\n <ng-container *ngFor=\"let dCol of fieldDefs; let i = index\">\n <ng-container *ngIf=\"dCol.name != 'DeleteIcon'\" [matColumnDef]=\"dCol.name\">\n <th mat-header-cell *matHeaderCellDef class=\"psdk-mat-header\">{{ dCol.label }}</th>\n <td mat-cell *matCellDef=\"let element\">\n <component-mapper\n [name]=\"element[i].getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: element[i].getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Table wants component not yet available: {{ element[i].getPConnect().getComponentName() }}\"\n ></component-mapper>\n </td>\n </ng-container>\n </ng-container>\n <ng-container matColumnDef=\"DeleteIcon\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element; index as j\">\n <button id=\"delete-button\" mat-icon-button (click)=\"deleteRecord(j)\">\n <img class=\"psdk-utility-card-action-svg-icon\" src=\"{{ menuIconOverride$ }}\" />\n </button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n <div class=\"psdk-no-records\" id=\"no-records\" *ngIf=\"editableMode && referenceList?.length === 0\">No Records Found.</div>\n <div class=\"psdk-no-records\" id=\"no-records\" *ngIf=\"readOnlyMode && rowData?.data?.length === 0\">No Records Found.</div>\n </div>\n <button *ngIf=\"showAddRowButton\" mat-button color=\"primary\" style=\"font-size: 16px\" (click)=\"addRecord()\">+ Add</button>\n</ng-container>\n\n<!-- pop overs for filters-->\n<div *ngIf=\"bShowFilterPopover$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-file-top\">\n <h4>\n Filter:<b> {{ filterContainsLabel$ }}</b>\n </h4>\n <div *ngIf=\"bContains$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-select [value]=\"filterContainsType$\" (selectionChange)=\"_filterContainsType($event)\">\n <mat-option value=\"contains\">Contains</mat-option>\n <mat-option value=\"equals\">Equals</mat-option>\n <mat-option value=\"startswith\">Starts with</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"psdk-full-width\">\n <input matInput type=\"text\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsValue($event)\" />\n </mat-form-field>\n </div>\n\n <div *ngIf=\"bDateTime$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-select [value]=\"filterContainsType$\" (selectionChange)=\"_filterContainsType($event)\">\n <mat-option value=\"notequal\">is not equal to</mat-option>\n <mat-option value=\"after\">after</mat-option>\n <mat-option value=\"before\">before</mat-option>\n <mat-option value=\"null\">is null</mat-option>\n <mat-option value=\"notnull\">is not null</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsDate$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Date</mat-label>\n <input\n matInput\n #dateInput\n [matDatepicker]=\"pegadate\"\n type=\"text\"\n [value]=\"filterContainsValue$\"\n (dateChange)=\"_filterContainsDateValue($event, dateInput.value)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"pegadate\"></mat-datepicker-toggle>\n <mat-datepicker #pegadate [startAt]=\"filterContainsValue$\"></mat-datepicker>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsDateTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Date time</mat-label>\n <input matInput type=\"datetime-local\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsDateTimeValue($event)\" />\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Time</mat-label>\n <input matInput type=\"time\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsTimeValue($event)\" />\n </mat-form-field>\n </div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$: arFilterMainButtons$, arSecondaryButtons$: arFilterSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: _onFilterActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".simple-table-wrapper{width:100%;margin-top:.5rem;margin-bottom:.5rem;overflow-y:auto}table{width:100%}::ng-deep .mat-sort-header-content{white-space:normal}::ng-deep td.mat-mdc-cell{white-space:normal}::ng-deep th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{border-right:1px solid var(--app-neutral-light-color);padding:8px!important}::ng-deep .mat-mdc-button{padding:0;text-align:left}.mat-mdc-icon-button{width:fit-content}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-mat-header{white-space:normal;padding-right:5px}.psdk-mat-header-button{display:inline-grid}.psdk-mat-header-arrow,.psdk-mat-header-filter{display:inline-grid;vertical-align:middle}.psdk-full-width{width:100%}.psdk-search{padding-left:.625rem}.psdk-icon-search{vertical-align:sub;padding:0rem .125rem;min-width:unset;width:1.1rem}.psdk-outer-div-in-form{display:inline-grid}.psdk-inner-div-in-form{height:auto;position:relative;width:100%;overflow:auto;max-height:550px;min-height:auto}.psdk-list-view-svg-icon{width:1.4rem;display:inline-block;vertical-align:middle;filter:var(--app-primary-color-filter)}.psdk-filter-svg-icon,.psdk-arrow-svg-icon{width:1rem;display:inline-block;vertical-align:middle;filter:var(--app-neutral-color-filter)}.psdk-filter-popover{display:table;margin:auto;min-width:100px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color);position:absolute;z-index:99}.psdk-dialog-background{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-dialog-background-color);position:fixed;z-index:999;top:0;left:0}.psdk-modal-file-top{display:table;margin:auto;min-width:150px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color)}tr.mat-mdc-row{cursor:pointer}tr.mat-mdc-header-row{background:var(--app-table-header-background-color)}.psdk-data-readonly{margin-top:.625rem;width:100%}.psdk-no-records{height:56px;justify-content:center;display:flex;align-items:center;border:1px solid var(--app-neutral-light-color);border-top:none;background:var(--app-form-color)}.psdk-utility-card-action-svg-icon{width:1.4rem}.label{margin:8px}.results-count{opacity:.7;font-size:.8rem;font-weight:700;margin-inline-start:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatTableModule) }, { kind: "component", type: i0.forwardRef(() => i6$2.MatTable), selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderCellDef), selector: "[matHeaderCellDef]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderRowDef), selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatColumnDef), selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatCellDef), selector: "[matCellDef]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatRowDef), selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderCell), selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatCell), selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i0.forwardRef(() => i6$2.MatHeaderRow), selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i0.forwardRef(() => i6$2.MatRow), selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => i3$1.MatIconButton), selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSortModule) }, { kind: "directive", type: i0.forwardRef(() => i7$3.MatSort), selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i0.forwardRef(() => i7$3.MatSortHeader), selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatMenuModule) }, { kind: "component", type: i0.forwardRef(() => i6.MatMenu), selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i0.forwardRef(() => i6.MatMenuItem), selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i0.forwardRef(() => i6.MatMenuTrigger), selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepicker), selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatDatepickerInput), selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSelectModule) }, { kind: "component", type: i0.forwardRef(() => i7$1.MatSelect), selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
14671
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: SimpleTableManualComponent, isStandalone: true, selector: "app-simple-table-manual", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"bVisible$\">\n <div class=\"simple-table-wrapper\">\n <h3 *ngIf=\"label\" className=\"label\" style=\"font-weight: bold\">\n {{ label }} <span class=\"results-count\">{{ getResultsText() }}</span>\n </h3>\n <table *ngIf=\"readOnlyMode || allowEditingInModal\" mat-table [dataSource]=\"rowData\" class=\"mat-elevation-z8\" id=\"readonly-table\" matSort>\n <ng-container *ngFor=\"let dCol of processedFields\" [matColumnDef]=\"dCol.config.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"_headerSortClick($event, dCol)\" arrowPosition=\"before\">\n <div>{{ dCol.config.label }}</div>\n <div class=\"psdk-mat-header-filter\">\n <img class=\"psdk-filter-svg-icon\" name=\"filterOnIcon\" />\n </div>\n <div (click)=\"$event.stopPropagation()\">\n <button mat-icon-button [matMenuTriggerFor]=\"groupMenu\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ menuSvgIcon$ }}\" />\n </button>\n <mat-menu #groupMenu>\n <button mat-menu-item (click)=\"_groupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Group By</span>\n </button>\n <button *ngIf=\"_showUnGroupBy(dCol) && bGrouping$\" mat-menu-item (click)=\"_unGroupBy($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ groupBySvgIcon$ }}\" /><span>Ungroup</span>\n </button>\n <button mat-menu-item (click)=\"_filter($event, dCol)\">\n <img class=\"psdk-list-view-svg-icon\" src=\"{{ filterSvgIcon$ }}\" /><span>Filter</span>\n </button>\n </mat-menu>\n </div>\n </th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.config.name] || '---' }}</td>\n </ng-container>\n <ng-container matColumnDef=\"DeleteIcon\">\n <div *ngIf=\"allowEditingInModal\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element; index as j\">\n <div class=\"header-icon\">\n <button mat-icon-button [matMenuTriggerFor]=\"utilityMenu\">\n <img class=\"psdk-utility-card-actions-svg-icon\" src=\"{{ settingsSvgIcon$ }}\" />\n </button>\n <mat-menu #utilityMenu=\"matMenu\" overlapTrigger=\"false\">\n <button mat-menu-item (click)=\"editRecord(element, j)\">Edit</button>\n <button mat-menu-item (click)=\"deleteRecord(j)\">Delete</button>\n </mat-menu>\n </div>\n </td>\n </div>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n <table *ngIf=\"editableMode && !allowEditingInModal\" mat-table [dataSource]=\"elementsData\" class=\"mat-elevation-z8\" id=\"editable-table\">\n <ng-container *ngFor=\"let dCol of fieldDefs; let i = index\">\n <ng-container *ngIf=\"dCol.name != 'DeleteIcon'\" [matColumnDef]=\"dCol.name\">\n <th mat-header-cell *matHeaderCellDef class=\"psdk-mat-header\">{{ dCol.label }}</th>\n <td mat-cell *matCellDef=\"let element\">\n <component-mapper\n [name]=\"element[i].getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: element[i].getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Table wants component not yet available: {{ element[i].getPConnect().getComponentName() }}\"\n ></component-mapper>\n </td>\n </ng-container>\n </ng-container>\n <ng-container matColumnDef=\"DeleteIcon\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element; index as j\">\n <button id=\"delete-button\" mat-icon-button (click)=\"deleteRecord(j)\">\n <img class=\"psdk-utility-card-action-svg-icon\" src=\"{{ menuIconOverride$ }}\" />\n </button>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n <div class=\"psdk-no-records\" id=\"no-records\" *ngIf=\"editableMode && referenceList?.length === 0\">No Records Found.</div>\n <div class=\"psdk-no-records\" id=\"no-records\" *ngIf=\"readOnlyMode && rowData?.data?.length === 0\">No Records Found.</div>\n </div>\n <button *ngIf=\"showAddRowButton\" mat-button color=\"primary\" style=\"font-size: 16px\" (click)=\"addRecord()\">+ Add</button>\n</ng-container>\n\n<!-- pop overs for filters-->\n<div *ngIf=\"bShowFilterPopover$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-file-top\">\n <h4>\n Filter:<b> {{ filterContainsLabel$ }}</b>\n </h4>\n <div *ngIf=\"bContains$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-select [value]=\"filterContainsType$\" (selectionChange)=\"_filterContainsType($event)\">\n <mat-option value=\"contains\">Contains</mat-option>\n <mat-option value=\"equals\">Equals</mat-option>\n <mat-option value=\"startswith\">Starts with</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"psdk-full-width\">\n <input matInput type=\"text\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsValue($event)\" />\n </mat-form-field>\n </div>\n\n <div *ngIf=\"bDateTime$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-select [value]=\"filterContainsType$\" (selectionChange)=\"_filterContainsType($event)\">\n <mat-option value=\"notequal\">is not equal to</mat-option>\n <mat-option value=\"after\">after</mat-option>\n <mat-option value=\"before\">before</mat-option>\n <mat-option value=\"null\">is null</mat-option>\n <mat-option value=\"notnull\">is not null</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsDate$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Date</mat-label>\n <input\n matInput\n #dateInput\n [matDatepicker]=\"pegadate\"\n type=\"text\"\n [value]=\"filterContainsValue$\"\n (dateChange)=\"_filterContainsDateValue($event, dateInput.value)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"pegadate\"></mat-datepicker-toggle>\n <mat-datepicker #pegadate [startAt]=\"filterContainsValue$\"></mat-datepicker>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsDateTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Date time</mat-label>\n <input matInput type=\"datetime-local\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsDateTimeValue($event)\" />\n </mat-form-field>\n\n <mat-form-field *ngIf=\"bIsTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull'\" class=\"psdk-full-width\">\n <mat-label>Time</mat-label>\n <input matInput type=\"time\" [value]=\"filterContainsValue$\" (change)=\"_filterContainsTimeValue($event)\" />\n </mat-form-field>\n </div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$: arFilterMainButtons$, arSecondaryButtons$: arFilterSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: _onFilterActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".simple-table-wrapper{width:100%;margin-top:.5rem;margin-bottom:.5rem;overflow-y:auto}table{width:100%}::ng-deep .mat-sort-header-content{white-space:normal}::ng-deep td.mat-mdc-cell{white-space:normal}::ng-deep th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{border-right:1px solid var(--app-neutral-light-color);padding:8px!important}::ng-deep .mat-mdc-button{padding:0;text-align:left}.mat-mdc-icon-button{width:fit-content}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-mat-header{white-space:normal;padding-right:5px}.psdk-mat-header-button{display:inline-grid}.psdk-mat-header-arrow,.psdk-mat-header-filter{display:inline-grid;vertical-align:middle}.psdk-full-width{width:100%}.psdk-search{padding-left:.625rem}.psdk-icon-search{vertical-align:sub;padding:0rem .125rem;min-width:unset;width:1.1rem}.psdk-outer-div-in-form{display:inline-grid}.psdk-inner-div-in-form{height:auto;position:relative;width:100%;overflow:auto;max-height:550px;min-height:auto}.psdk-list-view-svg-icon{width:1.4rem;display:inline-block;vertical-align:middle;filter:var(--app-primary-color-filter)}.psdk-filter-svg-icon,.psdk-arrow-svg-icon{width:1rem;display:inline-block;vertical-align:middle;filter:var(--app-neutral-color-filter)}.psdk-filter-popover{display:table;margin:auto;min-width:100px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color);position:absolute;z-index:99}.psdk-dialog-background{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-dialog-background-color);position:fixed;z-index:999;top:0;left:0}.psdk-modal-file-top{display:table;margin:auto;min-width:150px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color)}tr.mat-mdc-row{cursor:pointer}tr.mat-mdc-header-row{background:var(--app-table-header-background-color)}.psdk-data-readonly{margin-top:.625rem;width:100%}.psdk-no-records{height:56px;justify-content:center;display:flex;align-items:center;border:1px solid var(--app-neutral-light-color);border-top:none;background:var(--app-form-color)}.psdk-utility-card-action-svg-icon{width:1.4rem}.label{margin:8px}.results-count{opacity:.7;font-size:.8rem;font-weight:700;margin-inline-start:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatTableModule) }, { kind: "component", type: i0.forwardRef(() => i6$2.MatTable), selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderCellDef), selector: "[matHeaderCellDef]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderRowDef), selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatColumnDef), selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatCellDef), selector: "[matCellDef]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatRowDef), selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatHeaderCell), selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i0.forwardRef(() => i6$2.MatCell), selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i0.forwardRef(() => i6$2.MatHeaderRow), selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i0.forwardRef(() => i6$2.MatRow), selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => i3$1.MatIconButton), selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSortModule) }, { kind: "directive", type: i0.forwardRef(() => i7$3.MatSort), selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i0.forwardRef(() => i7$3.MatSortHeader), selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatMenuModule) }, { kind: "component", type: i0.forwardRef(() => i6.MatMenu), selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i0.forwardRef(() => i6.MatMenuItem), selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i0.forwardRef(() => i6.MatMenuTrigger), selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatSuffix), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDatepickerModule) }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepicker), selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i0.forwardRef(() => i4$2.MatDatepickerInput), selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i0.forwardRef(() => i4$2.MatDatepickerToggle), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatOptionModule) }, { kind: "component", type: i0.forwardRef(() => i7.MatOption), selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSelectModule) }, { kind: "component", type: i0.forwardRef(() => i7$1.MatSelect), selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
14725
14672
  }
14726
14673
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SimpleTableManualComponent, decorators: [{
14727
14674
  type: Component,
@@ -14883,7 +14830,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
14883
14830
  type: Input
14884
14831
  }] } });
14885
14832
 
14886
- class ThreeColumnComponent extends FormTemplateBaseComponent {
14833
+ class ThreeColumnComponent extends FormTemplateBase {
14887
14834
  ngOnInit() {
14888
14835
  this.updateSelf();
14889
14836
  }
@@ -14921,7 +14868,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
14921
14868
  type: Input
14922
14869
  }] } });
14923
14870
 
14924
- class TwoColumnComponent extends FormTemplateBaseComponent {
14871
+ class TwoColumnComponent extends FormTemplateBase {
14925
14872
  ngOnInit() {
14926
14873
  this.updateSelf();
14927
14874
  }
@@ -15007,7 +14954,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
15007
14954
  type: Input
15008
14955
  }] } });
15009
14956
 
15010
- class WideNarrowFormComponent extends FormTemplateBaseComponent {
14957
+ class WideNarrowFormComponent extends FormTemplateBase {
15011
14958
  ngOnInit() {
15012
14959
  this.updateSelf();
15013
14960
  }
@@ -15183,7 +15130,7 @@ class WssNavBarComponent {
15183
15130
  });
15184
15131
  }
15185
15132
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WssNavBarComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: ProgressSpinnerService }, { token: i0.NgZone }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
15186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: WssNavBarComponent, isStandalone: true, selector: "app-wss-nav-bar", inputs: { pConn$: "pConn$", appName$: "appName$", pages$: "pages$", caseTypes$: "caseTypes$", homePage: "homePage" }, providers: [Utils], ngImport: i0, template: "<mat-toolbar style=\"margin-bottom: 5px; background-color: #262626\">\n <mat-toolbar-row mat-icon-button>\n <div class=\"psdk-nav-header\" (click)=\"navPanelButtonClick(homePage)\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ portalApp$ }}</div>\n </div>\n </div>\n\n <div *ngFor=\"let page of navPages$\">\n <div class=\"flex-box mat-list-item\" style=\"cursor: pointer\" (click)=\"navPanelButtonClick(page)\">\n <div mat-button class=\"psdk-nav-button-span\">{{ page.pyLabel }}</div>\n </div>\n </div>\n\n <span class=\"spacer\"></span>\n\n <mat-list>\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item>Profile</button>\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </mat-toolbar-row>\n</mat-toolbar>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem;cursor:pointer;padding-right:1rem;align-items:center}.psdk-nav-header:hover{background-color:var(--app-neutral-color)}.psdk-nav-logo{width:3.75rem;padding:.625rem;margin-right:1.25rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.5rem;color:var(--app-nav-color)}.psdk-appshell-nav{z-index:3;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem;color:var(--app-nav-color)}.psdk-nav-button-span:hover{background-color:var(--app-neutral-color)}.psdk-nav-oper-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;background:var(--app-neutral-color);color:var(--app-form-color);font-weight:400;font-size:1rem}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}.spacer{flex:1 1 auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5$2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i4$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i4$4.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }] }); }
15133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: WssNavBarComponent, isStandalone: true, selector: "app-wss-nav-bar", inputs: { pConn$: "pConn$", appName$: "appName$", pages$: "pages$", caseTypes$: "caseTypes$", homePage: "homePage" }, providers: [Utils], ngImport: i0, template: "<mat-toolbar style=\"margin-bottom: 5px; background-color: #262626\">\n <mat-toolbar-row mat-icon-button>\n <div class=\"psdk-nav-header\" (click)=\"navPanelButtonClick(homePage)\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ portalApp$ }}</div>\n </div>\n </div>\n\n <div *ngFor=\"let page of navPages$\">\n <div class=\"flex-box mat-list-item\" style=\"cursor: pointer\" (click)=\"navPanelButtonClick(page)\">\n <div mat-button class=\"psdk-nav-button-span\">{{ page.pyLabel }}</div>\n </div>\n </div>\n\n <span class=\"spacer\"></span>\n\n <mat-list>\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item>Profile</button>\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </mat-toolbar-row>\n</mat-toolbar>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem;cursor:pointer;padding-right:1rem;align-items:center}.psdk-nav-header:hover{background-color:var(--app-neutral-color)}.psdk-nav-logo{width:3.75rem;padding:.625rem;margin-right:1.25rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.5rem;color:var(--app-nav-color)}.psdk-appshell-nav{z-index:3;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem;color:var(--app-nav-color)}.psdk-nav-button-span:hover{background-color:var(--app-neutral-color)}.psdk-nav-oper-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;background:var(--app-neutral-color);color:var(--app-form-color);font-weight:400;font-size:1rem}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}.spacer{flex:1 1 auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5$3.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i4$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i4$4.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }] }); }
15187
15134
  }
15188
15135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: WssNavBarComponent, decorators: [{
15189
15136
  type: Component,
@@ -16283,7 +16230,7 @@ class FileUtilityComponent {
16283
16230
  return false;
16284
16231
  }
16285
16232
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FileUtilityComponent, deps: [{ token: AngularPConnectService }, { token: Utils }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
16286
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FileUtilityComponent, isStandalone: true, selector: "app-file-utility", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div>\n <component-mapper\n name=\"ListUtility\"\n [props]=\"{\n name$: lu_name$,\n icon$: lu_icon$,\n bLoading$: lu_bLoading$,\n count$: lu_count$,\n arActions$: lu_arActions$,\n arItems$: lu_arItems$,\n onViewAll$: lu_onViewAllFunction,\n menuIconOverrideAction$: removeFileFromList$\n }\"\n ></component-mapper>\n</div>\n\n<div *ngIf=\"bShowFileModal$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-file-top\">\n <h3>{{ pConn$.getLocalizedValue('Add local files', '', '') }}</h3>\n <div class=\"psdk-modal-body\">\n <div class=\"psdk-modal-file-selector\">\n <input hidden type=\"file\" multiple #uploader (change)=\"uploadMyFiles($event)\" />\n\n <button mat-stroked-button color=\"primary\" (click)=\"uploader.click()\">{{ pConn$.getLocalizedValue('Upload file(s)', '', '') }}</button>\n </div>\n\n <component-mapper\n name=\"SummaryList\"\n [props]=\"{ arItems$: arFileList$, menuIconOverride$: 'trash', menuIconOverrideAction$: removeFileFromList$ }\"\n ></component-mapper>\n </div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$: arFileMainButtons$, arSecondaryButtons$: arFileSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onFileActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n\n<div *ngIf=\"bShowLinkModal$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-link-top\">\n <h3>{{ pConn$.getLocalizedValue('Add links', '', '') }}</h3>\n <div class=\"psdk-modal-link-entry\">\n <div class=\"psdk-modal-body\">\n <div class=\"psdk-modal-links-row\">\n <div class=\"psdk-links-two-column\">\n <div class=\"psdk-modal-link-data\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>Link title</mat-label>\n <input matInput type=\"text\" required=\"true\" (change)=\"_fieldOnChangeLink($event)\" [value]=\"link_title$\" />\n </mat-form-field>\n </div>\n <div class=\"psdk-modal-link-data\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>URL</mat-label>\n <input matInput type=\"text\" required=\"true\" (change)=\"_fieldOnChangeURL($event)\" [value]=\"link_url$\" />\n </mat-form-field>\n </div>\n </div>\n\n <div class=\"psdk-modal-link-add\">\n <button mat-raised-button color=\"primary\" (click)=\"_addLink()\">{{ pConn$.getLocalizedValue('Add link', '', '') }}</button>\n </div>\n </div>\n\n <component-mapper\n name=\"SummaryList\"\n [props]=\"{ arItems$: arLinksList$, menuIconOverride$: 'trash', menuIconOverrideAction$: removeLinksFromList$ }\"\n ></component-mapper>\n </div>\n </div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$: arLinkMainButtons$, arSecondaryButtons$: arLinkSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onLinkActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n\n<div *ngIf=\"bShowViewAllModal$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-file-top\">\n <div class=\"psdk-view-all-header\">\n <div>\n <h3>{{ pConn$.getLocalizedValue('Attachments', '', '') }}</h3>\n </div>\n <div>\n <button mat-icon-button (click)=\"_closeViewAll()\">\n <img class=\"psdk-utility-card-actions-svg-icon\" src=\"{{ closeSvgIcon$ }}\" />\n </button>\n </div>\n </div>\n <div class=\"psdk-view-all-body\">\n <component-mapper name=\"SummaryList\" [props]=\"{ arItems$: va_arItems$, menuIconOverrideAction$: removeLinksFromList$ }\"></component-mapper>\n </div>\n </div>\n</div>\n", styles: [".psdk-dialog-background{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-dialog-background-color);position:fixed;z-index:999;top:0;left:0}.psdk-modal-file-top,.psdk-modal-link-top{display:table;margin:auto;min-width:650px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color)}.psdk-modal-file-selector{border:1px dashed var(--app-neutral-dark-color);width:100%;padding:.3rem;text-align:center}.psdk-modal-link-entry{display:flex;flex-direction:row}.psdk-modal-link-data{flex-grow:3;margin:0 .3rem}.psdk-modal-link-add{flex-grow:1}.psdk-full-width{width:100%}.psdk-modal-body{max-height:500px;overflow-y:auto;overflow-x:hidden;width:100%}.psdk-view-all-header{display:flex;justify-content:space-between}.psdk-view-all-close-icon{width:1.5rem}.psdk-view-all-body{max-height:500px;overflow-y:auto;overflow-x:hidden}.psdk-links-two-column{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:85%}.psdk-modal-links-row{display:flex;flex-direction:row;justify-content:space-between}.psdk-links-add-link{padding:15px}ul{columns:2;-webkit-columns:2;-moz-columns:2}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => i3$1.MatIconButton), selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
16233
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FileUtilityComponent, isStandalone: true, selector: "app-file-utility", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div>\n <component-mapper\n name=\"ListUtility\"\n [props]=\"{\n name$: lu_name$,\n icon$: lu_icon$,\n bLoading$: lu_bLoading$,\n count$: lu_count$,\n arActions$: lu_arActions$,\n arItems$: lu_arItems$,\n onViewAll$: lu_onViewAllFunction,\n menuIconOverrideAction$: removeFileFromList$\n }\"\n ></component-mapper>\n</div>\n\n<div *ngIf=\"bShowFileModal$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-file-top\">\n <h3>{{ pConn$.getLocalizedValue('Add local files', '', '') }}</h3>\n <div class=\"psdk-modal-body\">\n <div class=\"psdk-modal-file-selector\">\n <input hidden type=\"file\" multiple #uploader (change)=\"uploadMyFiles($event)\" />\n\n <button mat-stroked-button color=\"primary\" (click)=\"uploader.click()\">{{ pConn$.getLocalizedValue('Upload file(s)', '', '') }}</button>\n </div>\n\n <component-mapper\n name=\"SummaryList\"\n [props]=\"{ arItems$: arFileList$, menuIconOverride$: 'trash', menuIconOverrideAction$: removeFileFromList$ }\"\n ></component-mapper>\n </div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$: arFileMainButtons$, arSecondaryButtons$: arFileSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onFileActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n\n<div *ngIf=\"bShowLinkModal$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-link-top\">\n <h3>{{ pConn$.getLocalizedValue('Add links', '', '') }}</h3>\n <div class=\"psdk-modal-link-entry\">\n <div class=\"psdk-modal-body\">\n <div class=\"psdk-modal-links-row\">\n <div class=\"psdk-links-two-column\">\n <div class=\"psdk-modal-link-data\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>Link title</mat-label>\n <input matInput type=\"text\" required=\"true\" (change)=\"_fieldOnChangeLink($event)\" [value]=\"link_title$\" />\n </mat-form-field>\n </div>\n <div class=\"psdk-modal-link-data\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>URL</mat-label>\n <input matInput type=\"text\" required=\"true\" (change)=\"_fieldOnChangeURL($event)\" [value]=\"link_url$\" />\n </mat-form-field>\n </div>\n </div>\n\n <div class=\"psdk-modal-link-add\">\n <button mat-raised-button color=\"primary\" (click)=\"_addLink()\">{{ pConn$.getLocalizedValue('Add link', '', '') }}</button>\n </div>\n </div>\n\n <component-mapper\n name=\"SummaryList\"\n [props]=\"{ arItems$: arLinksList$, menuIconOverride$: 'trash', menuIconOverrideAction$: removeLinksFromList$ }\"\n ></component-mapper>\n </div>\n </div>\n\n <component-mapper\n name=\"ActionButtons\"\n [props]=\"{ arMainButtons$: arLinkMainButtons$, arSecondaryButtons$: arLinkSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onLinkActionButtonClick }\"\n ></component-mapper>\n </div>\n</div>\n\n<div *ngIf=\"bShowViewAllModal$\" class=\"psdk-dialog-background\">\n <div class=\"psdk-modal-file-top\">\n <div class=\"psdk-view-all-header\">\n <div>\n <h3>{{ pConn$.getLocalizedValue('Attachments', '', '') }}</h3>\n </div>\n <div>\n <button mat-icon-button (click)=\"_closeViewAll()\">\n <img class=\"psdk-utility-card-actions-svg-icon\" src=\"{{ closeSvgIcon$ }}\" />\n </button>\n </div>\n </div>\n <div class=\"psdk-view-all-body\">\n <component-mapper name=\"SummaryList\" [props]=\"{ arItems$: va_arItems$, menuIconOverrideAction$: removeLinksFromList$ }\"></component-mapper>\n </div>\n </div>\n</div>\n", styles: [".psdk-dialog-background{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-dialog-background-color);position:fixed;z-index:999;top:0;left:0}.psdk-modal-file-top,.psdk-modal-link-top{display:table;margin:auto;min-width:650px;background-color:var(--app-form-color);border:1px solid var(--app-inverse-form-color);border-radius:10px;padding:20px;box-shadow:0 0 10px 3px var(--app-box-shadow-color)}.psdk-modal-file-selector{border:1px dashed var(--app-neutral-dark-color);width:100%;padding:.3rem;text-align:center}.psdk-modal-link-entry{display:flex;flex-direction:row}.psdk-modal-link-data{flex-grow:3;margin:0 .3rem}.psdk-modal-link-add{flex-grow:1}.psdk-full-width{width:100%}.psdk-modal-body{max-height:500px;overflow-y:auto;overflow-x:hidden;width:100%}.psdk-view-all-header{display:flex;justify-content:space-between}.psdk-view-all-close-icon{width:1.5rem}.psdk-view-all-body{max-height:500px;overflow-y:auto;overflow-x:hidden}.psdk-links-two-column{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:85%}.psdk-modal-links-row{display:flex;flex-direction:row;justify-content:space-between}.psdk-links-add-link{padding:15px}ul{columns:2;-webkit-columns:2;-moz-columns:2}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3$1.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => i3$1.MatIconButton), selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5$1.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5$1.MatLabel), selector: "mat-label" }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6$1.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
16287
16234
  }
16288
16235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FileUtilityComponent, decorators: [{
16289
16236
  type: Component,
@@ -16788,7 +16735,7 @@ class FeedContainerComponent {
16788
16735
  this.pulseComment[messageID] = event.target.value;
16789
16736
  }
16790
16737
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FeedContainerComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
16791
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FeedContainerComponent, isStandalone: true, selector: "app-feed-container", inputs: { pConn$: "pConn$" }, providers: [Utils], ngImport: i0, template: "<div>\n <div style=\"text-align: left\">\n <h3>Pulse</h3>\n\n <div class=\"psdk-pulse-divider\"></div>\n\n <br />\n <div class=\"psdk-pulse\">\n <div class=\"psdk-avatar-big\">{{ this.currentUserInitials$ }}</div>\n <mat-form-field class=\"psdk-full-width\">\n <textarea matInput rows=\"5\" id=\"pulseMessage\" placeholder=\"Start a conversation\" type=\"text\" (change)=\"messageChange($event)\"></textarea>\n </mat-form-field>\n </div>\n </div>\n</div>\n\n<mat-grid-list cols=\"2\" rowHeight=\"6.25rem\">\n <mat-grid-tile> </mat-grid-tile>\n <mat-grid-tile>\n <button mat-raised-button color=\"primary\" (click)=\"postClick()\">Post</button>\n </mat-grid-tile>\n</mat-grid-list>\n\n<div *ngFor=\"let pulseMessage of pulseMessages$; let odd = odd\" style=\"text-align: left\" [style.background-color]=\"odd ? 'white' : '#eeeeee'\">\n <div class=\"psdk-pulse-divider\"></div>\n <br />\n <div class=\"psdk-pulse\">\n <div class=\"psdk-avatar-big\">{{ pulseMessage.displayPostedByInitials }}</div>\n <div class=\"psdk-pulse-message-group\">\n <div class=\"psdk-pulse-message-by\">{{ pulseMessage.displayPostedBy }}</div>\n <div class=\"psdk-pulse-message-time\">{{ pulseMessage.displayPostedTime }}</div>\n </div>\n </div>\n <div class=\"psdk-pulse-message-text\">{{ pulseMessage.message }}</div>\n <div class=\"psdk-pulse-message-actions\">\n <div class=\"psdk-pulse-message-action-group\">\n <button mat-button (click)=\"commentClick(pulseMessage.ID)\">\n <img class=\"psdk-comment-svg-icon\" src=\"{{ svgComment$ }}\" />\n <label class=\"psdk-pulse-message-like-label\"\n >Comment <span *ngIf=\"pulseMessage?.replies.length > 0\"> | {{ pulseMessage.replies.length }}</span></label\n >\n </button>\n </div>\n <div class=\"psdk-pulse-message-action-like\">\n <div *ngIf=\"pulseMessage?.likeCount; else notLiked\">\n <button *ngIf=\"pulseMessage?.likedByMe == 'true'\" mat-button (click)=\"likeClick(pulseMessage.ID, pulseMessage.ID, true, 'top')\">\n <!-- <mat-icon class=\"psdk-icon-liked-by-me\" svgIcon=\"thumb-up\" mastListIcon ></mat-icon> -->\n <img class=\"psdk-liked-by-me-svg-icon\" src=\"{{ svgLikedByMe$ }}\" />\n <label class=\"psdk-pulse-message-like-label\">Like | {{ pulseMessage.likeCount }}</label>\n </button>\n <button *ngIf=\"pulseMessage?.likedByMe != 'true'\" mat-button (click)=\"likeClick(pulseMessage.ID, pulseMessage.ID, false, 'top')\">\n <!-- <mat-icon class=\"psdk-icon\" svgIcon=\"thumb-up-outline\" mastListIcon ></mat-icon> -->\n <img class=\"psdk-like-svg-icon\" src=\"{{ svgLike$ }}\" />\n <label class=\"psdk-pulse-message-like-label\">Like | {{ pulseMessage.likeCount }}</label>\n </button>\n </div>\n <ng-template #notLiked>\n <button mat-button (click)=\"likeClick(pulseMessage.ID, pulseMessage.ID, false, 'top')\">\n <!-- <mat-icon class=\"psdk-icon\" svgIcon=\"thumb-up-outline\" mastListIcon ></mat-icon> -->\n <img class=\"psdk-like-svg-icon\" src=\"{{ svgLike$ }}\" />\n <label class=\"psdk-pulse-message-like-label\">Like</label>\n </button>\n </ng-template>\n </div>\n </div>\n\n <div *ngIf=\"pulseMessage?.replies\" class=\"psdk-pulse-reply\">\n <div *ngFor=\"let replyMessage of pulseMessage.replies\" class=\"psdk-pulse-reply-align\">\n <div class=\"psdk-pulse-divider\"></div>\n <br />\n <div class=\"psdk-pulse-reply-group\">\n <div class=\"psdk-avatar\">{{ replyMessage.displayPostedByInitials }}</div>\n <div class=\"psdk-pulse-reply-by\">{{ replyMessage.displayPostedBy }}</div>\n <div class=\"psdk-pulse-reply-message\">{{ replyMessage.message }}</div>\n </div>\n <div class=\"psdk-pulse-reply-actions\">\n <button mat-button (click)=\"commentClick(pulseMessage.ID)\" class=\"psdk-pulse-reply-comment\">\n <img class=\"psdk-comment-svg-icon\" src=\"{{ svgComment$ }}\" />\n </button>\n <div *ngIf=\"replyMessage?.likeCount; else replyNotLiked\">\n <button\n *ngIf=\"replyMessage?.likedByMe === 'true'\"\n mat-button\n (click)=\"likeClick(pulseMessage.ID, replyMessage.ID, true, 'reply')\"\n class=\"psdk-pulse-reply-like\"\n >\n <img class=\"psdk-liked-by-me-svg-icon\" src=\"{{ svgLikedByMe$ }}\" />\n </button>\n <button\n *ngIf=\"replyMessage?.likedByMe != 'true'\"\n mat-button\n (click)=\"likeClick(pulseMessage.ID, replyMessage.ID, false, 'reply')\"\n class=\"psdk-pulse-reply-like\"\n >\n <img class=\"psdk-like-svg-icon\" src=\"{{ svgLike$ }}\" />\n </button>\n <label class=\"psdk-pulse-reply-like-label\">Like | {{ replyMessage.likeCount }}</label>\n </div>\n <ng-template #replyNotLiked>\n <button\n *ngIf=\"replyMessage?.likedByMe != 'true'\"\n mat-button\n (click)=\"likeClick(pulseMessage.ID, replyMessage.ID, false, 'reply')\"\n class=\"psdk-pulse-reply-like\"\n >\n <img class=\"psdk-like-svg-icon\" src=\"{{ svgLike$ }}\" />\n </button>\n </ng-template>\n\n <div class=\"psdk-pulse-reply-time\">{{ replyMessage.displayPostedTime }}</div>\n </div>\n <br />\n </div>\n\n <div *ngIf=\"showReplyComment$[pulseMessage.ID] == true\">\n <div class=\"psdk-pulse-divider\"></div>\n <br />\n <div class=\"psdk-pulse-comment-group\">\n <div class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <mat-form-field class=\"psdk-full-width\">\n <textarea\n matInput\n rows=\"5\"\n id=\"pulseMessage\"\n placeholder=\"Add a comment\"\n type=\"text\"\n (change)=\"newCommentChange($event, pulseMessage.ID)\"\n ></textarea>\n </mat-form-field>\n <button mat-button (click)=\"postCommentClick(pulseMessage.ID)\" class=\"psdk-pulse-comment-post\">\n <img class=\"psdk-send-svg-icon\" src=\"{{ svgSend$ }}\" />\n </button>\n </div>\n </div>\n </div>\n <br />\n</div>\n", styles: [".psdk-pulse-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-full-width{width:100%;padding-left:.625rem}.psdk-icon{padding:0rem .125rem;min-width:unset;display:inline-block}.psdk-icon-liked-by-me{padding:0rem .125rem;min-width:unset;display:inline-block;color:var(--app-primary-color)}.psdk-send-svg-icon{width:1.4rem}.psdk-comment-svg-icon,.psdk-like-svg-icon{width:1.4rem;padding:0rem .3215rem}.psdk-liked-by-me-svg-icon{width:1.4rem;padding:0rem .3215rem;filter:var(--app-primary-color-filter)}.psdk-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:flex;background:var(--app-primary-color);color:var(--app-form-color);font-weight:700;font-size:1.25rem}.psdk-avatar-big{margin:0rem;padding:0rem;min-width:3.125rem;min-height:3.125rem;max-width:3.125rem;max-height:3.125rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:flex;background:var(--app-primary-color);color:var(--app-form-color);font-weight:700;font-size:1.5625rem}.psdk-pulse{display:inline-flex;width:100%;padding-bottom:.625rem}.psdk-pulse-message-group{display:flex;flex-direction:column;padding-left:.625rem}.psdk-pulse-message-by{margin-bottom:0rem;font-weight:700;font-size:.9375rem}.psdk-pulse-message-time{color:var(--app-pulse-message-color)}.psdk-pulse-message-text{white-space:pre-line}.psdk-pulse-message-actions{display:flex;flex-direction:row;padding-top:1.25rem}.psdk-pulse-message-action-group,.psdk-pulse-message-action-like{flex-basis:15em}.psdk-pulse-message-like-label{vertical-align:middle}.psdk-pulse-reply{padding-left:1.25rem}.psdk-pulse-reply-align{text-align:left}.psdk-pulse-reply-group{display:flex;flex-direction:row;align-items:center}.psdk-pulse-reply-by{padding:0rem .625rem;font-weight:700;font-size:.9375rem}.psdk-pulse-reply-message{background-color:var(--app-pulse-message-background-color);border-radius:.625rem;padding:0rem 1.25rem;white-space:pre-line}.psdk-pulse-reply-actions{display:flex;flex-direction:row;align-items:center;padding-left:3.125rem}.psdk-pulse-reply-comment,.psdk-pulse-reply-like{padding:0rem;min-width:1.875rem}.psdk-pulse-reply-like-label{vertical-align:middle;padding-right:.3125rem}.psdk-pulse-reply-time{color:var(--app-pulse-message-color);padding-left:.625rem}.psdk-pulse-comment-group{display:flex;flex-direction:row;align-items:center}.psdk-pulse-comment-post{padding:0rem;min-width:1.875rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatGridListModule }, { kind: "component", type: i2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
16738
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FeedContainerComponent, isStandalone: true, selector: "app-feed-container", inputs: { pConn$: "pConn$" }, providers: [Utils], ngImport: i0, template: "<div>\n <div style=\"text-align: left\">\n <h3>Pulse</h3>\n\n <div class=\"psdk-pulse-divider\"></div>\n\n <br />\n <div class=\"psdk-pulse\">\n <div class=\"psdk-avatar-big\">{{ this.currentUserInitials$ }}</div>\n <mat-form-field class=\"psdk-full-width\">\n <textarea matInput rows=\"5\" id=\"pulseMessage\" placeholder=\"Start a conversation\" type=\"text\" (change)=\"messageChange($event)\"></textarea>\n </mat-form-field>\n </div>\n </div>\n</div>\n\n<mat-grid-list cols=\"2\" rowHeight=\"6.25rem\">\n <mat-grid-tile> </mat-grid-tile>\n <mat-grid-tile>\n <button mat-raised-button color=\"primary\" (click)=\"postClick()\">Post</button>\n </mat-grid-tile>\n</mat-grid-list>\n\n<div *ngFor=\"let pulseMessage of pulseMessages$; let odd = odd\" style=\"text-align: left\" [style.background-color]=\"odd ? 'white' : '#eeeeee'\">\n <div class=\"psdk-pulse-divider\"></div>\n <br />\n <div class=\"psdk-pulse\">\n <div class=\"psdk-avatar-big\">{{ pulseMessage.displayPostedByInitials }}</div>\n <div class=\"psdk-pulse-message-group\">\n <div class=\"psdk-pulse-message-by\">{{ pulseMessage.displayPostedBy }}</div>\n <div class=\"psdk-pulse-message-time\">{{ pulseMessage.displayPostedTime }}</div>\n </div>\n </div>\n <div class=\"psdk-pulse-message-text\">{{ pulseMessage.message }}</div>\n <div class=\"psdk-pulse-message-actions\">\n <div class=\"psdk-pulse-message-action-group\">\n <button mat-button (click)=\"commentClick(pulseMessage.ID)\">\n <img class=\"psdk-comment-svg-icon\" src=\"{{ svgComment$ }}\" />\n <label class=\"psdk-pulse-message-like-label\"\n >Comment <span *ngIf=\"pulseMessage?.replies.length > 0\"> | {{ pulseMessage.replies.length }}</span></label\n >\n </button>\n </div>\n <div class=\"psdk-pulse-message-action-like\">\n <div *ngIf=\"pulseMessage?.likeCount; else notLiked\">\n <button *ngIf=\"pulseMessage?.likedByMe == 'true'\" mat-button (click)=\"likeClick(pulseMessage.ID, pulseMessage.ID, true, 'top')\">\n <!-- <mat-icon class=\"psdk-icon-liked-by-me\" svgIcon=\"thumb-up\" mastListIcon ></mat-icon> -->\n <img class=\"psdk-liked-by-me-svg-icon\" src=\"{{ svgLikedByMe$ }}\" />\n <label class=\"psdk-pulse-message-like-label\">Like | {{ pulseMessage.likeCount }}</label>\n </button>\n <button *ngIf=\"pulseMessage?.likedByMe != 'true'\" mat-button (click)=\"likeClick(pulseMessage.ID, pulseMessage.ID, false, 'top')\">\n <!-- <mat-icon class=\"psdk-icon\" svgIcon=\"thumb-up-outline\" mastListIcon ></mat-icon> -->\n <img class=\"psdk-like-svg-icon\" src=\"{{ svgLike$ }}\" />\n <label class=\"psdk-pulse-message-like-label\">Like | {{ pulseMessage.likeCount }}</label>\n </button>\n </div>\n <ng-template #notLiked>\n <button mat-button (click)=\"likeClick(pulseMessage.ID, pulseMessage.ID, false, 'top')\">\n <!-- <mat-icon class=\"psdk-icon\" svgIcon=\"thumb-up-outline\" mastListIcon ></mat-icon> -->\n <img class=\"psdk-like-svg-icon\" src=\"{{ svgLike$ }}\" />\n <label class=\"psdk-pulse-message-like-label\">Like</label>\n </button>\n </ng-template>\n </div>\n </div>\n\n <div *ngIf=\"pulseMessage?.replies\" class=\"psdk-pulse-reply\">\n <div *ngFor=\"let replyMessage of pulseMessage.replies\" class=\"psdk-pulse-reply-align\">\n <div class=\"psdk-pulse-divider\"></div>\n <br />\n <div class=\"psdk-pulse-reply-group\">\n <div class=\"psdk-avatar\">{{ replyMessage.displayPostedByInitials }}</div>\n <div class=\"psdk-pulse-reply-by\">{{ replyMessage.displayPostedBy }}</div>\n <div class=\"psdk-pulse-reply-message\">{{ replyMessage.message }}</div>\n </div>\n <div class=\"psdk-pulse-reply-actions\">\n <button mat-button (click)=\"commentClick(pulseMessage.ID)\" class=\"psdk-pulse-reply-comment\">\n <img class=\"psdk-comment-svg-icon\" src=\"{{ svgComment$ }}\" />\n </button>\n <div *ngIf=\"replyMessage?.likeCount; else replyNotLiked\">\n <button\n *ngIf=\"replyMessage?.likedByMe === 'true'\"\n mat-button\n (click)=\"likeClick(pulseMessage.ID, replyMessage.ID, true, 'reply')\"\n class=\"psdk-pulse-reply-like\"\n >\n <img class=\"psdk-liked-by-me-svg-icon\" src=\"{{ svgLikedByMe$ }}\" />\n </button>\n <button\n *ngIf=\"replyMessage?.likedByMe != 'true'\"\n mat-button\n (click)=\"likeClick(pulseMessage.ID, replyMessage.ID, false, 'reply')\"\n class=\"psdk-pulse-reply-like\"\n >\n <img class=\"psdk-like-svg-icon\" src=\"{{ svgLike$ }}\" />\n </button>\n <label class=\"psdk-pulse-reply-like-label\">Like | {{ replyMessage.likeCount }}</label>\n </div>\n <ng-template #replyNotLiked>\n <button\n *ngIf=\"replyMessage?.likedByMe != 'true'\"\n mat-button\n (click)=\"likeClick(pulseMessage.ID, replyMessage.ID, false, 'reply')\"\n class=\"psdk-pulse-reply-like\"\n >\n <img class=\"psdk-like-svg-icon\" src=\"{{ svgLike$ }}\" />\n </button>\n </ng-template>\n\n <div class=\"psdk-pulse-reply-time\">{{ replyMessage.displayPostedTime }}</div>\n </div>\n <br />\n </div>\n\n <div *ngIf=\"showReplyComment$[pulseMessage.ID] == true\">\n <div class=\"psdk-pulse-divider\"></div>\n <br />\n <div class=\"psdk-pulse-comment-group\">\n <div class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <mat-form-field class=\"psdk-full-width\">\n <textarea\n matInput\n rows=\"5\"\n id=\"pulseMessage\"\n placeholder=\"Add a comment\"\n type=\"text\"\n (change)=\"newCommentChange($event, pulseMessage.ID)\"\n ></textarea>\n </mat-form-field>\n <button mat-button (click)=\"postCommentClick(pulseMessage.ID)\" class=\"psdk-pulse-comment-post\">\n <img class=\"psdk-send-svg-icon\" src=\"{{ svgSend$ }}\" />\n </button>\n </div>\n </div>\n </div>\n <br />\n</div>\n", styles: [".psdk-pulse-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-full-width{width:100%;padding-left:.625rem}.psdk-icon{padding:0rem .125rem;min-width:unset;display:inline-block}.psdk-icon-liked-by-me{padding:0rem .125rem;min-width:unset;display:inline-block;color:var(--app-primary-color)}.psdk-send-svg-icon{width:1.4rem}.psdk-comment-svg-icon,.psdk-like-svg-icon{width:1.4rem;padding:0rem .3215rem}.psdk-liked-by-me-svg-icon{width:1.4rem;padding:0rem .3215rem;filter:var(--app-primary-color-filter)}.psdk-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:flex;background:var(--app-primary-color);color:var(--app-form-color);font-weight:700;font-size:1.25rem}.psdk-avatar-big{margin:0rem;padding:0rem;min-width:3.125rem;min-height:3.125rem;max-width:3.125rem;max-height:3.125rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:flex;background:var(--app-primary-color);color:var(--app-form-color);font-weight:700;font-size:1.5625rem}.psdk-pulse{display:inline-flex;width:100%;padding-bottom:.625rem}.psdk-pulse-message-group{display:flex;flex-direction:column;padding-left:.625rem}.psdk-pulse-message-by{margin-bottom:0rem;font-weight:700;font-size:.9375rem}.psdk-pulse-message-time{color:var(--app-pulse-message-color)}.psdk-pulse-message-text{white-space:pre-line}.psdk-pulse-message-actions{display:flex;flex-direction:row;padding-top:1.25rem}.psdk-pulse-message-action-group,.psdk-pulse-message-action-like{flex-basis:15em}.psdk-pulse-message-like-label{vertical-align:middle}.psdk-pulse-reply{padding-left:1.25rem}.psdk-pulse-reply-align{text-align:left}.psdk-pulse-reply-group{display:flex;flex-direction:row;align-items:center}.psdk-pulse-reply-by{padding:0rem .625rem;font-weight:700;font-size:.9375rem}.psdk-pulse-reply-message{background-color:var(--app-pulse-message-background-color);border-radius:.625rem;padding:0rem 1.25rem;white-space:pre-line}.psdk-pulse-reply-actions{display:flex;flex-direction:row;align-items:center;padding-left:3.125rem}.psdk-pulse-reply-comment,.psdk-pulse-reply-like{padding:0rem;min-width:1.875rem}.psdk-pulse-reply-like-label{vertical-align:middle;padding-right:.3125rem}.psdk-pulse-reply-time{color:var(--app-pulse-message-color);padding-left:.625rem}.psdk-pulse-comment-group{display:flex;flex-direction:row;align-items:center}.psdk-pulse-comment-post{padding:0rem;min-width:1.875rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatGridListModule }, { kind: "component", type: i2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
16792
16739
  }
16793
16740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FeedContainerComponent, decorators: [{
16794
16741
  type: Component,
@@ -17117,11 +17064,11 @@ class TodoComponent {
17117
17064
  });
17118
17065
  }
17119
17066
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TodoComponent, deps: [{ token: ProgressSpinnerService }, { token: ErrorMessagesService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
17120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TodoComponent, isStandalone: true, selector: "app-todo", inputs: { pConn$: "pConn$", caseInfoID$: "caseInfoID$", datasource$: "datasource$", headerText$: "headerText$", showTodoList$: "showTodoList$", target$: "target$", type$: "type$", context$: "context$", myWorkList$: "myWorkList$", isConfirm: "isConfirm" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-todo\">\n <div class=\"psdk-todo-header\">\n <div *ngIf=\"showTodoList$\" class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <div id=\"worklist\" class=\"psdk-todo-text\">{{ headerText$ }}</div>\n <div *ngIf=\"showTodoList$\" class=\"psdk-assignment-count\">{{ count }}</div>\n </div>\n <br /><br />\n <div *ngIf=\"showTodoList$\" class=\"psdk-display-divider\"></div>\n\n <div class=\"psdk-todo-assignments\">\n <div *ngFor=\"let assignment of arAssignments$\">\n <div class=\"psdk-todo-assignment\">\n <div class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <div class=\"psdk-todo-card\">\n <div class=\"psdk-todo-assignment-title\">{{ getAssignmentName(assignment) }}</div>\n <div class=\"psdk-todo-assignment-data\">\n <div class=\"psdk-todo-assignment-task\">\n {{ localizedVal('Task in', localeCategory) }}\n <button class=\"psdk-todo-id\" style=\"cursor: pointer\" (click)=\"clickGo(assignment)\" *ngIf=\"!isConfirm || canPerform; else readOnlyText\">\n {{ assignment.name }} {{ getID(assignment) }}\n </button>\n <ng-template #readOnlyText> {{ assignment.name }} {{ getID(assignment) }} </ng-template>\n <span *ngIf=\"assignment.status != undefined\">\n &bull; <span class=\"psdk-todo-assignment-status\">{{ assignment?.status }}</span>\n </span>\n &bull; {{ localizedVal('Urgency', localeCategory) }} {{ getPriority(assignment) }}\n </div>\n </div>\n </div>\n <div class=\"psdk-todo-assignment-action\" *ngIf=\"!isConfirm || canPerform\">\n <button mat-flat-button color=\"primary\" (click)=\"clickGo(assignment)\">{{ localizedVal('Go', localeCategory) }}</button>\n </div>\n </div>\n <div class=\"psdk-display-divider\"></div>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"count > 3\">\n <div *ngIf=\"bShowMore$; else showLess\" class=\"psdk-todo-show-more\">\n <button mat-stroked-button (click)=\"_showMore()\">{{ showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue }}</button>\n </div>\n <ng-template #showLess>\n <div class=\"psdk-todo-show-more\">\n <button mat-stroked-button (click)=\"_showLess()\">{{ showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue }}</button>\n </div>\n </ng-template>\n</div>\n", styles: [".psdk-display-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-todo{padding:1rem;background-color:var(--app-form-color);border-radius:.6125rem;border-left:6px solid;border-left-color:var(--app-primary-color)}.psdk-todo-header{display:inline-flex}.psdk-todo-text{padding:.5rem .625rem;font-size:1.1rem;font-weight:700}.psdk-assignment-count{background-color:var(--app-primary-light-color);margin:.5rem;border-radius:45%;padding:.15rem .4rem}.psdk-todo-id{color:var(--app-primary-color);padding:0;cursor:pointer;border:0;background-color:transparent;align-items:center}.psdk-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:flex;background:var(--app-primary-color);color:var(--app-form-color);font-weight:700;font-size:1.25rem}.psdk-todo-assignment{display:inline-flex;width:100%;padding:.625rem 0rem}.psdk-todo-assignment-data{display:inline-flex}.psdk-todo-assignment-status{background-color:var(--app-neutral-light-color);border-radius:.125rem;color:var(--app-assignment-status-color);font-size:.75rem;font-weight:700;line-height:1.25rem;height:1.25rem;padding:0 .5rem;text-transform:uppercase}.psdk-todo-assignment-task{color:var(--app-neutral-color)}.psdk-todo-assignment-action{display:inline-flex}.psdk-todo-card{width:100%;padding-left:.625rem}.psdk-todo-show-more{width:100%;text-align:center;margin-top:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
17067
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TodoComponent, isStandalone: true, selector: "app-todo", inputs: { pConn$: "pConn$", caseInfoID$: "caseInfoID$", datasource$: "datasource$", headerText$: "headerText$", showTodoList$: "showTodoList$", target$: "target$", type$: "type$", context$: "context$", myWorkList$: "myWorkList$", isConfirm: "isConfirm" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-todo\">\n <div *ngIf=\"showTodoList$\" class=\"psdk-todo-header\">\n <div class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <div id=\"worklist\" class=\"psdk-todo-text\">{{ headerText$ }}</div>\n <div class=\"psdk-assignment-count\">{{ count }}</div>\n </div>\n <br /><br />\n <div *ngIf=\"showTodoList$\" class=\"psdk-display-divider\"></div>\n\n <div class=\"psdk-todo-assignments\">\n <div *ngFor=\"let assignment of arAssignments$\">\n <div class=\"psdk-todo-assignment\">\n <div class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <div class=\"psdk-todo-card\">\n <div class=\"psdk-todo-assignment-title\">{{ getAssignmentName(assignment) }}</div>\n <div class=\"psdk-todo-assignment-data\">\n <div class=\"psdk-todo-assignment-task\">\n {{ localizedVal('Task in', localeCategory) }}\n <button class=\"psdk-todo-id\" style=\"cursor: pointer\" (click)=\"clickGo(assignment)\" *ngIf=\"!isConfirm || canPerform; else readOnlyText\">\n {{ assignment.name }} {{ getID(assignment) }}\n </button>\n <ng-template #readOnlyText> {{ assignment.name }} {{ getID(assignment) }} </ng-template>\n <span *ngIf=\"assignment.status != undefined\">\n &bull; <span class=\"psdk-todo-assignment-status\">{{ assignment?.status }}</span>\n </span>\n &bull; {{ localizedVal('Urgency', localeCategory) }} {{ getPriority(assignment) }}\n </div>\n </div>\n </div>\n <div class=\"psdk-todo-assignment-action\" *ngIf=\"!isConfirm || canPerform\">\n <button mat-flat-button color=\"primary\" (click)=\"clickGo(assignment)\">{{ localizedVal('Go', localeCategory) }}</button>\n </div>\n </div>\n <div class=\"psdk-display-divider\"></div>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"count > 3\">\n <div *ngIf=\"bShowMore$; else showLess\" class=\"psdk-todo-show-more\">\n <button mat-stroked-button (click)=\"_showMore()\">{{ showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue }}</button>\n </div>\n <ng-template #showLess>\n <div class=\"psdk-todo-show-more\">\n <button mat-stroked-button (click)=\"_showLess()\">{{ showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue }}</button>\n </div>\n </ng-template>\n</div>\n", styles: [".psdk-todo-assignments>*:last-child .psdk-display-divider{display:none}.psdk-display-divider{border-bottom:.0625rem solid var(--app-neutral-light-color);margin-block:.5rem}.psdk-todo{padding:1rem;background-color:var(--app-form-color);border-radius:.6125rem;border-left:6px solid;border-left-color:var(--app-primary-color)}.psdk-todo-header{display:inline-flex}.psdk-todo-text{padding:.5rem .625rem;font-size:1.1rem;font-weight:700}.psdk-assignment-count{background-color:var(--app-primary-light-color);margin:.5rem;border-radius:45%;padding:.15rem .4rem}.psdk-todo-id{color:var(--app-primary-color);padding:0;cursor:pointer;border:0;background-color:transparent;align-items:center}.psdk-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:flex;background:var(--app-primary-color);color:var(--app-form-color);font-weight:700;font-size:1.25rem}.psdk-todo-assignment{display:inline-flex;width:100%;padding:.625rem 0rem}.psdk-todo-assignment-data{display:inline-flex}.psdk-todo-assignment-status{background-color:var(--app-neutral-light-color);border-radius:.125rem;color:var(--app-assignment-status-color);font-size:.75rem;font-weight:700;line-height:1.25rem;height:1.25rem;padding:0 .5rem;text-transform:uppercase}.psdk-todo-assignment-task{color:var(--app-neutral-color)}.psdk-todo-assignment-action{display:inline-flex}.psdk-todo-card{width:100%;padding-left:.625rem}.psdk-todo-show-more{width:100%;text-align:center;margin-top:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
17121
17068
  }
17122
17069
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TodoComponent, decorators: [{
17123
17070
  type: Component,
17124
- args: [{ selector: 'app-todo', providers: [Utils], standalone: true, imports: [CommonModule, MatButtonModule], template: "<div class=\"psdk-todo\">\n <div class=\"psdk-todo-header\">\n <div *ngIf=\"showTodoList$\" class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <div id=\"worklist\" class=\"psdk-todo-text\">{{ headerText$ }}</div>\n <div *ngIf=\"showTodoList$\" class=\"psdk-assignment-count\">{{ count }}</div>\n </div>\n <br /><br />\n <div *ngIf=\"showTodoList$\" class=\"psdk-display-divider\"></div>\n\n <div class=\"psdk-todo-assignments\">\n <div *ngFor=\"let assignment of arAssignments$\">\n <div class=\"psdk-todo-assignment\">\n <div class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <div class=\"psdk-todo-card\">\n <div class=\"psdk-todo-assignment-title\">{{ getAssignmentName(assignment) }}</div>\n <div class=\"psdk-todo-assignment-data\">\n <div class=\"psdk-todo-assignment-task\">\n {{ localizedVal('Task in', localeCategory) }}\n <button class=\"psdk-todo-id\" style=\"cursor: pointer\" (click)=\"clickGo(assignment)\" *ngIf=\"!isConfirm || canPerform; else readOnlyText\">\n {{ assignment.name }} {{ getID(assignment) }}\n </button>\n <ng-template #readOnlyText> {{ assignment.name }} {{ getID(assignment) }} </ng-template>\n <span *ngIf=\"assignment.status != undefined\">\n &bull; <span class=\"psdk-todo-assignment-status\">{{ assignment?.status }}</span>\n </span>\n &bull; {{ localizedVal('Urgency', localeCategory) }} {{ getPriority(assignment) }}\n </div>\n </div>\n </div>\n <div class=\"psdk-todo-assignment-action\" *ngIf=\"!isConfirm || canPerform\">\n <button mat-flat-button color=\"primary\" (click)=\"clickGo(assignment)\">{{ localizedVal('Go', localeCategory) }}</button>\n </div>\n </div>\n <div class=\"psdk-display-divider\"></div>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"count > 3\">\n <div *ngIf=\"bShowMore$; else showLess\" class=\"psdk-todo-show-more\">\n <button mat-stroked-button (click)=\"_showMore()\">{{ showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue }}</button>\n </div>\n <ng-template #showLess>\n <div class=\"psdk-todo-show-more\">\n <button mat-stroked-button (click)=\"_showLess()\">{{ showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue }}</button>\n </div>\n </ng-template>\n</div>\n", styles: [".psdk-display-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-todo{padding:1rem;background-color:var(--app-form-color);border-radius:.6125rem;border-left:6px solid;border-left-color:var(--app-primary-color)}.psdk-todo-header{display:inline-flex}.psdk-todo-text{padding:.5rem .625rem;font-size:1.1rem;font-weight:700}.psdk-assignment-count{background-color:var(--app-primary-light-color);margin:.5rem;border-radius:45%;padding:.15rem .4rem}.psdk-todo-id{color:var(--app-primary-color);padding:0;cursor:pointer;border:0;background-color:transparent;align-items:center}.psdk-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:flex;background:var(--app-primary-color);color:var(--app-form-color);font-weight:700;font-size:1.25rem}.psdk-todo-assignment{display:inline-flex;width:100%;padding:.625rem 0rem}.psdk-todo-assignment-data{display:inline-flex}.psdk-todo-assignment-status{background-color:var(--app-neutral-light-color);border-radius:.125rem;color:var(--app-assignment-status-color);font-size:.75rem;font-weight:700;line-height:1.25rem;height:1.25rem;padding:0 .5rem;text-transform:uppercase}.psdk-todo-assignment-task{color:var(--app-neutral-color)}.psdk-todo-assignment-action{display:inline-flex}.psdk-todo-card{width:100%;padding-left:.625rem}.psdk-todo-show-more{width:100%;text-align:center;margin-top:.625rem}\n"] }]
17071
+ args: [{ selector: 'app-todo', providers: [Utils], standalone: true, imports: [CommonModule, MatButtonModule], template: "<div class=\"psdk-todo\">\n <div *ngIf=\"showTodoList$\" class=\"psdk-todo-header\">\n <div class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <div id=\"worklist\" class=\"psdk-todo-text\">{{ headerText$ }}</div>\n <div class=\"psdk-assignment-count\">{{ count }}</div>\n </div>\n <br /><br />\n <div *ngIf=\"showTodoList$\" class=\"psdk-display-divider\"></div>\n\n <div class=\"psdk-todo-assignments\">\n <div *ngFor=\"let assignment of arAssignments$\">\n <div class=\"psdk-todo-assignment\">\n <div class=\"psdk-avatar\">{{ this.currentUserInitials$ }}</div>\n <div class=\"psdk-todo-card\">\n <div class=\"psdk-todo-assignment-title\">{{ getAssignmentName(assignment) }}</div>\n <div class=\"psdk-todo-assignment-data\">\n <div class=\"psdk-todo-assignment-task\">\n {{ localizedVal('Task in', localeCategory) }}\n <button class=\"psdk-todo-id\" style=\"cursor: pointer\" (click)=\"clickGo(assignment)\" *ngIf=\"!isConfirm || canPerform; else readOnlyText\">\n {{ assignment.name }} {{ getID(assignment) }}\n </button>\n <ng-template #readOnlyText> {{ assignment.name }} {{ getID(assignment) }} </ng-template>\n <span *ngIf=\"assignment.status != undefined\">\n &bull; <span class=\"psdk-todo-assignment-status\">{{ assignment?.status }}</span>\n </span>\n &bull; {{ localizedVal('Urgency', localeCategory) }} {{ getPriority(assignment) }}\n </div>\n </div>\n </div>\n <div class=\"psdk-todo-assignment-action\" *ngIf=\"!isConfirm || canPerform\">\n <button mat-flat-button color=\"primary\" (click)=\"clickGo(assignment)\">{{ localizedVal('Go', localeCategory) }}</button>\n </div>\n </div>\n <div class=\"psdk-display-divider\"></div>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"count > 3\">\n <div *ngIf=\"bShowMore$; else showLess\" class=\"psdk-todo-show-more\">\n <button mat-stroked-button (click)=\"_showMore()\">{{ showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue }}</button>\n </div>\n <ng-template #showLess>\n <div class=\"psdk-todo-show-more\">\n <button mat-stroked-button (click)=\"_showLess()\">{{ showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue }}</button>\n </div>\n </ng-template>\n</div>\n", styles: [".psdk-todo-assignments>*:last-child .psdk-display-divider{display:none}.psdk-display-divider{border-bottom:.0625rem solid var(--app-neutral-light-color);margin-block:.5rem}.psdk-todo{padding:1rem;background-color:var(--app-form-color);border-radius:.6125rem;border-left:6px solid;border-left-color:var(--app-primary-color)}.psdk-todo-header{display:inline-flex}.psdk-todo-text{padding:.5rem .625rem;font-size:1.1rem;font-weight:700}.psdk-assignment-count{background-color:var(--app-primary-light-color);margin:.5rem;border-radius:45%;padding:.15rem .4rem}.psdk-todo-id{color:var(--app-primary-color);padding:0;cursor:pointer;border:0;background-color:transparent;align-items:center}.psdk-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:flex;background:var(--app-primary-color);color:var(--app-form-color);font-weight:700;font-size:1.25rem}.psdk-todo-assignment{display:inline-flex;width:100%;padding:.625rem 0rem}.psdk-todo-assignment-data{display:inline-flex}.psdk-todo-assignment-status{background-color:var(--app-neutral-light-color);border-radius:.125rem;color:var(--app-assignment-status-color);font-size:.75rem;font-weight:700;line-height:1.25rem;height:1.25rem;padding:0 .5rem;text-transform:uppercase}.psdk-todo-assignment-task{color:var(--app-neutral-color)}.psdk-todo-assignment-action{display:inline-flex}.psdk-todo-card{width:100%;padding-left:.625rem}.psdk-todo-show-more{width:100%;text-align:center;margin-top:.625rem}\n"] }]
17125
17072
  }], ctorParameters: () => [{ type: ProgressSpinnerService }, { type: ErrorMessagesService }, { type: Utils }], propDecorators: { pConn$: [{
17126
17073
  type: Input
17127
17074
  }], caseInfoID$: [{
@@ -18080,14 +18027,7 @@ function getComponentFromMap(inComponentName) {
18080
18027
  return theComponentImplementation;
18081
18028
  }
18082
18029
 
18083
- const componentsRequireDisplayOnlyFAProp = [
18084
- 'HybridViewContainer',
18085
- 'ModalViewContainer',
18086
- 'ViewContainer',
18087
- 'RootContainer',
18088
- 'View',
18089
- 'CaseView'
18090
- ];
18030
+ const componentsRequireDisplayOnlyFAProp = ['HybridViewContainer', 'ModalViewContainer', 'ViewContainer', 'RootContainer', 'View'];
18091
18031
  class ComponentMapperComponent {
18092
18032
  constructor() {
18093
18033
  this.isInitialized = false;
@@ -18173,7 +18113,7 @@ class ComponentMapperComponent {
18173
18113
  }
18174
18114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ComponentMapperComponent, decorators: [{
18175
18115
  type: Component,
18176
- args: [{ selector: 'component-mapper', standalone: true, imports: [CommonModule, ErrorBoundaryComponent], template: "<ng-container #dynamicComponent></ng-container>\n" }]
18116
+ args: [{ selector: 'component-mapper', standalone: true, imports: [CommonModule], template: "<ng-container #dynamicComponent></ng-container>\n" }]
18177
18117
  }], propDecorators: { dynamicComponent: [{
18178
18118
  type: ViewChild,
18179
18119
  args: ['dynamicComponent', { read: ViewContainerRef, static: true }]
@@ -18294,7 +18234,7 @@ class RepeatingStructuresComponent {
18294
18234
  return fields.map((field) => field.name);
18295
18235
  }
18296
18236
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RepeatingStructuresComponent, deps: [{ token: ProgressSpinnerService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
18297
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RepeatingStructuresComponent, isStandalone: true, selector: "app-repeating-structures", inputs: { pConn$: "pConn$" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div>\n <mat-form-field class=\"psdk-search\">\n <mat-label\n ><mat-icon class=\"psdk-icon-search\" style=\"transform: scale(1.2); width: 2rem; vertical-align: sub\" svgIcon=\"magnify\" mastListIcon></mat-icon>\n Search</mat-label\n >\n <input matInput (keyup)=\"applySearch($event)\" placeholder=\"\" />\n </mat-form-field>\n\n <table mat-table [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ dCol.label }}</th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.name] }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\" (click)=\"rowClick(row)\"></tr>\n </table>\n\n <mat-paginator [pageSizeOptions]=\"[10, 20, 50, 100, 500]\" showFirstLastButtons></mat-paginator>\n</div>\n", styles: ["table{width:100%}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-search{padding-left:.625rem}.psdk-icon-search{vertical-align:sub;padding:0rem .125rem;min-width:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i6$2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6$2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6$2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6$2.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i6$2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6$2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6$2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6$2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6$2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6$2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i7$3.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7$3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i14.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] }); }
18237
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RepeatingStructuresComponent, isStandalone: true, selector: "app-repeating-structures", inputs: { pConn$: "pConn$" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div>\n <mat-form-field class=\"psdk-search\">\n <mat-label\n ><mat-icon class=\"psdk-icon-search\" style=\"transform: scale(1.2); width: 2rem; vertical-align: sub\" svgIcon=\"magnify\" mastListIcon></mat-icon>\n Search</mat-label\n >\n <input matInput (keyup)=\"applySearch($event)\" placeholder=\"\" />\n </mat-form-field>\n\n <table mat-table [dataSource]=\"repeatList$\" matSort>\n <ng-container *ngFor=\"let dCol of fields$\" [matColumnDef]=\"dCol.name\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ dCol.label }}</th>\n <td mat-cell *matCellDef=\"let element\">{{ element[dCol.name] }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns$\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns$\" (click)=\"rowClick(row)\"></tr>\n </table>\n\n <mat-paginator [pageSizeOptions]=\"[10, 20, 50, 100, 500]\" showFirstLastButtons></mat-paginator>\n</div>\n", styles: ["table{width:100%}.mat-mdc-row .mat-mdc-cell{text-align:left}.psdk-search{padding-left:.625rem}.psdk-icon-search{vertical-align:sub;padding:0rem .125rem;min-width:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i6$2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6$2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6$2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6$2.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i6$2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6$2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6$2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6$2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6$2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6$2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i7$3.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7$3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i14.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] }); }
18298
18238
  }
18299
18239
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RepeatingStructuresComponent, decorators: [{
18300
18240
  type: Component,
@@ -18390,6 +18330,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
18390
18330
  }]
18391
18331
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: ServerConfigService }] });
18392
18332
 
18333
+ class BannerService {
18334
+ constructor() {
18335
+ this.banners = [];
18336
+ }
18337
+ clearBanners() {
18338
+ this.banners = [];
18339
+ }
18340
+ updateBanners(itemKey) {
18341
+ const localizedValue = PCore.getLocaleUtils().getLocaleValue;
18342
+ const validationErrors = PCore.getMessageManager().getValidationErrorMessages(itemKey) || [];
18343
+ const formattedErrors = validationErrors.map(error => {
18344
+ let message = '';
18345
+ if (typeof error === 'string') {
18346
+ message = error;
18347
+ }
18348
+ else {
18349
+ error.label = error.label.endsWith(':') ? error.label : `${error.label}:`;
18350
+ message = `${error.label} ${error.description}`;
18351
+ }
18352
+ return localizedValue(message, 'Messages');
18353
+ });
18354
+ this.banners = formattedErrors.length ? [{ messages: formattedErrors, variant: 'urgent' }] : [];
18355
+ }
18356
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BannerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18357
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BannerService, providedIn: 'root' }); }
18358
+ }
18359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BannerService, decorators: [{
18360
+ type: Injectable,
18361
+ args: [{
18362
+ providedIn: 'root'
18363
+ }]
18364
+ }] });
18365
+
18393
18366
  /**
18394
18367
  * versionHelpers.ts
18395
18368
  *
@@ -18446,5 +18419,5 @@ const localSdkComponentMap = {
18446
18419
  * Generated bundle index. Do not edit.
18447
18420
  */
18448
18421
 
18449
- export { ActionButtonsComponent, AlertBannerComponent, AlertComponent, AngularPConnectService, AppAnnouncementComponent, AppShellComponent, AssignmentCardComponent, AssignmentComponent, AttachmentComponent, AutoCompleteComponent, CancelAlertComponent, CaseCreateStageComponent, CaseHistoryComponent, CaseService, CaseSummaryComponent, CaseViewComponent, CheckBoxComponent, ComponentMapperComponent, ConfirmationComponent, CurrencyComponent, DELETE_ICON, DashboardFilterComponent, DataReferenceComponent, DatapageService, DateComponent, DateTimeComponent, DecimalComponent, DefaultFormComponent, DeferLoadComponent, DetailsComponent, DetailsNarrowWideComponent, DetailsOneColumnComponent, DetailsSubTabsComponent, DetailsThreeColumnComponent, DetailsTwoColumnComponent, DetailsWideNarrowComponent, DropdownComponent, EmailComponent, ErrorBoundaryComponent, ErrorMessagesService, FeedContainerComponent, FieldGroupListComponent, FieldGroupTemplateComponent, FieldValueListComponent, FileUtilityComponent, FlowContainerBaseComponent, FlowContainerComponent, FormTemplateBaseComponent, Group$1 as Group, HybridViewContainerComponent, InlineDashboardComponent, InlineDashboardPageComponent, IntegerComponent, ListPageComponent, ListUtilityComponent, ListViewComponent, MaterialCaseSummaryComponent, MaterialDetailsComponent, MaterialDetailsFieldsComponent, MaterialSummaryItemComponent, MaterialSummaryListComponent, MaterialUtilityComponent, MaterialVerticalTabsComponent, ModalViewContainerComponent, MultiReferenceReadonlyComponent, MultiStepComponent, NarrowWideFormComponent, NavbarComponent, OneColumnComponent, OneColumnPageComponent, OneColumnTabComponent, OperatorComponent, PageComponent, PercentageComponent, PhoneComponent, PreviewViewContainerComponent, ProgressSpinnerService, PromotedFiltersComponent, PulseComponent, RadioButtonsComponent, ReferenceComponent, RegionComponent, RepeatingStructuresComponent, RichTextComponent, RichTextEditorComponent, RootContainerComponent, SdkComponentMap, SemanticLinkComponent, ServerConfigService, SimpleTableComponent, SimpleTableManualComponent, SimpleTableSelectComponent, SingleReferenceReadonlyComponent, StagesComponent, SubTabsComponent, TABLE_CELL, TemplateUtils, TextAreaComponent, TextComponent, TextContentComponent, TextInputComponent, ThousandSeparatorDirective, ThreeColumnComponent, ThreeColumnPageComponent, TimeComponent, TodoComponent, TwoColumnComponent, TwoColumnPageComponent, TwoColumnTabComponent, UpdateWorklistService, UrlComponent, UserReferenceComponent, UtilityComponent, Utils, ViewComponent, ViewContainerComponent, WideNarrowFormComponent, WideNarrowPageComponent, buildFieldsForTable, buildFilterComponents, buildMetaForListView, buildView, combineFilters, compareSdkPCoreVersions, createFilter, createFilterComponent, createMetaForTable, createPConnect, currencyMap, dateFormatInfoDefault, deleteInstruction, endpoints, filterDataByCommonFields, filterDataByDate, filterForFieldValueList, format, formatters, getAddRowCallback, getAllFields, getApiContext, getBanners, getComponentFromMap, getContext, getCurrencyCharacters, getCurrencyOptions, getCurrentTimezone$1 as getCurrentTimezone, getDateFormatInfo, getDeferFriendlyTabs, getFilterExpression, getFormattedDate, getLocale$1 as getLocale, getMessagesGrouped, getReferenceList, getSdkComponentMap, getSeconds, getToDoAssignments, getTransientTabs, getVisibleTabs, handleEvent, insertInstruction, loginBoxType, populateRowKey, sdkVersion, showBanner, tabClick, updateNewInstructions, updateWorkList };
18422
+ export { ActionButtonsComponent, AlertBannerComponent, AlertComponent, AngularPConnectService, AppAnnouncementComponent, AppShellComponent, AssignmentCardComponent, AssignmentComponent, AttachmentComponent, AutoCompleteComponent, BannerService, CancelAlertComponent, CaseCreateStageComponent, CaseHistoryComponent, CaseService, CaseSummaryComponent, CaseViewComponent, CheckBoxComponent, ComponentMapperComponent, ConfirmationComponent, CurrencyComponent, DELETE_ICON, DashboardFilterComponent, DataReferenceComponent, DatapageService, DateComponent, DateTimeComponent, DecimalComponent, DefaultFormComponent, DeferLoadComponent, DetailsComponent, DetailsNarrowWideComponent, DetailsOneColumnComponent, DetailsSubTabsComponent, DetailsTemplateBase, DetailsThreeColumnComponent, DetailsTwoColumnComponent, DetailsWideNarrowComponent, DropdownComponent, EmailComponent, ErrorBoundaryComponent, ErrorMessagesService, FeedContainerComponent, FieldGroupListComponent, FieldGroupTemplateComponent, FieldValueListComponent, FileUtilityComponent, FlowContainerBaseComponent, FlowContainerComponent, FormTemplateBase, Group$1 as Group, HybridViewContainerComponent, IdleDetectionService, InlineDashboardComponent, InlineDashboardPageComponent, IntegerComponent, ListPageComponent, ListUtilityComponent, ListViewComponent, MaterialCaseSummaryComponent, MaterialDetailsComponent, MaterialDetailsFieldsComponent, MaterialSummaryItemComponent, MaterialSummaryListComponent, MaterialUtilityComponent, MaterialVerticalTabsComponent, ModalViewContainerComponent, MultiReferenceReadonlyComponent, MultiStepComponent, NarrowWideFormComponent, NavbarComponent, OneColumnComponent, OneColumnPageComponent, OneColumnTabComponent, OperatorComponent, PageComponent, PercentageComponent, PhoneComponent, PreviewViewContainerComponent, ProgressSpinnerService, PromotedFiltersComponent, PulseComponent, RadioButtonsComponent, ReferenceComponent, RegionComponent, RepeatingStructuresComponent, RichTextComponent, RichTextEditorComponent, RootContainerComponent, SdkComponentMap, SemanticLinkComponent, ServerConfigService, SimpleTableComponent, SimpleTableManualComponent, SimpleTableSelectComponent, SingleReferenceReadonlyComponent, StagesComponent, SubTabsComponent, TABLE_CELL, TemplateUtils, TextAreaComponent, TextComponent, TextContentComponent, TextInputComponent, ThousandSeparatorDirective, ThreeColumnComponent, ThreeColumnPageComponent, TimeComponent, TodoComponent, TwoColumnComponent, TwoColumnPageComponent, TwoColumnTabComponent, UpdateWorklistService, UrlComponent, UserReferenceComponent, UtilityComponent, Utils, ViewComponent, ViewContainerComponent, WideNarrowFormComponent, WideNarrowPageComponent, buildFieldsForTable, buildFilterComponents, buildMetaForListView, buildView, combineFilters, compareSdkPCoreVersions, createFilter, createFilterComponent, createMetaForTable, createPConnect, currencyMap, dateFormatInfoDefault, deleteInstruction, endpoints, filterDataByCommonFields, filterDataByDate, filterForFieldValueList, format, formatters, getAddRowCallback, getAllFields, getApiContext, getBanners, getComponentFromMap, getContext, getCurrencyCharacters, getCurrencyOptions, getCurrentTimezone$1 as getCurrentTimezone, getDateFormatInfo, getDeferFriendlyTabs, getFilterExpression, getFormattedDate, getLocale$1 as getLocale, getMessagesGrouped, getReferenceList, getSdkComponentMap, getSeconds, getToDoAssignments, getTransientTabs, getVisibleTabs, handleEvent, hasAssignments, insertInstruction, loginBoxType, populateRowKey, sdkVersion, showBanner, tabClick, updateNewInstructions, updateWorkList };
18450
18423
  //# sourceMappingURL=pega-angular-sdk-components.mjs.map