@pega/custom-dx-components 0.24.3 → 0.24.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 (119) hide show
  1. package/package.json +1 -1
  2. package/src/tasks/bundle/builder/webpack.config.js +15 -1
  3. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/index.tsx.mustache +11 -0
  4. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/utils.ts.mustache +3 -0
  5. package/src/tasks/create/templates/Constellation/Field/Text/index.tsx.mustache +94 -4
  6. package/src/tasks/create/templates/Constellation/Template/DETAILS/DetailsRender.tsx +58 -0
  7. package/src/tasks/create/templates/Constellation/Template/DETAILS/HighlightRender.tsx +50 -0
  8. package/src/tasks/create/templates/Constellation/Template/DETAILS/index.tsx.mustache +38 -24
  9. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/DetailsRender.tsx +58 -0
  10. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/HighlightRender.tsx +50 -0
  11. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/index.tsx.mustache +45 -23
  12. package/src/tasks/create/templates/Constellation/Template/FORM/DetailsRender.tsx +58 -0
  13. package/src/tasks/create/templates/Constellation/Template/FORM/index.tsx.mustache +31 -5
  14. package/src/tasks/create/templates/Constellation/Template/FORM-region/DetailsRender.tsx +58 -0
  15. package/src/tasks/create/templates/Constellation/Template/FORM-region/index.tsx.mustache +28 -6
  16. package/src/tasks/create/templates/Constellation/Template/PAGE/GetNextWork.tsx.mustache +2 -1
  17. package/src/tasks/init/template/package.json.mustache +1 -1
  18. package/src/tasks/init/template/tsconfig.build.json +3 -1
  19. package/tests/assets/components/create/Pega_DXIL_MyDetails.zip +0 -0
  20. package/tests/assets/components/create/Pega_DXIL_MyTestText/demo.stories.tsx +0 -3
  21. package/tests/assets/components/create/Pega_DXIL_MyTestText/index.tsx +94 -4
  22. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyBoolean/demo.stories.tsx +3 -13
  23. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyBoolean/index.tsx +8 -5
  24. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCaseWidget/demo.stories.tsx +3 -2
  25. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCurrency/demo.stories.tsx +2 -9
  26. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCurrency/mock.ts +2 -0
  27. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDate/demo.stories.tsx +8 -19
  28. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDateTime/demo.stories.tsx +7 -18
  29. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDateTime/mock.ts +1 -0
  30. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDecimal/demo.stories.tsx +1 -7
  31. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDecimal/mock.ts +1 -0
  32. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/DetailsRender.tsx +58 -0
  33. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/HighlightRender.tsx +50 -0
  34. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/demo.stories.tsx +5 -5
  35. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/index.tsx +35 -21
  36. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails.zip +0 -0
  37. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyEmail/demo.stories.tsx +1 -5
  38. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyForm/DetailsRender.tsx +58 -0
  39. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyForm/demo.stories.tsx +5 -3
  40. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyForm/index.tsx +28 -5
  41. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyInteger/demo.stories.tsx +2 -6
  42. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPage/GetNextWork.tsx +2 -1
  43. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPage/demo.stories.tsx +4 -3
  44. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +5 -4
  45. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPageWidget/demo.stories.tsx +5 -8
  46. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyParagraph/demo.stories.tsx +1 -5
  47. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyParagraph/mock.ts +1 -0
  48. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPercentage/demo.stories.tsx +2 -6
  49. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPercentage/mock.ts +1 -0
  50. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPhone/demo.stories.tsx +2 -5
  51. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPhone/mock.ts +1 -0
  52. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPicklist/demo.stories.tsx +2 -6
  53. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPicklist/mock.ts +1 -0
  54. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyRadioButtons/demo.stories.tsx +1 -7
  55. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MySearchbox/demo.stories.tsx +2 -8
  56. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MySearchbox/index.tsx +11 -0
  57. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MySearchbox/utils.ts +3 -0
  58. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyText/demo.stories.tsx +0 -3
  59. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyText/index.tsx +94 -4
  60. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/demo.stories.tsx +1 -5
  61. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/mock.ts +1 -0
  62. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +5 -15
  63. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +58 -0
  64. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +50 -0
  65. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +5 -5
  66. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/index.tsx +42 -20
  67. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +58 -0
  68. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +4 -2
  69. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/index.tsx +22 -3
  70. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyURL/demo.stories.tsx +1 -5
  71. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyURL/mock.ts +1 -0
  72. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyBoolean/demo.stories.tsx +3 -13
  73. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyBoolean/index.tsx +8 -5
  74. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyCurrency/demo.stories.tsx +2 -9
  75. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyCurrency/mock.ts +2 -0
  76. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDate/demo.stories.tsx +8 -19
  77. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDateTime/demo.stories.tsx +7 -18
  78. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDateTime/mock.ts +1 -0
  79. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDecimal/demo.stories.tsx +1 -7
  80. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDecimal/mock.ts +1 -0
  81. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/DetailsRender.tsx +58 -0
  82. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/HighlightRender.tsx +50 -0
  83. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/demo.stories.tsx +5 -5
  84. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/index.tsx +35 -21
  85. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails.zip +0 -0
  86. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyEmail/demo.stories.tsx +1 -5
  87. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyForm/DetailsRender.tsx +58 -0
  88. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyForm/demo.stories.tsx +5 -3
  89. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyForm/index.tsx +28 -5
  90. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyInteger/demo.stories.tsx +2 -6
  91. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPage/GetNextWork.tsx +2 -1
  92. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPage/demo.stories.tsx +4 -3
  93. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/demo.stories.tsx +5 -8
  94. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyParagraph/demo.stories.tsx +1 -5
  95. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyParagraph/mock.ts +1 -0
  96. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPercentage/demo.stories.tsx +2 -6
  97. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPercentage/mock.ts +1 -0
  98. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPhone/demo.stories.tsx +2 -5
  99. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPhone/mock.ts +1 -0
  100. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPicklist/demo.stories.tsx +2 -6
  101. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPicklist/mock.ts +1 -0
  102. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyRadioButtons/demo.stories.tsx +1 -7
  103. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MySearchbox/demo.stories.tsx +2 -8
  104. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MySearchbox/index.tsx +11 -0
  105. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MySearchbox/utils.ts +3 -0
  106. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyText/demo.stories.tsx +0 -3
  107. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyText/index.tsx +94 -4
  108. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/demo.stories.tsx +1 -5
  109. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/mock.ts +1 -0
  110. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +5 -15
  111. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +58 -0
  112. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +50 -0
  113. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +5 -5
  114. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/index.tsx +42 -20
  115. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +58 -0
  116. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +4 -2
  117. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/index.tsx +22 -3
  118. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyURL/demo.stories.tsx +1 -5
  119. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyURL/mock.ts +1 -0
