@pega/angular-sdk-overrides 24.2.10 → 25.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/designSystemExtension/alert/alert.component.scss +3 -3
- package/lib/designSystemExtension/alert/alert.component.ts +0 -1
- package/lib/designSystemExtension/alert-banner/alert-banner.component.ts +0 -1
- package/lib/designSystemExtension/banner/banner.component.html +1 -1
- package/lib/designSystemExtension/banner/banner.component.scss +17 -3
- package/lib/designSystemExtension/banner/banner.component.ts +0 -1
- package/lib/designSystemExtension/case-create-stage/case-create-stage.component.ts +0 -1
- package/lib/designSystemExtension/field-group/field-group.component.ts +0 -1
- package/lib/designSystemExtension/material-case-summary/material-case-summary.component.html +6 -3
- package/lib/designSystemExtension/material-case-summary/material-case-summary.component.scss +5 -34
- package/lib/designSystemExtension/material-case-summary/material-case-summary.component.ts +0 -2
- package/lib/designSystemExtension/material-details/material-details.component.scss +0 -5
- package/lib/designSystemExtension/material-details/material-details.component.ts +0 -1
- package/lib/designSystemExtension/material-details-fields/material-details-fields.component.html +3 -3
- package/lib/designSystemExtension/material-details-fields/material-details-fields.component.scss +4 -3
- package/lib/designSystemExtension/material-details-fields/material-details-fields.component.ts +6 -1
- package/lib/designSystemExtension/material-summary-item/material-summary-item.component.scss +4 -17
- package/lib/designSystemExtension/material-summary-item/material-summary-item.component.ts +0 -1
- package/lib/designSystemExtension/material-summary-list/material-summary-list.component.ts +0 -1
- package/lib/designSystemExtension/material-utility/material-utility.component.scss +1 -2
- package/lib/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.scss +1 -1
- package/lib/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.ts +0 -1
- package/lib/designSystemExtension/operator/operator.component.html +2 -2
- package/lib/designSystemExtension/operator/operator.component.scss +13 -12
- package/lib/designSystemExtension/operator/operator.component.ts +4 -5
- package/lib/designSystemExtension/pulse/pulse.component.scss +2 -2
- package/lib/designSystemExtension/pulse/pulse.component.ts +0 -1
- package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.html +4 -17
- package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.scss +0 -1
- package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.ts +30 -1
- package/lib/designSystemExtension/wss-quick-create/wss-quick-create.component.scss +16 -9
- package/lib/designSystemExtension/wss-quick-create/wss-quick-create.component.ts +0 -1
- package/lib/field/auto-complete/auto-complete.component.html +0 -2
- package/lib/field/auto-complete/auto-complete.component.ts +48 -173
- package/lib/field/cancel-alert/cancel-alert.component.html +8 -12
- package/lib/field/cancel-alert/cancel-alert.component.scss +2 -3
- package/lib/field/cancel-alert/cancel-alert.component.ts +24 -37
- package/lib/field/check-box/check-box.component.html +17 -6
- package/lib/field/check-box/check-box.component.scss +0 -1
- package/lib/field/check-box/check-box.component.ts +25 -151
- package/lib/field/currency/currency.component.ts +54 -181
- package/lib/field/date/date.component.html +4 -3
- package/lib/field/date/date.component.ts +30 -151
- package/lib/field/date-time/date-time.component.html +2 -2
- package/lib/field/date-time/date-time.component.ts +47 -148
- package/lib/field/decimal/decimal.component.html +1 -0
- package/lib/field/decimal/decimal.component.ts +61 -164
- package/lib/field/dropdown/dropdown.component.html +1 -0
- package/lib/field/dropdown/dropdown.component.ts +43 -152
- package/lib/field/email/email.component.ts +28 -158
- package/lib/field/field.base.ts +149 -0
- package/lib/field/group/group.component.ts +7 -5
- package/lib/field/integer/integer.component.html +1 -1
- package/lib/field/integer/integer.component.ts +30 -160
- package/lib/field/list-view-action-buttons/list-view-action-buttons.component.html +1 -1
- package/lib/field/list-view-action-buttons/list-view-action-buttons.component.ts +3 -3
- package/lib/field/location/config-ext.json +8 -0
- package/lib/field/location/location.component.html +45 -0
- package/lib/field/location/location.component.scss +18 -0
- package/lib/field/location/location.component.spec.ts +22 -0
- package/lib/field/location/location.component.ts +280 -0
- package/lib/field/multiselect/multiselect.component.ts +47 -152
- package/lib/field/multiselect/utils.ts +55 -47
- package/lib/field/object-reference/object-reference.component.html +17 -0
- package/lib/field/object-reference/object-reference.component.scss +0 -0
- package/lib/field/object-reference/object-reference.component.spec.ts +22 -0
- package/lib/field/object-reference/object-reference.component.ts +237 -0
- package/lib/field/percentage/percentage.component.html +1 -1
- package/lib/field/percentage/percentage.component.ts +62 -170
- package/lib/field/phone/config-ext.json +1 -1
- package/lib/field/phone/phone.component.html +18 -17
- package/lib/field/phone/phone.component.scss +4 -0
- package/lib/field/phone/phone.component.ts +47 -156
- package/lib/field/radio-buttons/radio-buttons.component.html +17 -12
- package/lib/field/radio-buttons/radio-buttons.component.scss +4 -2
- package/lib/field/radio-buttons/radio-buttons.component.ts +37 -160
- package/lib/field/rich-text/rich-text.component.html +2 -0
- package/lib/field/rich-text/rich-text.component.scss +172 -0
- package/lib/field/rich-text/rich-text.component.ts +32 -93
- package/lib/field/scalar-list/scalar-list.component.ts +17 -73
- package/lib/field/selectable-card/selectable-card.component.html +70 -0
- package/lib/field/selectable-card/selectable-card.component.scss +11 -0
- package/lib/field/selectable-card/selectable-card.component.spec.ts +22 -0
- package/lib/field/selectable-card/selectable-card.component.ts +219 -0
- package/lib/field/semantic-link/semantic-link.component.html +4 -8
- package/lib/field/semantic-link/semantic-link.component.scss +0 -13
- package/lib/field/semantic-link/semantic-link.component.ts +165 -6
- package/lib/field/text/text.component.scss +0 -1
- package/lib/field/text/text.component.ts +6 -5
- package/lib/field/text-area/text-area.component.html +4 -2
- package/lib/field/text-area/text-area.component.ts +30 -155
- package/lib/field/text-content/text-content.component.ts +0 -1
- package/lib/field/text-input/text-input.component.html +1 -1
- package/lib/field/text-input/text-input.component.ts +28 -158
- package/lib/field/time/time.component.html +2 -2
- package/lib/field/time/time.component.ts +34 -154
- package/lib/field/url/url.component.html +1 -1
- package/lib/field/url/url.component.ts +28 -157
- package/lib/field/user-reference/user-reference.component.html +40 -38
- package/lib/field/user-reference/user-reference.component.scss +0 -1
- package/lib/field/user-reference/user-reference.component.ts +70 -9
- package/lib/infra/Containers/flow-container/flow-container.component.html +2 -2
- package/lib/infra/Containers/flow-container/flow-container.component.ts +24 -51
- package/lib/infra/Containers/flow-container/helpers.ts +2 -2
- package/lib/infra/Containers/hybrid-view-container/hybrid-view-container.component.ts +0 -1
- package/lib/infra/Containers/modal-view-container/modal-view-container.component.html +1 -11
- package/lib/infra/Containers/modal-view-container/modal-view-container.component.ts +5 -18
- package/lib/infra/Containers/view-container/helper.ts +35 -2
- package/lib/infra/Containers/view-container/view-container.component.ts +1 -2
- package/lib/infra/action-buttons/action-buttons.component.html +13 -8
- package/lib/infra/action-buttons/action-buttons.component.scss +23 -0
- package/lib/infra/action-buttons/action-buttons.component.ts +1 -3
- package/lib/infra/assignment/assignment.component.html +1 -1
- package/lib/infra/assignment/assignment.component.ts +100 -46
- package/lib/infra/assignment-card/assignment-card.component.html +2 -2
- package/lib/infra/assignment-card/assignment-card.component.scss +0 -4
- package/lib/infra/assignment-card/assignment-card.component.ts +21 -5
- package/lib/infra/dashboard-filter/dashboard-filter.component.ts +0 -1
- package/lib/infra/defer-load/defer-load.component.html +6 -2
- package/lib/infra/defer-load/defer-load.component.ts +25 -12
- package/lib/infra/error-boundary/error-boundary.component.ts +0 -1
- package/lib/infra/multi-step/multi-step.component.html +22 -38
- package/lib/infra/multi-step/multi-step.component.scss +14 -27
- package/lib/infra/multi-step/multi-step.component.ts +0 -1
- package/lib/infra/navbar/navbar.component.html +36 -41
- package/lib/infra/navbar/navbar.component.scss +22 -4
- package/lib/infra/navbar/navbar.component.ts +8 -6
- package/lib/infra/reference/reference.component.ts +82 -90
- package/lib/infra/region/region.component.ts +0 -1
- package/lib/infra/root-container/root-container.component.html +2 -15
- package/lib/infra/root-container/root-container.component.scss +0 -1
- package/lib/infra/root-container/root-container.component.ts +25 -32
- package/lib/infra/stages/stages.component.html +4 -3
- package/lib/infra/stages/stages.component.scss +12 -36
- package/lib/infra/stages/stages.component.ts +4 -3
- package/lib/infra/view/view.component.html +1 -1
- package/lib/infra/view/view.component.ts +3 -7
- package/lib/template/advanced-search/advanced-search.component.html +12 -0
- package/lib/template/advanced-search/advanced-search.component.scss +0 -0
- package/lib/template/advanced-search/advanced-search.component.spec.ts +0 -0
- package/lib/template/advanced-search/advanced-search.component.ts +112 -0
- package/lib/template/advanced-search/advanced-search.service.ts +27 -0
- package/lib/template/advanced-search/search-group/persist-utils.ts +56 -0
- package/lib/template/advanced-search/search-groups/search-groups.component.html +32 -0
- package/lib/template/advanced-search/search-groups/search-groups.component.scss +0 -0
- package/lib/template/advanced-search/search-groups/search-groups.component.spec.ts +0 -0
- package/lib/template/advanced-search/search-groups/search-groups.component.ts +294 -0
- package/lib/template/advanced-search/search-groups/utils.ts +29 -0
- package/lib/template/app-shell/app-shell.component.html +4 -1
- package/lib/template/app-shell/app-shell.component.scss +0 -3
- package/lib/template/app-shell/app-shell.component.ts +46 -8
- package/lib/template/banner-page/banner-page.component.ts +0 -1
- package/lib/template/base/form-template-base.ts +6 -0
- package/lib/template/case-summary/case-summary.component.scss +0 -2
- package/lib/template/case-summary/case-summary.component.ts +6 -22
- package/lib/template/case-view/case-view.component.html +4 -4
- package/lib/template/case-view/case-view.component.scss +18 -10
- package/lib/template/case-view/case-view.component.ts +1 -11
- package/lib/template/confirmation/confirmation.component.html +2 -2
- package/lib/template/confirmation/confirmation.component.ts +0 -1
- package/lib/template/data-reference/data-reference.component.html +11 -8
- package/lib/template/data-reference/data-reference.component.ts +346 -113
- package/lib/template/data-reference/search-form/search-form.component.html +39 -0
- package/lib/template/data-reference/search-form/search-form.component.scss +11 -0
- package/lib/template/data-reference/search-form/search-form.component.spec.ts +0 -0
- package/lib/template/data-reference/search-form/search-form.component.ts +167 -0
- package/lib/template/data-reference/search-form/tabsData.ts +160 -0
- package/lib/template/data-reference/utils.ts +92 -0
- package/lib/template/default-form/default-form.component.ts +45 -5
- package/lib/template/default-page/default-page.component.html +34 -0
- package/lib/template/default-page/default-page.component.scss +31 -0
- package/lib/template/default-page/default-page.component.spec.ts +24 -0
- package/lib/template/default-page/default-page.component.ts +64 -0
- package/lib/template/details/details.component.ts +0 -1
- package/lib/template/details-narrow-wide/details-narrow-wide.component.ts +0 -1
- package/lib/template/details-one-column/details-one-column.component.ts +0 -1
- package/lib/template/details-sub-tabs/details-sub-tabs.component.ts +0 -1
- package/lib/template/details-three-column/details-three-column.component.ts +0 -1
- package/lib/template/details-two-column/details-two-column.component.ts +0 -1
- package/lib/template/details-wide-narrow/details-wide-narrow.component.ts +0 -1
- package/lib/template/dynamic-tabs/dynamic-tabs.component.ts +0 -1
- package/lib/template/field-group-list/field-group-list.component.scss +0 -1
- package/lib/template/field-group-list/field-group-list.component.ts +0 -1
- package/lib/template/field-group-template/field-group-template.component.html +7 -7
- package/lib/template/field-group-template/field-group-template.component.scss +8 -0
- package/lib/template/field-group-template/field-group-template.component.ts +64 -55
- package/lib/template/field-value-list/field-value-list.component.html +2 -2
- package/lib/template/field-value-list/field-value-list.component.scss +4 -0
- package/lib/template/field-value-list/field-value-list.component.ts +0 -1
- package/lib/template/inline-dashboard/inline-dashboard.component.ts +0 -1
- package/lib/template/inline-dashboard-page/inline-dashboard-page.component.ts +1 -2
- package/lib/template/list-page/list-page.component.ts +0 -1
- package/lib/template/list-view/list-view.component.html +170 -160
- package/lib/template/list-view/list-view.component.scss +25 -21
- package/lib/template/list-view/list-view.component.ts +208 -122
- package/lib/template/list-view/listViewHelpers.ts +3 -9
- package/lib/template/list-view/utils.ts +27 -7
- package/lib/template/multi-reference-readonly/multi-reference-readonly.component.ts +0 -1
- package/lib/template/narrow-wide-form/narrow-wide-form.component.ts +0 -1
- package/lib/template/object-page/object-page.component.html +1 -0
- package/lib/template/object-page/object-page.component.scss +0 -0
- package/lib/template/object-page/object-page.component.spec.ts +22 -0
- package/lib/template/object-page/object-page.component.ts +14 -0
- package/lib/template/one-column/one-column.component.ts +0 -1
- package/lib/template/one-column-page/one-column-page.component.ts +0 -1
- package/lib/template/one-column-tab/one-column-tab.component.scss +1 -1
- package/lib/template/one-column-tab/one-column-tab.component.ts +0 -1
- package/lib/template/page/page.component.ts +0 -1
- package/lib/template/promoted-filters/promoted-filters.component.ts +0 -1
- package/lib/template/repeating-structures/repeating-structures.component.ts +0 -2
- package/lib/template/self-service-case-view/self-service-case-view.component.html +78 -0
- package/lib/template/self-service-case-view/self-service-case-view.component.scss +132 -0
- package/lib/template/self-service-case-view/self-service-case-view.component.spec.ts +24 -0
- package/lib/template/self-service-case-view/self-service-case-view.component.ts +207 -0
- package/lib/template/simple-table/simple-table.component.ts +0 -2
- package/lib/template/simple-table-manual/helpers.ts +126 -10
- package/lib/template/simple-table-manual/simple-table-manual.component.html +27 -8
- package/lib/template/simple-table-manual/simple-table-manual.component.scss +15 -17
- package/lib/template/simple-table-manual/simple-table-manual.component.ts +103 -45
- package/lib/template/simple-table-select/simple-table-select.component.ts +0 -1
- package/lib/template/single-reference-readonly/single-reference-readonly.component.html +4 -1
- package/lib/template/single-reference-readonly/single-reference-readonly.component.scss +21 -0
- package/lib/template/single-reference-readonly/single-reference-readonly.component.ts +104 -4
- package/lib/template/sub-tabs/sub-tabs.component.ts +0 -1
- package/lib/template/three-column/three-column.component.ts +0 -1
- package/lib/template/three-column-page/three-column-page.component.ts +0 -1
- package/lib/template/two-column/two-column.component.ts +0 -1
- package/lib/template/two-column-page/two-column-page.component.ts +0 -1
- package/lib/template/two-column-tab/two-column-tab.component.ts +0 -1
- package/lib/template/utils.ts +58 -0
- package/lib/template/wide-narrow-form/wide-narrow-form.component.ts +0 -1
- package/lib/template/wide-narrow-page/wide-narrow-page.component.ts +0 -1
- package/lib/template/wss-nav-bar/wss-nav-bar.component.html +6 -5
- package/lib/template/wss-nav-bar/wss-nav-bar.component.scss +8 -17
- package/lib/template/wss-nav-bar/wss-nav-bar.component.ts +1 -9
- package/lib/widget/app-announcement/app-announcement.component.html +1 -2
- package/lib/widget/app-announcement/app-announcement.component.scss +2 -2
- package/lib/widget/app-announcement/app-announcement.component.ts +0 -1
- package/lib/widget/attachment/Attachment.types.ts +92 -0
- package/lib/widget/attachment/AttachmentUtils.ts +287 -0
- package/lib/widget/attachment/attachment.component.html +3 -3
- package/lib/widget/attachment/attachment.component.scss +9 -12
- package/lib/widget/attachment/attachment.component.ts +267 -254
- package/lib/widget/case-history/case-history.component.ts +0 -1
- package/lib/widget/feed-container/feed-container.component.scss +3 -9
- package/lib/widget/feed-container/feed-container.component.ts +2 -5
- package/lib/widget/file-utility/file-utility.component.html +3 -3
- package/lib/widget/file-utility/file-utility.component.scss +6 -17
- package/lib/widget/file-utility/file-utility.component.ts +24 -9
- package/lib/widget/list-utility/list-utility.component.scss +4 -5
- package/lib/widget/list-utility/list-utility.component.ts +0 -1
- package/lib/widget/quick-create/quick-create.component.ts +41 -23
- package/lib/widget/todo/todo.component.html +12 -10
- package/lib/widget/todo/todo.component.scss +20 -10
- package/lib/widget/todo/todo.component.ts +11 -7
- package/lib/widget/utility/utility.component.ts +0 -1
- package/package.json +1 -1
|
@@ -1,45 +1,47 @@
|
|
|
1
|
-
<div
|
|
1
|
+
<div>
|
|
2
2
|
<div *ngIf="displayMode$; else noDisplayMode">
|
|
3
3
|
<component-mapper name="FieldValueList" [props]="{ label$, value$, displayMode$ }"></component-mapper>
|
|
4
4
|
</div>
|
|
5
5
|
<ng-template #noDisplayMode>
|
|
6
|
-
<div
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
<
|
|
11
|
-
<mat-
|
|
12
|
-
<mat-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<
|
|
24
|
-
<mat-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<mat-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
6
|
+
<div class="psdk-user-reference">
|
|
7
|
+
<div *ngIf="this.userID$ && type === 'operator'">
|
|
8
|
+
<component-mapper name="Operator" [props]="{ pConn$, name$: userName$ }"></component-mapper>
|
|
9
|
+
</div>
|
|
10
|
+
<div [formGroup]="formGroup$" *ngIf="type === 'dropdown'">
|
|
11
|
+
<mat-form-field class="psdk-full-width" subscriptSizing="dynamic" [hintLabel]="helperText">
|
|
12
|
+
<mat-select [required]="bRequired$" [formControl]="fieldControl" [attr.data-test-id]="testId" (selectionChange)="fieldOnChange($event)">
|
|
13
|
+
<mat-option *ngFor="let opt of options$" [value]="opt.key">
|
|
14
|
+
{{ opt.value }}
|
|
15
|
+
</mat-option>
|
|
16
|
+
</mat-select>
|
|
17
|
+
<mat-label>{{ label$ }}</mat-label>
|
|
18
|
+
<mat-error *ngIf="fieldControl.invalid">
|
|
19
|
+
{{ getErrorMessage() }}
|
|
20
|
+
</mat-error>
|
|
21
|
+
</mat-form-field>
|
|
22
|
+
</div>
|
|
23
|
+
<div [formGroup]="formGroup$" *ngIf="type === 'searchbox'">
|
|
24
|
+
<mat-form-field class="psdk-full-width" subscriptSizing="dynamic" [hintLabel]="helperText">
|
|
25
|
+
<mat-label>{{ label$ }}</mat-label>
|
|
26
|
+
<input
|
|
27
|
+
matInput
|
|
28
|
+
[placeholder]="placeholder"
|
|
29
|
+
[formControl]="fieldControl"
|
|
30
|
+
[required]="bRequired$"
|
|
31
|
+
[matAutocomplete]="auto"
|
|
32
|
+
[attr.data-test-id]="testId"
|
|
33
|
+
(blur)="fieldOnBlur($event)"
|
|
34
|
+
/>
|
|
35
|
+
<mat-autocomplete #auto="matAutocomplete" autoActiveFirstOption (optionSelected)="optionChanged($event)">
|
|
36
|
+
<mat-option *ngFor="let opt of filteredOptions | async" [value]="opt.value">
|
|
37
|
+
<span>{{ opt.value }}</span>
|
|
38
|
+
</mat-option>
|
|
39
|
+
</mat-autocomplete>
|
|
40
|
+
<mat-error *ngIf="fieldControl.invalid">
|
|
41
|
+
{{ getErrorMessage() }}
|
|
42
|
+
</mat-error>
|
|
43
|
+
</mat-form-field>
|
|
44
|
+
</div>
|
|
43
45
|
</div>
|
|
44
46
|
</ng-template>
|
|
45
47
|
</div>
|
|
@@ -30,7 +30,6 @@ interface UserReferenceProps extends Omit<PConnFieldProps, 'value'> {
|
|
|
30
30
|
selector: 'app-user-reference',
|
|
31
31
|
templateUrl: './user-reference.component.html',
|
|
32
32
|
styleUrls: ['./user-reference.component.scss'],
|
|
33
|
-
standalone: true,
|
|
34
33
|
imports: [
|
|
35
34
|
CommonModule,
|
|
36
35
|
ReactiveFormsModule,
|
|
@@ -65,7 +64,7 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
65
64
|
filterValue = '';
|
|
66
65
|
|
|
67
66
|
fieldControl = new FormControl('', null);
|
|
68
|
-
actionsApi:
|
|
67
|
+
actionsApi: object;
|
|
69
68
|
propName: string;
|
|
70
69
|
onRecordChange: any;
|
|
71
70
|
|
|
@@ -168,7 +167,11 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
168
167
|
this.placeholder = placeholder || '';
|
|
169
168
|
this.displayMode$ = displayMode;
|
|
170
169
|
|
|
171
|
-
|
|
170
|
+
if (value && typeof value === 'object') {
|
|
171
|
+
this.value$ = value.userName ? value.userName : '';
|
|
172
|
+
} else {
|
|
173
|
+
this.value$ = value || '';
|
|
174
|
+
}
|
|
172
175
|
|
|
173
176
|
const { readOnly, required } = props;
|
|
174
177
|
[this.bReadonly$, this.bRequired$] = [readOnly, required].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));
|
|
@@ -184,12 +187,8 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
184
187
|
} else {
|
|
185
188
|
// if same user ref field is referred in view as editable & readonly formatted text
|
|
186
189
|
// referenced users won't be available, so get user details from dx api
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
if (resp.data && resp.data.pyOperatorInfo && resp.data.pyOperatorInfo.pyUserName) {
|
|
190
|
-
this.userName$ = resp.data.pyOperatorInfo.pyUserName;
|
|
191
|
-
}
|
|
192
|
-
});
|
|
190
|
+
|
|
191
|
+
this.userName$ = await getUserName(this.pConn$, this.userID$);
|
|
193
192
|
}
|
|
194
193
|
} else if (displayAs === DROPDOWN_LIST || displayAs === SEARCH_BOX) {
|
|
195
194
|
const queryPayload = {
|
|
@@ -257,3 +256,65 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
257
256
|
return errMessage;
|
|
258
257
|
}
|
|
259
258
|
}
|
|
259
|
+
|
|
260
|
+
const buildColumnForDisplayValue = dataObj => {
|
|
261
|
+
if (dataObj.columns) {
|
|
262
|
+
dataObj.columns = dataObj.columns.map(column => {
|
|
263
|
+
const tempColObj = { ...column };
|
|
264
|
+
if (tempColObj.key === 'true') {
|
|
265
|
+
tempColObj.useForSearch = true;
|
|
266
|
+
} else {
|
|
267
|
+
tempColObj.useForSearch = false;
|
|
268
|
+
}
|
|
269
|
+
return tempColObj;
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
function getUserName(pConn, userId = ''): Promise<string> {
|
|
275
|
+
return new Promise(resolve => {
|
|
276
|
+
const { parameters = {}, referenceList } = pConn.getConfigProps();
|
|
277
|
+
const contextName = pConn.getContextName();
|
|
278
|
+
|
|
279
|
+
const OPERATORS_DP = referenceList || PCore.getEnvironmentInfo().getDefaultOperatorDP() || '';
|
|
280
|
+
|
|
281
|
+
const columns = [
|
|
282
|
+
{
|
|
283
|
+
value: 'pyUserName',
|
|
284
|
+
display: 'true',
|
|
285
|
+
useForSearch: true,
|
|
286
|
+
primary: 'true'
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
value: 'pyUserIdentifier',
|
|
290
|
+
setProperty: 'Associated property',
|
|
291
|
+
key: 'true',
|
|
292
|
+
display: 'true',
|
|
293
|
+
secondary: 'true',
|
|
294
|
+
useForSearch: true
|
|
295
|
+
}
|
|
296
|
+
];
|
|
297
|
+
|
|
298
|
+
const dataConfig: any = {
|
|
299
|
+
dataSource: OPERATORS_DP,
|
|
300
|
+
parameters,
|
|
301
|
+
matchPosition: 'equals',
|
|
302
|
+
listType: 'datapage',
|
|
303
|
+
columns,
|
|
304
|
+
cacheLifeSpan: 'form',
|
|
305
|
+
deferDatasource: false,
|
|
306
|
+
maxResultsDisplay: '1',
|
|
307
|
+
ignoreCase: true
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
PCore.getDataApi()
|
|
311
|
+
.init(dataConfig, contextName)
|
|
312
|
+
.then(dataApiObj => {
|
|
313
|
+
buildColumnForDisplayValue(dataApiObj);
|
|
314
|
+
dataApiObj.registerForBufferedCall({ waitTime: 50 });
|
|
315
|
+
dataApiObj.fetchData(userId).then((response: any) => {
|
|
316
|
+
resolve(response.data?.[0]?.pyUserName || userId);
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
});
|
|
320
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div style="text-align: left" class="psdk-flow-container-top">
|
|
2
2
|
<div *ngIf="!bShowConfirm">
|
|
3
3
|
<div *ngIf="!todo_showTodo$">
|
|
4
|
-
<h2>{{ containerName$ }}</h2>
|
|
4
|
+
<h2 *ngIf="!isMultiStep">{{ containerName$ }}</h2>
|
|
5
5
|
<div *ngIf="banners?.length">
|
|
6
6
|
<component-mapper name="AlertBanner" [props]="{ banners }"></component-mapper>
|
|
7
7
|
</div>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
</div>
|
|
33
33
|
<div *ngIf="bHasCaseMessages$">
|
|
34
34
|
<mat-card class="psdk-message-card">
|
|
35
|
-
<div style="display: flex; flex-direction: row">
|
|
35
|
+
<div style="display: flex; flex-direction: row; align-items: center">
|
|
36
36
|
<div><img class="psdk-icon" src="{{ checkSvg$ }}" /></div>
|
|
37
37
|
<div>{{ caseMessages$ }}</div>
|
|
38
38
|
</div>
|
|
@@ -6,7 +6,7 @@ import { publicConstants } from '@pega/pcore-pconnect-typedefs/constants';
|
|
|
6
6
|
import { ProgressSpinnerService } from '@pega/angular-sdk-components';
|
|
7
7
|
import { ReferenceComponent } from '@pega/angular-sdk-components';
|
|
8
8
|
import { Utils } from '@pega/angular-sdk-components';
|
|
9
|
-
import { getToDoAssignments, showBanner } from './helpers';
|
|
9
|
+
import { getToDoAssignments, hasAssignments, showBanner } from './helpers';
|
|
10
10
|
import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
11
11
|
import { FlowContainerBaseComponent } from '@pega/angular-sdk-components';
|
|
12
12
|
|
|
@@ -29,7 +29,6 @@ interface FlowContainerProps {
|
|
|
29
29
|
templateUrl: './flow-container.component.html',
|
|
30
30
|
styleUrls: ['./flow-container.component.scss'],
|
|
31
31
|
providers: [Utils],
|
|
32
|
-
standalone: true,
|
|
33
32
|
imports: [CommonModule, MatCardModule, forwardRef(() => ComponentMapperComponent)]
|
|
34
33
|
})
|
|
35
34
|
export class FlowContainerComponent extends FlowContainerBaseComponent implements OnInit, OnDestroy {
|
|
@@ -71,6 +70,7 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
71
70
|
// itemKey: string = ""; // JA - this is what Nebula/Constellation uses to pass to finishAssignment, navigateToStep
|
|
72
71
|
|
|
73
72
|
pConnectOfActiveContainerItem;
|
|
73
|
+
isMultiStep: any;
|
|
74
74
|
|
|
75
75
|
constructor(
|
|
76
76
|
injector: Injector,
|
|
@@ -90,8 +90,7 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
90
90
|
this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
|
|
91
91
|
|
|
92
92
|
this.localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
93
|
-
|
|
94
|
-
this.localeReference = `${caseInfo?.getClassName()}!CASE!${caseInfo.getName()}`.toUpperCase();
|
|
93
|
+
this.localeReference = this.pConn$?.getCaseLocaleReference();
|
|
95
94
|
|
|
96
95
|
// Then, continue on with other initialization
|
|
97
96
|
|
|
@@ -121,6 +120,14 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
121
120
|
},
|
|
122
121
|
'cancelPressed'
|
|
123
122
|
);
|
|
123
|
+
|
|
124
|
+
PCore.getPubSubUtils().subscribe(
|
|
125
|
+
'clearBannerMessages',
|
|
126
|
+
() => {
|
|
127
|
+
this.banners = [];
|
|
128
|
+
},
|
|
129
|
+
'clearBannerMessages'
|
|
130
|
+
);
|
|
124
131
|
}
|
|
125
132
|
|
|
126
133
|
ngOnDestroy() {
|
|
@@ -131,6 +138,8 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
131
138
|
PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.EVENT_CANCEL, 'cancelAssignment');
|
|
132
139
|
|
|
133
140
|
PCore.getPubSubUtils().unsubscribe('cancelPressed', 'cancelPressed');
|
|
141
|
+
|
|
142
|
+
PCore.getPubSubUtils().unsubscribe('clearBannerMessages', 'clearBannerMessages');
|
|
134
143
|
}
|
|
135
144
|
|
|
136
145
|
handleCancel() {
|
|
@@ -155,13 +164,15 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
155
164
|
const caseViewModeFromProps = this.angularPConnect.getComponentProp(this, 'caseViewMode');
|
|
156
165
|
const caseViewModeFromRedux = pConn.getValue('context_data.caseViewMode', '');
|
|
157
166
|
|
|
167
|
+
const completeProps = this.angularPConnect.getCurrentCompleteProps(this) as FlowContainerProps;
|
|
168
|
+
|
|
158
169
|
// ONLY call updateSelf when the component should update
|
|
159
170
|
// AND removing the "gate" that was put there since shouldComponentUpdate
|
|
160
171
|
// should be the real "gate"
|
|
172
|
+
|
|
161
173
|
if (bUpdateSelf || caseViewModeFromProps !== caseViewModeFromRedux) {
|
|
162
174
|
// don't want to redraw the flow container when there are page messages, because
|
|
163
175
|
// the redraw causes us to loose the errors on the elements
|
|
164
|
-
const completeProps = this.angularPConnect.getCurrentCompleteProps(this) as FlowContainerProps;
|
|
165
176
|
if (!completeProps.pageMessages || completeProps.pageMessages.length == 0) {
|
|
166
177
|
// with a cancel, need to timeout so todo will update correctly
|
|
167
178
|
if (this.bHasCancel) {
|
|
@@ -172,10 +183,10 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
172
183
|
} else {
|
|
173
184
|
this.updateSelf();
|
|
174
185
|
}
|
|
175
|
-
} else {
|
|
176
|
-
this.showPageMessages(completeProps);
|
|
177
186
|
}
|
|
178
187
|
}
|
|
188
|
+
|
|
189
|
+
this.showPageMessages(completeProps);
|
|
179
190
|
}
|
|
180
191
|
|
|
181
192
|
showPageMessages(completeProps: FlowContainerProps) {
|
|
@@ -191,9 +202,9 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
191
202
|
const kid = this.pConn$.getChildren()[0];
|
|
192
203
|
const todoKid = kid.getPConnect().getChildren()[0];
|
|
193
204
|
|
|
194
|
-
this.todo_pConn$ = todoKid
|
|
205
|
+
this.todo_pConn$ = todoKid?.getPConnect();
|
|
195
206
|
|
|
196
|
-
return
|
|
207
|
+
return !!this.todo_pConn$;
|
|
197
208
|
}
|
|
198
209
|
|
|
199
210
|
return !(caseViewMode && caseViewMode === 'perform');
|
|
@@ -270,48 +281,14 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
270
281
|
|
|
271
282
|
// this.containerName$ = oWorkMeta["name"];
|
|
272
283
|
if (bLoadChildren && oWorkData) {
|
|
273
|
-
this.containerName$ = this.localizedVal(this.getActiveViewLabel() || oWorkData.caseInfo.assignments[0].name, undefined, this.localeReference);
|
|
284
|
+
this.containerName$ = this.localizedVal(this.getActiveViewLabel() || oWorkData.caseInfo.assignments?.[0].name, undefined, this.localeReference);
|
|
285
|
+
this.isMultiStep = this.utils.getBooleanValue(oWorkData.caseInfo.assignments?.[0].isMultiStep);
|
|
274
286
|
}
|
|
275
287
|
|
|
276
288
|
// turn off spinner
|
|
277
289
|
this.psService.sendMessage(false);
|
|
278
290
|
}
|
|
279
291
|
|
|
280
|
-
hasAssignments() {
|
|
281
|
-
let hasAssignments = false;
|
|
282
|
-
const assignmentsList = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS);
|
|
283
|
-
// const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();
|
|
284
|
-
// 8.7 includes assignments in Assignments List that may be assigned to
|
|
285
|
-
// a different operator. So, see if there are any assignments for
|
|
286
|
-
// the current operator
|
|
287
|
-
const isEmbedded = window.location.href.includes('embedded');
|
|
288
|
-
let bAssignmentsForThisOperator = false;
|
|
289
|
-
|
|
290
|
-
if (isEmbedded) {
|
|
291
|
-
const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();
|
|
292
|
-
for (const assignment of assignmentsList) {
|
|
293
|
-
if (assignment.assigneeInfo.ID === thisOperator) {
|
|
294
|
-
bAssignmentsForThisOperator = true;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
} else {
|
|
298
|
-
bAssignmentsForThisOperator = true;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
// Bail if there is no assignmentsList
|
|
302
|
-
if (!assignmentsList) {
|
|
303
|
-
return hasAssignments;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
const hasChildCaseAssignments = this.hasChildCaseAssignments();
|
|
307
|
-
|
|
308
|
-
if (bAssignmentsForThisOperator || hasChildCaseAssignments || this.isCaseWideLocalAction()) {
|
|
309
|
-
hasAssignments = true;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
return hasAssignments;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
292
|
isCaseWideLocalAction() {
|
|
316
293
|
const actionID = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.ACTIVE_ACTION_ID);
|
|
317
294
|
const caseActions = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.AVAILABLEACTIONS);
|
|
@@ -461,7 +438,7 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
461
438
|
this.caseMessages$ = this.localizedVal(this.pConn$.getValue('caseMessages'), this.localeCategory);
|
|
462
439
|
// caseMessages's behavior has changed in 24.2, and hence it doesn't let Optional Action work.
|
|
463
440
|
// Changing the below condition for now. Was: (theCaseMessages || !hasAssignments())
|
|
464
|
-
if (!this.
|
|
441
|
+
if (!hasAssignments(this.pConn$)) {
|
|
465
442
|
this.bHasCaseMessages$ = true;
|
|
466
443
|
this.bShowConfirm = true;
|
|
467
444
|
this.checkSvg$ = this.utils.getImageSrc('check', this.utils.getSDKStaticContentUrl());
|
|
@@ -471,9 +448,6 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
471
448
|
this.caseMessages$ = this.localizedVal('Thank you! The next step in this case has been routed appropriately.', this.localeCategory);
|
|
472
449
|
}
|
|
473
450
|
|
|
474
|
-
// publish this "assignmentFinished" for mashup, need to get approved as a standard
|
|
475
|
-
PCore.getPubSubUtils().publish('assignmentFinished');
|
|
476
|
-
|
|
477
451
|
this.psService.sendMessage(false);
|
|
478
452
|
} else {
|
|
479
453
|
this.bHasCaseMessages$ = false;
|
|
@@ -491,7 +465,7 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
491
465
|
// @ts-ignore - Property 'getLoadingStatus' is private and only accessible within class 'C11nEnv'
|
|
492
466
|
loadingInfo = this.pConn$.getLoadingStatus();
|
|
493
467
|
} catch (ex) {
|
|
494
|
-
|
|
468
|
+
console.log(ex);
|
|
495
469
|
}
|
|
496
470
|
|
|
497
471
|
// this check in routingInfo, mimic Nebula/Constellation (React) to check and get the internals of the
|
|
@@ -513,7 +487,6 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
513
487
|
}
|
|
514
488
|
});
|
|
515
489
|
|
|
516
|
-
// eslint-disable-next-line sonarjs/no-collapsible-if
|
|
517
490
|
if (currentOrder.length > 0) {
|
|
518
491
|
if (currentItems[key] && currentItems[key].view && type === 'single' && Object.keys(currentItems[key].view).length > 0) {
|
|
519
492
|
// when we get here, it it because the flow action data has changed
|
|
@@ -28,12 +28,12 @@ function getChildCaseAssignments(pConnect) {
|
|
|
28
28
|
return allAssignments;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
function hasAssignments(pConnect) {
|
|
31
|
+
export function hasAssignments(pConnect) {
|
|
32
32
|
const { CASE_INFO } = PCore.getConstants();
|
|
33
33
|
const assignments = pConnect.getValue(CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS);
|
|
34
34
|
const childCasesAssignments = getChildCaseAssignments(pConnect);
|
|
35
35
|
|
|
36
|
-
return assignments || childCasesAssignments || isCaseWideLocalAction(pConnect);
|
|
36
|
+
return assignments || childCasesAssignments?.length || isCaseWideLocalAction(pConnect);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export const showBanner = getPConnect => {
|
|
@@ -14,7 +14,6 @@ import { FormGroup } from '@angular/forms';
|
|
|
14
14
|
selector: 'app-hybrid-view-container',
|
|
15
15
|
templateUrl: './hybrid-view-container.component.html',
|
|
16
16
|
styleUrls: ['./hybrid-view-container.component.scss'],
|
|
17
|
-
standalone: true,
|
|
18
17
|
imports: [CommonModule]
|
|
19
18
|
})
|
|
20
19
|
export class HybridViewContainerComponent {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div id="dialog" *ngIf="bShowModal$
|
|
1
|
+
<div id="dialog" *ngIf="bShowModal$" class="psdk-dialog-background">
|
|
2
2
|
<div class="psdk-modal-view-container-top" id="{{ buildName$ }}">
|
|
3
3
|
<h3 *ngIf="title$ != ''">{{ title$ }}</h3>
|
|
4
4
|
<component-mapper
|
|
@@ -15,16 +15,6 @@
|
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
|
-
<div *ngIf="bShowModal$ && !bShowAsModal$">
|
|
19
|
-
<div id="{{ buildName$ }}">
|
|
20
|
-
<h3 *ngIf="title$ != ''">{{ title$ }}</h3>
|
|
21
|
-
<component-mapper
|
|
22
|
-
name="Assignment"
|
|
23
|
-
[props]="{ pConn$: createdViewPConn$, formGroup$, arChildren$, itemKey$, isCreateStage$: true, updateToken$ }"
|
|
24
|
-
></component-mapper>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
18
|
<div *ngIf="bShowCancelAlert$">
|
|
29
19
|
<component-mapper
|
|
30
20
|
name="CancelAlert"
|
|
@@ -18,12 +18,10 @@ import { ReferenceComponent } from '@pega/angular-sdk-components';
|
|
|
18
18
|
selector: 'app-modal-view-container',
|
|
19
19
|
templateUrl: './modal-view-container.component.html',
|
|
20
20
|
styleUrls: ['./modal-view-container.component.scss'],
|
|
21
|
-
standalone: true,
|
|
22
21
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
23
22
|
})
|
|
24
23
|
export class ModalViewContainerComponent implements OnInit, OnDestroy {
|
|
25
24
|
@Input() pConn$: typeof PConnect;
|
|
26
|
-
@Input() displayOnlyFA$: boolean;
|
|
27
25
|
|
|
28
26
|
// for when non modal
|
|
29
27
|
@Output() modalVisibleChange = new EventEmitter<boolean>();
|
|
@@ -32,17 +30,16 @@ export class ModalViewContainerComponent implements OnInit, OnDestroy {
|
|
|
32
30
|
angularPConnectData: AngularPConnectData = {};
|
|
33
31
|
|
|
34
32
|
arChildren$: any[];
|
|
35
|
-
stateProps$:
|
|
33
|
+
stateProps$: object;
|
|
36
34
|
banners: any;
|
|
37
35
|
templateName$: string;
|
|
38
36
|
buildName$: string;
|
|
39
37
|
context$: string;
|
|
40
38
|
title$ = '';
|
|
41
39
|
bShowModal$ = false;
|
|
42
|
-
bShowAsModal$ = true;
|
|
43
40
|
itemKey$: string;
|
|
44
41
|
formGroup$: FormGroup;
|
|
45
|
-
oCaseInfo:
|
|
42
|
+
oCaseInfo: object = {};
|
|
46
43
|
|
|
47
44
|
// for causing a change on assignment
|
|
48
45
|
updateToken$ = 0;
|
|
@@ -73,11 +70,6 @@ export class ModalViewContainerComponent implements OnInit, OnDestroy {
|
|
|
73
70
|
}
|
|
74
71
|
|
|
75
72
|
ngOnInit(): void {
|
|
76
|
-
if (this.displayOnlyFA$) {
|
|
77
|
-
// for when non modal
|
|
78
|
-
this.bShowAsModal$ = false;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
73
|
// First thing in initialization is registering and subscribing to the AngularPConnect service
|
|
82
74
|
this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
|
|
83
75
|
|
|
@@ -142,7 +134,7 @@ export class ModalViewContainerComponent implements OnInit, OnDestroy {
|
|
|
142
134
|
// @ts-ignore - Property 'getLoadingStatus' is private and only accessible within class 'C11nEnv'
|
|
143
135
|
loadingInfo = this.pConn$.getLoadingStatus();
|
|
144
136
|
} catch (ex) {
|
|
145
|
-
|
|
137
|
+
console.log(ex);
|
|
146
138
|
}
|
|
147
139
|
// const configProps = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
|
|
148
140
|
this.stateProps$ = this.pConn$.getStateProps();
|
|
@@ -242,12 +234,7 @@ export class ModalViewContainerComponent implements OnInit, OnDestroy {
|
|
|
242
234
|
this.title$ =
|
|
243
235
|
isDataObject || this.isMultiRecord
|
|
244
236
|
? this.getModalHeading(dataObjectAction)
|
|
245
|
-
: this.determineModalHeaderByAction(
|
|
246
|
-
actionName,
|
|
247
|
-
caseTypeName,
|
|
248
|
-
ID,
|
|
249
|
-
`${theNewCaseInfo?.getClassName()}!CASE!${theNewCaseInfo.getName()}`.toUpperCase()
|
|
250
|
-
);
|
|
237
|
+
: this.determineModalHeaderByAction(actionName, caseTypeName, ID, this.createdViewPConn$?.getCaseLocaleReference());
|
|
251
238
|
|
|
252
239
|
const bIsRefComponent = this.checkIfRefComponent(newComp);
|
|
253
240
|
|
|
@@ -372,7 +359,7 @@ export class ModalViewContainerComponent implements OnInit, OnDestroy {
|
|
|
372
359
|
return {};
|
|
373
360
|
}
|
|
374
361
|
|
|
375
|
-
compareCaseInfoIsDifferent(oCurrentCaseInfo:
|
|
362
|
+
compareCaseInfoIsDifferent(oCurrentCaseInfo: object): boolean {
|
|
376
363
|
let bRet = false;
|
|
377
364
|
|
|
378
365
|
// fast-deep-equal version
|
|
@@ -10,13 +10,46 @@ export const addContainerItem = pConnect => {
|
|
|
10
10
|
export const configureBrowserBookmark = pConnect => {
|
|
11
11
|
const context = pConnect.getContextName();
|
|
12
12
|
const containerName = pConnect.getContainerName();
|
|
13
|
+
const envInfo = PCore.getEnvironmentInfo();
|
|
14
|
+
const { APP } = PCore.getConstants();
|
|
15
|
+
|
|
13
16
|
const navPages = pConnect.getValue('pyPortal.pyPrimaryNavPages');
|
|
14
|
-
|
|
17
|
+
let ruleName = '';
|
|
18
|
+
let className = '';
|
|
19
|
+
let defaultViewLabel = '';
|
|
20
|
+
|
|
21
|
+
const isNextGenLandingPageRouting = (envInfo?.environmentInfoObject as any)?.pyExecutionRuntimeName === (APP as any).INFINITY_RUNTIME;
|
|
22
|
+
|
|
23
|
+
if (Array.isArray(navPages) && navPages.length > 0) {
|
|
24
|
+
const firstNavPage = navPages[0];
|
|
25
|
+
const nestedNavPage = firstNavPage.NavigationPages?.[0];
|
|
26
|
+
|
|
27
|
+
if (isNextGenLandingPageRouting) {
|
|
28
|
+
if (nestedNavPage?.pyRuleName) {
|
|
29
|
+
ruleName = nestedNavPage.pyRuleName;
|
|
30
|
+
className = nestedNavPage.pyClassName || '';
|
|
31
|
+
} else if (firstNavPage?.pyRuleName) {
|
|
32
|
+
ruleName = firstNavPage.pyRuleName;
|
|
33
|
+
className = firstNavPage.pyClassName || '';
|
|
34
|
+
} else if (nestedNavPage?.pyLabel) {
|
|
35
|
+
defaultViewLabel = nestedNavPage.pyLabel;
|
|
36
|
+
} else if (firstNavPage?.pyLabel) {
|
|
37
|
+
defaultViewLabel = firstNavPage.pyLabel;
|
|
38
|
+
}
|
|
39
|
+
} else if (nestedNavPage?.pyLabel) {
|
|
40
|
+
defaultViewLabel = nestedNavPage.pyLabel;
|
|
41
|
+
} else if (firstNavPage?.pyLabel) {
|
|
42
|
+
defaultViewLabel = firstNavPage.pyLabel;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
15
46
|
PCore.configureForBrowserBookmark({
|
|
16
47
|
context,
|
|
17
48
|
containerName,
|
|
18
49
|
acName: containerName,
|
|
19
50
|
semanticURL: '',
|
|
20
|
-
defaultViewLabel
|
|
51
|
+
defaultViewLabel,
|
|
52
|
+
ruleName,
|
|
53
|
+
className
|
|
21
54
|
});
|
|
22
55
|
};
|
|
@@ -28,7 +28,6 @@ interface ViewContainerProps {
|
|
|
28
28
|
selector: 'app-view-container',
|
|
29
29
|
templateUrl: './view-container.component.html',
|
|
30
30
|
styleUrls: ['./view-container.component.scss'],
|
|
31
|
-
standalone: true,
|
|
32
31
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
33
32
|
})
|
|
34
33
|
export class ViewContainerComponent implements OnInit, OnDestroy {
|
|
@@ -162,7 +161,7 @@ export class ViewContainerComponent implements OnInit, OnDestroy {
|
|
|
162
161
|
|
|
163
162
|
this.psService.sendMessage(loadingInfo);
|
|
164
163
|
} catch (ex) {
|
|
165
|
-
|
|
164
|
+
console.log(ex);
|
|
166
165
|
}
|
|
167
166
|
|
|
168
167
|
// const buildName = this.buildName();
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
<
|
|
2
|
-
<
|
|
3
|
-
<button
|
|
1
|
+
<div class="button-bar" *ngIf="arMainButtons$ && arSecondaryButtons$">
|
|
2
|
+
<div class="left-group">
|
|
3
|
+
<button
|
|
4
|
+
*ngFor="let aButton of arSecondaryButtons$"
|
|
5
|
+
mat-stroked-button
|
|
6
|
+
class="secondary-button"
|
|
7
|
+
(click)="buttonClick(aButton.jsAction, 'secondary')"
|
|
8
|
+
>
|
|
4
9
|
{{ localizedVal(aButton.name, localeCategory) }}
|
|
5
10
|
</button>
|
|
6
|
-
</
|
|
7
|
-
<
|
|
8
|
-
<button *ngFor="let aButton of arMainButtons$" mat-
|
|
11
|
+
</div>
|
|
12
|
+
<div class="right-group">
|
|
13
|
+
<button *ngFor="let aButton of arMainButtons$" mat-flat-button (click)="buttonClick(aButton.jsAction, 'primary')">
|
|
9
14
|
{{ localizedVal(aButton.name, localeCategory) }}
|
|
10
15
|
</button>
|
|
11
|
-
</
|
|
12
|
-
</
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
.button-bar {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: row;
|
|
5
|
+
align-items: center;
|
|
6
|
+
width: 100%;
|
|
7
|
+
padding: 1rem;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.left-group,
|
|
11
|
+
.right-group {
|
|
12
|
+
display: flex;
|
|
13
|
+
gap: 1rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.right-group {
|
|
17
|
+
margin-left: auto;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.secondary-button {
|
|
21
|
+
background-color: var(--app-sys-secondary-button-background);
|
|
22
|
+
border-color: var(--app-sys-secondary-button-border);
|
|
23
|
+
}
|