@pega/angular-sdk-overrides 24.2.12 → 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 -1
- 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 +2 -2
- package/lib/designSystemExtension/material-details-fields/material-details-fields.component.scss +4 -3
- package/lib/designSystemExtension/material-details-fields/material-details-fields.component.ts +0 -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 +1 -1
- package/lib/designSystemExtension/operator/operator.component.scss +3 -10
- package/lib/designSystemExtension/operator/operator.component.ts +0 -2
- 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 -1
- package/lib/field/auto-complete/auto-complete.component.ts +35 -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 +14 -7
- 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 +36 -169
- package/lib/field/date/date.component.html +2 -2
- package/lib/field/date/date.component.ts +30 -151
- package/lib/field/date-time/date-time.component.html +1 -1
- package/lib/field/date-time/date-time.component.ts +34 -149
- package/lib/field/decimal/decimal.component.ts +38 -164
- package/lib/field/dropdown/dropdown.component.ts +29 -152
- package/lib/field/email/email.component.ts +16 -156
- package/lib/field/field.base.ts +149 -0
- package/lib/field/group/group.component.ts +7 -5
- package/lib/field/integer/integer.component.ts +18 -158
- package/lib/field/list-view-action-buttons/list-view-action-buttons.component.ts +0 -1
- 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.ts +37 -155
- package/lib/field/phone/phone.component.html +18 -19
- package/lib/field/phone/phone.component.scss +4 -0
- package/lib/field/phone/phone.component.ts +43 -145
- package/lib/field/radio-buttons/radio-buttons.component.html +14 -6
- 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 +21 -91
- 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 +0 -1
- package/lib/field/text-area/text-area.component.ts +18 -153
- package/lib/field/text-content/text-content.component.ts +0 -1
- package/lib/field/text-input/text-input.component.ts +16 -156
- package/lib/field/time/time.component.ts +17 -152
- package/lib/field/url/url.component.ts +16 -155
- package/lib/field/user-reference/user-reference.component.scss +0 -1
- package/lib/field/user-reference/user-reference.component.ts +2 -4
- package/lib/infra/Containers/flow-container/flow-container.component.html +2 -2
- package/lib/infra/Containers/flow-container/flow-container.component.ts +8 -9
- 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.ts +5 -11
- 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.ts +21 -10
- package/lib/infra/assignment-card/assignment-card.component.html +1 -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 +22 -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 -4
- package/lib/infra/reference/reference.component.ts +5 -0
- package/lib/infra/region/region.component.ts +0 -1
- package/lib/infra/root-container/root-container.component.scss +0 -1
- package/lib/infra/root-container/root-container.component.ts +1 -5
- 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/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 +1 -1
- 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 +10 -3
- 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.ts +14 -28
- 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 -162
- package/lib/template/list-view/list-view.component.scss +25 -21
- package/lib/template/list-view/list-view.component.ts +207 -119
- package/lib/template/list-view/listViewHelpers.ts +1 -4
- package/lib/template/list-view/utils.ts +25 -2
- 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 +117 -3
- package/lib/template/simple-table-manual/simple-table-manual.component.html +4 -4
- package/lib/template/simple-table-manual/simple-table-manual.component.scss +4 -14
- package/lib/template/simple-table-manual/simple-table-manual.component.ts +45 -25
- 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 +42 -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 -3
- 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 +8 -5
- package/lib/widget/todo/todo.component.scss +11 -10
- package/lib/widget/todo/todo.component.ts +7 -4
- package/lib/widget/utility/utility.component.ts +0 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, OnInit, Input, ViewChild, forwardRef, OnDestroy } from '@angular/core';
|
|
2
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
3
|
import { CommonModule } from '@angular/common';
|
|
3
4
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
4
5
|
import { MatOptionModule } from '@angular/material/core';
|
|
@@ -42,6 +43,10 @@ interface ListViewProps {
|
|
|
42
43
|
value: any;
|
|
43
44
|
readonlyContextList: any;
|
|
44
45
|
label?: string;
|
|
46
|
+
displayAs?: string;
|
|
47
|
+
showRecords: boolean;
|
|
48
|
+
viewName?: string;
|
|
49
|
+
localeReference?: any;
|
|
45
50
|
}
|
|
46
51
|
|
|
47
52
|
export class Group {
|
|
@@ -58,7 +63,6 @@ export class Group {
|
|
|
58
63
|
selector: 'app-list-view',
|
|
59
64
|
templateUrl: './list-view.component.html',
|
|
60
65
|
styleUrls: ['./list-view.component.scss'],
|
|
61
|
-
standalone: true,
|
|
62
66
|
imports: [
|
|
63
67
|
CommonModule,
|
|
64
68
|
MatFormFieldModule,
|
|
@@ -89,6 +93,7 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
89
93
|
@Input() payload;
|
|
90
94
|
|
|
91
95
|
repeatList$: MatTableDataSource<any>;
|
|
96
|
+
selection = new SelectionModel<any>(true, []);
|
|
92
97
|
fields$: any[];
|
|
93
98
|
|
|
94
99
|
displayedColumns$ = Array<any>();
|
|
@@ -156,11 +161,13 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
156
161
|
query: any = null;
|
|
157
162
|
paging: any;
|
|
158
163
|
fieldDefs: any;
|
|
159
|
-
xRayApis = PCore.getDebugger().getXRayRuntime();
|
|
160
|
-
xRayUid = this.xRayApis.startXRay();
|
|
161
164
|
checkBoxValue: string;
|
|
162
165
|
label?: string = '';
|
|
163
|
-
|
|
166
|
+
uniqueId = crypto.randomUUID();
|
|
167
|
+
displayAs: any;
|
|
168
|
+
showRecords: any;
|
|
169
|
+
identifier: string;
|
|
170
|
+
promotedFiltersId: string;
|
|
164
171
|
constructor(
|
|
165
172
|
private psService: ProgressSpinnerService,
|
|
166
173
|
public utils: Utils
|
|
@@ -172,12 +179,13 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
172
179
|
const defRowID = this.configProps$?.referenceType === 'Case' ? 'pyID' : 'pyGUID';
|
|
173
180
|
/** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */
|
|
174
181
|
this.compositeKeys = this.configProps$?.compositeKeys;
|
|
175
|
-
this.rowID = this.compositeKeys
|
|
182
|
+
this.rowID = this.payload?.compositeKeys?.length === 1 ? this.payload?.compositeKeys[0] : defRowID;
|
|
176
183
|
this.bShowSearch$ = this.utils.getBooleanValue(this.configProps$?.globalSearch ? this.configProps$.globalSearch : this.payload?.globalSearch);
|
|
177
184
|
this.bColumnReorder$ = this.utils.getBooleanValue(this.configProps$.reorderFields);
|
|
178
185
|
this.bGrouping$ = this.utils.getBooleanValue(this.configProps$.grouping);
|
|
179
186
|
this.showDynamicFields = this.configProps$?.showDynamicFields;
|
|
180
|
-
|
|
187
|
+
this.displayAs = this.configProps$.displayAs;
|
|
188
|
+
this.showRecords = this.configProps$.showRecords;
|
|
181
189
|
this.menuSvgIcon$ = this.utils.getImageSrc('more', this.utils.getSDKStaticContentUrl());
|
|
182
190
|
this.arrowDownSvgIcon$ = this.utils.getImageSrc('arrow-down', this.utils.getSDKStaticContentUrl());
|
|
183
191
|
this.arrowUpSvgIcon$ = this.utils.getImageSrc('arrow-up', this.utils.getSDKStaticContentUrl());
|
|
@@ -206,6 +214,7 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
206
214
|
this.label = title;
|
|
207
215
|
|
|
208
216
|
this.searchIcon$ = this.utils.getImageSrc('search', this.utils.getSDKStaticContentUrl());
|
|
217
|
+
this.promotedFiltersId = `promoted-filters-queryable-${this.uniqueId}`;
|
|
209
218
|
setTimeout(() => {
|
|
210
219
|
PCore.getPubSubUtils().subscribe(
|
|
211
220
|
PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,
|
|
@@ -226,6 +235,15 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
226
235
|
false,
|
|
227
236
|
this.pConn$.getContextName()
|
|
228
237
|
);
|
|
238
|
+
PCore.getPubSubUtils().subscribe(
|
|
239
|
+
PCore.getEvents().getTransientEvent().UPDATE_PROMOTED_FILTERS,
|
|
240
|
+
data => {
|
|
241
|
+
this.showRecords = data.showRecords;
|
|
242
|
+
const filterData = this.prepareFilters(data);
|
|
243
|
+
this.processFilterChange(filterData);
|
|
244
|
+
},
|
|
245
|
+
this.promotedFiltersId
|
|
246
|
+
);
|
|
229
247
|
}, 0);
|
|
230
248
|
if (this.configProps$) {
|
|
231
249
|
if (!this.payload) {
|
|
@@ -238,7 +256,6 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
238
256
|
listContext: this.listContext,
|
|
239
257
|
ref: this.ref,
|
|
240
258
|
showDynamicFields: this.showDynamicFields,
|
|
241
|
-
xRayUid: this.xRayUid,
|
|
242
259
|
cosmosTableRef: this.cosmosTableRef,
|
|
243
260
|
selectionMode: this.selectionMode
|
|
244
261
|
}).then(response => {
|
|
@@ -246,6 +263,29 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
246
263
|
this.getListData();
|
|
247
264
|
});
|
|
248
265
|
}
|
|
266
|
+
this.clearSelectionsAndUpdateTable(this.pConn$, this.uniqueId, this.configProps$?.viewName);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
clearSelectionsAndUpdateTable(getPConnect: any, uniqueId: string, viewName): void {
|
|
270
|
+
const clearSelectionsAndRefreshList = ({ viewName: name, clearSelections }: any) => {
|
|
271
|
+
if (name === viewName) {
|
|
272
|
+
const { selectionMode } = getPConnect.getRawConfigProps();
|
|
273
|
+
if (!selectionMode) {
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
if (clearSelections) {
|
|
277
|
+
if (selectionMode === 'single') {
|
|
278
|
+
getPConnect.getListActions().setSelectedRows({});
|
|
279
|
+
} else {
|
|
280
|
+
getPConnect.getListActions().clearSelectedRows();
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
this.identifier = `clear-and-update-advanced-search-selections-${uniqueId}`;
|
|
287
|
+
|
|
288
|
+
PCore.getPubSubUtils().subscribe('update-advanced-search-selections', clearSelectionsAndRefreshList, this.identifier);
|
|
249
289
|
}
|
|
250
290
|
|
|
251
291
|
getFieldFromFilter(filter, dateRange = false) {
|
|
@@ -260,82 +300,22 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
260
300
|
|
|
261
301
|
// Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires
|
|
262
302
|
processFilterChange(data) {
|
|
263
|
-
|
|
264
|
-
let dashboardFilterPayload: any = {
|
|
265
|
-
query: {
|
|
266
|
-
filter: {},
|
|
267
|
-
select: []
|
|
268
|
-
}
|
|
269
|
-
};
|
|
270
|
-
|
|
271
|
-
this.filters[filterId] = filterExpression;
|
|
272
|
-
let isDateRange = !!data.filterExpression?.AND;
|
|
273
|
-
// Will be AND by default but making it dynamic in case we support dynamic relational ops in future
|
|
274
|
-
const relationalOp = 'AND';
|
|
275
|
-
|
|
276
|
-
let field = this.getFieldFromFilter(filterExpression, isDateRange);
|
|
277
|
-
const selectParam: any[] = [];
|
|
278
|
-
// Constructing the select parameters list (will be sent in dashboardFilterPayload)
|
|
279
|
-
this.displayedColumns$?.forEach(col => {
|
|
280
|
-
selectParam.push({
|
|
281
|
-
field: col
|
|
282
|
-
});
|
|
283
|
-
});
|
|
284
|
-
|
|
285
|
-
// Checking if the triggered filter is applicable for this list
|
|
286
|
-
if (data.filterExpression !== null && !(this.displayedColumns$?.length && this.displayedColumns$?.includes(field))) {
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
289
|
-
// This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters
|
|
290
|
-
let validFilter = false;
|
|
291
|
-
|
|
292
|
-
let index = 1;
|
|
293
|
-
// Iterating over the current filters list to create filter data which will be POSTed
|
|
294
|
-
const filterKeys: any[] = Object.keys(this.filters);
|
|
295
|
-
const filterValues: any[] = Object.values(this.filters);
|
|
296
|
-
for (let filterIndex = 0; filterIndex < filterKeys.length; filterIndex++) {
|
|
297
|
-
const filter = filterValues[filterIndex];
|
|
298
|
-
// If the filter is null then we can skip this iteration
|
|
299
|
-
if (filter === null) {
|
|
300
|
-
// eslint-disable-next-line no-continue
|
|
301
|
-
continue;
|
|
302
|
-
}
|
|
303
|
+
this.updateFiltersFromData(data);
|
|
303
304
|
|
|
304
|
-
|
|
305
|
-
isDateRange = !!filter?.AND;
|
|
306
|
-
field = this.getFieldFromFilter(filter, isDateRange);
|
|
305
|
+
const selectParam = this.displayedColumns$?.map(col => ({ field: col })) || [];
|
|
307
306
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
// If we reach here that implies we've at least one valid filter, hence setting the flag
|
|
313
|
-
validFilter = true;
|
|
314
|
-
/** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload
|
|
315
|
-
* In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here
|
|
316
|
-
*/
|
|
317
|
-
if (isDateRange) {
|
|
318
|
-
dashboardFilterPayload = this.filterBasedOnDateRange(dashboardFilterPayload, filter, relationalOp, selectParam, index);
|
|
319
|
-
} else {
|
|
320
|
-
dashboardFilterPayload.query.filter.filterConditions = {
|
|
321
|
-
...dashboardFilterPayload.query.filter.filterConditions,
|
|
322
|
-
[`T${index++}`]: { ...filter.condition, ignoreCase: true }
|
|
323
|
-
};
|
|
307
|
+
if (this.displayAs !== 'advancedSearch') {
|
|
308
|
+
const { filterExpression } = data;
|
|
309
|
+
const isDateRange = !!filterExpression?.AND;
|
|
310
|
+
const field = this.getFieldFromFilter(filterExpression, isDateRange);
|
|
324
311
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
} else {
|
|
328
|
-
dashboardFilterPayload.query.filter.logic = `T${index - 1}`;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
dashboardFilterPayload.query.select = selectParam;
|
|
312
|
+
if (filterExpression !== null && !this.displayedColumns$?.includes(field)) {
|
|
313
|
+
return;
|
|
332
314
|
}
|
|
333
315
|
}
|
|
334
316
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
dashboardFilterPayload = undefined;
|
|
338
|
-
}
|
|
317
|
+
const dashboardFilterPayload = this.buildFilterPayload(selectParam);
|
|
318
|
+
|
|
339
319
|
this.filterPayload = dashboardFilterPayload;
|
|
340
320
|
this.getListData();
|
|
341
321
|
}
|
|
@@ -370,10 +350,22 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
370
350
|
return PCore.getAnalyticsUtils().getDataViewMetadata(refList, this.showDynamicFields);
|
|
371
351
|
}
|
|
372
352
|
|
|
353
|
+
getValue(col) {
|
|
354
|
+
return this.fieldDefs.find(f => f.name === col)?.label;
|
|
355
|
+
}
|
|
356
|
+
|
|
373
357
|
getListData() {
|
|
358
|
+
this.preparePayload();
|
|
374
359
|
const componentConfig = this.pConn$.getComponentConfig();
|
|
375
|
-
|
|
376
|
-
|
|
360
|
+
const columnFields = componentConfig.presets[0].children[0].children;
|
|
361
|
+
const columns = this.getHeaderCells(columnFields, this.fieldDefs);
|
|
362
|
+
this.fields$ = this.configProps$.presets[0].children[0].children;
|
|
363
|
+
this.displayedColumns$ = columns.map(col => {
|
|
364
|
+
return col.id;
|
|
365
|
+
});
|
|
366
|
+
if (this.displayAs === 'advancedSearch' && !this.showRecords) {
|
|
367
|
+
Promise.resolve({ data: null });
|
|
368
|
+
} else if (this.configProps$) {
|
|
377
369
|
const refList = this.configProps$.referenceList;
|
|
378
370
|
const fieldsMetaDataPromise = this.getFieldsMetadata(refList);
|
|
379
371
|
// returns a promise
|
|
@@ -399,17 +391,9 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
399
391
|
const fieldsMetaData = results[0];
|
|
400
392
|
const workListData = results[1];
|
|
401
393
|
|
|
402
|
-
this.fields$ = this.configProps$.presets[0].children[0].children;
|
|
403
|
-
// this is an unresovled version of this.fields$, need unresolved, so can get the property reference
|
|
404
|
-
const columnFields = componentConfig.presets[0].children[0].children;
|
|
405
|
-
|
|
406
394
|
const tableDataResults = !this.bInForm$ ? workListData.data.data : workListData.data;
|
|
407
395
|
|
|
408
|
-
const columns = this.getHeaderCells(columnFields, this.fieldDefs);
|
|
409
396
|
this.fields$ = this.updateFields(this.fields$, fieldsMetaData.data.fields, columns);
|
|
410
|
-
this.displayedColumns$ = columns.map(col => {
|
|
411
|
-
return col.id;
|
|
412
|
-
});
|
|
413
397
|
this.response = tableDataResults;
|
|
414
398
|
this.updatedRefList = this.updateData(tableDataResults, this.fields$);
|
|
415
399
|
if (this.selectionMode === SELECTION_MODE.SINGLE && this.updatedRefList?.length > 0) {
|
|
@@ -421,6 +405,14 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
421
405
|
}
|
|
422
406
|
|
|
423
407
|
this.repeatList$ = new MatTableDataSource(this.updatedRefList);
|
|
408
|
+
|
|
409
|
+
if (this.configProps$?.readonlyContextList?.length > 0) {
|
|
410
|
+
const readonlyIds = new Set(this.configProps$.readonlyContextList.map(element => element[this.rowID]));
|
|
411
|
+
const rowsToSelect = this.repeatList$.data.filter(row => readonlyIds.has(row[this.rowID]));
|
|
412
|
+
if (rowsToSelect.length > 0) {
|
|
413
|
+
this.selection.select(...rowsToSelect);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
424
416
|
this.repeatList$.filterPredicate = this.customFilterPredicate.bind(this);
|
|
425
417
|
|
|
426
418
|
// keeping an original copy to get back after possible sorts, filters and groupBy
|
|
@@ -437,6 +429,33 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
437
429
|
}
|
|
438
430
|
}
|
|
439
431
|
|
|
432
|
+
prepareFilters(data) {
|
|
433
|
+
return Object.entries(data.payload).reduce((acc, [field, value]) => {
|
|
434
|
+
if (value) {
|
|
435
|
+
let comparator = 'EQ';
|
|
436
|
+
const filterRecord = this.listContext.meta.fieldDefs.filter(item => item.id === field);
|
|
437
|
+
if (filterRecord?.[0]?.meta.type === 'TextInput') {
|
|
438
|
+
comparator = 'CONTAINS';
|
|
439
|
+
}
|
|
440
|
+
acc[field] = {
|
|
441
|
+
filterExpression: {
|
|
442
|
+
condition: {
|
|
443
|
+
lhs: {
|
|
444
|
+
field
|
|
445
|
+
},
|
|
446
|
+
comparator,
|
|
447
|
+
rhs: {
|
|
448
|
+
value
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
},
|
|
452
|
+
filterId: field
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
return acc;
|
|
456
|
+
}, {});
|
|
457
|
+
}
|
|
458
|
+
|
|
440
459
|
preparePayload() {
|
|
441
460
|
const { fieldDefs, itemKey, patchQueryFields } = this.listContext.meta;
|
|
442
461
|
this.fieldDefs = fieldDefs;
|
|
@@ -478,6 +497,8 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
478
497
|
`dashboard-component-${'id'}`,
|
|
479
498
|
this.pConn$.getContextName()
|
|
480
499
|
);
|
|
500
|
+
PCore.getPubSubUtils().unsubscribe('update-advanced-search-selections', this.identifier);
|
|
501
|
+
PCore.getPubSubUtils().unsubscribe(PCore.getEvents().getTransientEvent().UPDATE_PROMOTED_FILTERS, this.promotedFiltersId);
|
|
481
502
|
}
|
|
482
503
|
|
|
483
504
|
// ngAfterViewInit() {
|
|
@@ -496,6 +517,7 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
496
517
|
const arReturn = arFields;
|
|
497
518
|
arReturn.forEach((field, i) => {
|
|
498
519
|
field.config = { ...field.config, ...fields[i], name: fields[i].id };
|
|
520
|
+
field.config.label = PCore.getLocaleUtils().getLocaleValue(field.config.label, this.configProps$.localeReference);
|
|
499
521
|
});
|
|
500
522
|
return arReturn;
|
|
501
523
|
}
|
|
@@ -521,13 +543,6 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
521
543
|
}
|
|
522
544
|
}
|
|
523
545
|
|
|
524
|
-
isChecked(rowIn): any {
|
|
525
|
-
const initialVal = false;
|
|
526
|
-
return this.configProps$?.readonlyContextList?.reduce((acc, currRow) => {
|
|
527
|
-
return acc || rowIn[this.rowID] === currRow[this.rowID];
|
|
528
|
-
}, initialVal);
|
|
529
|
-
}
|
|
530
|
-
|
|
531
546
|
fieldOnChange(row) {
|
|
532
547
|
const value = row[this.rowID];
|
|
533
548
|
const reqObj = {};
|
|
@@ -544,32 +559,31 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
544
559
|
this.pConn$?.getListActions?.()?.setSelectedRows([reqObj]);
|
|
545
560
|
}
|
|
546
561
|
|
|
547
|
-
onCheckboxClick(row
|
|
548
|
-
|
|
549
|
-
const
|
|
550
|
-
|
|
551
|
-
if (this.compositeKeys?.length > 1) {
|
|
552
|
-
const index = this.response.findIndex(element => element[this.rowID] === value);
|
|
553
|
-
const selectedRow = this.response[index];
|
|
554
|
-
this.compositeKeys.forEach(element => {
|
|
555
|
-
reqObj[element] = selectedRow[element];
|
|
556
|
-
});
|
|
557
|
-
reqObj.$selected = checked;
|
|
558
|
-
} else {
|
|
559
|
-
reqObj[this.rowID] = value;
|
|
560
|
-
reqObj.$selected = checked;
|
|
561
|
-
}
|
|
562
|
-
this.pConn$?.getListActions()?.setSelectedRows([reqObj]);
|
|
562
|
+
onCheckboxClick(row) {
|
|
563
|
+
this.selection.toggle(row);
|
|
564
|
+
const requiredValue = this.getSelectedValue(row);
|
|
565
|
+
this.pConn$?.getListActions()?.setSelectedRows([requiredValue]);
|
|
563
566
|
}
|
|
564
567
|
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
568
|
+
isAllSelected() {
|
|
569
|
+
const numSelected = this.selection.selected.length;
|
|
570
|
+
const numRows = this.repeatList$.data.length;
|
|
571
|
+
return numSelected === numRows;
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
toggleAllRows() {
|
|
575
|
+
if (this.isAllSelected()) {
|
|
576
|
+
this.selection.clear();
|
|
577
|
+
this.pConn$?.getListActions()?.clearSelectedRows();
|
|
578
|
+
return;
|
|
579
|
+
}
|
|
580
|
+
if (this.selection.hasValue() && !this.isAllSelected()) {
|
|
581
|
+
this.pConn$?.getListActions()?.clearSelectedRows();
|
|
582
|
+
}
|
|
583
|
+
this.selection.select(...this.repeatList$.data);
|
|
584
|
+
const requiredValues = this.repeatList$.data.map(row => this.getSelectedValue(row));
|
|
585
|
+
this.pConn$?.getListActions()?.setSelectedRows(requiredValues);
|
|
586
|
+
}
|
|
573
587
|
|
|
574
588
|
_getIconStyle(level): string {
|
|
575
589
|
let sReturn = '';
|
|
@@ -1157,7 +1171,7 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
1157
1171
|
const seen = {};
|
|
1158
1172
|
return a.filter(item => {
|
|
1159
1173
|
const k = key(item);
|
|
1160
|
-
// eslint-disable-next-line no-
|
|
1174
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
1161
1175
|
return seen.hasOwnProperty(k) ? false : (seen[k] = true);
|
|
1162
1176
|
});
|
|
1163
1177
|
}
|
|
@@ -1431,4 +1445,78 @@ export class ListViewComponent implements OnInit, OnDestroy {
|
|
|
1431
1445
|
|
|
1432
1446
|
return select;
|
|
1433
1447
|
}
|
|
1448
|
+
|
|
1449
|
+
private getSelectedValue(row) {
|
|
1450
|
+
const value = row[this.rowID];
|
|
1451
|
+
const checked = this.selection.isSelected(row);
|
|
1452
|
+
const reqObj: any = {};
|
|
1453
|
+
if (this.compositeKeys?.length > 1) {
|
|
1454
|
+
const index = this.response.findIndex(element => element[this.rowID] === value);
|
|
1455
|
+
const selectedRow = this.response[index];
|
|
1456
|
+
this.compositeKeys.forEach(element => {
|
|
1457
|
+
reqObj[element] = selectedRow[element];
|
|
1458
|
+
});
|
|
1459
|
+
reqObj.$selected = checked;
|
|
1460
|
+
} else {
|
|
1461
|
+
reqObj[this.rowID] = value;
|
|
1462
|
+
reqObj.$selected = checked;
|
|
1463
|
+
}
|
|
1464
|
+
return reqObj;
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
private updateFiltersFromData(data) {
|
|
1468
|
+
if (this.displayAs === 'advancedSearch') {
|
|
1469
|
+
this.filters = {};
|
|
1470
|
+
Object.values(data).forEach((value: any) => {
|
|
1471
|
+
this.filters[value.filterId] = value.filterExpression;
|
|
1472
|
+
});
|
|
1473
|
+
} else {
|
|
1474
|
+
const { filterId, filterExpression } = data;
|
|
1475
|
+
this.filters[filterId] = filterExpression;
|
|
1476
|
+
}
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1479
|
+
private buildFilterPayload(selectParam: any[]) {
|
|
1480
|
+
const filterConditions = {};
|
|
1481
|
+
let logic = '';
|
|
1482
|
+
let index = 1;
|
|
1483
|
+
const relationalOp = 'AND';
|
|
1484
|
+
|
|
1485
|
+
for (const currentFilter of Object.values(this.filters)) {
|
|
1486
|
+
const filter: any = currentFilter;
|
|
1487
|
+
if (!filter) continue;
|
|
1488
|
+
|
|
1489
|
+
const isDateRange = !!filter.AND;
|
|
1490
|
+
const field = this.getFieldFromFilter(filter, isDateRange);
|
|
1491
|
+
|
|
1492
|
+
if (!this.displayedColumns$?.includes(field)) continue;
|
|
1493
|
+
|
|
1494
|
+
if (logic) {
|
|
1495
|
+
logic += ` ${relationalOp} `;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
if (isDateRange) {
|
|
1499
|
+
const dateRelationalOp = filter.AND ? 'AND' : 'OR';
|
|
1500
|
+
filterConditions[`T${index}`] = { ...filter[relationalOp][0].condition };
|
|
1501
|
+
filterConditions[`T${index + 1}`] = { ...filter[relationalOp][1].condition };
|
|
1502
|
+
logic += `(T${index} ${dateRelationalOp} T${index + 1})`;
|
|
1503
|
+
index += 2;
|
|
1504
|
+
} else {
|
|
1505
|
+
filterConditions[`T${index}`] = { ...filter.condition, ...(filter.condition.comparator === 'CONTAINS' && { ignoreCase: true }) };
|
|
1506
|
+
logic += `T${index}`;
|
|
1507
|
+
index++;
|
|
1508
|
+
}
|
|
1509
|
+
}
|
|
1510
|
+
|
|
1511
|
+
if (!logic) {
|
|
1512
|
+
return undefined;
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
return {
|
|
1516
|
+
query: {
|
|
1517
|
+
filter: { filterConditions, logic },
|
|
1518
|
+
select: selectParam
|
|
1519
|
+
}
|
|
1520
|
+
};
|
|
1521
|
+
}
|
|
1434
1522
|
}
|
|
@@ -12,7 +12,6 @@ export function init(props) {
|
|
|
12
12
|
ref,
|
|
13
13
|
showDynamicFields,
|
|
14
14
|
isDataObject,
|
|
15
|
-
xRayUid,
|
|
16
15
|
cosmosTableRef
|
|
17
16
|
} = props;
|
|
18
17
|
let { editing, selectionMode } = props;
|
|
@@ -67,8 +66,7 @@ export function init(props) {
|
|
|
67
66
|
pConn$,
|
|
68
67
|
compositeKeys,
|
|
69
68
|
isSearchable,
|
|
70
|
-
isCacheable: true
|
|
71
|
-
xRayUid
|
|
69
|
+
isCacheable: true
|
|
72
70
|
}).then(async context => {
|
|
73
71
|
return readContextResponse(context, {
|
|
74
72
|
...props,
|
|
@@ -76,7 +74,6 @@ export function init(props) {
|
|
|
76
74
|
selectionCountThreshold,
|
|
77
75
|
ref,
|
|
78
76
|
selectionMode,
|
|
79
|
-
xRayUid,
|
|
80
77
|
cosmosTableRef
|
|
81
78
|
});
|
|
82
79
|
});
|
|
@@ -550,6 +550,27 @@ function populateRenderingOptions(name, config, field) {
|
|
|
550
550
|
config.cellRenderer = formatConstants.Integer;
|
|
551
551
|
}
|
|
552
552
|
}
|
|
553
|
+
function isFLProperty(label) {
|
|
554
|
+
return label?.startsWith('@FL');
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
function getFieldLabel(fieldConfig) {
|
|
558
|
+
const { label, classID, caption } = fieldConfig;
|
|
559
|
+
let fieldLabel = (label ?? caption)?.substring(4);
|
|
560
|
+
const labelSplit = fieldLabel?.split('.');
|
|
561
|
+
const propertyName = labelSplit?.pop();
|
|
562
|
+
const fieldMetaData: any = PCore.getMetadataUtils().getPropertyMetadata(propertyName, classID) ?? {};
|
|
563
|
+
fieldLabel = fieldMetaData.label ?? fieldMetaData.caption ?? propertyName;
|
|
564
|
+
|
|
565
|
+
const definedOnClassID = fieldMetaData.definedOnClassID;
|
|
566
|
+
const localeValue = PCore.getLocaleUtils().getLocaleValue(
|
|
567
|
+
fieldLabel,
|
|
568
|
+
`${definedOnClassID ?? fieldMetaData.classID ?? classID}.${propertyName}`,
|
|
569
|
+
PCore.getLocaleUtils().FIELD_LABELS_BUNDLE_KEY,
|
|
570
|
+
null
|
|
571
|
+
);
|
|
572
|
+
return localeValue || fieldLabel;
|
|
573
|
+
}
|
|
553
574
|
export function initializeColumns(fields: any[] = [], getMappedProperty: any = null) {
|
|
554
575
|
return fields.map((field, originalColIndex) => {
|
|
555
576
|
let name = field.config.value;
|
|
@@ -562,7 +583,9 @@ export function initializeColumns(fields: any[] = [], getMappedProperty: any = n
|
|
|
562
583
|
|
|
563
584
|
let label = field.config.label || field.config.caption;
|
|
564
585
|
const { show = true, displayAs } = field.config;
|
|
565
|
-
if (label
|
|
586
|
+
if (isFLProperty(label)) {
|
|
587
|
+
label = getFieldLabel(field.config);
|
|
588
|
+
} else if (label.startsWith('@')) {
|
|
566
589
|
label = label.substring(3);
|
|
567
590
|
}
|
|
568
591
|
|
|
@@ -653,7 +676,7 @@ export const readContextResponse = async (context, params) => {
|
|
|
653
676
|
const { pConn$, apiContext, children, showDynamicFields, referenceList, isDataObject } = params;
|
|
654
677
|
// let { listContext } = params;
|
|
655
678
|
const { promisesResponseArray, apiContext: otherContext } = context;
|
|
656
|
-
|
|
679
|
+
|
|
657
680
|
const listOfComponents: any[] = [];
|
|
658
681
|
const {
|
|
659
682
|
data: { fields: metaFields, classID, isQueryable }
|
|
@@ -12,7 +12,6 @@ interface MultiReferenceReadOnlyProps {
|
|
|
12
12
|
selector: 'app-multi-reference-readonly',
|
|
13
13
|
templateUrl: './multi-reference-readonly.component.html',
|
|
14
14
|
styleUrls: ['./multi-reference-readonly.component.scss'],
|
|
15
|
-
standalone: true,
|
|
16
15
|
imports: [forwardRef(() => ComponentMapperComponent)]
|
|
17
16
|
})
|
|
18
17
|
export class MultiReferenceReadonlyComponent implements OnInit, OnDestroy {
|
|
@@ -7,7 +7,6 @@ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
|
7
7
|
selector: 'app-narrow-wide-form',
|
|
8
8
|
templateUrl: './narrow-wide-form.component.html',
|
|
9
9
|
styleUrls: ['./narrow-wide-form.component.scss'],
|
|
10
|
-
standalone: true,
|
|
11
10
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
12
11
|
})
|
|
13
12
|
export class NarrowWideFormComponent implements OnInit, OnChanges {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<component-mapper name="CaseView" [props]="{ pConn$, formGroup$ }"></component-mapper>
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { ObjectPageComponent } from './object-page.component';
|
|
4
|
+
|
|
5
|
+
describe('ObjectPageComponent', () => {
|
|
6
|
+
let component: ObjectPageComponent;
|
|
7
|
+
let fixture: ComponentFixture<ObjectPageComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
imports: [ObjectPageComponent]
|
|
12
|
+
}).compileComponents();
|
|
13
|
+
|
|
14
|
+
fixture = TestBed.createComponent(ObjectPageComponent);
|
|
15
|
+
component = fixture.componentInstance;
|
|
16
|
+
fixture.detectChanges();
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('should create', () => {
|
|
20
|
+
expect(component).toBeTruthy();
|
|
21
|
+
});
|
|
22
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
selector: 'lib-object-page',
|
|
7
|
+
imports: [forwardRef(() => ComponentMapperComponent)],
|
|
8
|
+
templateUrl: './object-page.component.html',
|
|
9
|
+
styleUrl: './object-page.component.scss'
|
|
10
|
+
})
|
|
11
|
+
export class ObjectPageComponent {
|
|
12
|
+
@Input() pConn$: typeof PConnect;
|
|
13
|
+
@Input() formGroup$: FormGroup;
|
|
14
|
+
}
|
|
@@ -8,7 +8,6 @@ import { FormTemplateBase } from '@pega/angular-sdk-components';
|
|
|
8
8
|
selector: 'app-one-column',
|
|
9
9
|
templateUrl: './one-column.component.html',
|
|
10
10
|
styleUrls: ['./one-column.component.scss'],
|
|
11
|
-
standalone: true,
|
|
12
11
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
13
12
|
})
|
|
14
13
|
export class OneColumnComponent extends FormTemplateBase implements OnInit, OnChanges {
|
|
@@ -6,7 +6,6 @@ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
|
6
6
|
selector: 'app-one-column-page',
|
|
7
7
|
templateUrl: './one-column-page.component.html',
|
|
8
8
|
styleUrls: ['./one-column-page.component.scss'],
|
|
9
|
-
standalone: true,
|
|
10
9
|
imports: [forwardRef(() => ComponentMapperComponent)]
|
|
11
10
|
})
|
|
12
11
|
export class OneColumnPageComponent {
|
|
@@ -7,7 +7,6 @@ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
|
|
|
7
7
|
selector: 'app-one-column-tab',
|
|
8
8
|
templateUrl: './one-column-tab.component.html',
|
|
9
9
|
styleUrls: ['./one-column-tab.component.scss'],
|
|
10
|
-
standalone: true,
|
|
11
10
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
12
11
|
})
|
|
13
12
|
export class OneColumnTabComponent implements OnInit, OnChanges {
|
|
@@ -14,7 +14,6 @@ interface PageProps {
|
|
|
14
14
|
selector: 'app-page',
|
|
15
15
|
templateUrl: './page.component.html',
|
|
16
16
|
styleUrls: ['./page.component.scss'],
|
|
17
|
-
standalone: true,
|
|
18
17
|
imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
|
|
19
18
|
})
|
|
20
19
|
export class PageComponent implements OnInit, OnDestroy {
|
|
@@ -26,7 +26,6 @@ const SUPPORTED_TYPES_IN_PROMOTED_FILTERS = [
|
|
|
26
26
|
selector: 'app-promoted-filters',
|
|
27
27
|
templateUrl: './promoted-filters.component.html',
|
|
28
28
|
styleUrls: ['./promoted-filters.component.scss'],
|
|
29
|
-
standalone: true,
|
|
30
29
|
imports: [CommonModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)]
|
|
31
30
|
})
|
|
32
31
|
export class PromotedFiltersComponent implements OnInit, OnDestroy {
|