@pega/react-sdk-components 0.25.3 → 0.25.5

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 (90) hide show
  1. package/lib/components/designSystemExtension/Banner/Banner.d.ts.map +1 -1
  2. package/lib/components/designSystemExtension/Banner/Banner.js +1 -1
  3. package/lib/components/designSystemExtension/Banner/Banner.js.map +1 -1
  4. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  5. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js +29 -25
  6. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js.map +1 -1
  7. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.css +6 -13
  8. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.d.ts.map +1 -1
  9. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +11 -1
  10. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
  11. package/lib/components/field/Group/Group.d.ts.map +1 -1
  12. package/lib/components/field/Group/Group.js +2 -1
  13. package/lib/components/field/Group/Group.js.map +1 -1
  14. package/lib/components/field/Location/Location.css +4 -0
  15. package/lib/components/field/Location/Location.d.ts +1 -0
  16. package/lib/components/field/Location/Location.d.ts.map +1 -1
  17. package/lib/components/field/Location/Location.js +1 -0
  18. package/lib/components/field/Location/Location.js.map +1 -1
  19. package/lib/components/field/RadioButtons/RadioButtons.js +1 -1
  20. package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
  21. package/lib/components/field/RichText/RichText.css +79 -0
  22. package/lib/components/field/RichText/RichText.d.ts +1 -0
  23. package/lib/components/field/RichText/RichText.d.ts.map +1 -1
  24. package/lib/components/field/RichText/RichText.js +1 -0
  25. package/lib/components/field/RichText/RichText.js.map +1 -1
  26. package/lib/components/field/SelectableCard/SelectableCard.js +2 -2
  27. package/lib/components/field/SelectableCard/SelectableCard.js.map +1 -1
  28. package/lib/components/field/UserReference/UserReference.d.ts.map +1 -1
  29. package/lib/components/field/UserReference/UserReference.js +1 -1
  30. package/lib/components/field/UserReference/UserReference.js.map +1 -1
  31. package/lib/components/helpers/simpleTableHelpers.js +1 -1
  32. package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
  33. package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
  34. package/lib/components/infra/Assignment/Assignment.js +29 -24
  35. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  36. package/lib/components/infra/MultiStep/MultiStep.css +44 -64
  37. package/lib/components/infra/MultiStep/MultiStep.d.ts.map +1 -1
  38. package/lib/components/infra/MultiStep/MultiStep.js +18 -36
  39. package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
  40. package/lib/components/infra/View/View.d.ts.map +1 -1
  41. package/lib/components/infra/View/View.js +2 -1
  42. package/lib/components/infra/View/View.js.map +1 -1
  43. package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
  44. package/lib/components/template/AppShell/AppShell.js +2 -4
  45. package/lib/components/template/AppShell/AppShell.js.map +1 -1
  46. package/lib/components/template/CaseSummary/CaseSummary.d.ts +2 -0
  47. package/lib/components/template/CaseSummary/CaseSummary.d.ts.map +1 -1
  48. package/lib/components/template/CaseSummary/CaseSummary.js +2 -68
  49. package/lib/components/template/CaseSummary/CaseSummary.js.map +1 -1
  50. package/lib/components/template/CaseView/CaseView.d.ts.map +1 -1
  51. package/lib/components/template/CaseView/CaseView.js +16 -12
  52. package/lib/components/template/CaseView/CaseView.js.map +1 -1
  53. package/lib/components/template/DefaultPage/DefaultPage.d.ts +36 -0
  54. package/lib/components/template/DefaultPage/DefaultPage.d.ts.map +1 -0
  55. package/lib/components/template/DefaultPage/DefaultPage.js +28 -0
  56. package/lib/components/template/DefaultPage/DefaultPage.js.map +1 -0
  57. package/lib/components/template/DefaultPage/index.d.ts +2 -0
  58. package/lib/components/template/DefaultPage/index.d.ts.map +1 -0
  59. package/lib/components/template/DefaultPage/index.js +2 -0
  60. package/lib/components/template/DefaultPage/index.js.map +1 -0
  61. package/lib/components/template/ListView/ListView.d.ts.map +1 -1
  62. package/lib/components/template/ListView/ListView.js +26 -31
  63. package/lib/components/template/ListView/ListView.js.map +1 -1
  64. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.d.ts +2 -0
  65. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.d.ts.map +1 -0
  66. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js +73 -0
  67. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js.map +1 -0
  68. package/lib/components/template/SelfServiceCaseView/index.d.ts +2 -0
  69. package/lib/components/template/SelfServiceCaseView/index.d.ts.map +1 -0
  70. package/lib/components/template/SelfServiceCaseView/index.js +2 -0
  71. package/lib/components/template/SelfServiceCaseView/index.js.map +1 -0
  72. package/lib/components/template/WssNavBar/WssNavBar.js +3 -3
  73. package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
  74. package/lib/components/template/utils.d.ts +7 -0
  75. package/lib/components/template/utils.d.ts.map +1 -0
  76. package/lib/components/template/utils.js +52 -0
  77. package/lib/components/template/utils.js.map +1 -0
  78. package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
  79. package/lib/components/widget/ToDo/ToDo.js +1 -5
  80. package/lib/components/widget/ToDo/ToDo.js.map +1 -1
  81. package/lib/samples/Embedded/styles.css +26 -0
  82. package/lib/sdk-pega-component-map.d.ts +4 -0
  83. package/lib/sdk-pega-component-map.d.ts.map +1 -1
  84. package/lib/sdk-pega-component-map.js +4 -0
  85. package/lib/sdk-pega-component-map.js.map +1 -1
  86. package/lib/theme.d.ts +7 -1
  87. package/lib/theme.d.ts.map +1 -1
  88. package/lib/theme.js +35 -15
  89. package/lib/theme.js.map +1 -1
  90. package/package.json +1 -1
