@pega/angular-sdk-overrides 0.25.15 → 0.25.17

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.
Files changed (44) hide show
  1. package/lib/designSystemExtension/operator/operator.component.ts +2 -1
  2. package/lib/infra/Containers/flow-container/flow-container.component.ts +33 -40
  3. package/lib/infra/Containers/modal-view-container/modal-view-container.component.ts +46 -50
  4. package/lib/infra/Containers/view-container/view-container.component.ts +29 -30
  5. package/lib/infra/defer-load/defer-load.component.ts +6 -3
  6. package/lib/infra/navbar/navbar.component.ts +33 -35
  7. package/lib/infra/root-container/root-container.component.ts +33 -38
  8. package/lib/infra/view/view.component.ts +17 -39
  9. package/lib/template/app-shell/app-shell.component.ts +12 -11
  10. package/lib/template/base/details-template-base.ts +35 -53
  11. package/lib/template/case-summary/case-summary.component.ts +14 -0
  12. package/lib/template/details/details.component.html +23 -3
  13. package/lib/template/details/details.component.scss +9 -2
  14. package/lib/template/details/details.component.ts +3 -32
  15. package/lib/template/details-narrow-wide/details-narrow-wide.component.html +21 -2
  16. package/lib/template/details-narrow-wide/details-narrow-wide.component.scss +8 -1
  17. package/lib/template/details-narrow-wide/details-narrow-wide.component.ts +3 -37
  18. package/lib/template/details-one-column/details-one-column.component.html +23 -1
  19. package/lib/template/details-one-column/details-one-column.component.scss +14 -0
  20. package/lib/template/details-one-column/details-one-column.component.ts +3 -38
  21. package/lib/template/details-three-column/details-three-column.component.html +21 -2
  22. package/lib/template/details-three-column/details-three-column.component.scss +8 -1
  23. package/lib/template/details-three-column/details-three-column.component.ts +3 -46
  24. package/lib/template/details-two-column/details-two-column.component.html +21 -2
  25. package/lib/template/details-two-column/details-two-column.component.scss +8 -1
  26. package/lib/template/details-two-column/details-two-column.component.ts +3 -44
  27. package/lib/template/details-wide-narrow/details-wide-narrow.component.html +21 -2
  28. package/lib/template/details-wide-narrow/details-wide-narrow.component.scss +8 -1
  29. package/lib/template/details-wide-narrow/details-wide-narrow.component.ts +3 -41
  30. package/lib/template/field-value-list/field-value-list.component.scss +17 -0
  31. package/lib/template/wss-nav-bar/wss-nav-bar.component.ts +18 -20
  32. package/lib/widget/attachment/attachment.component.ts +5 -2
  33. package/lib/widget/case-history/case-history.component.ts +6 -2
  34. package/lib/widget/file-utility/file-utility.component.ts +25 -29
  35. package/lib/widget/todo/todo.component.ts +7 -2
  36. package/package.json +1 -1
  37. package/lib/designSystemExtension/material-details/material-details.component.html +0 -40
  38. package/lib/designSystemExtension/material-details/material-details.component.scss +0 -116
  39. package/lib/designSystemExtension/material-details/material-details.component.spec.ts +0 -24
  40. package/lib/designSystemExtension/material-details/material-details.component.ts +0 -31
  41. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.html +0 -41
  42. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.scss +0 -34
  43. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.spec.ts +0 -22
  44. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.ts +0 -61
@@ -1,4 +1,23 @@
1
1
  <component-mapper
2
- name="MaterialDetails"
3
- [props]="{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'two-column' }"
2
+ name="FieldGroup"
3
+ [props]="{ name: propsToUse.showLabel ? propsToUse.label : '', childrenTemplate: detailsContent }"
4
4
  ></component-mapper>
