@pega/angular-sdk-overrides 25.1.12 → 26.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.
Files changed (168) hide show
  1. package/lib/designSystemExtension/alert/alert.component.html +4 -1
  2. package/lib/designSystemExtension/alert/alert.component.scss +9 -10
  3. package/lib/designSystemExtension/alert/alert.component.ts +6 -2
  4. package/lib/designSystemExtension/field-group/field-group.component.ts +11 -3
  5. package/lib/designSystemExtension/material-case-summary/material-case-summary.component.html +51 -36
  6. package/lib/designSystemExtension/material-case-summary/material-case-summary.component.scss +12 -0
  7. package/lib/designSystemExtension/material-case-summary/material-case-summary.component.ts +11 -0
  8. package/lib/designSystemExtension/operator/operator.component.html +5 -3
  9. package/lib/designSystemExtension/operator/operator.component.scss +7 -0
  10. package/lib/designSystemExtension/operator/operator.component.ts +2 -1
  11. package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.html +100 -10
  12. package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.scss +141 -1
  13. package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.spec.ts +1 -1
  14. package/lib/designSystemExtension/rich-text-editor/rich-text-editor.component.ts +240 -72
  15. package/lib/field/auto-complete/auto-complete.component.html +46 -5
  16. package/lib/field/auto-complete/auto-complete.component.scss +92 -0
  17. package/lib/field/auto-complete/auto-complete.component.ts +350 -23
  18. package/lib/field/cancel-alert/cancel-alert.component.ts +38 -15
  19. package/lib/field/check-box/check-box.component.html +8 -6
  20. package/lib/field/check-box/check-box.component.ts +9 -2
  21. package/lib/field/currency/currency.component.html +2 -1
  22. package/lib/field/currency/currency.component.ts +10 -1
  23. package/lib/field/date/date.component.html +2 -1
  24. package/lib/field/date/date.component.ts +2 -0
  25. package/lib/field/date-time/date-time.component.html +2 -1
  26. package/lib/field/date-time/date-time.component.scss +46 -40
  27. package/lib/field/date-time/date-time.component.ts +29 -0
  28. package/lib/field/decimal/decimal.component.html +2 -1
  29. package/lib/field/decimal/decimal.component.ts +2 -0
  30. package/lib/field/dropdown/dropdown.component.html +4 -1
  31. package/lib/field/dropdown/dropdown.component.ts +18 -19
  32. package/lib/field/email/email.component.html +2 -1
  33. package/lib/field/email/email.component.ts +2 -2
  34. package/lib/field/embedded-data-multi/embedded-data-multi.component.html +3 -0
  35. package/lib/field/embedded-data-multi/embedded-data-multi.component.scss +0 -0
  36. package/lib/field/embedded-data-multi/embedded-data-multi.component.ts +173 -0
  37. package/lib/field/field.base.ts +27 -1
  38. package/lib/field/group/group.component.html +1 -1
  39. package/lib/field/group/group.component.ts +16 -7
  40. package/lib/field/integer/integer.component.html +2 -1
  41. package/lib/field/integer/integer.component.ts +4 -2
  42. package/lib/field/location/location.component.html +2 -1
  43. package/lib/field/location/location.component.ts +3 -1
  44. package/lib/field/multiselect/multiselect.component.html +1 -1
  45. package/lib/field/multiselect/multiselect.component.ts +23 -4
  46. package/lib/field/multiselect/utils.ts +5 -3
  47. package/lib/field/object-reference/object-reference.component.html +30 -15
  48. package/lib/field/object-reference/object-reference.component.ts +818 -94
  49. package/lib/field/percentage/percentage.component.html +2 -1
  50. package/lib/field/percentage/percentage.component.ts +10 -1
  51. package/lib/field/phone/phone.component.html +2 -1
  52. package/lib/field/phone/phone.component.ts +2 -1
  53. package/lib/field/radio-buttons/radio-buttons.component.html +2 -1
  54. package/lib/field/radio-buttons/radio-buttons.component.ts +10 -1
  55. package/lib/field/rich-text/rich-text.component.scss +1 -166
  56. package/lib/field/rich-text/rich-text.component.spec.ts +1 -1
  57. package/lib/field/rich-text/rich-text.component.ts +1 -1
  58. package/lib/field/selectable-card/selectable-card.component.html +1 -0
  59. package/lib/field/selectable-card/selectable-card.component.ts +31 -16
  60. package/lib/field/semantic-link/semantic-link.component.html +1 -1
  61. package/lib/field/semantic-link/semantic-link.component.scss +4 -0
  62. package/lib/field/semantic-link/semantic-link.component.ts +13 -7
  63. package/lib/field/text-area/text-area.component.html +2 -1
  64. package/lib/field/text-area/text-area.component.ts +2 -1
  65. package/lib/field/text-input/text-input.component.html +2 -1
  66. package/lib/field/text-input/text-input.component.ts +2 -1
  67. package/lib/field/time/time.component.html +2 -1
  68. package/lib/field/time/time.component.ts +2 -1
  69. package/lib/field/url/url.component.html +2 -1
  70. package/lib/field/url/url.component.ts +2 -1
  71. package/lib/field/user-reference/user-reference.component.html +4 -2
  72. package/lib/field/user-reference/user-reference.component.ts +11 -6
  73. package/lib/infra/Containers/flow-container/flow-container.component.html +2 -2
  74. package/lib/infra/Containers/flow-container/flow-container.component.ts +34 -42
  75. package/lib/infra/Containers/modal-view-container/data-view-action-buttons/data-view-action-buttons.component.html +12 -0
  76. package/lib/infra/Containers/modal-view-container/data-view-action-buttons/data-view-action-buttons.component.spec.ts +130 -0
  77. package/lib/infra/Containers/modal-view-container/data-view-action-buttons/data-view-action-buttons.component.ts +77 -0
  78. package/lib/infra/Containers/modal-view-container/modal-view-container.component.html +35 -8
  79. package/lib/infra/Containers/modal-view-container/modal-view-container.component.ts +185 -196
  80. package/lib/infra/Containers/view-container/view-container.component.html +1 -1
  81. package/lib/infra/Containers/view-container/view-container.component.ts +36 -43
  82. package/lib/infra/assignment/assignment.component.html +2 -1
  83. package/lib/infra/assignment/assignment.component.ts +44 -22
  84. package/lib/infra/assignment-card/assignment-card.component.html +1 -0
  85. package/lib/infra/assignment-card/assignment-card.component.ts +2 -8
  86. package/lib/infra/defer-load/defer-load.component.ts +7 -5
  87. package/lib/infra/multi-step/multi-step.component.html +25 -33
  88. package/lib/infra/multi-step/multi-step.component.scss +67 -125
  89. package/lib/infra/multi-step/multi-step.component.ts +11 -0
  90. package/lib/infra/navbar/navbar.component.ts +33 -36
  91. package/lib/infra/reference/reference.component.html +7 -1
  92. package/lib/infra/reference/reference.component.ts +63 -109
  93. package/lib/infra/region/region.component.ts +1 -3
  94. package/lib/infra/root-container/root-container.component.html +1 -0
  95. package/lib/infra/root-container/root-container.component.ts +34 -42
  96. package/lib/infra/view/view.component.ts +22 -46
  97. package/lib/template/advanced-search/advanced-search.component.ts +0 -1
  98. package/lib/template/advanced-search/search-groups/search-groups.component.ts +2 -3
  99. package/lib/template/app-shell/app-shell.component.ts +13 -13
  100. package/lib/template/banner-page/banner-page.component.ts +1 -2
  101. package/lib/template/base/details-template-base.ts +41 -14
  102. package/lib/template/base/form-template-base.ts +0 -2
  103. package/lib/template/case-summary/case-summary.component.ts +15 -7
  104. package/lib/template/case-view/case-view.component.html +14 -2
  105. package/lib/template/case-view/case-view.component.spec.ts +119 -10
  106. package/lib/template/case-view/case-view.component.ts +52 -3
  107. package/lib/template/data-reference/data-reference.component.ts +29 -22
  108. package/lib/template/data-reference/search-form/search-form.component.html +1 -1
  109. package/lib/template/data-reference/search-form/search-form.component.ts +9 -1
  110. package/lib/template/data-reference/search-form/tabsData.ts +0 -1
  111. package/lib/template/default-form/default-form.component.html +20 -4
  112. package/lib/template/default-form/default-form.component.ts +14 -5
  113. package/lib/template/default-page/default-page.component.ts +1 -2
  114. package/lib/template/details/details.component.html +23 -3
  115. package/lib/template/details/details.component.scss +9 -2
  116. package/lib/template/details/details.component.ts +3 -70
  117. package/lib/template/details-narrow-wide/details-narrow-wide.component.html +21 -2
  118. package/lib/template/details-narrow-wide/details-narrow-wide.component.scss +8 -1
  119. package/lib/template/details-narrow-wide/details-narrow-wide.component.ts +3 -39
  120. package/lib/template/details-one-column/details-one-column.component.html +23 -1
  121. package/lib/template/details-one-column/details-one-column.component.scss +14 -0
  122. package/lib/template/details-one-column/details-one-column.component.ts +3 -40
  123. package/lib/template/details-three-column/details-three-column.component.html +21 -2
  124. package/lib/template/details-three-column/details-three-column.component.scss +8 -1
  125. package/lib/template/details-three-column/details-three-column.component.ts +3 -48
  126. package/lib/template/details-two-column/details-two-column.component.html +21 -2
  127. package/lib/template/details-two-column/details-two-column.component.scss +8 -1
  128. package/lib/template/details-two-column/details-two-column.component.ts +3 -46
  129. package/lib/template/details-wide-narrow/details-wide-narrow.component.html +21 -2
  130. package/lib/template/details-wide-narrow/details-wide-narrow.component.scss +8 -1
  131. package/lib/template/details-wide-narrow/details-wide-narrow.component.ts +3 -43
  132. package/lib/template/dynamic-tabs/dynamic-tabs.component.html +1 -0
  133. package/lib/template/field-group-template/field-group-template.component.ts +19 -6
  134. package/lib/template/field-value-list/field-value-list.component.scss +17 -0
  135. package/lib/template/inline-dashboard-page/inline-dashboard-page.component.ts +2 -10
  136. package/lib/template/list-view/list-view.component.ts +47 -11
  137. package/lib/template/one-column/one-column.component.html +3 -0
  138. package/lib/template/one-column-tab/one-column-tab.component.html +1 -0
  139. package/lib/template/page/page.component.html +1 -0
  140. package/lib/template/self-service-case-view/self-service-case-view.component.html +13 -1
  141. package/lib/template/self-service-case-view/self-service-case-view.component.spec.ts +96 -11
  142. package/lib/template/self-service-case-view/self-service-case-view.component.ts +52 -3
  143. package/lib/template/simple-table/simple-table.component.ts +11 -1
  144. package/lib/template/simple-table-manual/helpers.ts +84 -16
  145. package/lib/template/simple-table-manual/simple-table-manual.component.html +30 -14
  146. package/lib/template/simple-table-manual/simple-table-manual.component.scss +8 -2
  147. package/lib/template/simple-table-manual/simple-table-manual.component.ts +142 -46
  148. package/lib/template/single-reference-readonly/single-reference-readonly.component.html +0 -0
  149. package/lib/template/single-reference-readonly/single-reference-readonly.component.scss +2 -3
  150. package/lib/template/single-reference-readonly/single-reference-readonly.component.ts +7 -8
  151. package/lib/template/wide-narrow-page/wide-narrow-page.component.ts +0 -3
  152. package/lib/template/wss-nav-bar/wss-nav-bar.component.ts +19 -21
  153. package/lib/widget/attachment/AttachmentUtils.ts +19 -11
  154. package/lib/widget/attachment/attachment.component.html +16 -6
  155. package/lib/widget/attachment/attachment.component.ts +14 -4
  156. package/lib/widget/case-history/case-history.component.ts +6 -2
  157. package/lib/widget/feed-container/feed-container.component.ts +1 -199
  158. package/lib/widget/file-utility/file-utility.component.ts +26 -30
  159. package/lib/widget/todo/todo.component.ts +7 -2
  160. package/package.json +2 -2
  161. package/lib/designSystemExtension/material-details/material-details.component.html +0 -40
  162. package/lib/designSystemExtension/material-details/material-details.component.scss +0 -116
  163. package/lib/designSystemExtension/material-details/material-details.component.spec.ts +0 -24
  164. package/lib/designSystemExtension/material-details/material-details.component.ts +0 -31
  165. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.html +0 -29
  166. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.scss +0 -34
  167. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.spec.ts +0 -22
  168. package/lib/designSystemExtension/material-details-fields/material-details-fields.component.ts +0 -37
