@pega/custom-dx-components 0.242.36 → 0.242.38

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 (286) hide show
  1. package/package.json +2 -2
  2. package/src/tasks/build-jest-assets/index.js +26 -5
  3. package/src/tasks/create/templates/Constellation/Field/Integer/index.tsx.mustache +0 -3
  4. package/src/tasks/create-all/index.js +1 -0
  5. package/src/tasks/init/template/package.json.mustache +4 -4
  6. package/src/tasks/list/helper.js +8 -0
  7. package/src/tasks/list-lib/index.js +24 -10
  8. package/src/util.js +19 -4
  9. package/tests/assets/library/components/create/Pega_DXIL_MyTestText/config.json +1 -1
  10. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyBoolean/config.json +1 -1
  11. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyCaseWidget/config.json +1 -1
  12. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyCurrency/config.json +1 -1
  13. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyDate/config.json +1 -1
  14. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyDateTime/config.json +1 -1
  15. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyDecimal/config.json +1 -1
  16. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyDetails/config.json +1 -1
  17. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyEmail/config.json +1 -1
  18. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyForm/config.json +1 -1
  19. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/config.json +1 -1
  20. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyInteger/config.json +1 -1
  21. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyInteger/index.tsx +0 -3
  22. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPage/config.json +1 -1
  23. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPageCaseWidget/config.json +1 -1
  24. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPageWidget/config.json +1 -1
  25. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyParagraph/config.json +1 -1
  26. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPercentage/config.json +1 -1
  27. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPhone/config.json +1 -1
  28. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPicklist/config.json +1 -1
  29. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyRadiobuttons/config.json +1 -1
  30. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MySearchbox/config.json +1 -1
  31. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyText/config.json +1 -1
  32. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyTextInput/config.json +1 -1
  33. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyTimeOfDay/config.json +1 -1
  34. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/config.json +1 -1
  35. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/config.json +1 -1
  36. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyURL/config.json +1 -1
  37. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyInteger/index.tsx +0 -3
  38. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyInteger/index.tsx +0 -3
  39. package/tests/functional/localCreatePublishAllDeleteAll.test.js +1 -1
  40. package/tests/functional/localLibCreateLibDeleteLib.test.js +53 -1
  41. package/tests/functional/localLibCreateLibListDeleteLib.test.js +1 -1
  42. package/tests/functional/localLibCreateLibValidateDeleteLib.test.js +227 -0
  43. package/tests/functional/localLibCreateLibVersionDeleteLib.test.js +4 -4
  44. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyBoolean/Boolean.ts +0 -35
  45. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyBoolean/PConnProps.d.ts +0 -46
  46. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyBoolean/boolean-format.ts +0 -25
  47. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyBoolean/config.json +0 -145
  48. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyBoolean/demo.stories.tsx +0 -70
  49. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyBoolean/event-utils.ts +0 -18
  50. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyBoolean/index.tsx +0 -165
  51. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyBoolean/mock.ts +0 -22
  52. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyBoolean/styles.ts +0 -8
  53. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCaseWidget/OneColumnPage.svg +0 -36
  54. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCaseWidget/PConnProps.d.ts +0 -46
  55. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCaseWidget/config.json +0 -23
  56. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCaseWidget/demo.stories.tsx +0 -84
  57. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCaseWidget/index.tsx +0 -72
  58. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCaseWidget/mock.ts +0 -391
  59. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCaseWidget/styles.ts +0 -8
  60. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCurrency/PConnProps.d.ts +0 -46
  61. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCurrency/config.json +0 -291
  62. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCurrency/demo.stories.tsx +0 -68
  63. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCurrency/event-utils.ts +0 -18
  64. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCurrency/index.tsx +0 -279
  65. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCurrency/mock.ts +0 -33
  66. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCurrency/styles.ts +0 -8
  67. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyCurrency/suggestions-handler.ts +0 -9
  68. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/DateFormatter.ts +0 -61
  69. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/FormattedText.tsx +0 -20
  70. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/PConnProps.d.ts +0 -46
  71. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/config.json +0 -199
  72. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/date.ts +0 -439
  73. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/demo.stories.tsx +0 -86
  74. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/index.tsx +0 -260
  75. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/mock.ts +0 -25
  76. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/styles.ts +0 -8
  77. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDate/suggestions-handler.ts +0 -9
  78. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/PConnProps.d.ts +0 -46
  79. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/config.json +0 -256
  80. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/date-time.ts +0 -92
  81. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/date-utils.ts +0 -288
  82. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/date.ts +0 -331
  83. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/demo.stories.tsx +0 -85
  84. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/index.tsx +0 -251
  85. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/mock.ts +0 -27
  86. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/styles.ts +0 -8
  87. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDateTime/suggestions-handler.ts +0 -10
  88. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDecimal/PConnProps.d.ts +0 -46
  89. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDecimal/config.json +0 -278
  90. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDecimal/demo.stories.tsx +0 -63
  91. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDecimal/event-utils.ts +0 -18
  92. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDecimal/index.tsx +0 -244
  93. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDecimal/mock.ts +0 -30
  94. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDecimal/styles.ts +0 -8
  95. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDecimal/suggestions-handler.ts +0 -9
  96. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/Avatar.tsx +0 -76
  97. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/DetailsRender.tsx +0 -52
  98. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/HighlightRender.tsx +0 -46
  99. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/OneColumnDetails.svg +0 -22
  100. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/Operator.tsx +0 -215
  101. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/PConnProps.d.ts +0 -46
  102. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/StatusWork.tsx +0 -26
  103. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/config.json +0 -35
  104. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/demo.stories.tsx +0 -204
  105. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/index.tsx +0 -99
  106. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/mock.ts +0 -248
  107. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/styles.ts +0 -24
  108. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyDetails/utils.js +0 -151
  109. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyEmail/PConnProps.d.ts +0 -46
  110. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyEmail/config.json +0 -111
  111. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyEmail/demo.stories.tsx +0 -63
  112. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyEmail/event-utils.ts +0 -18
  113. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyEmail/index.tsx +0 -212
  114. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyEmail/mock.ts +0 -31
  115. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyEmail/styles.ts +0 -8
  116. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyEmail/suggestions-handler.ts +0 -9
  117. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyForm/DefaultForm.svg +0 -29
  118. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyForm/DetailsRender.tsx +0 -59
  119. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyForm/PConnProps.d.ts +0 -46
  120. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyForm/config.json +0 -45
  121. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyForm/demo.stories.tsx +0 -246
  122. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyForm/index.tsx +0 -68
  123. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyForm/mock.ts +0 -139
  124. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyForm/styles.ts +0 -8
  125. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/PConnProps.d.ts +0 -46
  126. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/config.json +0 -32
  127. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +0 -102
  128. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/index.tsx +0 -212
  129. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/mock.ts +0 -4
  130. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/styles.ts +0 -8
  131. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyInteger/PConnProps.d.ts +0 -46
  132. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyInteger/config.json +0 -344
  133. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyInteger/demo.stories.tsx +0 -63
  134. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyInteger/event-utils.ts +0 -18
  135. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyInteger/index.tsx +0 -305
  136. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyInteger/mock.ts +0 -29
  137. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyInteger/styles.ts +0 -8
  138. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyInteger/suggestions-handler.ts +0 -9
  139. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/GetNextWork.tsx +0 -45
  140. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/OneColumnPage.svg +0 -36
  141. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/PConnProps.d.ts +0 -46
  142. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/config.json +0 -32
  143. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/demo.stories.tsx +0 -111
  144. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/index.tsx +0 -71
  145. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/localizations.json +0 -6
  146. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/mock.ts +0 -94
  147. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/styles.ts +0 -8
  148. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPage/utils.ts +0 -229
  149. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/Avatar.tsx +0 -76
  150. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/OneColumnPage.svg +0 -36
  151. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/Operator.tsx +0 -210
  152. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/PConnProps.d.ts +0 -46
  153. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/config.json +0 -55
  154. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +0 -80
  155. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/index.tsx +0 -89
  156. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/mock.ts +0 -51
  157. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/styles.ts +0 -8
  158. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/OneColumnPage.svg +0 -36
  159. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/PConnProps.d.ts +0 -46
  160. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/config.json +0 -59
  161. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/demo.stories.tsx +0 -118
  162. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/index.tsx +0 -106
  163. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/mock.ts +0 -24
  164. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/styles.ts +0 -8
  165. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyParagraph/PConnProps.d.ts +0 -46
  166. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyParagraph/config.json +0 -111
  167. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyParagraph/demo.stories.tsx +0 -63
  168. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyParagraph/event-utils.ts +0 -18
  169. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyParagraph/index.tsx +0 -210
  170. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyParagraph/mock.ts +0 -28
  171. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyParagraph/styles.ts +0 -8
  172. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyParagraph/suggestions-handler.ts +0 -9
  173. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPercentage/PConnProps.d.ts +0 -46
  174. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPercentage/config.json +0 -93
  175. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPercentage/demo.stories.tsx +0 -64
  176. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPercentage/event-utils.ts +0 -18
  177. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPercentage/index.tsx +0 -262
  178. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPercentage/mock.ts +0 -29
  179. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPercentage/styles.ts +0 -8
  180. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPercentage/suggestions-handler.ts +0 -9
  181. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPhone/PConnProps.d.ts +0 -46
  182. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPhone/config.json +0 -123
  183. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPhone/demo.stories.tsx +0 -61
  184. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPhone/event-utils.ts +0 -18
  185. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPhone/index.tsx +0 -245
  186. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPhone/mock.ts +0 -45
  187. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPhone/styles.ts +0 -8
  188. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPhone/suggestions-handler.ts +0 -9
  189. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPicklist/PConnProps.d.ts +0 -46
  190. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPicklist/config.json +0 -114
  191. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPicklist/demo.stories.tsx +0 -92
  192. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPicklist/event-utils.ts +0 -18
  193. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPicklist/index.tsx +0 -338
  194. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPicklist/mock.ts +0 -76
  195. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPicklist/styles.ts +0 -8
  196. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyPicklist/suggestions-handler.ts +0 -9
  197. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/PConnProps.d.ts +0 -46
  198. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/config.json +0 -113
  199. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/demo.stories.tsx +0 -95
  200. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/event-utils.ts +0 -18
  201. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/index.tsx +0 -191
  202. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/mock.ts +0 -75
  203. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/styles.ts +0 -8
  204. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/suggestions-handler.ts +0 -9
  205. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/textformat-utils.tsx +0 -162
  206. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/PConnProps.d.ts +0 -46
  207. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/component-constants.ts +0 -5
  208. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/config.json +0 -115
  209. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/date.ts +0 -163
  210. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/demo.stories.tsx +0 -100
  211. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/embed-utils.ts +0 -314
  212. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/event-utils.ts +0 -18
  213. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/format-constants.ts +0 -41
  214. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/index.tsx +0 -1144
  215. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/mock.ts +0 -74
  216. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/picklist-utils.ts +0 -88
  217. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/repeat-constants.ts +0 -20
  218. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/repeat-utils.ts +0 -658
  219. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/styles.ts +0 -8
  220. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/suggestions-handler.ts +0 -9
  221. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/textformat-utils.tsx +0 -181
  222. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MySearchbox/utils.ts +0 -221
  223. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyText/PConnProps.d.ts +0 -46
  224. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyText/config.json +0 -55
  225. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyText/demo.stories.tsx +0 -67
  226. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyText/index.tsx +0 -145
  227. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyText/mock.ts +0 -21
  228. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyText/styles.ts +0 -8
  229. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTextInput/PConnProps.d.ts +0 -46
  230. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTextInput/StatusWork.tsx +0 -26
  231. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTextInput/config.json +0 -111
  232. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTextInput/demo.stories.tsx +0 -63
  233. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTextInput/event-utils.ts +0 -18
  234. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTextInput/index.tsx +0 -224
  235. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTextInput/mock.ts +0 -30
  236. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTextInput/styles.ts +0 -8
  237. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTextInput/suggestions-handler.ts +0 -9
  238. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/PConnProps.d.ts +0 -46
  239. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/config.json +0 -185
  240. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +0 -65
  241. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/index.tsx +0 -209
  242. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/mock.ts +0 -21
  243. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/styles.ts +0 -8
  244. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/suggestions-handler.ts +0 -9
  245. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/time-of-day.ts +0 -288
  246. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/Avatar.tsx +0 -76
  247. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +0 -52
  248. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +0 -46
  249. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/Operator.tsx +0 -215
  250. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/PConnProps.d.ts +0 -46
  251. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +0 -26
  252. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/TwoColumnDetails.svg +0 -28
  253. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/config.json +0 -42
  254. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +0 -221
  255. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/index.tsx +0 -86
  256. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/mock.ts +0 -288
  257. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/styles.ts +0 -23
  258. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/utils.ts +0 -149
  259. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +0 -59
  260. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/PConnProps.d.ts +0 -46
  261. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/TwoColumn.svg +0 -38
  262. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/config.json +0 -27
  263. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +0 -192
  264. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/index.tsx +0 -73
  265. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/mock.ts +0 -145
  266. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/styles.ts +0 -8
  267. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyURL/PConnProps.d.ts +0 -46
  268. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyURL/config.json +0 -237
  269. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyURL/demo.stories.tsx +0 -60
  270. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyURL/event-utils.ts +0 -18
  271. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyURL/index.tsx +0 -203
  272. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyURL/mock.ts +0 -30
  273. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyURL/styles.ts +0 -8
  274. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyURL/suggestions-handler.ts +0 -9
  275. package/tests/assets/library/components/createAll/Launchpad/Pega_DXIL_MyURL/text-url.tsx +0 -179
  276. package/tests/assets/library/components/createAll/Launchpad/shared/PConnProps.d.ts +0 -46
  277. package/tests/assets/library/components/createAll/Launchpad/shared/suggestions-handler.ts +0 -9
  278. package/tests/assets/original/components/create/shared/PConnProps.d.ts +0 -46
  279. package/tests/assets/original/components/create/shared/create-nonce.ts +0 -6
  280. package/tests/assets/original/components/create/shared/suggestions-handler.ts +0 -9
  281. package/tests/assets/original/components/createAll/Constellation/shared/PConnProps.d.ts +0 -46
  282. package/tests/assets/original/components/createAll/Constellation/shared/create-nonce.ts +0 -6
  283. package/tests/assets/original/components/createAll/Constellation/shared/suggestions-handler.ts +0 -9
  284. package/tests/assets/original/components/createAll/Launchpad/shared/PConnProps.d.ts +0 -46
  285. package/tests/assets/original/components/createAll/Launchpad/shared/create-nonce.ts +0 -6
  286. package/tests/assets/original/components/createAll/Launchpad/shared/suggestions-handler.ts +0 -9