5
+
6
+ <ng-template #detailsContent>
7
+ <ng-container *ngIf="showHighlightedData && highlightedDataArr.length > 0">
8
+ <div class="psdk-grid-highlighted">
9
+ <component-mapper
10
+ *ngFor="let field of highlightedDataArr"
11
+ [name]="field.getComponentName()"
12
+ [props]="{ pConn$: field, formGroup$ }"
13
+ ></component-mapper>
14
+ </div>
15
+ </ng-container>
16
+ <div class="psdk-grid-filter-2">
17
+ <component-mapper
18
+ *ngFor="let child of children"
19
+ [name]="child.getPConnect().getComponentName()"
20
+ [props]="{ pConn$: child.getPConnect(), formGroup$ }"
21
+ ></component-mapper>
22
+ </div>
23
+ </ng-template>
@@ -1,7 +1,14 @@
1
- .psdk-grid-filter {
1
+ .psdk-grid-filter-2 {
2
2
  display: grid;
3
3
  grid-template-columns: repeat(2, minmax(0, 1fr));
4
4
  column-gap: calc(2 * 0.5rem);
5
5
  row-gap: calc(2 * 0.5rem);
6
6
  align-items: start;
7
7
  }
8
+
9
+ .psdk-grid-highlighted {
10
+ display: flex;
11
+ flex-wrap: wrap;
12
+ align-items: flex-start;
13
+ gap: calc(0.5rem) calc(5rem);
14
+ }
@@ -1,4 +1,5 @@
1
1
  import { Component, forwardRef } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
2
3
  import { ComponentMapperComponent } from '@pega/angular-sdk-components';
3
4
  import { DetailsTemplateBase } from '@pega/angular-sdk-components';
4
5
 
@@ -6,48 +7,6 @@ import { DetailsTemplateBase } from '@pega/angular-sdk-components';
6
7
  selector: 'app-details-two-column',
7
8
  templateUrl: './details-two-column.component.html',
8
9
  styleUrls: ['./details-two-column.component.scss'],
9
- imports: [forwardRef(() => ComponentMapperComponent)]
10
+ imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
10
11
  })
11
- export class DetailsTwoColumnComponent extends DetailsTemplateBase {
12
- override pConn$: typeof PConnect;
13
-
14
- showHighlightedData: boolean;
15
- highlightedDataArr: any;
16
-
17
- arFields$: any[] = [];
18
- arFields2$: any[] = [];
19
- arFields3$: any[] = [];
20
-
21
- propsToUse: any = {};
22
-
23
- override updateSelf() {
24
- const rawMetaData: any = this.pConn$.resolveConfigProps(this.pConn$.getRawMetadata()?.config);
25
- this.showHighlightedData = rawMetaData?.showHighlightedData;
26
-
27
- if (this.showHighlightedData) {
28
- const highlightedData = rawMetaData?.highlightedData;
29
- this.highlightedDataArr = highlightedData?.map(field => {
30
- field.config.displayMode = 'STACKED_LARGE_VAL';
31
-
32
- if (field.config.value === '@P .pyStatusWork') {
33
- field.type = 'TextInput';
34
- field.config.displayAsStatus = true;
35
- }
36
-
37
- return field;
38
- });
39
- }
40
-
41
- this.pConn$.setInheritedProp('displayMode', 'DISPLAY_ONLY');
42
- this.pConn$.setInheritedProp('readOnly', true);
43
-
44
- const kids = this.pConn$.getChildren() as any[];
45
- for (const kid of kids) {
46
- if (kids.indexOf(kid) == 0) {
47
- this.arFields$ = this.processDetailFields(kid);
48
- } else {
49
- this.arFields2$ = this.processDetailFields(kid);
50
- }
51
- }
52
- }
53
- }
12
+ export class DetailsTwoColumnComponent extends DetailsTemplateBase {}
@@ -1,4 +1,23 @@
1
1
  <component-mapper
2
- name="MaterialDetails"
3
- [props]="{ arFields$, arFields2$, arHighlightedFields: highlightedDataArr, layout: 'wide-narrow' }"
2
+ name="FieldGroup"
3
+ [props]="{ name: propsToUse.showLabel ? propsToUse.label : '', childrenTemplate: detailsContent }"
4
4
  ></component-mapper>
