@tsed/react-formio 2.3.1 → 3.0.0-alpha.1

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 (339) hide show
  1. package/dist/chunks/index.js +45 -0
  2. package/dist/chunks/index.js.map +1 -0
  3. package/dist/components/actions-table/actionsTable.component.d.ts +10 -11
  4. package/dist/components/actions-table/actionsTable.component.js +53 -0
  5. package/dist/components/actions-table/actionsTable.component.js.map +1 -0
  6. package/dist/components/alert/alert.component.d.ts +5 -6
  7. package/dist/components/alert/alert.component.js +24 -0
  8. package/dist/components/alert/alert.component.js.map +1 -0
  9. package/dist/components/card/card.component.d.ts +6 -7
  10. package/dist/components/card/card.component.js +12 -0
  11. package/dist/components/card/card.component.js.map +1 -0
  12. package/dist/components/form/form.component.d.ts +62 -63
  13. package/dist/components/form/form.component.js +64 -0
  14. package/dist/components/form/form.component.js.map +1 -0
  15. package/dist/components/form/useForm.hook.d.ts +59 -60
  16. package/dist/components/form/useForm.hook.js +64 -0
  17. package/dist/components/form/useForm.hook.js.map +1 -0
  18. package/dist/components/form-access/formAccess.component.d.ts +9 -20
  19. package/dist/components/form-access/formAccess.component.js +95 -0
  20. package/dist/components/form-access/formAccess.component.js.map +1 -0
  21. package/dist/components/form-access/formAccess.schema.d.ts +5 -5
  22. package/dist/components/form-access/formAccess.schema.js +164 -0
  23. package/dist/components/form-access/formAccess.schema.js.map +1 -0
  24. package/dist/components/form-access/formAccess.utils.d.ts +24 -24
  25. package/dist/components/form-access/formAccess.utils.js +68 -0
  26. package/dist/components/form-access/formAccess.utils.js.map +1 -0
  27. package/dist/components/form-action/formAction.component.d.ts +9 -9
  28. package/dist/components/form-action/formAction.component.js +32 -0
  29. package/dist/components/form-action/formAction.component.js.map +1 -0
  30. package/dist/components/form-builder/formBuilder.component.d.ts +53 -53
  31. package/dist/components/form-builder/formBuilder.component.js +142 -0
  32. package/dist/components/form-builder/formBuilder.component.js.map +1 -0
  33. package/dist/components/form-control/formControl.component.d.ts +14 -22
  34. package/dist/components/form-control/formControl.component.js +26 -0
  35. package/dist/components/form-control/formControl.component.js.map +1 -0
  36. package/dist/components/form-edit/formCtas.component.d.ts +28 -28
  37. package/dist/components/form-edit/formCtas.component.js +70 -0
  38. package/dist/components/form-edit/formCtas.component.js.map +1 -0
  39. package/dist/components/form-edit/formEdit.component.d.ts +18 -19
  40. package/dist/components/form-edit/formEdit.component.js +57 -0
  41. package/dist/components/form-edit/formEdit.component.js.map +1 -0
  42. package/dist/components/form-edit/formEdit.reducer.d.ts +10 -10
  43. package/dist/components/form-edit/formEdit.reducer.js +65 -0
  44. package/dist/components/form-edit/formEdit.reducer.js.map +1 -0
  45. package/dist/components/form-edit/formParameters.component.d.ts +34 -34
  46. package/dist/components/form-edit/formParameters.component.js +92 -0
  47. package/dist/components/form-edit/formParameters.component.js.map +1 -0
  48. package/dist/components/form-edit/useFormEdit.hook.d.ts +29 -29
  49. package/dist/components/form-edit/useFormEdit.hook.js +36 -0
  50. package/dist/components/form-edit/useFormEdit.hook.js.map +1 -0
  51. package/dist/components/form-settings/formSettings.component.d.ts +7 -8
  52. package/dist/components/form-settings/formSettings.component.js +38 -0
  53. package/dist/components/form-settings/formSettings.component.js.map +1 -0
  54. package/dist/components/form-settings/formSettings.schema.d.ts +2 -2
  55. package/dist/components/form-settings/formSettings.schema.js +60 -0
  56. package/dist/components/form-settings/formSettings.schema.js.map +1 -0
  57. package/dist/components/form-settings/formSettings.utils.d.ts +8 -8
  58. package/dist/components/form-settings/formSettings.utils.js +23 -0
  59. package/dist/components/form-settings/formSettings.utils.js.map +1 -0
  60. package/dist/components/forms-table/components/formCell.component.d.ts +6 -7
  61. package/dist/components/forms-table/components/formCell.component.js +50 -0
  62. package/dist/components/forms-table/components/formCell.component.js.map +1 -0
  63. package/dist/components/forms-table/formsTable.component.d.ts +10 -11
  64. package/dist/components/forms-table/formsTable.component.js +29 -0
  65. package/dist/components/forms-table/formsTable.component.js.map +1 -0
  66. package/dist/components/index.d.ts +25 -26
  67. package/dist/components/index.js +86 -0
  68. package/dist/components/index.js.map +1 -0
  69. package/dist/components/input-tags/inputTags.component.d.ts +18 -19
  70. package/dist/components/input-tags/inputTags.component.js +37 -0
  71. package/dist/components/input-tags/inputTags.component.js.map +1 -0
  72. package/dist/components/input-text/inputText.component.d.ts +27 -28
  73. package/dist/components/input-text/inputText.component.js +70 -0
  74. package/dist/components/input-text/inputText.component.js.map +1 -0
  75. package/dist/components/loader/loader.component.d.ts +17 -17
  76. package/dist/components/loader/loader.component.js +26 -0
  77. package/dist/components/loader/loader.component.js.map +1 -0
  78. package/dist/components/modal/modal.component.d.ts +15 -15
  79. package/dist/components/modal/modal.component.js +62 -0
  80. package/dist/components/modal/modal.component.js.map +1 -0
  81. package/dist/components/modal/removeModal.component.d.ts +9 -9
  82. package/dist/components/modal/removeModal.component.js +71 -0
  83. package/dist/components/modal/removeModal.component.js.map +1 -0
  84. package/dist/components/pagination/pagination.component.d.ts +17 -18
  85. package/dist/components/pagination/pagination.component.js +87 -0
  86. package/dist/components/pagination/pagination.component.js.map +1 -0
  87. package/dist/components/select/select.component.d.ts +14 -27
  88. package/dist/components/select/select.component.js +60 -0
  89. package/dist/components/select/select.component.js.map +1 -0
  90. package/dist/components/submissions-table/submissionsTable.component.d.ts +6 -7
  91. package/dist/components/submissions-table/submissionsTable.component.js +11 -0
  92. package/dist/components/submissions-table/submissionsTable.component.js.map +1 -0
  93. package/dist/components/table/components/defaultArrowSort.component.d.ts +1 -2
  94. package/dist/components/table/components/defaultArrowSort.component.js +10 -0
  95. package/dist/components/table/components/defaultArrowSort.component.js.map +1 -0
  96. package/dist/components/table/components/defaultCell.component.d.ts +1 -2
  97. package/dist/components/table/components/defaultCell.component.js +11 -0
  98. package/dist/components/table/components/defaultCell.component.js.map +1 -0
  99. package/dist/components/table/components/defaultCellHeader.component.d.ts +5 -6
  100. package/dist/components/table/components/defaultCellHeader.component.js +14 -0
  101. package/dist/components/table/components/defaultCellHeader.component.js.map +1 -0
  102. package/dist/components/table/components/defaultCellOperations.component.d.ts +12 -2
  103. package/dist/components/table/components/defaultCellOperations.component.js +21 -0
  104. package/dist/components/table/components/defaultCellOperations.component.js.map +1 -0
  105. package/dist/components/table/components/defaultCells.component.d.ts +4 -5
  106. package/dist/components/table/components/defaultCells.component.js +23 -0
  107. package/dist/components/table/components/defaultCells.component.js.map +1 -0
  108. package/dist/components/table/components/defaultOperationButton.component.d.ts +15 -14
  109. package/dist/components/table/components/defaultOperationButton.component.js +45 -0
  110. package/dist/components/table/components/defaultOperationButton.component.js.map +1 -0
  111. package/dist/components/table/components/defaultRow.component.d.ts +12 -12
  112. package/dist/components/table/components/defaultRow.component.js +25 -0
  113. package/dist/components/table/components/defaultRow.component.js.map +1 -0
  114. package/dist/components/table/components/dragNDropContainer.d.ts +4 -4
  115. package/dist/components/table/components/dragNDropContainer.js +10 -0
  116. package/dist/components/table/components/dragNDropContainer.js.map +1 -0
  117. package/dist/components/table/filters/defaultColumnFilter.component.d.ts +5 -6
  118. package/dist/components/table/filters/defaultColumnFilter.component.js +32 -0
  119. package/dist/components/table/filters/defaultColumnFilter.component.js.map +1 -0
  120. package/dist/components/table/filters/selectColumnFilter.component.d.ts +10 -11
  121. package/dist/components/table/filters/selectColumnFilter.component.js +34 -0
  122. package/dist/components/table/filters/selectColumnFilter.component.js.map +1 -0
  123. package/dist/components/table/filters/sliderColumnFilter.component.d.ts +2 -3
  124. package/dist/components/table/filters/sliderColumnFilter.component.js +27 -0
  125. package/dist/components/table/filters/sliderColumnFilter.component.js.map +1 -0
  126. package/dist/components/table/hooks/useCustomTable.hook.d.ts +128 -128
  127. package/dist/components/table/hooks/useCustomTable.hook.js +130 -0
  128. package/dist/components/table/hooks/useCustomTable.hook.js.map +1 -0
  129. package/dist/components/table/hooks/useDragnDropRow.hook.d.ts +272 -274
  130. package/dist/components/table/hooks/useDragnDropRow.hook.js +40 -0
  131. package/dist/components/table/hooks/useDragnDropRow.hook.js.map +1 -0
  132. package/dist/components/table/hooks/useOperations.hook.d.ts +11 -11
  133. package/dist/components/table/hooks/useOperations.hook.js +25 -0
  134. package/dist/components/table/hooks/useOperations.hook.js.map +1 -0
  135. package/dist/components/table/index.d.ts +15 -15
  136. package/dist/components/table/index.js +35 -0
  137. package/dist/components/table/index.js.map +1 -0
  138. package/dist/components/table/table.component.d.ts +3 -3
  139. package/dist/components/table/table.component.js +81 -0
  140. package/dist/components/table/table.component.js.map +1 -0
  141. package/dist/components/table/utils/getPageNumbers.d.ts +3 -3
  142. package/dist/components/table/utils/getPageNumbers.js +25 -0
  143. package/dist/components/table/utils/getPageNumbers.js.map +1 -0
  144. package/dist/components/table/utils/mapFormToColumns.d.ts +3 -3
  145. package/dist/components/table/utils/mapFormToColumns.js +23 -0
  146. package/dist/components/table/utils/mapFormToColumns.js.map +1 -0
  147. package/dist/components/table/utils/swapElements.d.ts +1 -1
  148. package/dist/components/table/utils/swapElements.js +5 -0
  149. package/dist/components/table/utils/swapElements.js.map +1 -0
  150. package/dist/components/tabs/tabs.component.d.ts +19 -19
  151. package/dist/components/tabs/tabs.component.js +72 -0
  152. package/dist/components/tabs/tabs.component.js.map +1 -0
  153. package/dist/hooks/useTooltip.d.ts +2 -3
  154. package/dist/hooks/useTooltip.js +12 -0
  155. package/dist/hooks/useTooltip.js.map +1 -0
  156. package/dist/index.d.ts +13 -13
  157. package/dist/index.js +107 -7803
  158. package/dist/index.js.map +1 -1
  159. package/dist/interfaces/ActionSchema.d.ts +23 -23
  160. package/dist/interfaces/ActionSchema.js +2 -0
  161. package/dist/interfaces/ActionSchema.js.map +1 -0
  162. package/dist/interfaces/ColumnIdentifier.d.ts +14 -14
  163. package/dist/interfaces/ColumnIdentifier.js +2 -0
  164. package/dist/interfaces/ColumnIdentifier.js.map +1 -0
  165. package/dist/interfaces/FormOptions.d.ts +10 -10
  166. package/dist/interfaces/FormOptions.js +2 -0
  167. package/dist/interfaces/FormOptions.js.map +1 -0
  168. package/dist/interfaces/FormSchema.d.ts +12 -12
  169. package/dist/interfaces/FormSchema.js +2 -0
  170. package/dist/interfaces/FormSchema.js.map +1 -0
  171. package/dist/interfaces/Operation.d.ts +29 -29
  172. package/dist/interfaces/Operation.js +2 -0
  173. package/dist/interfaces/Operation.js.map +1 -0
  174. package/dist/interfaces/QueryOptions.d.ts +23 -23
  175. package/dist/interfaces/QueryOptions.js +2 -0
  176. package/dist/interfaces/QueryOptions.js.map +1 -0
  177. package/dist/interfaces/RoleSchema.d.ts +6 -6
  178. package/dist/interfaces/RoleSchema.js +2 -0
  179. package/dist/interfaces/RoleSchema.js.map +1 -0
  180. package/dist/interfaces/Submission.d.ts +5 -5
  181. package/dist/interfaces/Submission.js +2 -0
  182. package/dist/interfaces/Submission.js.map +1 -0
  183. package/dist/interfaces/index.d.ts +8 -8
  184. package/dist/interfaces/index.js +2 -0
  185. package/dist/interfaces/index.js.map +1 -0
  186. package/dist/react-app-env.d.js +2 -0
  187. package/dist/react-app-env.d.js.map +1 -0
  188. package/dist/react-table.d.js +2 -0
  189. package/dist/react-table.d.js.map +1 -0
  190. package/dist/typings.d.js +2 -0
  191. package/dist/typings.d.js.map +1 -0
  192. package/dist/utils/callLast.d.ts +1 -1
  193. package/dist/utils/callLast.js +10 -0
  194. package/dist/utils/callLast.js.map +1 -0
  195. package/dist/utils/getEventValue.d.ts +1 -1
  196. package/dist/utils/getEventValue.js +8 -0
  197. package/dist/utils/getEventValue.js.map +1 -0
  198. package/dist/utils/iconClass.d.ts +1 -1
  199. package/dist/utils/iconClass.js +9 -0
  200. package/dist/utils/iconClass.js.map +1 -0
  201. package/dist/utils/mapPagination.d.ts +1 -1
  202. package/dist/utils/mapPagination.js +11 -0
  203. package/dist/utils/mapPagination.js.map +1 -0
  204. package/dist/utils/stopPropagationWrapper.d.ts +1 -1
  205. package/dist/utils/stopPropagationWrapper.js +7 -0
  206. package/dist/utils/stopPropagationWrapper.js.map +1 -0
  207. package/package.json +28 -15
  208. package/src/components/__fixtures__/form-actions.json +240 -0
  209. package/src/components/actions-table/__fixtures__/data.json +12 -0
  210. package/src/components/actions-table/actionsTable.component.spec.tsx +47 -17
  211. package/src/components/actions-table/actionsTable.component.tsx +3 -2
  212. package/src/components/actions-table/actionsTable.stories.tsx +71 -289
  213. package/src/components/alert/alert.component.spec.tsx +0 -1
  214. package/src/components/alert/alert.component.tsx +0 -2
  215. package/src/components/alert/alert.stories.tsx +0 -2
  216. package/src/components/card/card.component.spec.tsx +0 -1
  217. package/src/components/card/card.component.tsx +1 -2
  218. package/src/components/card/card.stories.tsx +0 -2
  219. package/src/components/form/form.component.spec.tsx +1 -1
  220. package/src/components/form/form.component.tsx +0 -1
  221. package/src/components/form/form.stories.tsx +2 -3
  222. package/src/components/form-access/formAccess.component.tsx +2 -13
  223. package/src/components/form-access/formAccess.stories.tsx +55 -49
  224. package/src/components/form-action/formAction.component.tsx +2 -1
  225. package/src/components/form-action/formAction.stories.tsx +0 -2
  226. package/src/components/form-builder/formBuilder.component.tsx +4 -4
  227. package/src/components/form-builder/formBuilder.stories.tsx +0 -2
  228. package/src/components/form-control/formControl.component.spec.tsx +0 -1
  229. package/src/components/form-control/formControl.component.tsx +8 -15
  230. package/src/components/form-control/formControl.stories.tsx +0 -2
  231. package/src/components/form-edit/formCtas.component.tsx +1 -1
  232. package/src/components/form-edit/formEdit.component.tsx +0 -1
  233. package/src/components/form-edit/formEdit.reducer.ts +0 -1
  234. package/src/components/form-edit/formEdit.stories.tsx +0 -2
  235. package/src/components/form-edit/formParameters.component.tsx +1 -1
  236. package/src/components/form-settings/formSettings.component.spec.tsx +5 -6
  237. package/src/components/form-settings/formSettings.component.tsx +1 -1
  238. package/src/components/form-settings/formSettings.stories.tsx +0 -2
  239. package/src/components/forms-table/components/formCell.component.tsx +0 -1
  240. package/src/components/forms-table/formsTable.component.tsx +0 -2
  241. package/src/components/forms-table/formsTable.stories.tsx +0 -1
  242. package/src/components/index.ts +0 -1
  243. package/src/components/input-tags/inputTags.component.tsx +1 -1
  244. package/src/components/input-tags/inputTags.stories.tsx +1 -1
  245. package/src/components/input-text/inputText.component.spec.tsx +0 -1
  246. package/src/components/input-text/inputText.component.tsx +1 -1
  247. package/src/components/input-text/inputText.stories.tsx +1 -1
  248. package/src/components/loader/loader.component.spec.tsx +1 -1
  249. package/src/components/loader/loader.component.tsx +1 -1
  250. package/src/components/loader/loader.stories.tsx +0 -2
  251. package/src/components/modal/modal.component.spec.tsx +2 -5
  252. package/src/components/modal/modal.component.tsx +1 -1
  253. package/src/components/modal/modal.stories.tsx +0 -2
  254. package/src/components/modal/removeModal.component.tsx +1 -1
  255. package/src/components/pagination/pagination.component.spec.tsx +7 -10
  256. package/src/components/pagination/pagination.component.tsx +1 -1
  257. package/src/components/pagination/pagination.stories.tsx +1 -1
  258. package/src/components/select/select.component.spec.tsx +1 -2
  259. package/src/components/select/select.component.tsx +10 -23
  260. package/src/components/select/select.stories.tsx +1 -1
  261. package/src/components/submissions-table/submissionsTable.component.tsx +0 -2
  262. package/src/components/submissions-table/submissionsTable.stories.tsx +4 -4
  263. package/src/components/table/components/defaultArrowSort.component.tsx +0 -2
  264. package/src/components/table/components/defaultCell.component.tsx +0 -2
  265. package/src/components/table/components/defaultCellHeader.component.tsx +0 -1
  266. package/src/components/table/components/defaultCellOperations.component.tsx +16 -5
  267. package/src/components/table/components/defaultCells.component.tsx +0 -1
  268. package/src/components/table/components/defaultOperationButton.component.tsx +14 -4
  269. package/src/components/table/components/defaultRow.component.tsx +2 -1
  270. package/src/components/table/components/dragNDropContainer.tsx +1 -1
  271. package/src/components/table/filters/defaultColumnFilter.component.spec.tsx +2 -5
  272. package/src/components/table/filters/defaultColumnFilter.component.tsx +2 -1
  273. package/src/components/table/filters/selectColumnFilter.component.spec.tsx +3 -6
  274. package/src/components/table/filters/selectColumnFilter.component.tsx +0 -1
  275. package/src/components/table/filters/sliderColumnFilter.component.tsx +7 -10
  276. package/src/components/table/hooks/useCustomTable.hook.tsx +16 -20
  277. package/src/components/table/hooks/useOperations.hook.tsx +3 -3
  278. package/src/components/table/table.component.tsx +1 -1
  279. package/src/components/table/table.stories.tsx +8 -8
  280. package/src/components/table/utils/mapFormToColumns.tsx +0 -1
  281. package/src/components/tabs/tabs.component.spec.tsx +2 -2
  282. package/src/components/tabs/tabs.component.stories.tsx +1 -1
  283. package/src/components/tabs/tabs.component.tsx +1 -1
  284. package/src/react-table.d.ts +2 -0
  285. package/src/utils/iconClass.ts +3 -1
  286. package/tsconfig.app.json +11 -0
  287. package/tsconfig.json +8 -6
  288. package/tsconfig.spec.json +14 -0
  289. package/vite.config.mts +69 -0
  290. package/vitest.config.mts +21 -0
  291. package/.eslintignore +0 -13
  292. package/.eslintrc.js +0 -7
  293. package/coverage.json +0 -6
  294. package/dist/components/actions-table/actionsTable.component.spec.d.ts +0 -1
  295. package/dist/components/actions-table/actionsTable.stories.d.ts +0 -85
  296. package/dist/components/alert/alert.component.spec.d.ts +0 -1
  297. package/dist/components/alert/alert.stories.d.ts +0 -15
  298. package/dist/components/card/card.component.spec.d.ts +0 -1
  299. package/dist/components/card/card.stories.d.ts +0 -16
  300. package/dist/components/form/form.component.spec.d.ts +0 -1
  301. package/dist/components/form/form.stories.d.ts +0 -6445
  302. package/dist/components/form-access/formAccess.stories.d.ts +0 -62
  303. package/dist/components/form-access/formAccess.utils.spec.d.ts +0 -1
  304. package/dist/components/form-action/formAction.stories.d.ts +0 -409
  305. package/dist/components/form-builder/formBuilder.stories.d.ts +0 -5989
  306. package/dist/components/form-control/formControl.component.spec.d.ts +0 -1
  307. package/dist/components/form-control/formControl.stories.d.ts +0 -58
  308. package/dist/components/form-edit/formEdit.stories.d.ts +0 -396
  309. package/dist/components/form-settings/formSettings.component.spec.d.ts +0 -1
  310. package/dist/components/form-settings/formSettings.stories.d.ts +0 -58
  311. package/dist/components/form-settings/formSettings.utils.spec.d.ts +0 -1
  312. package/dist/components/forms-table/formsTable.stories.d.ts +0 -117
  313. package/dist/components/input-tags/inputTags.stories.d.ts +0 -76
  314. package/dist/components/input-text/inputText.component.spec.d.ts +0 -1
  315. package/dist/components/input-text/inputText.stories.d.ts +0 -101
  316. package/dist/components/loader/loader.component.spec.d.ts +0 -1
  317. package/dist/components/loader/loader.stories.d.ts +0 -15
  318. package/dist/components/modal/modal.component.spec.d.ts +0 -1
  319. package/dist/components/modal/modal.stories.d.ts +0 -44
  320. package/dist/components/pagination/pagination.component.spec.d.ts +0 -1
  321. package/dist/components/pagination/pagination.stories.d.ts +0 -16
  322. package/dist/components/react-component/reactComponent.component.d.ts +0 -90
  323. package/dist/components/select/select.component.spec.d.ts +0 -1
  324. package/dist/components/select/select.stories.d.ts +0 -164
  325. package/dist/components/submissions-table/submissionsTable.stories.d.ts +0 -649
  326. package/dist/components/table/filters/defaultColumnFilter.component.spec.d.ts +0 -1
  327. package/dist/components/table/filters/selectColumnFilter.component.spec.d.ts +0 -1
  328. package/dist/components/table/table.stories.d.ts +0 -71
  329. package/dist/components/table/utils/swapElements.spec.d.ts +0 -1
  330. package/dist/components/tabs/tabs.component.spec.d.ts +0 -1
  331. package/dist/components/tabs/tabs.component.stories.d.ts +0 -47
  332. package/dist/index.modern.js +0 -7453
  333. package/dist/index.modern.js.map +0 -1
  334. package/dist/package.json +0 -3
  335. package/dist/setupTests.d.ts +0 -1
  336. package/jest.config.js +0 -6
  337. package/src/components/react-component/reactComponent.component.tsx +0 -197
  338. package/src/setupTests.tsx +0 -5
  339. package/tsconfig.node.json +0 -8