@@ -1,1144 +0,0 @@
1
- /* eslint-disable react-hooks/exhaustive-deps */
2
- /* eslint-disable sonarjs/cognitive-complexity */
3
- import { useEffect, useRef, useState, useMemo, type MutableRefObject, type SetStateAction } from 'react';
4
- import { ComboBox, menuHelpers, debounce, throttle, Button, Icon, withConfiguration, type MenuGroupProps, type MenuItemProps } from '@pega/cosmos-react-core';
5
- import get from 'lodash.get';
6
- import type { PConnFieldProps } from './PConnProps';
7
-
8
- // includes in bundle
9
- import handleEvent from "./event-utils";
10
- import { suggestionsHandler } from './suggestions-handler';
11
-
12
- import { formatExists, textFormatter } from './textformat-utils';
13
- import { flattenParameters } from './picklist-utils';
14
- import { isSelfReferencedProperty, getDescriptorsFieldName } from './repeat-utils';
15
- import { getFieldNameFromEmbeddedFieldName } from './embed-utils';
16
-
17
- import { usePaginate, useDeepMemo, useIsMount, updatePropertiesForNewRecord } from './utils';
18
-
19
- import StyledPegaDxilMySearchboxWrapper from './styles';
20
-
21
- // interface for props
22
- interface PegaDxilMySearchboxProps extends PConnFieldProps {
23
- // If any, enter additional props that only exist on TextInput here
24
- isTableFormatter?: boolean;
25
- hasSuggestions?: boolean;
26
- formatter: string;
27
- maxResultsDisplay: string;
28
- matchPosition: string;
29
- listType: string;
30
- parameters: any;
31
- columns: Array<any>;
32
- cacheLifeSpan: string;
33
- createNewRecord: any;
34
- onRecordChange: any;
35
- datasourceMetadata: any;
36
- datasource: Array<any>;
37
- deferDatasource: boolean;
38
- additionalProps: any;
39
- referenceType: string;
40
- primaryField: string;
41
- selected: boolean;
42
- actualValue: any;
43
- descriptors: any;
44
- dataRelationshipContext: any;
45
- contextClass: string;
46
- isSearchableOnKey: boolean;
47
- }
48
-
49
- interface PegaDxilMySearchboxPropsSubSet {
50
- selected: any;
51
- actualValue: any;
52
- isTableFormatter?: boolean;
53
- formatter: string;
54
- }
55
-
56
- // interface for StateProps object
57
- interface StateProps {
58
- value: string;
59
- hasSuggestions: boolean;
60
- }
61
-
62
-
63
- export const preProcessColumns = (columns: Array<any>) => {
64
- return columns.map(col => {
65
- const tempColObj = { ...col };
66
- tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;
67
- return tempColObj;
68
- });
69
- };
70
-
71
- export const getDisplayFieldsMetaData = (columns: Array<any>) => {
72
- const visibleAndSecondaryColumns = columns.filter(
73
- col => col.display === 'true' || col.secondary === 'true'
74
- );
75
- const metaDataObj = { key: '', primary: '', secondary: [], hidden: [] };
76
- const keyCol = columns.filter(col => col.key === 'true');
77
- metaDataObj.key = keyCol.length > 0 ? keyCol[0].value : 'auto';
78
- for (let index = 0; index < visibleAndSecondaryColumns.length; index += 1) {
79
- if (visibleAndSecondaryColumns[index].primary === 'true') {
80
- metaDataObj.primary = visibleAndSecondaryColumns[index].value;
81
- } else {
82
- if (visibleAndSecondaryColumns[index].display === 'false') {
83
- metaDataObj.hidden.push(visibleAndSecondaryColumns[index].value as never);
84
- }
85
- metaDataObj.secondary.push(visibleAndSecondaryColumns[index].value as never);
86
- }
87
- }
88
- return metaDataObj;
89
- };
90
-
91
- export const buildColumnForDisplayValue = (dataObj: any) => {
92
- if (dataObj.columns) {
93
- dataObj.columns = dataObj.columns.map((column: any) => {
94
- const tempColObj = { ...column };
95
- if (tempColObj.key === 'true') {
96
- tempColObj.useForSearch = true;
97
- } else {
98
- tempColObj.useForSearch = false;
99
- }
100
- return tempColObj;
101
- });
102
- }
103
- };
104
-
105
- export const doSearch = (
106
- searchText: string,
107
- displayFieldMeta: { key: any; primary: any; secondary: any; hidden: any },
108
- dataApiObj: { fetchData?: any; columns?: any; isQueryable?: any; matchPosition?: any },
109
- setItems: {
110
- (value: SetStateAction<Array<never>>): void;
111
- (value: SetStateAction<Array<never>>): void;
112
- (value: SetStateAction<Array<never>>): void;
113
- (arg0: Array<MenuItemProps | MenuGroupProps>): void;
114
- },
115
- setLoading: {
116
- (value: SetStateAction<boolean>): void;
117
- (value: SetStateAction<boolean>): void;
118
- (value: SetStateAction<boolean>): void;
119
- (arg0: boolean): void;
120
- },
121
- hasMoreResults: MutableRefObject<boolean>,
122
- extraProps = {}
123
- ) => {
124
- if (dataApiObj && Object.keys(dataApiObj).length > 0 && dataApiObj.fetchData) {
125
- let columnsWithSetProperty: string | Array<any> = [];
126
- if (dataApiObj.columns) {
127
- columnsWithSetProperty = dataApiObj.columns
128
- .filter(
129
- (col: { setProperty: string }) =>
130
- col.setProperty && col.setProperty !== 'Associated property'
131
- )
132
- .map((col: { value: any }) => {
133
- return col.value;
134
- });
135
- }
136
- let listObjData = {};
137
- dataApiObj
138
- .fetchData(searchText)
139
- .then((response: { data: Array<never> }) => {
140
- listObjData = response.data || [];
141
- // @ts-ignore
142
- const searchedItems = listObjData.map((entry: { [x: string]: any }) => {
143
- const secondaryArr: Array<any> = [];
144
- const secondaryFieldValues: Array<any> = [];
145
- displayFieldMeta.secondary.forEach((col: string) => {
146
- if (!displayFieldMeta.hidden.includes(col)) secondaryArr.push(entry[col]);
147
- if (columnsWithSetProperty.includes(col)) {
148
- if (dataApiObj.isQueryable) {
149
- secondaryFieldValues.push(entry[col]);
150
- } else {
151
- secondaryFieldValues.push(get(entry, getFieldNameFromEmbeddedFieldName(col)));
152
- }
153
- }
154
- });
155
- return {
156
- id: entry[displayFieldMeta.key],
157
- primary: entry[displayFieldMeta.primary],
158
- secondary: secondaryArr,
159
- secondaryFieldValues
160
- };
161
- });
162
- hasMoreResults.current = true;
163
- const {
164
- fetchDisplayValue,
165
- displayItem,
166
- value,
167
- AC_TYPE,
168
- setSelected,
169
- setFilterValue,
170
- paginateHelperApis
171
- } = extraProps as any;
172
- if (dataApiObj.isQueryable === false) {
173
- const progressivePaginatedRecords = paginateHelperApis.getInitialPaginatedRecords(
174
- searchedItems,
175
- dataApiObj.matchPosition
176
- );
177
- const updatedItems = menuHelpers.selectItem(searchedItems, value, AC_TYPE);
178
- const selectedItem = menuHelpers.getSelected(updatedItems)[0];
179
- let listIndex = -1;
180
- const findSelectedItem = progressivePaginatedRecords.find(
181
- (record: { id: string }, index: number) => {
182
- if (record.id === selectedItem?.id) {
183
- listIndex = index;
184
- return true;
185
- }
186
- return false;
187
- }
188
- );
189
- if (!findSelectedItem && selectedItem) {
190
- progressivePaginatedRecords.unshift(selectedItem);
191
- } else if (selectedItem) {
192
- progressivePaginatedRecords.splice(listIndex, 1);
193
- progressivePaginatedRecords.unshift(selectedItem);
194
- }
195
-
196
- if (fetchDisplayValue) {
197
- setItems(progressivePaginatedRecords);
198
- setSelected(selectedItem);
199
- } else {
200
- setItems(progressivePaginatedRecords);
201
- setSelected(displayItem);
202
- }
203
- } else if (dataApiObj.isQueryable) {
204
- if (value && value !== '') {
205
- const updatedItems = menuHelpers.selectItem(searchedItems, value, AC_TYPE);
206
- const selectedItem = menuHelpers.getSelected(updatedItems)[0];
207
- if (!selectedItem) {
208
- let searchedItem: any = [];
209
- if (fetchDisplayValue) {
210
- dataApiObj.matchPosition = 'equals';
211
- buildColumnForDisplayValue(dataApiObj);
212
- dataApiObj.fetchData(value).then((displayResponse: { data: Array<never> }) => {
213
- const displayResponseData = displayResponse.data || [];
214
-
215
- searchedItem = displayResponseData.map((entry: { [x: string]: any }) => {
216
- const secondaryArr: Array<any> = [];
217
- const secondaryFieldValues: Array<any> = [];
218
- displayFieldMeta.secondary.forEach((col: string) => {
219
- if (!displayFieldMeta.hidden.includes(col)) {
220
- secondaryArr.push(entry[col]);
221
- }
222
- if (columnsWithSetProperty.includes(col)) {
223
- if (dataApiObj.isQueryable) {
224
- secondaryFieldValues.push(entry[col]);
225
- } else {
226
- secondaryFieldValues.push(
227
- get(entry, getFieldNameFromEmbeddedFieldName(col))
228
- );
229
- }
230
- }
231
- });
232
- return {
233
- id: entry[displayFieldMeta.key],
234
- primary: entry[displayFieldMeta.primary],
235
- secondary: secondaryArr,
236
- secondaryFieldValues
237
- };
238
- });
239
- setItems(
240
- menuHelpers.selectItem([...searchedItem, ...searchedItems], value, AC_TYPE)
241
- );
242
- setSelected(searchedItem[0]);
243
- setFilterValue('');
244
- });
245
- } else if (displayItem) {
246
- searchedItem = [displayItem];
247
- setItems(
248
- menuHelpers.selectItem([...searchedItem, ...searchedItems], value, AC_TYPE)
249
- );
250
- setSelected(searchedItem[0]);
251
- setFilterValue('');
252
- }
253
- } else {
254
- setItems(searchedItems);
255
- setSelected(selectedItem);
256
- setFilterValue('');
257
- }
258
- } else {
259
- setItems(searchedItems);
260
- if (value === '') {
261
- setSelected(null);
262
- }
263
- }
264
- } else {
265
- setItems(searchedItems);
266
- }
267
- })
268
- .catch(() => {
269
- listObjData = [];
270
- })
271
- .finally(() => {
272
- setLoading(false);
273
- });
274
- }
275
- };
276
-
277
- export const setValuesToPropertyList = (
278
- selectedItem: any,
279
- assocProp: any,
280
- item: any,
281
- columns: Array<any>,
282
- actions: any
283
- ) => {
284
- const setPropertyList = columns
285
- .filter(col => col.setProperty)
286
- .map(col => {
287
- return {
288
- source: col.value,
289
- target: col.setProperty,
290
- key: col.key,
291
- primary: col.value,
292
- secondary: col.secondary
293
- };
294
- });
295
- let valueToSet: any = null;
296
- if (setPropertyList.length > 0) {
297
- let secIndex = 0;
298
- setPropertyList.forEach(prop => {
299
- if (prop.key === 'true' && item) {
300
- valueToSet = item?.id ?? '';
301
- } else if (prop.primary === 'true' || !item) {
302
- valueToSet = selectedItem?.primary ?? '';
303
- }
304
- if (prop.target === 'Associated property') {
305
- handleEvent(actions, 'changeNblur', assocProp, valueToSet);
306
- } else {
307
- actions.updateFieldValue(
308
- `.${prop.target.startsWith('.') ? prop.target.substring(1) : prop.target}`,
309
- item?.secondaryFieldValues[secIndex]
310
- );
311
- actions.triggerFieldChange(
312
- `.${prop.target.startsWith('.') ? prop.target.substring(1) : prop.target}`,
313
- item?.secondaryFieldValues[secIndex],
314
- true
315
- );
316
-
317
- secIndex += 1;
318
- }
319
- });
320
- }
321
- return valueToSet;
322
- };
323
-
324
- export const setValueToAssocProp = (
325
- assocProp: any,
326
- selectedItem: any,
327
- listType: string,
328
- listSource: Array<any>,
329
- actions: any,
330
- columns: Array<any>
331
- ) => {
332
- let searchedEntry: any = null;
333
- let retValue: any;
334
- if (listSource && listSource.length > 0 && listSource[0]) {
335
- searchedEntry = listSource.filter(
336
- item =>
337
- item.id &&
338
- selectedItem?.id &&
339
- item.id.length === selectedItem?.id.length &&
340
- item.id.toString().toLowerCase() === selectedItem?.id.toString().toLowerCase()
341
- );
342
- }
343
- if (listType === 'associated') {
344
- if (searchedEntry && searchedEntry.length > 0 && searchedEntry[0].id) {
345
- retValue = searchedEntry[0].id;
346
- handleEvent(actions, 'changeNblur', assocProp, searchedEntry[0].id);
347
- } else {
348
- retValue = selectedItem?.id ?? '';
349
- handleEvent(actions, 'changeNblur', assocProp, selectedItem?.id);
350
- }
351
- } else if (listType === 'datapage') {
352
- retValue = setValuesToPropertyList(
353
- selectedItem,
354
- assocProp,
355
- searchedEntry?.[0],
356
- columns,
357
- actions
358
- );
359
- }
360
- return retValue;
361
- };
362
-
363
- const DisplayComponent = (props: PegaDxilMySearchboxPropsSubSet) => {
364
- const { selected, actualValue, isTableFormatter, formatter } = props;
365
-
366
- const displayCompValue = selected ? selected.primary : actualValue;
367
- const formattedValue =
368
- isTableFormatter && formatExists(formatter)
369
- ? textFormatter(formatter, displayCompValue)
370
- : displayCompValue;
371
-
372
- return formattedValue || <span aria-hidden='true'>&ndash;&ndash;</span>;
373
- };
374
-
375
-
376
- // Duplicated runtime code from Constellation Design System Component
377
-
378
- // props passed in combination of props from property panel (config.json) and run time props from Constellation
379
- // any default values in config.pros should be set in defaultProps at bottom of this file
380
- function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
381
- const {
382
- getPConnect,
383
- value,
384
- placeholder,
385
- validatemessage,
386
- label,
387
- hideLabel = false,
388
- helperText,
389
- testId,
390
- matchPosition = 'contains',
391
- maxResultsDisplay,
392
- cacheLifeSpan,
393
- displayMode,
394
- onRecordChange,
395
- createNewRecord,
396
- datasourceMetadata,
397
- deferDatasource,
398
- additionalProps = {},
399
- referenceType,
400
- primaryField,
401
- isTableFormatter = false,
402
- descriptors,
403
- dataRelationshipContext,
404
- hasSuggestions = false,
405
- contextClass
406
- } = props;
407
- const { formatter } = props;
408
- let { listType, datasource = [], parameters = {}, columns = [] } = props;
409
-
410
- // enable searhing based on the key
411
- const { isSearchableOnKey } = props;
412
-
413
- const [items, setItems] = useState(() => []);
414
- let selectItem: ((id: string, ev?: any) => void) | ((arg0: never) => void);
415
-
416
- // convert associated to datapage listtype and transform props
417
- // Process deferDatasource when datapage name is present. WHhen tableType is promptList / localList
418
- // no need to make any datapage call
419
- if (deferDatasource && datasourceMetadata?.datasource?.name) {
420
- listType = 'datapage';
421
- datasource = datasourceMetadata.datasource.name;
422
- parameters = flattenParameters(datasourceMetadata.datasource.parameters);
423
- let displayProp = datasourceMetadata.datasource.propertyForDisplayText.startsWith('@P')
424
- ? datasourceMetadata.datasource.propertyForDisplayText.substring(3)
425
- : datasourceMetadata.datasource.propertyForDisplayText;
426
- const valueProp = datasourceMetadata.datasource.propertyForValue.startsWith('@P')
427
- ? datasourceMetadata.datasource.propertyForValue.substring(3)
428
- : datasourceMetadata.datasource.propertyForValue;
429
- if (displayProp === '') {
430
- displayProp = valueProp;
431
- }
432
- let hasKey = false;
433
- let hasAPrimaryColumn = false;
434
- columns?.forEach(column => {
435
- if (!hasKey && column.key === 'true') {
436
- hasKey = true;
437
- }
438
- if (!hasAPrimaryColumn && column.primary === 'true') {
439
- hasAPrimaryColumn = true;
440
- }
441
- });
442
- if (!hasKey) {
443
- columns = [
444
- ...columns,
445
- {
446
- key: 'true',
447
- setProperty: 'Associated property',
448
- value: valueProp
449
- }
450
- ];
451
- }
452
- if (!hasAPrimaryColumn) {
453
- columns = [
454
- ...columns,
455
- {
456
- display: 'true',
457
- primary: 'true',
458
- useForSearch: true,
459
- value: displayProp
460
- }
461
- ];
462
- }
463
-
464
- // to make the Autosearch Searchable on the key value
465
- if (isSearchableOnKey) {
466
- const existingColObj = columns.filter(col => col.value === valueProp);
467
- if (existingColObj) {
468
- columns.forEach(col => {
469
- if (col.value === valueProp) {
470
- col.useForSearch = true;
471
- col.display = 'true';
472
- col.secondary = 'true';
473
- }
474
- });
475
- } else {
476
- columns = [
477
- ...columns,
478
- {
479
- display: 'true',
480
- secondary: 'true',
481
- useForSearch: true,
482
- value: valueProp
483
- }
484
- ];
485
- }
486
- }
487
- }
488
-
489
- // BUG-547602: Temporary type coercion for 8.5 until DXAPIs are enhanced to pass original pxViewMetadata JSON, respecting boolean primitives
490
- let { readOnly = false, required = false, disabled = false } = props;
491
- [readOnly, required, disabled] = [readOnly, required, disabled].map(
492
- prop => prop === true || (typeof prop === 'string' && prop === 'true')
493
- );
494
-
495
- const AC_TYPE = 'single-select';
496
- const pConn = getPConnect();
497
- const contextName = getPConnect().getContextName();
498
- const actions = pConn.getActionsApi();
499
- const [dataApiObj, setDataApiObj] = useState(() => ({} as any));
500
- const [filterValue, setFilterValue] = useState('');
501
- const [loading, setLoading] = useState(listType !== 'associated');
502
- // const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);
503
- const [selected, setSelected] = useState();
504
- const hasMoreResults = useRef(true);
505
- const inputValueRef = useRef('');
506
- const displayFieldMeta: any = useRef(null);
507
- const [actualValue, setActualValue] = useState();
508
- const [newRecordCreated, setNewRecordCreated] = useState();
509
-
510
- const searchHandlerThrottled = throttle(doSearch, 500);
511
- const searchHandlerDebounced = debounce(doSearch, 500);
512
- const paginateHelperApis = usePaginate();
513
- const isMount = useIsMount();
514
- const [status, setStatus] = useState(hasSuggestions ? 'pending' : undefined);
515
- const memoizedParameters = useDeepMemo(() => {
516
- return parameters;
517
- }, [parameters]);
518
-
519
- const updatedColumns = useMemo(() => {
520
- const isSecondaryColumnAvailable = columns.some(col => col.secondary === 'true');
521
- if (referenceType === 'Case' && !isSecondaryColumnAvailable) {
522
- const valueProp = columns.filter(col => col.key === 'true')[0].value;
523
- const existingColObj = columns.filter(col => col.value === valueProp);
524
- if (existingColObj) {
525
- columns.forEach(col => {
526
- if (col.value === valueProp) {
527
- col.display = 'true';
528
- col.secondary = 'true';
529
- col.useForSearch = 'true';
530
- }
531
- });
532
- } else {
533
- columns = [
534
- ...columns,
535
- {
536
- value: valueProp.startsWith('.') ? valueProp.substring(1) : valueProp,
537
- display: 'true',
538
- secondary: 'true',
539
- useForSearch: 'true'
540
- }
541
- ];
542
- }
543
- }
544
-
545
- if (descriptors && (referenceType === 'Case' || referenceType === 'Data')) {
546
- const descriptorColumns = descriptors.map((item: string) => {
547
- if (isSelfReferencedProperty(item, dataRelationshipContext) && !item.includes('(')) {
548
- const name = getDescriptorsFieldName(item, contextClass);
549
- return {
550
- value: name,
551
- display: 'false',
552
- secondary: 'true',
553
- useForSearch: 'false',
554
- setProperty: `${item.substring(3)}`
555
- };
556
- }
557
- return item;
558
- });
559
- columns = descriptorColumns ? [...columns, ...descriptorColumns] : columns;
560
- }
561
- return columns;
562
- }, [listType]);
563
-
564
- const dataConfig = useDeepMemo(() => {
565
- return {
566
- dataSource: datasource,
567
- parameters: memoizedParameters,
568
- matchPosition,
569
- listType,
570
- columns: preProcessColumns(updatedColumns),
571
- cacheLifeSpan: cacheLifeSpan || 'form',
572
- deferDatasource,
573
- pageSize: '50',
574
- enablePagination: true
575
- };
576
- }, [datasource, memoizedParameters, matchPosition, listType, maxResultsDisplay]);
577
-
578
- useEffect(() => {
579
- if (validatemessage !== '') {
580
- setStatus('error');
581
- }
582
- if (hasSuggestions) {
583
- setStatus('pending');
584
- } else if (!hasSuggestions && status !== 'success') {
585
- setStatus(validatemessage !== '' ? 'error' : undefined);
586
- }
587
- }, [validatemessage, hasSuggestions]);
588
-
589
- // Rearranging the columns to default columns defined as key to be used as secondary columns for Case references
590
- useEffect(() => {
591
- displayFieldMeta.current =
592
- listType !== 'associated'
593
- ? getDisplayFieldsMetaData(dataConfig.columns as Array<any>)
594
- : ({ key: '', primary: '', secondary: [], hidden: [] } as any);
595
- }, []);
596
-
597
- // Handling setting the combobox list for listType associated use case
598
- useEffect(() => {
599
- if (listType === 'associated') {
600
- const associatedItems = datasource.map((entry: { key: any; value: any }) => {
601
- return { id: entry.key, primary: entry.value };
602
- });
603
- const updatedItems = menuHelpers.selectItem(associatedItems, value?.toString(), AC_TYPE);
604
- const selectedItem = menuHelpers.getSelected(updatedItems)[0];
605
- const initialPaginatedRecords = paginateHelperApis.getInitialPaginatedRecords(
606
- associatedItems,
607
- dataConfig.matchPosition
608
- );
609
- const findSelectedItem = initialPaginatedRecords.find(
610
- (record: { id: string }) => record.id === selectedItem?.id
611
- );
612
- if (!findSelectedItem && selectedItem) {
613
- initialPaginatedRecords.push(selectedItem);
614
- }
615
- setItems(initialPaginatedRecords);
616
- setSelected(selectedItem as SetStateAction<any>);
617
- setActualValue(value);
618
- setFilterValue('');
619
- inputValueRef.current = '';
620
- }
621
- }, [listType, datasource, value]);
622
-
623
- useEffect(() => {
624
- if (!displayMode && listType === 'datapage') {
625
- let displayItem:
626
- | ((prevState: undefined) => undefined)
627
- | { id: any; primary: string; secondary: Array<any> }
628
- | { id: any; primary: string; secondary?: undefined }
629
- | null
630
- | undefined = null;
631
- if (referenceType === 'Case' || referenceType === 'Data') {
632
- displayItem =
633
- referenceType === 'Case'
634
- ? {
635
- id: value,
636
- primary: primaryField,
637
- secondary: [value]
638
- }
639
- : {
640
- id: value,
641
- primary: primaryField
642
- };
643
- setSelected(displayItem as any);
644
- }
645
- PCore.getDataApi()
646
- .init(dataConfig, contextName)
647
- .then((dataObj: any) => {
648
- setDataApiObj(dataObj);
649
- // To avoid calling doSearch if someone types/pastes value before the API call is made
650
- if (!filterValue)
651
- doSearch(
652
- '',
653
- getDisplayFieldsMetaData(dataConfig.columns),
654
- dataObj,
655
- setItems as any,
656
- setLoading,
657
- hasMoreResults,
658
- {
659
- fetchDisplayValue: false,
660
- value,
661
- displayItem,
662
- AC_TYPE,
663
- setSelected,
664
- setFilterValue,
665
- paginateHelperApis,
666
- pConn
667
- }
668
- );
669
- });
670
- }
671
- }, [value, primaryField, newRecordCreated]);
672
-
673
- useEffect(() => {
674
- // Checking if Case/Data ref is only called for re-render and not for mount
675
- const dataRefMount = isMount && (referenceType === 'Case' || referenceType === 'Data');
676
- if (!dataRefMount && !displayMode && listType === 'datapage') {
677
- PCore.getDataApi()
678
- .init(dataConfig, contextName)
679
- .then((dataObj: any) => {
680
- setDataApiObj(dataObj);
681
- // To avoid calling doSearch if someone types/pastes value before the API call is made
682
- if (!filterValue) {
683
- if (displayFieldMeta?.current?.key === displayFieldMeta?.current?.primary) {
684
- const displayItem = {
685
- id: value,
686
- primary: value,
687
- secondary: [],
688
- secondaryFieldValues: []
689
- };
690
- setSelected(displayItem as any);
691
- doSearch(
692
- '',
693
- getDisplayFieldsMetaData(dataConfig.columns),
694
- dataObj,
695
- setItems as any,
696
- setLoading,
697
- hasMoreResults,
698
- {
699
- fetchDisplayValue: false,
700
- value,
701
- displayItem,
702
- AC_TYPE,
703
- setSelected,
704
- setFilterValue,
705
- paginateHelperApis,
706
- pConn
707
- }
708
- );
709
- } else {
710
- doSearch(
711
- '',
712
- getDisplayFieldsMetaData(dataConfig.columns),
713
- dataObj,
714
- setItems as any,
715
- setLoading,
716
- hasMoreResults,
717
- {
718
- fetchDisplayValue: true,
719
- value,
720
- AC_TYPE,
721
- setSelected,
722
- setFilterValue,
723
- paginateHelperApis,
724
- pConn
725
- }
726
- );
727
- }
728
- }
729
- });
730
- }
731
- }, [listType, dataConfig, contextName, value, memoizedParameters]);
732
-
733
- useEffect(() => {
734
- if (listType === 'datapage' && displayMode && displayMode?.length > 0 && value !== '') {
735
- let displayItem: any = null;
736
- if (referenceType === 'Case' || referenceType === 'Data') {
737
- displayItem =
738
- referenceType === 'Case'
739
- ? {
740
- id: value,
741
- primary: primaryField,
742
- secondary: [value]
743
- }
744
- : {
745
- id: value,
746
- primary: primaryField
747
- };
748
- }
749
- setSelected(displayItem as any);
750
- setActualValue(value);
751
- }
752
- }, [value, primaryField]);
753
-
754
- useEffect(() => {
755
- if (newRecordCreated) {
756
- selectItem(newRecordCreated);
757
- setNewRecordCreated(undefined);
758
- }
759
- }, [items.length]);
760
-
761
- useEffect(() => {
762
- if (
763
- listType === 'datapage' &&
764
- displayMode &&
765
- displayMode?.length > 0 &&
766
- value !== '' &&
767
- !(referenceType === 'Case' || referenceType === 'Data')
768
- ) {
769
- PCore.getDataApi()
770
- .init(dataConfig, contextName)
771
- .then((dataObj: any) => {
772
- setDataApiObj(dataObj);
773
- buildColumnForDisplayValue(dataObj);
774
- // SET matchPosition to EQUALS to return exact matching record
775
- dataObj.matchPosition = 'equals';
776
- dataObj
777
- .fetchData(value)
778
- .then((displayResponse: { data: Array<never> }) => {
779
- let columnsWithSetProperty: string | Array<any> = [];
780
- if (dataApiObj.columns) {
781
- columnsWithSetProperty = dataApiObj.columns
782
- .filter(
783
- (col: { setProperty: string }) =>
784
- col.setProperty && col.setProperty !== 'Associated property'
785
- )
786
- .map((col: { value: any }) => {
787
- return col.value;
788
- });
789
- }
790
- const displayResponseData = displayResponse.data || [];
791
-
792
- const searchedItem = displayResponseData.map((entry: { [x: string]: any }) => {
793
- const secondaryArr: Array<any> = [];
794
- const secondaryFieldValues: Array<any> = [];
795
- displayFieldMeta.current.secondary.forEach((col: string) => {
796
- if (!displayFieldMeta.hidden.includes(col)) secondaryArr.push(entry[col]);
797
- if (columnsWithSetProperty.includes(col)) {
798
- if (dataApiObj.isQueryable) {
799
- secondaryFieldValues.push(entry[col]);
800
- } else {
801
- secondaryFieldValues.push(get(entry, getFieldNameFromEmbeddedFieldName(col)));
802
- }
803
- }
804
- });
805
- return {
806
- id: entry[displayFieldMeta.current.key],
807
- primary: entry[displayFieldMeta.current.primary],
808
- secondary: secondaryArr,
809
- secondaryFieldValues
810
- };
811
- });
812
-
813
- // @ts-ignore
814
- setSelected(searchedItem[0]);
815
- setActualValue(value);
816
- // RESET matchPosition
817
- dataObj.matchPosition = dataConfig.matchPosition;
818
- })
819
- .catch(() => {
820
- setActualValue(value);
821
- // RESET matchPosition
822
- dataObj.matchPosition = dataConfig.matchPosition;
823
- });
824
- });
825
- }
826
- }, [listType, dataConfig, contextName, value, memoizedParameters]);
827
-
828
- /* @ts-ignore */
829
- const clearSelections = () => {
830
- // @ts-ignore
831
- setItems(cur =>
832
- menuHelpers.mapTree(cur, item => {
833
- return {
834
- ...item,
835
- selected: false
836
- };
837
- })
838
- );
839
- setSelected(undefined);
840
- inputValueRef.current = '';
841
- };
842
-
843
- const onChangeHandler = (ev: { target: { value: any } }) => {
844
- if (hasSuggestions) {
845
- pConn.ignoreSuggestion('');
846
- setStatus(undefined);
847
- }
848
-
849
- dataApiObj.columns = dataConfig.columns;
850
- dataApiObj.matchPosition = dataConfig.matchPosition;
851
- const searchText = ev.target.value;
852
- inputValueRef.current = searchText;
853
- // If the user backspaces or deletes in full the input filterValue, Cosmos UX advises to deselect any items.
854
- if (!searchText) {
855
- clearSelections();
856
- }
857
- setFilterValue(searchText);
858
- if (listType === 'datapage' && dataApiObj.isQueryable) {
859
- hasMoreResults.current = true;
860
- if (searchText.length < 5) {
861
- searchHandlerThrottled(
862
- searchText,
863
- displayFieldMeta.current,
864
- dataApiObj,
865
- // @ts-ignore
866
- setItems,
867
- setLoading,
868
- hasMoreResults
869
- );
870
- } else {
871
- searchHandlerDebounced(
872
- searchText,
873
- displayFieldMeta.current,
874
- dataApiObj,
875
- // @ts-ignore
876
- setItems,
877
- setLoading,
878
- hasMoreResults
879
- );
880
- }
881
- } else if (
882
- listType === 'associated' ||
883
- (listType === 'datapage' && dataApiObj?.isQueryable === false)
884
- ) {
885
- paginateHelperApis.resetIndexes();
886
- const progressivePaginatedRecords = paginateHelperApis.fetchData(
887
- inputValueRef.current,
888
- false,
889
- dataApiObj.columns
890
- );
891
- setItems(progressivePaginatedRecords);
892
- }
893
- };
894
-
895
- const onBlurHandler = (ev: any) => {
896
- // @ts-ignore
897
- if (!ev?.id || ev?.id !== selected?.id) {
898
- const stateProps = pConn.getStateProps() as StateProps;
899
- const assocProp = stateProps.value;
900
- const propValue = setValueToAssocProp(
901
- assocProp,
902
- selected || null,
903
- listType,
904
- items,
905
- actions,
906
- dataConfig.columns
907
- );
908
- if (onRecordChange) {
909
- onRecordChange(ev, propValue);
910
- }
911
- }
912
-
913
- setFilterValue('');
914
- if (!selected && inputValueRef.current !== '') {
915
- if (listType === 'datapage' && dataApiObj.isQueryable) {
916
- hasMoreResults.current = true;
917
- searchHandlerThrottled(
918
- '',
919
- displayFieldMeta.current,
920
- dataApiObj,
921
- // @ts-ignore
922
- setItems,
923
- setLoading,
924
- hasMoreResults
925
- );
926
- } else if (
927
- listType === 'associated' ||
928
- (listType === 'datapage' && dataApiObj?.isQueryable === false)
929
- ) {
930
- paginateHelperApis.resetIndexes();
931
- const progressivePaginatedRecords = paginateHelperApis.fetchData('', false);
932
- setItems(progressivePaginatedRecords);
933
- }
934
- }
935
- };
936
-
937
- // const filtered = useMemo(() => {
938
- // return filterValue && listType === "associated"
939
- // ? filterAssociatedItems()
940
- // : items;
941
- // }, [filterValue, items, listType]);
942
-
943
- selectItem = (id: string, ev: any = {}) => {
944
- const updatedItems = menuHelpers.selectItem(items, id, AC_TYPE);
945
- // @ts-ignore
946
- setItems(cur => menuHelpers.selectItem(cur, id, AC_TYPE));
947
- // @ts-ignore
948
- setSelected(menuHelpers.getSelected(updatedItems)[0]);
949
- // const { id: itemId } = menuHelpers.getSelected(updatedItems)[0];
950
- const assocProp = pConn.getStateProps().value;
951
- const propValue = setValueToAssocProp(
952
- assocProp,
953
- menuHelpers.getSelected(updatedItems)[0],
954
- listType,
955
- updatedItems,
956
- actions,
957
- dataConfig.columns
958
- );
959
- setFilterValue('');
960
- inputValueRef.current = '';
961
- if (onRecordChange) {
962
- ev.id = id;
963
- onRecordChange(ev, propValue);
964
- }
965
- };
966
-
967
- const removeDuplicates = (arrayOne: string | Array<any>, arrayTwo: Array<any>) => {
968
- arrayTwo = arrayTwo.filter((item: { id: any }) => {
969
- for (let i = 0, len = arrayOne.length; i < len; i += 1) {
970
- if (arrayOne[i].id === item.id) {
971
- return false;
972
- }
973
- }
974
- return true;
975
- });
976
- return arrayTwo;
977
- };
978
-
979
- const loadMore = () => {
980
- if (
981
- (listType === 'associated' ||
982
- (listType === 'datapage' && dataApiObj?.isQueryable === false)) &&
983
- paginateHelperApis.hasMoreResults(inputValueRef.current)
984
- ) {
985
- let progressivePaginatedRecords = paginateHelperApis.fetchData(inputValueRef.current, true);
986
- // @ts-ignore
987
- setItems(previousItems => {
988
- progressivePaginatedRecords = removeDuplicates(previousItems, progressivePaginatedRecords);
989
- return [...previousItems, ...progressivePaginatedRecords];
990
- });
991
- } else if (listType === 'datapage' && dataApiObj.isQueryable && hasMoreResults.current) {
992
- setLoading(true);
993
- dataApiObj
994
- .fetchPaginatedData(inputValueRef.current)
995
- .then((response: { pageSize: number; data: Array<never> }) => {
996
- setLoading(false);
997
- if (response.pageSize === 0 || response.pageSize < dataApiObj.pageSize) {
998
- hasMoreResults.current = false;
999
- }
1000
- const listObjData = response.data || [];
1001
- let columnsWithSetProperty: string | Array<any> = [];
1002
- if (dataApiObj.columns) {
1003
- columnsWithSetProperty = dataApiObj.columns
1004
- .filter(
1005
- (col: { setProperty: string }) =>
1006
- col.setProperty && col.setProperty !== 'Associated property'
1007
- )
1008
- .map((col: { value: any }) => {
1009
- return col.value;
1010
- });
1011
- }
1012
-
1013
- const searchedItems = listObjData.map((entry: { [x: string]: any }) => {
1014
- const secondaryArr: Array<any> = [];
1015
- const secondaryFieldValues: Array<any> = [];
1016
- displayFieldMeta.current.secondary.forEach((col: string) => {
1017
- if (!displayFieldMeta.current.hidden.includes(col)) secondaryArr.push(entry[col]);
1018
- if (columnsWithSetProperty.includes(col)) {
1019
- if (dataApiObj.isQueryable) {
1020
- secondaryFieldValues.push(entry[col]);
1021
- } else {
1022
- secondaryFieldValues.push(get(entry, getFieldNameFromEmbeddedFieldName(col)));
1023
- }
1024
- }
1025
- });
1026
- return {
1027
- id: entry[displayFieldMeta.current.key],
1028
- primary: entry[displayFieldMeta.current.primary],
1029
- secondary: secondaryArr,
1030
- secondaryFieldValues
1031
- };
1032
- });
1033
- // @ts-ignore
1034
- setItems(previousItems => [...previousItems, ...searchedItems]);
1035
- })
1036
- .catch(() => {
1037
- setLoading(false);
1038
- dataApiObj.pageSize -= 1;
1039
- });
1040
- }
1041
- };
1042
-
1043
- const displayComponent = useMemo(() => {
1044
- return <StyledPegaDxilMySearchboxWrapper>
1045
- <DisplayComponent {...{ selected, actualValue, isTableFormatter, formatter }} />
1046
- </StyledPegaDxilMySearchboxWrapper>;
1047
- }, [selected, actualValue, isTableFormatter, formatter]);
1048
-
1049
- if (displayMode) {
1050
- return displayComponent;
1051
- }
1052
-
1053
- const onResolveSuggestionHandler = (accepted: boolean) => {
1054
- suggestionsHandler(accepted, pConn, setStatus);
1055
- };
1056
-
1057
- const createNewButtonHandler = () => {
1058
- const { CREATE_STAGE_DONE } = PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS;
1059
- createNewRecord().then(() => {
1060
- PCore.getPubSubUtils().subscribe(
1061
- CREATE_STAGE_DONE,
1062
- (data: { caseId: string; caseType: string }) => {
1063
- PCore.getDataApi().clearContextedCache(contextName);
1064
- const newCaseId = data.caseId.split(' ').pop();
1065
- if (data.caseType === contextClass && newRecordCreated !== newCaseId) {
1066
- // @ts-ignore
1067
- if (pConn.isMounted && dataConfig.pageSize > items.length) {
1068
- // @ts-ignore
1069
- setNewRecordCreated(newCaseId);
1070
- } else {
1071
- updatePropertiesForNewRecord(
1072
- dataConfig,
1073
- contextName,
1074
- dataApiObj,
1075
- setDataApiObj,
1076
- displayFieldMeta,
1077
- pConn,
1078
- columns,
1079
- actions,
1080
- newCaseId
1081
- );
1082
- }
1083
-
1084
- PCore.getPubSubUtils().unsubscribe(CREATE_STAGE_DONE, contextClass);
1085
- }
1086
- },
1087
- contextClass
1088
- );
1089
- });
1090
- };
1091
-
1092
-
1093
- return (
1094
- <StyledPegaDxilMySearchboxWrapper>
1095
- <ComboBox
1096
- {...additionalProps}
1097
- testId={testId ?? label}
1098
- info={validatemessage || helperText}
1099
- status={status}
1100
- value={filterValue}
1101
- label={label}
1102
- labelHidden={hideLabel}
1103
- readOnly={readOnly}
1104
- required={required}
1105
- disabled={disabled}
1106
- placeholder={placeholder}
1107
- selected={{
1108
- // @ts-ignore
1109
- items: selected ? { text: selected.primary, id: selected.id } : undefined
1110
- }}
1111
- onChange={onChangeHandler}
1112
- onBlur={onBlurHandler}
1113
- menu={{
1114
- items: menuHelpers.mapTree(items, (item) => ({
1115
- ...item,
1116
- testId: item.id ?? undefined,
1117
- // @ts-ignore
1118
- selected: item.items ? undefined : !!item.selected || item.id === selected?.id
1119
- })),
1120
- onItemClick: selectItem,
1121
- emptyText: pConn.getLocalizedValue('No items'),
1122
- loading,
1123
- loadMore,
1124
- footer: createNewRecord ? (
1125
- <Button
1126
- label={PCore.getLocaleUtils().getLocaleValue('Create new', 'ComponentFields')}
1127
- onClick={createNewButtonHandler}
1128
- variant='link'
1129
- // @ts-ignore
1130
- compact='true'
1131
- >
1132
- <Icon name='plus' /> {PCore.getLocaleUtils().getLocaleValue('Create new', 'ComponentFields')}
1133
- </Button>
1134
- ) : undefined
1135
- }}
1136
- mode={AC_TYPE}
1137
- onResolveSuggestion={onResolveSuggestionHandler}
1138
- />
1139
- </StyledPegaDxilMySearchboxWrapper>
1140
- );
1141
- }
1142
-
1143
-
1144
- export default withConfiguration(PegaDxilMySearchbox);