5
+
6
+ <ng-template #detailsContent>
7
+ <ng-container *ngIf="showHighlightedData && highlightedDataArr.length > 0">
8
+ <div class="psdk-grid-highlighted">
9
+ <component-mapper
10
+ *ngFor="let field of highlightedDataArr"
11
+ [name]="field.getComponentName()"
12
+ [props]="{ pConn$: field, formGroup$ }"
13
+ ></component-mapper>
14
+ </div>
15
+ </ng-container>
16
+ <div class="psdk-grid-filter-wide-narrow">
17
+ <component-mapper
18
+ *ngFor="let child of children"
19
+ [name]="child.getPConnect().getComponentName()"
20
+ [props]="{ pConn$: child.getPConnect(), formGroup$ }"
21
+ ></component-mapper>
22
+ </div>
23
+ </ng-template>
@@ -1,7 +1,14 @@
1
- .psdk-grid-filter {
1
+ .psdk-grid-filter-wide-narrow {
2
2
  display: grid;
3
3
  grid-template-columns: 7fr 3fr;
4
4
  column-gap: calc(2 * 0.5rem);
5
5
  row-gap: calc(2 * 0.5rem);
6
6
  align-items: start;
7
7
  }
8
+
9
+ .psdk-grid-highlighted {
10
+ display: flex;
11
+ flex-wrap: wrap;
12
+ align-items: flex-start;
13
+ gap: calc(0.5rem) calc(5rem);
14
+ }
@@ -1,4 +1,5 @@
1
1
  import { Component, forwardRef } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
2
3
  import { ComponentMapperComponent } from '@pega/angular-sdk-components';
3
4
  import { DetailsTemplateBase } from '@pega/angular-sdk-components';
4
5
 
@@ -6,45 +7,6 @@ import { DetailsTemplateBase } from '@pega/angular-sdk-components';
6
7
  selector: 'app-details-wide-narrow',
7
8
  templateUrl: './details-wide-narrow.component.html',
8
9
  styleUrls: ['./details-wide-narrow.component.scss'],
9
- imports: [forwardRef(() => ComponentMapperComponent)]
10
+ imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
10
11
  })
11
- export class DetailsWideNarrowComponent extends DetailsTemplateBase {
12
- override pConn$: typeof PConnect;
13
-
14
- highlightedDataArr: any[] = [];
15
- showHighlightedData: boolean;
16
- arFields$: any[] = [];
17
- arFields2$: any[] = [];
18
- propsToUse: any = {};
19
-
20
- override updateSelf() {
21
- const rawMetaData: any = this.pConn$.resolveConfigProps(this.pConn$.getRawMetadata()?.config);
22
- this.showHighlightedData = rawMetaData?.showHighlightedData;
23
-
24
- if (this.showHighlightedData) {
25
- const highlightedData = rawMetaData?.highlightedData;
26
- this.highlightedDataArr = highlightedData.map(field => {
27
- field.config.displayMode = 'STACKED_LARGE_VAL';
28
-
29
- if (field.config.value === '@P .pyStatusWork') {
30
- field.type = 'TextInput';
31
- field.config.displayAsStatus = true;
32
- }
33
-
34
- return field;
35
- });
36
- }
37
-
38
- this.pConn$.setInheritedProp('displayMode', 'DISPLAY_ONLY');
39
- this.pConn$.setInheritedProp('readOnly', true);
40
-
41
- const kids = this.pConn$.getChildren() as any[];
42
- for (const kid of kids) {
43
- if (kids.indexOf(kid) == 0) {
44
- this.arFields$ = this.processDetailFields(kid);
45
- } else {
46
- this.arFields2$ = this.processDetailFields(kid);
47
- }
48
- }
49
- }
50
- }
12
+ export class DetailsWideNarrowComponent extends DetailsTemplateBase {}
@@ -21,3 +21,20 @@
21
21
  .psdk-val-labels-left {
22
22
  white-space: break-spaces;
23
23
  }
