@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,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
1
|
import { Component, OnInit, Input, ViewChild, forwardRef, OnDestroy } from '@angular/core';
|
|
3
2
|
import { CommonModule } from '@angular/common';
|
|
4
3
|
import { FormGroup } from '@angular/forms';
|
|
@@ -10,6 +9,7 @@ import { MatMenuModule } from '@angular/material/menu';
|
|
|
10
9
|
import { MatOptionModule } from '@angular/material/core';
|
|
11
10
|
import { MatSelectModule } from '@angular/material/select';
|
|
12
11
|
import { MatSort, MatSortModule } from '@angular/material/sort';
|
|
12
|
+
import { MatIcon } from '@angular/material/icon';
|
|
13
13
|
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
14
14
|
import isEqual from 'fast-deep-equal';
|
|
15
15
|
|
|
@@ -18,11 +18,10 @@ import { AngularPConnectData, AngularPConnectService } from '@pega/angular-sdk-c
|
|
|
18
18
|
import { DatapageService } from '@pega/angular-sdk-components';
|
|
19
19
|
import { getReferenceList } from '@pega/angular-sdk-components';
|
|
20
20
|
import { buildFieldsForTable, filterDataByCommonFields, filterDataByDate, getContext } from './helpers';
|
|
21
|
+
import { evaluateAllowRowAction } from '@pega/angular-sdk-components';
|
|
21
22
|
import { Utils } from '@pega/angular-sdk-components';
|
|
22
23
|
import { getSeconds } from '@pega/angular-sdk-components';
|
|
23
24
|
|
|
24
|
-
declare const window: any;
|
|
25
|
-
|
|
26
25
|
interface SimpleTableManualProps {
|
|
27
26
|
// If any, enter additional props that only exist on this component
|
|
28
27
|
visibility?: boolean;
|
|
@@ -37,7 +36,9 @@ interface SimpleTableManualProps {
|
|
|
37
36
|
contextClass?: string;
|
|
38
37
|
propertyLabel?: string;
|
|
39
38
|
fieldMetadata?: any;
|
|
39
|
+
allowActions?: any;
|
|
40
40
|
allowTableEdit?: boolean;
|
|
41
|
+
allowRowDelete?: any;
|
|
41
42
|
editMode?: string;
|
|
42
43
|
addAndEditRowsWithin?: any;
|
|
43
44
|
viewForAddAndEditModal?: any;
|
|
@@ -62,7 +63,6 @@ class Group {
|
|
|
62
63
|
selector: 'app-simple-table-manual',
|
|
63
64
|
templateUrl: './simple-table-manual.component.html',
|
|
64
65
|
styleUrls: ['./simple-table-manual.component.scss'],
|
|
65
|
-
standalone: true,
|
|
66
66
|
imports: [
|
|
67
67
|
CommonModule,
|
|
68
68
|
MatTableModule,
|
|
@@ -74,8 +74,10 @@ class Group {
|
|
|
74
74
|
MatOptionModule,
|
|
75
75
|
MatSelectModule,
|
|
76
76
|
MatInputModule,
|
|
77
|
+
MatIcon,
|
|
77
78
|
forwardRef(() => ComponentMapperComponent)
|
|
78
|
-
]
|
|
79
|
+
],
|
|
80
|
+
providers: [DatapageService]
|
|
79
81
|
})
|
|
80
82
|
export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
81
83
|
@ViewChild(MatSort) sort: MatSort;
|
|
@@ -104,6 +106,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
104
106
|
showAddRowButton: boolean;
|
|
105
107
|
prevReferenceList: any[] = [];
|
|
106
108
|
elementsData: MatTableDataSource<any>;
|
|
109
|
+
originalElementsData: MatTableDataSource<any>;
|
|
107
110
|
rawFields: any;
|
|
108
111
|
label?: string = '';
|
|
109
112
|
searchIcon$: string;
|
|
@@ -160,14 +163,16 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
160
163
|
|
|
161
164
|
isInitialized = false;
|
|
162
165
|
targetClassLabel: string;
|
|
163
|
-
|
|
166
|
+
localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
167
|
+
localeCategory = 'SimpleTable';
|
|
164
168
|
constructor(
|
|
165
169
|
private angularPConnect: AngularPConnectService,
|
|
166
|
-
|
|
170
|
+
public utils: Utils,
|
|
167
171
|
private dataPageService: DatapageService
|
|
168
172
|
) {}
|
|
169
173
|
|
|
170
174
|
ngOnInit(): void {
|
|
175
|
+
this.elementsData = new MatTableDataSource<any>([]);
|
|
171
176
|
this.isInitialized = true;
|
|
172
177
|
// First thing in initialization is registering and subscribing to the AngularPConnect service
|
|
173
178
|
this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
|
|
@@ -213,7 +218,6 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
213
218
|
this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps()) as SimpleTableManualProps;
|
|
214
219
|
|
|
215
220
|
if (this.configProps$.visibility != null) {
|
|
216
|
-
// eslint-disable-next-line no-multi-assign
|
|
217
221
|
this.bVisible$ = this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
|
|
218
222
|
}
|
|
219
223
|
|
|
@@ -229,7 +233,9 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
229
233
|
renderMode,
|
|
230
234
|
children, // destructure children into an array var: "resolvedFields"
|
|
231
235
|
presets,
|
|
236
|
+
allowActions,
|
|
232
237
|
allowTableEdit,
|
|
238
|
+
allowRowDelete,
|
|
233
239
|
label: labelProp,
|
|
234
240
|
propertyLabel,
|
|
235
241
|
fieldMetadata,
|
|
@@ -243,12 +249,22 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
243
249
|
targetClassLabel
|
|
244
250
|
} = this.configProps$;
|
|
245
251
|
|
|
252
|
+
const simpleTableManualProps: any = {};
|
|
253
|
+
if (this.checkIfAllowActionsOrRowEditingExist(allowActions) && editMode) {
|
|
254
|
+
simpleTableManualProps.hideAddRow = allowActions?.allowAdd === false;
|
|
255
|
+
simpleTableManualProps.hideDeleteRow = allowActions?.allowDelete === false;
|
|
256
|
+
simpleTableManualProps.hideEditRow = allowActions?.allowEdit === false;
|
|
257
|
+
simpleTableManualProps.disableDragDrop = allowActions?.allowDragDrop === false;
|
|
258
|
+
} else if (allowTableEdit === false) {
|
|
259
|
+
simpleTableManualProps.hideAddRow = true;
|
|
260
|
+
simpleTableManualProps.hideDeleteRow = true;
|
|
261
|
+
simpleTableManualProps.disableDragDrop = true;
|
|
262
|
+
}
|
|
263
|
+
|
|
246
264
|
this.referenceListStr = getContext(this.pConn$).referenceListStr;
|
|
247
265
|
this.label = labelProp || propertyLabel;
|
|
248
266
|
this.parameters = fieldMetadata?.datasource?.parameters;
|
|
249
267
|
this.targetClassLabel = targetClassLabel;
|
|
250
|
-
const hideAddRow = allowTableEdit === false;
|
|
251
|
-
const hideDeleteRow = allowTableEdit === false;
|
|
252
268
|
let { contextClass } = this.configProps$;
|
|
253
269
|
this.referenceList = referenceList;
|
|
254
270
|
if (!contextClass) {
|
|
@@ -285,13 +301,14 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
285
301
|
this.readOnlyMode = renderMode === 'ReadOnly';
|
|
286
302
|
this.editableMode = renderMode === 'Editable';
|
|
287
303
|
const isDisplayModeEnabled = displayMode === 'DISPLAY_ONLY';
|
|
288
|
-
this.showAddRowButton = !this.readOnlyMode && !hideAddRow;
|
|
304
|
+
this.showAddRowButton = !this.readOnlyMode && !simpleTableManualProps.hideAddRow;
|
|
289
305
|
this.allowEditingInModal =
|
|
290
306
|
(editMode ? editMode === 'modal' : addAndEditRowsWithin === 'modal') && !(renderMode === 'ReadOnly' || isDisplayModeEnabled);
|
|
291
|
-
const showDeleteButton = this.editableMode && !hideDeleteRow;
|
|
307
|
+
const showDeleteButton = this.editableMode && !simpleTableManualProps.hideDeleteRow && evaluateAllowRowAction(allowRowDelete, this.rowData);
|
|
292
308
|
this.defaultView = editModeConfig ? editModeConfig.defaultView : viewForAddAndEditModal;
|
|
293
309
|
this.bUseSeparateViewForEdit = editModeConfig ? editModeConfig.useSeparateViewForEdit : useSeparateViewForEdit;
|
|
294
310
|
this.editView = editModeConfig ? editModeConfig.editView : viewForEditModal;
|
|
311
|
+
const primaryFieldsViewIndex = resolvedFields.findIndex(field => field.config.value === 'pyPrimaryFields');
|
|
295
312
|
// const showDeleteButton = !this.readOnlyMode && !hideDeleteRow;
|
|
296
313
|
|
|
297
314
|
// Nebula has other handling for isReadOnlyMode but has Cosmos-specific code
|
|
@@ -302,8 +319,11 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
302
319
|
// Nebula does). It will also have the "label", and "meta" contains the original,
|
|
303
320
|
// unchanged config info. For now, much of the info here is carried over from
|
|
304
321
|
// Nebula and we may not end up using it all.
|
|
305
|
-
this.fieldDefs = buildFieldsForTable(rawFields,
|
|
306
|
-
|
|
322
|
+
this.fieldDefs = buildFieldsForTable(rawFields, this.pConn$, showDeleteButton, {
|
|
323
|
+
primaryFieldsViewIndex,
|
|
324
|
+
fields: resolvedFields
|
|
325
|
+
});
|
|
326
|
+
this.fieldDefs = this.fieldDefs?.filter(field => !(field.meta?.config?.hide === true));
|
|
307
327
|
this.initializeDefaultPageInstructions();
|
|
308
328
|
|
|
309
329
|
// end of from Nebula
|
|
@@ -319,15 +339,20 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
319
339
|
// from from the fieldDefs. This "name" is the value that
|
|
320
340
|
// we'll share to connect things together in the table.
|
|
321
341
|
|
|
342
|
+
const labelsMap = this.fieldDefs.reduce((acc, curr) => {
|
|
343
|
+
return { ...acc, [curr.name]: curr.label };
|
|
344
|
+
}, {});
|
|
345
|
+
|
|
322
346
|
this.processedFields = [];
|
|
323
347
|
|
|
324
348
|
this.processedFields = resolvedFields.map((field, i) => {
|
|
325
349
|
field.config.name = this.displayedColumns[i]; // .config["value"].replace(/ ./g,"_"); // replace space dot with underscore
|
|
350
|
+
field.config.label = labelsMap[field.config.name] || field.config.label;
|
|
326
351
|
return field;
|
|
327
352
|
});
|
|
328
353
|
|
|
329
354
|
// for adding rows to table when editable and not modal view
|
|
330
|
-
if (this.prevReferenceList.length !== this.referenceList.length
|
|
355
|
+
if (this.prevReferenceList.length !== this.referenceList.length) {
|
|
331
356
|
this.buildElementsForTable();
|
|
332
357
|
}
|
|
333
358
|
|
|
@@ -354,6 +379,10 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
354
379
|
// ties the 3 data structures together.
|
|
355
380
|
}
|
|
356
381
|
|
|
382
|
+
checkIfAllowActionsOrRowEditingExist(newflagobject) {
|
|
383
|
+
return (newflagobject && Object.keys(newflagobject).length > 0) || this.pConn$.getComponentConfig().allowRowEdit;
|
|
384
|
+
}
|
|
385
|
+
|
|
357
386
|
initializeDefaultPageInstructions() {
|
|
358
387
|
if (this.isInitialized) {
|
|
359
388
|
this.isInitialized = false;
|
|
@@ -375,8 +404,8 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
375
404
|
}
|
|
376
405
|
|
|
377
406
|
sortCompare(a, b): number {
|
|
378
|
-
let aValue = a[this.compareRef];
|
|
379
|
-
let bValue = b[this.compareRef];
|
|
407
|
+
let aValue = a[0][this.compareRef];
|
|
408
|
+
let bValue = b[0][this.compareRef];
|
|
380
409
|
|
|
381
410
|
if (this.compareType == 'Date' || this.compareType == 'DateTime') {
|
|
382
411
|
aValue = getSeconds(aValue);
|
|
@@ -499,17 +528,20 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
499
528
|
// run through list of elements in path, if menu not in th path, then want to
|
|
500
529
|
// hide (toggle) the menu
|
|
501
530
|
const eventPath = event.path;
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
531
|
+
if (eventPath) {
|
|
532
|
+
for (let eventIndex = 0; eventIndex < eventPath.length; eventIndex++) {
|
|
533
|
+
if (
|
|
534
|
+
eventPath[eventIndex].className == 'psdk-modal-file-top' ||
|
|
535
|
+
eventPath[eventIndex].tagName == 'BUTTON' ||
|
|
536
|
+
eventPath[eventIndex].tagName == 'MAT-OPTION' ||
|
|
537
|
+
eventPath[eventIndex].tagName == 'MAT-INPUT'
|
|
538
|
+
) {
|
|
539
|
+
bInPopUp = true;
|
|
540
|
+
break;
|
|
541
|
+
}
|
|
511
542
|
}
|
|
512
543
|
}
|
|
544
|
+
|
|
513
545
|
if (!bInPopUp) {
|
|
514
546
|
// this.bShowFilterPopover$ = false;
|
|
515
547
|
|
|
@@ -628,7 +660,8 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
628
660
|
}
|
|
629
661
|
}
|
|
630
662
|
|
|
631
|
-
filterData(
|
|
663
|
+
filterData(element: any) {
|
|
664
|
+
const item = element[0];
|
|
632
665
|
let bKeep = true;
|
|
633
666
|
for (const filterObj of this.filterByColumns) {
|
|
634
667
|
if (filterObj.containsFilterValue != '' || filterObj.containsFilter == 'null' || filterObj.containsFilter == 'notnull') {
|
|
@@ -642,6 +675,8 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
642
675
|
bKeep = filterDataByCommonFields(item, filterObj);
|
|
643
676
|
break;
|
|
644
677
|
}
|
|
678
|
+
} else if (filterObj.containsFilterValue === '') {
|
|
679
|
+
bKeep = true;
|
|
645
680
|
}
|
|
646
681
|
|
|
647
682
|
// if don't keep stop filtering
|
|
@@ -654,14 +689,22 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
654
689
|
}
|
|
655
690
|
|
|
656
691
|
filterSortGroupBy() {
|
|
657
|
-
let theData = this.originalData.slice()
|
|
692
|
+
let theData = this.originalData.slice().map((item, index) => {
|
|
693
|
+
return [item, index];
|
|
694
|
+
});
|
|
658
695
|
|
|
659
696
|
// last filter config data is global
|
|
660
697
|
theData = theData.filter(this.filterData.bind(this));
|
|
661
698
|
|
|
662
699
|
// last sort config data is global
|
|
663
700
|
theData.sort(this.sortCompare.bind(this));
|
|
664
|
-
this.rowData.data = theData;
|
|
701
|
+
this.rowData.data = theData.map(item => item[0]);
|
|
702
|
+
|
|
703
|
+
const newElements: any = new Array(this.rowData.data.length);
|
|
704
|
+
theData.forEach((item, index) => {
|
|
705
|
+
newElements[index] = this.originalElementsData[item[1]];
|
|
706
|
+
});
|
|
707
|
+
this.elementsData = newElements;
|
|
665
708
|
}
|
|
666
709
|
|
|
667
710
|
_headerSortClick(event, columnData) {
|
|
@@ -784,7 +827,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
784
827
|
const seen = {};
|
|
785
828
|
return a.filter(item => {
|
|
786
829
|
const k = key(item);
|
|
787
|
-
// eslint-disable-next-line no-
|
|
830
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
788
831
|
return seen.hasOwnProperty(k) ? false : (seen[k] = true);
|
|
789
832
|
});
|
|
790
833
|
}
|
|
@@ -875,7 +918,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
875
918
|
|
|
876
919
|
// return the value that should be shown as the contents for the given row data
|
|
877
920
|
// of the given row field
|
|
878
|
-
getRowValue(inRowData:
|
|
921
|
+
getRowValue(inRowData: object, inColKey: string): any {
|
|
879
922
|
// See what data (if any) we have to display
|
|
880
923
|
const refKeys: string[] = inColKey.split('.');
|
|
881
924
|
let valBuilder = inRowData;
|
|
@@ -918,6 +961,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
918
961
|
if (this.allowEditingInModal && this.defaultView) {
|
|
919
962
|
this.pConn$
|
|
920
963
|
.getActionsApi()
|
|
964
|
+
// @ts-expect-error
|
|
921
965
|
.openEmbeddedDataModal(
|
|
922
966
|
this.defaultView,
|
|
923
967
|
this.pConn$ as any,
|
|
@@ -939,6 +983,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
939
983
|
if (data) {
|
|
940
984
|
this.pConn$
|
|
941
985
|
.getActionsApi()
|
|
986
|
+
// @ts-expect-error
|
|
942
987
|
.openEmbeddedDataModal(
|
|
943
988
|
this.bUseSeparateViewForEdit ? this.editView : this.defaultView,
|
|
944
989
|
this.pConn$ as any,
|
|
@@ -960,23 +1005,36 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
|
|
|
960
1005
|
this.referenceList.forEach((element, index) => {
|
|
961
1006
|
const data: any = [];
|
|
962
1007
|
this.rawFields?.forEach(item => {
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
1008
|
+
if (!item?.config?.hide) {
|
|
1009
|
+
item = {
|
|
1010
|
+
...item,
|
|
1011
|
+
config: {
|
|
1012
|
+
...item.config,
|
|
1013
|
+
label: '',
|
|
1014
|
+
displayMode: this.readOnlyMode || this.allowEditingInModal ? 'DISPLAY_ONLY' : undefined
|
|
1015
|
+
}
|
|
1016
|
+
};
|
|
1017
|
+
const referenceListData = getReferenceList(this.pConn$);
|
|
1018
|
+
const isDatapage = referenceListData.startsWith('D_');
|
|
1019
|
+
const pageReferenceValue = isDatapage
|
|
1020
|
+
? `${referenceListData}[${index}]`
|
|
1021
|
+
: `${this.pConn$.getPageReference()}${referenceListData}[${index}]`;
|
|
1022
|
+
const config = {
|
|
1023
|
+
meta: item,
|
|
1024
|
+
options: {
|
|
1025
|
+
context,
|
|
1026
|
+
pageReference: pageReferenceValue,
|
|
1027
|
+
referenceList: referenceListData,
|
|
1028
|
+
hasForm: true
|
|
1029
|
+
}
|
|
1030
|
+
};
|
|
1031
|
+
const view = PCore.createPConnect(config);
|
|
1032
|
+
data.push(view);
|
|
1033
|
+
}
|
|
977
1034
|
});
|
|
978
1035
|
eleData.push(data);
|
|
979
1036
|
});
|
|
1037
|
+
this.originalElementsData = eleData;
|
|
980
1038
|
this.elementsData = eleData;
|
|
981
1039
|
}
|
|
982
1040
|
}
|
|
@@ -8,7 +8,6 @@ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
|
8
8
|
selector: 'app-simple-table-select',
|
|
9
9
|
templateUrl: './simple-table-select.component.html',
|
|
10
10
|
styleUrls: ['./simple-table-select.component.scss'],
|
|
11
|
-
standalone: true,
|
|
12
11
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
13
12
|
})
|
|
14
13
|
export class SimpleTableSelectComponent implements OnInit, OnDestroy {
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
<
|
|
1
|
+
<div [ngClass]="displayMode ? 'psdk-grid-display' : 'psdk-grid-nondisplay'">
|
|
2
|
+
<div *ngIf="label" class="psdk-grid-label">{{ label }}</div>
|
|
3
|
+
<component-mapper name="SemanticLink" [props]="{ pConn$: newPconn, formGroup$ }"></component-mapper>
|
|
4
|
+
</div>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.psdk-grid-display {
|
|
2
|
+
display: grid;
|
|
3
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
4
|
+
column-gap: calc(2 * 0.5rem);
|
|
5
|
+
row-gap: calc(2 * 0.5rem);
|
|
6
|
+
align-items: center;
|
|
7
|
+
margin-top: 1rem;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.psdk-grid-nondisplay {
|
|
11
|
+
margin-top: 1rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.psdk-label {
|
|
15
|
+
color: var(--app-label-color);
|
|
16
|
+
margin: 8px 0px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.psdk-value {
|
|
20
|
+
margin: 8px 0px;
|
|
21
|
+
}
|
|
@@ -1,15 +1,115 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input, forwardRef, OnInit, OnDestroy } from '@angular/core';
|
|
2
3
|
import { FormGroup } from '@angular/forms';
|
|
4
|
+
import { AngularPConnectData, AngularPConnectService } from '@pega/angular-sdk-components';
|
|
3
5
|
import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
6
|
+
import { getDataRelationshipContextFromKey } from '@pega/angular-sdk-components';
|
|
4
7
|
|
|
5
8
|
@Component({
|
|
6
9
|
selector: 'app-single-reference-readonly',
|
|
7
10
|
templateUrl: './single-reference-readonly.component.html',
|
|
8
11
|
styleUrls: ['./single-reference-readonly.component.scss'],
|
|
9
|
-
|
|
10
|
-
imports: [forwardRef(() => ComponentMapperComponent)]
|
|
12
|
+
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
11
13
|
})
|
|
12
|
-
export class SingleReferenceReadonlyComponent {
|
|
14
|
+
export class SingleReferenceReadonlyComponent implements OnInit, OnDestroy {
|
|
13
15
|
@Input() pConn$: typeof PConnect;
|
|
14
16
|
@Input() formGroup$: FormGroup;
|
|
17
|
+
@Input() dataRelationshipContext?: any;
|
|
18
|
+
|
|
19
|
+
angularPConnectData: AngularPConnectData = {};
|
|
20
|
+
configProps: any;
|
|
21
|
+
component: any;
|
|
22
|
+
label: string;
|
|
23
|
+
newPconn: typeof PConnect;
|
|
24
|
+
displayMode: string;
|
|
25
|
+
|
|
26
|
+
constructor(private angularPConnect: AngularPConnectService) {}
|
|
27
|
+
|
|
28
|
+
ngOnInit(): void {
|
|
29
|
+
// First thing in initialization is registering and subscribing to the AngularPConnect service
|
|
30
|
+
this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
|
|
31
|
+
this.checkAndUpdate();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ngOnDestroy(): void {
|
|
35
|
+
if (this.angularPConnectData.unsubscribeFn) {
|
|
36
|
+
this.angularPConnectData.unsubscribeFn();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Callback passed when subscribing to store change
|
|
41
|
+
onStateChange() {
|
|
42
|
+
this.checkAndUpdate();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
checkAndUpdate() {
|
|
46
|
+
// Should always check the bridge to see if the component should
|
|
47
|
+
// update itself (re-render)
|
|
48
|
+
const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
|
|
49
|
+
|
|
50
|
+
// ONLY call updateSelf when the component should update
|
|
51
|
+
if (bUpdateSelf) {
|
|
52
|
+
this.updateSelf();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
updateSelf() {
|
|
57
|
+
this.configProps = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
|
|
58
|
+
const rawViewMetadata = this.pConn$.getRawMetadata();
|
|
59
|
+
const label = this.configProps.label;
|
|
60
|
+
const showLabel = this.configProps.showLabel;
|
|
61
|
+
const propsToUse = { label, showLabel, ...this.pConn$.getInheritedProps() };
|
|
62
|
+
const type = (rawViewMetadata?.config as any)?.componentType;
|
|
63
|
+
this.displayMode = this.configProps.displayMode;
|
|
64
|
+
const targetObjectType = this.configProps.targetObjectType;
|
|
65
|
+
const referenceType = targetObjectType === 'case' ? 'Case' : 'Data';
|
|
66
|
+
const hideLabel = this.configProps.hideLabel;
|
|
67
|
+
// const additionalFields = this.configProps.additionalFields;
|
|
68
|
+
const displayAs = this.configProps.displayAs ?? 'readonly';
|
|
69
|
+
const dataRelationshipContext = (rawViewMetadata?.config as any)?.displayField
|
|
70
|
+
? getDataRelationshipContextFromKey((rawViewMetadata?.config as any)?.displayField)
|
|
71
|
+
: this.dataRelationshipContext;
|
|
72
|
+
if (propsToUse.showLabel === false) {
|
|
73
|
+
propsToUse.label = '';
|
|
74
|
+
}
|
|
75
|
+
this.label = propsToUse.label;
|
|
76
|
+
|
|
77
|
+
const editableComponents = ['AutoComplete', 'SimpleTableSelect', 'Dropdown', 'RadioButtons'];
|
|
78
|
+
const config: any = {
|
|
79
|
+
...rawViewMetadata?.config,
|
|
80
|
+
primaryField: (rawViewMetadata?.config as any)?.displayField,
|
|
81
|
+
label: this.label
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const activeViewRuleClass = (rawViewMetadata?.config as any)?.targetObjectClass;
|
|
85
|
+
if (editableComponents.includes(type)) {
|
|
86
|
+
config.caseClass = activeViewRuleClass;
|
|
87
|
+
config.text = config.primaryField;
|
|
88
|
+
config.caseID = config.value;
|
|
89
|
+
config.contextPage = `@P .${dataRelationshipContext}`;
|
|
90
|
+
config.resourceParams = {
|
|
91
|
+
workID: displayAs === 'table' ? (config as any)?.selectionKey : config.value
|
|
92
|
+
};
|
|
93
|
+
config.resourcePayload = {
|
|
94
|
+
caseClassName: activeViewRuleClass
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
this.component = this.pConn$.createComponent(
|
|
99
|
+
{
|
|
100
|
+
type: 'SemanticLink',
|
|
101
|
+
config: {
|
|
102
|
+
...config,
|
|
103
|
+
displayMode: this.displayMode,
|
|
104
|
+
referenceType,
|
|
105
|
+
hideLabel,
|
|
106
|
+
dataRelationshipContext
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
'',
|
|
110
|
+
0,
|
|
111
|
+
{}
|
|
112
|
+
);
|
|
113
|
+
this.newPconn = this.component.getPConnect();
|
|
114
|
+
}
|
|
15
115
|
}
|
|
@@ -10,7 +10,6 @@ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
|
10
10
|
selector: 'app-sub-tabs',
|
|
11
11
|
templateUrl: './sub-tabs.component.html',
|
|
12
12
|
styleUrls: ['./sub-tabs.component.scss'],
|
|
13
|
-
standalone: true,
|
|
14
13
|
imports: [MatTabsModule, CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
15
14
|
})
|
|
16
15
|
export class SubTabsComponent implements OnInit, OnDestroy {
|
|
@@ -8,7 +8,6 @@ import { FormTemplateBase } from '@pega/angular-sdk-components';
|
|
|
8
8
|
selector: 'app-three-column',
|
|
9
9
|
templateUrl: './three-column.component.html',
|
|
10
10
|
styleUrls: ['./three-column.component.scss'],
|
|
11
|
-
standalone: true,
|
|
12
11
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
13
12
|
})
|
|
14
13
|
export class ThreeColumnComponent extends FormTemplateBase implements OnInit, OnChanges {
|
|
@@ -6,7 +6,6 @@ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
|
6
6
|
selector: 'app-three-column-page',
|
|
7
7
|
templateUrl: './three-column-page.component.html',
|
|
8
8
|
styleUrls: ['./three-column-page.component.scss'],
|
|
9
|
-
standalone: true,
|
|
10
9
|
imports: [forwardRef(() => ComponentMapperComponent)]
|
|
11
10
|
})
|
|
12
11
|
export class ThreeColumnPageComponent {
|
|
@@ -8,7 +8,6 @@ import { FormTemplateBase } from '@pega/angular-sdk-components';
|
|
|
8
8
|
selector: 'app-two-column',
|
|
9
9
|
templateUrl: './two-column.component.html',
|
|
10
10
|
styleUrls: ['./two-column.component.scss'],
|
|
11
|
-
standalone: true,
|
|
12
11
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
13
12
|
})
|
|
14
13
|
export class TwoColumnComponent extends FormTemplateBase implements OnInit, OnChanges {
|
|
@@ -7,7 +7,6 @@ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
|
7
7
|
selector: 'app-two-column-page',
|
|
8
8
|
templateUrl: './two-column-page.component.html',
|
|
9
9
|
styleUrls: ['./two-column-page.component.scss'],
|
|
10
|
-
standalone: true,
|
|
11
10
|
imports: [forwardRef(() => ComponentMapperComponent)]
|
|
12
11
|
})
|
|
13
12
|
export class TwoColumnPageComponent implements OnInit, OnDestroy {
|
|
@@ -7,7 +7,6 @@ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
|
7
7
|
selector: 'app-two-column-tab',
|
|
8
8
|
templateUrl: './two-column-tab.component.html',
|
|
9
9
|
styleUrls: ['./two-column-tab.component.scss'],
|
|
10
|
-
standalone: true,
|
|
11
10
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
12
11
|
})
|
|
13
12
|
export class TwoColumnTabComponent implements OnInit, OnChanges {
|
package/lib/template/utils.ts
CHANGED
|
@@ -21,3 +21,61 @@ export function filterForFieldValueList(fields: any) {
|
|
|
21
21
|
value
|
|
22
22
|
}));
|
|
23
23
|
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* This method evaluates whether a row action is allowed based on the provided conditions.
|
|
27
|
+
* @param {string|boolean|undefined} allowRowDelete - The condition for allowing row deletion.
|
|
28
|
+
* @param {object} rowData - The data of the row being evaluated.
|
|
29
|
+
* @returns {boolean} - Returns true if the row action is allowed, false otherwise.
|
|
30
|
+
*/
|
|
31
|
+
export const evaluateAllowRowAction = (allowRowDelete, rowData) => {
|
|
32
|
+
if (allowRowDelete === undefined || allowRowDelete === true) return true;
|
|
33
|
+
if (allowRowDelete.startsWith?.('@E ')) {
|
|
34
|
+
const expression = allowRowDelete.replace('@E ', '');
|
|
35
|
+
// @ts-ignore - Expected 3 arguments, but got 2
|
|
36
|
+
return PCore.getExpressionEngine().evaluate(expression, rowData);
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export function prepareCaseSummaryData(caseSummaryRegion, portalSpecificVisibilityChecker?) {
|
|
42
|
+
const filterVisibleChildren = children => {
|
|
43
|
+
return children
|
|
44
|
+
?.getPConnect()
|
|
45
|
+
?.getChildren()
|
|
46
|
+
?.filter(child => {
|
|
47
|
+
const configProps = child.getPConnect().getConfigProps();
|
|
48
|
+
const defaultVisibilityCn = !('visibility' in configProps) || configProps.visibility === true;
|
|
49
|
+
return defaultVisibilityCn && (portalSpecificVisibilityChecker?.(configProps) ?? true);
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
const convertChildrenToSummaryData = children => {
|
|
53
|
+
return children?.map(childItem => {
|
|
54
|
+
const childPConnData = childItem.getPConnect().resolveConfigProps(childItem.getPConnect().getRawMetadata());
|
|
55
|
+
childPConnData.kid = childItem.getPConnect();
|
|
56
|
+
return childPConnData;
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const summaryFieldChildren = caseSummaryRegion
|
|
61
|
+
.getPConnect()
|
|
62
|
+
.getChildren()[0]
|
|
63
|
+
?.getPConnect()
|
|
64
|
+
?.getReferencedViewPConnect()
|
|
65
|
+
?.getPConnect()
|
|
66
|
+
?.getChildren();
|
|
67
|
+
|
|
68
|
+
const primarySummaryFields =
|
|
69
|
+
summaryFieldChildren && summaryFieldChildren.length > 0
|
|
70
|
+
? convertChildrenToSummaryData(filterVisibleChildren(summaryFieldChildren[0]))
|
|
71
|
+
: undefined;
|
|
72
|
+
const secondarySummaryFields =
|
|
73
|
+
summaryFieldChildren && summaryFieldChildren.length > 1
|
|
74
|
+
? convertChildrenToSummaryData(filterVisibleChildren(summaryFieldChildren[1]))
|
|
75
|
+
: undefined;
|
|
76
|
+
|
|
77
|
+
return {
|
|
78
|
+
primarySummaryFields,
|
|
79
|
+
secondarySummaryFields
|
|
80
|
+
};
|
|
81
|
+
}
|
|
@@ -8,7 +8,6 @@ import { FormTemplateBase } from '@pega/angular-sdk-components';
|
|
|
8
8
|
selector: 'app-wide-narrow-form',
|
|
9
9
|
templateUrl: './wide-narrow-form.component.html',
|
|
10
10
|
styleUrls: ['./wide-narrow-form.component.scss'],
|
|
11
|
-
standalone: true,
|
|
12
11
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
13
12
|
})
|
|
14
13
|
export class WideNarrowFormComponent extends FormTemplateBase implements OnInit, OnChanges {
|
|
@@ -8,7 +8,6 @@ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
|
8
8
|
selector: 'app-wide-narrow-page',
|
|
9
9
|
templateUrl: './wide-narrow-page.component.html',
|
|
10
10
|
styleUrls: ['./wide-narrow-page.component.scss'],
|
|
11
|
-
standalone: true,
|
|
12
11
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
13
12
|
})
|
|
14
13
|
export class WideNarrowPageComponent implements OnInit, OnDestroy {
|