@pega/angular-sdk-overrides 0.24.9 → 0.25.2
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 +1 -2
- package/lib/designSystemExtension/banner/banner.component.scss +12 -2
- package/lib/designSystemExtension/banner/banner.component.ts +0 -1
- package/lib/designSystemExtension/case-create-stage/case-create-stage.component.ts +1 -2
- 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 +7 -35
- 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 +4 -4
- package/lib/designSystemExtension/material-details-fields/material-details-fields.component.scss +4 -3
- package/lib/designSystemExtension/material-details-fields/material-details-fields.component.ts +10 -2
- package/lib/designSystemExtension/material-summary-item/material-summary-item.component.scss +2 -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 +5 -6
- package/lib/designSystemExtension/pulse/pulse.component.scss +2 -2
- package/lib/designSystemExtension/pulse/pulse.component.ts +7 -8
- package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.scss +0 -1
- package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.ts +0 -1
- package/lib/designSystemExtension/wss-quick-create/wss-quick-create.component.scss +16 -8
- 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 +56 -178
- 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 +32 -157
- package/lib/field/currency/currency.component.html +4 -4
- package/lib/field/currency/currency.component.ts +65 -175
- package/lib/field/date/date.component.html +4 -8
- package/lib/field/date/date.component.ts +39 -177
- package/lib/field/date-time/date-time.component.html +3 -4
- package/lib/field/date-time/date-time.component.ts +46 -146
- package/lib/field/decimal/decimal.component.html +4 -3
- package/lib/field/decimal/decimal.component.ts +66 -166
- package/lib/field/dropdown/dropdown.component.html +1 -0
- package/lib/field/dropdown/dropdown.component.ts +158 -153
- package/lib/field/email/email.component.ts +28 -148
- package/lib/field/field.base.ts +149 -0
- package/lib/field/group/group.component.ts +9 -7
- package/lib/field/integer/integer.component.ts +30 -152
- 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 +385 -0
- package/lib/field/multiselect/multiselect.component.ts +56 -151
- 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 +3 -3
- package/lib/field/percentage/percentage.component.ts +68 -161
- package/lib/field/phone/config-ext.json +1 -1
- package/lib/field/phone/phone.component.html +9 -6
- package/lib/field/phone/phone.component.scss +9 -0
- package/lib/field/phone/phone.component.ts +48 -159
- 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 +39 -162
- package/lib/field/rich-text/rich-text.component.ts +32 -93
- package/lib/field/scalar-list/scalar-list.component.ts +20 -77
- 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 +8 -5
- package/lib/field/text-area/text-area.component.html +4 -1
- package/lib/field/text-area/text-area.component.ts +30 -148
- package/lib/field/text-content/text-content.component.ts +0 -1
- package/lib/field/text-input/text-input.component.ts +28 -150
- package/lib/field/time/time.component.html +2 -2
- package/lib/field/time/time.component.ts +39 -145
- package/lib/field/url/url.component.ts +28 -149
- package/lib/field/user-reference/user-reference.component.html +40 -46
- package/lib/field/user-reference/user-reference.component.scss +0 -1
- package/lib/field/user-reference/user-reference.component.ts +110 -21
- package/lib/infra/Containers/flow-container/flow-container.component.html +1 -1
- package/lib/infra/Containers/flow-container/flow-container.component.ts +29 -54
- 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 +6 -19
- package/lib/infra/Containers/preview-view-container/preview-view-container.component.ts +1 -1
- package/lib/infra/Containers/view-container/helper.ts +55 -0
- package/lib/infra/Containers/view-container/view-container.component.ts +6 -19
- 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 +90 -47
- 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 +24 -16
- package/lib/infra/error-boundary/error-boundary.component.ts +0 -1
- package/lib/infra/multi-step/multi-step.component.scss +1 -21
- package/lib/infra/multi-step/multi-step.component.ts +0 -1
- package/lib/infra/navbar/navbar.component.html +25 -28
- package/lib/infra/navbar/navbar.component.scss +16 -4
- package/lib/infra/navbar/navbar.component.ts +11 -9
- package/lib/infra/reference/reference.component.ts +77 -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 +28 -35
- package/lib/infra/stages/stages.component.html +2 -2
- package/lib/infra/stages/stages.component.scss +9 -37
- package/lib/infra/stages/stages.component.ts +4 -3
- package/lib/infra/view/view.component.html +7 -20
- package/lib/infra/view/view.component.ts +20 -5
- 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 +66 -10
- package/lib/template/banner-page/banner-page.component.ts +0 -1
- package/lib/template/base/details-template-base.ts +67 -0
- package/lib/template/base/form-template-base.ts +16 -0
- package/lib/template/case-summary/case-summary.component.scss +0 -2
- package/lib/template/case-summary/case-summary.component.ts +7 -23
- package/lib/template/case-view/case-view.component.html +7 -7
- package/lib/template/case-view/case-view.component.scss +18 -10
- package/lib/template/case-view/case-view.component.ts +9 -15
- package/lib/template/confirmation/confirmation.component.html +1 -1
- package/lib/template/confirmation/confirmation.component.ts +1 -2
- package/lib/template/data-reference/data-reference-advanced-search.service.ts +16 -0
- package/lib/template/data-reference/data-reference.component.html +11 -8
- package/lib/template/data-reference/data-reference.component.ts +377 -148
- 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.html +0 -4
- package/lib/template/default-form/default-form.component.ts +50 -26
- 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 +7 -42
- package/lib/template/details-narrow-wide/details-narrow-wide.component.ts +6 -40
- package/lib/template/details-one-column/details-one-column.component.ts +7 -43
- package/lib/template/details-sub-tabs/details-sub-tabs.component.html +1 -2
- package/lib/template/details-sub-tabs/details-sub-tabs.component.ts +5 -38
- package/lib/template/details-three-column/details-three-column.component.ts +7 -44
- package/lib/template/details-two-column/details-two-column.component.ts +8 -45
- package/lib/template/details-wide-narrow/details-wide-narrow.component.ts +7 -43
- package/lib/template/dynamic-tabs/dynamic-tabs.component.html +3 -0
- package/lib/template/dynamic-tabs/dynamic-tabs.component.ts +8 -4
- 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 +68 -48
- package/lib/template/field-value-list/field-value-list.component.html +2 -2
- package/lib/template/field-value-list/field-value-list.component.scss +6 -1
- 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 +2 -3
- package/lib/template/list-page/list-page.component.ts +0 -1
- package/lib/template/list-view/list-view.component.html +14 -4
- package/lib/template/list-view/list-view.component.scss +30 -19
- package/lib/template/list-view/list-view.component.ts +179 -95
- package/lib/template/list-view/listViewHelpers.ts +4 -10
- 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 +1 -2
- 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 +4 -4
- 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 +1 -2
- package/lib/template/page/page.component.ts +1 -2
- package/lib/template/promoted-filters/promoted-filters.component.ts +1 -2
- package/lib/template/repeating-structures/repeating-structures.component.ts +1 -3
- package/lib/template/self-service-case-view/self-service-case-view.component.html +80 -0
- package/lib/template/self-service-case-view/self-service-case-view.component.scss +124 -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 +216 -0
- package/lib/template/simple-table/simple-table.component.ts +0 -2
- package/lib/template/simple-table-manual/helpers.ts +127 -11
- package/lib/template/simple-table-manual/simple-table-manual.component.html +27 -8
- package/lib/template/simple-table-manual/simple-table-manual.component.scss +16 -17
- package/lib/template/simple-table-manual/simple-table-manual.component.ts +118 -58
- package/lib/template/simple-table-select/simple-table-select.component.ts +3 -4
- 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 +4 -4
- package/lib/template/three-column-page/three-column-page.component.ts +0 -1
- package/lib/template/two-column/two-column.component.ts +4 -4
- package/lib/template/two-column-page/two-column-page.component.ts +0 -1
- package/lib/template/two-column-tab/two-column-tab.component.ts +1 -2
- package/lib/template/utils.ts +58 -0
- package/lib/template/wide-narrow-form/wide-narrow-form.component.ts +4 -4
- package/lib/template/wide-narrow-page/wide-narrow-page.component.ts +1 -2
- package/lib/template/wss-nav-bar/wss-nav-bar.component.html +5 -4
- package/lib/template/wss-nav-bar/wss-nav-bar.component.scss +2 -8
- package/lib/template/wss-nav-bar/wss-nav-bar.component.ts +3 -11
- 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 +2 -5
- package/lib/widget/attachment/attachment.component.ts +256 -259
- 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 +9 -12
- package/lib/widget/file-utility/file-utility.component.html +3 -3
- package/lib/widget/file-utility/file-utility.component.scss +5 -16
- package/lib/widget/file-utility/file-utility.component.ts +2 -6
- package/lib/widget/list-utility/list-utility.component.scss +3 -5
- package/lib/widget/list-utility/list-utility.component.ts +0 -1
- package/lib/widget/quick-create/quick-create.component.ts +0 -1
- package/lib/widget/todo/todo.component.html +13 -11
- package/lib/widget/todo/todo.component.scss +19 -11
- package/lib/widget/todo/todo.component.ts +101 -87
- package/lib/widget/utility/utility.component.ts +0 -1
- package/package.json +1 -1
|
@@ -1,53 +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
|
-
[
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<mat-
|
|
19
|
-
{{
|
|
20
|
-
</mat-
|
|
21
|
-
</mat-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
</mat-option>
|
|
46
|
-
</mat-autocomplete>
|
|
47
|
-
<mat-error *ngIf="fieldControl.invalid">
|
|
48
|
-
{{ getErrorMessage() }}
|
|
49
|
-
</mat-error>
|
|
50
|
-
</mat-form-field>
|
|
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>
|
|
51
45
|
</div>
|
|
52
46
|
</ng-template>
|
|
53
47
|
</div>
|
|
@@ -11,6 +11,7 @@ import { Utils } from '@pega/angular-sdk-components';
|
|
|
11
11
|
import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
12
12
|
import { PConnFieldProps } from '@pega/angular-sdk-components';
|
|
13
13
|
import { map, Observable, startWith } from 'rxjs';
|
|
14
|
+
import { handleEvent } from '@pega/angular-sdk-components';
|
|
14
15
|
|
|
15
16
|
const OPERATORS_DP = 'D_pyGetOperatorsForCurrentApplication';
|
|
16
17
|
const DROPDOWN_LIST = 'Drop-down list';
|
|
@@ -22,13 +23,13 @@ interface UserReferenceProps extends Omit<PConnFieldProps, 'value'> {
|
|
|
22
23
|
value?: any;
|
|
23
24
|
showAsFormattedText?: boolean;
|
|
24
25
|
additionalProps?: object;
|
|
26
|
+
onRecordChange?: any;
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
@Component({
|
|
28
30
|
selector: 'app-user-reference',
|
|
29
31
|
templateUrl: './user-reference.component.html',
|
|
30
32
|
styleUrls: ['./user-reference.component.scss'],
|
|
31
|
-
standalone: true,
|
|
32
33
|
imports: [
|
|
33
34
|
CommonModule,
|
|
34
35
|
ReactiveFormsModule,
|
|
@@ -63,6 +64,9 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
63
64
|
filterValue = '';
|
|
64
65
|
|
|
65
66
|
fieldControl = new FormControl('', null);
|
|
67
|
+
actionsApi: object;
|
|
68
|
+
propName: string;
|
|
69
|
+
onRecordChange: any;
|
|
66
70
|
|
|
67
71
|
constructor(
|
|
68
72
|
private angularPConnect: AngularPConnectService,
|
|
@@ -80,11 +84,11 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
80
84
|
if (this.formGroup$) {
|
|
81
85
|
// add control to formGroup
|
|
82
86
|
this.formGroup$.addControl(this.controlName$, this.fieldControl);
|
|
83
|
-
this.fieldControl.setValue(this.value$);
|
|
87
|
+
this.fieldControl.setValue(this.getValue(this.value$));
|
|
84
88
|
}
|
|
85
89
|
|
|
86
90
|
this.filteredOptions = this.fieldControl.valueChanges.pipe(
|
|
87
|
-
startWith(''),
|
|
91
|
+
startWith(this.getValue(this.value$) || ''),
|
|
88
92
|
map(value => this._filter(value || ''))
|
|
89
93
|
);
|
|
90
94
|
}
|
|
@@ -123,6 +127,21 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
123
127
|
return this.options$?.filter(option => option.value?.toLowerCase().includes(filterVal));
|
|
124
128
|
}
|
|
125
129
|
|
|
130
|
+
isUserNameAvailable = user => {
|
|
131
|
+
return typeof user === 'object' && user !== null && user.userName;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
getUserName = user => {
|
|
135
|
+
return user.userName;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
getValue = user => {
|
|
139
|
+
if (this.displayAs$ === DROPDOWN_LIST) {
|
|
140
|
+
return this.utils.getUserId(user) || this.getUserName(user);
|
|
141
|
+
}
|
|
142
|
+
return this.isUserNameAvailable(user) ? this.getUserName(user) : this.utils.getUserId(user);
|
|
143
|
+
};
|
|
144
|
+
|
|
126
145
|
async checkAndUpdate() {
|
|
127
146
|
// Should always check the bridge to see if the component should
|
|
128
147
|
// update itself (re-render)
|
|
@@ -137,6 +156,7 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
137
156
|
async updateSelf() {
|
|
138
157
|
const props = this.pConn$.getConfigProps() as UserReferenceProps;
|
|
139
158
|
this.testId = props.testId;
|
|
159
|
+
this.onRecordChange = props?.onRecordChange;
|
|
140
160
|
|
|
141
161
|
const { label, displayAs, value, showAsFormattedText, helperText, placeholder, displayMode } = props;
|
|
142
162
|
|
|
@@ -147,34 +167,35 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
147
167
|
this.placeholder = placeholder || '';
|
|
148
168
|
this.displayMode$ = displayMode;
|
|
149
169
|
|
|
170
|
+
if (value && typeof value === 'object') {
|
|
171
|
+
this.value$ = value.userName ? value.userName : '';
|
|
172
|
+
} else {
|
|
173
|
+
this.value$ = value || '';
|
|
174
|
+
}
|
|
175
|
+
|
|
150
176
|
const { readOnly, required } = props;
|
|
151
177
|
[this.bReadonly$, this.bRequired$] = [readOnly, required].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));
|
|
152
178
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
};
|
|
179
|
+
this.actionsApi = this.pConn$.getActionsApi();
|
|
180
|
+
this.propName = this.pConn$.getStateProps().value;
|
|
156
181
|
|
|
157
182
|
this.userID$ = this.utils.getUserId(value);
|
|
158
183
|
|
|
159
184
|
if (this.userID$ && this.bReadonly$ && this.showAsFormattedText$) {
|
|
160
|
-
if (isUserNameAvailable(value)) {
|
|
185
|
+
if (this.isUserNameAvailable(value)) {
|
|
161
186
|
this.userName$ = value.userName;
|
|
162
187
|
} else {
|
|
163
188
|
// if same user ref field is referred in view as editable & readonly formatted text
|
|
164
189
|
// referenced users won't be available, so get user details from dx api
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
if (resp.data && resp.data.pyOperatorInfo && resp.data.pyOperatorInfo.pyUserName) {
|
|
168
|
-
this.userName$ = resp.data.pyOperatorInfo.pyUserName;
|
|
169
|
-
}
|
|
170
|
-
});
|
|
190
|
+
|
|
191
|
+
this.userName$ = await getUserName(this.pConn$, this.userID$);
|
|
171
192
|
}
|
|
172
193
|
} else if (displayAs === DROPDOWN_LIST || displayAs === SEARCH_BOX) {
|
|
173
194
|
const queryPayload = {
|
|
174
195
|
dataViewName: OPERATORS_DP
|
|
175
196
|
};
|
|
176
197
|
try {
|
|
177
|
-
const resp
|
|
198
|
+
const resp = await PCore.getRestClient().invokeRestApi('getListData', { queryPayload }, ''); // 3rd arg empty string until typedef marked correctly
|
|
178
199
|
if (resp?.data) {
|
|
179
200
|
const ddDataSource = resp.data.data.map(listItem => ({
|
|
180
201
|
key: listItem.pyUserIdentifier,
|
|
@@ -195,7 +216,13 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
195
216
|
if (event?.target) {
|
|
196
217
|
this.filterValue = (event.target as HTMLInputElement).value;
|
|
197
218
|
}
|
|
198
|
-
|
|
219
|
+
const value = event?.value;
|
|
220
|
+
handleEvent(this.actionsApi, 'change', this.propName, value);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
optionChanged(event: any) {
|
|
224
|
+
const value = event?.option?.value;
|
|
225
|
+
handleEvent(this.actionsApi, 'change', this.propName, value);
|
|
199
226
|
}
|
|
200
227
|
|
|
201
228
|
fieldOnBlur(event: any) {
|
|
@@ -204,12 +231,12 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
204
231
|
const index = this.options$?.findIndex(element => element.value === event.target.value);
|
|
205
232
|
key = index > -1 ? (key = this.options$[index].key) : event.target.value;
|
|
206
233
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
234
|
+
const value = key;
|
|
235
|
+
handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
|
|
236
|
+
if (this.onRecordChange) {
|
|
237
|
+
event.target.value = value;
|
|
238
|
+
this.onRecordChange(event);
|
|
239
|
+
}
|
|
213
240
|
}
|
|
214
241
|
|
|
215
242
|
getErrorMessage() {
|
|
@@ -229,3 +256,65 @@ export class UserReferenceComponent implements OnInit, OnDestroy {
|
|
|
229
256
|
return errMessage;
|
|
230
257
|
}
|
|
231
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
|
+
}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
</div>
|
|
39
39
|
</mat-card>
|
|
40
40
|
</div>
|
|
41
|
-
<div *ngIf="bShowBanner && bShowConfirm">
|
|
41
|
+
<div *ngIf="bShowBanner && bShowConfirm && confirm_pconn">
|
|
42
42
|
<component-mapper name="View" [props]="{ formGroup$, pConn$: confirm_pconn }"></component-mapper>
|
|
43
43
|
</div>
|
|
44
44
|
</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 {
|
|
@@ -90,8 +89,7 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
90
89
|
this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
|
|
91
90
|
|
|
92
91
|
this.localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
93
|
-
|
|
94
|
-
this.localeReference = `${caseInfo?.getClassName()}!CASE!${caseInfo.getName()}`.toUpperCase();
|
|
92
|
+
this.localeReference = this.pConn$?.getCaseLocaleReference();
|
|
95
93
|
|
|
96
94
|
// Then, continue on with other initialization
|
|
97
95
|
|
|
@@ -104,6 +102,8 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
104
102
|
|
|
105
103
|
this.initContainer();
|
|
106
104
|
|
|
105
|
+
this.checkAndUpdate();
|
|
106
|
+
|
|
107
107
|
PCore.getPubSubUtils().subscribe(
|
|
108
108
|
PCore.getConstants().PUB_SUB_EVENTS.EVENT_CANCEL,
|
|
109
109
|
() => {
|
|
@@ -119,6 +119,14 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
119
119
|
},
|
|
120
120
|
'cancelPressed'
|
|
121
121
|
);
|
|
122
|
+
|
|
123
|
+
PCore.getPubSubUtils().subscribe(
|
|
124
|
+
'clearBannerMessages',
|
|
125
|
+
() => {
|
|
126
|
+
this.banners = [];
|
|
127
|
+
},
|
|
128
|
+
'clearBannerMessages'
|
|
129
|
+
);
|
|
122
130
|
}
|
|
123
131
|
|
|
124
132
|
ngOnDestroy() {
|
|
@@ -129,6 +137,8 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
129
137
|
PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.EVENT_CANCEL, 'cancelAssignment');
|
|
130
138
|
|
|
131
139
|
PCore.getPubSubUtils().unsubscribe('cancelPressed', 'cancelPressed');
|
|
140
|
+
|
|
141
|
+
PCore.getPubSubUtils().unsubscribe('clearBannerMessages', 'clearBannerMessages');
|
|
132
142
|
}
|
|
133
143
|
|
|
134
144
|
handleCancel() {
|
|
@@ -153,13 +163,15 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
153
163
|
const caseViewModeFromProps = this.angularPConnect.getComponentProp(this, 'caseViewMode');
|
|
154
164
|
const caseViewModeFromRedux = pConn.getValue('context_data.caseViewMode', '');
|
|
155
165
|
|
|
166
|
+
const completeProps = this.angularPConnect.getCurrentCompleteProps(this) as FlowContainerProps;
|
|
167
|
+
|
|
156
168
|
// ONLY call updateSelf when the component should update
|
|
157
169
|
// AND removing the "gate" that was put there since shouldComponentUpdate
|
|
158
170
|
// should be the real "gate"
|
|
171
|
+
|
|
159
172
|
if (bUpdateSelf || caseViewModeFromProps !== caseViewModeFromRedux) {
|
|
160
173
|
// don't want to redraw the flow container when there are page messages, because
|
|
161
174
|
// the redraw causes us to loose the errors on the elements
|
|
162
|
-
const completeProps = this.angularPConnect.getCurrentCompleteProps(this) as FlowContainerProps;
|
|
163
175
|
if (!completeProps.pageMessages || completeProps.pageMessages.length == 0) {
|
|
164
176
|
// with a cancel, need to timeout so todo will update correctly
|
|
165
177
|
if (this.bHasCancel) {
|
|
@@ -170,10 +182,10 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
170
182
|
} else {
|
|
171
183
|
this.updateSelf();
|
|
172
184
|
}
|
|
173
|
-
} else {
|
|
174
|
-
this.showPageMessages(completeProps);
|
|
175
185
|
}
|
|
176
186
|
}
|
|
187
|
+
|
|
188
|
+
this.showPageMessages(completeProps);
|
|
177
189
|
}
|
|
178
190
|
|
|
179
191
|
showPageMessages(completeProps: FlowContainerProps) {
|
|
@@ -189,16 +201,16 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
189
201
|
const kid = this.pConn$.getChildren()[0];
|
|
190
202
|
const todoKid = kid.getPConnect().getChildren()[0];
|
|
191
203
|
|
|
192
|
-
this.todo_pConn$ = todoKid
|
|
204
|
+
this.todo_pConn$ = todoKid?.getPConnect();
|
|
193
205
|
|
|
194
|
-
return
|
|
206
|
+
return !!this.todo_pConn$;
|
|
195
207
|
}
|
|
196
208
|
|
|
197
209
|
return !(caseViewMode && caseViewMode === 'perform');
|
|
198
210
|
}
|
|
199
211
|
|
|
200
212
|
initContainer() {
|
|
201
|
-
const containerMgr
|
|
213
|
+
const containerMgr = this.pConn$.getContainerManager();
|
|
202
214
|
const baseContext = this.pConn$.getContextName();
|
|
203
215
|
const containerName = this.pConn$.getContainerName();
|
|
204
216
|
const containerType = 'single';
|
|
@@ -237,7 +249,7 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
237
249
|
|
|
238
250
|
// when true, update arChildren from pConn, otherwise, arChilren will be updated in updateSelf()
|
|
239
251
|
if (bLoadChildren) {
|
|
240
|
-
this.arChildren$ = this.pConn$.getChildren()
|
|
252
|
+
this.arChildren$ = this.pConn$.getChildren();
|
|
241
253
|
}
|
|
242
254
|
|
|
243
255
|
// const oData = this.pConn$.getDataObject();
|
|
@@ -275,44 +287,9 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
275
287
|
this.psService.sendMessage(false);
|
|
276
288
|
}
|
|
277
289
|
|
|
278
|
-
hasAssignments() {
|
|
279
|
-
let hasAssignments = false;
|
|
280
|
-
const assignmentsList: any[] = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS);
|
|
281
|
-
// const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();
|
|
282
|
-
// 8.7 includes assignments in Assignments List that may be assigned to
|
|
283
|
-
// a different operator. So, see if there are any assignments for
|
|
284
|
-
// the current operator
|
|
285
|
-
const isEmbedded = window.location.href.includes('embedded');
|
|
286
|
-
let bAssignmentsForThisOperator = false;
|
|
287
|
-
|
|
288
|
-
if (isEmbedded) {
|
|
289
|
-
const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();
|
|
290
|
-
for (const assignment of assignmentsList) {
|
|
291
|
-
if (assignment.assigneeInfo.ID === thisOperator) {
|
|
292
|
-
bAssignmentsForThisOperator = true;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
} else {
|
|
296
|
-
bAssignmentsForThisOperator = true;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
// Bail if there is no assignmentsList
|
|
300
|
-
if (!assignmentsList) {
|
|
301
|
-
return hasAssignments;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
const hasChildCaseAssignments = this.hasChildCaseAssignments();
|
|
305
|
-
|
|
306
|
-
if (bAssignmentsForThisOperator || hasChildCaseAssignments || this.isCaseWideLocalAction()) {
|
|
307
|
-
hasAssignments = true;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
return hasAssignments;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
290
|
isCaseWideLocalAction() {
|
|
314
291
|
const actionID = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.ACTIVE_ACTION_ID);
|
|
315
|
-
const caseActions = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.AVAILABLEACTIONS)
|
|
292
|
+
const caseActions = this.pConn$.getValue(this.pCoreConstants.CASE_INFO.AVAILABLEACTIONS);
|
|
316
293
|
let bCaseWideAction = false;
|
|
317
294
|
if (caseActions && actionID) {
|
|
318
295
|
const actionObj = caseActions.find(caseAction => caseAction.ID === actionID);
|
|
@@ -457,7 +434,9 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
457
434
|
|
|
458
435
|
showCaseMessages() {
|
|
459
436
|
this.caseMessages$ = this.localizedVal(this.pConn$.getValue('caseMessages'), this.localeCategory);
|
|
460
|
-
|
|
437
|
+
// caseMessages's behavior has changed in 24.2, and hence it doesn't let Optional Action work.
|
|
438
|
+
// Changing the below condition for now. Was: (theCaseMessages || !hasAssignments())
|
|
439
|
+
if (!hasAssignments(this.pConn$)) {
|
|
461
440
|
this.bHasCaseMessages$ = true;
|
|
462
441
|
this.bShowConfirm = true;
|
|
463
442
|
this.checkSvg$ = this.utils.getImageSrc('check', this.utils.getSDKStaticContentUrl());
|
|
@@ -467,9 +446,6 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
467
446
|
this.caseMessages$ = this.localizedVal('Thank you! The next step in this case has been routed appropriately.', this.localeCategory);
|
|
468
447
|
}
|
|
469
448
|
|
|
470
|
-
// publish this "assignmentFinished" for mashup, need to get approved as a standard
|
|
471
|
-
PCore.getPubSubUtils().publish('assignmentFinished');
|
|
472
|
-
|
|
473
449
|
this.psService.sendMessage(false);
|
|
474
450
|
} else {
|
|
475
451
|
this.bHasCaseMessages$ = false;
|
|
@@ -480,13 +456,14 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
480
456
|
updateFlowContainerChildren() {
|
|
481
457
|
// routingInfo was added as component prop in populateAdditionalProps
|
|
482
458
|
const routingInfo = this.angularPConnect.getComponentProp(this, 'routingInfo');
|
|
459
|
+
this.confirm_pconn = null;
|
|
483
460
|
|
|
484
461
|
let loadingInfo: any;
|
|
485
462
|
try {
|
|
486
463
|
// @ts-ignore - Property 'getLoadingStatus' is private and only accessible within class 'C11nEnv'
|
|
487
464
|
loadingInfo = this.pConn$.getLoadingStatus();
|
|
488
465
|
} catch (ex) {
|
|
489
|
-
|
|
466
|
+
console.log(ex);
|
|
490
467
|
}
|
|
491
468
|
|
|
492
469
|
// this check in routingInfo, mimic Nebula/Constellation (React) to check and get the internals of the
|
|
@@ -508,7 +485,6 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
508
485
|
}
|
|
509
486
|
});
|
|
510
487
|
|
|
511
|
-
// eslint-disable-next-line sonarjs/no-collapsible-if
|
|
512
488
|
if (currentOrder.length > 0) {
|
|
513
489
|
if (currentItems[key] && currentItems[key].view && type === 'single' && Object.keys(currentItems[key].view).length > 0) {
|
|
514
490
|
// when we get here, it it because the flow action data has changed
|
|
@@ -593,7 +569,6 @@ export class FlowContainerComponent extends FlowContainerBaseComponent implement
|
|
|
593
569
|
});
|
|
594
570
|
}
|
|
595
571
|
|
|
596
|
-
// eslint-disable-next-line sonarjs/no-identical-functions
|
|
597
572
|
topViewRefresh(): void {
|
|
598
573
|
Object.values(this.formGroup$.controls).forEach(control => {
|
|
599
574
|
control.markAsTouched();
|
|
@@ -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"
|