24
+
25
+ .psdk-container-stacked-large-val {
26
+ margin: 8px 0;
27
+ }
28
+
29
+ .psdk-container-stacked-large-val .psdk-grid-label {
30
+ color: rgba(0, 0, 0, 0.6);
31
+ font-size: 0.875rem;
32
+ font-weight: 400;
33
+ line-height: 1.5;
34
+ }
35
+
36
+ .psdk-val-stacked {
37
+ color: rgba(0, 0, 0, 0.87);
38
+ font-size: 1.25rem;
39
+ line-height: 1.5;
40
+ }
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, Component, Input, NgZone, OnDestroy, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { MatMenuModule } from '@angular/material/menu';
4
4
  import { MatListModule } from '@angular/material/list';
@@ -52,7 +52,6 @@ export class WssNavBarComponent implements OnInit, OnDestroy {
52
52
  private angularPConnect: AngularPConnectService,
53
53
  private cdRef: ChangeDetectorRef,
54
54
  private psService: ProgressSpinnerService,
55
- private ngZone: NgZone,
56
55
  private utils: Utils
57
56
  ) {}
58
57
 
@@ -102,30 +101,29 @@ export class WssNavBarComponent implements OnInit, OnDestroy {
102
101
  }
103
102
 
104
103
  initComponent() {
105
- this.ngZone.run(() => {
106
- this.navIcon$ = this.utils.getSDKStaticContentUrl().concat('assets/pzpega-logo-mark.svg');
107
- this.navExpandCollapse$ = this.utils.getImageSrc('plus', this.utils.getSDKStaticContentUrl());
104
+ this.navIcon$ = this.utils.getSDKStaticContentUrl().concat('assets/pzpega-logo-mark.svg');
105
+ this.navExpandCollapse$ = this.utils.getImageSrc('plus', this.utils.getSDKStaticContentUrl());
108
106
 
109
- // Then, continue on with other initialization
107
+ // Then, continue on with other initialization
110
108
 
111
- // making a copy, so can add info
112
- this.navPages$ = JSON.parse(JSON.stringify(this.pages$));
109
+ // making a copy, so can add info
110
+ this.navPages$ = JSON.parse(JSON.stringify(this.pages$));
113
111
 
114
- this.navPages$.forEach(page => {
115
- page.iconName = this.utils.getImageSrc(page.pxPageViewIcon, this.utils.getSDKStaticContentUrl());
116
- });
112
+ this.navPages$.forEach(page => {
113
+ page.iconName = this.utils.getImageSrc(page.pxPageViewIcon, this.utils.getSDKStaticContentUrl());
114
+ });
117
115
 
118
- this.actionsAPI = this.pConn$.getActionsApi();
119
- this.createWork = this.actionsAPI.createWork.bind(this.actionsAPI);
120
- this.showPage = this.actionsAPI.showPage.bind(this.actionsAPI);
121
- this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps()) as WssNavBarProps;
122
- this.logout = this.actionsAPI.logout.bind(this.actionsAPI);
116
+ this.actionsAPI = this.pConn$.getActionsApi();
117
+ this.createWork = this.actionsAPI.createWork.bind(this.actionsAPI);
118
+ this.showPage = this.actionsAPI.showPage.bind(this.actionsAPI);
119
+ this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps()) as WssNavBarProps;
120
+ this.logout = this.actionsAPI.logout.bind(this.actionsAPI);
123
121
 
124
- // const oData = this.pConn$.getDataObject();
122
+ // const oData = this.pConn$.getDataObject();
125
123
 
126
- this.portalOperator$ = PCore.getEnvironmentInfo().getOperatorName();
127
- this.portalOperatorInitials$ = this.utils.getInitials(this.portalOperator$ ?? '');
128
- });
124
+ this.portalOperator$ = PCore.getEnvironmentInfo().getOperatorName();
125
+ this.portalOperatorInitials$ = this.utils.getInitials(this.portalOperator$ ?? '');
126
+ this.cdRef.markForCheck();
129
127
  }
