@pega/angular-sdk-components 0.242.2 → 0.242.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +7 -4
- package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +9 -7
- package/esm2022/lib/_components/field/check-box/check-box.component.mjs +7 -5
- package/esm2022/lib/_components/field/currency/currency.component.mjs +15 -4
- package/esm2022/lib/_components/field/date/date.component.mjs +17 -37
- package/esm2022/lib/_components/field/date-time/date-time.component.mjs +13 -11
- package/esm2022/lib/_components/field/decimal/decimal.component.mjs +3 -3
- package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +8 -10
- package/esm2022/lib/_components/field/email/email.component.mjs +11 -4
- package/esm2022/lib/_components/field/integer/integer.component.mjs +12 -7
- package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +7 -2
- package/esm2022/lib/_components/field/percentage/percentage.component.mjs +19 -16
- package/esm2022/lib/_components/field/phone/phone.component.mjs +9 -16
- package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +6 -8
- package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +5 -6
- package/esm2022/lib/_components/field/text/text.component.mjs +4 -2
- package/esm2022/lib/_components/field/text-area/text-area.component.mjs +12 -8
- package/esm2022/lib/_components/field/text-input/text-input.component.mjs +12 -7
- package/esm2022/lib/_components/field/time/time.component.mjs +18 -9
- package/esm2022/lib/_components/field/url/url.component.mjs +12 -7
- package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +8 -5
- package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +4 -3
- package/esm2022/lib/_components/infra/stages/stages.component.mjs +3 -3
- package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +2 -2
- package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +3 -3
- package/esm2022/lib/_helpers/formatters/common.mjs +3 -5
- package/esm2022/lib/_helpers/formatters/date.mjs +4 -4
- package/esm2022/lib/_helpers/formatters/index.mjs +17 -3
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/pega-angular-sdk-components.mjs +464 -430
- package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
- package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +1 -1
- package/lib/_components/field/auto-complete/auto-complete.component.d.ts +3 -2
- package/lib/_components/field/check-box/check-box.component.d.ts +2 -2
- package/lib/_components/field/currency/currency.component.d.ts +3 -0
- package/lib/_components/field/date/date.component.d.ts +3 -2
- package/lib/_components/field/date-time/date-time.component.d.ts +3 -1
- package/lib/_components/field/dropdown/dropdown.component.d.ts +2 -1
- package/lib/_components/field/email/email.component.d.ts +2 -0
- package/lib/_components/field/integer/integer.component.d.ts +3 -1
- package/lib/_components/field/multiselect/multiselect.component.d.ts +3 -2
- package/lib/_components/field/percentage/percentage.component.d.ts +5 -1
- package/lib/_components/field/phone/phone.component.d.ts +3 -1
- package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +2 -1
- package/lib/_components/field/rich-text/rich-text.component.d.ts +2 -0
- package/lib/_components/field/text/text.component.d.ts +3 -1
- package/lib/_components/field/text-area/text-area.component.d.ts +3 -1
- package/lib/_components/field/text-input/text-input.component.d.ts +3 -1
- package/lib/_components/field/time/time.component.d.ts +4 -1
- package/lib/_components/field/url/url.component.d.ts +3 -1
- package/lib/_components/field/user-reference/user-reference.component.d.ts +2 -0
- package/lib/_helpers/formatters/common.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -44,9 +44,9 @@ import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
|
44
44
|
import * as i5$3 from '@angular/material/checkbox';
|
|
45
45
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
46
46
|
import { NgxCurrencyInputMode, NgxCurrencyDirective } from 'ngx-currency';
|
|
47
|
-
import { MomentDateModule } from '@angular/material-moment-adapter';
|
|
48
47
|
import utc from 'dayjs/plugin/utc';
|
|
49
48
|
import tzone from 'dayjs/plugin/timezone';
|
|
49
|
+
import { MomentDateModule } from '@angular/material-moment-adapter';
|
|
50
50
|
import * as i8$1 from '@danielmoncada/angular-datetime-picker';
|
|
51
51
|
import { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';
|
|
52
52
|
import * as i6$2 from '@angular/material/select';
|
|
@@ -2363,6 +2363,7 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
|
|
|
2363
2363
|
updateFlowContainerChildren() {
|
|
2364
2364
|
// routingInfo was added as component prop in populateAdditionalProps
|
|
2365
2365
|
const routingInfo = this.angularPConnect.getComponentProp(this, 'routingInfo');
|
|
2366
|
+
this.confirm_pconn = null;
|
|
2366
2367
|
let loadingInfo;
|
|
2367
2368
|
try {
|
|
2368
2369
|
// @ts-ignore - Property 'getLoadingStatus' is private and only accessible within class 'C11nEnv'
|
|
@@ -2488,11 +2489,11 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
|
|
|
2488
2489
|
});
|
|
2489
2490
|
}
|
|
2490
2491
|
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 }); }
|
|
2491
|
-
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\">\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"] }] }); }
|
|
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"] }] }); }
|
|
2492
2493
|
}
|
|
2493
2494
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FlowContainerComponent, decorators: [{
|
|
2494
2495
|
type: Component,
|
|
2495
|
-
args: [{ selector: 'app-flow-container', providers: [Utils], standalone: true, imports: [CommonModule, MatCardModule, forwardRef(() => ComponentMapperComponent)], 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\">\n <component-mapper name=\"View\" [props]=\"{ formGroup$, pConn$: confirm_pconn }\"></component-mapper>\n </div>\n</div>\n" }]
|
|
2496
|
+
args: [{ selector: 'app-flow-container', providers: [Utils], standalone: true, imports: [CommonModule, MatCardModule, forwardRef(() => ComponentMapperComponent)], 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" }]
|
|
2496
2497
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: ProgressSpinnerService }, { type: i4.FormBuilder }, { type: i0.NgZone }, { type: Utils }], propDecorators: { pConn$: [{
|
|
2497
2498
|
type: Input
|
|
2498
2499
|
}] } });
|
|
@@ -3432,11 +3433,11 @@ class StagesComponent {
|
|
|
3432
3433
|
});
|
|
3433
3434
|
}
|
|
3434
3435
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: StagesComponent, deps: [{ token: AngularPConnectService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3435
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: StagesComponent, isStandalone: true, selector: "app-stages", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div class=\"psdk-stages-bar\">\n <div class=\"psdk-stages-chevron\" *ngFor=\"let stage of arStageResults$\">\n <div *ngIf=\"stage.visited_status == 'completed'\" class=\"psdk-stages-inner-past\">\n <img class=\"psdk-stages-icon\" src=\"{{ checkSvgIcon$ }}\" />{{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n <div *ngIf=\"stage.visited_status == 'active'\" class=\"psdk-stages-inner-present\">\n {{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n <div *ngIf=\"stage.visited_status == 'future'\" class=\"psdk-stages-inner-future\">\n {{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n </div>\n</div>\n\n<div class=\"psdk-stages-divider\"></div>\n", styles: [".psdk-stages{padding:.625rem 0rem}.psdk-stages-span span{padding:.3125rem;font-weight:700;font-size:1.5rem}.psdk-stages-div{display:inline-flex;padding:.3125rem;font-weight:700;font-size:1.3rem;color:var(--app-neutral-color)}.psdk-stages-past{color:var(--app-primary-color);padding-right:.3125rem}.psdk-stages-present{color:var(--app-secondary-color);padding-right:.3125rem}.psdk-stages-future{color:var(--app-neutral-color);padding-right:.3125rem}.psdk-stages-full{display:block}.psdk-stages-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-stages-icon{width:1.4rem;display:inline-block;vertical-align:top}.psdk-stages-bar{margin:1rem 0rem;background-color:var(--app-form-color);border-radius:.5rem;border:.0625rem solid var(--app-neutral-light-color);overflow:hidden;
|
|
3436
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: StagesComponent, isStandalone: true, selector: "app-stages", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div class=\"psdk-stages-bar\">\n <div class=\"psdk-stages-chevron\" *ngFor=\"let stage of arStageResults$\">\n <div *ngIf=\"stage.visited_status == 'completed'\" class=\"psdk-stages-inner-past\">\n <img class=\"psdk-stages-icon\" src=\"{{ checkSvgIcon$ }}\" />{{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n <div *ngIf=\"stage.visited_status == 'active'\" class=\"psdk-stages-inner-present\">\n {{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n <div *ngIf=\"stage.visited_status == 'future'\" class=\"psdk-stages-inner-future\">\n {{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n </div>\n</div>\n\n<div class=\"psdk-stages-divider\"></div>\n", styles: [".psdk-stages{padding:.625rem 0rem}.psdk-stages-span span{padding:.3125rem;font-weight:700;font-size:1.5rem}.psdk-stages-div{display:inline-flex;padding:.3125rem;font-weight:700;font-size:1.3rem;color:var(--app-neutral-color)}.psdk-stages-past{color:var(--app-primary-color);padding-right:.3125rem}.psdk-stages-present{color:var(--app-secondary-color);padding-right:.3125rem}.psdk-stages-future{color:var(--app-neutral-color);padding-right:.3125rem}.psdk-stages-full{display:block}.psdk-stages-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-stages-icon{width:1.4rem;display:inline-block;vertical-align:top}.psdk-stages-bar{margin:1rem 0rem;background-color:var(--app-form-color);border-radius:.5rem;border:.0625rem solid var(--app-neutral-light-color);overflow:hidden;display:flex;flex-wrap:wrap}.psdk-stages-chevron{position:relative;padding:.5rem;display:flex;justify-content:center;align-items:center;max-width:100%;min-width:0px;flex-grow:1;flex-shrink:1}.psdk-stages-chevron:not(:last-child):after{content:\"\";position:absolute;display:block;z-index:2;width:1.75rem;right:-.4375rem;background:inherit;border-style:solid;border-color:#cfcfcf;border-width:.0625rem .0625rem 0px 0px;border-radius:0px .3125rem 0px 0px;transform:rotate(45deg) skew(15deg,15deg);height:2rem}.psdk-stages-inner-past{color:var(--app-inverse-form-color);font-size:1rem}.psdk-stages-inner-present{color:var(--app-primary-color);font-weight:700;font-size:1rem}.psdk-stages-inner-future{color:var(--app-neutral-color);font-size:1rem}\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"] }] }); }
|
|
3436
3437
|
}
|
|
3437
3438
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: StagesComponent, decorators: [{
|
|
3438
3439
|
type: Component,
|
|
3439
|
-
args: [{ selector: 'app-stages', standalone: true, imports: [CommonModule], template: "<div class=\"psdk-stages-bar\">\n <div class=\"psdk-stages-chevron\" *ngFor=\"let stage of arStageResults$\">\n <div *ngIf=\"stage.visited_status == 'completed'\" class=\"psdk-stages-inner-past\">\n <img class=\"psdk-stages-icon\" src=\"{{ checkSvgIcon$ }}\" />{{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n <div *ngIf=\"stage.visited_status == 'active'\" class=\"psdk-stages-inner-present\">\n {{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n <div *ngIf=\"stage.visited_status == 'future'\" class=\"psdk-stages-inner-future\">\n {{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n </div>\n</div>\n\n<div class=\"psdk-stages-divider\"></div>\n", styles: [".psdk-stages{padding:.625rem 0rem}.psdk-stages-span span{padding:.3125rem;font-weight:700;font-size:1.5rem}.psdk-stages-div{display:inline-flex;padding:.3125rem;font-weight:700;font-size:1.3rem;color:var(--app-neutral-color)}.psdk-stages-past{color:var(--app-primary-color);padding-right:.3125rem}.psdk-stages-present{color:var(--app-secondary-color);padding-right:.3125rem}.psdk-stages-future{color:var(--app-neutral-color);padding-right:.3125rem}.psdk-stages-full{display:block}.psdk-stages-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-stages-icon{width:1.4rem;display:inline-block;vertical-align:top}.psdk-stages-bar{margin:1rem 0rem;background-color:var(--app-form-color);border-radius:.5rem;border:.0625rem solid var(--app-neutral-light-color);overflow:hidden;
|
|
3440
|
+
args: [{ selector: 'app-stages', standalone: true, imports: [CommonModule], template: "<div class=\"psdk-stages-bar\">\n <div class=\"psdk-stages-chevron\" *ngFor=\"let stage of arStageResults$\">\n <div *ngIf=\"stage.visited_status == 'completed'\" class=\"psdk-stages-inner-past\">\n <img class=\"psdk-stages-icon\" src=\"{{ checkSvgIcon$ }}\" />{{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n <div *ngIf=\"stage.visited_status == 'active'\" class=\"psdk-stages-inner-present\">\n {{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n <div *ngIf=\"stage.visited_status == 'future'\" class=\"psdk-stages-inner-future\">\n {{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}\n </div>\n </div>\n</div>\n\n<div class=\"psdk-stages-divider\"></div>\n", styles: [".psdk-stages{padding:.625rem 0rem}.psdk-stages-span span{padding:.3125rem;font-weight:700;font-size:1.5rem}.psdk-stages-div{display:inline-flex;padding:.3125rem;font-weight:700;font-size:1.3rem;color:var(--app-neutral-color)}.psdk-stages-past{color:var(--app-primary-color);padding-right:.3125rem}.psdk-stages-present{color:var(--app-secondary-color);padding-right:.3125rem}.psdk-stages-future{color:var(--app-neutral-color);padding-right:.3125rem}.psdk-stages-full{display:block}.psdk-stages-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-stages-icon{width:1.4rem;display:inline-block;vertical-align:top}.psdk-stages-bar{margin:1rem 0rem;background-color:var(--app-form-color);border-radius:.5rem;border:.0625rem solid var(--app-neutral-light-color);overflow:hidden;display:flex;flex-wrap:wrap}.psdk-stages-chevron{position:relative;padding:.5rem;display:flex;justify-content:center;align-items:center;max-width:100%;min-width:0px;flex-grow:1;flex-shrink:1}.psdk-stages-chevron:not(:last-child):after{content:\"\";position:absolute;display:block;z-index:2;width:1.75rem;right:-.4375rem;background:inherit;border-style:solid;border-color:#cfcfcf;border-width:.0625rem .0625rem 0px 0px;border-radius:0px .3125rem 0px 0px;transform:rotate(45deg) skew(15deg,15deg);height:2rem}.psdk-stages-inner-past{color:var(--app-inverse-form-color);font-size:1rem}.psdk-stages-inner-present{color:var(--app-primary-color);font-weight:700;font-size:1rem}.psdk-stages-inner-future{color:var(--app-neutral-color);font-size:1rem}\n"] }]
|
|
3440
3441
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: Utils }], propDecorators: { pConn$: [{
|
|
3441
3442
|
type: Input
|
|
3442
3443
|
}] } });
|
|
@@ -4168,6 +4169,8 @@ class AutoCompleteComponent {
|
|
|
4168
4169
|
this.value$ = index > -1 ? this.options$[index].value : this.configProps$.value;
|
|
4169
4170
|
}
|
|
4170
4171
|
this.setPropertyValuesFromProps();
|
|
4172
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
4173
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
4171
4174
|
const context = this.pConn$.getContextName();
|
|
4172
4175
|
const { columns, datasource } = this.generateColumnsAndDataSource();
|
|
4173
4176
|
if (columns) {
|
|
@@ -4300,11 +4303,13 @@ class AutoCompleteComponent {
|
|
|
4300
4303
|
// this works - this.pConn$.setValue( this.componentReference, this.fieldControl.value);
|
|
4301
4304
|
// PConnect wants to use changeHandler for onChange
|
|
4302
4305
|
// this.angularPConnect.changeHandler( this, event);
|
|
4303
|
-
|
|
4304
|
-
this.
|
|
4306
|
+
const value = event.target.value;
|
|
4307
|
+
this.filterValue = value;
|
|
4308
|
+
handleEvent(this.actionsApi, 'change', this.propName, value);
|
|
4305
4309
|
}
|
|
4306
4310
|
optionChanged(event) {
|
|
4307
|
-
|
|
4311
|
+
const value = event?.option?.value;
|
|
4312
|
+
handleEvent(this.actionsApi, 'change', this.propName, value);
|
|
4308
4313
|
}
|
|
4309
4314
|
fieldOnBlur(event) {
|
|
4310
4315
|
let key = '';
|
|
@@ -4314,9 +4319,7 @@ class AutoCompleteComponent {
|
|
|
4314
4319
|
key = index > -1 ? (key = this.options$[index].key) : el.value;
|
|
4315
4320
|
}
|
|
4316
4321
|
const value = key;
|
|
4317
|
-
|
|
4318
|
-
const propName = this.pConn$?.getStateProps().value;
|
|
4319
|
-
handleEvent(actionsApi, 'changeNblur', propName, value);
|
|
4322
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
4320
4323
|
if (this.configProps$?.onRecordChange) {
|
|
4321
4324
|
el.value = value;
|
|
4322
4325
|
this.configProps$.onRecordChange(event);
|
|
@@ -4582,8 +4585,8 @@ class CheckBoxComponent {
|
|
|
4582
4585
|
}
|
|
4583
4586
|
this.caption$ = this.configProps$.caption;
|
|
4584
4587
|
this.helperText = this.configProps$.helperText;
|
|
4585
|
-
this.trueLabel$ = this.configProps$.trueLabel;
|
|
4586
|
-
this.falseLabel$ = this.configProps$.falseLabel;
|
|
4588
|
+
this.trueLabel$ = this.configProps$.trueLabel || 'Yes';
|
|
4589
|
+
this.falseLabel$ = this.configProps$.falseLabel || 'No';
|
|
4587
4590
|
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
4588
4591
|
setTimeout(() => {
|
|
4589
4592
|
if (this.configProps$.required != null) {
|
|
@@ -4628,14 +4631,16 @@ class CheckBoxComponent {
|
|
|
4628
4631
|
fieldOnChange(event) {
|
|
4629
4632
|
event.value = event.checked;
|
|
4630
4633
|
handleEvent(this.actionsApi, 'changeNblur', this.propName, event.checked);
|
|
4634
|
+
this.pConn$.clearErrorMessages({
|
|
4635
|
+
property: this.propName
|
|
4636
|
+
});
|
|
4631
4637
|
}
|
|
4632
4638
|
fieldOnBlur(event) {
|
|
4633
4639
|
if (this.selectionMode === 'multi') {
|
|
4634
4640
|
this.pConn$.getValidationApi().validate(this.selectedvalues, this.selectionList);
|
|
4635
4641
|
}
|
|
4636
4642
|
else {
|
|
4637
|
-
|
|
4638
|
-
this.angularPConnectData.actions?.onBlur(this, event);
|
|
4643
|
+
this.pConn$.getValidationApi().validate(event.target.checked);
|
|
4639
4644
|
}
|
|
4640
4645
|
}
|
|
4641
4646
|
handleChangeMultiMode(event, element) {
|
|
@@ -5727,233 +5732,6 @@ const getCurrencyCharacters = (inISOCode) => {
|
|
|
5727
5732
|
return theCurrencyChars;
|
|
5728
5733
|
};
|
|
5729
5734
|
|
|
5730
|
-
class CurrencyComponent {
|
|
5731
|
-
constructor(angularPConnect, cdRef, utils) {
|
|
5732
|
-
this.angularPConnect = angularPConnect;
|
|
5733
|
-
this.cdRef = cdRef;
|
|
5734
|
-
this.utils = utils;
|
|
5735
|
-
// Used with AngularPConnect
|
|
5736
|
-
this.angularPConnectData = {};
|
|
5737
|
-
this.label$ = '';
|
|
5738
|
-
this.bRequired$ = false;
|
|
5739
|
-
this.bReadonly$ = false;
|
|
5740
|
-
this.bDisabled$ = false;
|
|
5741
|
-
this.bVisible$ = true;
|
|
5742
|
-
this.displayMode$ = '';
|
|
5743
|
-
this.bHasForm$ = true;
|
|
5744
|
-
this.componentReference = '';
|
|
5745
|
-
this.currencyISOCode = 'USD';
|
|
5746
|
-
this.currencyOptions = {};
|
|
5747
|
-
this.fieldControl = new FormControl(null, { updateOn: 'blur' });
|
|
5748
|
-
}
|
|
5749
|
-
ngOnInit() {
|
|
5750
|
-
// First thing in initialization is registering and subscribing to the AngularPConnect service
|
|
5751
|
-
this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
|
|
5752
|
-
this.controlName$ = this.angularPConnect.getComponentID(this);
|
|
5753
|
-
// Then, continue on with other initialization
|
|
5754
|
-
// call updateSelf when initializing
|
|
5755
|
-
// this.updateSelf();
|
|
5756
|
-
this.checkAndUpdate();
|
|
5757
|
-
if (this.formGroup$) {
|
|
5758
|
-
// add control to formGroup
|
|
5759
|
-
this.formGroup$.addControl(this.controlName$, this.fieldControl);
|
|
5760
|
-
this.fieldControl.setValue(this.value$);
|
|
5761
|
-
this.bHasForm$ = true;
|
|
5762
|
-
}
|
|
5763
|
-
else {
|
|
5764
|
-
this.bReadonly$ = true;
|
|
5765
|
-
this.bHasForm$ = false;
|
|
5766
|
-
}
|
|
5767
|
-
}
|
|
5768
|
-
ngOnDestroy() {
|
|
5769
|
-
if (this.formGroup$) {
|
|
5770
|
-
this.formGroup$.removeControl(this.controlName$);
|
|
5771
|
-
}
|
|
5772
|
-
if (this.angularPConnectData.unsubscribeFn) {
|
|
5773
|
-
this.angularPConnectData.unsubscribeFn();
|
|
5774
|
-
}
|
|
5775
|
-
}
|
|
5776
|
-
// Callback passed when subscribing to store change
|
|
5777
|
-
onStateChange() {
|
|
5778
|
-
this.checkAndUpdate();
|
|
5779
|
-
}
|
|
5780
|
-
checkAndUpdate() {
|
|
5781
|
-
// Should always check the bridge to see if the component should
|
|
5782
|
-
// update itself (re-render)
|
|
5783
|
-
const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
|
|
5784
|
-
// ONLY call updateSelf when the component should update
|
|
5785
|
-
if (bUpdateSelf) {
|
|
5786
|
-
this.updateSelf();
|
|
5787
|
-
}
|
|
5788
|
-
}
|
|
5789
|
-
// updateSelf
|
|
5790
|
-
updateSelf() {
|
|
5791
|
-
// starting very simple...
|
|
5792
|
-
// moved this from ngOnInit() and call this from there instead...
|
|
5793
|
-
this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
|
|
5794
|
-
this.testId = this.configProps$.testId;
|
|
5795
|
-
this.label$ = this.configProps$.label;
|
|
5796
|
-
this.displayMode$ = this.configProps$.displayMode;
|
|
5797
|
-
this.inputMode = NgxCurrencyInputMode.Natural;
|
|
5798
|
-
let nValue = this.configProps$.value;
|
|
5799
|
-
if (nValue) {
|
|
5800
|
-
if (typeof nValue === 'string') {
|
|
5801
|
-
nValue = parseFloat(nValue);
|
|
5802
|
-
}
|
|
5803
|
-
this.value$ = nValue;
|
|
5804
|
-
}
|
|
5805
|
-
this.helperText = this.configProps$.helperText;
|
|
5806
|
-
this.placeholder = this.configProps$.placeholder || '';
|
|
5807
|
-
const currencyISOCode = this.configProps$?.currencyISOCode ?? '';
|
|
5808
|
-
const theSymbols = getCurrencyCharacters(currencyISOCode);
|
|
5809
|
-
this.currSym = theSymbols.theCurrencySymbol;
|
|
5810
|
-
this.currSep = theSymbols.theDigitGroupSeparator;
|
|
5811
|
-
this.currDec = theSymbols.theDecimalIndicator;
|
|
5812
|
-
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
5813
|
-
setTimeout(() => {
|
|
5814
|
-
if (this.configProps$.required != null) {
|
|
5815
|
-
this.bRequired$ = this.utils.getBooleanValue(this.configProps$.required);
|
|
5816
|
-
}
|
|
5817
|
-
this.cdRef.detectChanges();
|
|
5818
|
-
});
|
|
5819
|
-
if (this.configProps$.visibility != null) {
|
|
5820
|
-
this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
|
|
5821
|
-
}
|
|
5822
|
-
// disabled
|
|
5823
|
-
if (this.configProps$.disabled != undefined) {
|
|
5824
|
-
this.bDisabled$ = this.utils.getBooleanValue(this.configProps$.disabled);
|
|
5825
|
-
}
|
|
5826
|
-
if (this.bDisabled$) {
|
|
5827
|
-
this.fieldControl.disable();
|
|
5828
|
-
}
|
|
5829
|
-
else {
|
|
5830
|
-
this.fieldControl.enable();
|
|
5831
|
-
}
|
|
5832
|
-
if (this.configProps$.readOnly != null) {
|
|
5833
|
-
this.bReadonly$ = this.utils.getBooleanValue(this.configProps$.readOnly);
|
|
5834
|
-
}
|
|
5835
|
-
if (this.configProps$.currencyISOCode != null) {
|
|
5836
|
-
this.currencyISOCode = this.configProps$.currencyISOCode;
|
|
5837
|
-
}
|
|
5838
|
-
this.decimalPrecision = this.configProps$?.allowDecimals ? 2 : 0;
|
|
5839
|
-
this.componentReference = this.pConn$.getStateProps().value;
|
|
5840
|
-
// trigger display of error message with field control
|
|
5841
|
-
if (this.angularPConnectData.validateMessage != null && this.angularPConnectData.validateMessage != '') {
|
|
5842
|
-
const timer = interval(100).subscribe(() => {
|
|
5843
|
-
this.fieldControl.setErrors({ message: true });
|
|
5844
|
-
this.fieldControl.markAsTouched();
|
|
5845
|
-
timer.unsubscribe();
|
|
5846
|
-
});
|
|
5847
|
-
}
|
|
5848
|
-
}
|
|
5849
|
-
fieldOnBlur(event) {
|
|
5850
|
-
const actionsApi = this.pConn$?.getActionsApi();
|
|
5851
|
-
const propName = this.pConn$?.getStateProps().value;
|
|
5852
|
-
let value = event?.target?.value;
|
|
5853
|
-
value = value?.substring(1);
|
|
5854
|
-
if (this.currSep === ',') {
|
|
5855
|
-
value = value.replace(/,/g, '');
|
|
5856
|
-
}
|
|
5857
|
-
else {
|
|
5858
|
-
value = value?.replace(/\./g, '');
|
|
5859
|
-
value = value?.replace(/,/g, '.');
|
|
5860
|
-
}
|
|
5861
|
-
handleEvent(actionsApi, 'changeNblur', propName, value);
|
|
5862
|
-
}
|
|
5863
|
-
getErrorMessage() {
|
|
5864
|
-
let errMessage = '';
|
|
5865
|
-
// look for validation messages for json, pre-defined or just an error pushed from workitem (400)
|
|
5866
|
-
if (this.fieldControl.hasError('message')) {
|
|
5867
|
-
errMessage = this.angularPConnectData.validateMessage ?? '';
|
|
5868
|
-
return errMessage;
|
|
5869
|
-
}
|
|
5870
|
-
if (this.fieldControl.hasError('required')) {
|
|
5871
|
-
errMessage = 'You must enter a value';
|
|
5872
|
-
}
|
|
5873
|
-
else if (this.fieldControl.errors) {
|
|
5874
|
-
errMessage = this.fieldControl.errors.toString();
|
|
5875
|
-
}
|
|
5876
|
-
return errMessage;
|
|
5877
|
-
}
|
|
5878
|
-
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 }); }
|
|
5879
|
-
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$, 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: currSym,\n thousands: currSep,\n decimal: currDec,\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"] }] }); }
|
|
5880
|
-
}
|
|
5881
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CurrencyComponent, decorators: [{
|
|
5882
|
-
type: Component,
|
|
5883
|
-
args: [{ selector: 'app-currency', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, NgxCurrencyDirective, forwardRef(() => ComponentMapperComponent)], 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=\"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: currSym,\n thousands: currSep,\n decimal: currDec,\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"] }]
|
|
5884
|
-
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
5885
|
-
type: Input
|
|
5886
|
-
}], formGroup$: [{
|
|
5887
|
-
type: Input
|
|
5888
|
-
}] } });
|
|
5889
|
-
|
|
5890
|
-
const dateFormatInfoDefault = {
|
|
5891
|
-
dateFormatString: 'MM/DD/YYYY',
|
|
5892
|
-
dateFormatStringLong: 'MMM DD, YYYY',
|
|
5893
|
-
dateFormatStringLC: 'mm/dd/yyyy',
|
|
5894
|
-
dateFormatMask: '__/__/____'
|
|
5895
|
-
};
|
|
5896
|
-
const getDateFormatInfo = () => {
|
|
5897
|
-
const localizedVal = PCore?.getLocaleUtils().getLocaleValue;
|
|
5898
|
-
const localeCategory = 'CosmosFields';
|
|
5899
|
-
const theDateFormatInfo = dateFormatInfoDefault;
|
|
5900
|
-
const theLocale = getLocale$1();
|
|
5901
|
-
// NOTE: this date was chosen since it has a day larger than 12. If you change it,
|
|
5902
|
-
// you'll need to change the indexOf values below!
|
|
5903
|
-
const theTestDate = new Date(Date.parse('30 November 2023 12:00:00 GMT'));
|
|
5904
|
-
const theTestDateLocaleString = new Intl.DateTimeFormat(theLocale).format(theTestDate);
|
|
5905
|
-
// console.log(`theLocale: ${theLocale} theTestDateLocaleString: ${theTestDateLocaleString}`);
|
|
5906
|
-
// Build the format string based on where '11' (mm), '30' (dd), and '2023' (yyyy) are
|
|
5907
|
-
// Example: US locations are 0, 3, 6 but for NL locations are 3, 0, 6
|
|
5908
|
-
const locMM = theTestDateLocaleString.indexOf('11');
|
|
5909
|
-
const locDD = theTestDateLocaleString.indexOf('30');
|
|
5910
|
-
const locYYYY = theTestDateLocaleString.indexOf('2023');
|
|
5911
|
-
// If localized placeholder exists for one of day/month/year then show it otherwise fall back to ddmmyyyy
|
|
5912
|
-
const localizedPlaceholderExists = localizedVal('month_placeholder', localeCategory) !== 'month_placeholder' ||
|
|
5913
|
-
localizedVal('day_placeholder', localeCategory) !== 'day_placeholder' ||
|
|
5914
|
-
localizedVal('year_placeholder', localeCategory) !== 'year_placeholder';
|
|
5915
|
-
const arrPieces = [
|
|
5916
|
-
{
|
|
5917
|
-
loc: locMM,
|
|
5918
|
-
format: 'MM',
|
|
5919
|
-
longFormat: 'MMM',
|
|
5920
|
-
placeholder: localizedPlaceholderExists ? localizedVal('month_placeholder', localeCategory) : 'mm',
|
|
5921
|
-
mask: '__',
|
|
5922
|
-
separator: theTestDateLocaleString[locMM + 2]
|
|
5923
|
-
},
|
|
5924
|
-
{
|
|
5925
|
-
loc: locDD,
|
|
5926
|
-
format: 'DD',
|
|
5927
|
-
longFormat: 'DD',
|
|
5928
|
-
placeholder: localizedPlaceholderExists ? localizedVal('day_placeholder', localeCategory) : 'dd',
|
|
5929
|
-
mask: '__',
|
|
5930
|
-
separator: theTestDateLocaleString[locDD + 2]
|
|
5931
|
-
},
|
|
5932
|
-
{
|
|
5933
|
-
loc: locYYYY,
|
|
5934
|
-
format: 'YYYY',
|
|
5935
|
-
longFormat: 'YYYY',
|
|
5936
|
-
placeholder: localizedPlaceholderExists ? localizedVal('year_placeholder', localeCategory) : 'yyyy',
|
|
5937
|
-
mask: '____',
|
|
5938
|
-
separator: theTestDateLocaleString[locYYYY + 4]
|
|
5939
|
-
}
|
|
5940
|
-
];
|
|
5941
|
-
// Sort the associative array by order of appearance (loc) of each piece
|
|
5942
|
-
arrPieces.sort((a, b) => {
|
|
5943
|
-
if (a.loc < b.loc)
|
|
5944
|
-
return -1;
|
|
5945
|
-
if (a.loc > b.loc)
|
|
5946
|
-
return 1;
|
|
5947
|
-
return 0;
|
|
5948
|
-
});
|
|
5949
|
-
// Construct the structure to return...
|
|
5950
|
-
theDateFormatInfo.dateFormatString = `${arrPieces[0].format}${arrPieces[0].separator}${arrPieces[1].format}${arrPieces[1].separator}${arrPieces[2].format}`;
|
|
5951
|
-
theDateFormatInfo.dateFormatStringLong = `${arrPieces[0].longFormat} ${arrPieces[1].longFormat}, ${arrPieces[2].longFormat}`;
|
|
5952
|
-
theDateFormatInfo.dateFormatStringLC = `${arrPieces[0].placeholder}${arrPieces[0].separator}${arrPieces[1].placeholder}${arrPieces[1].separator}${arrPieces[2].placeholder}`;
|
|
5953
|
-
theDateFormatInfo.dateFormatMask = `${arrPieces[0].mask}${arrPieces[0].separator}${arrPieces[1].mask}${arrPieces[1].separator}${arrPieces[2].mask}`;
|
|
5954
|
-
return theDateFormatInfo;
|
|
5955
|
-
};
|
|
5956
|
-
|
|
5957
5735
|
function Boolean(value, { allowEmpty = true, tick = '', cross = '' } = {}) {
|
|
5958
5736
|
if ((!allowEmpty && !value) || value === false || value?.toString()?.toLowerCase() === 'false' || value === 0 || value === '0') {
|
|
5959
5737
|
return cross || '';
|
|
@@ -5984,10 +5762,8 @@ function getLocale(locale = '') {
|
|
|
5984
5762
|
// fallback
|
|
5985
5763
|
return Intl.DateTimeFormat().resolvedOptions().locale;
|
|
5986
5764
|
}
|
|
5987
|
-
function getCurrentTimezone(
|
|
5988
|
-
|
|
5989
|
-
return timezone;
|
|
5990
|
-
return PCore?.getLocaleUtils?.().getTimeZoneInUse?.();
|
|
5765
|
+
function getCurrentTimezone() {
|
|
5766
|
+
return PCore?.getEnvironmentInfo?.().getTimeZone?.();
|
|
5991
5767
|
}
|
|
5992
5768
|
|
|
5993
5769
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -6090,7 +5866,7 @@ function TimeFormatter(value, options) {
|
|
|
6090
5866
|
tempDate.setHours(hours);
|
|
6091
5867
|
tempDate.setMinutes(minutes);
|
|
6092
5868
|
tempDate.setSeconds(seconds);
|
|
6093
|
-
return tempDate.toLocaleTimeString(locale);
|
|
5869
|
+
return tempDate.toLocaleTimeString(locale, { hour: '2-digit', minute: '2-digit' });
|
|
6094
5870
|
}
|
|
6095
5871
|
return DateFormatter(value, options);
|
|
6096
5872
|
}
|
|
@@ -6103,9 +5879,9 @@ var DateFormatter$1 = {
|
|
|
6103
5879
|
}),
|
|
6104
5880
|
'DateTime-Since': value => DateFormatter(value, { type: 'fromNow' }),
|
|
6105
5881
|
'Time-Only': (value, options) => TimeFormatter(value, {
|
|
6106
|
-
...options,
|
|
6107
5882
|
type: 'customFormat',
|
|
6108
|
-
format: 'hh:mm:ss A'
|
|
5883
|
+
format: 'hh:mm:ss A',
|
|
5884
|
+
...options
|
|
6109
5885
|
}),
|
|
6110
5886
|
convertToTimezone: (value, options) => {
|
|
6111
5887
|
return value && options && options.timezone
|
|
@@ -6126,8 +5902,6 @@ var index = {
|
|
|
6126
5902
|
...DateFormatter$1
|
|
6127
5903
|
};
|
|
6128
5904
|
function getDateObject(text) {
|
|
6129
|
-
if (text instanceof Date)
|
|
6130
|
-
return text;
|
|
6131
5905
|
// TODO - cleanup formatters util functions as DX APIs are returning values per ISO std now.
|
|
6132
5906
|
const timeStamp = text.replace(/-/g, '');
|
|
6133
5907
|
const isDateTime = timeStamp.indexOf('GMT') !== -1;
|
|
@@ -6181,52 +5955,304 @@ function format(value, type, options = {}) {
|
|
|
6181
5955
|
formattedValue = Currency.Currency(value, params);
|
|
6182
5956
|
break;
|
|
6183
5957
|
}
|
|
5958
|
+
case 'percentage': {
|
|
5959
|
+
const defaultOptions = { locale: getLocale(), decPlaces: 2 };
|
|
5960
|
+
const params = { ...defaultOptions, ...options };
|
|
5961
|
+
formattedValue = Currency.Percentage(value, params);
|
|
5962
|
+
break;
|
|
5963
|
+
}
|
|
6184
5964
|
case 'decimal': {
|
|
6185
5965
|
const defaultOptions = { locale: getLocale(), decPlaces: 2 };
|
|
6186
5966
|
const params = { ...defaultOptions, ...options };
|
|
6187
5967
|
formattedValue = Currency.Decimal(value, params);
|
|
6188
5968
|
break;
|
|
6189
5969
|
}
|
|
6190
|
-
case 'integer': {
|
|
6191
|
-
const defaultOptions = { locale: getLocale() };
|
|
6192
|
-
const params = { ...defaultOptions, ...options };
|
|
6193
|
-
formattedValue = Currency.Integer(value, params);
|
|
6194
|
-
break;
|
|
5970
|
+
case 'integer': {
|
|
5971
|
+
const defaultOptions = { locale: getLocale() };
|
|
5972
|
+
const params = { ...defaultOptions, ...options };
|
|
5973
|
+
formattedValue = Currency.Integer(value, params);
|
|
5974
|
+
break;
|
|
5975
|
+
}
|
|
5976
|
+
case 'date': {
|
|
5977
|
+
const defaultOptions = {
|
|
5978
|
+
format: 'MMM DD, YYYY',
|
|
5979
|
+
timezone: getCurrentTimezone()
|
|
5980
|
+
};
|
|
5981
|
+
const params = { ...defaultOptions, ...options };
|
|
5982
|
+
formattedValue = DateFormatter$1.Date(parseDateInISO(value), params);
|
|
5983
|
+
break;
|
|
5984
|
+
}
|
|
5985
|
+
case 'datetime': {
|
|
5986
|
+
const defaultOptions = {
|
|
5987
|
+
format: 'MMM DD, YYYY h:mm A',
|
|
5988
|
+
timezone: getCurrentTimezone()
|
|
5989
|
+
};
|
|
5990
|
+
const params = { ...defaultOptions, ...options };
|
|
5991
|
+
formattedValue = DateFormatter$1.Date(parseDateInISO(value), params);
|
|
5992
|
+
break;
|
|
5993
|
+
}
|
|
5994
|
+
case 'boolean':
|
|
5995
|
+
case 'checkbox': {
|
|
5996
|
+
formattedValue = Boolean$1.TrueFalse(value, { allowEmpty: false, ...options });
|
|
5997
|
+
break;
|
|
5998
|
+
}
|
|
5999
|
+
case 'userreference': {
|
|
6000
|
+
formattedValue = value.userName;
|
|
6001
|
+
break;
|
|
6002
|
+
}
|
|
6003
|
+
case 'timeonly': {
|
|
6004
|
+
const defaultOptions = {
|
|
6005
|
+
locale: getLocale(),
|
|
6006
|
+
format: 'hh:mm A',
|
|
6007
|
+
timezone: getCurrentTimezone()
|
|
6008
|
+
};
|
|
6009
|
+
const params = { ...defaultOptions, ...options };
|
|
6010
|
+
formattedValue = DateFormatter$1['Time-Only'](value, params);
|
|
6011
|
+
break;
|
|
6012
|
+
}
|
|
6013
|
+
default:
|
|
6014
|
+
formattedValue = value;
|
|
6015
|
+
}
|
|
6016
|
+
return formattedValue;
|
|
6017
|
+
}
|
|
6018
|
+
|
|
6019
|
+
class CurrencyComponent {
|
|
6020
|
+
constructor(angularPConnect, cdRef, utils) {
|
|
6021
|
+
this.angularPConnect = angularPConnect;
|
|
6022
|
+
this.cdRef = cdRef;
|
|
6023
|
+
this.utils = utils;
|
|
6024
|
+
// Used with AngularPConnect
|
|
6025
|
+
this.angularPConnectData = {};
|
|
6026
|
+
this.label$ = '';
|
|
6027
|
+
this.bRequired$ = false;
|
|
6028
|
+
this.bReadonly$ = false;
|
|
6029
|
+
this.bDisabled$ = false;
|
|
6030
|
+
this.bVisible$ = true;
|
|
6031
|
+
this.displayMode$ = '';
|
|
6032
|
+
this.bHasForm$ = true;
|
|
6033
|
+
this.componentReference = '';
|
|
6034
|
+
this.currencyISOCode = 'USD';
|
|
6035
|
+
this.currencyOptions = {};
|
|
6036
|
+
this.fieldControl = new FormControl(null, { updateOn: 'blur' });
|
|
6037
|
+
}
|
|
6038
|
+
ngOnInit() {
|
|
6039
|
+
// First thing in initialization is registering and subscribing to the AngularPConnect service
|
|
6040
|
+
this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
|
|
6041
|
+
this.controlName$ = this.angularPConnect.getComponentID(this);
|
|
6042
|
+
// Then, continue on with other initialization
|
|
6043
|
+
// call updateSelf when initializing
|
|
6044
|
+
// this.updateSelf();
|
|
6045
|
+
this.checkAndUpdate();
|
|
6046
|
+
if (this.formGroup$) {
|
|
6047
|
+
// add control to formGroup
|
|
6048
|
+
this.formGroup$.addControl(this.controlName$, this.fieldControl);
|
|
6049
|
+
this.fieldControl.setValue(this.value$);
|
|
6050
|
+
this.bHasForm$ = true;
|
|
6051
|
+
}
|
|
6052
|
+
else {
|
|
6053
|
+
this.bReadonly$ = true;
|
|
6054
|
+
this.bHasForm$ = false;
|
|
6055
|
+
}
|
|
6056
|
+
}
|
|
6057
|
+
ngOnDestroy() {
|
|
6058
|
+
if (this.formGroup$) {
|
|
6059
|
+
this.formGroup$.removeControl(this.controlName$);
|
|
6060
|
+
}
|
|
6061
|
+
if (this.angularPConnectData.unsubscribeFn) {
|
|
6062
|
+
this.angularPConnectData.unsubscribeFn();
|
|
6063
|
+
}
|
|
6064
|
+
}
|
|
6065
|
+
// Callback passed when subscribing to store change
|
|
6066
|
+
onStateChange() {
|
|
6067
|
+
this.checkAndUpdate();
|
|
6068
|
+
}
|
|
6069
|
+
checkAndUpdate() {
|
|
6070
|
+
// Should always check the bridge to see if the component should
|
|
6071
|
+
// update itself (re-render)
|
|
6072
|
+
const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
|
|
6073
|
+
// ONLY call updateSelf when the component should update
|
|
6074
|
+
if (bUpdateSelf) {
|
|
6075
|
+
this.updateSelf();
|
|
6076
|
+
}
|
|
6077
|
+
}
|
|
6078
|
+
// updateSelf
|
|
6079
|
+
updateSelf() {
|
|
6080
|
+
// starting very simple...
|
|
6081
|
+
// moved this from ngOnInit() and call this from there instead...
|
|
6082
|
+
this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
|
|
6083
|
+
this.testId = this.configProps$.testId;
|
|
6084
|
+
this.label$ = this.configProps$.label;
|
|
6085
|
+
this.displayMode$ = this.configProps$.displayMode;
|
|
6086
|
+
this.inputMode = NgxCurrencyInputMode.Natural;
|
|
6087
|
+
let nValue = this.configProps$.value;
|
|
6088
|
+
if (nValue) {
|
|
6089
|
+
if (typeof nValue === 'string') {
|
|
6090
|
+
nValue = parseFloat(nValue);
|
|
6091
|
+
}
|
|
6092
|
+
this.value$ = nValue;
|
|
6093
|
+
}
|
|
6094
|
+
this.helperText = this.configProps$.helperText;
|
|
6095
|
+
this.placeholder = this.configProps$.placeholder || '';
|
|
6096
|
+
const currencyISOCode = this.configProps$?.currencyISOCode ?? '';
|
|
6097
|
+
const theSymbols = getCurrencyCharacters(currencyISOCode);
|
|
6098
|
+
this.currSym = theSymbols.theCurrencySymbol;
|
|
6099
|
+
this.currSep = theSymbols.theDigitGroupSeparator;
|
|
6100
|
+
this.currDec = theSymbols.theDecimalIndicator;
|
|
6101
|
+
this.formatter = this.configProps$.formatter;
|
|
6102
|
+
if (this.displayMode$ === 'DISPLAY_ONLY' || this.displayMode$ === 'STACKED_LARGE_VAL') {
|
|
6103
|
+
const theCurrencyOptions = getCurrencyOptions(currencyISOCode);
|
|
6104
|
+
if (this.formatter) {
|
|
6105
|
+
this.formattedValue = format(this.value$, this.formatter.toLowerCase(), theCurrencyOptions);
|
|
6106
|
+
}
|
|
6107
|
+
else {
|
|
6108
|
+
this.formattedValue = format(this.value$, 'currency', theCurrencyOptions);
|
|
6109
|
+
}
|
|
6110
|
+
}
|
|
6111
|
+
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
6112
|
+
setTimeout(() => {
|
|
6113
|
+
if (this.configProps$.required != null) {
|
|
6114
|
+
this.bRequired$ = this.utils.getBooleanValue(this.configProps$.required);
|
|
6115
|
+
}
|
|
6116
|
+
this.cdRef.detectChanges();
|
|
6117
|
+
});
|
|
6118
|
+
if (this.configProps$.visibility != null) {
|
|
6119
|
+
this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
|
|
6120
|
+
}
|
|
6121
|
+
// disabled
|
|
6122
|
+
if (this.configProps$.disabled != undefined) {
|
|
6123
|
+
this.bDisabled$ = this.utils.getBooleanValue(this.configProps$.disabled);
|
|
6124
|
+
}
|
|
6125
|
+
if (this.bDisabled$) {
|
|
6126
|
+
this.fieldControl.disable();
|
|
6127
|
+
}
|
|
6128
|
+
else {
|
|
6129
|
+
this.fieldControl.enable();
|
|
6130
|
+
}
|
|
6131
|
+
if (this.configProps$.readOnly != null) {
|
|
6132
|
+
this.bReadonly$ = this.utils.getBooleanValue(this.configProps$.readOnly);
|
|
6133
|
+
}
|
|
6134
|
+
if (this.configProps$.currencyISOCode != null) {
|
|
6135
|
+
this.currencyISOCode = this.configProps$.currencyISOCode;
|
|
6136
|
+
}
|
|
6137
|
+
this.decimalPrecision = this.configProps$?.allowDecimals ? 2 : 0;
|
|
6138
|
+
this.componentReference = this.pConn$.getStateProps().value;
|
|
6139
|
+
// trigger display of error message with field control
|
|
6140
|
+
if (this.angularPConnectData.validateMessage != null && this.angularPConnectData.validateMessage != '') {
|
|
6141
|
+
const timer = interval(100).subscribe(() => {
|
|
6142
|
+
this.fieldControl.setErrors({ message: true });
|
|
6143
|
+
this.fieldControl.markAsTouched();
|
|
6144
|
+
timer.unsubscribe();
|
|
6145
|
+
});
|
|
6146
|
+
}
|
|
6147
|
+
}
|
|
6148
|
+
fieldOnBlur(event) {
|
|
6149
|
+
const actionsApi = this.pConn$?.getActionsApi();
|
|
6150
|
+
const propName = this.pConn$?.getStateProps().value;
|
|
6151
|
+
let value = event?.target?.value;
|
|
6152
|
+
value = value?.substring(1);
|
|
6153
|
+
if (this.currSep === ',') {
|
|
6154
|
+
value = value.replace(/,/g, '');
|
|
6195
6155
|
}
|
|
6196
|
-
|
|
6197
|
-
|
|
6198
|
-
|
|
6199
|
-
timezone: getCurrentTimezone()
|
|
6200
|
-
};
|
|
6201
|
-
const params = { ...defaultOptions, ...options };
|
|
6202
|
-
formattedValue = DateFormatter$1.Date(parseDateInISO(value), params);
|
|
6203
|
-
break;
|
|
6156
|
+
else {
|
|
6157
|
+
value = value?.replace(/\./g, '');
|
|
6158
|
+
value = value?.replace(/,/g, '.');
|
|
6204
6159
|
}
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
|
|
6212
|
-
|
|
6160
|
+
handleEvent(actionsApi, 'changeNblur', propName, value);
|
|
6161
|
+
}
|
|
6162
|
+
getErrorMessage() {
|
|
6163
|
+
let errMessage = '';
|
|
6164
|
+
// look for validation messages for json, pre-defined or just an error pushed from workitem (400)
|
|
6165
|
+
if (this.fieldControl.hasError('message')) {
|
|
6166
|
+
errMessage = this.angularPConnectData.validateMessage ?? '';
|
|
6167
|
+
return errMessage;
|
|
6213
6168
|
}
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
formattedValue = Boolean$1.TrueFalse(value, { allowEmpty: false, ...options });
|
|
6217
|
-
break;
|
|
6169
|
+
if (this.fieldControl.hasError('required')) {
|
|
6170
|
+
errMessage = 'You must enter a value';
|
|
6218
6171
|
}
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
break;
|
|
6172
|
+
else if (this.fieldControl.errors) {
|
|
6173
|
+
errMessage = this.fieldControl.errors.toString();
|
|
6222
6174
|
}
|
|
6223
|
-
|
|
6224
|
-
formattedValue = value;
|
|
6175
|
+
return errMessage;
|
|
6225
6176
|
}
|
|
6226
|
-
|
|
6177
|
+
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 }); }
|
|
6178
|
+
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: currSym,\n thousands: currSep,\n decimal: currDec,\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"] }] }); }
|
|
6227
6179
|
}
|
|
6180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CurrencyComponent, decorators: [{
|
|
6181
|
+
type: Component,
|
|
6182
|
+
args: [{ selector: 'app-currency', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, NgxCurrencyDirective, forwardRef(() => ComponentMapperComponent)], 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: currSym,\n thousands: currSep,\n decimal: currDec,\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"] }]
|
|
6183
|
+
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
6184
|
+
type: Input
|
|
6185
|
+
}], formGroup$: [{
|
|
6186
|
+
type: Input
|
|
6187
|
+
}] } });
|
|
6188
|
+
|
|
6189
|
+
const dateFormatInfoDefault = {
|
|
6190
|
+
dateFormatString: 'MM/DD/YYYY',
|
|
6191
|
+
dateFormatStringLong: 'MMM DD, YYYY',
|
|
6192
|
+
dateFormatStringLC: 'mm/dd/yyyy',
|
|
6193
|
+
dateFormatMask: '__/__/____'
|
|
6194
|
+
};
|
|
6195
|
+
const getDateFormatInfo = () => {
|
|
6196
|
+
const localizedVal = PCore?.getLocaleUtils().getLocaleValue;
|
|
6197
|
+
const localeCategory = 'CosmosFields';
|
|
6198
|
+
const theDateFormatInfo = dateFormatInfoDefault;
|
|
6199
|
+
const theLocale = getLocale$1();
|
|
6200
|
+
// NOTE: this date was chosen since it has a day larger than 12. If you change it,
|
|
6201
|
+
// you'll need to change the indexOf values below!
|
|
6202
|
+
const theTestDate = new Date(Date.parse('30 November 2023 12:00:00 GMT'));
|
|
6203
|
+
const theTestDateLocaleString = new Intl.DateTimeFormat(theLocale).format(theTestDate);
|
|
6204
|
+
// console.log(`theLocale: ${theLocale} theTestDateLocaleString: ${theTestDateLocaleString}`);
|
|
6205
|
+
// Build the format string based on where '11' (mm), '30' (dd), and '2023' (yyyy) are
|
|
6206
|
+
// Example: US locations are 0, 3, 6 but for NL locations are 3, 0, 6
|
|
6207
|
+
const locMM = theTestDateLocaleString.indexOf('11');
|
|
6208
|
+
const locDD = theTestDateLocaleString.indexOf('30');
|
|
6209
|
+
const locYYYY = theTestDateLocaleString.indexOf('2023');
|
|
6210
|
+
// If localized placeholder exists for one of day/month/year then show it otherwise fall back to ddmmyyyy
|
|
6211
|
+
const localizedPlaceholderExists = localizedVal('month_placeholder', localeCategory) !== 'month_placeholder' ||
|
|
6212
|
+
localizedVal('day_placeholder', localeCategory) !== 'day_placeholder' ||
|
|
6213
|
+
localizedVal('year_placeholder', localeCategory) !== 'year_placeholder';
|
|
6214
|
+
const arrPieces = [
|
|
6215
|
+
{
|
|
6216
|
+
loc: locMM,
|
|
6217
|
+
format: 'MM',
|
|
6218
|
+
longFormat: 'MMM',
|
|
6219
|
+
placeholder: localizedPlaceholderExists ? localizedVal('month_placeholder', localeCategory) : 'mm',
|
|
6220
|
+
mask: '__',
|
|
6221
|
+
separator: theTestDateLocaleString[locMM + 2]
|
|
6222
|
+
},
|
|
6223
|
+
{
|
|
6224
|
+
loc: locDD,
|
|
6225
|
+
format: 'DD',
|
|
6226
|
+
longFormat: 'DD',
|
|
6227
|
+
placeholder: localizedPlaceholderExists ? localizedVal('day_placeholder', localeCategory) : 'dd',
|
|
6228
|
+
mask: '__',
|
|
6229
|
+
separator: theTestDateLocaleString[locDD + 2]
|
|
6230
|
+
},
|
|
6231
|
+
{
|
|
6232
|
+
loc: locYYYY,
|
|
6233
|
+
format: 'YYYY',
|
|
6234
|
+
longFormat: 'YYYY',
|
|
6235
|
+
placeholder: localizedPlaceholderExists ? localizedVal('year_placeholder', localeCategory) : 'yyyy',
|
|
6236
|
+
mask: '____',
|
|
6237
|
+
separator: theTestDateLocaleString[locYYYY + 4]
|
|
6238
|
+
}
|
|
6239
|
+
];
|
|
6240
|
+
// Sort the associative array by order of appearance (loc) of each piece
|
|
6241
|
+
arrPieces.sort((a, b) => {
|
|
6242
|
+
if (a.loc < b.loc)
|
|
6243
|
+
return -1;
|
|
6244
|
+
if (a.loc > b.loc)
|
|
6245
|
+
return 1;
|
|
6246
|
+
return 0;
|
|
6247
|
+
});
|
|
6248
|
+
// Construct the structure to return...
|
|
6249
|
+
theDateFormatInfo.dateFormatString = `${arrPieces[0].format}${arrPieces[0].separator}${arrPieces[1].format}${arrPieces[1].separator}${arrPieces[2].format}`;
|
|
6250
|
+
theDateFormatInfo.dateFormatStringLong = `${arrPieces[0].longFormat} ${arrPieces[1].longFormat}, ${arrPieces[2].longFormat}`;
|
|
6251
|
+
theDateFormatInfo.dateFormatStringLC = `${arrPieces[0].placeholder}${arrPieces[0].separator}${arrPieces[1].placeholder}${arrPieces[1].separator}${arrPieces[2].placeholder}`;
|
|
6252
|
+
theDateFormatInfo.dateFormatMask = `${arrPieces[0].mask}${arrPieces[0].separator}${arrPieces[1].mask}${arrPieces[1].separator}${arrPieces[2].mask}`;
|
|
6253
|
+
return theDateFormatInfo;
|
|
6254
|
+
};
|
|
6228
6255
|
|
|
6229
|
-
/* eslint-disable max-classes-per-file */
|
|
6230
6256
|
class MyFormat {
|
|
6231
6257
|
constructor() {
|
|
6232
6258
|
this.theDateFormat = getDateFormatInfo();
|
|
@@ -6314,26 +6340,14 @@ class DateComponent {
|
|
|
6314
6340
|
// starting very simple...
|
|
6315
6341
|
// moved this from ngOnInit() and call this from there instead...
|
|
6316
6342
|
this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
|
|
6317
|
-
|
|
6318
|
-
let sDateValue = '';
|
|
6319
|
-
sDateValue = this.configProps$.value;
|
|
6320
|
-
if (sDateValue != '') {
|
|
6321
|
-
if (typeof sDateValue === 'object') {
|
|
6322
|
-
sDateValue = sDateValue.toISOString();
|
|
6323
|
-
}
|
|
6324
|
-
else if (sDateValue.indexOf('/') < 0) {
|
|
6325
|
-
// if we have the "pega" format, then for display, convert to standard format (US)
|
|
6326
|
-
// sDateValue = this.formatDate(sDateValue);
|
|
6327
|
-
sDateValue = this.utils.generateDate(sDateValue, 'Date-Long-Custom-YYYY');
|
|
6328
|
-
}
|
|
6329
|
-
this.value$ = new Date(sDateValue);
|
|
6330
|
-
}
|
|
6331
|
-
}
|
|
6343
|
+
this.value$ = this.configProps$.value;
|
|
6332
6344
|
this.testId = this.configProps$.testId;
|
|
6333
6345
|
this.label$ = this.configProps$.label;
|
|
6334
6346
|
this.displayMode$ = this.configProps$.displayMode;
|
|
6335
6347
|
this.helperText = this.configProps$.helperText;
|
|
6336
6348
|
this.placeholder = this.configProps$.placeholder || '';
|
|
6349
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
6350
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
6337
6351
|
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
6338
6352
|
setTimeout(() => {
|
|
6339
6353
|
if (this.configProps$.required != null) {
|
|
@@ -6341,6 +6355,11 @@ class DateComponent {
|
|
|
6341
6355
|
}
|
|
6342
6356
|
this.cdRef.detectChanges();
|
|
6343
6357
|
});
|
|
6358
|
+
if (this.displayMode$ === 'DISPLAY_ONLY' || this.displayMode$ === 'STACKED_LARGE_VAL') {
|
|
6359
|
+
this.formattedValue$ = format(this.value$, 'date', {
|
|
6360
|
+
format: this.theDateFormat.dateFormatString
|
|
6361
|
+
});
|
|
6362
|
+
}
|
|
6344
6363
|
if (this.configProps$.visibility != null) {
|
|
6345
6364
|
this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
|
|
6346
6365
|
}
|
|
@@ -6369,19 +6388,11 @@ class DateComponent {
|
|
|
6369
6388
|
}
|
|
6370
6389
|
fieldOnDateChange(event) {
|
|
6371
6390
|
// this comes from the date pop up
|
|
6372
|
-
|
|
6373
|
-
|
|
6374
|
-
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
}
|
|
6378
|
-
fieldOnBlur(event) {
|
|
6379
|
-
// PConnect wants to use eventHandler for onBlur
|
|
6380
|
-
if (typeof event.value === 'object') {
|
|
6381
|
-
// convert date to pega "date" format
|
|
6382
|
-
event.value = event.value?.toISOString();
|
|
6383
|
-
}
|
|
6384
|
-
this.angularPConnectData.actions?.onBlur(this, { value: event.value });
|
|
6391
|
+
const value = event?.target?.value.format('YYYY-MM-DD');
|
|
6392
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
6393
|
+
this.pConn$.clearErrorMessages({
|
|
6394
|
+
property: this.propName
|
|
6395
|
+
});
|
|
6385
6396
|
}
|
|
6386
6397
|
hasErrors() {
|
|
6387
6398
|
return this.fieldControl.status === 'INVALID';
|
|
@@ -6401,13 +6412,8 @@ class DateComponent {
|
|
|
6401
6412
|
}
|
|
6402
6413
|
return errMessage;
|
|
6403
6414
|
}
|
|
6404
|
-
getFormattedValue() {
|
|
6405
|
-
return format(this.value$, 'date', {
|
|
6406
|
-
format: this.theDateFormat.dateFormatString
|
|
6407
|
-
});
|
|
6408
|
-
}
|
|
6409
6415
|
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 }); }
|
|
6410
|
-
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
|
|
6416
|
+
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"] }] }); }
|
|
6411
6417
|
}
|
|
6412
6418
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DateComponent, decorators: [{
|
|
6413
6419
|
type: Component,
|
|
@@ -6420,7 +6426,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
6420
6426
|
MatNativeDateModule,
|
|
6421
6427
|
MomentDateModule,
|
|
6422
6428
|
forwardRef(() => ComponentMapperComponent)
|
|
6423
|
-
], providers: [{ provide: MAT_DATE_FORMATS, useClass: MyFormat }], template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper
|
|
6429
|
+
], providers: [{ provide: MAT_DATE_FORMATS, useClass: MyFormat }], 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"] }]
|
|
6424
6430
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }, { type: MyFormat, decorators: [{
|
|
6425
6431
|
type: Inject,
|
|
6426
6432
|
args: [MAT_DATE_FORMATS]
|
|
@@ -6515,6 +6521,11 @@ class DateTimeComponent {
|
|
|
6515
6521
|
}
|
|
6516
6522
|
this.cdRef.detectChanges();
|
|
6517
6523
|
});
|
|
6524
|
+
if (this.displayMode$ === 'DISPLAY_ONLY' || this.displayMode$ === 'STACKED_LARGE_VAL') {
|
|
6525
|
+
this.formattedValue$ = format(this.value$, 'datetime', {
|
|
6526
|
+
format: `${this.theDateFormat.dateFormatString} hh:mm a`
|
|
6527
|
+
});
|
|
6528
|
+
}
|
|
6518
6529
|
if (this.configProps$.visibility != null) {
|
|
6519
6530
|
this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
|
|
6520
6531
|
}
|
|
@@ -6532,6 +6543,8 @@ class DateTimeComponent {
|
|
|
6532
6543
|
this.bReadonly$ = this.utils.getBooleanValue(this.configProps$.readOnly);
|
|
6533
6544
|
}
|
|
6534
6545
|
this.componentReference = this.pConn$.getStateProps().value;
|
|
6546
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
6547
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
6535
6548
|
// trigger display of error message with field control
|
|
6536
6549
|
if (this.angularPConnectData.validateMessage != null && this.angularPConnectData.validateMessage != '') {
|
|
6537
6550
|
const timer = interval(100).subscribe(() => {
|
|
@@ -6547,14 +6560,7 @@ class DateTimeComponent {
|
|
|
6547
6560
|
// convert date to pega "date" format
|
|
6548
6561
|
event.value = event.value?.toISOString();
|
|
6549
6562
|
}
|
|
6550
|
-
this.
|
|
6551
|
-
}
|
|
6552
|
-
fieldOnBlur(event) {
|
|
6553
|
-
if (typeof event.value === 'object') {
|
|
6554
|
-
// convert date to pega "date" format
|
|
6555
|
-
event.value = event.value?.toISOString();
|
|
6556
|
-
}
|
|
6557
|
-
this.angularPConnectData.actions?.onBlur(this, event);
|
|
6563
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, event.value);
|
|
6558
6564
|
}
|
|
6559
6565
|
getErrorMessage() {
|
|
6560
6566
|
let errMessage = '';
|
|
@@ -6572,7 +6578,7 @@ class DateTimeComponent {
|
|
|
6572
6578
|
return errMessage;
|
|
6573
6579
|
}
|
|
6574
6580
|
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 }); }
|
|
6575
|
-
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$, 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 (
|
|
6581
|
+
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"] }] }); }
|
|
6576
6582
|
}
|
|
6577
6583
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DateTimeComponent, decorators: [{
|
|
6578
6584
|
type: Component,
|
|
@@ -6585,7 +6591,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
6585
6591
|
OwlDateTimeModule,
|
|
6586
6592
|
OwlNativeDateTimeModule,
|
|
6587
6593
|
forwardRef(() => ComponentMapperComponent)
|
|
6588
|
-
], 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 [owlDateTime]=\"dtPicker\"\n [attr.data-test-id]=\"testId\"\n [placeholder]=\"placeholder\"\n [formControl]=\"fieldControl\"\n (
|
|
6594
|
+
], 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"] }]
|
|
6589
6595
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
6590
6596
|
type: Input
|
|
6591
6597
|
}], formGroup$: [{
|
|
@@ -6674,11 +6680,11 @@ class DecimalComponent {
|
|
|
6674
6680
|
this.currSep = showGroupSeparators ? theSymbols.theDigitGroupSeparator : '';
|
|
6675
6681
|
const theCurrencyOptions = getCurrencyOptions(currencyISOCode);
|
|
6676
6682
|
this.formatter = this.configProps$.formatter;
|
|
6677
|
-
if (this.formatter
|
|
6683
|
+
if (this.formatter) {
|
|
6678
6684
|
this.formattedValue = format(this.value$, this.formatter.toLowerCase(), theCurrencyOptions);
|
|
6679
6685
|
}
|
|
6680
6686
|
else {
|
|
6681
|
-
this.formattedValue = format(this.value$,
|
|
6687
|
+
this.formattedValue = format(this.value$, 'decimal', theCurrencyOptions);
|
|
6682
6688
|
}
|
|
6683
6689
|
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
6684
6690
|
setTimeout(() => {
|
|
@@ -6866,9 +6872,10 @@ class DropdownComponent {
|
|
|
6866
6872
|
if (this.value$ === '' && !this.bReadonly$) {
|
|
6867
6873
|
this.value$ = 'Select';
|
|
6868
6874
|
}
|
|
6869
|
-
|
|
6875
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
6876
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
6870
6877
|
const className = this.pConn$.getCaseInfo().getClassName();
|
|
6871
|
-
const refName = propName?.slice(propName.lastIndexOf('.') + 1);
|
|
6878
|
+
const refName = this.propName?.slice(this.propName.lastIndexOf('.') + 1);
|
|
6872
6879
|
this.fieldMetadata = this.configProps$.fieldMetadata;
|
|
6873
6880
|
const metaData = Array.isArray(this.fieldMetadata) ? this.fieldMetadata.filter(field => field?.classID === className)[0] : this.fieldMetadata;
|
|
6874
6881
|
let displayName = metaData?.datasource?.propertyForDisplayText;
|
|
@@ -6894,16 +6901,13 @@ class DropdownComponent {
|
|
|
6894
6901
|
if (event?.value === 'Select') {
|
|
6895
6902
|
event.value = '';
|
|
6896
6903
|
}
|
|
6897
|
-
|
|
6898
|
-
const propName = this.pConn$?.getStateProps().value;
|
|
6899
|
-
handleEvent(actionsApi, 'changeNblur', propName, event.value);
|
|
6904
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, event.value);
|
|
6900
6905
|
if (this.configProps$?.onRecordChange) {
|
|
6901
6906
|
this.configProps$.onRecordChange(event);
|
|
6902
6907
|
}
|
|
6903
|
-
|
|
6904
|
-
|
|
6905
|
-
|
|
6906
|
-
this.angularPConnectData.actions?.onBlur(this, event);
|
|
6908
|
+
this.pConn$.clearErrorMessages({
|
|
6909
|
+
property: this.propName
|
|
6910
|
+
});
|
|
6907
6911
|
}
|
|
6908
6912
|
getLocalizedOptionValue(opt) {
|
|
6909
6913
|
return this.pConn$.getLocalizedValue(opt.value, this.localePath, this.pConn$.getLocaleRuleNameFromKeys(this.localeClass, this.localeContext, this.localeName));
|
|
@@ -7027,6 +7031,8 @@ class EmailComponent {
|
|
|
7027
7031
|
if (this.configProps$.readOnly != null) {
|
|
7028
7032
|
this.bReadonly$ = this.utils.getBooleanValue(this.configProps$.readOnly);
|
|
7029
7033
|
}
|
|
7034
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
7035
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
7030
7036
|
this.componentReference = this.pConn$.getStateProps().value;
|
|
7031
7037
|
// trigger display of error message with field control
|
|
7032
7038
|
if (this.angularPConnectData.validateMessage != null && this.angularPConnectData.validateMessage != '') {
|
|
@@ -7038,11 +7044,15 @@ class EmailComponent {
|
|
|
7038
7044
|
}
|
|
7039
7045
|
}
|
|
7040
7046
|
fieldOnChange(event) {
|
|
7041
|
-
|
|
7047
|
+
const value = event?.target?.value;
|
|
7048
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
7049
|
+
this.pConn$.clearErrorMessages({
|
|
7050
|
+
property: this.propName
|
|
7051
|
+
});
|
|
7042
7052
|
}
|
|
7043
7053
|
fieldOnBlur(event) {
|
|
7044
|
-
|
|
7045
|
-
this.
|
|
7054
|
+
const value = event?.target?.value;
|
|
7055
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
7046
7056
|
}
|
|
7047
7057
|
getErrorMessage() {
|
|
7048
7058
|
let errMessage = '';
|
|
@@ -7201,6 +7211,8 @@ class IntegerComponent {
|
|
|
7201
7211
|
}
|
|
7202
7212
|
this.helperText = this.configProps$.helperText;
|
|
7203
7213
|
this.placeholder = this.configProps$.placeholder || '';
|
|
7214
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
7215
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
7204
7216
|
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
7205
7217
|
setTimeout(() => {
|
|
7206
7218
|
if (this.configProps$.required != null) {
|
|
@@ -7234,12 +7246,14 @@ class IntegerComponent {
|
|
|
7234
7246
|
});
|
|
7235
7247
|
}
|
|
7236
7248
|
}
|
|
7237
|
-
fieldOnChange(
|
|
7238
|
-
this.
|
|
7249
|
+
fieldOnChange() {
|
|
7250
|
+
this.pConn$.clearErrorMessages({
|
|
7251
|
+
property: this.propName
|
|
7252
|
+
});
|
|
7239
7253
|
}
|
|
7240
7254
|
fieldOnBlur(event) {
|
|
7241
|
-
|
|
7242
|
-
this.
|
|
7255
|
+
const value = event?.target?.value;
|
|
7256
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
7243
7257
|
}
|
|
7244
7258
|
getErrorMessage() {
|
|
7245
7259
|
// field control gets error message from here
|
|
@@ -7258,11 +7272,11 @@ class IntegerComponent {
|
|
|
7258
7272
|
return errMessage;
|
|
7259
7273
|
}
|
|
7260
7274
|
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 }); }
|
|
7261
|
-
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(
|
|
7275
|
+
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"] }] }); }
|
|
7262
7276
|
}
|
|
7263
7277
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IntegerComponent, decorators: [{
|
|
7264
7278
|
type: Component,
|
|
7265
|
-
args: [{ selector: 'app-integer', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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(
|
|
7279
|
+
args: [{ selector: 'app-integer', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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"] }]
|
|
7266
7280
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
7267
7281
|
type: Input
|
|
7268
7282
|
}], formGroup$: [{
|
|
@@ -7371,11 +7385,8 @@ class PercentageComponent {
|
|
|
7371
7385
|
this.label$ = this.configProps$.label;
|
|
7372
7386
|
this.displayMode$ = this.configProps$.displayMode;
|
|
7373
7387
|
this.inputMode = NgxCurrencyInputMode.Natural;
|
|
7374
|
-
|
|
7388
|
+
const nValue = this.configProps$.value;
|
|
7375
7389
|
if (nValue) {
|
|
7376
|
-
if (typeof nValue === 'string') {
|
|
7377
|
-
nValue = parseInt(nValue, 10);
|
|
7378
|
-
}
|
|
7379
7390
|
this.value$ = nValue;
|
|
7380
7391
|
}
|
|
7381
7392
|
this.helperText = this.configProps$.helperText;
|
|
@@ -7384,6 +7395,11 @@ class PercentageComponent {
|
|
|
7384
7395
|
const theSymbols = getCurrencyCharacters('');
|
|
7385
7396
|
this.currDec = theSymbols.theDecimalIndicator || '2';
|
|
7386
7397
|
this.currSep = showGroupSeparators ? theSymbols.theDigitGroupSeparator : '';
|
|
7398
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
7399
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
7400
|
+
if (this.displayMode$ === 'DISPLAY_ONLY' || this.displayMode$ === 'STACKED_LARGE_VAL') {
|
|
7401
|
+
this.formattedValue = format(nValue, 'percentage');
|
|
7402
|
+
}
|
|
7387
7403
|
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
7388
7404
|
setTimeout(() => {
|
|
7389
7405
|
if (this.configProps$.required != null) {
|
|
@@ -7418,22 +7434,22 @@ class PercentageComponent {
|
|
|
7418
7434
|
});
|
|
7419
7435
|
}
|
|
7420
7436
|
}
|
|
7421
|
-
fieldOnChange(
|
|
7422
|
-
this.
|
|
7437
|
+
fieldOnChange() {
|
|
7438
|
+
this.pConn$.clearErrorMessages({
|
|
7439
|
+
property: this.propName
|
|
7440
|
+
});
|
|
7423
7441
|
}
|
|
7424
7442
|
fieldOnBlur(event) {
|
|
7425
|
-
const actionsApi = this.pConn$?.getActionsApi();
|
|
7426
|
-
const propName = this.pConn$?.getStateProps()?.value;
|
|
7427
7443
|
let value = event?.target?.value;
|
|
7428
7444
|
value = value ? value.replace(/%/g, '') : '';
|
|
7429
|
-
if (this.currSep === '
|
|
7430
|
-
value = value.replace(/,/g, '');
|
|
7431
|
-
}
|
|
7432
|
-
else {
|
|
7445
|
+
if (this.currSep === '.') {
|
|
7433
7446
|
value = value?.replace(/\./g, '');
|
|
7434
7447
|
value = value?.replace(/,/g, '.');
|
|
7435
7448
|
}
|
|
7436
|
-
|
|
7449
|
+
else {
|
|
7450
|
+
value = value.replace(/,/g, '');
|
|
7451
|
+
}
|
|
7452
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
7437
7453
|
}
|
|
7438
7454
|
getErrorMessage() {
|
|
7439
7455
|
// field control gets error message from here
|
|
@@ -7452,11 +7468,11 @@ class PercentageComponent {
|
|
|
7452
7468
|
return errMessage;
|
|
7453
7469
|
}
|
|
7454
7470
|
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 }); }
|
|
7455
|
-
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
|
|
7471
|
+
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: currSep,\n decimal: currDec,\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 [value]=\"value$\"\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"] }] }); }
|
|
7456
7472
|
}
|
|
7457
7473
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PercentageComponent, decorators: [{
|
|
7458
7474
|
type: Component,
|
|
7459
|
-
args: [{ selector: 'app-percentage', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, NgxCurrencyDirective, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value
|
|
7475
|
+
args: [{ selector: 'app-percentage', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, NgxCurrencyDirective, forwardRef(() => ComponentMapperComponent)], 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: currSep,\n decimal: currDec,\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 [value]=\"value$\"\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"] }]
|
|
7460
7476
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
7461
7477
|
type: Input
|
|
7462
7478
|
}], formGroup$: [{
|
|
@@ -7535,6 +7551,8 @@ class PhoneComponent {
|
|
|
7535
7551
|
this.value$ = this.configProps$.value;
|
|
7536
7552
|
}
|
|
7537
7553
|
this.helperText = this.configProps$.helperText;
|
|
7554
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
7555
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
7538
7556
|
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
7539
7557
|
setTimeout(() => {
|
|
7540
7558
|
if (this.configProps$.required != null) {
|
|
@@ -7570,25 +7588,16 @@ class PhoneComponent {
|
|
|
7570
7588
|
});
|
|
7571
7589
|
}
|
|
7572
7590
|
}
|
|
7591
|
+
fieldOnBlur() {
|
|
7592
|
+
// 'blur' isn't getting fired
|
|
7593
|
+
}
|
|
7573
7594
|
fieldOnChange() {
|
|
7574
7595
|
if (this.formGroup$.controls[this.controlName$].value) {
|
|
7575
|
-
const actionsApi = this.pConn$?.getActionsApi();
|
|
7576
|
-
const propName = this.pConn$?.getStateProps().value;
|
|
7577
7596
|
const value = this.formGroup$.controls[this.controlName$].value;
|
|
7578
|
-
const eventObj = {
|
|
7579
|
-
target: {
|
|
7580
|
-
value
|
|
7581
|
-
}
|
|
7582
|
-
};
|
|
7583
7597
|
this.afterBlur = true;
|
|
7584
|
-
this.
|
|
7585
|
-
handleEvent(actionsApi, 'blur', propName, value);
|
|
7598
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
7586
7599
|
}
|
|
7587
7600
|
}
|
|
7588
|
-
fieldOnBlur(event) {
|
|
7589
|
-
// PConnect wants to use eventHandler for onBlur
|
|
7590
|
-
this.angularPConnectData.actions?.onBlur(this, event);
|
|
7591
|
-
}
|
|
7592
7601
|
getErrorMessage() {
|
|
7593
7602
|
let errMessage = '';
|
|
7594
7603
|
// look for validation messages for json, pre-defined or just an error pushed from workitem (400)
|
|
@@ -7605,11 +7614,11 @@ class PhoneComponent {
|
|
|
7605
7614
|
return errMessage;
|
|
7606
7615
|
}
|
|
7607
7616
|
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 }); }
|
|
7608
|
-
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(
|
|
7617
|
+
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"] }] }); }
|
|
7609
7618
|
}
|
|
7610
7619
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PhoneComponent, decorators: [{
|
|
7611
7620
|
type: Component,
|
|
7612
|
-
args: [{ selector: 'app-phone', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, NgxMatIntlTelInputComponent, forwardRef(() => ComponentMapperComponent)], 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(
|
|
7621
|
+
args: [{ selector: 'app-phone', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, NgxMatIntlTelInputComponent, forwardRef(() => ComponentMapperComponent)], 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"] }]
|
|
7613
7622
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
7614
7623
|
type: Input
|
|
7615
7624
|
}], formGroup$: [{
|
|
@@ -7722,9 +7731,10 @@ class RadioButtonsComponent {
|
|
|
7722
7731
|
}
|
|
7723
7732
|
this.componentReference = this.pConn$.getStateProps().value;
|
|
7724
7733
|
this.options$ = this.utils.getOptionList(this.configProps$, this.pConn$.getDataObject());
|
|
7725
|
-
|
|
7734
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
7735
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
7726
7736
|
const className = this.pConn$.getCaseInfo().getClassName();
|
|
7727
|
-
const refName = propName?.slice(propName.lastIndexOf('.') + 1);
|
|
7737
|
+
const refName = this.propName?.slice(this.propName.lastIndexOf('.') + 1);
|
|
7728
7738
|
this.fieldMetadata = this.configProps$.fieldMetadata;
|
|
7729
7739
|
const metaData = Array.isArray(this.fieldMetadata) ? this.fieldMetadata.filter(field => field?.classID === className)[0] : this.fieldMetadata;
|
|
7730
7740
|
let displayName = metaData?.datasource?.propertyForDisplayText;
|
|
@@ -7747,11 +7757,7 @@ class RadioButtonsComponent {
|
|
|
7747
7757
|
return this.value$ === buttonValue;
|
|
7748
7758
|
}
|
|
7749
7759
|
fieldOnChange(event) {
|
|
7750
|
-
this.
|
|
7751
|
-
}
|
|
7752
|
-
fieldOnBlur(event) {
|
|
7753
|
-
// PConnect wants to use eventHandler for onBlur
|
|
7754
|
-
this.angularPConnectData.actions?.onBlur(this, event);
|
|
7760
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, event.value);
|
|
7755
7761
|
}
|
|
7756
7762
|
getLocalizedOptionValue(opt) {
|
|
7757
7763
|
return this.pConn$.getLocalizedValue(opt.value, this.localePath, this.pConn$.getLocaleRuleNameFromKeys(this.localeClass, this.localeContext, this.localeName));
|
|
@@ -7903,6 +7909,8 @@ class TextAreaComponent {
|
|
|
7903
7909
|
this.displayMode$ = this.configProps$.displayMode;
|
|
7904
7910
|
this.label$ = this.configProps$.label;
|
|
7905
7911
|
this.helperText = this.configProps$.helperText;
|
|
7912
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
7913
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
7906
7914
|
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
7907
7915
|
setTimeout(() => {
|
|
7908
7916
|
if (this.configProps$.required != null) {
|
|
@@ -7936,13 +7944,14 @@ class TextAreaComponent {
|
|
|
7936
7944
|
});
|
|
7937
7945
|
}
|
|
7938
7946
|
}
|
|
7939
|
-
fieldOnChange(
|
|
7940
|
-
|
|
7941
|
-
|
|
7947
|
+
fieldOnChange() {
|
|
7948
|
+
this.pConn$.clearErrorMessages({
|
|
7949
|
+
property: this.propName
|
|
7950
|
+
});
|
|
7942
7951
|
}
|
|
7943
7952
|
fieldOnBlur(event) {
|
|
7944
|
-
|
|
7945
|
-
this.
|
|
7953
|
+
const value = event?.target?.value;
|
|
7954
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
7946
7955
|
}
|
|
7947
7956
|
getErrorMessage() {
|
|
7948
7957
|
// field control gets error message from here
|
|
@@ -7961,11 +7970,11 @@ class TextAreaComponent {
|
|
|
7961
7970
|
return errMessage;
|
|
7962
7971
|
}
|
|
7963
7972
|
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 }); }
|
|
7964
|
-
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($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"] }] }); }
|
|
7973
|
+
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"] }] }); }
|
|
7965
7974
|
}
|
|
7966
7975
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TextAreaComponent, decorators: [{
|
|
7967
7976
|
type: Component,
|
|
7968
|
-
args: [{ selector: 'app-text-area', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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($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"] }]
|
|
7977
|
+
args: [{ selector: 'app-text-area', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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"] }]
|
|
7969
7978
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
7970
7979
|
type: Input
|
|
7971
7980
|
}], formGroup$: [{
|
|
@@ -8092,13 +8101,15 @@ class TextComponent {
|
|
|
8092
8101
|
return this.utils.generateDateTime(value, 'DateTime-Long-YYYY-Custom');
|
|
8093
8102
|
}
|
|
8094
8103
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TextComponent, deps: [{ token: AngularPConnectService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8095
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TextComponent, isStandalone: true, selector: "app-text", inputs: { pConn$: "pConn$", formatAs$: "formatAs$" }, 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=\"bVisible$ !== false\" class=\"psdk-label-infix-readonly\">\n <span class=\"psdk-label-wrapper-readonly\">\n <label class=\"psdk-label-readonly\">{{ label$ }}</label>\n </span>\n <div class=\"psdk-data-readonly\">\n <label *ngIf=\"formatAs$ != 'url'\">{{ formattedValue$ }}</label>\n <a *ngIf=\"formatAs$ == 'url'\" href=\"{{ formattedUrl$ }}\">{{ formattedValue$ }}</a>\n </div>\n </div>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.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-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-details-fields-label{color:var(--app-label-color);margin:8px 0}\n"], 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"] }] }); }
|
|
8104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TextComponent, isStandalone: true, selector: "app-text", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", formatAs$: "formatAs$" }, 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=\"bVisible$ !== false\" class=\"psdk-label-infix-readonly\">\n <span class=\"psdk-label-wrapper-readonly\">\n <label class=\"psdk-label-readonly\">{{ label$ }}</label>\n </span>\n <div class=\"psdk-data-readonly\">\n <label *ngIf=\"formatAs$ != 'url'\">{{ formattedValue$ }}</label>\n <a *ngIf=\"formatAs$ == 'url'\" href=\"{{ formattedUrl$ }}\">{{ formattedValue$ }}</a>\n </div>\n </div>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.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-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-details-fields-label{color:var(--app-label-color);margin:8px 0}\n"], 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"] }] }); }
|
|
8096
8105
|
}
|
|
8097
8106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TextComponent, decorators: [{
|
|
8098
8107
|
type: Component,
|
|
8099
8108
|
args: [{ selector: 'app-text', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], 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=\"bVisible$ !== false\" class=\"psdk-label-infix-readonly\">\n <span class=\"psdk-label-wrapper-readonly\">\n <label class=\"psdk-label-readonly\">{{ label$ }}</label>\n </span>\n <div class=\"psdk-data-readonly\">\n <label *ngIf=\"formatAs$ != 'url'\">{{ formattedValue$ }}</label>\n <a *ngIf=\"formatAs$ == 'url'\" href=\"{{ formattedUrl$ }}\">{{ formattedValue$ }}</a>\n </div>\n </div>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.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-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-details-fields-label{color:var(--app-label-color);margin:8px 0}\n"] }]
|
|
8100
8109
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: Utils }], propDecorators: { pConn$: [{
|
|
8101
8110
|
type: Input
|
|
8111
|
+
}], formGroup$: [{
|
|
8112
|
+
type: Input
|
|
8102
8113
|
}], formatAs$: [{
|
|
8103
8114
|
type: Input
|
|
8104
8115
|
}] } });
|
|
@@ -8236,6 +8247,8 @@ class TextInputComponent {
|
|
|
8236
8247
|
this.label$ = this.configProps$.label;
|
|
8237
8248
|
this.displayMode$ = this.configProps$.displayMode;
|
|
8238
8249
|
this.componentReference = this.pConn$.getStateProps().value;
|
|
8250
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
8251
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
8239
8252
|
if (this.configProps$.visibility != null) {
|
|
8240
8253
|
this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
|
|
8241
8254
|
}
|
|
@@ -8270,12 +8283,14 @@ class TextInputComponent {
|
|
|
8270
8283
|
});
|
|
8271
8284
|
}
|
|
8272
8285
|
}
|
|
8273
|
-
fieldOnChange(
|
|
8274
|
-
this.
|
|
8286
|
+
fieldOnChange() {
|
|
8287
|
+
this.pConn$.clearErrorMessages({
|
|
8288
|
+
property: this.propName
|
|
8289
|
+
});
|
|
8275
8290
|
}
|
|
8276
8291
|
fieldOnBlur(event) {
|
|
8277
|
-
|
|
8278
|
-
this.
|
|
8292
|
+
const value = event?.target?.value;
|
|
8293
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
8279
8294
|
}
|
|
8280
8295
|
getErrorMessage() {
|
|
8281
8296
|
let errMessage = '';
|
|
@@ -8293,11 +8308,11 @@ class TextInputComponent {
|
|
|
8293
8308
|
return errMessage;
|
|
8294
8309
|
}
|
|
8295
8310
|
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 }); }
|
|
8296
|
-
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(
|
|
8311
|
+
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"] }] }); }
|
|
8297
8312
|
}
|
|
8298
8313
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
8299
8314
|
type: Component,
|
|
8300
|
-
args: [{ selector: 'app-text-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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(
|
|
8315
|
+
args: [{ selector: 'app-text-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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"] }]
|
|
8301
8316
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
8302
8317
|
type: Input
|
|
8303
8318
|
}], formGroup$: [{
|
|
@@ -8374,6 +8389,8 @@ class TimeComponent {
|
|
|
8374
8389
|
}
|
|
8375
8390
|
this.helperText = this.configProps$.helperText;
|
|
8376
8391
|
this.placeholder = this.configProps$.placeholder || '';
|
|
8392
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
8393
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
8377
8394
|
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
8378
8395
|
setTimeout(() => {
|
|
8379
8396
|
if (this.configProps$.required != null) {
|
|
@@ -8381,6 +8398,11 @@ class TimeComponent {
|
|
|
8381
8398
|
}
|
|
8382
8399
|
this.cdRef.detectChanges();
|
|
8383
8400
|
});
|
|
8401
|
+
if (this.displayMode$ === 'DISPLAY_ONLY' || this.displayMode$ === 'STACKED_LARGE_VAL') {
|
|
8402
|
+
this.formattedValue$ = format(this.value$, 'timeonly', {
|
|
8403
|
+
format: 'hh:mm a'
|
|
8404
|
+
});
|
|
8405
|
+
}
|
|
8384
8406
|
if (this.configProps$.visibility != null) {
|
|
8385
8407
|
this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
|
|
8386
8408
|
}
|
|
@@ -8407,14 +8429,14 @@ class TimeComponent {
|
|
|
8407
8429
|
});
|
|
8408
8430
|
}
|
|
8409
8431
|
}
|
|
8410
|
-
fieldOnChange(
|
|
8411
|
-
|
|
8412
|
-
|
|
8432
|
+
fieldOnChange() {
|
|
8433
|
+
this.pConn$.clearErrorMessages({
|
|
8434
|
+
property: this.propName
|
|
8435
|
+
});
|
|
8413
8436
|
}
|
|
8414
8437
|
fieldOnBlur(event) {
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
this.angularPConnectData.actions?.onBlur(this, event);
|
|
8438
|
+
const value = event?.target?.value;
|
|
8439
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
8418
8440
|
}
|
|
8419
8441
|
getErrorMessage() {
|
|
8420
8442
|
let errMessage = '';
|
|
@@ -8432,11 +8454,11 @@ class TimeComponent {
|
|
|
8432
8454
|
return errMessage;
|
|
8433
8455
|
}
|
|
8434
8456
|
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 }); }
|
|
8435
|
-
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$, 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(
|
|
8457
|
+
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"] }] }); }
|
|
8436
8458
|
}
|
|
8437
8459
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimeComponent, decorators: [{
|
|
8438
8460
|
type: Component,
|
|
8439
|
-
args: [{ selector: 'app-time', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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=\"time\"\n [value]=\"value$\"\n [required]=\"bRequired$\"\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n (change)=\"fieldOnChange(
|
|
8461
|
+
args: [{ selector: 'app-time', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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"] }]
|
|
8440
8462
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
8441
8463
|
type: Input
|
|
8442
8464
|
}], formGroup$: [{
|
|
@@ -8514,6 +8536,8 @@ class UrlComponent {
|
|
|
8514
8536
|
this.displayMode$ = this.configProps$.displayMode;
|
|
8515
8537
|
this.helperText = this.configProps$.helperText;
|
|
8516
8538
|
this.placeholder = this.configProps$.placeholder || '';
|
|
8539
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
8540
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
8517
8541
|
// timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
8518
8542
|
setTimeout(() => {
|
|
8519
8543
|
if (this.configProps$.required != null) {
|
|
@@ -8547,12 +8571,14 @@ class UrlComponent {
|
|
|
8547
8571
|
});
|
|
8548
8572
|
}
|
|
8549
8573
|
}
|
|
8550
|
-
fieldOnChange(
|
|
8551
|
-
this.
|
|
8574
|
+
fieldOnChange() {
|
|
8575
|
+
this.pConn$.clearErrorMessages({
|
|
8576
|
+
property: this.propName
|
|
8577
|
+
});
|
|
8552
8578
|
}
|
|
8553
8579
|
fieldOnBlur(event) {
|
|
8554
|
-
|
|
8555
|
-
this.
|
|
8580
|
+
const value = event?.target?.value;
|
|
8581
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
8556
8582
|
}
|
|
8557
8583
|
getErrorMessage() {
|
|
8558
8584
|
let errMessage = '';
|
|
@@ -8570,11 +8596,11 @@ class UrlComponent {
|
|
|
8570
8596
|
return errMessage;
|
|
8571
8597
|
}
|
|
8572
8598
|
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 }); }
|
|
8573
|
-
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(
|
|
8599
|
+
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"] }] }); }
|
|
8574
8600
|
}
|
|
8575
8601
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: UrlComponent, decorators: [{
|
|
8576
8602
|
type: Component,
|
|
8577
|
-
args: [{ selector: 'app-url', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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(
|
|
8603
|
+
args: [{ selector: 'app-url', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)], 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"] }]
|
|
8578
8604
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: Utils }], propDecorators: { pConn$: [{
|
|
8579
8605
|
type: Input
|
|
8580
8606
|
}], formGroup$: [{
|
|
@@ -8653,6 +8679,8 @@ class UserReferenceComponent {
|
|
|
8653
8679
|
this.displayMode$ = displayMode;
|
|
8654
8680
|
const { readOnly, required } = props;
|
|
8655
8681
|
[this.bReadonly$, this.bRequired$] = [readOnly, required].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));
|
|
8682
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
8683
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
8656
8684
|
const isUserNameAvailable = user => {
|
|
8657
8685
|
return typeof user === 'object' && user !== null && user.userName;
|
|
8658
8686
|
};
|
|
@@ -8698,7 +8726,8 @@ class UserReferenceComponent {
|
|
|
8698
8726
|
if (event?.target) {
|
|
8699
8727
|
this.filterValue = event.target.value;
|
|
8700
8728
|
}
|
|
8701
|
-
|
|
8729
|
+
const value = event?.target?.value;
|
|
8730
|
+
handleEvent(this.actionsApi, 'change', this.propName, value);
|
|
8702
8731
|
}
|
|
8703
8732
|
fieldOnBlur(event) {
|
|
8704
8733
|
let key = '';
|
|
@@ -8706,11 +8735,10 @@ class UserReferenceComponent {
|
|
|
8706
8735
|
const index = this.options$?.findIndex(element => element.value === event.target.value);
|
|
8707
8736
|
key = index > -1 ? (key = this.options$[index].key) : event.target.value;
|
|
8708
8737
|
}
|
|
8709
|
-
const
|
|
8738
|
+
const value = {
|
|
8710
8739
|
value: key
|
|
8711
8740
|
};
|
|
8712
|
-
|
|
8713
|
-
this.angularPConnectData.actions?.onChange(this, eve);
|
|
8741
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
8714
8742
|
}
|
|
8715
8743
|
getErrorMessage() {
|
|
8716
8744
|
let errMessage = '';
|
|
@@ -8889,6 +8917,8 @@ class RichTextComponent {
|
|
|
8889
8917
|
this.placeholder = this.configProps$.placeholder;
|
|
8890
8918
|
this.info = stateProps?.validatemessage || this.configProps$.helperText;
|
|
8891
8919
|
this.error = stateProps?.status === 'error';
|
|
8920
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
8921
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
8892
8922
|
if (this.configProps$.required != null) {
|
|
8893
8923
|
this.bRequired$ = this.utils.getBooleanValue(this.configProps$.required);
|
|
8894
8924
|
}
|
|
@@ -8904,7 +8934,7 @@ class RichTextComponent {
|
|
|
8904
8934
|
}
|
|
8905
8935
|
fieldOnChange() {
|
|
8906
8936
|
if (this.status === 'error') {
|
|
8907
|
-
const property = this.
|
|
8937
|
+
const property = this.propName;
|
|
8908
8938
|
this.pConn$.clearErrorMessages({
|
|
8909
8939
|
property,
|
|
8910
8940
|
category: '',
|
|
@@ -8913,10 +8943,7 @@ class RichTextComponent {
|
|
|
8913
8943
|
}
|
|
8914
8944
|
}
|
|
8915
8945
|
fieldOnBlur(editorValue) {
|
|
8916
|
-
|
|
8917
|
-
const actionsApi = this.pConn$?.getActionsApi();
|
|
8918
|
-
const propName = this.pConn$?.getStateProps()?.value;
|
|
8919
|
-
handleEvent(actionsApi, 'changeNblur', propName, editorValue);
|
|
8946
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, editorValue);
|
|
8920
8947
|
}
|
|
8921
8948
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RichTextComponent, deps: [{ token: AngularPConnectService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8922
8949
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RichTextComponent, isStandalone: true, selector: "app-rich-text", 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$, isHtml$: true }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$; else noEdit\">\n <div *ngIf=\"bVisible$\">\n <component-mapper\n name=\"RichTextEditor\"\n [props]=\"{ placeholder, required: bRequired$, disabled: bDisabled$, label: label$, readonly: false, error, info, testId, value: value$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ onBlur: fieldOnBlur, onChange: fieldOnChange }\"\n ></component-mapper>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <div *ngIf=\"bVisible$ !== false\">\n <component-mapper name=\"RichTextEditor\" [props]=\"{ label: label$, value: value$, readonly: true, testId }\" [parent]=\"this\"></component-mapper>\n </div>\n</ng-template>\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(() => ReactiveFormsModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
@@ -10206,7 +10233,7 @@ class DetailsTwoColumnComponent {
|
|
|
10206
10233
|
this.showHighlightedData = rawMetaData?.showHighlightedData;
|
|
10207
10234
|
if (this.showHighlightedData) {
|
|
10208
10235
|
const highlightedData = rawMetaData?.highlightedData;
|
|
10209
|
-
this.highlightedDataArr = highlightedData
|
|
10236
|
+
this.highlightedDataArr = highlightedData?.map(field => {
|
|
10210
10237
|
field.config.displayMode = 'STACKED_LARGE_VAL';
|
|
10211
10238
|
if (field.config.value === '@P .pyStatusWork') {
|
|
10212
10239
|
field.type = 'TextInput';
|
|
@@ -10551,11 +10578,11 @@ class FieldValueListComponent {
|
|
|
10551
10578
|
this.isHtml$ = false;
|
|
10552
10579
|
}
|
|
10553
10580
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FieldValueListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10554
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FieldValueListComponent, isStandalone: true, selector: "app-field-value-list", inputs: { label$: "label$", value$: "value$", displayMode$: "displayMode$", isHtml$: "isHtml$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$ === 'DISPLAY_ONLY'; else STACKED_LARGE_VAL\" class=\"psdk-container-labels-left\">\n <div class=\"psdk-grid-label\">{{ label$ }}</div>\n <div class=\"psdk-val-labels-left\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #STACKED_LARGE_VAL>\n <div *ngIf=\"displayMode$ === 'STACKED_LARGE_VAL'\" class=\"psdk-container-stacked-large-val\">\n <div class=\"psdk-grid-label\">{{ label$ }}</div>\n <div class=\"psdk-val-stacked\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #valueTemplate>\n <div *ngIf=\"isHtml$; else valueOnly\" id=\"instruction-text\" [innerHTML]=\"value$ || '---'\"></div>\n <ng-template #valueOnly>{{ value$ || '---' }}</ng-template>\n</ng-template>\n", styles: [".psdk-container-labels-left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-value{margin:8px 0}.psdk-value-hf{margin:8px 0;font-weight:500;font-size:1.25rem}
|
|
10581
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FieldValueListComponent, isStandalone: true, selector: "app-field-value-list", inputs: { label$: "label$", value$: "value$", displayMode$: "displayMode$", isHtml$: "isHtml$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$ === 'DISPLAY_ONLY'; else STACKED_LARGE_VAL\" class=\"psdk-container-labels-left\">\n <div class=\"psdk-grid-label\">{{ label$ }}</div>\n <div class=\"psdk-val-labels-left\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #STACKED_LARGE_VAL>\n <div *ngIf=\"displayMode$ === 'STACKED_LARGE_VAL'\" class=\"psdk-container-stacked-large-val\">\n <div class=\"psdk-grid-label\">{{ label$ }}</div>\n <div class=\"psdk-val-stacked\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #valueTemplate>\n <div *ngIf=\"isHtml$; else valueOnly\" id=\"instruction-text\" [innerHTML]=\"value$ || '---'\"></div>\n <ng-template #valueOnly>{{ value$ || '---' }}</ng-template>\n</ng-template>\n", styles: [".psdk-container-labels-left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start;padding-block:8px}.psdk-value{margin:8px 0}.psdk-value-hf{margin:8px 0;font-weight:500;font-size:1.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
10555
10582
|
}
|
|
10556
10583
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FieldValueListComponent, decorators: [{
|
|
10557
10584
|
type: Component,
|
|
10558
|
-
args: [{ selector: 'app-field-value-list', standalone: true, imports: [CommonModule], template: "<div *ngIf=\"displayMode$ === 'DISPLAY_ONLY'; else STACKED_LARGE_VAL\" class=\"psdk-container-labels-left\">\n <div class=\"psdk-grid-label\">{{ label$ }}</div>\n <div class=\"psdk-val-labels-left\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #STACKED_LARGE_VAL>\n <div *ngIf=\"displayMode$ === 'STACKED_LARGE_VAL'\" class=\"psdk-container-stacked-large-val\">\n <div class=\"psdk-grid-label\">{{ label$ }}</div>\n <div class=\"psdk-val-stacked\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #valueTemplate>\n <div *ngIf=\"isHtml$; else valueOnly\" id=\"instruction-text\" [innerHTML]=\"value$ || '---'\"></div>\n <ng-template #valueOnly>{{ value$ || '---' }}</ng-template>\n</ng-template>\n", styles: [".psdk-container-labels-left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-value{margin:8px 0}.psdk-value-hf{margin:8px 0;font-weight:500;font-size:1.25rem}
|
|
10585
|
+
args: [{ selector: 'app-field-value-list', standalone: true, imports: [CommonModule], template: "<div *ngIf=\"displayMode$ === 'DISPLAY_ONLY'; else STACKED_LARGE_VAL\" class=\"psdk-container-labels-left\">\n <div class=\"psdk-grid-label\">{{ label$ }}</div>\n <div class=\"psdk-val-labels-left\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #STACKED_LARGE_VAL>\n <div *ngIf=\"displayMode$ === 'STACKED_LARGE_VAL'\" class=\"psdk-container-stacked-large-val\">\n <div class=\"psdk-grid-label\">{{ label$ }}</div>\n <div class=\"psdk-val-stacked\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #valueTemplate>\n <div *ngIf=\"isHtml$; else valueOnly\" id=\"instruction-text\" [innerHTML]=\"value$ || '---'\"></div>\n <ng-template #valueOnly>{{ value$ || '---' }}</ng-template>\n</ng-template>\n", styles: [".psdk-container-labels-left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start;padding-block:8px}.psdk-value{margin:8px 0}.psdk-value-hf{margin:8px 0;font-weight:500;font-size:1.25rem}\n"] }]
|
|
10559
10586
|
}], propDecorators: { label$: [{
|
|
10560
10587
|
type: Input
|
|
10561
10588
|
}], value$: [{
|
|
@@ -13114,6 +13141,8 @@ class MultiselectComponent {
|
|
|
13114
13141
|
else {
|
|
13115
13142
|
this.fieldControl.enable();
|
|
13116
13143
|
}
|
|
13144
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
13145
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
13117
13146
|
if (this.listType !== 'associated') {
|
|
13118
13147
|
PCore.getDataApi()
|
|
13119
13148
|
?.init(dataConfig, contextName)
|
|
@@ -13172,7 +13201,9 @@ class MultiselectComponent {
|
|
|
13172
13201
|
this.getCaseListBasedOnParams(this.value$, '', [...this.selectedItems], [...this.itemsTree], true);
|
|
13173
13202
|
}
|
|
13174
13203
|
optionChanged(event) {
|
|
13175
|
-
|
|
13204
|
+
let value = event?.target?.value;
|
|
13205
|
+
value = value?.substring(1);
|
|
13206
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
13176
13207
|
}
|
|
13177
13208
|
setSelectedItemsForReferenceList(data) {
|
|
13178
13209
|
// Clear error messages if any
|
|
@@ -17289,7 +17320,10 @@ class MaterialDetailsFieldsComponent {
|
|
|
17289
17320
|
constructor(utils) {
|
|
17290
17321
|
this.utils = utils;
|
|
17291
17322
|
}
|
|
17292
|
-
_getValue(configValue) {
|
|
17323
|
+
_getValue(configValue, field = {}) {
|
|
17324
|
+
if (field?.type === 'userreference') {
|
|
17325
|
+
return configValue.userName;
|
|
17326
|
+
}
|
|
17293
17327
|
if (configValue && configValue != '') {
|
|
17294
17328
|
return configValue;
|
|
17295
17329
|
}
|
|
@@ -17299,11 +17333,11 @@ class MaterialDetailsFieldsComponent {
|
|
|
17299
17333
|
return this.utils.generateDate(dateValue, dateFormat);
|
|
17300
17334
|
}
|
|
17301
17335
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MaterialDetailsFieldsComponent, deps: [{ token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17302
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MaterialDetailsFieldsComponent, isStandalone: true, selector: "app-material-details-fields", inputs: { arFields$: "arFields$", arHighlightedFields: "arHighlightedFields" }, ngImport: i0, template: "<div id=\"details-fields-list\">\n <div *ngFor=\"let field of arFields$\">\n <div *ngIf=\"field.type === 'group'; else noGroup\">\n <component-mapper name=\"Group\" [props]=\"{ pConn$: field.pConn }\"></component-mapper>\n </div>\n <ng-template #noGroup>\n <div *ngIf=\"field.type === 'reference'; else showDetails\">\n <component-mapper name=\"View\" [props]=\"{ pConn$: field.pConn }\"></component-mapper>\n </div>\n </ng-template>\n\n <ng-template #showDetails>\n <div class=\"psdk-grid-filter\" *ngIf=\"field.config.label\">\n <div class=\"psdk-details-fields-label\">\n {{ field.config.label }}\n </div>\n <div [ngSwitch]=\"field.type.toLowerCase()\" class=\"psdk-csf-primary-field-value\">\n <span *ngSwitchCase=\"'textinput'\" class=\"psdk-details-text-style\">{{ _getValue(field.config.value) }}</span>\n <span *ngSwitchCase=\"'status'\" class=\"psdk-details-status-style\">{{ _getValue(field.config.value) }}</span>\n <a *ngSwitchCase=\"'phone'\" as=\"a\" href=\"tel: {{ field.config.value }}\">{{ _getValue(field.config.value) }}</a>\n <a *ngSwitchCase=\"'email'\" href=\"mailto: {{ field.config.value }}\">{{ _getValue(field.config.value) }}</a>\n <span *ngSwitchCase=\"'date'\" class=\"psdk-details-text-style\">{{ _formatDate(field.config.value, field.type) }}</span>\n <span *ngSwitchCase=\"'caseoperator'\"></span>\n <span *ngSwitchDefault>{{ _getValue(field.config.value) }}</span>\n </div>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: [".psdk-details-fields-label{color:var(--app-label-color);margin:8px 0}span.psdk-details-text-style-hf{font-weight:700}span.psdk-details-status-style-hf{background-color:var(--app-details-status-background);border-radius:.125rem;color:var(--app-details-status-color);display:inline-block;font-size:.75rem;font-weight:700;line-height:1.25rem;height:1.25rem;padding:0 .5rem;text-transform:uppercase}.psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-csf-primary-field-value{margin:8px 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: "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: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
17336
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MaterialDetailsFieldsComponent, isStandalone: true, selector: "app-material-details-fields", inputs: { arFields$: "arFields$", arHighlightedFields: "arHighlightedFields" }, ngImport: i0, template: "<div id=\"details-fields-list\">\n <div *ngFor=\"let field of arFields$\">\n <div *ngIf=\"field.type === 'group'; else noGroup\">\n <component-mapper name=\"Group\" [props]=\"{ pConn$: field.pConn }\"></component-mapper>\n </div>\n <ng-template #noGroup>\n <div *ngIf=\"field.type === 'reference'; else showDetails\">\n <component-mapper name=\"View\" [props]=\"{ pConn$: field.pConn }\"></component-mapper>\n </div>\n </ng-template>\n\n <ng-template #showDetails>\n <div class=\"psdk-grid-filter\" *ngIf=\"field.config.label\">\n <div class=\"psdk-details-fields-label\">\n {{ field.config.label }}\n </div>\n <div [ngSwitch]=\"field.type.toLowerCase()\" class=\"psdk-csf-primary-field-value\">\n <span *ngSwitchCase=\"'textinput'\" class=\"psdk-details-text-style\">{{ _getValue(field.config.value) }}</span>\n <span *ngSwitchCase=\"'status'\" class=\"psdk-details-status-style\">{{ _getValue(field.config.value) }}</span>\n <a *ngSwitchCase=\"'phone'\" as=\"a\" href=\"tel: {{ field.config.value }}\">{{ _getValue(field.config.value) }}</a>\n <a *ngSwitchCase=\"'email'\" href=\"mailto: {{ field.config.value }}\">{{ _getValue(field.config.value) }}</a>\n <span *ngSwitchCase=\"'date'\" class=\"psdk-details-text-style\">{{ _formatDate(field.config.value, field.type) }}</span>\n <span *ngSwitchCase=\"'caseoperator'\"></span>\n <span *ngSwitchDefault>{{ _getValue(field.config.value, field) }}</span>\n </div>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: [".psdk-details-fields-label{color:var(--app-label-color);margin:8px 0}span.psdk-details-text-style-hf{font-weight:700}span.psdk-details-status-style-hf{background-color:var(--app-details-status-background);border-radius:.125rem;color:var(--app-details-status-color);display:inline-block;font-size:.75rem;font-weight:700;line-height:1.25rem;height:1.25rem;padding:0 .5rem;text-transform:uppercase}.psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-csf-primary-field-value{margin:8px 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: "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: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
17303
17337
|
}
|
|
17304
17338
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MaterialDetailsFieldsComponent, decorators: [{
|
|
17305
17339
|
type: Component,
|
|
17306
|
-
args: [{ selector: 'app-material-details-fields', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div id=\"details-fields-list\">\n <div *ngFor=\"let field of arFields$\">\n <div *ngIf=\"field.type === 'group'; else noGroup\">\n <component-mapper name=\"Group\" [props]=\"{ pConn$: field.pConn }\"></component-mapper>\n </div>\n <ng-template #noGroup>\n <div *ngIf=\"field.type === 'reference'; else showDetails\">\n <component-mapper name=\"View\" [props]=\"{ pConn$: field.pConn }\"></component-mapper>\n </div>\n </ng-template>\n\n <ng-template #showDetails>\n <div class=\"psdk-grid-filter\" *ngIf=\"field.config.label\">\n <div class=\"psdk-details-fields-label\">\n {{ field.config.label }}\n </div>\n <div [ngSwitch]=\"field.type.toLowerCase()\" class=\"psdk-csf-primary-field-value\">\n <span *ngSwitchCase=\"'textinput'\" class=\"psdk-details-text-style\">{{ _getValue(field.config.value) }}</span>\n <span *ngSwitchCase=\"'status'\" class=\"psdk-details-status-style\">{{ _getValue(field.config.value) }}</span>\n <a *ngSwitchCase=\"'phone'\" as=\"a\" href=\"tel: {{ field.config.value }}\">{{ _getValue(field.config.value) }}</a>\n <a *ngSwitchCase=\"'email'\" href=\"mailto: {{ field.config.value }}\">{{ _getValue(field.config.value) }}</a>\n <span *ngSwitchCase=\"'date'\" class=\"psdk-details-text-style\">{{ _formatDate(field.config.value, field.type) }}</span>\n <span *ngSwitchCase=\"'caseoperator'\"></span>\n <span *ngSwitchDefault>{{ _getValue(field.config.value) }}</span>\n </div>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: [".psdk-details-fields-label{color:var(--app-label-color);margin:8px 0}span.psdk-details-text-style-hf{font-weight:700}span.psdk-details-status-style-hf{background-color:var(--app-details-status-background);border-radius:.125rem;color:var(--app-details-status-color);display:inline-block;font-size:.75rem;font-weight:700;line-height:1.25rem;height:1.25rem;padding:0 .5rem;text-transform:uppercase}.psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-csf-primary-field-value{margin:8px 0}\n"] }]
|
|
17340
|
+
args: [{ selector: 'app-material-details-fields', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div id=\"details-fields-list\">\n <div *ngFor=\"let field of arFields$\">\n <div *ngIf=\"field.type === 'group'; else noGroup\">\n <component-mapper name=\"Group\" [props]=\"{ pConn$: field.pConn }\"></component-mapper>\n </div>\n <ng-template #noGroup>\n <div *ngIf=\"field.type === 'reference'; else showDetails\">\n <component-mapper name=\"View\" [props]=\"{ pConn$: field.pConn }\"></component-mapper>\n </div>\n </ng-template>\n\n <ng-template #showDetails>\n <div class=\"psdk-grid-filter\" *ngIf=\"field.config.label\">\n <div class=\"psdk-details-fields-label\">\n {{ field.config.label }}\n </div>\n <div [ngSwitch]=\"field.type.toLowerCase()\" class=\"psdk-csf-primary-field-value\">\n <span *ngSwitchCase=\"'textinput'\" class=\"psdk-details-text-style\">{{ _getValue(field.config.value) }}</span>\n <span *ngSwitchCase=\"'status'\" class=\"psdk-details-status-style\">{{ _getValue(field.config.value) }}</span>\n <a *ngSwitchCase=\"'phone'\" as=\"a\" href=\"tel: {{ field.config.value }}\">{{ _getValue(field.config.value) }}</a>\n <a *ngSwitchCase=\"'email'\" href=\"mailto: {{ field.config.value }}\">{{ _getValue(field.config.value) }}</a>\n <span *ngSwitchCase=\"'date'\" class=\"psdk-details-text-style\">{{ _formatDate(field.config.value, field.type) }}</span>\n <span *ngSwitchCase=\"'caseoperator'\"></span>\n <span *ngSwitchDefault>{{ _getValue(field.config.value, field) }}</span>\n </div>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: [".psdk-details-fields-label{color:var(--app-label-color);margin:8px 0}span.psdk-details-text-style-hf{font-weight:700}span.psdk-details-status-style-hf{background-color:var(--app-details-status-background);border-radius:.125rem;color:var(--app-details-status-color);display:inline-block;font-size:.75rem;font-weight:700;line-height:1.25rem;height:1.25rem;padding:0 .5rem;text-transform:uppercase}.psdk-grid-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-csf-primary-field-value{margin:8px 0}\n"] }]
|
|
17307
17341
|
}], ctorParameters: () => [{ type: Utils }], propDecorators: { arFields$: [{
|
|
17308
17342
|
type: Input
|
|
17309
17343
|
}], arHighlightedFields: [{
|
|
@@ -18313,5 +18347,5 @@ const localSdkComponentMap = {
|
|
|
18313
18347
|
* Generated bundle index. Do not edit.
|
|
18314
18348
|
*/
|
|
18315
18349
|
|
|
18316
|
-
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 };
|
|
18350
|
+
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 };
|
|
18317
18351
|
//# sourceMappingURL=pega-angular-sdk-components.mjs.map
|