package/dist/package.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1 +0,0 @@
1
- import "@testing-library/jest-dom";
package/jest.config.js DELETED
@@ -1,6 +0,0 @@
1
- module.exports = {
2
- ...require("@tsed/config/jest/jest.web.config.js"),
3
- coverageThreshold: {
4
- global: require("./coverage.json")
5
- }
6
- };
@@ -1,197 +0,0 @@
1
- import { Components, ComponentSchema } from "formiojs";
2
- import ReactDOM from "react-dom";
3
-
4
- import { Submission } from "../../interfaces/Submission";
5
-
6
- export class ReactComponent<Data = any> extends Components.components.field {
7
- public reactInstance: any;
8
- public shouldSetValue?: boolean;
9
- private dataForSetting?: Data;
10
-
11
- /**
12
- * This is the first phase of component building where the component is instantiated.
13
- *
14
- * @param component - The component definition created from the settings form.
15
- * @param options - Any options passed into the renderer.
16
- * @param data - The submission data where this component's data exists.
17
- */
18
- // eslint-disable-next-line no-useless-constructor,import/no-anonymous-default-export
19
- constructor(component: ComponentSchema, options: any, data: Submission<Data>) {
20
- super(component, options, data);
21
- }
22
-
23
- get $reactNode() {
24
- return (this.refs as any)[`react-${this.id}`];
25
- }
26
-
27
- /**
28
- * This method is called any time the component needs to be rebuilt. It is most frequently used to listen to other
29
- * components using the this.on() function.
30
- */
31
- init() {
32
- return super.init();
33
- }
34
-
35
- /**
36
- * This method is called before the component is going to be destroyed, which is when the component instance is
37
- * destroyed. This is different from detach which is when the component instance still exists but the dom instance is
38
- * removed.
39
- */
40
- destroy() {
41
- return super.destroy();
42
- }
43
-
44
- /**
45
- * The second phase of component building where the component is rendered as an HTML string.
46
- *
47
- * @returns {string} - The return is the full string of the component
48
- */
49
- render() {
50
- // For react components, we simply render as a div which will become the react instance.
51
- // By calling super.render(string) it will wrap the component with the needed wrappers to make it a full component.
52
- return super.render(`<div ref="react-${this.id}"></div>`);
53
- }
54
-
55
- /**
56
- * The third phase of component building where the component has been attached to the DOM as 'element' and is ready
57
- * to have its javascript events attached.
58
- *
59
- * @param element
60
- * @returns {Promise<void>} - Return a promise that resolves when the attach is complete.
61
- */
62
- async attach(element: any) {
63
- super.attach(element);
64
-
65
- // The loadRefs function will find all dom elements that have the "ref" setting that match the object property.
66
- // It can load a single element or multiple elements with the same ref.
67
- this.loadRefs(element, {
68
- [`react-${this.id}`]: "single"
69
- });
70
-
71
- // @ts-ignore
72
- if (this.refs[`react-${this.id}`]) {
73
- // @ts-ignore
74
- this.reactInstance = this.attachReact(this.refs[`react-${this.id}`]);
75
-
76
- if (this.shouldSetValue) {
77
- this.setValue(this.dataForSetting);
78
- this.updateValue(this.dataForSetting);
79
- }
80
- }
81
- }
82
-
83
- /**
84
- * The fourth phase of component building where the component is being removed from the page. This could be a redraw
85
- * or it is being removed from the form.
86
- */
87
- detach() {
88
- // @ts-ignore
89
- if (this.refs[`react-${this.id}`]) {
90
- // @ts-ignore
91
- this.detachReact(this.refs[`react-${this.id}`]);
92
- }
93
- super.detach();
94
- }
95
-
96
- /**
97
- * Override this function to render a react component.
98
- */
99
- renderReact(): any {
100
- return null;
101
- }
102
-
103
- /**
104
- * Override this function to insert your custom component.
105
- *
106
- * @param element
107
- */
108
- // eslint-disable-next-line @typescript-eslint/no-empty-function
109
- attachReact(element?: any) {
110
- // eslint-disable-next-line react/no-render-return-value
111
- return ReactDOM.render(this.renderReact(), element);
112
- }
113
-
114
- /**
115
- * Override this function.
116
- */
117
- // eslint-disable-next-line @typescript-eslint/no-empty-function
118
- detachReact(element?: any) {
119
- if (element) {
120
- ReactDOM.unmountComponentAtNode(element);
121
- }
122
- }
123
-
124
- /**
125
- * Something external has set a value and our component needs to be updated to reflect that. For example, loading a submission.
126
- *
127
- * @param value
128
- * @param flags
129
- */
130
- setValue(value: any, flags?: any) {
131
- if (this.reactInstance) {
132
- this.reactInstance.setState({
133
- value: value
134
- });
135
- this.shouldSetValue = false;
136
- } else {
137
- this.shouldSetValue = true;
138
- this.dataForSetting = value;
139
- }
140
-
141
- return false;
142
- }
143
-
144
- /**
145
- * The user has changed the value in the component and the value needs to be updated on the main submission object and other components notified of a change event.
146
- *
147
- * @param value
148
- * @param flags
149
- */
150
- updateValue = (value?: Data, flags?: Record<string, any>) => {
151
- flags = flags || {};
152
-
153
- const newValue = value === undefined || value === null ? this.getValue() : value;
154
-
155
- const changed = newValue !== undefined ? this.hasChanged(newValue, this.dataValue) : false;
156
-
157
- this.dataValue = Array.isArray(newValue) ? [...newValue] : newValue;
158
-
159
- this.updateOnChange(flags, changed);
160
- return changed;
161
- };
162
-
163
- /**
164
- * Get the current value of the component. Should return the value set in the react component.
165
- *
166
- * @returns {*}
167
- */
168
- getValue(): Data {
169
- if (this.reactInstance) {
170
- return this.reactInstance.state.value;
171
- }
172
- return this.defaultValue;
173
- }
174
-
175
- /**
176
- * Override normal validation check to insert custom validation in react component.
177
- *
178
- * @param data
179
- * @param dirty
180
- * @param rowData
181
- * @returns {boolean}
182
- */
183
- checkValidity(data: Data, dirty: boolean, rowData: any) {
184
- const valid = super.checkValidity(data, dirty, rowData);
185
-
186
- if (!valid) {
187
- return false;
188
- }
189
-
190
- return this.validate(data, dirty, rowData);
191
- }
192
-
193
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
194
- validate(data: Data, dirty: boolean, rowData: any) {
195
- return true;
196
- }
197
- }
@@ -1,5 +0,0 @@
1
- // jest-dom adds custom jest matchers for asserting on DOM nodes.
2
- // allows you to do things like:
3
- // expect(element).toHaveTextContent(/react/i)
4
- // learn more: https://github.com/testing-library/jest-dom
5
- import "@testing-library/jest-dom";
@@ -1,8 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "esnext",
5
- "moduleResolution": "node"
6
- },
7
- "include": []
8
- }