130
128
 
131
129
  navPanelButtonClick(oPageData: any) {
@@ -1,4 +1,4 @@
1
- import { Component, OnInit, Input, OnDestroy, ViewChild, ElementRef } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, OnInit, Input, OnDestroy, ViewChild, ElementRef } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { MatButtonModule } from '@angular/material/button';
@@ -76,7 +76,8 @@ export class AttachmentComponent implements OnInit, OnDestroy {
76
76
 
77
77
  constructor(
78
78
  private angularPConnect: AngularPConnectService,
79
- private utils: Utils
79
+ private utils: Utils,
80
+ private cdRef: ChangeDetectorRef
80
81
  ) {}
81
82
 
82
83
  ngOnInit(): void {
@@ -96,6 +97,7 @@ export class AttachmentComponent implements OnInit, OnDestroy {
96
97
  PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.ASSIGNMENT_SUBMISSION,
97
98
  () => {
98
99
  this.overrideLocalState = true;
100
+ this.cdRef.markForCheck();
99
101
  },
100
102
  this.caseID
101
103
  );
@@ -336,6 +338,7 @@ export class AttachmentComponent implements OnInit, OnDestroy {
336
338
  }
337
339
  return localFile;
338
340
  });
341
+ this.cdRef.markForCheck();
339
342
  }
340
343
 
341
344
  populateErrorAndUpdateRedux(file) {
@@ -1,4 +1,4 @@
1
- import { Component, OnInit, Input } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, OnInit, Input } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { MatTableDataSource, MatTableModule } from '@angular/material/table';
4
4
  import { Utils } from '@pega/angular-sdk-components';
@@ -23,7 +23,10 @@ export class CaseHistoryComponent implements OnInit {
23
23
  displayedColumns$ = Array<any>();
24
24
  waitingForData = false;
25
25
 
26
- constructor(private utils: Utils) {}
26
+ constructor(
27
+ private utils: Utils,
28
+ private cdRef: ChangeDetectorRef
29
+ ) {}
27
30
 
28
31
  ngOnInit(): void {
29
32
  this.configProps$ = this.pConn$.getConfigProps();
@@ -54,6 +57,7 @@ export class CaseHistoryComponent implements OnInit {
54
57
  this.repeatList$ = new MatTableDataSource(tableDataResults);
55
58
 
56
59
  this.waitingForData = false;
60
+ this.cdRef.markForCheck();
57
61
  });
58
62
  }
59
63
  // This method isn't being used anywhere, keeping it as a reference for now