@@ -79,32 +79,33 @@ mat-horizontal-stepper {
79
79
 
80
80
  .psdk-vertical-step-icon {
81
81
  margin-right: 12px;
82
- background-color: var(--app-neutral-color);
83
- color: var(--app-text-color);
84
82
  border-radius: 50%;
85
83
  height: 24px;
86
84
  width: 24px;
87
- flex-shrink: 0;
88
85
  position: relative;
89
86
  }
90
87
 
91
- .psdk-vertical-step-icon-content {
92
- position: absolute;
93
- top: 50%;
94
- left: 50%;
95
- transform: translate(-50%, -50%);
88
+ .success .psdk-vertical-step-icon {
89
+ background-color: var(--stepper-completed-bg-color);
96
90
  color: var(--app-text-color);
97
91
  }
98
92
 
99
- .psdk-vertical-step-icon-selected {
100
- margin-right: 12px;
93
+ .future .psdk-vertical-step-icon {
94
+ color: var(--app-neutral-color);
95
+ border: 1px solid var(--app-neutral-color);
96
+ }
97
+
98
+ .current .psdk-vertical-step-icon {
101
99
  background-color: var(--app-primary-color);
102
100
  color: var(--app-text-color);
103
- border-radius: 50%;
104
- height: 24px;
105
- width: 24px;
106
101
  flex-shrink: 0;
107
- position: relative;
102
+ }
103
+
104
+ .psdk-vertical-step-icon-content {
105
+ position: absolute;
106
+ top: 50%;
107
+ left: 50%;
108
+ transform: translate(-50%, -50%);
108
109
  }
109
110
 
110
111
  .psdk-vertical-step-label {
@@ -119,16 +120,8 @@ mat-horizontal-stepper {
119
120
  font-weight: 500;
120
121
  }
121
122
 
122
- .psdk-vertical-step-label-selected {
123
- color: rgba(0, 0, 0, 0.87);
124
- display: inline-block;
125
- white-space: nowrap;
126
- overflow: hidden;
127
- text-overflow: ellipsis;
128
- min-width: 50px;
129
- vertical-align: middle;
130
- font-size: 14px;
131
- font-weight: 500;
123
+ .current .psdk-vertical-step-label {
124
+ color: var(--text-primary-color);
132
125
  }
133
126
 
134
127
  .psdk-vertical-step-body {
@@ -150,7 +143,7 @@ mat-horizontal-stepper {
150
143
  border-left-style: solid;
151
144
  top: -16px;
152
145
  bottom: -16px;
153
- border-left-color: rgba(0, 0, 0, 0.12);
146
+ border-left-color: var(--app-neutral-color);
154
147
  }
155
148
 
156
149
  .psdk-horizontal-stepper {
@@ -162,7 +155,6 @@ mat-horizontal-stepper {
162
155
  white-space: nowrap;
163
156
  display: flex;
164
157
  align-items: center;
165
- text-align: left;
166
158
  }
167
159
 
168
160
  .psdk-horizontal-step-header {
@@ -175,20 +167,29 @@ mat-horizontal-stepper {
175
167
  height: 72px;
176
168
  overflow: hidden;
177
169
  align-items: center;
178
- padding: 0 24px;
179
170
  }
180
171
 
181
172
  .psdk-horizontal-step-icon {
182
- background-color: var(--app-neutral-color);
183
- color: var(--app-text-color);
173
+ color: white;
184
174
  border-radius: 50%;
185
175
  height: 24px;
186
176
  width: 24px;
187
- flex-shrink: 0;
188
177
  position: relative;
189
- display: block;
190
- margin-right: 8px;
191
- flex: none;
178
+ }
179
+
180
+ .future .psdk-horizontal-step-icon {
181
+ color: var(--app-neutral-color);
182
+ border: 1px solid var(--app-neutral-color);
183
+ }
184
+
185
+ .current .psdk-horizontal-step-icon {
186
+ color: var(--app-text-color);
187
+ background-color: var(--app-primary-color);
188
+ }
189
+
190
+ .success .psdk-horizontal-step-icon {
191
+ color: var(--app-text-color);
192
+ background-color: var(--stepper-completed-bg-color);
192
193
  }
193
194
 
194
195
  .psdk-horizontal-step-icon-content {
@@ -199,45 +200,24 @@ mat-horizontal-stepper {
199
200
  transform: translate(-50%, -50%);
200
201
  }
201
202
 
202
- .psdk-horizontal-step-icon-selected {
203
- background-color: var(--app-primary-color);
204
- color: var(--app-text-color);
205
- border-radius: 50%;
206
- height: 24px;
207
- width: 24px;
208
- flex-shrink: 0;
209
- position: relative;
210
- display: block;
211
- margin-right: 8px;
212
- flex: none;
213
- }
214
-
215
203
  .psdk-horizontal-step-label {
216
- color: rgba(0, 0, 0, 0.54);
217
- display: inline-block;
218
- min-width: 50px;
219
- vertical-align: middle;
204
+ color: var(--text-secondary-color);
220
205
  font-size: 14px;
221
206
  font-weight: 500;
222
207
  white-space: initial;
223
208
  }
224
209
 
225
- .psdk-horizontal-step-label-selected {
226
- color: rgba(0, 0, 0, 0.87);
227
- display: inline-block;
228
- min-width: 50px;
229
- vertical-align: middle;
230
- font-size: 14px;
231
- font-weight: 500;
232
- white-space: initial;
210
+ .current .psdk-horizontal-step-label {
211
+ color: var(--text-primary-color);
212
+ margin-left: 8px;
233
213
  }
234
214
 
235
- .psdk-horizontal-step-line {
236
- border-top-color: rgba(0, 0, 0, 0.12);
237
- border-top-width: 1px;
238
- border-top-style: solid;
215
+ .flex-auto {
239
216
  flex: auto;
240
- height: 0;
241
- margin: 0 -16px;
217
+ }
218
+
219
+ .psdk-horizontal-step-line {
220
+ border-top: 1px solid var(--app-neutral-color);
242
221
  min-width: 32px;
222
+ margin: 0px 8px;
243
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MultiStep.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/MultiStep/MultiStep.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,iBAAiB,CAAC;AAEzB,UAAU,cAAe,SAAQ,UAAU;IAEzC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,aAAa,EAAE,GAAG,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,GAAG,CAAC;CACxB;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,2CA+KzE"}
1
+ {"version":3,"file":"MultiStep.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/MultiStep/MultiStep.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,iBAAiB,CAAC;AAEzB,UAAU,cAAe,SAAQ,UAAU;IAEzC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,aAAa,EAAE,GAAG,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,GAAG,CAAC;CACxB;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,2CAqJzE"}
@@ -12,53 +12,35 @@ export default function MultiStep(props) {
12
12
  const lastActiveStepIndex = arNavigationSteps.findLastIndex(({ visited_status: vs }) => vs === 'success');
13
13
  currentStep = arNavigationSteps[lastActiveStepIndex >= 0 ? lastActiveStepIndex : 0];
14
14
  }
15
- // const svgCurrent = Utils.getImageSrc("circle-solid", Utils.getSDKStaticConentUrl());
16
- // const svgNotCurrent = Utils.getImageSrc("circle-solid", Utils.getSDKStaticConentUrl());
17
- function _getVIconClass(status) {
18
- if (status === 'current') {
19
- return 'psdk-vertical-step-icon-selected';
20
- }
21
- return 'psdk-vertical-step-icon';
22
- }
23
- function _getVLabelClass(status) {
24
- if (status === 'current') {
25
- return 'psdk-vertical-step-label-selected';
26
- }
27
- return 'psdk-vertical-step-label';
28
- }
29
15
  function _getVBodyClass(index) {
30
- if (index < arNavigationSteps.length - 1) {
31
- return 'psdk-vertical-step-body psdk-vertical-step-line';
32
- }
33
- return 'psdk-vertical-step-body';
34
- }
35
- function _getHIconClass(step) {
36
- if (step.ID === currentStep?.ID) {
37
- return 'psdk-horizontal-step-icon-selected';
38
- }
39
- return 'psdk-horizontal-step-icon';
40
- }
41
- function _getHLabelClass(step) {
42
- if (step.ID === currentStep?.ID) {
43
- return 'psdk-horizontal-step-label-selected';
44
- }
45
- return 'psdk-horizontal-step-label';
46
- }
47
- function _showHLine(index) {
48
- return index < arNavigationSteps.length - 1;
16
+ const baseClass = 'psdk-vertical-step-body';
17
+ const isNotLastStep = index < arNavigationSteps.length - 1;
18
+ return isNotLastStep ? `${baseClass} psdk-vertical-step-line` : baseClass;
19
+ }
20
+ function _getAutoFlexClass(currentStep) {
21
+ const currentStepIndex = arNavigationSteps.findIndex(step => step.ID === currentStep?.ID);
22
+ const totalSteps = arNavigationSteps.length;
23
+ const lastStep = arNavigationSteps[totalSteps - 1];
24
+ // Apply flex-auto class if current step is active OR if current step is second-to-last and the last step is active
25
+ const isCurrentStepActive = currentStep.visited_status === 'current';
26
+ const isSecondToLastWithActiveLastStep = currentStepIndex === totalSteps - 2 && lastStep?.visited_status === 'current';
27
+ return isCurrentStepActive || isSecondToLastWithActiveLastStep ? 'flex-auto' : '';
28
+ }
29
+ function isLastStep(index) {
30
+ return index === arNavigationSteps.length - 1;
49
31
  }
50
32
  function buttonPress(sAction, sButtonType) {
51
33
  onButtonPress(sAction, sButtonType);
52
34
  }
53
35
  return (_jsx("div", { children: bIsVertical ? (_jsx("div", { className: 'psdk-vertical-stepper', children: arNavigationSteps.map((mainStep, index) => {
54
- return (_jsx(React.Fragment, { children: _jsxs("div", { className: 'psdk-vertical-step', children: [_jsxs("div", { className: 'psdk-vertical-step-header', children: [_jsx("div", { className: _getVIconClass(mainStep.visited_status), children: _jsx("div", { className: 'psdk-vertical-step-icon-content', children: _jsx("span", { children: index + 1 }) }) }), _jsx("div", { className: _getVLabelClass(mainStep.visited_status), children: mainStep.name })] }), _jsxs("div", { className: _getVBodyClass(index), children: [mainStep?.steps && (_jsx("ul", { style: {
36
+ return (_jsx(React.Fragment, { children: _jsxs("div", { className: 'psdk-vertical-step', children: [_jsxs("div", { className: `psdk-vertical-step-header ${mainStep.visited_status}`, children: [_jsx("div", { className: `psdk-vertical-step-icon`, children: _jsx("div", { className: 'psdk-vertical-step-icon-content', children: _jsx("span", { children: index + 1 }) }) }), _jsx("div", { className: 'psdk-vertical-step-label', children: mainStep.visited_status === 'current' && mainStep.name })] }), _jsxs("div", { className: _getVBodyClass(index), children: [mainStep?.steps && (_jsx("ul", { style: {
55
37
  paddingInlineStart: '0rem',
56
38
  marginLeft: '-7px'
57
39
  }, children: mainStep.steps.forEach(subStep => {
58
40
  _jsxs("li", { className: 'psdk-sub-step-list', children: [_jsxs("div", { style: { display: 'inline-flex' }, children: [subStep.visited_status === 'current' && _jsx("img", { className: 'psdk-current-svg-icon', src: '{svgCurrent}' }), subStep.visited_status !== 'current' && _jsx("img", { className: 'psdk-not-current-svg-icon', src: '{svgNotCurrent}' }), subStep.visited_status === 'current' && _jsx("label", { className: 'psdk-sub-step-current', children: subStep.name }), subStep.visited_status !== 'current' && _jsx("label", { className: 'psdk-sub-step-not-current', children: subStep.name })] }), subStep.visited_status === 'current' && (_jsx("div", { children: _jsx(AssignmentCard, { getPConnect: getPConnect, itemKey: itemKey, actionButtons: actionButtons, onButtonPress: buttonPress, children: children }) }))] });
59
- }) })), !mainStep?.steps && mainStep.visited_status === 'current' && (_jsx(AssignmentCard, { getPConnect: getPConnect, itemKey: itemKey, actionButtons: actionButtons, onButtonPress: buttonPress, children: children }))] })] }) }, mainStep.actionID));
41
+ }) })), !mainStep?.steps && mainStep.visited_status === 'current' && (_jsx("div", { style: { paddingLeft: 20 }, children: _jsx(AssignmentCard, { getPConnect: getPConnect, itemKey: itemKey, actionButtons: actionButtons, onButtonPress: buttonPress, children: children }) }))] })] }) }, mainStep.actionID));
60
42
  }) })) : (_jsxs("div", { className: 'psdk-horizontal-stepper', children: [_jsx("div", { className: 'psdk-horizontal-stepper-header-container', children: arNavigationSteps.map((mainStep, index) => {
61
- return (_jsxs(React.Fragment, { children: [_jsxs("div", { className: 'psdk-horizontal-step-header', children: [_jsx("div", { className: _getHIconClass(mainStep), children: _jsx("div", { className: 'psdk-horizontal-step-icon-content', children: _jsx("span", { children: index + 1 }) }) }), _jsx("div", { className: _getHLabelClass(mainStep), children: _jsx("div", { className: 'psdk-horizontal-step-text-label', id: 'selected-label', children: mainStep.name }) })] }), _showHLine(index) && _jsx("div", { className: 'psdk-horizontal-step-line' })] }, mainStep.actionID));
43
+ return (_jsxs(React.Fragment, { children: [_jsxs("div", { className: `psdk-horizontal-step-header ${mainStep.visited_status}`, children: [_jsx("div", { className: 'psdk-horizontal-step-icon', children: _jsx("div", { className: 'psdk-horizontal-step-icon-content', children: _jsx("span", { children: index + 1 }) }) }), _jsx("div", { className: 'psdk-horizontal-step-label', children: mainStep.visited_status === 'current' && mainStep.name })] }), !isLastStep(index) && _jsx("div", { className: `psdk-horizontal-step-line ${_getAutoFlexClass(mainStep)}` })] }, mainStep.actionID));
62
44
  }) }), arNavigationSteps.map(mainStep => {
63
45
  return (_jsxs(React.Fragment, { children: [mainStep.steps && (_jsx("ul", { style: { paddingInlineStart: '0rem', marginLeft: '35px' }, children: mainStep.steps.map(subStep => (_jsxs("li", { className: 'psdk-sub-step-list', children: [_jsxs("div", { style: { display: 'inline-flex' }, children: [subStep.visited_status === 'current' && _jsx("img", { className: 'psdk-current-svg-icon', src: '{svgCurrent}' }), subStep.visited_status !== 'current' && _jsx("img", { className: 'psdk-not-current-svg-icon', src: '{svgNotCurrent}' }), subStep.visited_status === 'current' && _jsx("label", { className: 'psdk-sub-step-current', children: subStep.name }), subStep.visited_status !== 'current' && _jsx("label", { className: 'psdk-sub-step-not-current', children: subStep.name })] }), subStep.visited_status === 'current' && (_jsx(AssignmentCard, { getPConnect: getPConnect, itemKey: itemKey, actionButtons: actionButtons, onButtonPress: buttonPress, children: children }))] }))) })), !mainStep?.steps && mainStep.ID === currentStep?.ID && (_jsx(AssignmentCard, { getPConnect: getPConnect, itemKey: itemKey, actionButtons: actionButtons, onButtonPress: buttonPress, children: children }))] }, mainStep.actionID));
64
46
  })] })) }));
@@ -1 +1 @@
1
- {"version":3,"file":"MultiStep.js","sourceRoot":"","sources":["../../../../src/components/infra/MultiStep/MultiStep.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { type PropsWithChildren } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\nimport './MultiStep.css';\n\ninterface MultiStepProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n itemKey: string;\n actionButtons: any[];\n onButtonPress: any;\n bIsVertical: boolean;\n arNavigationSteps: any;\n}\n\nexport default function MultiStep(props: PropsWithChildren<MultiStepProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const AssignmentCard = getComponentFromMap('AssignmentCard');\n\n const { getPConnect, children, itemKey = '', actionButtons, onButtonPress } = props;\n const { bIsVertical, arNavigationSteps } = props;\n\n let currentStep = arNavigationSteps.find(({ visited_status: vs }) => vs === 'current');\n if (!currentStep) {\n const lastActiveStepIndex = arNavigationSteps.findLastIndex(({ visited_status: vs }) => vs === 'success');\n currentStep = arNavigationSteps[lastActiveStepIndex >= 0 ? lastActiveStepIndex : 0];\n }\n\n // const svgCurrent = Utils.getImageSrc(\"circle-solid\", Utils.getSDKStaticConentUrl());\n // const svgNotCurrent = Utils.getImageSrc(\"circle-solid\", Utils.getSDKStaticConentUrl());\n\n function _getVIconClass(status): string {\n if (status === 'current') {\n return 'psdk-vertical-step-icon-selected';\n }\n\n return 'psdk-vertical-step-icon';\n }\n\n function _getVLabelClass(status): string {\n if (status === 'current') {\n return 'psdk-vertical-step-label-selected';\n }\n\n return 'psdk-vertical-step-label';\n }\n\n function _getVBodyClass(index: number): string {\n if (index < arNavigationSteps.length - 1) {\n return 'psdk-vertical-step-body psdk-vertical-step-line';\n }\n\n return 'psdk-vertical-step-body';\n }\n\n function _getHIconClass(step): string {\n if (step.ID === currentStep?.ID) {\n return 'psdk-horizontal-step-icon-selected';\n }\n\n return 'psdk-horizontal-step-icon';\n }\n\n function _getHLabelClass(step): string {\n if (step.ID === currentStep?.ID) {\n return 'psdk-horizontal-step-label-selected';\n }\n\n return 'psdk-horizontal-step-label';\n }\n\n function _showHLine(index: number): boolean {\n return index < arNavigationSteps.length - 1;\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n onButtonPress(sAction, sButtonType);\n }\n\n return (\n <div>\n {bIsVertical ? (\n <div className='psdk-vertical-stepper'>\n {arNavigationSteps.map((mainStep, index) => {\n return (\n <React.Fragment key={mainStep.actionID}>\n <div className='psdk-vertical-step'>\n <div className='psdk-vertical-step-header'>\n <div className={_getVIconClass(mainStep.visited_status)}>\n <div className='psdk-vertical-step-icon-content'>\n <span>{index + 1}</span>\n </div>\n </div>\n <div className={_getVLabelClass(mainStep.visited_status)}>{mainStep.name}</div>\n </div>\n <div className={_getVBodyClass(index)}>\n {mainStep?.steps && (\n <ul\n style={{\n paddingInlineStart: '0rem',\n marginLeft: '-7px'\n }}\n >\n {mainStep.steps.forEach(subStep => {\n <li className='psdk-sub-step-list'>\n <div style={{ display: 'inline-flex' }}>\n {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}\n {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}\n {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}\n {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}\n </div>\n {subStep.visited_status === 'current' && (\n <div>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n </div>\n )}\n </li>;\n })}\n </ul>\n )}\n {!mainStep?.steps && mainStep.visited_status === 'current' && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </div>\n </div>\n </React.Fragment>\n );\n })}\n </div>\n ) : (\n <div className='psdk-horizontal-stepper'>\n <div className='psdk-horizontal-stepper-header-container'>\n {arNavigationSteps.map((mainStep, index) => {\n return (\n <React.Fragment key={mainStep.actionID}>\n <div className='psdk-horizontal-step-header'>\n <div className={_getHIconClass(mainStep)}>\n <div className='psdk-horizontal-step-icon-content'>\n <span>{index + 1}</span>\n </div>\n </div>\n <div className={_getHLabelClass(mainStep)}>\n <div className='psdk-horizontal-step-text-label' id='selected-label'>\n {mainStep.name}\n </div>\n </div>\n </div>\n {_showHLine(index) && <div className='psdk-horizontal-step-line' />}\n </React.Fragment>\n );\n })}\n </div>\n {arNavigationSteps.map(mainStep => {\n return (\n <React.Fragment key={mainStep.actionID}>\n {mainStep.steps && (\n <ul style={{ paddingInlineStart: '0rem', marginLeft: '35px' }}>\n {mainStep.steps.map(subStep => (\n <li className='psdk-sub-step-list'>\n <div style={{ display: 'inline-flex' }}>\n {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}\n {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}\n {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}\n {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}\n </div>\n {subStep.visited_status === 'current' && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </li>\n ))}\n </ul>\n )}\n {!mainStep?.steps && mainStep.ID === currentStep?.ID && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </React.Fragment>\n );\n })}\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"MultiStep.js","sourceRoot":"","sources":["../../../../src/components/infra/MultiStep/MultiStep.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { type PropsWithChildren } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\nimport './MultiStep.css';\n\ninterface MultiStepProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n itemKey: string;\n actionButtons: any[];\n onButtonPress: any;\n bIsVertical: boolean;\n arNavigationSteps: any;\n}\n\nexport default function MultiStep(props: PropsWithChildren<MultiStepProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const AssignmentCard = getComponentFromMap('AssignmentCard');\n\n const { getPConnect, children, itemKey = '', actionButtons, onButtonPress } = props;\n const { bIsVertical, arNavigationSteps } = props;\n\n let currentStep = arNavigationSteps.find(({ visited_status: vs }) => vs === 'current');\n if (!currentStep) {\n const lastActiveStepIndex = arNavigationSteps.findLastIndex(({ visited_status: vs }) => vs === 'success');\n currentStep = arNavigationSteps[lastActiveStepIndex >= 0 ? lastActiveStepIndex : 0];\n }\n\n function _getVBodyClass(index: number): string {\n const baseClass = 'psdk-vertical-step-body';\n const isNotLastStep = index < arNavigationSteps.length - 1;\n\n return isNotLastStep ? `${baseClass} psdk-vertical-step-line` : baseClass;\n }\n\n function _getAutoFlexClass(currentStep): string {\n const currentStepIndex = arNavigationSteps.findIndex(step => step.ID === currentStep?.ID);\n const totalSteps = arNavigationSteps.length;\n const lastStep = arNavigationSteps[totalSteps - 1];\n\n // Apply flex-auto class if current step is active OR if current step is second-to-last and the last step is active\n const isCurrentStepActive = currentStep.visited_status === 'current';\n const isSecondToLastWithActiveLastStep = currentStepIndex === totalSteps - 2 && lastStep?.visited_status === 'current';\n\n return isCurrentStepActive || isSecondToLastWithActiveLastStep ? 'flex-auto' : '';\n }\n\n function isLastStep(index: number): boolean {\n return index === arNavigationSteps.length - 1;\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n onButtonPress(sAction, sButtonType);\n }\n\n return (\n <div>\n {bIsVertical ? (\n <div className='psdk-vertical-stepper'>\n {arNavigationSteps.map((mainStep, index) => {\n return (\n <React.Fragment key={mainStep.actionID}>\n <div className='psdk-vertical-step'>\n <div className={`psdk-vertical-step-header ${mainStep.visited_status}`}>\n <div className={`psdk-vertical-step-icon`}>\n <div className='psdk-vertical-step-icon-content'>\n <span>{index + 1}</span>\n </div>\n </div>\n <div className='psdk-vertical-step-label'>{mainStep.visited_status === 'current' && mainStep.name}</div>\n </div>\n <div className={_getVBodyClass(index)}>\n {mainStep?.steps && (\n <ul\n style={{\n paddingInlineStart: '0rem',\n marginLeft: '-7px'\n }}\n >\n {mainStep.steps.forEach(subStep => {\n <li className='psdk-sub-step-list'>\n <div style={{ display: 'inline-flex' }}>\n {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}\n {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}\n {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}\n {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}\n </div>\n {subStep.visited_status === 'current' && (\n <div>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n </div>\n )}\n </li>;\n })}\n </ul>\n )}\n {!mainStep?.steps && mainStep.visited_status === 'current' && (\n <div style={{ paddingLeft: 20 }}>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n </div>\n )}\n </div>\n </div>\n </React.Fragment>\n );\n })}\n </div>\n ) : (\n <div className='psdk-horizontal-stepper'>\n <div className='psdk-horizontal-stepper-header-container'>\n {arNavigationSteps.map((mainStep, index) => {\n return (\n <React.Fragment key={mainStep.actionID}>\n <div className={`psdk-horizontal-step-header ${mainStep.visited_status}`}>\n <div className='psdk-horizontal-step-icon'>\n <div className='psdk-horizontal-step-icon-content'>\n <span>{index + 1}</span>\n </div>\n </div>\n <div className='psdk-horizontal-step-label'>{mainStep.visited_status === 'current' && mainStep.name}</div>\n </div>\n {!isLastStep(index) && <div className={`psdk-horizontal-step-line ${_getAutoFlexClass(mainStep)}`} />}\n </React.Fragment>\n );\n })}\n </div>\n {arNavigationSteps.map(mainStep => {\n return (\n <React.Fragment key={mainStep.actionID}>\n {mainStep.steps && (\n <ul style={{ paddingInlineStart: '0rem', marginLeft: '35px' }}>\n {mainStep.steps.map(subStep => (\n <li className='psdk-sub-step-list'>\n <div style={{ display: 'inline-flex' }}>\n {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}\n {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}\n {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}\n {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}\n </div>\n {subStep.visited_status === 'current' && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </li>\n ))}\n </ul>\n )}\n {!mainStep?.steps && mainStep.ID === currentStep?.ID && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </React.Fragment>\n );\n })}\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,YAAY,CAAC;AAEpB,UAAU,SAAU,SAAQ,UAAU;IAEpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAsBD,iBAAwB,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,uDAsH/D;kBAtHuB,IAAI;;;eAAJ,IAAI"}
1
+ {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,YAAY,CAAC;AAEpB,UAAU,SAAU,SAAQ,UAAU;IAEpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAuBD,iBAAwB,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,uDAsH/D;kBAtHuB,IAAI;;;eAAJ,IAAI"}
@@ -20,7 +20,8 @@ const NO_HEADER_TEMPLATES = [
20
20
  'WideNarrowDetails',
21
21
  'Confirmation',
22
22
  'DynamicTabs',
23
- 'DetailsSubTabs'
23
+ 'DetailsSubTabs',
24
+ 'ListView'
24
25
  ];
25
26
  export default function View(props) {
26
27
  const { children, template, getPConnect, mode, visibility, name: pageName, type, title } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"View.js","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,oDAAoD;AAEpD,OAAO,YAAY,CAAC;AAepB,EAAE;AACF,qHAAqH;AACrH,uHAAuH;AACvH,+BAA+B;AAC/B,EAAE;AAEF,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAC5F,MAAM,mBAAmB,GAAG;IAC1B,SAAS;IACT,aAAa;IACb,SAAS;IACT,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,mBAAmB;IACnB,cAAc;IACd,aAAa;IACb,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAmC;IAC9D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACjG,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAEzF,0HAA0H;IAC1H,gFAAgF;IAEhF,MAAM,cAAc,GAAQ,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,8DAA8D;IAC7H,KAAK,GAAG,cAAc,CAAC,KAAK,IAAI,KAAK,CAAC;IACtC,SAAS,GAAG,cAAc,CAAC,SAAS,IAAI,SAAS,CAAC;IAClD,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IAE3C,MAAM,kBAAkB,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,mFAAmF;IACnI,IAAI,kBAAkB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAClD,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,sCAAsC;QACtC,IAAI,gBAAgB,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC;QACxE,gBAAgB,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,yBAAyB,GAAG,QAAQ,IAAI,QAAQ,CAAC,yBAAyB,EAAE,CAAC;QACnF,MAAM,kBAAkB,GAAG,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,yBAAyB,GAAG,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvF;;UAEE;QACF,MAAM,cAAc,GAClB,CAAC,yBAAyB;YAC1B,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,QAAQ,CAAC;YAC5D,CAAC,CAAC,kBAAkB,IAAI,yBAAyB,CAAC;YAClD,KAAK,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,KAAK,aAAa,CAAC;QAClE,2GAA2G;QAC3G,IAAI,QAAQ,GAAG,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAEvD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACpC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,CAAC;YACD,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,MAAM,gBAAgB,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACrF,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5D,MAAM,GAAG,GAAG,GAAG,WAAW,EAAE,CAAC,cAAc,EAAE,IAAI,WAAW,EAAE,CAAC,gBAAgB,EAAE,IAAI,QAAQ,EAAE,CAAC;IAChG,qEAAqE;IACrE,0DAA0D;IAC1D,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qEAAqE;IACrE,0DAA0D;IAC1D,iDAAiD;IACjD,IAAI,QAAQ,CAAC,mCAAmC,EAAE,CAAC;QACjD,mDAAmD;QACnD,MAAM,YAAY,GAAQ,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAExD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,4CAA4C;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC;YACrB,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;QAChC,CAAC;QAED,8BAA8B;QAC9B,uDAAuD;QAEvD,wDAAwD;QACxD,IAAI,gBAAgB,GAAG,CACrB,KAAC,YAAY,OAAe,KAAK,YAC9B,QAAQ,IADQ,GAAG,CAEP,CAChB,CAAC;QAEF,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;YAClD,YAAY;YACZ,uBAAuB;YACvB,mEAAmE;YACnE,yBAAyB;YACzB,kBAAkB;YAClB,KAAK;YACL,gBAAgB,GAAG,CACjB,2BACY,kBAAkB,wBACR,QAAQ;gBAC5B,UAAU,CAAC,EAAE,EAAC,OAAO,EACrB,KAAK,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,EACnC,SAAS,EAAC,aAAa,YAEtB,gBAAgB,GACb,CACP,CAAC;QACJ,CAAC;QAED,OAAO,CACL,eAAK,SAAS,EAAC,aAAa,aACzB,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACvD,cAAK,SAAS,EAAC,0BAA0B,YACvC,yBAAO,KAAK,GAAQ,GAChB,CACP,EACA,gBAAgB,IACb,CACP,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,gFAAgF;IAEhF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wFAAwF;AACxF,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;IAC5C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAE/C,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa;YAChB,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACnC,gDAAgD;YAChD,MAAM,WAAW,GAAG;gBAClB,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3B,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;aAC9B,CAAC;YACF,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACnD,MAAM;QAER,KAAK,SAAS;YACZ,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM;QAER;YACE,MAAM;IACV,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC","sourcesContent":["import { type PropsWithChildren, useEffect } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { getAllFields } from '../../helpers/template-utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\n// Need to import any templates that we might render\n\nimport './View.css';\n\ninterface ViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n template?: string;\n label?: string;\n showLabel: boolean;\n mode?: string;\n title?: string;\n visibility?: boolean;\n name?: string;\n bInForm?: boolean;\n type?: any;\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide'];\nconst NO_HEADER_TEMPLATES = [\n 'SubTabs',\n 'SimpleTable',\n 'Details',\n 'DetailsTwoColumn',\n 'DetailsThreeColumn',\n 'NarrowWideDetails',\n 'WideNarrowDetails',\n 'Confirmation',\n 'DynamicTabs',\n 'DetailsSubTabs'\n];\n\nexport default function View(props: PropsWithChildren<ViewProps>) {\n const { children, template, getPConnect, mode, visibility, name: pageName, type, title } = props;\n let { label = '', showLabel = false } = props;\n const { PAGE_TYPES: { PAGE, LANDINGPAGE, LISTPAGE } = {}, MODAL } = PCore.getConstants();\n\n // Get the inherited props from the parent to determine label settings. For 8.6, this is only for embedded data form views\n // Putting this logic here instead of copy/paste in every Form template index.js\n\n const inheritedProps: any = getPConnect().getInheritedProps(); // try to remove any when getInheritedProps typedefs are fixed\n label = inheritedProps.label || label;\n showLabel = inheritedProps.showLabel || showLabel;\n const localeUtils = PCore.getLocaleUtils();\n\n const isEmbeddedDataView = mode === 'editable'; // would be better to check the reference child for `context` attribute if possible\n if (isEmbeddedDataView && showLabel === undefined) {\n showLabel = true;\n }\n\n useEffect(() => {\n // Get the localized application label\n let applicationLabel = PCore.getEnvironmentInfo().getApplicationLabel();\n applicationLabel = localeUtils.getLocaleValue(`${applicationLabel}`, '', '');\n const caseInfo = getPConnect().getCaseInfo();\n const isAssignmentInCreateStage = caseInfo && caseInfo.isAssignmentInCreateStage();\n const isRenderingInModal = getPConnect().getContainerName().includes(MODAL);\n const isRenderingInPreviewPanel = getPConnect().getContainerName().includes('preview');\n\n /* If assignment is in create stage and rendering in modal don't update the title.\n Title will be updated on completion of create stage and when the assignment is rendered inline to the page.\n */\n const canUpdateTitle =\n !isRenderingInPreviewPanel &&\n (type === PAGE || type === LANDINGPAGE || type === LISTPAGE) &&\n !(isRenderingInModal && isAssignmentInCreateStage) &&\n PCore.getEnvironmentInfo().getRenderingMode() === 'FULL_PORTAL';\n // Incase of home route title is same as applicationLabel so setting to empty to just show applicationLabel\n let titleVar = title === applicationLabel ? '' : title;\n\n if (canUpdateTitle) {\n if (caseInfo) {\n const name = caseInfo.getName();\n const id = caseInfo.getBusinessID();\n titleVar = name && id ? `${name} (${id})` : titleVar;\n }\n document.title = titleVar ? `${titleVar} - ${applicationLabel}` : applicationLabel;\n }\n }, [type, title, getPConnect, PAGE, LANDINGPAGE, LISTPAGE]);\n\n const key = `${getPConnect().getContextName()}_${getPConnect().getPageReference()}_${pageName}`;\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n if (visibility === false) {\n return '';\n }\n\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n // JA - React SDK not using LazyComponentMap yet\n if (template /* && LazyComponentMap[template] */) {\n // const ViewTemplate = LazyComponentMap[template];\n const ViewTemplate: any = getComponentFromMap(template);\n\n if (template === 'ListView') {\n // special case for ListView - add in a prop\n const bInForm = true;\n props = { ...props, bInForm };\n }\n\n // for debugging/investigation\n // console.log(`View rendering template: ${template}`);\n\n // spreading because all props should go to the template\n let RenderedTemplate = (\n <ViewTemplate key={key} {...props}>\n {children}\n </ViewTemplate>\n );\n\n if (FORMTEMPLATES.includes(template) && showLabel) {\n // Original:\n // RenderedTemplate = (\n // <FieldGroup name={label} style={{ marginBlockStart: \"1rem\" }}>\n // {RenderedTemplate}\n // </FieldGroup>\n // );\n RenderedTemplate = (\n <div\n data-name='RenderedTemplate'\n data-template-type={template}\n /* name */ id='label'\n style={{ marginBlockStart: '1rem' }}\n className='grid-column'\n >\n {RenderedTemplate}\n </div>\n );\n }\n\n return (\n <div className='grid-column'>\n {showLabel && !NO_HEADER_TEMPLATES.includes(template) && (\n <div className='template-title-container'>\n <span>{label}</span>\n </div>\n )}\n {RenderedTemplate}\n </div>\n );\n }\n\n // debugging/investigation help\n // console.log(`View about to render React.Fragment for children: ${children}`);\n\n if (children) {\n return <>{children}</>;\n }\n\n return null;\n}\n\n// Adapted from Constellation DX Component to add in additional props for some templates\nView.additionalProps = (state, getPConnect) => {\n const thePConn = getPConnect();\n const { template } = thePConn.getConfigProps();\n\n let propObj = {};\n let allFields = {};\n\n switch (template) {\n case 'CaseSummary':\n allFields = getAllFields(thePConn);\n // eslint-disable-next-line no-case-declarations\n const unresFields = {\n primaryFields: allFields[0],\n secondaryFields: allFields[1]\n };\n propObj = thePConn.resolveConfigProps(unresFields);\n break;\n\n case 'Details':\n allFields = getAllFields(thePConn);\n propObj = { fields: allFields[0] };\n break;\n\n default:\n break;\n }\n\n return propObj;\n};\n"]}
1
+ {"version":3,"file":"View.js","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, useEffect } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { getAllFields } from '../../helpers/template-utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\n// Need to import any templates that we might render\n\nimport './View.css';\n\ninterface ViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n template?: string;\n label?: string;\n showLabel: boolean;\n mode?: string;\n title?: string;\n visibility?: boolean;\n name?: string;\n bInForm?: boolean;\n type?: any;\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide'];\nconst NO_HEADER_TEMPLATES = [\n 'SubTabs',\n 'SimpleTable',\n 'Details',\n 'DetailsTwoColumn',\n 'DetailsThreeColumn',\n 'NarrowWideDetails',\n 'WideNarrowDetails',\n 'Confirmation',\n 'DynamicTabs',\n 'DetailsSubTabs',\n 'ListView'\n];\n\nexport default function View(props: PropsWithChildren<ViewProps>) {\n const { children, template, getPConnect, mode, visibility, name: pageName, type, title } = props;\n let { label = '', showLabel = false } = props;\n const { PAGE_TYPES: { PAGE, LANDINGPAGE, LISTPAGE } = {}, MODAL } = PCore.getConstants();\n\n // Get the inherited props from the parent to determine label settings. For 8.6, this is only for embedded data form views\n // Putting this logic here instead of copy/paste in every Form template index.js\n\n const inheritedProps: any = getPConnect().getInheritedProps(); // try to remove any when getInheritedProps typedefs are fixed\n label = inheritedProps.label || label;\n showLabel = inheritedProps.showLabel || showLabel;\n const localeUtils = PCore.getLocaleUtils();\n\n const isEmbeddedDataView = mode === 'editable'; // would be better to check the reference child for `context` attribute if possible\n if (isEmbeddedDataView && showLabel === undefined) {\n showLabel = true;\n }\n\n useEffect(() => {\n // Get the localized application label\n let applicationLabel = PCore.getEnvironmentInfo().getApplicationLabel();\n applicationLabel = localeUtils.getLocaleValue(`${applicationLabel}`, '', '');\n const caseInfo = getPConnect().getCaseInfo();\n const isAssignmentInCreateStage = caseInfo && caseInfo.isAssignmentInCreateStage();\n const isRenderingInModal = getPConnect().getContainerName().includes(MODAL);\n const isRenderingInPreviewPanel = getPConnect().getContainerName().includes('preview');\n\n /* If assignment is in create stage and rendering in modal don't update the title.\n Title will be updated on completion of create stage and when the assignment is rendered inline to the page.\n */\n const canUpdateTitle =\n !isRenderingInPreviewPanel &&\n (type === PAGE || type === LANDINGPAGE || type === LISTPAGE) &&\n !(isRenderingInModal && isAssignmentInCreateStage) &&\n PCore.getEnvironmentInfo().getRenderingMode() === 'FULL_PORTAL';\n // Incase of home route title is same as applicationLabel so setting to empty to just show applicationLabel\n let titleVar = title === applicationLabel ? '' : title;\n\n if (canUpdateTitle) {\n if (caseInfo) {\n const name = caseInfo.getName();\n const id = caseInfo.getBusinessID();\n titleVar = name && id ? `${name} (${id})` : titleVar;\n }\n document.title = titleVar ? `${titleVar} - ${applicationLabel}` : applicationLabel;\n }\n }, [type, title, getPConnect, PAGE, LANDINGPAGE, LISTPAGE]);\n\n const key = `${getPConnect().getContextName()}_${getPConnect().getPageReference()}_${pageName}`;\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n if (visibility === false) {\n return '';\n }\n\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n // JA - React SDK not using LazyComponentMap yet\n if (template /* && LazyComponentMap[template] */) {\n // const ViewTemplate = LazyComponentMap[template];\n const ViewTemplate: any = getComponentFromMap(template);\n\n if (template === 'ListView') {\n // special case for ListView - add in a prop\n const bInForm = true;\n props = { ...props, bInForm };\n }\n\n // for debugging/investigation\n // console.log(`View rendering template: ${template}`);\n\n // spreading because all props should go to the template\n let RenderedTemplate = (\n <ViewTemplate key={key} {...props}>\n {children}\n </ViewTemplate>\n );\n\n if (FORMTEMPLATES.includes(template) && showLabel) {\n // Original:\n // RenderedTemplate = (\n // <FieldGroup name={label} style={{ marginBlockStart: \"1rem\" }}>\n // {RenderedTemplate}\n // </FieldGroup>\n // );\n RenderedTemplate = (\n <div\n data-name='RenderedTemplate'\n data-template-type={template}\n /* name */ id='label'\n style={{ marginBlockStart: '1rem' }}\n className='grid-column'\n >\n {RenderedTemplate}\n </div>\n );\n }\n\n return (\n <div className='grid-column'>\n {showLabel && !NO_HEADER_TEMPLATES.includes(template) && (\n <div className='template-title-container'>\n <span>{label}</span>\n </div>\n )}\n {RenderedTemplate}\n </div>\n );\n }\n\n // debugging/investigation help\n // console.log(`View about to render React.Fragment for children: ${children}`);\n\n if (children) {\n return <>{children}</>;\n }\n\n return null;\n}\n\n// Adapted from Constellation DX Component to add in additional props for some templates\nView.additionalProps = (state, getPConnect) => {\n const thePConn = getPConnect();\n const { template } = thePConn.getConfigProps();\n\n let propObj = {};\n let allFields = {};\n\n switch (template) {\n case 'CaseSummary':\n allFields = getAllFields(thePConn);\n // eslint-disable-next-line no-case-declarations\n const unresFields = {\n primaryFields: allFields[0],\n secondaryFields: allFields[1]\n };\n propObj = thePConn.resolveConfigProps(unresFields);\n break;\n\n case 'Details':\n allFields = getAllFields(thePConn);\n propObj = { fields: allFields[0] };\n break;\n\n default:\n break;\n }\n\n return propObj;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAOpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,gBAAgB,CAAC;AAExB,UAAU,aAAc,SAAQ,UAAU;IAExC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE;QACL,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAmBD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CAgNvE"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAOpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,gBAAgB,CAAC;AAExB,UAAU,aAAc,SAAQ,UAAU;IAExC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE;QACL,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAmBD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CA8MvE"}
@@ -96,8 +96,7 @@ export default function AppShell(props) {
96
96
  // not using default icon to fetch it using the way which uses authentication
97
97
  else {
98
98
  PCore.getAssetLoader()
99
- .getSvcImage(portalLogo)
100
- .then(blob => window.URL.createObjectURL(blob))
99
+ .getSvcImageUrl(portalLogo)
101
100
  .then(data => {
102
101
  setIconURL(data);
103
102
  setFullIconURL(data);
@@ -110,8 +109,7 @@ export default function AppShell(props) {
110
109
  useEffect(() => {
111
110
  if (imageKey && portalTemplate === 'wss') {
112
111
  PCore.getAssetLoader()
113
- .getSvcImage(imageKey)
114
- .then(blob => window.URL.createObjectURL(blob))
112
+ .getSvcImageUrl(imageKey)
115
113
  .then(imagePath => setImageBlobUrl(imagePath));
116
114
  }
117
115
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, useEffect, useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Avatar from '@mui/material/Avatar';\n\nimport { Utils } from '../../helpers/utils';\nimport { NavContext } from '../../helpers/reactContextHelpers';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\nimport './AppShell.css';\n\ninterface AppShellProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showAppName: boolean;\n pages: {\n pxPageViewIcon: string;\n pyClassName: string;\n pyLabel: string;\n pyRuleName: string;\n pyURLContent: string;\n }[];\n caseTypes?: object[];\n portalTemplate: string;\n portalName: string;\n portalLogo: string;\n navDisplayOptions: { alignment: string; position: string };\n httpMessages: string[];\n pageMessages: string[];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n content: {\n flexGrow: 1,\n height: '100vh',\n overflow: 'auto',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n wsscontent: {\n flexGrow: 1,\n height: '100vh',\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1)\n }\n}));\n\nexport default function AppShell(props: PropsWithChildren<AppShellProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const NavBar = getComponentFromMap('NavBar');\n const WssNavBar = getComponentFromMap('WssNavBar');\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const {\n pages = [],\n caseTypes = [],\n showAppName,\n children = [],\n getPConnect,\n httpMessages = [],\n pageMessages = [],\n portalTemplate,\n portalName,\n portalLogo,\n navDisplayOptions\n } = props;\n\n const [open, setOpen] = useState(true);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [activeTab, setActiveTab] = useState(!pages ? null : pages[0]?.pyRuleName);\n const pConn = getPConnect();\n const envInfo = PCore.getEnvironmentInfo();\n const imageKey = envInfo.getOperatorImageInsKey();\n const userName = envInfo.getOperatorName() || '';\n const currentUserInitials = Utils.getInitials(userName);\n const appNameToDisplay = showAppName ? envInfo.getApplicationLabel() : '';\n const portalClass = pConn.getValue('.classID', ''); // 2nd arg empty string until typedef marked correctly\n const envPortalName = envInfo.getPortalName();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n\n const classes = useStyles();\n const actionsAPI = pConn.getActionsApi();\n const localeReference = pConn.getValue('.pyLocaleReference', ''); // 2nd arg empty string until typedef marked correctly\n const [imageBlobUrl, setImageBlobUrl] = useState<string | null>(null);\n // useState for appName and mapChildren - note these are ONLY updated once (on component mount!)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [appName, setAppName] = useState('');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [mapChildren, setMapChildren] = useState([]);\n\n const messages = [...httpMessages, ...pageMessages];\n\n const hasBanner = messages && messages.length ? messages.length > 0 : false;\n let banners: any = null;\n banners = hasBanner && (\n <div style={{ display: 'flex', flexDirection: 'column', padding: '1em 0' }}>\n <AlertBanner id='AppShell' variant='urgent' messages={messages} />\n </div>\n );\n // Initial setting of appName and mapChildren\n useEffect(() => {\n setAppName(PCore.getEnvironmentInfo().getApplicationName() || '');\n\n const tempMap: any = (pConn.getChildren() as any)?.map((child: any, index) => {\n const theChildComp = child.getPConnect().getComponentName();\n const theKey = `.${index}`;\n return (\n <div id={theChildComp} key={theKey} style={{ border: 'solid 1px silver', margin: '1px' }}>\n {theChildComp} will be here\n </div>\n );\n });\n\n setMapChildren(tempMap);\n }, []);\n\n useEffect(() => {\n // @ts-expect-error\n const caseTypesAvailableToCreateDP = PCore.getEnvironmentInfo().environmentInfoObject?.pxApplication?.pyCaseTypesAvailableToCreateDP;\n if (caseTypesAvailableToCreateDP) {\n const portalID = pConn.getValue('.pyOwner');\n PCore.getDataPageUtils()\n .getPageDataAsync(caseTypesAvailableToCreateDP, pConn.getContextName(), {\n PortalName: portalID\n })\n .then((response: { pyCaseTypesAvailableToCreate?: any }) => {\n if (response?.pyCaseTypesAvailableToCreate) {\n pConn.replaceState('.pyCaseTypesAvailableToCreate', response.pyCaseTypesAvailableToCreate, {\n skipDirtyValidation: true\n });\n }\n });\n }\n }, []);\n\n const [iconURL, setIconURL] = useState('');\n const [fullIconURL, setFullIconURL] = useState('');\n useEffect(() => {\n // using the default icon then fetch it from the static folder (not auth involved)\n if (\n !portalLogo ||\n portalLogo.toLowerCase().includes('pzpega-logo-mark') ||\n portalLogo.toLowerCase().includes('py-logo') ||\n portalLogo.toLowerCase().includes('py-full-logo')\n ) {\n const portalLogoImage = Utils.getIconPath(Utils.getSDKStaticConentUrl()).concat('pzpega-logo-mark.svg');\n setIconURL(portalLogoImage);\n setFullIconURL(`${Utils.getSDKStaticConentUrl()}static/py-full-logo.svg`);\n }\n // not using default icon to fetch it using the way which uses authentication\n else {\n PCore.getAssetLoader()\n .getSvcImage(portalLogo)\n .then(blob => window.URL.createObjectURL(blob))\n .then(data => {\n setIconURL(data);\n setFullIconURL(data);\n })\n .catch(() => {\n console.error(`${localizedVal('Unable to load the image for the portal logo/icon with the insName', 'AppShell')}:${portalLogo}`);\n });\n }\n }, [portalLogo]);\n\n useEffect(() => {\n if (imageKey && portalTemplate === 'wss') {\n PCore.getAssetLoader()\n .getSvcImage(imageKey)\n .then(blob => window.URL.createObjectURL(blob))\n .then(imagePath => setImageBlobUrl(imagePath));\n }\n }, []);\n\n const getOperator = () => {\n return {\n avatar: portalTemplate !== 'wss' ? <Avatar /> : { name: userName, imageSrc: imageBlobUrl },\n name: userName,\n currentUserInitials\n };\n };\n\n function showPage(viewName, className) {\n actionsAPI.showPage(viewName, className);\n }\n\n function openURL(URL) {\n window.open(URL, '_blank');\n }\n\n const links = !pages\n ? []\n : pages.map(page => {\n const name = localizedVal(page.pyLabel, '', localeReference);\n return {\n text: name,\n name,\n icon: page.pxPageViewIcon.replace('pi pi-', ''),\n active: page.pyRuleName === activeTab,\n onClick: () => (!page.pyURLContent || page.pyURLContent === '' ? showPage(page.pyRuleName, page.pyClassName) : openURL(page.pyURLContent))\n };\n });\n\n if (pConn.hasChildren()) {\n // const theChildren = pConn.getChildren();\n // const mapChildCompNames = theChildren.map((child) => { return child.getPConnect().getComponentName()});\n // debugging/investigation help\n // console.log(`AppShell has children: ${theChildren.length}`);\n // console.log(`--> ${mapChildCompNames.map((name) => {return name;})}`);\n }\n\n if (portalTemplate === 'wss') {\n return (\n <div id='AppShell' className={classes.root}>\n <WssNavBar\n portalName={portalName}\n imageSrc={iconURL}\n fullImageSrc={fullIconURL}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n appInfo={{\n imageSrc: iconURL,\n appName: localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()),\n onClick: links[0] && /* links[0].onClick ? */ links[0].onClick /* : undefined */\n }}\n navLinks={links.filter((link, index) => {\n return index !== 0;\n })}\n operator={getOperator()}\n navDisplayOptions={navDisplayOptions}\n />\n <div className={classes.wsscontent}>\n {banners}\n {children}\n </div>\n </div>\n );\n }\n\n return (\n <NavContext.Provider value={{ open, setOpen }}>\n <div id='AppShell' className={classes.root} style={{ display: 'flex' }}>\n <NavBar\n getPConnect={getPConnect}\n pConn={getPConnect()}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n pages={pages}\n caseTypes={caseTypes}\n />\n\n <div className={classes.content}>\n {banners}\n {children}\n </div>\n </div>\n </NavContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, useEffect, useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Avatar from '@mui/material/Avatar';\n\nimport { Utils } from '../../helpers/utils';\nimport { NavContext } from '../../helpers/reactContextHelpers';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\nimport './AppShell.css';\n\ninterface AppShellProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showAppName: boolean;\n pages: {\n pxPageViewIcon: string;\n pyClassName: string;\n pyLabel: string;\n pyRuleName: string;\n pyURLContent: string;\n }[];\n caseTypes?: object[];\n portalTemplate: string;\n portalName: string;\n portalLogo: string;\n navDisplayOptions: { alignment: string; position: string };\n httpMessages: string[];\n pageMessages: string[];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n content: {\n flexGrow: 1,\n height: '100vh',\n overflow: 'auto',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n wsscontent: {\n flexGrow: 1,\n height: '100vh',\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1)\n }\n}));\n\nexport default function AppShell(props: PropsWithChildren<AppShellProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const NavBar = getComponentFromMap('NavBar');\n const WssNavBar = getComponentFromMap('WssNavBar');\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const {\n pages = [],\n caseTypes = [],\n showAppName,\n children = [],\n getPConnect,\n httpMessages = [],\n pageMessages = [],\n portalTemplate,\n portalName,\n portalLogo,\n navDisplayOptions\n } = props;\n\n const [open, setOpen] = useState(true);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [activeTab, setActiveTab] = useState(!pages ? null : pages[0]?.pyRuleName);\n const pConn = getPConnect();\n const envInfo = PCore.getEnvironmentInfo();\n const imageKey = envInfo.getOperatorImageInsKey();\n const userName = envInfo.getOperatorName() || '';\n const currentUserInitials = Utils.getInitials(userName);\n const appNameToDisplay = showAppName ? envInfo.getApplicationLabel() : '';\n const portalClass = pConn.getValue('.classID', ''); // 2nd arg empty string until typedef marked correctly\n const envPortalName = envInfo.getPortalName();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n\n const classes = useStyles();\n const actionsAPI = pConn.getActionsApi();\n const localeReference = pConn.getValue('.pyLocaleReference', ''); // 2nd arg empty string until typedef marked correctly\n const [imageBlobUrl, setImageBlobUrl] = useState<string | Blob | null>(null);\n // useState for appName and mapChildren - note these are ONLY updated once (on component mount!)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [appName, setAppName] = useState('');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [mapChildren, setMapChildren] = useState([]);\n\n const messages = [...httpMessages, ...pageMessages];\n\n const hasBanner = messages && messages.length ? messages.length > 0 : false;\n let banners: any = null;\n banners = hasBanner && (\n <div style={{ display: 'flex', flexDirection: 'column', padding: '1em 0' }}>\n <AlertBanner id='AppShell' variant='urgent' messages={messages} />\n </div>\n );\n // Initial setting of appName and mapChildren\n useEffect(() => {\n setAppName(PCore.getEnvironmentInfo().getApplicationName() || '');\n\n const tempMap: any = (pConn.getChildren() as any)?.map((child: any, index) => {\n const theChildComp = child.getPConnect().getComponentName();\n const theKey = `.${index}`;\n return (\n <div id={theChildComp} key={theKey} style={{ border: 'solid 1px silver', margin: '1px' }}>\n {theChildComp} will be here\n </div>\n );\n });\n\n setMapChildren(tempMap);\n }, []);\n\n useEffect(() => {\n // @ts-expect-error\n const caseTypesAvailableToCreateDP = PCore.getEnvironmentInfo().environmentInfoObject?.pxApplication?.pyCaseTypesAvailableToCreateDP;\n if (caseTypesAvailableToCreateDP) {\n const portalID = pConn.getValue('.pyOwner');\n PCore.getDataPageUtils()\n .getPageDataAsync(caseTypesAvailableToCreateDP, pConn.getContextName(), {\n PortalName: portalID\n })\n .then((response: { pyCaseTypesAvailableToCreate?: any }) => {\n if (response?.pyCaseTypesAvailableToCreate) {\n pConn.replaceState('.pyCaseTypesAvailableToCreate', response.pyCaseTypesAvailableToCreate, {\n skipDirtyValidation: true\n });\n }\n });\n }\n }, []);\n\n const [iconURL, setIconURL] = useState<string | Blob>('');\n const [fullIconURL, setFullIconURL] = useState<string | Blob>('');\n useEffect(() => {\n // using the default icon then fetch it from the static folder (not auth involved)\n if (\n !portalLogo ||\n portalLogo.toLowerCase().includes('pzpega-logo-mark') ||\n portalLogo.toLowerCase().includes('py-logo') ||\n portalLogo.toLowerCase().includes('py-full-logo')\n ) {\n const portalLogoImage = Utils.getIconPath(Utils.getSDKStaticConentUrl()).concat('pzpega-logo-mark.svg');\n setIconURL(portalLogoImage);\n setFullIconURL(`${Utils.getSDKStaticConentUrl()}static/py-full-logo.svg`);\n }\n // not using default icon to fetch it using the way which uses authentication\n else {\n PCore.getAssetLoader()\n .getSvcImageUrl(portalLogo)\n .then(data => {\n setIconURL(data);\n setFullIconURL(data);\n })\n .catch(() => {\n console.error(`${localizedVal('Unable to load the image for the portal logo/icon with the insName', 'AppShell')}:${portalLogo}`);\n });\n }\n }, [portalLogo]);\n\n useEffect(() => {\n if (imageKey && portalTemplate === 'wss') {\n PCore.getAssetLoader()\n .getSvcImageUrl(imageKey)\n .then(imagePath => setImageBlobUrl(imagePath));\n }\n }, []);\n\n const getOperator = () => {\n return {\n avatar: portalTemplate !== 'wss' ? <Avatar /> : { name: userName, imageSrc: imageBlobUrl },\n name: userName,\n currentUserInitials\n };\n };\n\n function showPage(viewName, className) {\n actionsAPI.showPage(viewName, className);\n }\n\n function openURL(URL) {\n window.open(URL, '_blank');\n }\n\n const links = !pages\n ? []\n : pages.map(page => {\n const name = localizedVal(page.pyLabel, '', localeReference);\n return {\n text: name,\n name,\n icon: page.pxPageViewIcon.replace('pi pi-', ''),\n active: page.pyRuleName === activeTab,\n onClick: () => (!page.pyURLContent || page.pyURLContent === '' ? showPage(page.pyRuleName, page.pyClassName) : openURL(page.pyURLContent))\n };\n });\n\n if (pConn.hasChildren()) {\n // const theChildren = pConn.getChildren();\n // const mapChildCompNames = theChildren.map((child) => { return child.getPConnect().getComponentName()});\n // debugging/investigation help\n // console.log(`AppShell has children: ${theChildren.length}`);\n // console.log(`--> ${mapChildCompNames.map((name) => {return name;})}`);\n }\n\n if (portalTemplate === 'wss') {\n return (\n <div id='AppShell' className={classes.root}>\n <WssNavBar\n portalName={portalName}\n imageSrc={iconURL}\n fullImageSrc={fullIconURL}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n appInfo={{\n imageSrc: iconURL,\n appName: localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()),\n onClick: links[0] && /* links[0].onClick ? */ links[0].onClick /* : undefined */\n }}\n navLinks={links.filter((link, index) => {\n return index !== 0;\n })}\n operator={getOperator()}\n navDisplayOptions={navDisplayOptions}\n />\n <div className={classes.wsscontent}>\n {banners}\n {children}\n </div>\n </div>\n );\n }\n\n return (\n <NavContext.Provider value={{ open, setOpen }}>\n <div id='AppShell' className={classes.root} style={{ display: 'flex' }}>\n <NavBar\n getPConnect={getPConnect}\n pConn={getPConnect()}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n pages={pages}\n caseTypes={caseTypes}\n />\n\n <div className={classes.content}>\n {banners}\n {children}\n </div>\n </div>\n </NavContext.Provider>\n );\n}\n"]}
@@ -1,6 +1,8 @@
1
1
  import type { PropsWithChildren } from 'react';
2
2
  import type { PConnProps } from '../../../types/PConnProps';
3
3
  interface CaseSummaryProps extends PConnProps {
4
+ arPrimaryFields: any[];
5
+ arSecondaryFields: any[];
4
6
  }
5
7
  export default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>): import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CaseSummary.d.ts","sourceRoot":"","sources":["../../../../src/components/template/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,gBAAiB,SAAQ,UAAU;CAE5C;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,2CAuF7E"}
1
+ {"version":3,"file":"CaseSummary.d.ts","sourceRoot":"","sources":["../../../../src/components/template/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,gBAAiB,SAAQ,UAAU;IAE3C,eAAe,EAAE,GAAG,EAAE,CAAC;IACvB,iBAAiB,EAAE,GAAG,EAAE,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,2CAY7E"}
@@ -3,73 +3,7 @@ import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
3
3
  export default function CaseSummary(props) {
4
4
  // Get emitted components from map (so we can get any override that may exist)
5
5
  const CaseSummaryFields = getComponentFromMap('CaseSummaryFields');
6
- const { getPConnect, children } = props;
7
- const thePConn = getPConnect();
8
- const theConfigProps = thePConn.getConfigProps();
9
- // const { status, showStatus } = theConfigProps;
10
- const status = theConfigProps.status;
11
- const showStatus = theConfigProps.showStatus;
12
- const localizedVal = PCore.getLocaleUtils().getLocaleValue;
13
- const localeCategory = 'ModalContainer';
14
- // from Constellation DX Components
15
- // get the primary and secondary fields with the raw data (which has the non-resolved property values)
16
- // const regionsRaw = getPConnect().getRawMetadata().children;
17
- // const primaryFieldsRaw = regionsRaw[0].children;
18
- // const secondaryFieldsRaw = regionsRaw[1].children;
19
- // From other SDKs
20
- // may want to move these into useEffect/useState combo
21
- let arPrimaryFields = [];
22
- let arSecondaryFields = [];
23
- function prepareComponentInCaseSummary(pConnectMeta, getPConnect) {
24
- const { config, children } = pConnectMeta;
25
- const pConnect = getPConnect();
26
- const caseSummaryComponentObject = {};
27
- const { type } = pConnectMeta;
28
- const createdComponent = pConnect.createComponent({
29
- type,
30
- children: children ? [...children] : [],
31
- config: {
32
- ...config
33
- }
34
- });
35
- caseSummaryComponentObject.value = createdComponent;
36
- return caseSummaryComponentObject;
37
- }
38
- function prepareCaseSummaryData(summaryFieldChildren) {
39
- const convertChildrenToSummaryData = kid => {
40
- return kid?.map((childItem, index) => {
41
- const childMeta = childItem.getPConnect().meta;
42
- const caseSummaryComponentObject = prepareComponentInCaseSummary(childMeta, childItem.getPConnect);
43
- caseSummaryComponentObject.id = index + 1;
44
- return caseSummaryComponentObject;
45
- });
46
- };
47
- return summaryFieldChildren ? convertChildrenToSummaryData(summaryFieldChildren?.getChildren()) : undefined;
48
- }
49
- for (const child of children) {
50
- const childPConn = child.props.getPConnect();
51
- const childPConnData = childPConn.resolveConfigProps(childPConn.getRawMetadata());
52
- if (childPConnData.name.toLowerCase() === 'primary fields') {
53
- arPrimaryFields = childPConnData.children;
54
- arPrimaryFields.forEach(field => {
55
- if (field.config?.value && typeof field.config?.value === 'string') {
56
- field.config.value = localizedVal(field.config.value, localeCategory);
57
- }
58
- });
59
- }
60
- else if (childPConnData.name.toLowerCase() === 'secondary fields') {
61
- const secondarySummaryFields = prepareCaseSummaryData(childPConn);
62
- arSecondaryFields = childPConnData.children;
63
- arSecondaryFields.forEach((field, index) => {
64
- field.config.displayLabel = secondarySummaryFields[index]?.value?.props?.label;
65
- });
66
- }
67
- }
68
- // At this point, should hand off to another component for layout and rendering
69
- // of primary and secondary fields in the Case Summary
70
- // debugging/investigation help
71
- // console.log(`CaseSummary: arPrimaryFields: ${JSON.stringify(arPrimaryFields)}`);
72
- // console.log(`CaseSummary: arSecondaryFields: ${JSON.stringify(arSecondaryFields)}`);
73
- return (_jsxs("div", { id: 'CaseSummary', children: [_jsx(CaseSummaryFields, { status: status, showStatus: showStatus, theFields: arPrimaryFields }), _jsx(CaseSummaryFields, { theFields: arSecondaryFields })] }));
6
+ const { arPrimaryFields, arSecondaryFields } = props;
7
+ return (_jsxs("div", { id: 'CaseSummary', children: [_jsx(CaseSummaryFields, { theFields: arPrimaryFields }), _jsx(CaseSummaryFields, { theFields: arSecondaryFields })] }));
74
8
  }
75
9
  //# sourceMappingURL=CaseSummary.js.map