@@ -20,14 +20,8 @@ export const BasePegaDxilMyPercentage: Story = args => {
20
20
 
21
21
  const props = {
22
22
  value: configProps.value,
23
- placeholder: configProps.placeholder,
24
- label: configProps.label,
25
- helperText: configProps.helperText,
26
- showGroupSeparators: configProps.showGroupSeparators,
27
23
  hasSuggestions: configProps.hasSuggestions,
28
- testId: configProps.testId,
29
24
  fieldMetadata,
30
- validatemessage: '',
31
25
  getPConnect: () => {
32
26
  return {
33
27
  getStateProps: () => {
@@ -57,6 +51,7 @@ export const BasePegaDxilMyPercentage: Story = args => {
57
51
  BasePegaDxilMyPercentage.args = {
58
52
  label: configProps.label,
59
53
  helperText: configProps.helperText,
54
+ placeholder: configProps.placeholder,
60
55
  showGroupSeparators: configProps.showGroupSeparators,
61
56
  testId: configProps.testId,
62
57
  readOnly: configProps.readOnly,
@@ -65,5 +60,6 @@ BasePegaDxilMyPercentage.args = {
65
60
  status: configProps.status,
66
61
  hideLabel: configProps.hideLabel,
67
62
  displayMode: configProps.displayMode,
63
+ variant: configProps.variant,
68
64
  validatemessage: configProps.validatemessage
69
65
  };
@@ -8,6 +8,7 @@ export const configProps = {
8
8
  testId: 'percentage-12345678',
9
9
  hasSuggestions: false,
10
10
  displayMode: '',
11
+ variant: '',
11
12
  hideLabel: false,
12
13
  readOnly: false,
13
14
  required: false,
@@ -19,12 +19,7 @@ export const BasePegaDxilMyPhone: Story = args => {
19
19
 
20
20
  const props = {
21
21
  value: configProps.value,
22
- placeholder: configProps.placeholder,
23
- label: configProps.label,
24
- testId: configProps.testId,
25
22
  hasSuggestions: configProps.hasSuggestions,
26
- datasource: configProps.datasource,
27
- validatemessage: '',
28
23
  getPConnect: () => {
29
24
  return {
30
25
  getStateProps: () => {
@@ -52,6 +47,7 @@ export const BasePegaDxilMyPhone: Story = args => {
52
47
  };
53
48
 
54
49
  BasePegaDxilMyPhone.args = {
50
+ datasource: configProps.datasource,
55
51
  label: configProps.label,
56
52
  helperText: configProps.helperText,
57
53
  placeholder: configProps.placeholder,
@@ -62,5 +58,6 @@ BasePegaDxilMyPhone.args = {
62
58
  status: configProps.status,
63
59
  hideLabel: configProps.hideLabel,
64
60
  displayMode: configProps.displayMode,
61
+ variant: configProps.variant,
65
62
  validatemessage: configProps.validatemessage
66
63
  };
@@ -26,6 +26,7 @@ export const configProps = {
26
26
  testId: 'phone-12345678',
27
27
  hasSuggestions: false,
28
28
  displayMode: '',
29
+ variant: '',
29
30
  hideLabel: false,
30
31
  readOnly: false,
31
32
  required: false,
@@ -23,14 +23,8 @@ export const BasePegaDxilMyPicklist: Story = args => {
23
23
 
24
24
  const props = {
25
25
  value,
26
- placeholder: configProps.placeholder,
27
- label: configProps.label,
28
- helperText: configProps.helperText,
29
- datasource: configProps.datasource,
30
- testId: configProps.testId,
31
26
  hasSuggestions: configProps.hasSuggestions,
32
27
  fieldMetadata,
33
- validatemessage: '',
34
28
  getPConnect: () => {
35
29
  return {
36
30
  getConfigProps: () => {
@@ -84,6 +78,7 @@ export const BasePegaDxilMyPicklist: Story = args => {
84
78
  };
85
79
 
86
80
  BasePegaDxilMyPicklist.args = {
81
+ datasource: configProps.datasource,
87
82
  label: configProps.label,
88
83
  helperText: configProps.helperText,
89
84
  placeholder: configProps.placeholder,
@@ -94,5 +89,6 @@ BasePegaDxilMyPicklist.args = {
94
89
  status: configProps.status,
95
90
  hideLabel: configProps.hideLabel,
96
91
  displayMode: configProps.displayMode,
92
+ variant: configProps.variant,
97
93
  validatemessage: configProps.validatemessage
98
94
  };
@@ -22,6 +22,7 @@ export const configProps = {
22
22
  testId: 'picklist-12345678',
23
23
  hasSuggestions: false,
24
24
  displayMode: '',
25
+ variant: '',
25
26
  hideLabel: false,
26
27
  readOnly: false,
27
28
  required: false,
@@ -23,15 +23,8 @@ export const BasePegaDxilMyRadiobuttons: Story = args => {
23
23
 
24
24
  const props = {
25
25
  value,
26
- placeholder: configProps.placeholder,
27
- label: configProps.label,
28
- helperText: configProps.helperText,
29
- datasource: configProps.datasource,
30
- inline: configProps.inline,
31
- testId: configProps.testId,
32
26
  hasSuggestions: configProps.hasSuggestions,
33
27
  fieldMetadata,
34
- validatemessage: '',
35
28
  getPConnect: () => {
36
29
  return {
37
30
  getConfigProps: () => {
@@ -88,6 +81,7 @@ export const BasePegaDxilMyRadiobuttons: Story = args => {
88
81
  };
89
82
 
90
83
  BasePegaDxilMyRadiobuttons.args = {
84
+ datasource: configProps.datasource,
91
85
  label: configProps.label,
92
86
  helperText: configProps.helperText,
93
87
  placeholder: configProps.placeholder,
@@ -24,19 +24,11 @@ export const BasePegaDxilMySearchbox: Story = args => {
24
24
 
25
25
  const props = {
26
26
  value,
27
- placeholder: configProps.placeholder,
28
- label: configProps.label,
29
- helperText: configProps.helperText,
30
- datasource: configProps.datasource,
31
- testId: configProps.testId,
32
27
  hasSuggestions: configProps.hasSuggestions,
33
28
  columns: [],
34
- isTableFormatter: false,
35
29
  listType: 'associated',
36
- parameters: {},
37
30
  datasourceMetadata,
38
31
  fieldMetadata,
39
- validatemessage: '',
40
32
  getPConnect: () => {
41
33
  return {
42
34
  getConfigProps: () => {
@@ -93,9 +85,11 @@ export const BasePegaDxilMySearchbox: Story = args => {
93
85
  };
94
86
 
95
87
  BasePegaDxilMySearchbox.args = {
88
+ datasource: configProps.datasource,
96
89
  label: configProps.label,
97
90
  helperText: configProps.helperText,
98
91
  placeholder: configProps.placeholder,
92
+ parameters: {},
99
93
  isTableFormatter: false,
100
94
  testId: configProps.testId,
101
95
  readOnly: configProps.readOnly,
@@ -645,12 +645,14 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
645
645
  PCore.getDataApi()
646
646
  .init(dataConfig, contextName)
647
647
  .then(dataObj => {
648
+ // @ts-ignore
648
649
  setDataApiObj(dataObj);
649
650
  // To avoid calling doSearch if someone types/pastes value before the API call is made
650
651
  if (!filterValue)
651
652
  doSearch(
652
653
  '',
653
654
  getDisplayFieldsMetaData(dataConfig.columns),
655
+ // @ts-ignore
654
656
  dataObj,
655
657
  setItems as any,
656
658
  setLoading,
@@ -677,6 +679,7 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
677
679
  PCore.getDataApi()
678
680
  .init(dataConfig, contextName)
679
681
  .then(dataObj => {
682
+ // @ts-ignore
680
683
  setDataApiObj(dataObj);
681
684
  // To avoid calling doSearch if someone types/pastes value before the API call is made
682
685
  if (!filterValue) {
@@ -692,6 +695,7 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
692
695
  doSearch(
693
696
  '',
694
697
  getDisplayFieldsMetaData(dataConfig.columns),
698
+ // @ts-ignore
695
699
  dataObj,
696
700
  setItems as any,
697
701
  setLoading,
@@ -711,6 +715,7 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
711
715
  doSearch(
712
716
  '',
713
717
  getDisplayFieldsMetaData(dataConfig.columns),
718
+ // @ts-ignore
714
719
  dataObj,
715
720
  setItems as any,
716
721
  setLoading,
@@ -770,10 +775,14 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
770
775
  PCore.getDataApi()
771
776
  .init(dataConfig, contextName)
772
777
  .then(dataObj => {
778
+ // @ts-ignore
773
779
  setDataApiObj(dataObj);
780
+ // @ts-ignore
774
781
  buildColumnForDisplayValue(dataObj);
775
782
  // SET matchPosition to EQUALS to return exact matching record
783
+ // @ts-ignore
776
784
  dataObj.matchPosition = 'equals';
785
+ // @ts-ignore
777
786
  dataObj
778
787
  .fetchData(value)
779
788
  .then((displayResponse: { data: Array<never> }) => {
@@ -822,11 +831,13 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
822
831
  setSelected(searchedItem[0]);
823
832
  setActualValue(value);
824
833
  // RESET matchPosition
834
+ // @ts-ignore
825
835
  dataObj.matchPosition = dataConfig.matchPosition;
826
836
  })
827
837
  .catch(() => {
828
838
  setActualValue(value);
829
839
  // RESET matchPosition
840
+ // @ts-ignore
830
841
  dataObj.matchPosition = dataConfig.matchPosition;
831
842
  });
832
843
  });
@@ -181,7 +181,9 @@ export const updatePropertiesForNewRecord = (
181
181
  setDataApiObj(dataObj);
182
182
  buildColumnForDisplayValue(dataObj);
183
183
  // SET matchPosition to EQUALS to return exact matching record
184
+ // @ts-ignore
184
185
  dataObj.matchPosition = 'equals';
186
+ // @ts-ignore
185
187
  dataObj
186
188
  .fetchData(newCaseId)
187
189
  // @ts-ignore
@@ -212,6 +214,7 @@ export const updatePropertiesForNewRecord = (
212
214
  })
213
215
  .finally(() => {
214
216
  // RESET matchPosition
217
+ // @ts-ignore
215
218
  dataObj.matchPosition = dataConfig.matchPosition;
216
219
  });
217
220
  });
@@ -23,9 +23,6 @@ export const BasePegaDxilMyText: Story = args => {
23
23
 
24
24
  const props = {
25
25
  value,
26
- placeholder: configProps.placeholder,
27
- label: configProps.label,
28
- testId: configProps.testId,
29
26
  hasSuggestions: configProps.hasSuggestions,
30
27
 
31
28
  getPConnect: () => {
@@ -1,4 +1,12 @@
1
- import { Input, withConfiguration } from '@pega/cosmos-react-core';
1
+ import {
2
+ Input,
3
+ FieldValueList,
4
+ Text,
5
+ EmailDisplay,
6
+ PhoneDisplay,
7
+ URLDisplay,
8
+ withConfiguration
9
+ } from '@pega/cosmos-react-core';
2
10
 
3
11
  import type { PConnFieldProps } from './PConnProps';
4
12
 
@@ -7,7 +15,9 @@ import StyledPegaDxilMyTextWrapper from './styles';
7
15
  // interface for props
8
16
  interface PegaDxilMyTextProps extends PConnFieldProps {
9
17
  // If any, enter additional props that only exist on TextInput here
10
-
18
+ isTableFormatter?: boolean;
19
+ formatter: string;
20
+ variant?: any;
11
21
  }
12
22
 
13
23
  // interface for StateProps object
@@ -16,23 +26,103 @@ interface StateProps {
16
26
  hasSuggestions: boolean;
17
27
  }
18
28
 
19
- // Duplicated runtime code from Constellation Design System Component
29
+ export const formatExists = (formatterVal: string) => {
30
+ const formatterValues = [
31
+ 'TextInput',
32
+ 'WorkStatus',
33
+ 'RichText',
34
+ 'Email',
35
+ 'Phone',
36
+ 'URL',
37
+ 'Operator'
38
+ ];
39
+ let isformatter = false;
40
+ if (formatterValues.includes(formatterVal)) {
41
+ isformatter = true;
42
+ }
43
+ return isformatter;
44
+ };
45
+
46
+ export const textFormatter = (formatter: string, value: string) => {
47
+ let displayComponent: any = null;
48
+ switch (formatter) {
49
+ case 'TextInput': {
50
+ displayComponent = value;
51
+ break;
52
+ }
53
+ case 'Email': {
54
+ displayComponent = <EmailDisplay value={value} displayText={value} variant='link' />;
55
+ break;
56
+ }
57
+ case 'Phone': {
58
+ displayComponent = <PhoneDisplay value={value} variant='link' />;
59
+ break;
60
+ }
61
+ case 'URL': {
62
+ displayComponent = (
63
+ <URLDisplay target='_blank' value={value} displayText={value} variant='link' />
64
+ );
65
+ break;
66
+ }
67
+ // no default
68
+ }
69
+ return displayComponent;
70
+ };
20
71
 
21
72
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
22
73
  // any default values in config.pros should be set in defaultProps at bottom of this file
23
74
  function PegaDxilMyText(props: PegaDxilMyTextProps) {
24
- const { getPConnect, value, placeholder, disabled = false, readOnly = false, required = false, label, hideLabel = false, testId } = props;
75
+ const { getPConnect, value, placeholder, disabled = false, displayMode, readOnly = false, required = false, label, hideLabel = false, testId, isTableFormatter = false, variant = 'inline' } = props;
25
76
 
26
77
  const pConn = getPConnect();
27
78
  const actions = pConn.getActionsApi();
28
79
  const stateProps = pConn.getStateProps() as StateProps;
29
80
  const propName: string = stateProps.value;
81
+ const { formatter } = props;
30
82
 
31
83
  const handleOnChange = (event: any) => {
32
84
  const { value: updatedValue } = event.target;
33
85
  actions.updateFieldValue(propName, updatedValue);
34
86
  };
35
87
 
88
+ if (displayMode === 'LABELS_LEFT' || displayMode === 'DISPLAY_ONLY') {
89
+ let displayComp = value || <span aria-hidden='true'>&ndash;&ndash;</span>;
90
+ if (isTableFormatter && formatExists(formatter)) {
91
+ displayComp = textFormatter(formatter, value);
92
+ }
93
+ return displayMode === 'DISPLAY_ONLY' ? (
94
+ <StyledPegaDxilMyTextWrapper> {displayComp} </StyledPegaDxilMyTextWrapper>
95
+ ) : (
96
+ <StyledPegaDxilMyTextWrapper>
97
+ <FieldValueList
98
+ variant={hideLabel ? 'stacked' : variant}
99
+ data-testid={testId}
100
+ fields={[{ id: '1', name: hideLabel ? '' : label, value: displayComp }]}
101
+ />
102
+ </StyledPegaDxilMyTextWrapper>
103
+ );
104
+ }
105
+
106
+ if (displayMode === 'STACKED_LARGE_VAL') {
107
+ const isValDefined = typeof value !== 'undefined' && value !== '';
108
+ const val = isValDefined ? (
109
+ <Text variant='h1' as='span'>
110
+ {value}
111
+ </Text>
112
+ ) : (
113
+ ''
114
+ );
115
+ return (
116
+ <StyledPegaDxilMyTextWrapper>
117
+ <FieldValueList
118
+ variant='stacked'
119
+ data-testid={testId}
120
+ fields={[{ id: '2', name: hideLabel ? '' : label, value: val }]}
121
+ />
122
+ </StyledPegaDxilMyTextWrapper>
123
+ );
124
+ }
125
+
36
126
  return (
37
127
  <StyledPegaDxilMyTextWrapper>
38
128
  <Input
@@ -20,13 +20,8 @@ export const BasePegaDxilMyTextInput: Story = args => {
20
20
 
21
21
  const props = {
22
22
  value: configProps.value,
23
- placeholder: configProps.placeholder,
24
- label: configProps.label,
25
- helperText: configProps.helperText,
26
- testId: configProps.testId,
27
23
  hasSuggestions: configProps.hasSuggestions,
28
24
  fieldMetadata,
29
- validatemessage: '',
30
25
  getPConnect: () => {
31
26
  return {
32
27
  getStateProps: () => {
@@ -64,5 +59,6 @@ BasePegaDxilMyTextInput.args = {
64
59
  status: configProps.status,
65
60
  hideLabel: configProps.hideLabel,
66
61
  displayMode: configProps.displayMode,
62
+ variant: configProps.variant,
67
63
  validatemessage: configProps.validatemessage
68
64
  };
@@ -8,6 +8,7 @@ export const configProps = {
8
8
  testId: 'TextInput-12345678',
9
9
  hasSuggestions: false,
10
10
  displayMode: '',
11
+ variant: '',
11
12
  hideLabel: false,
12
13
  readOnly: false,
13
14
  required: false,
@@ -15,6 +15,9 @@ type Story = StoryObj<typeof PegaDxilMyTimeOfDay>;
15
15
 
16
16
  export const BasePegaDxilMyTimeOfDay: Story = args => {
17
17
  const props = {
18
+ value: configProps.value,
19
+ additionalProps: configProps.additionalProps,
20
+ hasSuggestions: configProps.hasSuggestions,
18
21
  getPConnect: () => {
19
22
  return {
20
23
  getActionsApi: () => {
@@ -37,21 +40,7 @@ export const BasePegaDxilMyTimeOfDay: Story = args => {
37
40
  ignoreSuggestion: () => {/* nothing */},
38
41
  clearErrorMessages: () => {/* nothing */}
39
42
  };
40
- },
41
- value: configProps.value,
42
- validatemessage: configProps.validatemessage,
43
- label: configProps.label,
44
- hideLabel: configProps.hideLabel,
45
- helperText: configProps.helperText,
46
- withSeconds: configProps.withSeconds,
47
- testId: configProps.testId,
48
- additionalProps: configProps.additionalProps,
49
- displayMode: configProps.displayMode,
50
- variant: configProps.variant,
51
- hasSuggestions: configProps.hasSuggestions,
52
- disabled: configProps.disabled,
53
- readOnly: configProps.readOnly,
54
- required: configProps.required
43
+ }
55
44
  };
56
45
 
57
46
  return (
@@ -72,5 +61,6 @@ BasePegaDxilMyTimeOfDay.args = {
72
61
  status: configProps.status,
73
62
  hideLabel: configProps.hideLabel,
74
63
  displayMode: configProps.displayMode,
64
+ variant: configProps.variant,
75
65
  validatemessage: configProps.validatemessage
76
66
  };
@@ -0,0 +1,58 @@
1
+ import { Fragment, ReactElement } from 'react';
2
+ import { FieldValueList } from '@pega/cosmos-react-core';
3
+
4
+ interface DetailsRenderProps {
5
+ children?: never;
6
+ child: NonNullable<ReactElement>;
7
+ }
8
+
9
+ const DetailsRender = (props: DetailsRenderProps) => {
10
+ const { child } = props;
11
+
12
+ const kids = child.props.getPConnect().getChildren();
13
+
14
+ const displayCompArr: ReactElement[] = [];
15
+
16
+ Object.values(kids).forEach((value: any) => {
17
+ const { type } = value.getPConnect().getRawMetadata();
18
+ const { hideLabel, variant, testId, label } = value
19
+ .getPConnect()
20
+ .resolveConfigProps(value.getPConnect().getConfigProps());
21
+
22
+ let displayComp;
23
+ const key = JSON.stringify(value.getPConnect());
24
+
25
+ if (type === 'reference') {
26
+ const refElement = value.getPConnect().getComponent();
27
+
28
+ displayCompArr.push(refElement);
29
+ } else {
30
+ const element = value.getPConnect().getComponent();
31
+ const displayEl = <Fragment key={key}>{element}</Fragment>;
32
+
33
+ const fvlStyle = {
34
+ myColGap: {
35
+ columnGap: '0'
36
+ }
37
+ };
38
+
39
+ // const myEl = <div>boo</div>;
40
+ displayComp = (
41
+ <Fragment key={key}>
42
+ <FieldValueList
43
+ style={fvlStyle.myColGap}
44
+ variant={hideLabel ? 'stacked' : variant}
45
+ data-testid={testId}
46
+ fields={[{ id: '1', name: hideLabel ? '' : label, value: displayEl }]}
47
+ />
48
+ </Fragment>
49
+ );
50
+
51
+ displayCompArr.push(displayComp);
52
+ }
53
+ });
54
+
55
+ return <>{displayCompArr}</>;
56
+ };
57
+
58
+ export default DetailsRender;
@@ -0,0 +1,50 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
+ import React from 'react';
3
+ import { FieldValueList, Text } from '@pega/cosmos-react-core';
4
+
5
+ const HighlightRender = (data: any) => {
6
+ const { getPConnect } = data.props;
7
+ const { field } = data;
8
+
9
+ field.config['displayMode'] = 'DISPLAY_ONLY';
10
+
11
+ // Mark as status display when using pyStatusWork
12
+ if (field.config?.value === '@P .pyStatusWork') {
13
+ field.type = 'TextInput';
14
+ field.config.displayAsStatus = true;
15
+ }
16
+
17
+ const configProps = getPConnect().resolveConfigProps(field.config);
18
+
19
+ // field.config = configProps;
20
+
21
+ const reactField = getPConnect().createComponent(field);
22
+ // const reactField = field.getPConnect().getComponent();
23
+
24
+ const styles = {
25
+ myWidth: {
26
+ width: 'auto'
27
+ }
28
+ };
29
+
30
+ return (
31
+ <FieldValueList
32
+ style={styles.myWidth}
33
+ variant='stacked'
34
+ data-testid={field.testId}
35
+ fields={[
36
+ {
37
+ id: '2',
38
+ name: configProps.hideLabel ? '' : configProps.label,
39
+ value: (
40
+ <Text variant='h1' as='span'>
41
+ {reactField}
42
+ </Text>
43
+ )
44
+ }
45
+ ]}
46
+ />
47
+ );
48
+ };
49
+
50
+ export default HighlightRender;
@@ -86,10 +86,6 @@ const renderField = resolvedProps => {
86
86
 
87
87
  export const BasePegaDxilMyTwoColumnDetails: Story = args => {
88
88
  const props = {
89
- template: 'MyCo_MyComponents_NewDetailsTemplate',
90
- showHighlightedData: true,
91
- label: 'Test Details',
92
- showLabel: true,
93
89
  getPConnect: () => {
94
90
  return {
95
91
  getChildren: () => {
@@ -148,4 +144,8 @@ export const BasePegaDxilMyTwoColumnDetails: Story = args => {
148
144
  );
149
145
  };
150
146
 
151
- BasePegaDxilMyTwoColumnDetails.args = {};
147
+ BasePegaDxilMyTwoColumnDetails.args = {
148
+ showLabel: true,
149
+ label: 'Details Region template',
150
+ showHighlightedData: true
151
+ };