@@ -1,7 +1,6 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, forwardRef, Input, OnInit } from '@angular/core';
2
+ import { Component, forwardRef, Input, OnDestroy, OnInit } from '@angular/core';
3
3
  import { FormGroup } from '@angular/forms';
4
- import { ReferenceComponent } from '@pega/angular-sdk-components';
5
4
  import { AngularPConnectData, AngularPConnectService } from '@pega/angular-sdk-components';
6
5
  import { ComponentMapperComponent } from '@pega/angular-sdk-components';
7
6
  import { PConnFieldProps } from '@pega/angular-sdk-components';
@@ -11,7 +10,7 @@ interface GroupProps extends PConnFieldProps {
11
10
  showHeading: boolean;
12
11
  heading: string;
13
12
  instructions: string;
14
- collapsible: boolean;
13
+ collapseOnLoad?: 'none' | 'expanded' | 'collapsed';
15
14
  }
16
15
 
17
16
  @Component({
@@ -20,7 +19,7 @@ interface GroupProps extends PConnFieldProps {
20
19
  styleUrls: ['./group.component.scss'],
21
20
  imports: [CommonModule, forwardRef(() => ComponentMapperComponent)]
22
21
  })
23
- export class GroupComponent implements OnInit {
22
+ export class GroupComponent implements OnInit, OnDestroy {
24
23
  @Input() pConn$: typeof PConnect;
25
24
  @Input() formGroup$: FormGroup;
26
25
 
@@ -33,7 +32,6 @@ export class GroupComponent implements OnInit {
33
32
  showHeading$?: boolean;
34
33
  heading$: string;
35
34
  instructions$: string;
36
- collapsible$: boolean;
37
35
 
38
36
  constructor(private angularPConnect: AngularPConnectService) {}
39
37
 
@@ -43,6 +41,12 @@ export class GroupComponent implements OnInit {
43
41
  this.checkAndUpdate();
44
42
  }
45
43
 
44
+ additionalProps() {
45
+ return {
46
+ visibility: this.pConn$.getComputedVisibility()
47
+ };
48
+ }
49
+
46
50
  // Callback passed when subscribing to store change
47
51
  onStateChange() {
48
52
  this.checkAndUpdate();
@@ -64,12 +68,11 @@ export class GroupComponent implements OnInit {
64
68
  */
65
69
  updateSelf(): void {
66
70
  this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps()) as GroupProps;
67
- this.arChildren$ = ReferenceComponent.normalizePConnArray(this.pConn$.getChildren());
71
+ this.arChildren$ = this.pConn$.getChildren();
68
72
  this.visibility$ = this.configProps$.visibility;
69
73
  this.showHeading$ = this.configProps$.showHeading;
70
74
  this.heading$ = this.configProps$.heading;
71
75
  this.instructions$ = this.configProps$.instructions;
72
- this.collapsible$ = this.configProps$.collapsible;
73
76
 
74
77
  if (this.configProps$.visibility === undefined) {
75
78
  this.visibility$ = this.pConn$.getComputedVisibility();
@@ -87,4 +90,10 @@ export class GroupComponent implements OnInit {
87
90
  });
88
91
  }
89
92
  }
93
+
94
+ ngOnDestroy(): void {
95
+ if (this.angularPConnectData.unsubscribeFn) {
96
+ this.angularPConnectData.unsubscribeFn();
97
+ }
98
+ }
90
99
  }
@@ -4,7 +4,7 @@
4
4
  <ng-template #noDisplayMode>
5
5
  <div *ngIf="!bReadonly$ && bHasForm$; else noEdit">
6
6
  <div [formGroup]="formGroup$" *ngIf="bVisible$">
7
- <mat-form-field class="psdk-full-width" subscriptSizing="dynamic" [hintLabel]="helperText">
7
+ <mat-form-field class="psdk-full-width" subscriptSizing="dynamic">
8
8
  <mat-label>{{ label$ }}</mat-label>
9
9
  <input
10
10
  matInput
@@ -18,6 +18,7 @@
18
18
  (change)="fieldOnChange($event)"
19
19
  (blur)="fieldOnBlur($event)"
20
20
  />
21
+ <mat-hint *ngIf="helperText" [appFieldWarning]="bFieldMessageVisible$">{{ helperText }}</mat-hint>
21
22
  <mat-error *ngIf="fieldControl.invalid">{{ getErrorMessage() }}</mat-error>
22
23
  </mat-form-field>
23
24
  </div>
@@ -5,6 +5,7 @@ import { MatInputModule } from '@angular/material/input';
5
5
  import { MatFormFieldModule } from '@angular/material/form-field';
6
6
 
7
7
  import { FieldBase } from '@pega/angular-sdk-components';
8
+ import { FieldWarningDirective } from '@pega/angular-sdk-components';
8
9
  import { ComponentMapperComponent } from '@pega/angular-sdk-components';
9
10
  import { handleEvent } from '@pega/angular-sdk-components';
10
11
  import { PConnFieldProps } from '@pega/angular-sdk-components';
@@ -17,7 +18,7 @@ interface IntegerProps extends PConnFieldProps {
17
18
  selector: 'app-integer',
18
19
  templateUrl: './integer.component.html',
19
20
  styleUrls: ['./integer.component.scss'],
20
- imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, forwardRef(() => ComponentMapperComponent)]
21
+ imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, FieldWarningDirective, forwardRef(() => ComponentMapperComponent)]
21
22
  })
