@pega/angular-sdk-overrides 24.2.12 → 25.1.11

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 (237) hide show
  1. package/lib/designSystemExtension/alert/alert.component.scss +3 -3
  2. package/lib/designSystemExtension/alert/alert.component.ts +0 -1
  3. package/lib/designSystemExtension/alert-banner/alert-banner.component.ts +0 -1
  4. package/lib/designSystemExtension/banner/banner.component.html +1 -1
  5. package/lib/designSystemExtension/banner/banner.component.scss +17 -3
  6. package/lib/designSystemExtension/banner/banner.component.ts +0 -1
  7. package/lib/designSystemExtension/case-create-stage/case-create-stage.component.ts +0 -1
  8. package/lib/designSystemExtension/field-group/field-group.component.ts +0 -1
  9. package/lib/designSystemExtension/material-case-summary/material-case-summary.component.html +6 -3
  10. package/lib/designSystemExtension/material-case-summary/material-case-summary.component.scss +5 -34
  11. package/lib/designSystemExtension/material-case-summary/material-case-summary.component.ts +0 -1
  12. package/lib/designSystemExtension/material-details/material-details.component.scss +0 -5
  13. package/lib/designSystemExtension/material-details/material-details.component.ts +0 -1
  14. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.html +2 -2
  15. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.scss +4 -3
  16. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.ts +0 -1
  17. package/lib/designSystemExtension/material-summary-item/material-summary-item.component.scss +4 -17
  18. package/lib/designSystemExtension/material-summary-item/material-summary-item.component.ts +0 -1
  19. package/lib/designSystemExtension/material-summary-list/material-summary-list.component.ts +0 -1
  20. package/lib/designSystemExtension/material-utility/material-utility.component.scss +1 -2
  21. package/lib/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.scss +1 -1
  22. package/lib/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.ts +0 -1
  23. package/lib/designSystemExtension/operator/operator.component.html +1 -1
  24. package/lib/designSystemExtension/operator/operator.component.scss +3 -10
  25. package/lib/designSystemExtension/operator/operator.component.ts +0 -2
  26. package/lib/designSystemExtension/pulse/pulse.component.scss +2 -2
  27. package/lib/designSystemExtension/pulse/pulse.component.ts +0 -1
  28. package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.html +4 -17
  29. package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.scss +0 -1
  30. package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.ts +30 -1
  31. package/lib/designSystemExtension/wss-quick-create/wss-quick-create.component.scss +16 -9
  32. package/lib/designSystemExtension/wss-quick-create/wss-quick-create.component.ts +0 -1
  33. package/lib/field/auto-complete/auto-complete.component.html +0 -1
  34. package/lib/field/auto-complete/auto-complete.component.ts +35 -173
  35. package/lib/field/cancel-alert/cancel-alert.component.html +8 -12
  36. package/lib/field/cancel-alert/cancel-alert.component.scss +2 -3
  37. package/lib/field/cancel-alert/cancel-alert.component.ts +24 -37
  38. package/lib/field/check-box/check-box.component.html +19 -10
  39. package/lib/field/check-box/check-box.component.scss +6 -1
  40. package/lib/field/check-box/check-box.component.ts +25 -151
  41. package/lib/field/currency/currency.component.ts +36 -169
  42. package/lib/field/date/date.component.html +2 -2
  43. package/lib/field/date/date.component.ts +30 -151
  44. package/lib/field/date-time/date-time.component.html +1 -1
  45. package/lib/field/date-time/date-time.component.ts +34 -149
  46. package/lib/field/decimal/decimal.component.ts +38 -164
  47. package/lib/field/dropdown/dropdown.component.ts +29 -152
  48. package/lib/field/email/email.component.ts +16 -156
  49. package/lib/field/field.base.ts +149 -0
  50. package/lib/field/group/group.component.ts +7 -5
  51. package/lib/field/integer/integer.component.ts +18 -158
  52. package/lib/field/list-view-action-buttons/list-view-action-buttons.component.ts +0 -1
  53. package/lib/field/location/config-ext.json +8 -0
  54. package/lib/field/location/location.component.html +46 -0
  55. package/lib/field/location/location.component.scss +18 -0
  56. package/lib/field/location/location.component.spec.ts +22 -0
  57. package/lib/field/location/location.component.ts +280 -0
  58. package/lib/field/multiselect/multiselect.component.ts +47 -152
  59. package/lib/field/multiselect/utils.ts +55 -47
  60. package/lib/field/object-reference/object-reference.component.html +17 -0
  61. package/lib/field/object-reference/object-reference.component.scss +0 -0
  62. package/lib/field/object-reference/object-reference.component.spec.ts +22 -0
  63. package/lib/field/object-reference/object-reference.component.ts +237 -0
  64. package/lib/field/percentage/percentage.component.ts +37 -155
  65. package/lib/field/phone/phone.component.html +18 -19
  66. package/lib/field/phone/phone.component.scss +4 -0
  67. package/lib/field/phone/phone.component.ts +43 -145
  68. package/lib/field/radio-buttons/radio-buttons.component.html +14 -6
  69. package/lib/field/radio-buttons/radio-buttons.component.scss +4 -2
  70. package/lib/field/radio-buttons/radio-buttons.component.ts +37 -160
  71. package/lib/field/rich-text/rich-text.component.html +2 -0
  72. package/lib/field/rich-text/rich-text.component.scss +172 -0
  73. package/lib/field/rich-text/rich-text.component.ts +21 -91
  74. package/lib/field/scalar-list/scalar-list.component.ts +17 -73
  75. package/lib/field/selectable-card/selectable-card.component.html +70 -0
  76. package/lib/field/selectable-card/selectable-card.component.scss +11 -0
  77. package/lib/field/selectable-card/selectable-card.component.spec.ts +22 -0
  78. package/lib/field/selectable-card/selectable-card.component.ts +219 -0
  79. package/lib/field/semantic-link/semantic-link.component.html +4 -8
  80. package/lib/field/semantic-link/semantic-link.component.scss +0 -13
  81. package/lib/field/semantic-link/semantic-link.component.ts +165 -6
  82. package/lib/field/text/text.component.scss +0 -1
  83. package/lib/field/text/text.component.ts +0 -1
  84. package/lib/field/text-area/text-area.component.ts +18 -153
  85. package/lib/field/text-content/text-content.component.ts +0 -1
  86. package/lib/field/text-input/text-input.component.ts +16 -156
  87. package/lib/field/time/time.component.ts +17 -152
  88. package/lib/field/url/url.component.ts +16 -155
  89. package/lib/field/user-reference/user-reference.component.scss +0 -1
  90. package/lib/field/user-reference/user-reference.component.ts +2 -4
  91. package/lib/infra/Containers/flow-container/flow-container.component.html +2 -2
  92. package/lib/infra/Containers/flow-container/flow-container.component.ts +8 -9
  93. package/lib/infra/Containers/hybrid-view-container/hybrid-view-container.component.ts +0 -1
  94. package/lib/infra/Containers/modal-view-container/modal-view-container.component.ts +5 -11
  95. package/lib/infra/Containers/view-container/helper.ts +35 -2
  96. package/lib/infra/Containers/view-container/view-container.component.ts +1 -2
  97. package/lib/infra/action-buttons/action-buttons.component.html +13 -8
  98. package/lib/infra/action-buttons/action-buttons.component.scss +23 -0
  99. package/lib/infra/action-buttons/action-buttons.component.ts +1 -3
  100. package/lib/infra/assignment/assignment.component.ts +21 -10
  101. package/lib/infra/assignment-card/assignment-card.component.html +1 -2
  102. package/lib/infra/assignment-card/assignment-card.component.scss +0 -4
  103. package/lib/infra/assignment-card/assignment-card.component.ts +21 -5
  104. package/lib/infra/dashboard-filter/dashboard-filter.component.ts +0 -1
  105. package/lib/infra/defer-load/defer-load.component.html +6 -2
  106. package/lib/infra/defer-load/defer-load.component.ts +22 -12
  107. package/lib/infra/error-boundary/error-boundary.component.ts +0 -1
  108. package/lib/infra/multi-step/multi-step.component.html +22 -38
  109. package/lib/infra/multi-step/multi-step.component.scss +14 -27
  110. package/lib/infra/multi-step/multi-step.component.ts +0 -1
  111. package/lib/infra/navbar/navbar.component.html +36 -41
  112. package/lib/infra/navbar/navbar.component.scss +22 -4
  113. package/lib/infra/navbar/navbar.component.ts +8 -4
  114. package/lib/infra/reference/reference.component.ts +5 -0
  115. package/lib/infra/region/region.component.ts +0 -1
  116. package/lib/infra/root-container/root-container.component.scss +0 -1
  117. package/lib/infra/root-container/root-container.component.ts +1 -5
  118. package/lib/infra/stages/stages.component.html +4 -3
  119. package/lib/infra/stages/stages.component.scss +12 -36
  120. package/lib/infra/stages/stages.component.ts +4 -3
  121. package/lib/infra/view/view.component.html +1 -1
  122. package/lib/infra/view/view.component.ts +3 -7
  123. package/lib/template/advanced-search/advanced-search.component.html +12 -0
  124. package/lib/template/advanced-search/advanced-search.component.scss +0 -0
  125. package/lib/template/advanced-search/advanced-search.component.spec.ts +0 -0
  126. package/lib/template/advanced-search/advanced-search.component.ts +112 -0
  127. package/lib/template/advanced-search/advanced-search.service.ts +27 -0
  128. package/lib/template/advanced-search/search-group/persist-utils.ts +56 -0
  129. package/lib/template/advanced-search/search-groups/search-groups.component.html +32 -0
  130. package/lib/template/advanced-search/search-groups/search-groups.component.scss +0 -0
  131. package/lib/template/advanced-search/search-groups/search-groups.component.spec.ts +0 -0
  132. package/lib/template/advanced-search/search-groups/search-groups.component.ts +294 -0
  133. package/lib/template/advanced-search/search-groups/utils.ts +29 -0
  134. package/lib/template/app-shell/app-shell.component.html +4 -1
  135. package/lib/template/app-shell/app-shell.component.scss +0 -3
  136. package/lib/template/app-shell/app-shell.component.ts +46 -8
  137. package/lib/template/banner-page/banner-page.component.ts +0 -1
  138. package/lib/template/case-summary/case-summary.component.scss +0 -2
  139. package/lib/template/case-summary/case-summary.component.ts +6 -22
  140. package/lib/template/case-view/case-view.component.html +4 -4
  141. package/lib/template/case-view/case-view.component.scss +18 -10
  142. package/lib/template/case-view/case-view.component.ts +1 -11
  143. package/lib/template/confirmation/confirmation.component.html +1 -1
  144. package/lib/template/confirmation/confirmation.component.ts +0 -1
  145. package/lib/template/data-reference/data-reference.component.html +11 -8
  146. package/lib/template/data-reference/data-reference.component.ts +346 -113
  147. package/lib/template/data-reference/search-form/search-form.component.html +39 -0
  148. package/lib/template/data-reference/search-form/search-form.component.scss +11 -0
  149. package/lib/template/data-reference/search-form/search-form.component.spec.ts +0 -0
  150. package/lib/template/data-reference/search-form/search-form.component.ts +167 -0
  151. package/lib/template/data-reference/search-form/tabsData.ts +160 -0
  152. package/lib/template/data-reference/utils.ts +92 -0
  153. package/lib/template/default-form/default-form.component.ts +10 -3
  154. package/lib/template/default-page/default-page.component.html +34 -0
  155. package/lib/template/default-page/default-page.component.scss +31 -0
  156. package/lib/template/default-page/default-page.component.spec.ts +24 -0
  157. package/lib/template/default-page/default-page.component.ts +64 -0
  158. package/lib/template/details/details.component.ts +0 -1
  159. package/lib/template/details-narrow-wide/details-narrow-wide.component.ts +0 -1
  160. package/lib/template/details-one-column/details-one-column.component.ts +0 -1
  161. package/lib/template/details-sub-tabs/details-sub-tabs.component.ts +0 -1
  162. package/lib/template/details-three-column/details-three-column.component.ts +0 -1
  163. package/lib/template/details-two-column/details-two-column.component.ts +0 -1
  164. package/lib/template/details-wide-narrow/details-wide-narrow.component.ts +0 -1
  165. package/lib/template/dynamic-tabs/dynamic-tabs.component.ts +0 -1
  166. package/lib/template/field-group-list/field-group-list.component.scss +0 -1
  167. package/lib/template/field-group-list/field-group-list.component.ts +0 -1
  168. package/lib/template/field-group-template/field-group-template.component.ts +14 -28
  169. package/lib/template/field-value-list/field-value-list.component.ts +0 -1
  170. package/lib/template/inline-dashboard/inline-dashboard.component.ts +0 -1
  171. package/lib/template/inline-dashboard-page/inline-dashboard-page.component.ts +1 -2
  172. package/lib/template/list-page/list-page.component.ts +0 -1
  173. package/lib/template/list-view/list-view.component.html +170 -162
  174. package/lib/template/list-view/list-view.component.scss +25 -21
  175. package/lib/template/list-view/list-view.component.ts +207 -119
  176. package/lib/template/list-view/listViewHelpers.ts +1 -4
  177. package/lib/template/list-view/utils.ts +25 -2
  178. package/lib/template/multi-reference-readonly/multi-reference-readonly.component.ts +0 -1
  179. package/lib/template/narrow-wide-form/narrow-wide-form.component.ts +0 -1
  180. package/lib/template/object-page/object-page.component.html +1 -0
  181. package/lib/template/object-page/object-page.component.scss +0 -0
  182. package/lib/template/object-page/object-page.component.spec.ts +22 -0
  183. package/lib/template/object-page/object-page.component.ts +14 -0
  184. package/lib/template/one-column/one-column.component.ts +0 -1
  185. package/lib/template/one-column-page/one-column-page.component.ts +0 -1
  186. package/lib/template/one-column-tab/one-column-tab.component.scss +1 -1
  187. package/lib/template/one-column-tab/one-column-tab.component.ts +0 -1
  188. package/lib/template/page/page.component.ts +0 -1
  189. package/lib/template/promoted-filters/promoted-filters.component.ts +0 -1
  190. package/lib/template/repeating-structures/repeating-structures.component.ts +0 -2
  191. package/lib/template/self-service-case-view/self-service-case-view.component.html +78 -0
  192. package/lib/template/self-service-case-view/self-service-case-view.component.scss +132 -0
  193. package/lib/template/self-service-case-view/self-service-case-view.component.spec.ts +24 -0
  194. package/lib/template/self-service-case-view/self-service-case-view.component.ts +207 -0
  195. package/lib/template/simple-table/simple-table.component.ts +0 -2
  196. package/lib/template/simple-table-manual/helpers.ts +117 -3
  197. package/lib/template/simple-table-manual/simple-table-manual.component.html +4 -4
  198. package/lib/template/simple-table-manual/simple-table-manual.component.scss +4 -14
  199. package/lib/template/simple-table-manual/simple-table-manual.component.ts +45 -25
  200. package/lib/template/simple-table-select/simple-table-select.component.ts +0 -1
  201. package/lib/template/single-reference-readonly/single-reference-readonly.component.html +4 -1
  202. package/lib/template/single-reference-readonly/single-reference-readonly.component.scss +21 -0
  203. package/lib/template/single-reference-readonly/single-reference-readonly.component.ts +104 -4
  204. package/lib/template/sub-tabs/sub-tabs.component.ts +0 -1
  205. package/lib/template/three-column/three-column.component.ts +0 -1
  206. package/lib/template/three-column-page/three-column-page.component.ts +0 -1
  207. package/lib/template/two-column/two-column.component.ts +0 -1
  208. package/lib/template/two-column-page/two-column-page.component.ts +0 -1
  209. package/lib/template/two-column-tab/two-column-tab.component.ts +0 -1
  210. package/lib/template/utils.ts +42 -0
  211. package/lib/template/wide-narrow-form/wide-narrow-form.component.ts +0 -1
  212. package/lib/template/wide-narrow-page/wide-narrow-page.component.ts +0 -1
  213. package/lib/template/wss-nav-bar/wss-nav-bar.component.html +6 -5
  214. package/lib/template/wss-nav-bar/wss-nav-bar.component.scss +8 -17
  215. package/lib/template/wss-nav-bar/wss-nav-bar.component.ts +1 -9
  216. package/lib/widget/app-announcement/app-announcement.component.html +1 -2
  217. package/lib/widget/app-announcement/app-announcement.component.scss +2 -2
  218. package/lib/widget/app-announcement/app-announcement.component.ts +0 -1
  219. package/lib/widget/attachment/Attachment.types.ts +92 -0
  220. package/lib/widget/attachment/AttachmentUtils.ts +287 -0
  221. package/lib/widget/attachment/attachment.component.html +3 -3
  222. package/lib/widget/attachment/attachment.component.scss +9 -12
  223. package/lib/widget/attachment/attachment.component.ts +267 -254
  224. package/lib/widget/case-history/case-history.component.ts +0 -1
  225. package/lib/widget/feed-container/feed-container.component.scss +3 -9
  226. package/lib/widget/feed-container/feed-container.component.ts +2 -3
  227. package/lib/widget/file-utility/file-utility.component.html +3 -3
  228. package/lib/widget/file-utility/file-utility.component.scss +6 -17
  229. package/lib/widget/file-utility/file-utility.component.ts +24 -9
  230. package/lib/widget/list-utility/list-utility.component.scss +4 -5
  231. package/lib/widget/list-utility/list-utility.component.ts +0 -1
  232. package/lib/widget/quick-create/quick-create.component.ts +41 -23
  233. package/lib/widget/todo/todo.component.html +8 -5
  234. package/lib/widget/todo/todo.component.scss +11 -10
  235. package/lib/widget/todo/todo.component.ts +7 -4
  236. package/lib/widget/utility/utility.component.ts +0 -1
  237. package/package.json +1 -1
