From e918f80fa71323d931b6442a0ffb45b377c0867f Mon Sep 17 00:00:00 2001 From: Arnab Ghosh Date: Thu, 1 Oct 2026 21:35:43 +0530 Subject: [PATCH 01/43] refactor(components): migrate to control flow and OnPush where safe - *ngIf/*ngFor/ngSwitch to @if/@for/@switch across component templates - OnPush for synchronous field components and presentational components - FieldBase generic (default any) and markForCheck() called by the bridge - takeUntilDestroyed for location and dashboard-filter subscriptions - type the bridge and component map for noImplicitAny --- .../src/lib/_bridge/angular-pconnect.ts | 30 +- .../component-mapper.component.ts | 6 +- .../lib/_bridge/helpers/sdk_component_map.ts | 8 +- .../alert-banner/alert-banner.component.html | 22 +- .../alert-banner/alert-banner.component.ts | 7 +- .../alert/alert.component.html | 19 +- .../alert/alert.component.ts | 3 +- .../banner/banner.component.ts | 3 +- .../case-create-stage.component.html | 26 +- .../case-create-stage.component.ts | 4 +- .../field-group/field-group.component.html | 44 ++- .../material-case-summary.component.html | 152 +++++--- .../material-case-summary.component.ts | 4 +- .../material-summary-item.component.html | 57 +-- .../material-summary-item.component.ts | 4 +- .../material-summary-list.component.html | 4 +- .../material-summary-list.component.ts | 4 +- .../material-utility.component.ts | 3 +- .../material-vertical-tabs.component.html | 18 +- .../material-vertical-tabs.component.ts | 4 +- .../operator/operator.component.html | 20 +- .../pulse/pulse.component.ts | 3 +- .../rich-text-editor.component.html | 206 +++++----- .../wss-quick-create.component.html | 20 +- .../wss-quick-create.component.ts | 6 +- .../auto-complete.component.html | 170 ++++---- .../cancel-alert/cancel-alert.component.html | 26 +- .../cancel-alert/cancel-alert.component.ts | 4 +- .../field/check-box/check-box.component.html | 125 +++--- .../field/check-box/check-box.component.ts | 3 +- .../field/currency/currency.component.html | 90 +++-- .../field/currency/currency.component.ts | 6 +- .../field/date-time/date-time.component.html | 68 ++-- .../field/date-time/date-time.component.ts | 6 +- .../field/date/date.component.html | 74 ++-- .../_components/field/date/date.component.ts | 6 +- .../field/decimal/decimal.component.html | 90 +++-- .../field/decimal/decimal.component.ts | 6 +- .../field/dropdown/dropdown.component.html | 74 ++-- .../field/dropdown/dropdown.component.ts | 3 +- .../field/email/email.component.html | 66 ++-- .../field/email/email.component.ts | 7 +- .../embedded-data-multi.component.html | 8 +- .../embedded-data-multi.component.ts | 3 +- .../src/lib/_components/field/field.base.ts | 17 +- .../field/group/group.component.html | 27 +- .../field/group/group.component.ts | 3 +- .../field/integer/integer.component.html | 68 ++-- .../field/integer/integer.component.ts | 7 +- .../list-view-action-buttons.component.ts | 3 +- .../field/location/location.component.html | 104 ++--- .../field/location/location.component.ts | 10 +- .../multiselect/multiselect.component.html | 20 +- .../multiselect/multiselect.component.ts | 2 - .../object-reference.component.html | 73 ++-- .../object-reference.component.ts | 3 +- .../percentage/percentage.component.html | 92 +++-- .../field/percentage/percentage.component.ts | 6 +- .../field/phone/phone.component.html | 64 ++-- .../field/phone/phone.component.ts | 7 +- .../radio-buttons.component.html | 78 ++-- .../radio-buttons/radio-buttons.component.ts | 6 +- .../field/rich-text/rich-text.component.html | 48 ++- .../field/rich-text/rich-text.component.ts | 7 +- .../scalar-list/scalar-list.component.html | 22 +- .../scalar-list/scalar-list.component.ts | 6 +- .../selectable-card.component.html | 132 +++---- .../selectable-card.component.ts | 3 +- .../semantic-link.component.html | 15 +- .../semantic-link/semantic-link.component.ts | 4 +- .../field/text-area/text-area.component.html | 74 ++-- .../field/text-area/text-area.component.ts | 7 +- .../text-content/text-content.component.html | 26 +- .../text-content/text-content.component.ts | 4 +- .../text-input/text-input.component.html | 66 ++-- .../field/text-input/text-input.component.ts | 7 +- .../field/text/text.component.html | 35 +- .../_components/field/text/text.component.ts | 4 +- .../field/time/time.component.html | 66 ++-- .../_components/field/time/time.component.ts | 7 +- .../_components/field/url/url.component.html | 66 ++-- .../_components/field/url/url.component.ts | 7 +- .../user-reference.component.html | 109 +++--- .../flow-container.component.html | 96 +++-- .../flow-container.component.ts | 4 +- .../hybrid-view-container.component.ts | 4 +- .../data-view-action-buttons.component.ts | 3 +- .../modal-view-container.component.html | 98 ++--- .../modal-view-container.component.ts | 4 +- .../view-container.component.html | 60 +-- .../view-container.component.ts | 4 +- .../action-buttons.component.html | 33 +- .../action-buttons.component.ts | 4 +- .../assignment-card.component.html | 49 ++- .../assignment-card.component.ts | 4 +- .../assignment/assignment.component.html | 56 +-- .../infra/assignment/assignment.component.ts | 4 +- .../dashboard-filter.component.html | 56 +-- .../dashboard-filter.component.ts | 3 +- .../defer-load/defer-load.component.html | 16 +- .../infra/defer-load/defer-load.component.ts | 4 +- .../error-boundary.component.ts | 3 +- .../multi-step/multi-step.component.html | 147 +++---- .../infra/multi-step/multi-step.component.ts | 4 +- .../infra/navbar/navbar.component.html | 38 +- .../infra/navbar/navbar.component.ts | 4 +- .../infra/reference/reference.component.html | 16 +- .../infra/reference/reference.component.ts | 4 +- .../infra/region/region.component.html | 22 +- .../infra/region/region.component.ts | 4 +- .../root-container.component.html | 54 ++- .../root-container.component.ts | 10 +- .../infra/stages/stages.component.html | 30 +- .../infra/stages/stages.component.ts | 4 +- .../infra/view/view.component.html | 51 +-- .../_components/infra/view/view.component.ts | 4 +- .../advanced-search.component.html | 4 +- .../advanced-search.component.ts | 4 +- .../search-groups.component.html | 40 +- .../search-groups/search-groups.component.ts | 3 +- .../app-shell/app-shell.component.html | 34 +- .../banner-page/banner-page.component.ts | 3 +- .../case-view/case-view.component.html | 103 +++-- .../template/case-view/case-view.component.ts | 4 +- .../confirmation/confirmation.component.html | 40 +- .../confirmation/confirmation.component.ts | 4 +- .../data-reference.component.html | 37 +- .../data-reference.component.ts | 4 +- .../search-form/search-form.component.html | 50 ++- .../search-form/search-form.component.ts | 3 +- .../default-form/default-form.component.html | 54 +-- .../default-page/default-page.component.html | 48 +-- .../details-narrow-wide.component.html | 20 +- .../details-narrow-wide.component.ts | 4 +- .../details-one-column.component.html | 20 +- .../details-one-column.component.ts | 4 +- .../details-sub-tabs.component.html | 29 +- .../details-sub-tabs.component.ts | 4 +- .../details-three-column.component.html | 20 +- .../details-three-column.component.ts | 4 +- .../details-two-column.component.html | 20 +- .../details-two-column.component.ts | 4 +- .../details-wide-narrow.component.html | 20 +- .../details-wide-narrow.component.ts | 4 +- .../template/details/details.component.html | 20 +- .../template/details/details.component.ts | 4 +- .../dynamic-tabs/dynamic-tabs.component.html | 18 +- .../dynamic-tabs/dynamic-tabs.component.ts | 4 +- .../field-group-list.component.html | 8 +- .../field-group-list.component.ts | 4 +- .../field-group-template.component.html | 72 ++-- .../field-group-template.component.ts | 4 +- .../field-value-list.component.html | 35 +- .../inline-dashboard-page.component.ts | 4 +- .../inline-dashboard.component.html | 29 +- .../narrow-wide-form.component.html | 36 +- .../narrow-wide-form.component.ts | 4 +- .../one-column-tab.component.html | 26 +- .../one-column-tab.component.ts | 4 +- .../one-column/one-column.component.html | 36 +- .../one-column/one-column.component.ts | 4 +- .../template/page/page.component.html | 26 +- .../template/page/page.component.ts | 4 +- .../promoted-filters.component.html | 34 +- .../promoted-filters.component.ts | 4 +- .../repeating-structures.component.html | 10 +- .../repeating-structures.component.ts | 4 +- .../self-service-case-view.component.html | 154 ++++---- .../self-service-case-view.component.ts | 4 +- .../simple-table-manual.component.html | 362 +++++++++--------- .../simple-table-manual.component.ts | 3 +- .../simple-table-select.component.html | 31 +- .../simple-table-select.component.ts | 4 +- .../simple-table/simple-table.component.html | 27 +- .../simple-table/simple-table.component.ts | 4 +- .../single-reference-readonly.component.html | 4 +- .../template/sub-tabs/sub-tabs.component.html | 25 +- .../template/sub-tabs/sub-tabs.component.ts | 4 +- .../three-column/three-column.component.html | 28 +- .../three-column/three-column.component.ts | 4 +- .../two-column-tab.component.html | 36 +- .../two-column-tab.component.ts | 4 +- .../two-column/two-column.component.html | 36 +- .../two-column/two-column.component.ts | 4 +- .../wide-narrow-form.component.html | 36 +- .../wide-narrow-form.component.ts | 4 +- .../wide-narrow-page.component.html | 18 +- .../wide-narrow-page.component.ts | 4 +- .../wss-nav-bar/wss-nav-bar.component.html | 10 +- .../wss-nav-bar/wss-nav-bar.component.ts | 4 +- .../app-announcement.component.html | 8 +- .../app-announcement.component.ts | 4 +- .../attachment/attachment.component.html | 143 ++++--- .../case-history/case-history.component.html | 10 +- .../case-history/case-history.component.ts | 4 +- .../feed-container.component.html | 213 ++++++----- .../feed-container.component.ts | 4 +- .../file-utility/file-utility.component.html | 132 +++---- .../file-utility/file-utility.component.ts | 4 +- .../list-utility/list-utility.component.html | 24 +- .../list-utility/list-utility.component.ts | 4 +- .../quick-create/quick-create.component.ts | 4 +- .../widget/todo/todo.component.html | 94 +++-- .../_components/widget/todo/todo.component.ts | 4 +- 204 files changed, 3452 insertions(+), 2706 deletions(-) diff --git a/packages/angular-sdk-components/src/lib/_bridge/angular-pconnect.ts b/packages/angular-sdk-components/src/lib/_bridge/angular-pconnect.ts index 14a4e88c0..089141bb3 100644 --- a/packages/angular-sdk-components/src/lib/_bridge/angular-pconnect.ts +++ b/packages/angular-sdk-components/src/lib/_bridge/angular-pconnect.ts @@ -35,7 +35,7 @@ export class AngularPConnectService { * anything added by populateAdditionalProps. * Each entry is: { __componentID__: _the component's most recent props_ } */ - private componentPropsArr: object[] = []; + private componentPropsArr: Record = {}; /* Used to toggle some class-wide logging */ private static bLogging = false; @@ -83,15 +83,17 @@ export class AngularPConnectService { * @returns The **unsubscribe** function that should be called when the component needs * to unsubscribe from the store. (Typically during ngOnDestroy) */ - private subscribeToStore(inComp: any = null, inCallback: Function | null = null): Function { + private subscribeToStore(inComp: any = null, inCallback: Function | null = null): Function | undefined { // const theCompName: string = inComp ? `${inComp.constructor.name}` : 'no component provided'; - let fnUnsubscribe; + let fnUnsubscribe: (() => void) | undefined; // console.log( `Bridge subscribing: ${theCompName} `); if (inComp) { let bSubscribed = true; const wrappedCallback = () => { if (bSubscribed && inCallback) { inCallback(); + // Store callbacks mutate component state outside Angular's event system; flag the view for OnPush components. + inComp.markForCheck?.(); } }; const storeUnsubscribe = this.getStore().subscribe(wrappedCallback); @@ -163,7 +165,7 @@ export class AngularPConnectService { * Otherwise, return undefined. * @param inComp The component whose property is being requested. */ - public getComponentID(inComp): string { + public getComponentID(inComp: any): string { return inComp.bridgeComponentID || inComp.angularPConnectData.compID; } @@ -213,7 +215,7 @@ export class AngularPConnectService { * validateMessage: any validation/error message that gets generated for this object, * actions: any actions that are defined for this object */ - registerAndSubscribeComponent(inComp, inCallback: Function | null = null): AngularPConnectData { + registerAndSubscribeComponent(inComp: any, inCallback: Function | null = null): AngularPConnectData { // Create an initial object to be returned. const returnObject: AngularPConnectData = { compID: '', @@ -271,7 +273,7 @@ export class AngularPConnectService { // Now proceed to register and subscribe... const theCompID: string = this.getNextComponentId(); - const theUnsub: Function | null = this.subscribeToStore(inComp, inCallback); + const theUnsub: Function | undefined = this.subscribeToStore(inComp, inCallback); if (undefined === inComp.angularPConnectData) { inComp.bridgeComponentID = theCompID; @@ -279,7 +281,7 @@ export class AngularPConnectService { returnObject.compID = theCompID; returnObject.unsubscribeFn = () => { this.removeFormField(inComp); - theUnsub(); + theUnsub?.(); }; } @@ -292,11 +294,11 @@ export class AngularPConnectService { return returnObject; } - addFormField(inComp) { + addFormField(inComp: any) { inComp.pConn$?.addFormField(); } - removeFormField(inComp) { + removeFormField(inComp: any) { if (inComp.pConn$?.removeFormField) { inComp.pConn$?.removeFormField(); } @@ -346,7 +348,7 @@ export class AngularPConnectService { * Return **false**: means the component props are the same and the component doesn't need to update (re-render). * If the ***inComp*** input is bad, false is also returned. */ - shouldComponentUpdate(inComp): boolean { + shouldComponentUpdate(inComp: any): boolean { // const bShowLogging = false; let bRet = false; // check for reasonable input @@ -438,7 +440,7 @@ export class AngularPConnectService { return bRet; } - isPageMessagesEmpty(incomingProps) { + isPageMessagesEmpty(incomingProps: any) { return incomingProps.pageMessages && incomingProps.pageMessages.length === 0; } @@ -447,7 +449,7 @@ export class AngularPConnectService { * @param inComp The component calling the change event * @param event The event */ - changeHandler(inComp, event) { + changeHandler(inComp: any, event: any) { const bLogging = false; if (bLogging) { // console.log(`AngularPConnect.changeHandler`); @@ -475,7 +477,7 @@ export class AngularPConnectService { * @param inComp The component calling the event * @param event The event */ - eventHandler(inComp, event) { + eventHandler(inComp: any, event: any) { const bLogging = false; if (bLogging) { // console.log(`AngularPConnect.eventHandler`); @@ -524,7 +526,7 @@ export class AngularPConnectService { * processActions exposes all actions in the metadata. * Attaches common handler (eventHandler) for all actions. */ - private processActions(inComp) { + private processActions(inComp: any) { const pConnect = inComp.pConn$; if (undefined === pConnect) { console.error(`AngularPConnect: bad call to processActions: pConn$: ${pConnect} from component: ${inComp.constructor.name}`); diff --git a/packages/angular-sdk-components/src/lib/_bridge/component-mapper/component-mapper.component.ts b/packages/angular-sdk-components/src/lib/_bridge/component-mapper/component-mapper.component.ts index 1278f3596..c47534594 100644 --- a/packages/angular-sdk-components/src/lib/_bridge/component-mapper/component-mapper.component.ts +++ b/packages/angular-sdk-components/src/lib/_bridge/component-mapper/component-mapper.component.ts @@ -1,5 +1,5 @@ import { Component, ComponentRef, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewChild, ViewContainerRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { getComponentFromMap } from '../helpers/sdk_component_map'; import { ErrorBoundaryComponent } from '../../_components/infra/error-boundary/error-boundary.component'; @@ -9,7 +9,7 @@ const componentsRequireDisplayOnlyFAProp: string[] = ['HybridViewContainer', 'Mo selector: 'component-mapper', templateUrl: './component-mapper.component.html', styleUrls: ['./component-mapper.component.scss'], - imports: [CommonModule] + imports: [] }) export class ComponentMapperComponent implements OnInit, OnDestroy, OnChanges { @ViewChild('dynamicComponent', { read: ViewContainerRef, static: true }) @@ -90,7 +90,7 @@ export class ComponentMapperComponent implements OnInit, OnDestroy, OnChanges { const propsKeys = Object.keys(this.outputEvents); const propsValues: any = Object.values(this.outputEvents); for (let i = 0; i < propsKeys.length; i++) { - this.componentRef?.instance[propsKeys[i]].subscribe(value => { + this.componentRef?.instance[propsKeys[i]].subscribe((value: any) => { const callbackFn = propsValues[i].bind(this.parent); callbackFn(value); }); diff --git a/packages/angular-sdk-components/src/lib/_bridge/helpers/sdk_component_map.ts b/packages/angular-sdk-components/src/lib/_bridge/helpers/sdk_component_map.ts index a6fc0b2f5..aa40cb635 100644 --- a/packages/angular-sdk-components/src/lib/_bridge/helpers/sdk_component_map.ts +++ b/packages/angular-sdk-components/src/lib/_bridge/helpers/sdk_component_map.ts @@ -9,7 +9,7 @@ import pegaSdkComponentMap from './sdk-pega-component-map'; // Note: Initializing SdkComponentMap to null seems to cause lots of compile issues with references // within other components and the value potentially being null (so try to leave it undefined) -export let SdkComponentMap; +export let SdkComponentMap: any; let SdkComponentMapCreateInProgress = false; interface ISdkComponentMap { @@ -84,7 +84,7 @@ class ComponentMap { return this.sdkComponentMap.localComponentMap; }; - setLocalComponentMap(inLocalSdkComponentMap) { + setLocalComponentMap(inLocalSdkComponentMap: any) { this.sdkComponentMap.localComponentMap = inLocalSdkComponentMap; return this.sdkComponentMap.localComponentMap; } @@ -93,7 +93,7 @@ class ComponentMap { return this.sdkComponentMap.pegaProvidedComponentMap; }; - setPegaProvidedComponentMap = inPegaProvidedComponentMap => { + setPegaProvidedComponentMap = (inPegaProvidedComponentMap: any) => { this.sdkComponentMap.pegaProvidedComponentMap = inPegaProvidedComponentMap; return this.sdkComponentMap.pegaProvidedComponentMap; }; @@ -111,7 +111,7 @@ async function createSdkComponentMap(inLocalComponentMap = {}) { // Initialize exported SdkComponentMap structure export async function getSdkComponentMap(inLocalComponentMap = {}) { return new Promise(resolve => { - let idNextCheck; + let idNextCheck: any; if (!SdkComponentMap && !SdkComponentMapCreateInProgress) { SdkComponentMapCreateInProgress = true; createSdkComponentMap(inLocalComponentMap).then(theComponentMap => { diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert-banner/alert-banner.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert-banner/alert-banner.component.html index 607eb5e49..5d641f3b4 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert-banner/alert-banner.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert-banner/alert-banner.component.html @@ -1,12 +1,16 @@
-
-
- + @for (banner of banners; track banner) { +
+ @for (message of banner.messages; track message) { +
+ +
+ }
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert-banner/alert-banner.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert-banner/alert-banner.component.ts index dc70a2697..08eb343ad 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert-banner/alert-banner.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert-banner/alert-banner.component.ts @@ -1,12 +1,13 @@ -import { Component, Input, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, Input, forwardRef } from '@angular/core'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-alert-banner', templateUrl: './alert-banner.component.html', styleUrls: ['./alert-banner.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class AlertBannerComponent { @Input() banners: any[]; diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert/alert.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert/alert.component.html index 8020099db..0aa35a3d6 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert/alert.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert/alert.component.html @@ -10,13 +10,16 @@
{{ getMatIcon(severity) }}
-
- + @if (messageIsHtml) { +
+ } @else {
{{ messageText }}
-
-
- -
+ } + @if (!hideClose) { +
+ +
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert/alert.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert/alert.component.ts index dd798ee98..70a6ca0c8 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert/alert.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/alert/alert.component.ts @@ -1,8 +1,9 @@ -import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter } from '@angular/core'; import { CommonModule } from '@angular/common'; import { MatIconModule } from '@angular/material/icon'; @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-alert', templateUrl: './alert.component.html', styleUrls: ['./alert.component.scss'], diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/banner/banner.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/banner/banner.component.ts index 7ffc1519f..ec9fe0212 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/banner/banner.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/banner/banner.component.ts @@ -1,9 +1,10 @@ import { CommonModule } from '@angular/common'; import { FormGroup } from '@angular/forms'; -import { Component, Input, forwardRef } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input, forwardRef } from '@angular/core'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-banner', templateUrl: './banner.component.html', styleUrls: ['./banner.component.scss'], diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.html index 62409bdcb..57f3330a4 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.html @@ -1,12 +1,16 @@ -
-
- +@for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getConfigProps().template != '') { +
+ +
+ }
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.ts index 5b2f52f17..2146d648b 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -8,7 +8,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-case-create-stage', templateUrl: './case-create-stage.component.html', styleUrls: ['./case-create-stage.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class CaseCreateStageComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/field-group/field-group.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/field-group/field-group.component.html index 0dcba9100..e766d344e 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/field-group/field-group.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/field-group/field-group.component.html @@ -1,21 +1,29 @@
-
- - - - - - {{ name }} - - - {{ name }} - -
+ @if (name) { +
+ @if (collapsible) { + + @if (collapsed) { + + } @else { + + } + {{ name }} + + } @else { + {{ name }} + } +
+ } -
-
-
-
- -
+ @if (instructions && instructions !== 'none') { +
+
+
+ } + @if (!collapsed) { +
+ +
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.html index ea13e24ae..60b1ad7e9 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.html @@ -1,73 +1,103 @@
-
-
+ @if ( field.type.toLowerCase() !== 'objectreference' && field.type.toLowerCase() !== 'reference' && field.type.toLowerCase() !== 'caseoperator' - " - class="psdk-csf-primary-field-header" - > - {{ field.config?.label }} -
-
- {{ field.config.value || '---' }} - {{ field.config.value || '---' }} - {{ field.config.value || '---' }} - {{ field.config.value || '---' }} - {{ field.config.value || '---' }} -
+ ) { +
+ {{ field.config?.label }} +
+ } +
+ @switch (field.type.toLowerCase()) { + @case ('textinput') { + {{ field.config.value || '---' }} + } + @case ('status') { + {{ field.config.value || '---' }} + } + @case ('phone') { + {{ field.config.value || '---' }} + } + @case ('email') { + {{ field.config.value || '---' }} + } + @case ('date') { + {{ field.config.value || '---' }} + } + @case ('caseoperator') { +
+ +
+ } + @case ('objectreference') { +
+ +
+ } + @case ('reference') { +
+ +
+ } + @default { + {{ field.config.value || '---' }} + } + } +
+
+ } +
+
+
+ @for (field of secondaryFields$; track field) { +
+ @if ( + field?.config?.label?.toLowerCase() == 'create operator' || + field?.displayLabel?.toLowerCase() == 'create operator' || + field?.config?.label?.toLowerCase() == 'update operator' || + field?.displayLabel?.toLowerCase() == 'update operator' + ) { +
-
- + } @else if (field.type.toLowerCase() === 'objectreference') { +
+
-
+ } @else if (field.type.toLowerCase() === 'reference') { +
- {{ field.config.value || '---' }} - -
-
-
-
-
- @if ( - field?.config?.label?.toLowerCase() == 'create operator' || - field?.displayLabel?.toLowerCase() == 'create operator' || - field?.config?.label?.toLowerCase() == 'update operator' || - field?.displayLabel?.toLowerCase() == 'update operator' - ) { -
- -
- } @else if (field.type.toLowerCase() === 'objectreference') { -
- -
- } @else if (field.type.toLowerCase() === 'reference') { -
- -
- } @else { -
-
- {{ field.config?.displayLabel || field.config?.label }} -
- -
-
- - - -
-
-
- } -
+ } @else { +
+
+ {{ field.config?.displayLabel || field.config?.label }} +
+
+
+ @switch (field.type.toLowerCase()) { + @case ('userreference') { + + } + @case ('checkbox') { + + } + @default { + + } + } +
+
+
+ } + + }
diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.ts index c4be8fd8c..0d16e55ec 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { Utils } from '../../../_helpers/utils'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -7,7 +7,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-material-case-summary', templateUrl: './material-case-summary.component.html', styleUrls: ['./material-case-summary.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class MaterialCaseSummaryComponent implements OnInit, OnChanges { @Input() status$: string; diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.html index afe27dc70..04e15dcdf 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.html @@ -3,35 +3,42 @@
-
- -
-
- {{ item$.primary.name }} -
-
{{ item$.secondary.text }}
+ @if (item$.primary.type == 'URL') { +
+ +
+ } + @if (item$.primary.type != 'URL') { +
+ {{ item$.primary.name }} +
+ } + @if (item$.secondary.text != '') { +
{{ item$.secondary.text }}
+ }
-
- - - - - - -
- + @if (menuIconOverride$ == '') { +
+ + + @for (action of item$.actions; track action) { + + } + +
+ } @else { -
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.ts index 325cadc7c..7bf1dfb69 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatButtonModule } from '@angular/material/button'; import { MatMenuModule } from '@angular/material/menu'; import { Utils } from '../../../_helpers/utils'; @@ -8,7 +8,7 @@ import { Utils } from '../../../_helpers/utils'; selector: 'app-material-summary-item', templateUrl: './material-summary-item.component.html', styleUrls: ['./material-summary-item.component.scss'], - imports: [CommonModule, MatButtonModule, MatMenuModule] + imports: [MatButtonModule, MatMenuModule] }) export class MaterialSummaryItemComponent implements OnInit { @Input() item$: any; diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.html index 4bfd01eea..92777cd69 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.html @@ -1,3 +1,3 @@ - +@for (item of arItems$; track item) { - +} diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.ts index 396220c22..b7d2dabfe 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.ts @@ -1,12 +1,12 @@ import { Component, Input, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @Component({ selector: 'app-material-summary-list', templateUrl: './material-summary-list.component.html', styleUrls: ['./material-summary-list.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class MaterialSummaryListComponent { @Input() arItems$: any[]; diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-utility/material-utility.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-utility/material-utility.component.ts index a66783a4f..9d96ec15c 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-utility/material-utility.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-utility/material-utility.component.ts @@ -1,7 +1,8 @@ -import { Component, OnInit, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, Input } from '@angular/core'; import { Utils } from '../../../_helpers/utils'; @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-material-utility', templateUrl: './material-utility.component.html', styleUrls: ['./material-utility.component.scss'], diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.html index dfd96ccfc..ad1f8de57 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.html @@ -1,12 +1,16 @@
- -
-
{{ tab.name }}
-
-   + @for (tab of tabConfig$; track tab) { + +
+
{{ tab.name }}
+
+ @if (tab?.count) { +   + } +
-
- + + }
diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.ts index 2196cf9d5..19724f179 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatBadgeModule } from '@angular/material/badge'; import { MatButtonToggleModule } from '@angular/material/button-toggle'; @@ -7,7 +7,7 @@ import { MatButtonToggleModule } from '@angular/material/button-toggle'; selector: 'app-material-vertical-tabs', templateUrl: './material-vertical-tabs.component.html', styleUrls: ['./material-vertical-tabs.component.scss'], - imports: [CommonModule, MatButtonToggleModule, MatBadgeModule] + imports: [MatButtonToggleModule, MatBadgeModule] }) export class MaterialVerticalTabsComponent implements OnInit { @Input() tabConfig$: any[]; diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/operator/operator.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/operator/operator.component.html index 4fa628ddc..d711a88b8 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/operator/operator.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/operator/operator.component.html @@ -11,12 +11,16 @@
-
-
-
-
{{ field.name }}
-
{{ field.value }}
-
-
-
+ @if (bShowPopover$) { +
+
+ @for (field of fields$; track field; let i = $index) { +
+
{{ field.name }}
+
{{ field.value }}
+
+ } +
+
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/pulse/pulse.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/pulse/pulse.component.ts index 18e03df07..b47e7c185 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/pulse/pulse.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/pulse/pulse.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, Input, forwardRef } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, Input, forwardRef } from '@angular/core'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; interface PulseProps { @@ -7,6 +7,7 @@ interface PulseProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-pulse', templateUrl: './pulse.component.html', styleUrls: ['./pulse.component.scss'], diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.html index bb65fe317..0580b5174 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.html @@ -1,110 +1,110 @@
-
-
-
- -
- - - Paragraph - Heading 1 - Heading 2 - Heading 3 - - - - - - - - - - - - - - - - - - - - + @if (!readonly) { +
+
+
+ @if (!disabled) { +
+ + + Paragraph + Heading 1 + Heading 2 + Heading 3 + + + + + + + + + + + + + + +
+ }
+ @if (showError) { +

{{ errorMessage }}

+ }
+ } -

{{ errorMessage }}

-
- -
-
-
+ @if (readonly) { +
+
+
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.html b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.html index 9b7d2e726..77e21a4fc 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.html +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.html @@ -1,13 +1,17 @@

{{ heading$ }}

diff --git a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.ts b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.ts index b048b2e29..b2e12f1a1 100644 --- a/packages/angular-sdk-components/src/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.ts @@ -1,12 +1,12 @@ -import { CommonModule } from '@angular/common'; -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; // import { Button } from '@angular/material' @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'wss-quick-create', templateUrl: './wss-quick-create.component.html', styleUrls: ['./wss-quick-create.component.scss'], - imports: [CommonModule] + imports: [] }) export class WssQuickCreateComponent { @Input() actions$: any; diff --git a/packages/angular-sdk-components/src/lib/_components/field/auto-complete/auto-complete.component.html b/packages/angular-sdk-components/src/lib/_components/field/auto-complete/auto-complete.component.html index 0e98542af..6043c59da 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/auto-complete/auto-complete.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/auto-complete/auto-complete.component.html @@ -1,71 +1,103 @@ -
- -
- -
-
- - {{ label$ }} - - - - - - {{ opt.value }} -
- - - - -
-
-
-
- - - {{ opt.value }} -
- - - - -
-
-
-
- -
+} @else { + @if (!bReadonly$ && bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + - add - {{ createNewLabel }} - -
- - {{ helperText }} - {{ getErrorMessage() }} - + @if (hasGroupBy) { + @for (group of groupedFilteredOptions$ | async; track group) { + + @for (opt of group.options; track opt) { + + {{ opt.value }} + @if (opt.secondaryComponents?.length) { +
+ @for (secondary of opt.secondaryComponents; track secondary; let last = $last) { + + @if (!last) { + + } + } +
+ } +
+ } +
+ } + } @else { + @for (opt of filteredOptions | async; track opt) { + + {{ opt.value }} + @if (opt.secondaryComponents?.length) { +
+ @for (secondary of opt.secondaryComponents; track secondary; let last = $last) { + + @if (!last) { + + } + } +
+ } +
+ } + } + @if (showCreateButton) { +
+ + +
+ } + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ }
-
-
- - - + } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/cancel-alert/cancel-alert.component.html b/packages/angular-sdk-components/src/lib/_components/field/cancel-alert/cancel-alert.component.html index 148c3140a..5a73435c8 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/cancel-alert/cancel-alert.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/cancel-alert/cancel-alert.component.html @@ -1,14 +1,16 @@ -
-
-

{{ localizedVal('Discard unsaved changes?', localeCategory) }}

-
-

{{ localizedVal('You have unsaved changes. You can discard them or go back to keep working.', localeCategory) }}

+@if (bShowAlert$) { +
+
+

{{ localizedVal('Discard unsaved changes?', localeCategory) }}

+
+

{{ localizedVal('You have unsaved changes. You can discard them or go back to keep working.', localeCategory) }}

+
+
-
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/cancel-alert/cancel-alert.component.ts b/packages/angular-sdk-components/src/lib/_components/field/cancel-alert/cancel-alert.component.ts index 2c6727514..fed9ca921 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/cancel-alert/cancel-alert.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/cancel-alert/cancel-alert.component.ts @@ -1,5 +1,5 @@ import { Component, Input, Output, EventEmitter, OnChanges, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatButtonModule } from '@angular/material/button'; import { MatGridListModule } from '@angular/material/grid-list'; import { ProgressSpinnerService } from '../../../_messages/progress-spinner.service'; @@ -9,7 +9,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-cancel-alert', templateUrl: './cancel-alert.component.html', styleUrls: ['./cancel-alert.component.scss'], - imports: [CommonModule, MatGridListModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatGridListModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)] }) export class CancelAlertComponent implements OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/field/check-box/check-box.component.html b/packages/angular-sdk-components/src/lib/_components/field/check-box/check-box.component.html index 8faee5eea..8aca792fd 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/check-box/check-box.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/check-box/check-box.component.html @@ -1,61 +1,78 @@ -
-
- -
-
- -
-
-
- - - +@if (variant !== 'card') { +
+ @if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
-
-
- {{ item.text ?? item.value }} - + } @else { + @if (bHasForm$) { +
+ @if (bVisible$) { +
+ @if (showLabel$) { +
+ + + +
+ } + @if (selectionMode === 'multi') { +
+ @for (item of listOfCheckboxes; track item) { +
+ {{ item.text ?? item.value }} + +
+ } +
+ } @else { + {{ caption$ }} + @if (helperText && !(fieldControl.invalid && (fieldControl.touched || fieldControl.dirty))) { +

+ {{ helperText }} +

+ } + } + @if (fieldControl.invalid && (fieldControl.touched || fieldControl.dirty)) { + {{ getErrorMessage() }} + } +
+ }
-
- - {{ caption$ }} -

- {{ helperText }} -

-
- {{ getErrorMessage() }} -
+ } @else { + @if (bVisible$ !== false) { + + } + } + }
- - - - - +} @else {

{{ label$ }}

-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/check-box/check-box.component.ts b/packages/angular-sdk-components/src/lib/_components/field/check-box/check-box.component.ts index 96a3be893..be6645fb9 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/check-box/check-box.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/check-box/check-box.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, forwardRef, OnDestroy } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, forwardRef, OnDestroy } from '@angular/core'; import { CommonModule } from '@angular/common'; import { ReactiveFormsModule } from '@angular/forms'; import { MatCheckboxModule } from '@angular/material/checkbox'; @@ -30,6 +30,7 @@ interface CheckboxProps extends Omit { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-check-box', templateUrl: './check-box.component.html', styleUrls: ['./check-box.component.scss'], diff --git a/packages/angular-sdk-components/src/lib/_components/field/currency/currency.component.html b/packages/angular-sdk-components/src/lib/_components/field/currency/currency.component.html index 41c621d49..17789d31e 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/currency/currency.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/currency/currency.component.html @@ -1,41 +1,53 @@ -
- -
- -
-
- - {{ label$ }} -
- +@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + } +
+} @else { + @if (bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} +
+ +
+ @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } +
- {{ helperText }} - {{ getErrorMessage() }} - + }
-
- - - - + } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/currency/currency.component.ts b/packages/angular-sdk-components/src/lib/_components/field/currency/currency.component.ts index 1eda96f33..e85230af0 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/currency/currency.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/currency/currency.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { FormControl, ReactiveFormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -21,11 +21,11 @@ interface CurrrencyProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-currency', templateUrl: './currency.component.html', styleUrls: ['./currency.component.scss'], imports: [ - CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, diff --git a/packages/angular-sdk-components/src/lib/_components/field/date-time/date-time.component.html b/packages/angular-sdk-components/src/lib/_components/field/date-time/date-time.component.html index 98b4208d8..2b2b2858c 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/date-time/date-time.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/date-time/date-time.component.html @@ -1,29 +1,41 @@ -
- -
- -
-
- - {{ label$ }} - - - - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (!bReadonly$ && bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/date-time/date-time.component.ts b/packages/angular-sdk-components/src/lib/_components/field/date-time/date-time.component.ts index 8c6b053f5..7f3f7d1a8 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/date-time/date-time.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/date-time/date-time.component.ts @@ -1,5 +1,5 @@ -import { Component, OnInit, forwardRef, OnDestroy, inject } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, OnInit, forwardRef, OnDestroy, inject } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatInputModule } from '@angular/material/input'; @@ -21,11 +21,11 @@ interface DateTimeProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-date-time', templateUrl: './date-time.component.html', styleUrls: ['./date-time.component.scss'], imports: [ - CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, diff --git a/packages/angular-sdk-components/src/lib/_components/field/date/date.component.html b/packages/angular-sdk-components/src/lib/_components/field/date/date.component.html index ae887244f..a017be4f5 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/date/date.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/date/date.component.html @@ -1,32 +1,44 @@ -
- -
- -
-
- - {{ label$ }} - - - - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (!bReadonly$ && bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/date/date.component.ts b/packages/angular-sdk-components/src/lib/_components/field/date/date.component.ts index fa343e761..b554ec069 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/date/date.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/date/date.component.ts @@ -1,5 +1,5 @@ -import { Component, OnInit, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, OnInit, forwardRef, OnDestroy } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatNativeDateModule } from '@angular/material/core'; @@ -40,11 +40,11 @@ class MyFormat { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-date', templateUrl: './date.component.html', styleUrls: ['./date.component.scss'], imports: [ - CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, diff --git a/packages/angular-sdk-components/src/lib/_components/field/decimal/decimal.component.html b/packages/angular-sdk-components/src/lib/_components/field/decimal/decimal.component.html index 3dc41cbd4..12f64f2ea 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/decimal/decimal.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/decimal/decimal.component.html @@ -1,40 +1,52 @@ -
- -
- -
-
- - {{ label$ }} - - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/decimal/decimal.component.ts b/packages/angular-sdk-components/src/lib/_components/field/decimal/decimal.component.ts index c3cfa4fa6..4287c316c 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/decimal/decimal.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/decimal/decimal.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -22,11 +22,11 @@ interface DecimalProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-decimal', templateUrl: './decimal.component.html', styleUrls: ['./decimal.component.scss'], imports: [ - CommonModule, ReactiveFormsModule, FormsModule, MatFormFieldModule, diff --git a/packages/angular-sdk-components/src/lib/_components/field/dropdown/dropdown.component.html b/packages/angular-sdk-components/src/lib/_components/field/dropdown/dropdown.component.html index cfcc30f1e..9d165e171 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/dropdown/dropdown.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/dropdown/dropdown.component.html @@ -1,33 +1,43 @@ -
- -
- -
-
- - - - {{ getLocalizedOptionValue(opt) }} - - - {{ label$ }} - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (!bReadonly$ && bHasForm$) { +
+ @if (bVisible$) { +
+ + + @for (opt of options$; track opt) { + + {{ getLocalizedOptionValue(opt) }} + + } + + {{ label$ }} + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/dropdown/dropdown.component.ts b/packages/angular-sdk-components/src/lib/_components/field/dropdown/dropdown.component.ts index aabd1fe71..bf82d96d0 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/dropdown/dropdown.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/dropdown/dropdown.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, forwardRef, OnDestroy, Output, EventEmitter } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatOptionModule } from '@angular/material/core'; import { MatSelectModule } from '@angular/material/select'; @@ -68,7 +68,6 @@ interface DropdownProps extends PConnFieldProps { templateUrl: './dropdown.component.html', styleUrls: ['./dropdown.component.scss'], imports: [ - CommonModule, ReactiveFormsModule, MatFormFieldModule, MatSelectModule, diff --git a/packages/angular-sdk-components/src/lib/_components/field/email/email.component.html b/packages/angular-sdk-components/src/lib/_components/field/email/email.component.html index f934581d4..bfef4a791 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/email/email.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/email/email.component.html @@ -1,28 +1,40 @@ -
- -
- -
-
- - {{ label$ }} - - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (!bReadonly$ && bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/email/email.component.ts b/packages/angular-sdk-components/src/lib/_components/field/email/email.component.ts index 3d3402a0a..319f910a2 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/email/email.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/email/email.component.ts @@ -1,5 +1,5 @@ -import { Component, OnInit, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, OnInit, forwardRef, OnDestroy } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -15,10 +15,11 @@ interface EmailProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-email', templateUrl: './email.component.html', styleUrls: ['./email.component.scss'], - imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] + imports: [ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] }) export class EmailComponent extends FieldBase implements OnInit, OnDestroy { configProps$: EmailProps; diff --git a/packages/angular-sdk-components/src/lib/_components/field/embedded-data-multi/embedded-data-multi.component.html b/packages/angular-sdk-components/src/lib/_components/field/embedded-data-multi/embedded-data-multi.component.html index e1aff8cfe..15068119f 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/embedded-data-multi/embedded-data-multi.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/embedded-data-multi/embedded-data-multi.component.html @@ -1,3 +1,5 @@ -
- -
+@if (bVisible$ && simpleTableComponentName) { +
+ +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/embedded-data-multi/embedded-data-multi.component.ts b/packages/angular-sdk-components/src/lib/_components/field/embedded-data-multi/embedded-data-multi.component.ts index 044fe1133..c1b3f4960 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/embedded-data-multi/embedded-data-multi.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/embedded-data-multi/embedded-data-multi.component.ts @@ -1,4 +1,3 @@ -import { CommonModule } from '@angular/common'; import { Component, Input, OnInit, OnDestroy, forwardRef } from '@angular/core'; import { FormGroup } from '@angular/forms'; @@ -25,7 +24,7 @@ interface EmbeddedDataMultiProps { selector: 'app-embedded-data-multi', templateUrl: './embedded-data-multi.component.html', styleUrls: ['./embedded-data-multi.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class EmbeddedDataMultiComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/field/field.base.ts b/packages/angular-sdk-components/src/lib/_components/field/field.base.ts index 53cc1a7d9..9b531254f 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/field.base.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/field.base.ts @@ -1,4 +1,4 @@ -import { Directive, inject, Input, OnDestroy, OnInit } from '@angular/core'; +import { ChangeDetectorRef, Directive, inject, Input, OnDestroy, OnInit } from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../_bridge/angular-pconnect'; @@ -6,12 +6,16 @@ import { Utils } from '../../_helpers/utils'; import type { PConnFieldProps } from '../../_types/PConnProps.interface'; @Directive() -export class FieldBase implements OnInit, OnDestroy { +/** + * @typeParam TValue type of the field value held in `value$`; defaults to `any` so existing subclasses are unaffected. + */ +export class FieldBase implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; @Input() formGroup$: FormGroup; protected angularPConnect = inject(AngularPConnectService); protected utils = inject(Utils); + private readonly fieldCdr = inject(ChangeDetectorRef); protected angularPConnectData: AngularPConnectData = {}; @@ -24,7 +28,7 @@ export class FieldBase implements OnInit, OnDestroy { testId: string; helperText: string; placeholder: string; - value$: any = ''; + value$: TValue = '' as TValue; label$ = ''; hideLabel = false; bRequired$ = false; @@ -74,6 +78,13 @@ export class FieldBase implements OnInit, OnDestroy { } } + /** + * Called by the bridge after a store-driven update so OnPush subclasses re-render. + */ + markForCheck(): void { + this.fieldCdr.markForCheck(); + } + // Callback passed when subscribing to store change onStateChange() { this.checkAndUpdate(); diff --git a/packages/angular-sdk-components/src/lib/_components/field/group/group.component.html b/packages/angular-sdk-components/src/lib/_components/field/group/group.component.html index 30df61611..e59f37f84 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/group/group.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/group/group.component.html @@ -1,4 +1,4 @@ - +@if (visibility$ && arChildren$.length) { - -
- -
+ @for (kid of arChildren$; track kid) { +
+ +
+ }
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/group/group.component.ts b/packages/angular-sdk-components/src/lib/_components/field/group/group.component.ts index 7c7274390..bb000e558 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/group/group.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/group/group.component.ts @@ -1,4 +1,3 @@ -import { CommonModule } from '@angular/common'; import { Component, forwardRef, Input, OnDestroy, OnInit } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; @@ -17,7 +16,7 @@ interface GroupProps extends PConnFieldProps { selector: 'app-group', templateUrl: './group.component.html', styleUrls: ['./group.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class GroupComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/field/integer/integer.component.html b/packages/angular-sdk-components/src/lib/_components/field/integer/integer.component.html index 832881366..06de7c743 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/integer/integer.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/integer/integer.component.html @@ -1,29 +1,41 @@ -
- -
- -
-
- - {{ label$ }} - - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (!bReadonly$ && bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/integer/integer.component.ts b/packages/angular-sdk-components/src/lib/_components/field/integer/integer.component.ts index 84a586b1f..15492fd78 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/integer/integer.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/integer/integer.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { FormControl, ReactiveFormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -15,10 +15,11 @@ interface IntegerProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-integer', templateUrl: './integer.component.html', styleUrls: ['./integer.component.scss'], - imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] + imports: [ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] }) export class IntegerComponent extends FieldBase { configProps$: IntegerProps; diff --git a/packages/angular-sdk-components/src/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.ts b/packages/angular-sdk-components/src/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.ts index 58d76f64c..46cdaf1ed 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.ts @@ -1,4 +1,3 @@ -import { CommonModule } from '@angular/common'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatGridListModule } from '@angular/material/grid-list'; @@ -7,7 +6,7 @@ import { MatGridListModule } from '@angular/material/grid-list'; selector: 'app-list-view-action-buttons', templateUrl: './list-view-action-buttons.component.html', styleUrls: ['./list-view-action-buttons.component.scss'], - imports: [CommonModule, MatGridListModule, MatButtonModule] + imports: [MatGridListModule, MatButtonModule] }) export class ListViewActionButtonsComponent { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/field/location/location.component.html b/packages/angular-sdk-components/src/lib/_components/field/location/location.component.html index 1bfcac5f8..21be19ea4 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/location/location.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/location/location.component.html @@ -1,47 +1,59 @@ -
- - - {{ label$ }} - - {{ getErrorMessage() }} - {{ helperText }} - - - - - {{ option }} - - - - -
- - - -
+@if (mapReady && bVisible$) { +
+ + + {{ label$ }} + + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + @if (helperText) { + {{ helperText }} + } + + + @for (option of filteredOptions; track option) { + + {{ option }} + + } + + + + @if (showMap) { +
+ + @if (markerPosition) { + + } + + @if (bDisabled$ || bReadonly$) { +
+ } +
+ }
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/location/location.component.ts b/packages/angular-sdk-components/src/lib/_components/field/location/location.component.ts index 8d9764141..3a61647e6 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/location/location.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/location/location.component.ts @@ -1,5 +1,6 @@ -import { Component, inject } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { Component, DestroyRef, inject } from '@angular/core'; +import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; @@ -27,7 +28,6 @@ interface LocationProps extends PConnFieldProps { @Component({ selector: 'app-location', imports: [ - CommonModule, GoogleMapsModule, MatAutocompleteModule, MatButtonModule, @@ -43,6 +43,7 @@ interface LocationProps extends PConnFieldProps { }) export class LocationComponent extends FieldBase { private loader = inject(GoogleMapsLoaderService); + private destroyRef = inject(DestroyRef); private autocompleteService!: google.maps.places.AutocompleteService; private geocoder!: google.maps.Geocoder; @@ -212,7 +213,8 @@ export class LocationComponent extends FieldBase { this.fieldControl.valueChanges .pipe( debounceTime(300), - switchMap(value => this.getSuggestions(value || '')) + switchMap(value => this.getSuggestions(value || '')), + takeUntilDestroyed(this.destroyRef) ) .subscribe(predictions => { this.filteredOptions = predictions; diff --git a/packages/angular-sdk-components/src/lib/_components/field/multiselect/multiselect.component.html b/packages/angular-sdk-components/src/lib/_components/field/multiselect/multiselect.component.html index b6406a920..ff28f42a0 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/multiselect/multiselect.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/multiselect/multiselect.component.html @@ -2,14 +2,14 @@ {{ label$ }} - + @for (select of selectedItems; track select) { {{ select.primary }} - + } - - - {{ item.primary }} - - + @for (item of itemsTree; track item) { + + + {{ item.primary }} + + + } - {{ getErrorMessage() }} + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + }
diff --git a/packages/angular-sdk-components/src/lib/_components/field/multiselect/multiselect.component.ts b/packages/angular-sdk-components/src/lib/_components/field/multiselect/multiselect.component.ts index 01747ebcd..187dab2e4 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/multiselect/multiselect.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/multiselect/multiselect.component.ts @@ -1,4 +1,3 @@ -import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { MatAutocompleteModule } from '@angular/material/autocomplete'; @@ -19,7 +18,6 @@ import { handleEvent } from '../../../_helpers/event-util'; templateUrl: './multiselect.component.html', styleUrls: ['./multiselect.component.scss'], imports: [ - CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, diff --git a/packages/angular-sdk-components/src/lib/_components/field/object-reference/object-reference.component.html b/packages/angular-sdk-components/src/lib/_components/field/object-reference/object-reference.component.html index b86e07c93..306d0fa5d 100755 --- a/packages/angular-sdk-components/src/lib/_components/field/object-reference/object-reference.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/object-reference/object-reference.component.html @@ -1,32 +1,41 @@ - - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
-
+@if (bVisible$) { + @switch (renderMode) { + + @case ('singleReferenceReadonly') { +
+ +
+ } + + @case ('multiReferenceReadonly') { +
+ +
+ } + + @case ('semanticLink') { +
+ +
+ } + + @case ('searchAndSelect') { +
+ +
+ } + + @case ('dynamicComponent') { +
+ @if (newComponentName) { + + } +
+ } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/object-reference/object-reference.component.ts b/packages/angular-sdk-components/src/lib/_components/field/object-reference/object-reference.component.ts index 6a222220e..6a36d55b2 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/object-reference/object-reference.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/object-reference/object-reference.component.ts @@ -1,4 +1,3 @@ -import { CommonModule } from '@angular/common'; import { Component, Input, OnInit, forwardRef, OnDestroy } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { ComponentMetadataConfig } from '@pega/pcore-pconnect-typedefs/interpreter/types'; @@ -39,7 +38,7 @@ type RenderMode = 'singleReferenceReadonly' | 'multiReferenceReadonly' | 'semant @Component({ selector: 'app-object-reference', - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], + imports: [forwardRef(() => ComponentMapperComponent)], templateUrl: './object-reference.component.html', styleUrl: './object-reference.component.scss' }) diff --git a/packages/angular-sdk-components/src/lib/_components/field/percentage/percentage.component.html b/packages/angular-sdk-components/src/lib/_components/field/percentage/percentage.component.html index fe2a664ac..da1e09ed2 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/percentage/percentage.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/percentage/percentage.component.html @@ -1,41 +1,53 @@ -
- -
- -
-
- - {{ label$ }} - - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/percentage/percentage.component.ts b/packages/angular-sdk-components/src/lib/_components/field/percentage/percentage.component.ts index 4628e2894..83d12a2e9 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/percentage/percentage.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/percentage/percentage.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { FormControl, ReactiveFormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -22,11 +22,11 @@ interface PercentageProps extends Omit { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-percentage', templateUrl: './percentage.component.html', styleUrls: ['./percentage.component.scss'], imports: [ - CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, diff --git a/packages/angular-sdk-components/src/lib/_components/field/phone/phone.component.html b/packages/angular-sdk-components/src/lib/_components/field/phone/phone.component.html index ab85170a7..fe0779c6c 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/phone/phone.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/phone/phone.component.html @@ -1,28 +1,38 @@ -
- -
- -
- - - - {{ label$ }} - {{ helperText }} - {{ getErrorMessage() }} - +@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (bHasForm$ && bVisible$) { +
+ + + + {{ label$ }} + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/phone/phone.component.ts b/packages/angular-sdk-components/src/lib/_components/field/phone/phone.component.ts index 221ec4e73..d0eac7d46 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/phone/phone.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/phone/phone.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatTelInput } from 'mat-tel-input'; @@ -16,10 +16,11 @@ interface PhoneProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-phone', templateUrl: './phone.component.html', styleUrls: ['./phone.component.scss'], - imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatTelInput, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] + imports: [ReactiveFormsModule, MatFormFieldModule, MatTelInput, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] }) export class PhoneComponent extends FieldBase { configProps$: PhoneProps; diff --git a/packages/angular-sdk-components/src/lib/_components/field/radio-buttons/radio-buttons.component.html b/packages/angular-sdk-components/src/lib/_components/field/radio-buttons/radio-buttons.component.html index da02cd0c0..f11877076 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/radio-buttons/radio-buttons.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/radio-buttons/radio-buttons.component.html @@ -1,43 +1,45 @@ -
-
- -
-
- -
- - {{ label$ }} - - - - {{ getLocalizedOptionValue(opt) }} - - - {{ helperText }} - {{ getErrorMessage() }} - +@if (variant !== 'card') { +
+ @if (displayMode$) { +
+ @if (bVisible$ !== false) { + + } +
+ } @else { + @if (bVisible$) { +
+ + {{ label$ }} + + + @for (opt of options$; track opt) { + + {{ getLocalizedOptionValue(opt) }} + + } + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } + }
- - +} @else {

{{ label$ }}

-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/radio-buttons/radio-buttons.component.ts b/packages/angular-sdk-components/src/lib/_components/field/radio-buttons/radio-buttons.component.ts index 06cf7c4fe..1c5a9634b 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/radio-buttons/radio-buttons.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/radio-buttons/radio-buttons.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatRadioModule } from '@angular/material/radio'; import { MatInputModule } from '@angular/material/input'; @@ -25,12 +25,12 @@ interface RadioButtonsProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-radio-buttons', templateUrl: './radio-buttons.component.html', styleUrls: ['./radio-buttons.component.scss'], providers: [Utils], imports: [ - CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, diff --git a/packages/angular-sdk-components/src/lib/_components/field/rich-text/rich-text.component.html b/packages/angular-sdk-components/src/lib/_components/field/rich-text/rich-text.component.html index f783c1678..9367f77d7 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/rich-text/rich-text.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/rich-text/rich-text.component.html @@ -1,22 +1,28 @@ -
- -
- - -
-
- -
-
-
- - -
- +@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- +} @else { + @if (!bReadonly$) { +
+ @if (bVisible$) { +
+ +
+ } +
+ } @else { + @if (bVisible$ !== false) { +
+ +
+ } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/rich-text/rich-text.component.ts b/packages/angular-sdk-components/src/lib/_components/field/rich-text/rich-text.component.ts index 5407a688d..0466a7386 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/rich-text/rich-text.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/rich-text/rich-text.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { FieldBase } from '../field.base'; @@ -12,10 +12,11 @@ interface RichTextProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-rich-text', templateUrl: './rich-text.component.html', styleUrls: ['./rich-text.component.scss'], - imports: [CommonModule, ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)] + imports: [ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)] }) export class RichTextComponent extends FieldBase { configProps$: RichTextProps; diff --git a/packages/angular-sdk-components/src/lib/_components/field/scalar-list/scalar-list.component.html b/packages/angular-sdk-components/src/lib/_components/field/scalar-list/scalar-list.component.html index cc91beb14..551695a8f 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/scalar-list/scalar-list.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/scalar-list/scalar-list.component.html @@ -1,9 +1,15 @@ -
-
- - +@if (isDisplayModeEnabled) { +
+ @for (value of items; track value) { +
+ + +
+ }
-
-
- -
+} +@if (!isDisplayModeEnabled) { +
+ +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/scalar-list/scalar-list.component.ts b/packages/angular-sdk-components/src/lib/_components/field/scalar-list/scalar-list.component.ts index e0b28a414..b1afebd60 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/scalar-list/scalar-list.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/scalar-list/scalar-list.component.ts @@ -1,5 +1,4 @@ -import { CommonModule } from '@angular/common'; -import { Component, forwardRef } from '@angular/core'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; import { FieldBase } from '../field.base'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -14,10 +13,11 @@ interface ScalarListProps extends Omit { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-scalar-list', templateUrl: './scalar-list.component.html', styleUrls: ['./scalar-list.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class ScalarListComponent extends FieldBase { configProps$: ScalarListProps; diff --git a/packages/angular-sdk-components/src/lib/_components/field/selectable-card/selectable-card.component.html b/packages/angular-sdk-components/src/lib/_components/field/selectable-card/selectable-card.component.html index 71910278e..dbda196ea 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/selectable-card/selectable-card.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/selectable-card/selectable-card.component.html @@ -1,71 +1,65 @@ -
-
- - {{ cardContent.cardImage.alt }} - - {{ cardContent.commonCardProps.label }} -
-
{{ field.name }}
-
{{ field?.value?.getPConnect().getConfigProps().value ?? '--' }}
-
-
-
+@if (type === 'checkbox') { +
+ @for (cardContent of contentList; track cardContent) { +
+ + @if (cardContent.cardImage) { + {{ cardContent.cardImage.alt }} + } + + {{ cardContent.commonCardProps.label }} + @for (field of cardContent.commonCardProps.fields; track field) { +
+
{{ field.name }}
+
{{ field?.value?.getPConnect().getConfigProps().value ?? '--' }}
+
+ } +
+
+
+ }
-
+} - -
- - {{ cardContent.cardImage.alt }} - - - {{ cardContent.commonCardProps.label }} - -
-
{{ field.name }}
-
{{ field?.value?.getPConnect().getConfigProps().value ?? '--' }}
-
-
-
-
-
+@if (type === 'radio') { + + @for (cardContent of contentList; track cardContent) { +
+ + @if (cardContent.cardImage) { + {{ cardContent.cardImage.alt }} + } + + + {{ cardContent.commonCardProps.label }} + + @for (field of cardContent.commonCardProps.fields; track field) { +
+
{{ field.name }}
+
{{ field?.value?.getPConnect().getConfigProps().value ?? '--' }}
+
+ } +
+
+
+ } +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/selectable-card/selectable-card.component.ts b/packages/angular-sdk-components/src/lib/_components/field/selectable-card/selectable-card.component.ts index 95aafcbef..fae95891f 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/selectable-card/selectable-card.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/selectable-card/selectable-card.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input, OnInit, EventEmitter, Output } from '@angular/core'; import { CommonModule } from '@angular/common'; import { MatCardModule } from '@angular/material/card'; import { MatRadioModule } from '@angular/material/radio'; @@ -24,6 +24,7 @@ interface SelectableCardProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'lib-selectable-card', imports: [MatCardModule, CommonModule, MatRadioModule, MatCheckboxModule], templateUrl: './selectable-card.component.html', diff --git a/packages/angular-sdk-components/src/lib/_components/field/semantic-link/semantic-link.component.html b/packages/angular-sdk-components/src/lib/_components/field/semantic-link/semantic-link.component.html index 5503aba23..136083553 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/semantic-link/semantic-link.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/semantic-link/semantic-link.component.html @@ -1,6 +1,9 @@ - - -
{{ value$ || '---' }}
-
+@if (bVisible$ !== false) { +
+ @if (!isLinkTextEmpty) { + {{ value$ || '---' }} + } @else { +
{{ value$ || '---' }}
+ } +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/semantic-link/semantic-link.component.ts b/packages/angular-sdk-components/src/lib/_components/field/semantic-link/semantic-link.component.ts index 1a67a94ab..70ae6c016 100755 --- a/packages/angular-sdk-components/src/lib/_components/field/semantic-link/semantic-link.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/semantic-link/semantic-link.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectorRef, Component, OnInit, Input, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { getDataReferenceInfo, isLinkTextEmpty } from '../../../_helpers/semanticLink-utils'; @@ -21,7 +21,7 @@ interface SemanticLinkProps extends PConnFieldProps { selector: 'app-semantic-link', templateUrl: './semantic-link.component.html', styleUrls: ['./semantic-link.component.scss'], - imports: [CommonModule] + imports: [] }) export class SemanticLinkComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/field/text-area/text-area.component.html b/packages/angular-sdk-components/src/lib/_components/field/text-area/text-area.component.html index a733b9315..8d18bd59e 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/text-area/text-area.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/text-area/text-area.component.html @@ -1,33 +1,45 @@ -
- -
- -
-
-
- - {{ label$ }} - - {{ helperText }} - {{ getErrorMessage() }} - +@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + } +
+} @else { + @if (bHasForm$) { +
+
+ @if (bVisible$) { +
+ + {{ label$ }} + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ }
-
- - - - + } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/text-area/text-area.component.ts b/packages/angular-sdk-components/src/lib/_components/field/text-area/text-area.component.ts index 4bb1ece90..4953c729e 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/text-area/text-area.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/text-area/text-area.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -16,10 +16,11 @@ interface TextAreaProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-text-area', templateUrl: './text-area.component.html', styleUrls: ['./text-area.component.scss'], - imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] + imports: [ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] }) export class TextAreaComponent extends FieldBase { configProps$: TextAreaProps; diff --git a/packages/angular-sdk-components/src/lib/_components/field/text-content/text-content.component.html b/packages/angular-sdk-components/src/lib/_components/field/text-content/text-content.component.html index 8e704d22e..c49ec7663 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/text-content/text-content.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/text-content/text-content.component.html @@ -1,7 +1,19 @@ -
-
{{ content$ }}
-
{{ content$ }}
-
{{ content$ }}
-
{{ content$ }}
-
{{ content$ }}
-
+@if (bVisible$ !== false) { +
+ @if (displayAs$ == 'Paragraph') { +
{{ content$ }}
+ } + @if (displayAs$ == 'Heading 1') { +
{{ content$ }}
+ } + @if (displayAs$ == 'Heading 2') { +
{{ content$ }}
+ } + @if (displayAs$ == 'Heading 3') { +
{{ content$ }}
+ } + @if (displayAs$ == 'Heading 4') { +
{{ content$ }}
+ } +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/field/text-content/text-content.component.ts b/packages/angular-sdk-components/src/lib/_components/field/text-content/text-content.component.ts index 96e98d998..93b6e5916 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/text-content/text-content.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/text-content/text-content.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { Utils } from '../../../_helpers/utils'; import { PConnFieldProps } from '../../../_types/PConnProps.interface'; @@ -14,7 +14,7 @@ interface TextContentProps extends PConnFieldProps { selector: 'app-text-content', templateUrl: './text-content.component.html', styleUrls: ['./text-content.component.scss'], - imports: [CommonModule] + imports: [] }) export class TextContentComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/field/text-input/text-input.component.html b/packages/angular-sdk-components/src/lib/_components/field/text-input/text-input.component.html index aa9ca6be1..89bb71560 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/text-input/text-input.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/text-input/text-input.component.html @@ -1,28 +1,40 @@ -
- -
- -
-
- - {{ label$ }} - - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (!bReadonly$ && bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/text-input/text-input.component.ts b/packages/angular-sdk-components/src/lib/_components/field/text-input/text-input.component.ts index cab681e5f..2e691a601 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/text-input/text-input.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/text-input/text-input.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -16,10 +16,11 @@ interface TextInputProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-text-input', templateUrl: './text-input.component.html', styleUrls: ['./text-input.component.scss'], - imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] + imports: [ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] }) export class TextInputComponent extends FieldBase { configProps$: TextInputProps; diff --git a/packages/angular-sdk-components/src/lib/_components/field/text/text.component.html b/packages/angular-sdk-components/src/lib/_components/field/text/text.component.html index e7499e5b1..75fee1833 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/text/text.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/text/text.component.html @@ -1,14 +1,23 @@ -
- -
- -
- - - -
- - {{ formattedValue$ }} -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- +} @else { + @if (bVisible$ !== false) { +
+ + + +
+ @if (formatAs$ != 'url') { + + } + @if (formatAs$ == 'url') { + {{ formattedValue$ }} + } +
+
+ } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/text/text.component.ts b/packages/angular-sdk-components/src/lib/_components/field/text/text.component.ts index 8350bdfa5..48652d35d 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/text/text.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/text/text.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { Utils } from '../../../_helpers/utils'; @@ -15,7 +15,7 @@ interface TextProps extends PConnFieldProps { selector: 'app-text', templateUrl: './text.component.html', styleUrls: ['./text.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class TextComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/field/time/time.component.html b/packages/angular-sdk-components/src/lib/_components/field/time/time.component.html index ddca7fbfd..1f4409bd8 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/time/time.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/time/time.component.html @@ -1,28 +1,40 @@ -
- -
- -
-
- - {{ label$ }} - - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (!bReadonly$ && bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/time/time.component.ts b/packages/angular-sdk-components/src/lib/_components/field/time/time.component.ts index f8d92e74a..2fc47f7bc 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/time/time.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/time/time.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -16,10 +16,11 @@ interface TimeProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-time', templateUrl: './time.component.html', styleUrls: ['./time.component.scss'], - imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] + imports: [ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] }) export class TimeComponent extends FieldBase { configProps$: TimeProps; diff --git a/packages/angular-sdk-components/src/lib/_components/field/url/url.component.html b/packages/angular-sdk-components/src/lib/_components/field/url/url.component.html index 1f30da267..cb0d6e07b 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/url/url.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/url/url.component.html @@ -1,28 +1,40 @@ -
- -
- -
-
- - {{ label$ }} - - {{ helperText }} - {{ getErrorMessage() }} - -
+@if (displayMode$) { +
+ @if (bVisible$ !== false) { + + }
- - - - +} @else { + @if (!bReadonly$ && bHasForm$) { +
+ @if (bVisible$) { +
+ + {{ label$ }} + + @if (helperText) { + {{ helperText }} + } + @if (fieldControl.invalid) { + {{ getErrorMessage() }} + } + +
+ } +
+ } @else { + @if (bVisible$ !== false) { + + } + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/field/url/url.component.ts b/packages/angular-sdk-components/src/lib/_components/field/url/url.component.ts index b57bb74b7..8c4ca985b 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/url/url.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/field/url/url.component.ts @@ -1,5 +1,5 @@ -import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; + import { ReactiveFormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -15,10 +15,11 @@ interface URLProps extends PConnFieldProps { } @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-url', templateUrl: './url.component.html', styleUrls: ['./url.component.scss'], - imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] + imports: [ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)] }) export class UrlComponent extends FieldBase { configProps$: URLProps; diff --git a/packages/angular-sdk-components/src/lib/_components/field/user-reference/user-reference.component.html b/packages/angular-sdk-components/src/lib/_components/field/user-reference/user-reference.component.html index 6f1ab4faf..95ba999e9 100644 --- a/packages/angular-sdk-components/src/lib/_components/field/user-reference/user-reference.component.html +++ b/packages/angular-sdk-components/src/lib/_components/field/user-reference/user-reference.component.html @@ -1,49 +1,68 @@
-
- -
- + @if (displayMode$) { +
+ +
+ } @else {
-
- -
-
- - - - {{ opt.value }} - - - {{ label$ }} - - {{ getErrorMessage() }} - - {{ helperText }} - -
-
- - {{ label$ }} - - - - {{ opt.value }} - - - - {{ getErrorMessage() }} - - {{ helperText }} - -
+ @if (this.userID$ && type === 'operator') { +
+ +
+ } + @if (type === 'dropdown') { +
+ + + @for (opt of options$; track opt) { + + {{ opt.value }} + + } + + {{ label$ }} + @if (fieldControl.invalid) { + + {{ getErrorMessage() }} + + } + @if (helperText) { + {{ helperText }} + } + +
+ } + @if (type === 'searchbox') { +
+ + {{ label$ }} + + + @for (opt of filteredOptions | async; track opt) { + + {{ opt.value }} + + } + + @if (fieldControl.invalid) { + + {{ getErrorMessage() }} + + } + @if (helperText) { + {{ helperText }} + } + +
+ }
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/infra/Containers/flow-container/flow-container.component.html b/packages/angular-sdk-components/src/lib/_components/infra/Containers/flow-container/flow-container.component.html index 8faf4151c..36844d384 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/Containers/flow-container/flow-container.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/Containers/flow-container/flow-container.component.html @@ -1,44 +1,62 @@
-
-
-

{{ containerName$ }}

-
- -
+ @if (!bShowConfirm) { +
+ @if (!todo_showTodo$) { +
+ @if (containerName$) { +

{{ containerName$ }}

+ } + @if (banners.length) { +
+ +
+ } +
+ } + @if (todo_showTodo$) { +
+ @if (pConnectOfActiveContainerItem) { + + } +
+ } + @if (!todo_showTodo$) { +
+ @if (pConnectOfActiveContainerItem) { + + } +
+ }
-
- + } + @if (bHasCaseMessages$) { +
+ +
+
+
{{ caseMessages$ }}
+
+
-
- + } + @if (bShowBanner && bShowConfirm && confirm_pconn) { +
+
-
-
- -
-
-
{{ caseMessages$ }}
-
-
-
-
- -
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/infra/Containers/flow-container/flow-container.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/Containers/flow-container/flow-container.component.ts index 0defcc092..569efb8dd 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/Containers/flow-container/flow-container.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/Containers/flow-container/flow-container.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, ChangeDetectorRef, forwardRef, OnDestroy, Injector } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormBuilder, FormGroup } from '@angular/forms'; import { MatCardModule } from '@angular/material/card'; import { publicConstants } from '@pega/pcore-pconnect-typedefs/constants'; @@ -27,7 +27,7 @@ interface FlowContainerProps { templateUrl: './flow-container.component.html', styleUrls: ['./flow-container.component.scss'], providers: [Utils], - imports: [CommonModule, MatCardModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatCardModule, forwardRef(() => ComponentMapperComponent)] }) export class FlowContainerComponent extends FlowContainerBaseComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.ts index 668cd313d..fe961541c 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.ts @@ -1,5 +1,5 @@ import { Component, Input } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; /** @@ -13,7 +13,7 @@ import { FormGroup } from '@angular/forms'; selector: 'app-hybrid-view-container', templateUrl: './hybrid-view-container.component.html', styleUrls: ['./hybrid-view-container.component.scss'], - imports: [CommonModule] + imports: [] }) export class HybridViewContainerComponent { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/data-view-action-buttons/data-view-action-buttons.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/data-view-action-buttons/data-view-action-buttons.component.ts index 7dbb01684..5cb07d212 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/data-view-action-buttons/data-view-action-buttons.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/data-view-action-buttons/data-view-action-buttons.component.ts @@ -1,4 +1,3 @@ -import { CommonModule } from '@angular/common'; import { ChangeDetectorRef, Component, Input } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatGridListModule } from '@angular/material/grid-list'; @@ -6,7 +5,7 @@ import { MatGridListModule } from '@angular/material/grid-list'; @Component({ selector: 'app-data-view-action-buttons', templateUrl: './data-view-action-buttons.component.html', - imports: [CommonModule, MatGridListModule, MatButtonModule] + imports: [MatGridListModule, MatButtonModule] }) export class DataViewActionButtonsComponent { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.html b/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.html index e0c1e71cf..775db86b4 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.html @@ -1,52 +1,62 @@ -
-
-

{{ modal.title }}

- -
- -
-
+@for (modal of modalStack; track trackByModalKey($index, modal)) { +
+
+ @if (modal.title != '') { +

{{ modal.title }}

+ } + @if (modal.isMultiRecordData) { +
+ +
+ } + @if (modal.isDataObjectModal) { +
+ +
+ }
-
+} -
- -
+@if (bShowCancelAlert$) { +
+ +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.ts index 7b13940d6..52dd0abc5 100755 --- a/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectorRef, Component, OnInit, Input, Output, EventEmitter, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormBuilder, FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../../_bridge/angular-pconnect'; import { ProgressSpinnerService } from '../../../../_messages/progress-spinner.service'; @@ -31,7 +31,7 @@ interface ModalEntry { selector: 'app-modal-view-container', templateUrl: './modal-view-container.component.html', styleUrls: ['./modal-view-container.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class ModalViewContainerComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/Containers/view-container/view-container.component.html b/packages/angular-sdk-components/src/lib/_components/infra/Containers/view-container/view-container.component.html index ee21a3e7d..4ed331b79 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/Containers/view-container/view-container.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/Containers/view-container/view-container.component.html @@ -1,31 +1,37 @@
-
-

{{ title$ }}

-
- + @if (isViewContainer$) { +
+ @if (title$ !== '') { +

{{ title$ }}

+ } + @if (templateName$) { +
+ +
+ } @else { + @for (kid of arChildren$; track kid) { +
+ +
+ } + }
- -
- -
-
-
- + } @else { - + }
diff --git a/packages/angular-sdk-components/src/lib/_components/infra/Containers/view-container/view-container.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/Containers/view-container/view-container.component.ts index fa83792f5..b6fb11f0d 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/Containers/view-container/view-container.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/Containers/view-container/view-container.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectorRef, Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../../_bridge/angular-pconnect'; import { ProgressSpinnerService } from '../../../../_messages/progress-spinner.service'; @@ -26,7 +26,7 @@ interface ViewContainerProps { selector: 'app-view-container', templateUrl: './view-container.component.html', styleUrls: ['./view-container.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class ViewContainerComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/action-buttons/action-buttons.component.html b/packages/angular-sdk-components/src/lib/_components/infra/action-buttons/action-buttons.component.html index 51a3c7f27..ac7079708 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/action-buttons/action-buttons.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/action-buttons/action-buttons.component.html @@ -1,17 +1,18 @@ -
-
- +@if (arMainButtons$ && arSecondaryButtons$) { +
+
+ @for (aButton of arSecondaryButtons$; track aButton) { + + } +
+
+ @for (aButton of arMainButtons$; track aButton) { + + } +
-
- -
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/infra/action-buttons/action-buttons.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/action-buttons/action-buttons.component.ts index abea3cfcd..8fed84211 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/action-buttons/action-buttons.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/action-buttons/action-buttons.component.ts @@ -1,12 +1,12 @@ import { Component, Input, Output, EventEmitter } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatButtonModule } from '@angular/material/button'; @Component({ selector: 'app-action-buttons', templateUrl: './action-buttons.component.html', styleUrls: ['./action-buttons.component.scss'], - imports: [CommonModule, MatButtonModule] + imports: [MatButtonModule] }) export class ActionButtonsComponent { @Input() arMainButtons$: any[]; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/assignment-card/assignment-card.component.html b/packages/angular-sdk-components/src/lib/_components/infra/assignment-card/assignment-card.component.html index fb7100f7f..2d6c390f2 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/assignment-card/assignment-card.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/assignment-card/assignment-card.component.html @@ -1,27 +1,38 @@
-
-
- - - - -
Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}
+ @for (kid of childrenArray; track kid) { +
+
+ @switch (kid.getPConnect().getComponentName()) { + @case ('View') { + + } + @case ('reference') { + + } + @case ('CaseCreateStage') { + + } + @case ('Region') { + + } + @default { +
Assignment Card wants component not yet available: {{ kid.getPConnect().getComponentName() }}
+ } + } +
-
+ }
- + @if (arMainButtons$ && arSecondaryButtons$) { + + }
diff --git a/packages/angular-sdk-components/src/lib/_components/infra/assignment-card/assignment-card.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/assignment-card/assignment-card.component.ts index 82361a9ef..46075eb48 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/assignment-card/assignment-card.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/assignment-card/assignment-card.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, Output, EventEmitter, forwardRef, OnChanges, SimpleChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup, ReactiveFormsModule } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -18,7 +18,7 @@ function isChildrenUpdated(children) { selector: 'app-assignment-card', templateUrl: './assignment-card.component.html', styleUrls: ['./assignment-card.component.scss'], - imports: [CommonModule, ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)] + imports: [ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)] }) export class AssignmentCardComponent implements OnInit, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/assignment/assignment.component.html b/packages/angular-sdk-components/src/lib/_components/infra/assignment/assignment.component.html index 28330701e..365c91456 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/assignment/assignment.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/assignment/assignment.component.html @@ -1,29 +1,33 @@
-
- -
-
- -
+ @if (bHasNavigation$) { +
+ +
+ } + @if (!bHasNavigation$) { +
+ +
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/infra/assignment/assignment.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/assignment/assignment.component.ts index a6aaa5266..aa3891327 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/assignment/assignment.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/assignment/assignment.component.ts @@ -1,6 +1,6 @@ /* eslint-disable no-case-declarations */ import { Component, OnInit, Input, forwardRef, OnDestroy, OnChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatSnackBarModule, MatSnackBar } from '@angular/material/snack-bar'; import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; @@ -33,7 +33,7 @@ type StepIndicator = 'horizontal' | 'vertical' | 'vertical-start'; selector: 'app-assignment', templateUrl: './assignment.component.html', styleUrls: ['./assignment.component.scss'], - imports: [CommonModule, MatSnackBarModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatSnackBarModule, forwardRef(() => ComponentMapperComponent)] }) export class AssignmentComponent implements OnInit, OnDestroy, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/dashboard-filter/dashboard-filter.component.html b/packages/angular-sdk-components/src/lib/_components/infra/dashboard-filter/dashboard-filter.component.html index f2b0dcd6d..0615b20a4 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/dashboard-filter/dashboard-filter.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/dashboard-filter/dashboard-filter.component.html @@ -3,32 +3,38 @@ 'psdk-block-style': inlineProps.filterPosition === 'block-start' }" > -
-
- - {{ kid.label }} - - - - - - - + @for (kid of children; track kid) { +
+ @if (kid.type === 'DateTime') { +
+ + {{ kid.label }} + + + + + + + +
+ } + @if (kid.c11nEnv) { +
+ + + + +
+ }
-
- - - - -
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/infra/dashboard-filter/dashboard-filter.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/dashboard-filter/dashboard-filter.component.ts index 90c2405dc..75d0b2819 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/dashboard-filter/dashboard-filter.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/dashboard-filter/dashboard-filter.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit, Input, forwardRef } from '@angular/core'; +import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { CommonModule } from '@angular/common'; import { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms'; import { MatNativeDateModule } from '@angular/material/core'; @@ -34,7 +35,7 @@ export class DashboardFilterComponent implements OnInit { private filterChangeSubject = new Subject(); constructor() { - this.filterChangeSubject.pipe(debounceTime(500)).subscribe(val => this.fireFilterChange(val)); + this.filterChangeSubject.pipe(debounceTime(500), takeUntilDestroyed()).subscribe(val => this.fireFilterChange(val)); } ngOnInit() { diff --git a/packages/angular-sdk-components/src/lib/_components/infra/defer-load/defer-load.component.html b/packages/angular-sdk-components/src/lib/_components/infra/defer-load/defer-load.component.html index 144f785d0..694112308 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/defer-load/defer-load.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/defer-load/defer-load.component.html @@ -1,7 +1,9 @@ -
- -
+@if (childComponentPConnect) { +
+ +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/infra/defer-load/defer-load.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/defer-load/defer-load.component.ts index c7ac814dd..65fbebcbe 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/defer-load/defer-load.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/defer-load/defer-load.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { publicConstants } from '@pega/pcore-pconnect-typedefs/constants'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; @@ -13,7 +13,7 @@ import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/an selector: 'app-defer-load', templateUrl: './defer-load.component.html', styleUrls: ['./defer-load.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class DeferLoadComponent implements OnInit, OnDestroy, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/error-boundary/error-boundary.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/error-boundary/error-boundary.component.ts index 50717d843..76035b71b 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/error-boundary/error-boundary.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/error-boundary/error-boundary.component.ts @@ -1,11 +1,10 @@ import { Component, Input } from '@angular/core'; -import { CommonModule } from '@angular/common'; @Component({ selector: 'app-error-boundary', templateUrl: './error-boundary.component.html', styleUrls: ['./error-boundary.component.scss'], - imports: [CommonModule] + imports: [] }) export class ErrorBoundaryComponent { @Input() message: string; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/multi-step/multi-step.component.html b/packages/angular-sdk-components/src/lib/_components/infra/multi-step/multi-step.component.html index 2b4895fe9..6f387cb0f 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/multi-step/multi-step.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/multi-step/multi-step.component.html @@ -1,74 +1,87 @@ -
-
-
-
-
-
-
- {{ i + 1 }} +@if (bShow$) { +
+ @if (isVerticalLayout()) { +
+
+ @for (mainStep of arNavigationSteps$; track mainStep; let i = $index) { +
+
+
+
+ {{ i + 1 }} +
+
+
+ {{ mainStep.name }} +
+
-
-
- {{ mainStep.name }} -
+ } +
+
+
-
-
- -
-
- -
-
- -
-
-
- {{ i + 1 }} + } + @if (isHorizontalLayout()) { +
+
+ @for (mainStep of arNavigationSteps$; track mainStep; let i = $index) { +
+
+
+ {{ i + 1 }} +
+
+
+
+ {{ mainStep.name }} +
+
-
-
-
- {{ mainStep.name }} -
-
+ @if (_showHLine(i)) { +
+ } + }
-
- -
-
- -
-
- + @for (mainStep of arNavigationSteps$; track mainStep) { +
+ @if (mainStep?.steps && mainStep.visited_status == 'current') { + @for (subStep of mainStep.steps; track subStep) { +
+ @if (subStep.visited_status == 'current') { +
+ +
+ } +
+ } + } + @if (!mainStep?.steps && mainStep.visited_status == 'current') { + + }
-
- - - - - -
+ } +
+ }
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/infra/multi-step/multi-step.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/multi-step/multi-step.component.ts index 1b773d224..4b7a39ad0 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/multi-step/multi-step.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/multi-step/multi-step.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, Output, EventEmitter, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { Utils } from '../../../_helpers/utils'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -11,7 +11,7 @@ type StepIndicator = 'horizontal' | 'vertical' | 'vertical-start'; templateUrl: './multi-step.component.html', styleUrls: ['./multi-step.component.scss'], providers: [Utils], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class MultiStepComponent implements OnInit { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/navbar/navbar.component.html b/packages/angular-sdk-components/src/lib/_components/infra/navbar/navbar.component.html index 29596463a..ed12a7ec7 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/navbar/navbar.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/navbar/navbar.component.html @@ -15,26 +15,28 @@ Create
- - - {{ - localeUtils.getLocaleValue(caseType.pyLabel, '', localeUtils.getCaseLocaleReference(caseType.pyClassName)) - }} + @if (bShowCaseTypes$) { + + @for (caseType of caseTypes$; track caseType) { + + {{ + localeUtils.getLocaleValue(caseType.pyLabel, '', localeUtils.getCaseLocaleReference(caseType.pyClassName)) + }} + + } + + } + + @for (page of navPages$; track page) { + + +
+ + {{ page.name }} +
- - - -
- - {{ page.name }} -
-
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/infra/navbar/navbar.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/navbar/navbar.component.ts index 217e2e832..6c8babf34 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/navbar/navbar.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/navbar/navbar.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, ChangeDetectorRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatMenuModule } from '@angular/material/menu'; import { MatListModule } from '@angular/material/list'; import { logout } from '@pega/auth/lib/sdk-auth-manager'; @@ -17,7 +17,7 @@ interface NavBarProps { templateUrl: './navbar.component.html', styleUrls: ['./navbar.component.scss'], providers: [Utils], - imports: [CommonModule, MatListModule, MatMenuModule] + imports: [MatListModule, MatMenuModule] }) export class NavbarComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/reference/reference.component.html b/packages/angular-sdk-components/src/lib/_components/infra/reference/reference.component.html index a22ffa06d..2b22efde1 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/reference/reference.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/reference/reference.component.html @@ -1,7 +1,9 @@ -
- -
+@if (viewComponentPConnect) { +
+ +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/infra/reference/reference.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/reference/reference.component.ts index e711ef04e..d8845daeb 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/reference/reference.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/reference/reference.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy, OnChanges, SimpleChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -12,7 +12,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-reference', templateUrl: './reference.component.html', styleUrls: ['./reference.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class ReferenceComponent implements OnInit, OnDestroy, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/region/region.component.html b/packages/angular-sdk-components/src/lib/_components/infra/region/region.component.html index 022e707fd..3ffb27bae 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/region/region.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/region/region.component.html @@ -1,11 +1,13 @@ -
- -
+@for (kid of arChildren$; track kid) { +
+ +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/infra/region/region.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/region/region.component.ts index e074cc7db..e60575341 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/region/region.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/region/region.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnChanges, SimpleChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -7,7 +7,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-region', templateUrl: './region.component.html', styleUrls: ['./region.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class RegionComponent implements OnInit, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/root-container/root-container.component.html b/packages/angular-sdk-components/src/lib/_components/infra/root-container/root-container.component.html index 91c3930f3..cef0895a2 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/root-container/root-container.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/root-container/root-container.component.html @@ -1,24 +1,38 @@ -
- -
+@if (bIsProgress$) { +
+ +
+} -
-
- - - -
{{ localizedVal('RootContainer Missing: ' + componentName$, localeCategory) }}.
+@if (bShowRoot$) { +
+
+ @switch (componentName$) { + @case ('View') { + + } + @case ('ViewContainer') { + + } + @case ('reference') { + + } + @default { +
{{ localizedVal('RootContainer Missing: ' + componentName$, localeCategory) }}.
+ } + } +
-
+} -
- -
+@if (pvConn$ != null) { +
+ +
+} -
- -
+@if (mConn$ != null) { +
+ +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/infra/root-container/root-container.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/root-container/root-container.component.ts index a795cd4c9..0cf9437e4 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/root-container/root-container.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/root-container/root-container.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectorRef, Component, OnInit, Input, forwardRef, OnDestroy, inject } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { interval, Subscription } from 'rxjs'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; @@ -20,13 +20,7 @@ const options = { context: 'app' }; selector: 'app-root-container', templateUrl: './root-container.component.html', styleUrls: ['./root-container.component.scss'], - imports: [ - CommonModule, - MatProgressSpinnerModule, - ModalViewContainerComponent, - PreviewViewContainerComponent, - forwardRef(() => ComponentMapperComponent) - ] + imports: [MatProgressSpinnerModule, ModalViewContainerComponent, PreviewViewContainerComponent, forwardRef(() => ComponentMapperComponent)] }) export class RootContainerComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/stages/stages.component.html b/packages/angular-sdk-components/src/lib/_components/infra/stages/stages.component.html index b6456df75..998cb0723 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/stages/stages.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/stages/stages.component.html @@ -1,16 +1,24 @@
-
-
- -
{{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}
+ @for (stage of arStageResults$; track stage) { +
+ @if (stage.visited_status == 'completed') { +
+ +
{{ PCore$.getLocaleUtils().getLocaleValue(stage.name, '', key) }}
+
+ } + @if (stage.visited_status == 'active') { +
+ {{ localizationService.getLocalizedText(stage.name) }} +
+ } + @if (stage.visited_status == 'future') { +
+ {{ localizationService.getLocalizedText(stage.name) }} +
+ }
-
- {{ localizationService.getLocalizedText(stage.name) }} -
-
- {{ localizationService.getLocalizedText(stage.name) }} -
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/infra/stages/stages.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/stages/stages.component.ts index 229800528..e838ee1aa 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/stages/stages.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/stages/stages.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { interval } from 'rxjs'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { Utils } from '../../../_helpers/utils'; @@ -13,7 +13,7 @@ interface StagesProps { selector: 'app-stages', templateUrl: './stages.component.html', styleUrls: ['./stages.component.scss'], - imports: [CommonModule] + imports: [] }) export class StagesComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/infra/view/view.component.html b/packages/angular-sdk-components/src/lib/_components/infra/view/view.component.html index abf9e1c1d..159ac9ba4 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/view/view.component.html +++ b/packages/angular-sdk-components/src/lib/_components/infra/view/view.component.html @@ -1,25 +1,28 @@ -
-
- {{ label$ }} +@if (visibility$ !== false) { +
+ @if (showLabel$ && label$ && !noHeaderTemplates.includes(templateName$)) { +
+ {{ label$ }} +
+ } + @if (templateName$) { +
+ +
+ } @else { + @for (kid of arChildren$; track kid) { +
+ +
+ } + }
- - -
- -
-
- - -
- -
-
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/infra/view/view.component.ts b/packages/angular-sdk-components/src/lib/_components/infra/view/view.component.ts index b9f4ed255..99f1832c3 100644 --- a/packages/angular-sdk-components/src/lib/_components/infra/view/view.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/infra/view/view.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, SimpleChanges, OnDestroy, OnChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { Utils } from '../../../_helpers/utils'; @@ -92,7 +92,7 @@ interface ViewProps { selector: 'app-view', templateUrl: './view.component.html', styleUrls: ['./view.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class ViewComponent implements OnInit, OnDestroy, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/advanced-search/advanced-search.component.html b/packages/angular-sdk-components/src/lib/_components/template/advanced-search/advanced-search.component.html index 9aed8ffa9..a3bac3f1e 100755 --- a/packages/angular-sdk-components/src/lib/_components/template/advanced-search/advanced-search.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/advanced-search/advanced-search.component.html @@ -2,11 +2,11 @@ - + @if (editableFieldComp) { - + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/advanced-search/advanced-search.component.ts b/packages/angular-sdk-components/src/lib/_components/template/advanced-search/advanced-search.component.ts index 8d201661e..bfaf97b9f 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/advanced-search/advanced-search.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/advanced-search/advanced-search.component.ts @@ -1,5 +1,5 @@ import { Component, forwardRef, Input, OnInit, OnChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { DataReferenceAdvancedSearchService } from '../../../_services/data-reference-advanced-search.service'; @@ -9,7 +9,7 @@ import { getFirstChildConfig } from '../data-reference/utils'; selector: 'app-advanced-search', templateUrl: './advanced-search.component.html', styleUrls: ['./advanced-search.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class AdvancedSearchComponent implements OnInit, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/advanced-search/search-groups/search-groups.component.html b/packages/angular-sdk-components/src/lib/_components/template/advanced-search/search-groups/search-groups.component.html index eeffe4b51..1e992daf5 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/advanced-search/search-groups/search-groups.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/advanced-search/search-groups/search-groups.component.html @@ -1,24 +1,30 @@
-
- - Search By - - - {{ group.config.label }} - - - -
+ @if (groups && groups.length > 1) { +
+ + Search By + + @for (group of groups; track group) { + + {{ group.config.label }} + + } + + +
+ } -
- -
+ @if (transientItemID) { +
+ +
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/advanced-search/search-groups/search-groups.component.ts b/packages/angular-sdk-components/src/lib/_components/template/advanced-search/search-groups/search-groups.component.ts index bd3e4c116..7001835e1 100755 --- a/packages/angular-sdk-components/src/lib/_components/template/advanced-search/search-groups/search-groups.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/advanced-search/search-groups/search-groups.component.ts @@ -5,7 +5,7 @@ import { MatRadioModule } from '@angular/material/radio'; import { MatOptionModule } from '@angular/material/core'; import { MatSelectModule } from '@angular/material/select'; import { MatButtonModule } from '@angular/material/button'; -import { CommonModule } from '@angular/common'; + import { MatFormFieldModule } from '@angular/material/form-field'; import { ComponentMapperComponent } from '../../../../_bridge/component-mapper/component-mapper.component'; import { getCacheInfo, isValidInput } from '../search-groups/utils'; @@ -76,7 +76,6 @@ export const initializeSearchFields = (searchFields, getPConnect, referenceListC templateUrl: './search-groups.component.html', styleUrls: ['./search-groups.component.scss'], imports: [ - CommonModule, ReactiveFormsModule, MatFormFieldModule, MatRadioModule, diff --git a/packages/angular-sdk-components/src/lib/_components/template/app-shell/app-shell.component.html b/packages/angular-sdk-components/src/lib/_components/template/app-shell/app-shell.component.html index 0ddc65d70..6d1517fc4 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/app-shell/app-shell.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/app-shell/app-shell.component.html @@ -1,18 +1,26 @@
-
- -
-
- -
+ @if (bShowAppShell$ && portalTemplate !== 'wss') { +
+ +
+ } + @if (bShowAppShell$ && portalTemplate === 'wss') { +
+ +
+ }
-
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getComponentName() == 'ViewContainer') { +
+ +
+ }
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/banner-page/banner-page.component.ts b/packages/angular-sdk-components/src/lib/_components/template/banner-page/banner-page.component.ts index 2f9e9e26f..38f24f7f7 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/banner-page/banner-page.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/banner-page/banner-page.component.ts @@ -1,6 +1,5 @@ import { Component, Input, OnChanges, OnInit, SimpleChanges, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; interface BannerPageProps { @@ -15,7 +14,7 @@ interface BannerPageProps { selector: 'app-banner-page', templateUrl: './banner-page.component.html', styleUrls: ['./banner-page.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class BannerPageComponent implements OnInit, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/case-view/case-view.component.html b/packages/angular-sdk-components/src/lib/_components/template/case-view/case-view.component.html index 541ef7d9c..07b3f3240 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/case-view/case-view.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/case-view/case-view.component.html @@ -16,31 +16,33 @@

{{ heading$ }}

- + @if (editAction) { + + } - + @for (action of arAvailableActions$; track action) { - - + } + @for (process of arAvailabeProcesses$; track process) { - - + } + @for (action of arDataObjectActions$; track action) { - - + } + @for (action of arCreateCaseActions$; track action) { - + }
@@ -50,52 +52,69 @@

{{ heading$ }}

- + @if (caseTabs$.length > 1) { + + }
-
-
- + ) { +
+ +
+ }
-
+ }
-
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'todo') { +
+ +
+ }
-
+ } -
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name == 'Main') { +
+ +
+ }
-
+ } -
- -
+ @if (tabData$) { +
+ +
+ }
-
-
-
- -
+ @if (arChildren$) { +
+ @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata()?.type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata()?.name == 'Utilities') { +
+ +
+ } +
+ }
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/case-view/case-view.component.ts b/packages/angular-sdk-components/src/lib/_components/template/case-view/case-view.component.ts index cd069c901..f7e5a0d1a 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/case-view/case-view.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/case-view/case-view.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, ChangeDetectorRef, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatButtonModule } from '@angular/material/button'; @@ -22,7 +22,7 @@ interface CaseViewProps { templateUrl: './case-view.component.html', styleUrls: ['./case-view.component.scss'], providers: [Utils], - imports: [CommonModule, MatToolbarModule, MatButtonModule, MatMenuModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatToolbarModule, MatButtonModule, MatMenuModule, forwardRef(() => ComponentMapperComponent)] }) export class CaseViewComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/confirmation/confirmation.component.html b/packages/angular-sdk-components/src/lib/_components/template/confirmation/confirmation.component.html index 14509e926..3ab5452b9 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/confirmation/confirmation.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/confirmation/confirmation.component.html @@ -1,23 +1,31 @@
-
-

{{ label }}

-
- + @if (showConfirmView) { +
+

{{ label }}

+ @if (showDetails) { +
+ +
+ } + @if (showTasks && toDoList?.length > 0) { +
+ +
+ } +
+ +
-
+ } + @if (!showConfirmView && toDoList?.length > 0) { +
-
- -
-
-
- -
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/confirmation/confirmation.component.ts b/packages/angular-sdk-components/src/lib/_components/template/confirmation/confirmation.component.ts index 8ad4b1966..4a7abee01 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/confirmation/confirmation.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/confirmation/confirmation.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatButtonModule } from '@angular/material/button'; import { publicConstants } from '@pega/pcore-pconnect-typedefs/constants'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; @@ -18,7 +18,7 @@ interface ConfirmationProps { selector: 'app-confirmation', templateUrl: './confirmation.component.html', styleUrls: ['./confirmation.component.scss'], - imports: [CommonModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatButtonModule, forwardRef(() => ComponentMapperComponent)] }) export class ConfirmationComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/data-reference/data-reference.component.html b/packages/angular-sdk-components/src/lib/_components/template/data-reference/data-reference.component.html index 446612283..4a66fb303 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/data-reference/data-reference.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/data-reference/data-reference.component.html @@ -1,16 +1,25 @@ -
- -
- -
- +@if (showAdvancedSearch) { +
+
-
- -
-
-
- +} @else { + @if (displaySingleRef) { +
+
-
- + } + @if (displayMultiRef) { +
+ +
+ } + @if (displayChild && childrenToRender && childrenToRender.length > 0) { +
+ @for (kid of childrenToRender; track kid) { +
+ +
+ } +
+ } +} diff --git a/packages/angular-sdk-components/src/lib/_components/template/data-reference/data-reference.component.ts b/packages/angular-sdk-components/src/lib/_components/template/data-reference/data-reference.component.ts index 4e3c25cce..0aebbcaf7 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/data-reference/data-reference.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/data-reference/data-reference.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -14,7 +14,7 @@ const SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' }; selector: 'app-data-reference', templateUrl: './data-reference.component.html', styleUrls: ['./data-reference.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class DataReferenceComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/data-reference/search-form/search-form.component.html b/packages/angular-sdk-components/src/lib/_components/template/data-reference/search-form/search-form.component.html index 6dbc84164..035e89f82 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/data-reference/search-form/search-form.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/data-reference/search-form/search-form.component.html @@ -1,29 +1,39 @@

{{ label$ }}

-
- - - {{ tab.name }} - - -
-
- - {{ tab.name }} - -
+ @if (searchCategoriesComp === 'dropdown') { +
+ + + @for (tab of tabItems; track tab) { + {{ tab.name }} + } + + +
+ } + @if (searchCategoriesComp === 'radio') { +
+ + @for (tab of tabItems; track tab) { + {{ tab.name }} + } + +
+ }
-
-
- + @for (tab of tabItems; track tab; let index = $index) { +
+ @if (tab.id === currentTabId) { +
+ @if (tab.content?.getPConnect(); as tabPConn) { + + } +
+ }
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/data-reference/search-form/search-form.component.ts b/packages/angular-sdk-components/src/lib/_components/template/data-reference/search-form/search-form.component.ts index e167e5fb0..dbf8e8be0 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/data-reference/search-form/search-form.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/data-reference/search-form/search-form.component.ts @@ -2,7 +2,7 @@ import { Component, forwardRef, Input, OnChanges, OnInit, TemplateRef, ViewChild import { FormGroup, ReactiveFormsModule } from '@angular/forms'; import { getFirstVisibleTabId, getActiveTabId, searchtabsClick } from '../../../../_helpers/tab-utils'; import { MatRadioModule } from '@angular/material/radio'; -import { CommonModule } from '@angular/common'; + import { MatFormFieldModule } from '@angular/material/form-field'; import { MatOptionModule } from '@angular/material/core'; import { MatSelectModule } from '@angular/material/select'; @@ -18,7 +18,6 @@ import { getFieldMeta } from '../utils'; templateUrl: './search-form.component.html', styleUrls: ['./search-form.component.scss'], imports: [ - CommonModule, ReactiveFormsModule, MatFormFieldModule, MatRadioModule, diff --git a/packages/angular-sdk-components/src/lib/_components/template/default-form/default-form.component.html b/packages/angular-sdk-components/src/lib/_components/template/default-form/default-form.component.html index 7287c3292..b4f21add5 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/default-form/default-form.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/default-form/default-form.component.html @@ -1,31 +1,33 @@ - - - -
-
-
-
-
-
-
+@if (instructions && bShowInstructions$) { + @if (instructionBannerVariant$) { -
+ } @else { +
+
+
+ } +} +
+ @for (kid of arChildren$; track kid) { +
+ +
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/default-page/default-page.component.html b/packages/angular-sdk-components/src/lib/_components/template/default-page/default-page.component.html index 4479c9c16..b3a2610f9 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/default-page/default-page.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/default-page/default-page.component.html @@ -1,21 +1,25 @@ -
- -
- - +@if (enableBanner$) {
-

{{ title }}

-

{{ heading }}

+ +
+} @else { +
+ @if (title) { +

{{ title }}

+ } + @if (heading) { +

{{ heading }}

+ }
{{ title }} 'psdk-grid-filter-narrow-wide': this.layout$ === 'narrow-wide' }" > - + @for (child of arChildren$; track child) { + + }
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-narrow-wide/details-narrow-wide.component.html b/packages/angular-sdk-components/src/lib/_components/template/details-narrow-wide/details-narrow-wide.component.html index 37d263d55..dee7d0cf7 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-narrow-wide/details-narrow-wide.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/details-narrow-wide/details-narrow-wide.component.html @@ -4,20 +4,16 @@ > - + @if (showHighlightedData && highlightedDataArr.length > 0) {
- + @for (field of highlightedDataArr; track field) { + + }
-
+ }
- + @for (child of children; track child) { + + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-narrow-wide/details-narrow-wide.component.ts b/packages/angular-sdk-components/src/lib/_components/template/details-narrow-wide/details-narrow-wide.component.ts index 81bfabbad..c0e02dfee 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-narrow-wide/details-narrow-wide.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/details-narrow-wide/details-narrow-wide.component.ts @@ -1,5 +1,5 @@ import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { DetailsTemplateBase } from '../base/details-template-base'; @@ -7,6 +7,6 @@ import { DetailsTemplateBase } from '../base/details-template-base'; selector: 'app-details-narrow-wide', templateUrl: './details-narrow-wide.component.html', styleUrls: ['./details-narrow-wide.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class DetailsNarrowWideComponent extends DetailsTemplateBase {} diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-one-column/details-one-column.component.html b/packages/angular-sdk-components/src/lib/_components/template/details-one-column/details-one-column.component.html index a00a91e3a..c2ff0253a 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-one-column/details-one-column.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/details-one-column/details-one-column.component.html @@ -4,20 +4,16 @@ > - + @if (showHighlightedData && highlightedDataArr.length > 0) {
- + @for (field of highlightedDataArr; track field) { + + }
-
+ }
- + @for (child of children; track child) { + + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-one-column/details-one-column.component.ts b/packages/angular-sdk-components/src/lib/_components/template/details-one-column/details-one-column.component.ts index 98d724605..3a36f1f52 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-one-column/details-one-column.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/details-one-column/details-one-column.component.ts @@ -1,5 +1,5 @@ import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { DetailsTemplateBase } from '../base/details-template-base'; @@ -7,6 +7,6 @@ import { DetailsTemplateBase } from '../base/details-template-base'; selector: 'app-details-one-column', templateUrl: './details-one-column.component.html', styleUrls: ['./details-one-column.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class DetailsOneColumnComponent extends DetailsTemplateBase {} diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-sub-tabs/details-sub-tabs.component.html b/packages/angular-sdk-components/src/lib/_components/template/details-sub-tabs/details-sub-tabs.component.html index 76611d289..457a377e6 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-sub-tabs/details-sub-tabs.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/details-sub-tabs/details-sub-tabs.component.html @@ -1,14 +1,19 @@ - -
- -
-
+ @for (tab of tabItems; track tab; let i = $index) { + + @if (+currentTabId == i) { +
+ @if (tab.content?.getPConnect()) { + + } +
+ } +
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-sub-tabs/details-sub-tabs.component.ts b/packages/angular-sdk-components/src/lib/_components/template/details-sub-tabs/details-sub-tabs.component.ts index e2970daac..ce94d4048 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-sub-tabs/details-sub-tabs.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/details-sub-tabs/details-sub-tabs.component.ts @@ -1,5 +1,5 @@ import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatTabsModule } from '@angular/material/tabs'; import { getTransientTabs, getVisibleTabs, tabClick } from '../../../_helpers/tab-utils'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -9,7 +9,7 @@ import { DetailsTemplateBase } from '../base/details-template-base'; selector: 'app-details-sub-tabs', templateUrl: './details-sub-tabs.component.html', styleUrls: ['./details-sub-tabs.component.scss'], - imports: [MatTabsModule, CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatTabsModule, forwardRef(() => ComponentMapperComponent)] }) export class DetailsSubTabsComponent extends DetailsTemplateBase { override pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-three-column/details-three-column.component.html b/packages/angular-sdk-components/src/lib/_components/template/details-three-column/details-three-column.component.html index e47f131ff..31ebb77f5 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-three-column/details-three-column.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/details-three-column/details-three-column.component.html @@ -4,20 +4,16 @@ > - + @if (showHighlightedData && highlightedDataArr.length > 0) {
- + @for (field of highlightedDataArr; track field) { + + }
-
+ }
- + @for (child of children; track child) { + + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-three-column/details-three-column.component.ts b/packages/angular-sdk-components/src/lib/_components/template/details-three-column/details-three-column.component.ts index ebcea29b3..24eb66005 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-three-column/details-three-column.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/details-three-column/details-three-column.component.ts @@ -1,5 +1,5 @@ import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { DetailsTemplateBase } from '../base/details-template-base'; @@ -7,6 +7,6 @@ import { DetailsTemplateBase } from '../base/details-template-base'; selector: 'app-details-three-column', templateUrl: './details-three-column.component.html', styleUrls: ['./details-three-column.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class DetailsThreeColumnComponent extends DetailsTemplateBase {} diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-two-column/details-two-column.component.html b/packages/angular-sdk-components/src/lib/_components/template/details-two-column/details-two-column.component.html index 6948ec587..adda74ab6 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-two-column/details-two-column.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/details-two-column/details-two-column.component.html @@ -4,20 +4,16 @@ > - + @if (showHighlightedData && highlightedDataArr.length > 0) {
- + @for (field of highlightedDataArr; track field) { + + }
-
+ }
- + @for (child of children; track child) { + + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-two-column/details-two-column.component.ts b/packages/angular-sdk-components/src/lib/_components/template/details-two-column/details-two-column.component.ts index 2e5e341b2..8c1dd66e0 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-two-column/details-two-column.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/details-two-column/details-two-column.component.ts @@ -1,5 +1,5 @@ import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { DetailsTemplateBase } from '../base/details-template-base'; @@ -7,6 +7,6 @@ import { DetailsTemplateBase } from '../base/details-template-base'; selector: 'app-details-two-column', templateUrl: './details-two-column.component.html', styleUrls: ['./details-two-column.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class DetailsTwoColumnComponent extends DetailsTemplateBase {} diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-wide-narrow/details-wide-narrow.component.html b/packages/angular-sdk-components/src/lib/_components/template/details-wide-narrow/details-wide-narrow.component.html index 74ff5221a..c56c22c5c 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-wide-narrow/details-wide-narrow.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/details-wide-narrow/details-wide-narrow.component.html @@ -4,20 +4,16 @@ > - + @if (showHighlightedData && highlightedDataArr.length > 0) {
- + @for (field of highlightedDataArr; track field) { + + }
-
+ }
- + @for (child of children; track child) { + + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/details-wide-narrow/details-wide-narrow.component.ts b/packages/angular-sdk-components/src/lib/_components/template/details-wide-narrow/details-wide-narrow.component.ts index 59c9d0b6c..ccedb9b17 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details-wide-narrow/details-wide-narrow.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/details-wide-narrow/details-wide-narrow.component.ts @@ -1,5 +1,5 @@ import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { DetailsTemplateBase } from '../base/details-template-base'; @@ -7,6 +7,6 @@ import { DetailsTemplateBase } from '../base/details-template-base'; selector: 'app-details-wide-narrow', templateUrl: './details-wide-narrow.component.html', styleUrls: ['./details-wide-narrow.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class DetailsWideNarrowComponent extends DetailsTemplateBase {} diff --git a/packages/angular-sdk-components/src/lib/_components/template/details/details.component.html b/packages/angular-sdk-components/src/lib/_components/template/details/details.component.html index a00a91e3a..c2ff0253a 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details/details.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/details/details.component.html @@ -4,20 +4,16 @@ > - + @if (showHighlightedData && highlightedDataArr.length > 0) {
- + @for (field of highlightedDataArr; track field) { + + }
-
+ }
- + @for (child of children; track child) { + + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/details/details.component.ts b/packages/angular-sdk-components/src/lib/_components/template/details/details.component.ts index 21c1f6849..b65cde9d6 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/details/details.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/details/details.component.ts @@ -1,5 +1,5 @@ import { Component, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { DetailsTemplateBase } from '../base/details-template-base'; @@ -7,6 +7,6 @@ import { DetailsTemplateBase } from '../base/details-template-base'; selector: 'app-details', templateUrl: './details.component.html', styleUrls: ['./details.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class DetailsComponent extends DetailsTemplateBase {} diff --git a/packages/angular-sdk-components/src/lib/_components/template/dynamic-tabs/dynamic-tabs.component.html b/packages/angular-sdk-components/src/lib/_components/template/dynamic-tabs/dynamic-tabs.component.html index c7a239f00..78b8730c3 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/dynamic-tabs/dynamic-tabs.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/dynamic-tabs/dynamic-tabs.component.html @@ -1,9 +1,13 @@ -
- {{ propsToUse.label }} -
+@if (propsToUse.showLabel && propsToUse.label) { +
+ {{ propsToUse.label }} +
+} - - - - + @for (tab of tabsItems; track tab) { + + + + + } diff --git a/packages/angular-sdk-components/src/lib/_components/template/dynamic-tabs/dynamic-tabs.component.ts b/packages/angular-sdk-components/src/lib/_components/template/dynamic-tabs/dynamic-tabs.component.ts index 957aa1803..b519dcfab 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/dynamic-tabs/dynamic-tabs.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/dynamic-tabs/dynamic-tabs.component.ts @@ -1,7 +1,7 @@ import { Component, Input, OnDestroy, OnInit, forwardRef } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { MatTabsModule } from '@angular/material/tabs'; -import { CommonModule } from '@angular/common'; + import { buildView } from '../../../_helpers/field-group-utils'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -17,7 +17,7 @@ interface DynamicTabsProps { selector: 'app-dynamic-tabs', templateUrl: './dynamic-tabs.component.html', styleUrls: ['./dynamic-tabs.component.scss'], - imports: [CommonModule, MatTabsModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatTabsModule, forwardRef(() => ComponentMapperComponent)] }) export class DynamicTabsComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/field-group-list/field-group-list.component.html b/packages/angular-sdk-components/src/lib/_components/template/field-group-list/field-group-list.component.html index 2b9aa2f38..d8c91aa4b 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/field-group-list/field-group-list.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/field-group-list/field-group-list.component.html @@ -1,8 +1,10 @@
{{ heading }}
-
- -
+ @if (item.children.getPConnect().getRawMetadata().type.toLowerCase() == 'region') { +
+ +
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/field-group-list/field-group-list.component.ts b/packages/angular-sdk-components/src/lib/_components/template/field-group-list/field-group-list.component.ts index 6be1d62a2..d134392f2 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/field-group-list/field-group-list.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/field-group-list/field-group-list.component.ts @@ -1,12 +1,12 @@ import { Component, Input, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @Component({ selector: 'app-field-group-list', templateUrl: './field-group-list.component.html', styleUrls: ['./field-group-list.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class FieldGroupListComponent { @Input() item; diff --git a/packages/angular-sdk-components/src/lib/_components/template/field-group-template/field-group-template.component.html b/packages/angular-sdk-components/src/lib/_components/template/field-group-template/field-group-template.component.html index 85d3828ea..54c88ba15 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/field-group-template/field-group-template.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/field-group-template/field-group-template.component.html @@ -1,33 +1,49 @@
-

- {{ label$ }} -

-
-
-
- -
+ @if (showLabel$) { +

+ {{ label$ }} +

+ } + @if (readonlyMode) { +
+ @if (children && children.length > 0) { +
+ @for (item of children; track item; let i = $index) { +
+ +
+ } +
+ }
-
- -
-
-
-
- {{ child.name }} -
-
- + } @else { + @if (children && children.length > 0) { +
+ @for (child of children; track child; let i = $index) { +
+
+
+ {{ child.name }} +
+ @if (allowDelete && child.allowRowDelete) { +
+ +
+ } +
+ @if (child.children.getPConnect().getRawMetadata().type.toLowerCase() == 'region') { +
+ +
+ }
-
- -
- -
+ }
-
- - + } + @if (allowAdd()) { + + } + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/field-group-template/field-group-template.component.ts b/packages/angular-sdk-components/src/lib/_components/template/field-group-template/field-group-template.component.ts index c96c0f42a..6eb32af03 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/field-group-template/field-group-template.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/field-group-template/field-group-template.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy, OnChanges, signal, effect } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; @@ -29,7 +29,7 @@ interface FieldGroupTemplateProps { selector: 'app-field-group-template', templateUrl: './field-group-template.component.html', styleUrls: ['./field-group-template.component.scss'], - imports: [CommonModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatButtonModule, forwardRef(() => ComponentMapperComponent)] }) export class FieldGroupTemplateComponent implements OnInit, OnDestroy, OnChanges { @Input() configProps$: FieldGroupTemplateProps; diff --git a/packages/angular-sdk-components/src/lib/_components/template/field-value-list/field-value-list.component.html b/packages/angular-sdk-components/src/lib/_components/template/field-value-list/field-value-list.component.html index 9c50d4de6..7d01b89a7 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/field-value-list/field-value-list.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/field-value-list/field-value-list.component.html @@ -1,20 +1,27 @@ -
-
{{ label$ }}
-
- -
-
- - -
-
{{ label$ }}
-
+@if (displayMode$ === 'DISPLAY_ONLY') { +
+ @if (label$) { +
{{ label$ }}
+ } +
- +} @else { + @if (displayMode$ === 'STACKED_LARGE_VAL') { +
+
{{ label$ }}
+
+ +
+
+ } +} -
- {{ value$ || '---' }} + @if (isHtml$) { +
+ } @else { + {{ value$ || '---' }} + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.ts b/packages/angular-sdk-components/src/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.ts index ac9d206ca..20ec19d5b 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup, FormBuilder } from '@angular/forms'; import { buildFilterComponents } from '../../../_helpers/filter-utils'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -15,7 +15,7 @@ interface InlineDashboardPageProps { selector: 'app-inline-dashboard-page', templateUrl: './inline-dashboard-page.component.html', styleUrls: ['./inline-dashboard-page.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class InlineDashboardPageComponent implements OnInit { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/inline-dashboard/inline-dashboard.component.html b/packages/angular-sdk-components/src/lib/_components/template/inline-dashboard/inline-dashboard.component.html index ec5c7da33..02237d699 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/inline-dashboard/inline-dashboard.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/inline-dashboard/inline-dashboard.component.html @@ -1,19 +1,20 @@

{{ inlineProps.title }}

-
-
-
- + @if (children) { +
+
+
+ +
+
+
+
-
- -
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/narrow-wide-form/narrow-wide-form.component.html b/packages/angular-sdk-components/src/lib/_components/template/narrow-wide-form/narrow-wide-form.component.html index 65bc1c3c4..61af7a59e 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/narrow-wide-form/narrow-wide-form.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/narrow-wide-form/narrow-wide-form.component.html @@ -1,16 +1,26 @@
-
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'left') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'right') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'a') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'b') { +
+ +
+ }
-
- -
-
- -
-
- -
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/narrow-wide-form/narrow-wide-form.component.ts b/packages/angular-sdk-components/src/lib/_components/template/narrow-wide-form/narrow-wide-form.component.ts index f55ce0e06..bbccc05fe 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/narrow-wide-form/narrow-wide-form.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/narrow-wide-form/narrow-wide-form.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, SimpleChanges, OnChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -7,7 +7,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-narrow-wide-form', templateUrl: './narrow-wide-form.component.html', styleUrls: ['./narrow-wide-form.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class NarrowWideFormComponent implements OnInit, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/one-column-tab/one-column-tab.component.html b/packages/angular-sdk-components/src/lib/_components/template/one-column-tab/one-column-tab.component.html index f0a589c8d..1e86ec239 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/one-column-tab/one-column-tab.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/one-column-tab/one-column-tab.component.html @@ -1,10 +1,22 @@
-
-
- - - -
Page Missing: {{ kid.getPConnect().getComponentName() }}
+ @for (kid of arChildren$; track kid) { +
+
+ @switch (kid.getPConnect().getComponentName()) { + @case ('View') { + + } + @case ('reference') { + + } + @case ('Region') { + + } + @default { +
Page Missing: {{ kid.getPConnect().getComponentName() }}
+ } + } +
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/one-column-tab/one-column-tab.component.ts b/packages/angular-sdk-components/src/lib/_components/template/one-column-tab/one-column-tab.component.ts index 324cb2553..7cc693c2b 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/one-column-tab/one-column-tab.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/one-column-tab/one-column-tab.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnChanges, SimpleChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -7,7 +7,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-one-column-tab', templateUrl: './one-column-tab.component.html', styleUrls: ['./one-column-tab.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class OneColumnTabComponent implements OnInit, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/one-column/one-column.component.html b/packages/angular-sdk-components/src/lib/_components/template/one-column/one-column.component.html index 3b84a98b6..fb315ca8d 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/one-column/one-column.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/one-column/one-column.component.html @@ -1,14 +1,24 @@ -
-
- +@for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata()['type'] === 'Region' && kid.getPConnect().getRawMetadata()['name'] === 'A') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['type'] === 'View') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['type'] === 'reference') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['type'] === 'CaseCreateStage') { +
+ +
+ }
-
- -
-
- -
-
- -
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/template/one-column/one-column.component.ts b/packages/angular-sdk-components/src/lib/_components/template/one-column/one-column.component.ts index 5ccb7b64f..3cfc1791e 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/one-column/one-column.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/one-column/one-column.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnChanges, SimpleChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { FormTemplateBase } from '../base/form-template-base'; @@ -8,7 +8,7 @@ import { FormTemplateBase } from '../base/form-template-base'; selector: 'app-one-column', templateUrl: './one-column.component.html', styleUrls: ['./one-column.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class OneColumnComponent extends FormTemplateBase implements OnInit, OnChanges { @Input() override pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/page/page.component.html b/packages/angular-sdk-components/src/lib/_components/template/page/page.component.html index 00ce5d83e..fb1b1fb3f 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/page/page.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/page/page.component.html @@ -2,12 +2,24 @@

{{ title$ }}

-
-
- - - -
Page Missing: {{ kid.getPConnect().getComponentName() }}
+ @for (kid of arChildren$; track kid) { +
+
+ @switch (kid.getPConnect().getComponentName()) { + @case ('View') { + + } + @case ('reference') { + + } + @case ('Region') { + + } + @default { +
Page Missing: {{ kid.getPConnect().getComponentName() }}
+ } + } +
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/page/page.component.ts b/packages/angular-sdk-components/src/lib/_components/template/page/page.component.ts index 3c605a5a0..0e8bd4a42 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/page/page.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/page/page.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -14,7 +14,7 @@ interface PageProps { selector: 'app-page', templateUrl: './page.component.html', styleUrls: ['./page.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class PageComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/promoted-filters/promoted-filters.component.html b/packages/angular-sdk-components/src/lib/_components/template/promoted-filters/promoted-filters.component.html index 2227faee6..29e2752bd 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/promoted-filters/promoted-filters.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/promoted-filters/promoted-filters.component.html @@ -1,17 +1,21 @@
{{ listViewProps.title }}
-
-
- + @if (showFilters) { +
+ @for (kid of processedFilters; track kid) { +
+ +
+ }
-
+ }
-
- -
+ @if (showTable) { +
+ +
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/promoted-filters/promoted-filters.component.ts b/packages/angular-sdk-components/src/lib/_components/template/promoted-filters/promoted-filters.component.ts index cbb405d5e..88bf545a7 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/promoted-filters/promoted-filters.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/promoted-filters/promoted-filters.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; @@ -26,7 +26,7 @@ const SUPPORTED_TYPES_IN_PROMOTED_FILTERS = [ selector: 'app-promoted-filters', templateUrl: './promoted-filters.component.html', styleUrls: ['./promoted-filters.component.scss'], - imports: [CommonModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatButtonModule, forwardRef(() => ComponentMapperComponent)] }) export class PromotedFiltersComponent implements OnInit, OnDestroy { @Input() viewName; diff --git a/packages/angular-sdk-components/src/lib/_components/template/repeating-structures/repeating-structures.component.html b/packages/angular-sdk-components/src/lib/_components/template/repeating-structures/repeating-structures.component.html index 208c5e0b3..6e2b8e12f 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/repeating-structures/repeating-structures.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/repeating-structures/repeating-structures.component.html @@ -8,10 +8,12 @@ - - - - + @for (dCol of fields$; track dCol) { + + + + + } diff --git a/packages/angular-sdk-components/src/lib/_components/template/repeating-structures/repeating-structures.component.ts b/packages/angular-sdk-components/src/lib/_components/template/repeating-structures/repeating-structures.component.ts index 5ef23c586..8d0aa9d20 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/repeating-structures/repeating-structures.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/repeating-structures/repeating-structures.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, ViewChild, AfterViewInit } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatInputModule } from '@angular/material/input'; import { MatIconModule } from '@angular/material/icon'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -18,7 +18,7 @@ interface RepeatingStructuresProps { selector: 'app-repeating-structures', templateUrl: './repeating-structures.component.html', styleUrls: ['./repeating-structures.component.scss'], - imports: [CommonModule, MatFormFieldModule, MatIconModule, MatInputModule, MatTableModule, MatSortModule, MatPaginatorModule] + imports: [MatFormFieldModule, MatIconModule, MatInputModule, MatTableModule, MatSortModule, MatPaginatorModule] }) export class RepeatingStructuresComponent implements OnInit, AfterViewInit { @ViewChild(MatPaginator) paginator: MatPaginator; diff --git a/packages/angular-sdk-components/src/lib/_components/template/self-service-case-view/self-service-case-view.component.html b/packages/angular-sdk-components/src/lib/_components/template/self-service-case-view/self-service-case-view.component.html index a779eb40c..344fc76dd 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/self-service-case-view/self-service-case-view.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/self-service-case-view/self-service-case-view.component.html @@ -1,90 +1,108 @@
{{ this.heading$ }}
-
- - - - - - - - - - - - - - - -
+ @if (showCaseActions) { +
+ + + @for (action of arAvailableActions$; track action) { + + } + @for (process of arAvailabeProcesses$; track process) { + + } + @for (action of arDataObjectActions$; track action) { + + } + @for (action of arCreateCaseActions$; track action) { + + } + +
+ }
-
- - -
-
-

{{ heading$ }}

+ @if (showSummaryRegion && (primarySummaryFields.length > 0 || secondarySummaryFields.length > 0)) { +
+ + +
+
+

{{ heading$ }}

+
+
{{ currentCaseID }}
+
{{ id$ }}
-
{{ currentCaseID }}
-
{{ id$ }}
-
- - -
-
- + + +
+
+ +
-
+ }
-
-
- + ) { +
+ +
+ }
-
+ }
-
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'todo') { +
+ +
+ }
-
+ } -
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name == 'Main') { +
+ +
+ }
-
+ }
-
-
-
- -
+ @if (arChildren$ && showUtilitiesRegion && isUtilitiesRegionNotEmpty()) { +
+ @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata()?.type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata()?.name == 'Utilities') { +
+ +
+ } +
+ }
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/self-service-case-view/self-service-case-view.component.ts b/packages/angular-sdk-components/src/lib/_components/template/self-service-case-view/self-service-case-view.component.ts index 637f16d5d..a38e93bcb 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/self-service-case-view/self-service-case-view.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/self-service-case-view/self-service-case-view.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatButtonModule } from '@angular/material/button'; @@ -28,7 +28,7 @@ interface SelfServiceCaseViewProps { templateUrl: './self-service-case-view.component.html', styleUrls: ['./self-service-case-view.component.scss'], providers: [Utils], - imports: [CommonModule, MatToolbarModule, MatButtonModule, MatMenuModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatToolbarModule, MatButtonModule, MatMenuModule, forwardRef(() => ComponentMapperComponent)] }) export class SelfServiceCaseViewComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/simple-table-manual/simple-table-manual.component.html b/packages/angular-sdk-components/src/lib/_components/template/simple-table-manual/simple-table-manual.component.html index 5c113bcc7..53f57c936 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/simple-table-manual/simple-table-manual.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/simple-table-manual/simple-table-manual.component.html @@ -1,182 +1,198 @@ - +@if (bVisible$) {
-

- {{ label }} {{ getResultsText() }} -

-
{{ dCol.label }}{{ element[dCol.name] }}{{ dCol.label }}{{ element[dCol.name] }}
- - - - - - - + + + + +
-
{{ dCol.config.label }}
-
- -
-
- - - - - - -
-
- - - -
- - - - - -
+ @if (label) { +

+ {{ label }} {{ getResultsText() }} +

+ } + @if (readOnlyMode || allowEditingInModal || hideEditRow) { + + @for (dCol of processedFields; track dCol; let i = $index) { + + + - - - - - - - - - - -
+
{{ dCol.config.label }}
+
+ +
+
+ + + + @if (_showUnGroupBy(dCol) && bGrouping$) { + + } + + +
+
+ +
- {{ utils.getGenericFieldsLocalizedValue('COSMOSFIELDS.lists', 'No records found.') }} -
- - - - - + + + + + + + +
{{ dCol.label }} - + } + + + @if (allowEditingInModal) { + @if (rowActions[j]?.hasAnyAction) { +
+ + + @if (rowActions[j]?.canEdit) { + + } + @if (rowActions[j]?.canDelete) { + + } + +
+ } + } @else { + @if (rowActions[j]?.canDelete) { + + } + } +
+ {{ utils.getGenericFieldsLocalizedValue('COSMOSFIELDS.lists', 'No records found.') }} +
+ } + @if (editableMode && !allowEditingInModal && !hideEditRow) { + + @for (dCol of fieldDefs; track dCol; let i = $index) { + @if (dCol.name != 'DeleteIcon') { + + + + + } + } + + + - - - - - - - - - - -
{{ dCol.label }} + + + @if (rowActions[j]?.canDelete) { + + } - -
- {{ utils.getGenericFieldsLocalizedValue('COSMOSFIELDS.lists', 'No records found.') }} -
+
+ {{ utils.getGenericFieldsLocalizedValue('COSMOSFIELDS.lists', 'No records found.') }} +
+ }
- - + @if (showAddRowButton) { + + } +} -
-
-

- Filter: {{ filterContainsLabel$ }} -

-
- - - Contains - Equals - Starts with - - - - - - -
- -
- - - is not equal to - after - before - is null - is not null - - - - - Date - - - - - - - Date time - - - - - Time - - +@if (bShowFilterPopover$) { +
+
+

+ Filter: {{ filterContainsLabel$ }} +

+ @if (bContains$) { +
+ + + Contains + Equals + Starts with + + + + + +
+ } + @if (bDateTime$) { +
+ + + is not equal to + after + before + is null + is not null + + + @if (bIsDate$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull') { + + Date + + + + + } + @if (bIsDateTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull') { + + Date time + + + } + @if (bIsTime$ && filterContainsType$ !== 'null' && filterContainsType$ != 'notnull') { + + Time + + + } +
+ } +
- -
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/template/simple-table-manual/simple-table-manual.component.ts b/packages/angular-sdk-components/src/lib/_components/template/simple-table-manual/simple-table-manual.component.ts index 7267d2159..7b87388d3 100755 --- a/packages/angular-sdk-components/src/lib/_components/template/simple-table-manual/simple-table-manual.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/simple-table-manual/simple-table-manual.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, ViewChild, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatDatepickerModule } from '@angular/material/datepicker'; @@ -72,7 +72,6 @@ interface RowActions { templateUrl: './simple-table-manual.component.html', styleUrls: ['./simple-table-manual.component.scss'], imports: [ - CommonModule, MatTableModule, MatButtonModule, MatSortModule, diff --git a/packages/angular-sdk-components/src/lib/_components/template/simple-table-select/simple-table-select.component.html b/packages/angular-sdk-components/src/lib/_components/template/simple-table-select/simple-table-select.component.html index 3a84b5a93..a17e70b70 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/simple-table-select/simple-table-select.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/simple-table-select/simple-table-select.component.html @@ -1,14 +1,19 @@ -
- -
-
-
- +@if (showSimpleTableManual) { +
+
- - - -
+} +@if (!showSimpleTableManual) { +
+ @if (isSearchable) { +
+ +
+ } @else { + + } +
+} diff --git a/packages/angular-sdk-components/src/lib/_components/template/simple-table-select/simple-table-select.component.ts b/packages/angular-sdk-components/src/lib/_components/template/simple-table-select/simple-table-select.component.ts index 915f120bd..d44c96a28 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/simple-table-select/simple-table-select.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/simple-table-select/simple-table-select.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -8,7 +8,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-simple-table-select', templateUrl: './simple-table-select.component.html', styleUrls: ['./simple-table-select.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class SimpleTableSelectComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/simple-table/simple-table.component.html b/packages/angular-sdk-components/src/lib/_components/template/simple-table/simple-table.component.html index d7804456b..0c104bbc5 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/simple-table/simple-table.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/simple-table/simple-table.component.html @@ -1,13 +1,18 @@ - -
-
- +@if (bVisible$) { + @if (fieldGroupProps || listViewProps) { +
+ @if (fieldGroupProps) { +
+ +
+ } + @if (listViewProps) { +
+ +
+ }
-
- -
-
- + } @else { - - + } +} diff --git a/packages/angular-sdk-components/src/lib/_components/template/simple-table/simple-table.component.ts b/packages/angular-sdk-components/src/lib/_components/template/simple-table/simple-table.component.ts index 005771e44..448c82818 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/simple-table/simple-table.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/simple-table/simple-table.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { Utils } from '../../../_helpers/utils'; @@ -29,7 +29,7 @@ interface SimpleTableProps { selector: 'app-simple-table', templateUrl: './simple-table.component.html', styleUrls: ['./simple-table.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class SimpleTableComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/single-reference-readonly/single-reference-readonly.component.html b/packages/angular-sdk-components/src/lib/_components/template/single-reference-readonly/single-reference-readonly.component.html index e7a9f97d4..e9ecb06c5 100755 --- a/packages/angular-sdk-components/src/lib/_components/template/single-reference-readonly/single-reference-readonly.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/single-reference-readonly/single-reference-readonly.component.html @@ -1,4 +1,6 @@
-
{{ label }}
+ @if (label) { +
{{ label }}
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/sub-tabs/sub-tabs.component.html b/packages/angular-sdk-components/src/lib/_components/template/sub-tabs/sub-tabs.component.html index 4767c4d04..c34c16bc9 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/sub-tabs/sub-tabs.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/sub-tabs/sub-tabs.component.html @@ -1,12 +1,17 @@ - -
- -
-
+ @for (tab of tabItems; track tab; let i = $index) { + + @if (+currentTabId == i) { +
+ @if (tab.content?.getPConnect(); as tabPConn) { + + } +
+ } +
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/sub-tabs/sub-tabs.component.ts b/packages/angular-sdk-components/src/lib/_components/template/sub-tabs/sub-tabs.component.ts index 813653aa4..024f73b26 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/sub-tabs/sub-tabs.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/sub-tabs/sub-tabs.component.ts @@ -3,14 +3,14 @@ import { FormGroup } from '@angular/forms'; import { MatTabsModule } from '@angular/material/tabs'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { getTransientTabs, getVisibleTabs, tabClick } from '../../../_helpers/tab-utils'; -import { CommonModule } from '@angular/common'; + import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @Component({ selector: 'app-sub-tabs', templateUrl: './sub-tabs.component.html', styleUrls: ['./sub-tabs.component.scss'], - imports: [MatTabsModule, CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [MatTabsModule, forwardRef(() => ComponentMapperComponent)] }) export class SubTabsComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/three-column/three-column.component.html b/packages/angular-sdk-components/src/lib/_components/template/three-column/three-column.component.html index af5d6ed9b..847b15a00 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/three-column/three-column.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/three-column/three-column.component.html @@ -1,13 +1,21 @@
-
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'a') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'b') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'c') { +
+ +
+ }
-
- -
-
- -
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/three-column/three-column.component.ts b/packages/angular-sdk-components/src/lib/_components/template/three-column/three-column.component.ts index aef4dfea4..a6e1d5922 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/three-column/three-column.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/three-column/three-column.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnChanges, SimpleChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { FormTemplateBase } from '../base/form-template-base'; @@ -8,7 +8,7 @@ import { FormTemplateBase } from '../base/form-template-base'; selector: 'app-three-column', templateUrl: './three-column.component.html', styleUrls: ['./three-column.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class ThreeColumnComponent extends FormTemplateBase implements OnInit, OnChanges { @Input() override pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/two-column-tab/two-column-tab.component.html b/packages/angular-sdk-components/src/lib/_components/template/two-column-tab/two-column-tab.component.html index 5fb02fb70..7f5eb1e44 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/two-column-tab/two-column-tab.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/two-column-tab/two-column-tab.component.html @@ -1,16 +1,26 @@
-
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'left') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'right') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'a') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'b') { +
+ +
+ }
-
- -
-
- -
-
- -
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/two-column-tab/two-column-tab.component.ts b/packages/angular-sdk-components/src/lib/_components/template/two-column-tab/two-column-tab.component.ts index d4be8725e..064e83487 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/two-column-tab/two-column-tab.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/two-column-tab/two-column-tab.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnChanges, SimpleChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -7,7 +7,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-two-column-tab', templateUrl: './two-column-tab.component.html', styleUrls: ['./two-column-tab.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class TwoColumnTabComponent implements OnInit, OnChanges { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/two-column/two-column.component.html b/packages/angular-sdk-components/src/lib/_components/template/two-column/two-column.component.html index 5fb02fb70..7f5eb1e44 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/two-column/two-column.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/two-column/two-column.component.html @@ -1,16 +1,26 @@
-
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'left') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'right') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'a') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'b') { +
+ +
+ }
-
- -
-
- -
-
- -
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/two-column/two-column.component.ts b/packages/angular-sdk-components/src/lib/_components/template/two-column/two-column.component.ts index 8e485b93a..237503fbf 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/two-column/two-column.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/two-column/two-column.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, SimpleChanges, OnChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { FormTemplateBase } from '../base/form-template-base'; @@ -8,7 +8,7 @@ import { FormTemplateBase } from '../base/form-template-base'; selector: 'app-two-column', templateUrl: './two-column.component.html', styleUrls: ['./two-column.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class TwoColumnComponent extends FormTemplateBase implements OnInit, OnChanges { @Input() override pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-form/wide-narrow-form.component.html b/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-form/wide-narrow-form.component.html index c6618c903..aea54034e 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-form/wide-narrow-form.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-form/wide-narrow-form.component.html @@ -1,16 +1,26 @@
-
-
- + @for (kid of arChildren$; track kid) { +
+ @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'left') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'right') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'a') { +
+ +
+ } + @if (kid.getPConnect().getRawMetadata()['name'].toLowerCase() === 'b') { +
+ +
+ }
-
- -
-
- -
-
- -
-
+ }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-form/wide-narrow-form.component.ts b/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-form/wide-narrow-form.component.ts index b59a0a6ff..1a1f1647b 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-form/wide-narrow-form.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-form/wide-narrow-form.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnChanges, SimpleChanges } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; import { FormTemplateBase } from '../base/form-template-base'; @@ -8,7 +8,7 @@ import { FormTemplateBase } from '../base/form-template-base'; selector: 'app-wide-narrow-form', templateUrl: './wide-narrow-form.component.html', styleUrls: ['./wide-narrow-form.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class WideNarrowFormComponent extends FormTemplateBase implements OnInit, OnChanges { @Input() override pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-page/wide-narrow-page.component.html b/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-page/wide-narrow-page.component.html index 391ee9736..dac5913f7 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-page/wide-narrow-page.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-page/wide-narrow-page.component.html @@ -1,6 +1,14 @@ -
- - - -
WideNarrowPage missing: {{ this.pConn$.getComponentName() }}
+
+ @switch (this.thePConnType) { + @case ('ViewContainer') { + + } + + @case ('View') { + + } + @default { +
WideNarrowPage missing: {{ this.pConn$.getComponentName() }}
+ } + }
diff --git a/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-page/wide-narrow-page.component.ts b/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-page/wide-narrow-page.component.ts index a3bac8d39..e4d3fab56 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-page/wide-narrow-page.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/wide-narrow-page/wide-narrow-page.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { FormGroup } from '@angular/forms'; import { AngularPConnectData, AngularPConnectService } from '../../../_bridge/angular-pconnect'; import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component'; @@ -8,7 +8,7 @@ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/comp selector: 'app-wide-narrow-page', templateUrl: './wide-narrow-page.component.html', styleUrls: ['./wide-narrow-page.component.scss'], - imports: [CommonModule, forwardRef(() => ComponentMapperComponent)] + imports: [forwardRef(() => ComponentMapperComponent)] }) export class WideNarrowPageComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/template/wss-nav-bar/wss-nav-bar.component.html b/packages/angular-sdk-components/src/lib/_components/template/wss-nav-bar/wss-nav-bar.component.html index 5aaabe693..7012b5974 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/wss-nav-bar/wss-nav-bar.component.html +++ b/packages/angular-sdk-components/src/lib/_components/template/wss-nav-bar/wss-nav-bar.component.html @@ -11,11 +11,13 @@ -
-
-
{{ page.pyLabel }}
+ @for (page of navPages$; track page) { +
+
+
{{ page.pyLabel }}
+
-
+ } diff --git a/packages/angular-sdk-components/src/lib/_components/template/wss-nav-bar/wss-nav-bar.component.ts b/packages/angular-sdk-components/src/lib/_components/template/wss-nav-bar/wss-nav-bar.component.ts index 03bfeb3e6..df07c3d6b 100644 --- a/packages/angular-sdk-components/src/lib/_components/template/wss-nav-bar/wss-nav-bar.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/template/wss-nav-bar/wss-nav-bar.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatMenuModule } from '@angular/material/menu'; import { MatListModule } from '@angular/material/list'; import { MatIconModule } from '@angular/material/icon'; @@ -19,7 +19,7 @@ interface WssNavBarProps { templateUrl: './wss-nav-bar.component.html', styleUrls: ['./wss-nav-bar.component.scss'], providers: [Utils], - imports: [CommonModule, MatListModule, MatMenuModule, MatIconModule, MatToolbarModule] + imports: [MatListModule, MatMenuModule, MatIconModule, MatToolbarModule] }) export class WssNavBarComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/widget/app-announcement/app-announcement.component.html b/packages/angular-sdk-components/src/lib/_components/widget/app-announcement/app-announcement.component.html index 768bd7be9..178ab33cc 100644 --- a/packages/angular-sdk-components/src/lib/_components/widget/app-announcement/app-announcement.component.html +++ b/packages/angular-sdk-components/src/lib/_components/widget/app-announcement/app-announcement.component.html @@ -4,9 +4,13 @@

{{ configProps$.header }}

{{ configProps$.description }}

    -
  • {{ detail }}
  • + @for (detail of details$; track detail) { +
  • {{ detail }}
  • + }
- See what's new + @if (configProps$.whatsnewlink != '') { + See what's new + } diff --git a/packages/angular-sdk-components/src/lib/_components/widget/app-announcement/app-announcement.component.ts b/packages/angular-sdk-components/src/lib/_components/widget/app-announcement/app-announcement.component.ts index 2d8fed8e0..b201cf6ed 100644 --- a/packages/angular-sdk-components/src/lib/_components/widget/app-announcement/app-announcement.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/widget/app-announcement/app-announcement.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatButtonModule } from '@angular/material/button'; interface AppAnnouncementProps { @@ -15,7 +15,7 @@ interface AppAnnouncementProps { selector: 'app-app-announcement', templateUrl: './app-announcement.component.html', styleUrls: ['./app-announcement.component.scss'], - imports: [CommonModule, MatButtonModule] + imports: [MatButtonModule] }) export class AppAnnouncementComponent implements OnInit { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/widget/attachment/attachment.component.html b/packages/angular-sdk-components/src/lib/_components/widget/attachment/attachment.component.html index efbf0a94c..585293495 100644 --- a/packages/angular-sdk-components/src/lib/_components/widget/attachment/attachment.component.html +++ b/packages/angular-sdk-components/src/lib/_components/widget/attachment/attachment.component.html @@ -1,65 +1,86 @@ -
- {{ label$ }} -
-
-
- {{ valueRef }} -
- - -
-
- {{ validateMessage }} -
-
-
-
- - -
-
-
{{ file.props.name }}
-
{{ file.props.meta }}
-
-
-
- - - - +@if (bVisible$) { +
+ {{ label$ }} + @if (displayMode !== 'DISPLAY_ONLY' && ((files.length === 0 && !allowMultiple$) || allowMultiple$)) { +
+
+
+ {{ valueRef }}
- - -
- - - - - -
-
+ +
-
+ } + @if (validateMessage) { + {{ validateMessage }} + } + @if (files && files.length > 0) { +
+ @for (file of files; track file; let i = $index) { +
+
+
+ @if (!file.inProgress) { + + } + @if (file.inProgress) { + + } +
+
+
{{ file.props.name }}
+ @if (file.props.meta) { +
{{ file.props.meta }}
+ } +
+
+ @if (displayMode === 'DISPLAY_ONLY') { +
+ + + + +
+ } @else { + @if (file.ID) { + + } + @if (!file.ID) { +
+ + + + + +
+ } + } +
+
+
+ } +
+ }
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/widget/case-history/case-history.component.html b/packages/angular-sdk-components/src/lib/_components/widget/case-history/case-history.component.html index f68fa0364..e4369d37b 100644 --- a/packages/angular-sdk-components/src/lib/_components/widget/case-history/case-history.component.html +++ b/packages/angular-sdk-components/src/lib/_components/widget/case-history/case-history.component.html @@ -1,10 +1,12 @@

{{ configProps$.label }}

- - - - + @for (dCol of fields$; track dCol) { + + + + + } diff --git a/packages/angular-sdk-components/src/lib/_components/widget/case-history/case-history.component.ts b/packages/angular-sdk-components/src/lib/_components/widget/case-history/case-history.component.ts index 54491a608..f18b907d8 100644 --- a/packages/angular-sdk-components/src/lib/_components/widget/case-history/case-history.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/widget/case-history/case-history.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectorRef, Component, OnInit, Input } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatTableDataSource, MatTableModule } from '@angular/material/table'; import { Utils } from '../../../_helpers/utils'; @@ -11,7 +11,7 @@ interface CaseHistoryProps { selector: 'app-case-history', templateUrl: './case-history.component.html', styleUrls: ['./case-history.component.scss'], - imports: [CommonModule, MatTableModule] + imports: [MatTableModule] }) export class CaseHistoryComponent implements OnInit { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/widget/feed-container/feed-container.component.html b/packages/angular-sdk-components/src/lib/_components/widget/feed-container/feed-container.component.html index 0f00d7f29..0ac375547 100644 --- a/packages/angular-sdk-components/src/lib/_components/widget/feed-container/feed-container.component.html +++ b/packages/angular-sdk-components/src/lib/_components/widget/feed-container/feed-container.component.html @@ -21,117 +21,122 @@

Pulse

-
-
-
-
-
{{ pulseMessage.displayPostedByInitials }}
-
-
{{ pulseMessage.displayPostedBy }}
-
{{ pulseMessage.displayPostedTime }}
-
-
-
{{ pulseMessage.message }}
-
-
- -
-
-
- - +@for (pulseMessage of pulseMessages$; track pulseMessage; let odd = $odd) { +
+
+
+
+
{{ pulseMessage.displayPostedByInitials }}
+
+
{{ pulseMessage.displayPostedBy }}
+
{{ pulseMessage.displayPostedTime }}
- - -
-
- -
-
-
-
-
-
{{ replyMessage.displayPostedByInitials }}
-
{{ replyMessage.displayPostedBy }}
-
{{ replyMessage.message }}
-
-
- -
- - - -
- -
+
+ @if (pulseMessage?.likeCount) { +
+ @if (pulseMessage?.likedByMe == 'true') { + + } + @if (pulseMessage?.likedByMe != 'true') { + + } +
+ } @else { + - - -
{{ replyMessage.displayPostedTime }}
+ }
-
- -
-
-
-
-
{{ this.currentUserInitials$ }}
- - - - + @if (pulseMessage?.replies) { +
+ @for (replyMessage of pulseMessage.replies; track replyMessage) { +
+
+
+
+
{{ replyMessage.displayPostedByInitials }}
+
{{ replyMessage.displayPostedBy }}
+
{{ replyMessage.message }}
+
+
+ + @if (replyMessage?.likeCount) { +
+ @if (replyMessage?.likedByMe === 'true') { + + } + @if (replyMessage?.likedByMe != 'true') { + + } + +
+ } @else { + @if (replyMessage?.likedByMe != 'true') { + + } + } +
{{ replyMessage.displayPostedTime }}
+
+
+
+ } + @if (showReplyComment$[pulseMessage.ID] == true) { +
+
+
+
+
{{ this.currentUserInitials$ }}
+ + + + +
+
+ }
-
+ } +
-
-
+} diff --git a/packages/angular-sdk-components/src/lib/_components/widget/feed-container/feed-container.component.ts b/packages/angular-sdk-components/src/lib/_components/widget/feed-container/feed-container.component.ts index 80be16260..c66ee2a25 100644 --- a/packages/angular-sdk-components/src/lib/_components/widget/feed-container/feed-container.component.ts +++ b/packages/angular-sdk-components/src/lib/_components/widget/feed-container/feed-container.component.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { Component, OnInit, Input, ChangeDetectorRef, OnDestroy } from '@angular/core'; -import { CommonModule } from '@angular/common'; + import { MatButtonModule } from '@angular/material/button'; import { MatGridListModule } from '@angular/material/grid-list'; import { MatInputModule } from '@angular/material/input'; @@ -14,7 +14,7 @@ import { Utils } from '../../../_helpers/utils'; templateUrl: './feed-container.component.html', styleUrls: ['./feed-container.component.scss'], providers: [Utils], - imports: [CommonModule, MatFormFieldModule, MatInputModule, MatGridListModule, MatButtonModule] + imports: [MatFormFieldModule, MatInputModule, MatGridListModule, MatButtonModule] }) export class FeedContainerComponent implements OnInit, OnDestroy { @Input() pConn$: typeof PConnect; diff --git a/packages/angular-sdk-components/src/lib/_components/widget/file-utility/file-utility.component.html b/packages/angular-sdk-components/src/lib/_components/widget/file-utility/file-utility.component.html index f831d6013..07f607219 100644 --- a/packages/angular-sdk-components/src/lib/_components/widget/file-utility/file-utility.component.html +++ b/packages/angular-sdk-components/src/lib/_components/widget/file-utility/file-utility.component.html @@ -14,87 +14,87 @@ >
-
-
-

{{ pConn$.getLocalizedValue('Add local files', '', '') }}

-
-
- - - +@if (bShowFileModal$) { +
+
+

{{ pConn$.getLocalizedValue('Add local files', '', '') }}

+
+
+ + +
+
-
- -
-
+} -
-
-

{{ pConn$.getLocalizedValue('Add links', '', '') }}

-
-
-
{{ dCol.label }}{{ element[dCol.fieldName] }}{{ dCol.label }}{{ element[dCol.fieldName] }}