22
23
  export class IntegerComponent extends FieldBase {
23
24
  configProps$: IntegerProps;
@@ -57,7 +58,8 @@ export class IntegerComponent extends FieldBase {
57
58
 
58
59
  if (isValueChanged) {
59
60
  const value = event?.target?.value;
60
- handleEvent(this.actionsApi, 'changeNblur', this.propName, value);
61
+ const normalizedValue = value === '' ? '' : Number(value);
62
+ handleEvent(this.actionsApi, 'changeNblur', this.propName, normalizedValue);
61
63
  }
62
64
  }
63
65
  }
@@ -1,6 +1,6 @@
1
1
  <div *ngIf="mapReady && bVisible$">
2
2
  <!-- Google suggestions -->
3
- <mat-form-field class="psdk-full-width" [hintLabel]="helperText">
3
+ <mat-form-field class="psdk-full-width">
4
4
  <mat-label>{{ label$ }}</mat-label>
5
5
  <input
6
6
  matInput
@@ -14,6 +14,7 @@
14
14
  (blur)="fieldOnBlur()"
15
15
  />
16
16
  <mat-error *ngIf="fieldControl.invalid">{{ getErrorMessage() }}</mat-error>
17
+ <mat-hint *ngIf="helperText" [appFieldWarning]="bFieldMessageVisible$">{{ helperText }}</mat-hint>
17
18
  <button