@@ -26,7 +26,7 @@ table {
26
26
  ::ng-deep th.mat-mdc-header-cell,
27
27
  td.mat-mdc-cell,
28
28
  td.mat-mdc-footer-cell {
29
- border-right: 1px solid var(--app-neutral-light-color);
29
+ border-right: 1px solid var(--mat-sys-outline-variant);
30
30
  padding: 8px !important;
31
31
  min-width: 10rem;
32
32
  }
@@ -76,13 +76,6 @@ td.mat-mdc-cell:last-child {
76
76
  padding-left: 0.625rem;
77
77
  }
78
78
 
79
- .psdk-icon-search {
80
- vertical-align: sub;
81
- padding: 0rem 0.125rem;
82
- min-width: unset;
83
- width: 1.1rem;
84
- }
85
-
86
79
  .psdk-outer-div-in-form {
87
80
  display: inline-grid;
88
81
  }
@@ -121,7 +114,7 @@ td.mat-mdc-cell:last-child {
121
114
  display: table;
122
115
  margin: auto;
123
116
  min-width: 100px;
124
- background-color: var(--app-form-color);
117
+ background-color: var(--mat-sys-surface-container);
125
118
  border: 1px solid var(--app-inverse-form-color);
126
119
  border-radius: 10px;
127
120
  padding: 20px;
@@ -137,7 +130,6 @@ td.mat-mdc-cell:last-child {
137
130
  align-items: center;
138
131
  height: 100%;
139
132
  width: 100%;
140
- background-color: var(--app-dialog-background-color);
141
133
  position: fixed;
142
134
  z-index: 999;
143
135
  top: 0px;
@@ -148,7 +140,6 @@ td.mat-mdc-cell:last-child {
148
140
  display: table;
149
141
  margin: auto;
150
142
  min-width: 150px;
151
- background-color: var(--app-form-color);
152
143
  border: 1px solid var(--app-inverse-form-color);
153
144
  border-radius: 10px;
154
145
  padding: 20px;
@@ -160,7 +151,6 @@ tr.mat-mdc-row {
160
151
  }
161
152
 
162
153
  tr.mat-mdc-header-row {
163
- background: var(--app-table-header-background-color);
164
154
  }
165
155
 
166
156
  .psdk-data-readonly {
@@ -171,13 +161,13 @@ tr.mat-mdc-header-row {
171
161
  .psdk-no-records {
172
162
  height: 56px;
173
163
  text-align: center;
174
- border: 1px solid var(--app-neutral-light-color);
164
+ border: 1px solid var(--mat-sys-outline-variant);
175
165
  border-top: none;
176
- background: var(--app-form-color);
177
166
  }
178
167
 
179
168
  .psdk-utility-card-action-svg-icon {
180
169
  width: 1.4rem;
170
+ filter: var(--app-primary-color-filter);
181
171
  }
182
172
 
183
173
  .label {
@@ -9,6 +9,7 @@ import { MatMenuModule } from '@angular/material/menu';
9
9
  import { MatOptionModule } from '@angular/material/core';
10
10
  import { MatSelectModule } from '@angular/material/select';
11
11
  import { MatSort, MatSortModule } from '@angular/material/sort';
12
+ import { MatIcon } from '@angular/material/icon';
12
13
  import { MatTableDataSource, MatTableModule } from '@angular/material/table';
13
14
  import isEqual from 'fast-deep-equal';
14
15
 
@@ -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;
@@ -216,7 +218,6 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
216
218
  this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps()) as SimpleTableManualProps;
217
219
 
218
220
  if (this.configProps$.visibility != null) {
219
- // eslint-disable-next-line no-multi-assign
220
221
  this.bVisible$ = this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
221
222
  }
222
223
 
@@ -307,6 +308,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
307
308
  this.defaultView = editModeConfig ? editModeConfig.defaultView : viewForAddAndEditModal;
308
309
  this.bUseSeparateViewForEdit = editModeConfig ? editModeConfig.useSeparateViewForEdit : useSeparateViewForEdit;
309
310
  this.editView = editModeConfig ? editModeConfig.editView : viewForEditModal;
311
+ const primaryFieldsViewIndex = resolvedFields.findIndex(field => field.config.value === 'pyPrimaryFields');
310
312
  // const showDeleteButton = !this.readOnlyMode && !hideDeleteRow;
311
313
 
312
314
  // Nebula has other handling for isReadOnlyMode but has Cosmos-specific code
@@ -317,8 +319,11 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
317
319
  // Nebula does). It will also have the "label", and "meta" contains the original,
318
320
  // unchanged config info. For now, much of the info here is carried over from
319
321
  // Nebula and we may not end up using it all.
320
- this.fieldDefs = buildFieldsForTable(rawFields, resolvedFields, showDeleteButton);
321
-
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));
322
327
  this.initializeDefaultPageInstructions();
323
328
 
324
329
  // end of from Nebula
@@ -334,10 +339,15 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
334
339
  // from from the fieldDefs. This "name" is the value that
335
340
  // we'll share to connect things together in the table.
336
341
 
342
+ const labelsMap = this.fieldDefs.reduce((acc, curr) => {
343
+ return { ...acc, [curr.name]: curr.label };
344
+ }, {});
345
+
337
346
  this.processedFields = [];
338
347
 
339
348
  this.processedFields = resolvedFields.map((field, i) => {
340
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;
341
351
  return field;
342
352
  });
343
353
 
@@ -817,7 +827,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
817
827
  const seen = {};
818
828
  return a.filter(item => {
819
829
  const k = key(item);
820
- // eslint-disable-next-line no-return-assign, no-prototype-builtins
830
+ // eslint-disable-next-line no-prototype-builtins
821
831
  return seen.hasOwnProperty(k) ? false : (seen[k] = true);
822
832
  });
823
833
  }
@@ -908,7 +918,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
908
918
 
909
919
  // return the value that should be shown as the contents for the given row data
910
920
  // of the given row field
911
- getRowValue(inRowData: Object, inColKey: string): any {
921
+ getRowValue(inRowData: object, inColKey: string): any {
912
922
  // See what data (if any) we have to display
913
923
  const refKeys: string[] = inColKey.split('.');
914
924
  let valBuilder = inRowData;
@@ -951,6 +961,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
951
961
  if (this.allowEditingInModal && this.defaultView) {
952
962
  this.pConn$
953
963
  .getActionsApi()
964
+ // @ts-expect-error
954
965
  .openEmbeddedDataModal(
955
966
  this.defaultView,
956
967
  this.pConn$ as any,
@@ -972,6 +983,7 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
972
983
  if (data) {
973
984
  this.pConn$
974
985
  .getActionsApi()
986
+ // @ts-expect-error
975
987
  .openEmbeddedDataModal(
976
988
  this.bUseSeparateViewForEdit ? this.editView : this.defaultView,
977
989
  this.pConn$ as any,
@@ -993,24 +1005,32 @@ export class SimpleTableManualComponent implements OnInit, OnDestroy {
993
1005
  this.referenceList.forEach((element, index) => {
994
1006
  const data: any = [];
995
1007
  this.rawFields?.forEach(item => {
996
- item = {
997
- ...item,
998
- config: { ...item.config, label: '', displayMode: this.readOnlyMode || this.allowEditingInModal ? 'DISPLAY_ONLY' : undefined }
999
- };
1000
- const referenceListData = getReferenceList(this.pConn$);
1001
- const isDatapage = referenceListData.startsWith('D_');
1002
- const pageReferenceValue = isDatapage ? `${referenceListData}[${index}]` : `${this.pConn$.getPageReference()}${referenceListData}[${index}]`;
1003
- const config = {
1004
- meta: item,
1005
- options: {
1006
- context,
1007
- pageReference: pageReferenceValue,
1008
- referenceList: referenceListData,
1009
- hasForm: true
1010
- }
1011
- };
1012
- const view = PCore.createPConnect(config);
1013
- data.push(view);
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
+ }
1014
1034
  });
1015
1035
  eleData.push(data);
1016
1036
  });
@@ -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
- <component-mapper name="SemanticLink" [props]="{ pConn$ }"></component-mapper>
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 { Component, Input, forwardRef } from '@angular/core';
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
- standalone: true,
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 {
@@ -37,3 +37,45 @@ export const evaluateAllowRowAction = (allowRowDelete, rowData) => {
37
37
  }
38
38
  return false;
39
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 {
@@ -1,21 +1,23 @@
1
- <mat-toolbar style="margin-bottom: 5px; background-color: #262626">
1
+ <mat-toolbar>
2
2
  <mat-toolbar-row mat-icon-button>
3
3
  <div class="psdk-nav-header" (click)="navPanelButtonClick(homePage)">
4
4
  <div>
5
5
  <img src="{{ portalLogoImage$ }}" class="psdk-nav-logo" />
6
6
  </div>
7
7
  <div class="psdk-nav-portal-info">
8
- <div class="psdk-nav-portal-app">{{ portalApp$ }}</div>
8
+ <div class="psdk-nav-portal-app">{{ appName$ }}</div>
9
9
  </div>
10
10
  </div>
11
11
 
12
+ <span class="spacer"></span>
13
+
12
14
  <div *ngFor="let page of navPages$">
13
- <div class="flex-box mat-list-item" style="cursor: pointer" (click)="navPanelButtonClick(page)">
15
+ <div class="flex-box mat-list-item" style="cursor: pointer; font-size: 1rem; text-transform: capitalize" (click)="navPanelButtonClick(page)">
14
16
  <div mat-button class="psdk-nav-button-span">{{ page.pyLabel }}</div>
15
17
  </div>
16
18
  </div>
17
19
 
18
- <span class="spacer"></span>
20
+ <!-- <span class="spacer"></span> -->
19
21
 
20
22
  <mat-list>
21
23
  <mat-list-item [matMenuTriggerFor]="menu" class="psdk-profile-list-item">
@@ -24,7 +26,6 @@
24
26
  </div>
25
27
  </mat-list-item>
26
28
  <mat-menu #menu="matMenu">
27
- <button mat-menu-item>Profile</button>
28
29
  <button mat-menu-item (click)="navPanelLogoutClick()">{{ localizedVal('Log off', localeCategory) }}</button>
29
30
  </mat-menu>
30
31
  </mat-list>
@@ -15,16 +15,12 @@
15
15
  padding-top: 0.625rem;
16
16
  cursor: pointer;
17
17
  padding-right: 1rem;
18
- &:hover {
19
- background-color: var(--app-neutral-color);
20
- }
21
18
  align-items: center;
22
19
  }
23
20
 
24
21
  .psdk-nav-logo {
25
- width: 3.75rem;
26
- padding: 0.625rem;
27
- margin-right: 1.25rem;
22
+ max-width: 100%;
23
+ height: 3rem;
28
24
  }
29
25
 
30
26
  .psdk-nav-svg-icon {
@@ -108,14 +104,11 @@
108
104
 
109
105
  .psdk-nav-button-span {
110
106
  padding: 0 1rem;
111
- color: var(--app-nav-color);
112
-
113
- &:hover {
114
- background-color: var(--app-neutral-color);
115
- }
116
107
  }
117
108
 
118
109
  .psdk-nav-oper-avatar {
110
+ border-radius: 100%;
111
+ background-color: var(--mat-sys-primary);
119
112
  margin: 0rem;
120
113
  padding: 0rem;
121
114
  min-width: 2.5rem;
@@ -127,12 +120,14 @@
127
120
  align-items: center;
128
121
  text-align: center;
129
122
  display: inline-flex;
130
- background: var(--app-neutral-color);
131
- color: var(--app-form-color);
132
123
  font-weight: normal;
133
124
  font-size: 1rem;
134
125
  }
135
126
 
127
+ mat-toolbar {
128
+ background-color: var(--mat-sys-surface-variant);
129
+ }
130
+
136
131
  mat-list {
137
132
  padding: 0;
138
133
  }
@@ -147,10 +142,6 @@ mat-list-item {
147
142
  cursor: pointer !important;
148
143
  height: auto !important;
149
144
 
150
- &:hover {
151
- // background-color: rgba(0, 0, 0, 0.5);
152
- }
153
-
154
145
  .flex-box {
155
146
  display: flex;
156
147
  align-items: center;
@@ -19,7 +19,6 @@ interface WssNavBarProps {
19
19
  templateUrl: './wss-nav-bar.component.html',
20
20
  styleUrls: ['./wss-nav-bar.component.scss'],
21
21
  providers: [Utils],
22
- standalone: true,
23
22
  imports: [CommonModule, MatListModule, MatMenuModule, MatIconModule, MatToolbarModule]
24
23
  })
25
24
  export class WssNavBarComponent implements OnInit, OnDestroy {
@@ -28,6 +27,7 @@ export class WssNavBarComponent implements OnInit, OnDestroy {
28
27
  @Input() pages$: any[];
29
28
  @Input() caseTypes$: any[];
30
29
  @Input() homePage: any;
30
+ @Input() portalLogoImage$: string;
31
31
 
32
32
  // For interaction with AngularPConnect
33
33
  angularPConnectData: AngularPConnectData = {};
@@ -37,10 +37,6 @@ export class WssNavBarComponent implements OnInit, OnDestroy {
37
37
  navExpandCollapse$: string;
38
38
  bShowCaseTypes$ = false;
39
39
 
40
- portalApp$: string | undefined = '';
41
- portalLogoImage$: string;
42
- showAppName$ = false;
43
-
44
40
  portalOperator$: string | undefined;
45
41
  portalOperatorInitials$: string;
46
42
 
@@ -127,12 +123,8 @@ export class WssNavBarComponent implements OnInit, OnDestroy {
127
123
 
128
124
  // const oData = this.pConn$.getDataObject();
129
125
 
130
- this.portalLogoImage$ = this.utils.getSDKStaticContentUrl().concat('assets/pzpega-logo-mark.svg');
131
126
  this.portalOperator$ = PCore.getEnvironmentInfo().getOperatorName();
132
127
  this.portalOperatorInitials$ = this.utils.getInitials(this.portalOperator$ ?? '');
133
- this.showAppName$ = this.configProps$.showAppName;
134
-
135
- this.portalApp$ = PCore.getEnvironmentInfo().getApplicationLabel();
136
128
  });
137
129
  }
138
130
 
@@ -3,11 +3,10 @@
3
3
  <div>
4
4
  <p>{{ configProps$.description }}</p>
5
5
  <div>
6
- <h3>{{ configProps$.label }}</h3>
7
6
  <ul>
8
7
  <li *ngFor="let detail of details$">{{ detail }}</li>
9
8
  </ul>
10
9
  </div>
11
10
  </div>
12
- <a *ngIf="configProps$.whatsnewlink != ''" mat-raised-button color="primary" [href]="configProps$.whatsnewlink">See what's new</a>
11
+ <a *ngIf="configProps$.whatsnewlink != ''" mat-raised-button [href]="configProps$.whatsnewlink">See what's new</a>
13
12
  </article>
@@ -10,10 +10,10 @@ ul {
10
10
  padding-inline-start: 20px;
11
11
  }
12
12
  .psdk-announcement {
13
- background-color: var(--app-form-color);
13
+ background-color: var(--mat-sys-surface-container);
14
14
  padding: 1rem;
15
15
  margin: 1rem 0;
16
16
  border-radius: 0.6125rem;
17
17
  border-left: 6px solid;
18
- border-left-color: var(--app-primary-color);
18
+ border-left-color: var(--mat-sys-primary);
19
19
  }