@@ -1,4 +1,4 @@
1
- import { Component, OnInit, Input, NgZone, forwardRef, OnDestroy } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, OnInit, Input, forwardRef, OnDestroy } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { MatInputModule } from '@angular/material/input';
@@ -74,7 +74,7 @@ export class FileUtilityComponent implements OnInit, OnDestroy {
74
74
  constructor(
75
75
  private angularPConnect: AngularPConnectService,
76
76
  private utils: Utils,
77
- private ngZone: NgZone
77
+ private cdRef: ChangeDetectorRef
78
78
  ) {}
79
79
 
80
80
  ngOnInit(): void {
@@ -273,9 +273,8 @@ export class FileUtilityComponent implements OnInit, OnDestroy {
273
273
  for (let fileIndex = 0; fileIndex < arFileList.length; fileIndex++) {
274
274
  if (arFileList[fileIndex].id == itemId) {
275
275
  // remove the file from the list and redraw
276
- this.ngZone.run(() => {
277
- arFileList.splice(fileIndex, 1);
278
- });
276
+ arFileList.splice(fileIndex, 1);
277
+ this.cdRef.markForCheck();
279
278
  break;
280
279
  }
281
280
  }
@@ -293,9 +292,8 @@ export class FileUtilityComponent implements OnInit, OnDestroy {
293
292
  // remove the file from the list and redraw
294
293
  localLinksList.splice(linkIndex, 1);
295
294
 
296
- this.ngZone.run(() => {
297
- this.arLinksList$ = localLinksList.slice();
298
- });
295
+ this.arLinksList$ = localLinksList.slice();
296
+ this.cdRef.markForCheck();
299
297
 
300
298
  break;
301
299
  }
@@ -482,24 +480,23 @@ export class FileUtilityComponent implements OnInit, OnDestroy {
482
480
  oLink.primary.icon = 'open';
483
481
  oLink.secondary.text = url;
484
482
 
485
- this.ngZone.run(() => {
486
- // need to create a new array or summary list won't detect changes
487
- this.arLinksList$ = localList.slice();
488
- this.arLinksList$.push(oLink);
483
+ // need to create a new array or summary list won't detect changes
484
+ this.arLinksList$ = localList.slice();
485
+ this.arLinksList$.push(oLink);
489
486
 
490
- // list for actually attachments
491
- const link: any = {};
492
- link.id = oLink.id;
493
- link.linkTitle = this.link_title$;
494
- link.type = oLink.type;
495
- link.url = url;
487
+ // list for actually attachments
488
+ const link: any = {};
489
+ link.id = oLink.id;
490
+ link.linkTitle = this.link_title$;
491
+ link.type = oLink.type;
492
+ link.url = url;
496
493
 
497
- this.arLinks$.push(link);
494
+ this.arLinks$.push(link);
498
495
 
499
- // clear values
500
- this.link_title$ = '';
501
- this.link_url$ = '';
502
- });
496
+ // clear values
497
+ this.link_title$ = '';
498
+ this.link_url$ = '';
499
+ this.cdRef.markForCheck();
503
500
  }
504
501
 
505
502
  _changeTitle(event: any) {
@@ -575,15 +572,13 @@ export class FileUtilityComponent implements OnInit, OnDestroy {
575
572
  createModal(modalType: string) {
576
573
  switch (modalType) {
577
574
  case 'addLocalFile':
578
- this.ngZone.run(() => {
579
- this.bShowFileModal$ = true;
580
- });
575
+ this.bShowFileModal$ = true;
576
+ this.cdRef.markForCheck();
581
577
 
582
578
  break;
583
579
  case 'addLocalLink':
584
- this.ngZone.run(() => {
585
- this.bShowLinkModal$ = true;
586
- });
580
+ this.bShowLinkModal$ = true;
581
+ this.cdRef.markForCheck();
587
582
  break;
588
583
  default:
589
584
  break;
@@ -716,6 +711,7 @@ export class FileUtilityComponent implements OnInit, OnDestroy {
716
711
  })
717
712
  .finally(() => {
718
713
  this.lu_bLoading$ = false;
714
+ this.cdRef.markForCheck();
719
715
  });
720
716
  }
721
717
  }
@@ -1,4 +1,4 @@
1
- import { Component, OnInit, Input, OnDestroy } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, OnInit, Input, OnDestroy } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { publicConstants } from '@pega/pcore-pconnect-typedefs/constants';
@@ -97,7 +97,8 @@ export class TodoComponent implements OnInit, OnDestroy {
97
97
  constructor(
98
98
  private psService: ProgressSpinnerService,
99
99
  private erService: ErrorMessagesService,
100
- private utils: Utils
100
+ private utils: Utils,
101
+ private cdRef: ChangeDetectorRef
101
102
  ) {}
102
103
 
103
104
  ngOnInit() {
@@ -167,6 +168,7 @@ export class TodoComponent implements OnInit, OnDestroy {
167
168
  deferLoadWorklistItems(responseData) {
168
169
  this.count = responseData.totalCount;
169
170
  this.arAssignments$ = responseData.data;
171
+ this.cdRef.markForCheck();
170
172
  }
171
173
 
172
174
  getID(assignment: any) {
@@ -221,6 +223,7 @@ export class TodoComponent implements OnInit, OnDestroy {
221
223
  fetchMyWorkList(this.myWorkList$.datapage, this.pConn$.getComponentConfig()?.myWorkList.fields, this.count, false, this.context$).then(
222
224
  response => {
223
225
  this.arAssignments$ = response.data;
226
+ this.cdRef.markForCheck();
224
227
  }
225
228
  );
226
229
  } else {
@@ -268,6 +271,7 @@ export class TodoComponent implements OnInit, OnDestroy {
268
271
  .openAssignment(id, classname, options)
269
272
  .then(() => {
270
273
  this.psService.sendMessage(false);
274
+ this.cdRef.markForCheck();
271
275
  if (this.bLogging) {
272
276
  console.log(`openAssignment completed`);
273
277
  }
@@ -275,6 +279,7 @@ export class TodoComponent implements OnInit, OnDestroy {
275
279
  .catch(() => {
276
280
  this.psService.sendMessage(false);
277
281
  this.erService.sendMessage('show', 'Failed to open');
282
+ this.cdRef.markForCheck();
278
283
  });
279
284
  }
280
285
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/angular-sdk-overrides",
3
- "version": "0.25.15",
3
+ "version": "0.25.17",
4
4
  "description": "Angular SDK - Code for overriding components",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -1,40 +0,0 @@
1
- <div id="details-fields-list">
2
- <div
3
- *ngIf="arHighlightedFields && arHighlightedFields.length > 0"
4
- [ngClass]="{
5
- 'psdk-grid-filter-1': this.layout === 'one-column',
6
- 'psdk-grid-filter-2': this.layout === 'two-column',
7
- 'psdk-grid-filter-3': this.layout === 'three-column',
8
- 'psdk-grid-filter-wide-narrow': this.layout === 'wide-narrow',
9
- 'psdk-grid-filter-narrow-wide': this.layout === 'narrow-wide'
10
- }"
11
- >
12
- <div *ngFor="let field of arHighlightedFields">
13
- <div class="psdk-details-fields-label">
14
- {{ field.config.label }}
15
- </div>
16
- <div [ngSwitch]="field.type.toLowerCase()" class="psdk-csf-primary-field-value">
17
- <span *ngSwitchCase="'textinput'" class="psdk-details-text-style-hf">{{ _getValue(field.config.value) }}</span>
18
- <span *ngSwitchCase="'status'" class="psdk-details-status-style-hf">{{ _getValue(field.config.value) }}</span>
19
- <a *ngSwitchCase="'phone'" as="a" href="tel: {{ field.config.value }}">{{ _getValue(field.config.value) }}</a>
20
- <a *ngSwitchCase="'email'" href="mailto: {{ field.config.value }}">{{ _getValue(field.config.value) }}</a>
21
- <span *ngSwitchCase="'date'" class="psdk-details-text-style-hf">{{ _formatDate(field.config.value, field.type) }}</span>
22
- <span *ngSwitchCase="'caseoperator'"></span>
23
- <span *ngSwitchDefault>{{ _getValue(field.config.value) }}</span>
24
- </div>
25
- </div>
26
- </div>
27
- <div
28
- [ngClass]="{
29
- 'psdk-grid-filter-1': this.layout === 'one-column',
30
- 'psdk-grid-filter-2': this.layout === 'two-column',
31
- 'psdk-grid-filter-3': this.layout === 'three-column',
32
- 'psdk-grid-filter-wide-narrow': this.layout === 'wide-narrow',
33
- 'psdk-grid-filter-narrow-wide': this.layout === 'narrow-wide'
34
- }"
35
- >
36
- <component-mapper *ngIf="arFields$" name="DetailsFields" [props]="{ arFields$: arFields$ }"></component-mapper>
37
- <component-mapper *ngIf="arFields2$" name="DetailsFields" [props]="{ arFields$: arFields2$ }"></component-mapper>
38
- <component-mapper *ngIf="arFields3$" name="DetailsFields" [props]="{ arFields$: arFields3$ }"></component-mapper>
39
- </div>
40
- </div>
@@ -1,116 +0,0 @@
1
- .psdk-details-group {
2
- display: flex;
3
- flex-direction: row;
4
- justify-content: space-between;
5
- }
6
- .psdk-details-fields {
7
- padding: calc(2 * 0.5rem);
8
- grid-row-gap: calc(2 * 0.5rem);
9
- }
10
-
11
- .psdk-details-fields-primary {
12
- width: 100%;
13
- display: grid;
14
- grid-template-columns: 1fr;
15
- grid-column-gap: calc(2 * 0.5rem);
16
- grid-row-gap: calc(1 * 0.5rem);
17
- }
18
-
19
- .psdk-details-fields-single {
20
- display: grid;
21
- grid-template-columns: 20ch 1fr;
22
- grid-column-gap: calc(2 * 0.5rem);
23
- }
24
-
25
- .psdk-details-fields-label {
26
- margin: 8px 0px;
27
- }
28
-
29
- .psdk-details-fields-value {
30
- word-break: break-word;
31
- grid-column-start: 2;
32
- grid-row-start: 1;
33
- }
34
-
35
- span.psdk-details-text-style-hf {
36
- font-weight: 500;
37
- font-size: 1.25rem;
38
- }
39
-
40
- span.psdk-details-text-style {
41
- font-weight: 400;
42
- }
43
-
44
- span.psdk-details-status-style {
45
- border-radius: calc(0.25 * 0.5rem);
46
- display: inline-block;
47
- font-size: 0.75rem;
48
- font-weight: bold;
49
- line-height: calc(0.5rem * 2.5);
50
- height: calc(0.5rem * 2.5);
51
- padding: 0 0.5rem;
52
- text-transform: uppercase;
53
- }
54
-
55
- .psdk-grid-filter {
56
- display: grid;
57
- grid-template-columns: repeat(2, minmax(0, 1fr));
58
- column-gap: calc(2 * 0.5rem);
59
- row-gap: calc(2 * 0.5rem);
60
- align-items: start;
61
- }
62
-
63
- .psdk-csf-primary-field-value {
64
- margin: 8px 0;
65
- }
66
-
67
- span.psdk-details-status-style-hf {
68
- border-radius: calc(0.25 * 0.5rem);
69
- display: inline-block;
70
- font-size: 1.25rem;
71
- font-weight: 500;
72
- line-height: calc(0.5rem * 2.5);
73
- height: calc(0.5rem * 2.5);
74
- padding: 0 0.5rem;
75
- text-transform: uppercase;
76
- }
77
-
78
- .psdk-grid-filter-1 {
79
- display: grid;
80
- grid-template-columns: repeat(1, minmax(0, 1fr));
81
- column-gap: calc(2 * 0.5rem);
82
- row-gap: calc(2 * 0.5rem);
83
- align-items: start;
84
- }
85
-
86
- .psdk-grid-filter-2 {
87
- display: grid;
88
- grid-template-columns: repeat(2, minmax(0, 1fr));
89
- column-gap: calc(2 * 0.5rem);
90
- row-gap: calc(2 * 0.5rem);
91
- align-items: start;
92
- }
93
-
94
- .psdk-grid-filter-3 {
95
- display: grid;
96
- grid-template-columns: repeat(3, minmax(0, 1fr));
97
- column-gap: calc(2 * 0.5rem);
98
- row-gap: calc(2 * 0.5rem);
99
- align-items: start;
100
- }
101
-
102
- .psdk-grid-filter-wide-narrow {
103
- display: grid;
104
- grid-template-columns: 7fr 3fr;
105
- column-gap: calc(2 * 0.5rem);
106
- row-gap: calc(2 * 0.5rem);
107
- align-items: start;
108
- }
109
-
110
- .psdk-grid-filter-narrow-wide {
111
- display: grid;
112
- grid-template-columns: 3fr 7fr;
113
- column-gap: calc(2 * 0.5rem);
114
- row-gap: calc(2 * 0.5rem);
115
- align-items: start;
116
- }