18
19
  mat-icon-button
19
20
  matSuffix
@@ -11,6 +11,7 @@ import { GoogleMapsModule } from '@angular/google-maps';
11
11
  import { debounceTime, from, of, switchMap } from 'rxjs';
12
12
 
13
13
  import { FieldBase } from '@pega/angular-sdk-components';
14
+ import { FieldWarningDirective } from '@pega/angular-sdk-components';
14
15
  import { GoogleMapsLoaderService } from '@pega/angular-sdk-components';
15
16
  import { handleEvent } from '@pega/angular-sdk-components';
16
17
 
@@ -34,7 +35,8 @@ interface LocationProps extends PConnFieldProps {
34
35
  MatIconModule,
35
36
  MatInputModule,
36
37
  MatProgressSpinnerModule,
37
- ReactiveFormsModule
38
+ ReactiveFormsModule,
39
+ FieldWarningDirective
38
40
  ],
39
41
  templateUrl: './location.component.html',
40
42
  styleUrl: './location.component.scss'
@@ -1,7 +1,7 @@
1
1
  <div [formGroup]="formGroup$">
2
2
  <mat-form-field class="psdk-full-width" subscriptSizing="dynamic">
3
3
  <mat-label>{{ label$ }}</mat-label>
4
- <mat-chip-grid #chipGrid>
4
+ <mat-chip-grid #chipGrid [required]="bRequired$">
5
5
  <ng-container *ngFor="let select of selectedItems">
6
6
  <mat-chip-row (removed)="removeChip(select)">
7
7
  {{ select.primary }}
@@ -90,14 +90,33 @@ export class MultiselectComponent extends FieldBase {
90
90
  key: 'true'
91
91
  }
92
92
  ];
93
- let secondaryColumns: any = [];
94
- if (secondaryFields) {
95
- secondaryColumns = secondaryFields.map(secondaryField => ({
96
- value: secondaryField,
93
+ let secondaryColumns: any;
94
+ // Read columnsFormatter from raw (unresolved) metadata to get field property paths
95
+ // (e.g. "@P .pyLabel") instead of resolved data values (e.g. "New Complex Fields").
96
+ // This matches Constellation's approach: pConn.getRawMetadata()?.config?.columnsFormatter
97
+ const columnsFormatter = (this.pConn$.getRawMetadata()?.config as any)?.columnsFormatter;
98
+ const secondaryFieldsFromFormatter = columnsFormatter
99
+ ? columnsFormatter
100
+ .map(item => {
101
+ const property = item?.config?.value;
102
+ if (typeof property === 'string') {
103
+ if (property.startsWith('@USER ')) return property.substring(6);
104
+ if (property.startsWith('@P ')) return property.substring(3);
105
+ return property;
106
+ }
107
+ return undefined;
108
+ })
109
+ .filter(Boolean)
110
+ : undefined;
111
+ const updatedSecondaryFields = secondaryFieldsFromFormatter || secondaryFields;
112
+ if (updatedSecondaryFields) {
113
+ secondaryColumns = updatedSecondaryFields.map(secondaryField => ({
114
+ value: typeof secondaryField === 'string' ? secondaryField : undefined,
97
115
  display: 'true',
98
116
  secondary: 'true',
99
117
  useForSearch: 'true'
100
118
  }));
119
+ secondaryColumns = secondaryColumns.filter(col => col.value);
101
120
  } else {
102
121
  secondaryColumns = [
103
122
  {
@@ -11,9 +11,11 @@ export function setVisibilityForList(c11nEnv, visibility) {
11
11
  function preProcessColumns(columns) {
12
12
  return columns?.map(col => {
13
13
  const tempColObj = { ...col };
14
- tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;
15
- if (tempColObj.setProperty) {
16
- tempColObj.setProperty = col.setProperty && col.setProperty.startsWith('.') ? col.setProperty.substring(1) : col.setProperty;
14
+ if (typeof col.value === 'string') {
15
+ tempColObj.value = col.value.startsWith('.') ? col.value.substring(1) : col.value;
16
+ }
17
+ if (typeof col.setProperty === 'string') {
18
+ tempColObj.setProperty = col.setProperty.startsWith('.') ? col.setProperty.substring(1) : col.setProperty;
17
19
  }
18
20
  return tempColObj;
19
21
  });
@@ -1,17 +1,32 @@
1
- <div *ngIf="isDisplayModeEnabled && !canBeChangedInReviewMode; else semanticLinkCheck">
2
- <component-mapper name="SingleReferenceReadOnly" [props]="{ pConn$ }"></component-mapper>
3
- </div>
4
- <ng-template #semanticLinkCheck>
5
- <div *ngIf="type === 'SemanticLink' && !canBeChangedInReviewMode; else loadDynamicComp">
1
+ <ng-container *ngIf="bVisible$" [ngSwitch]="renderMode">
2
+ <!-- SingleReferenceReadOnly mode -->
3
+ <div *ngSwitchCase="'singleReferenceReadonly'">
4
+ <component-mapper name="SingleReferenceReadOnly" [props]="{ pConn$, dataRelationshipContext }"></component-mapper>
5
+ </div>
6
+
7
+ <!-- MultiReferenceReadonly mode -->
8
+ <div *ngSwitchCase="'multiReferenceReadonly'">
9
+ <component-mapper name="MultiReferenceReadOnly" [props]="{ pConn$ }"></component-mapper>
10
+ </div>
11
+
12
+ <!-- SemanticLink mode -->
13
+ <div *ngSwitchCase="'semanticLink'">
6
14
  <component-mapper name="SemanticLink" [props]="{ pConn$: newPconn }"></component-mapper>
7
15
  </div>
8
- </ng-template>
9
- <ng-template #loadDynamicComp>
10
- <component-mapper
11
- *ngIf="newComponentName"
12
- [name]="newComponentName"
13
- [props]="{ pConn$: newPconn, formGroup$ }"
14
- [parent]="this"
15
- [outputEvents]="{ onRecordChange: onRecordChange }"
16
- ></component-mapper>
17
- </ng-template>
16
+
17
+ <!-- SearchAndSelect mode -->
18
+ <div *ngSwitchCase="'searchAndSelect'">
19
+ <component-mapper name="SearchForm" [props]="{ pConn$, formGroup$, searchSelectCacheKey, type: 'ObjectReference' }"></component-mapper>
20
+ </div>
21
+
22
+ <!-- Dynamic component mode (Cards, Map, CheckboxGroup, Table, Multiselect, Dropdown, AutoComplete, etc.) -->
23
+ <div *ngSwitchCase="'dynamicComponent'">
24
+ <component-mapper
25
+ *ngIf="newComponentName"
26
+ [name]="newComponentName"
27
+ [props]="{ pConn$: newPconn, formGroup$ }"
28
+ [parent]="this"
29
+ [outputEvents]="useOutputEvents ? { onRecordChange: onRecordChange } : undefined"
30
+ ></component-mapper>
31
+ </div>
32
+ </ng-container>