@dwidge/json-forms-expo 0.0.2 → 0.0.3

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 (408) hide show
  1. package/dist/cjs/{FileAttachment → Attachment}/AttachmentEdit.js +3 -2
  2. package/dist/cjs/Attachment/AttachmentEdit.js.map +1 -0
  3. package/dist/cjs/Attachment/AttachmentListEdit.js +21 -0
  4. package/dist/cjs/Attachment/AttachmentListEdit.js.map +1 -0
  5. package/dist/cjs/{FileAttachment → Attachment}/AttachmentListView.js +2 -2
  6. package/dist/cjs/Attachment/AttachmentListView.js.map +1 -0
  7. package/dist/cjs/Attachment/AttachmentScreen.js.map +1 -0
  8. package/dist/cjs/{FileAttachment → Attachment}/AttachmentView.js +3 -2
  9. package/dist/cjs/Attachment/AttachmentView.js.map +1 -0
  10. package/dist/cjs/{FileAttachment → Attachment}/index.js +7 -7
  11. package/dist/cjs/Attachment/index.js.map +1 -0
  12. package/dist/cjs/{FileAttachment → Attachment}/useFileAttachmentUrl.js +3 -2
  13. package/dist/cjs/Attachment/useFileAttachmentUrl.js.map +1 -0
  14. package/dist/cjs/{FileAttachment → Attachment}/useFileUrl.js +2 -1
  15. package/dist/cjs/Attachment/useFileUrl.js.map +1 -0
  16. package/dist/cjs/Form/FormEdit.js +22 -3
  17. package/dist/cjs/Form/FormEdit.js.map +1 -1
  18. package/dist/cjs/Form/FormEditScreen.js +4 -17
  19. package/dist/cjs/Form/FormEditScreen.js.map +1 -1
  20. package/dist/cjs/Form/FormListEdit.js +9 -4
  21. package/dist/cjs/Form/FormListEdit.js.map +1 -1
  22. package/dist/cjs/Form/FormListScreen.js +9 -6
  23. package/dist/cjs/Form/FormListScreen.js.map +1 -1
  24. package/dist/cjs/Form/FormListView.js +5 -2
  25. package/dist/cjs/Form/FormListView.js.map +1 -1
  26. package/dist/cjs/Form/FormView.js +5 -1
  27. package/dist/cjs/Form/FormView.js.map +1 -1
  28. package/dist/cjs/Form/index.js +6 -9
  29. package/dist/cjs/Form/index.js.map +1 -1
  30. package/dist/cjs/{Form/EditFormAttachmentScreen.js → Schema/EditSchemaScreen.js} +4 -4
  31. package/dist/cjs/Schema/EditSchemaScreen.js.map +1 -0
  32. package/dist/cjs/Schema/SchemaEdit.js +12 -0
  33. package/dist/cjs/Schema/SchemaEdit.js.map +1 -0
  34. package/dist/cjs/Schema/SchemaEditScreen.js +30 -0
  35. package/dist/cjs/Schema/SchemaEditScreen.js.map +1 -0
  36. package/dist/cjs/Schema/SchemaListEdit.js +22 -0
  37. package/dist/cjs/Schema/SchemaListEdit.js.map +1 -0
  38. package/dist/cjs/Schema/SchemaListScreen.js +28 -0
  39. package/dist/cjs/Schema/SchemaListScreen.js.map +1 -0
  40. package/dist/cjs/Schema/SchemaListView.js +18 -0
  41. package/dist/cjs/Schema/SchemaListView.js.map +1 -0
  42. package/dist/cjs/Schema/SchemaSelectScreen.js +21 -0
  43. package/dist/cjs/Schema/SchemaSelectScreen.js.map +1 -0
  44. package/dist/cjs/Schema/SchemaSelectView.js +16 -0
  45. package/dist/cjs/Schema/SchemaSelectView.js.map +1 -0
  46. package/dist/cjs/Schema/SchemaView.js +12 -0
  47. package/dist/cjs/Schema/SchemaView.js.map +1 -0
  48. package/dist/cjs/{FormAttachment → Schema}/index.js +9 -6
  49. package/dist/cjs/Schema/index.js.map +1 -0
  50. package/dist/cjs/hooks/{FileAttachmentApi.js → AttachmentApi.js} +4 -4
  51. package/dist/cjs/hooks/AttachmentApi.js.map +1 -0
  52. package/dist/cjs/hooks/FileApi.js +1 -1
  53. package/dist/cjs/hooks/FileApi.js.map +1 -1
  54. package/dist/cjs/hooks/FormApi.js +3 -4
  55. package/dist/cjs/hooks/FormApi.js.map +1 -1
  56. package/dist/cjs/hooks/FormsContext.js +4 -4
  57. package/dist/cjs/hooks/FormsContext.js.map +1 -1
  58. package/dist/cjs/hooks/{FormAttachmentApi.js → SchemaApi.js} +6 -5
  59. package/dist/cjs/hooks/SchemaApi.js.map +1 -0
  60. package/dist/cjs/hooks/createApi.js +11 -12
  61. package/dist/cjs/hooks/createApi.js.map +1 -1
  62. package/dist/cjs/hooks/index.js +11 -10
  63. package/dist/cjs/hooks/index.js.map +1 -1
  64. package/dist/cjs/hooks/useCreateBlankAttachment.js +2 -2
  65. package/dist/cjs/hooks/useCreateBlankAttachment.js.map +1 -1
  66. package/dist/cjs/hooks/useCreateBlankForm.js +5 -3
  67. package/dist/cjs/hooks/useCreateBlankForm.js.map +1 -1
  68. package/dist/cjs/hooks/useCreateBlankSchema.js +12 -0
  69. package/dist/cjs/hooks/useCreateBlankSchema.js.map +1 -0
  70. package/dist/cjs/hooks/useIdFilter.js +6 -0
  71. package/dist/cjs/hooks/useIdFilter.js.map +1 -0
  72. package/dist/cjs/index.js +5 -5
  73. package/dist/cjs/index.js.map +1 -1
  74. package/dist/cjs/types/{FileAttachment.js → File1.js} +1 -1
  75. package/dist/cjs/types/File1.js.map +1 -0
  76. package/dist/cjs/types/{FormAttachment.js → Schema1.js} +1 -1
  77. package/dist/cjs/types/Schema1.js.map +1 -0
  78. package/dist/cjs/types/index.js +4 -4
  79. package/dist/cjs/types/index.js.map +1 -1
  80. package/dist/esm/{FileAttachment → Attachment}/AttachmentEdit.js +3 -2
  81. package/dist/esm/Attachment/AttachmentEdit.js.map +1 -0
  82. package/dist/esm/Attachment/AttachmentListEdit.js +14 -0
  83. package/dist/esm/Attachment/AttachmentListEdit.js.map +1 -0
  84. package/dist/esm/{FileAttachment → Attachment}/AttachmentListView.js +2 -2
  85. package/dist/esm/Attachment/AttachmentListView.js.map +1 -0
  86. package/dist/esm/Attachment/AttachmentScreen.js.map +1 -0
  87. package/dist/esm/{FileAttachment → Attachment}/AttachmentView.js +3 -2
  88. package/dist/esm/Attachment/AttachmentView.js.map +1 -0
  89. package/dist/esm/Attachment/index.js +8 -0
  90. package/dist/esm/Attachment/index.js.map +1 -0
  91. package/dist/esm/{FileAttachment → Attachment}/useFileAttachmentUrl.js +3 -2
  92. package/dist/esm/Attachment/useFileAttachmentUrl.js.map +1 -0
  93. package/dist/esm/{FileAttachment → Attachment}/useFileUrl.js +2 -1
  94. package/dist/esm/Attachment/useFileUrl.js.map +1 -0
  95. package/dist/esm/Form/FormEdit.js +22 -3
  96. package/dist/esm/Form/FormEdit.js.map +1 -1
  97. package/dist/esm/Form/FormEditScreen.js +5 -18
  98. package/dist/esm/Form/FormEditScreen.js.map +1 -1
  99. package/dist/esm/Form/FormListEdit.js +10 -5
  100. package/dist/esm/Form/FormListEdit.js.map +1 -1
  101. package/dist/esm/Form/FormListScreen.js +10 -7
  102. package/dist/esm/Form/FormListScreen.js.map +1 -1
  103. package/dist/esm/Form/FormListView.js +5 -2
  104. package/dist/esm/Form/FormListView.js.map +1 -1
  105. package/dist/esm/Form/FormView.js +7 -3
  106. package/dist/esm/Form/FormView.js.map +1 -1
  107. package/dist/esm/Form/index.js +6 -9
  108. package/dist/esm/Form/index.js.map +1 -1
  109. package/dist/esm/{Form/EditFormAttachmentScreen.js → Schema/EditSchemaScreen.js} +2 -2
  110. package/dist/esm/Schema/EditSchemaScreen.js.map +1 -0
  111. package/dist/esm/Schema/SchemaEdit.js +8 -0
  112. package/dist/esm/Schema/SchemaEdit.js.map +1 -0
  113. package/dist/esm/Schema/SchemaEditScreen.js +26 -0
  114. package/dist/esm/Schema/SchemaEditScreen.js.map +1 -0
  115. package/dist/esm/Schema/SchemaListEdit.js +15 -0
  116. package/dist/esm/Schema/SchemaListEdit.js.map +1 -0
  117. package/dist/esm/Schema/SchemaListScreen.js +24 -0
  118. package/dist/esm/Schema/SchemaListScreen.js.map +1 -0
  119. package/dist/esm/Schema/SchemaListView.js +11 -0
  120. package/dist/esm/Schema/SchemaListView.js.map +1 -0
  121. package/dist/esm/Schema/SchemaSelectScreen.js +17 -0
  122. package/dist/esm/Schema/SchemaSelectScreen.js.map +1 -0
  123. package/dist/esm/Schema/SchemaSelectView.js +12 -0
  124. package/dist/esm/Schema/SchemaSelectView.js.map +1 -0
  125. package/dist/esm/Schema/SchemaView.js +8 -0
  126. package/dist/esm/Schema/SchemaView.js.map +1 -0
  127. package/dist/esm/Schema/index.js +10 -0
  128. package/dist/esm/Schema/index.js.map +1 -0
  129. package/dist/esm/hooks/{FileAttachmentApi.js → AttachmentApi.js} +3 -3
  130. package/dist/esm/hooks/AttachmentApi.js.map +1 -0
  131. package/dist/esm/hooks/FileApi.js +1 -1
  132. package/dist/esm/hooks/FileApi.js.map +1 -1
  133. package/dist/esm/hooks/FormApi.js +3 -4
  134. package/dist/esm/hooks/FormApi.js.map +1 -1
  135. package/dist/esm/hooks/FormsContext.js +4 -4
  136. package/dist/esm/hooks/FormsContext.js.map +1 -1
  137. package/dist/esm/hooks/SchemaApi.js +10 -0
  138. package/dist/esm/hooks/SchemaApi.js.map +1 -0
  139. package/dist/esm/hooks/createApi.js +11 -12
  140. package/dist/esm/hooks/createApi.js.map +1 -1
  141. package/dist/esm/hooks/index.js +11 -10
  142. package/dist/esm/hooks/index.js.map +1 -1
  143. package/dist/esm/hooks/useCreateBlankAttachment.js +2 -2
  144. package/dist/esm/hooks/useCreateBlankAttachment.js.map +1 -1
  145. package/dist/esm/hooks/useCreateBlankForm.js +5 -3
  146. package/dist/esm/hooks/useCreateBlankForm.js.map +1 -1
  147. package/dist/esm/hooks/useCreateBlankSchema.js +8 -0
  148. package/dist/esm/hooks/useCreateBlankSchema.js.map +1 -0
  149. package/dist/esm/hooks/useIdFilter.js +2 -0
  150. package/dist/esm/hooks/useIdFilter.js.map +1 -0
  151. package/dist/esm/index.js +5 -5
  152. package/dist/esm/index.js.map +1 -1
  153. package/dist/esm/types/File1.js +2 -0
  154. package/dist/esm/types/File1.js.map +1 -0
  155. package/dist/esm/types/Schema1.js +2 -0
  156. package/dist/esm/types/Schema1.js.map +1 -0
  157. package/dist/esm/types/index.js +4 -4
  158. package/dist/esm/types/index.js.map +1 -1
  159. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  160. package/dist/tsconfig.tsbuildinfo +1 -1
  161. package/dist/types/Attachment/AttachmentEdit.d.ts +6 -0
  162. package/dist/types/Attachment/AttachmentEdit.d.ts.map +1 -0
  163. package/dist/types/{FileAttachment → Attachment}/AttachmentListEdit.d.ts +3 -3
  164. package/dist/types/Attachment/AttachmentListEdit.d.ts.map +1 -0
  165. package/dist/types/{FileAttachment → Attachment}/AttachmentListView.d.ts +2 -2
  166. package/dist/types/Attachment/AttachmentListView.d.ts.map +1 -0
  167. package/dist/types/{FileAttachment → Attachment}/AttachmentScreen.d.ts +1 -1
  168. package/dist/types/Attachment/AttachmentScreen.d.ts.map +1 -0
  169. package/dist/types/Attachment/AttachmentView.d.ts +6 -0
  170. package/dist/types/Attachment/AttachmentView.d.ts.map +1 -0
  171. package/dist/types/Attachment/index.d.ts +8 -0
  172. package/dist/types/Attachment/index.d.ts.map +1 -0
  173. package/dist/types/Attachment/useFileAttachmentUrl.d.ts.map +1 -0
  174. package/dist/types/Attachment/useFileUrl.d.ts.map +1 -0
  175. package/dist/types/Form/FormEdit.d.ts +6 -2
  176. package/dist/types/Form/FormEdit.d.ts.map +1 -1
  177. package/dist/types/Form/FormEditScreen.d.ts +3 -2
  178. package/dist/types/Form/FormEditScreen.d.ts.map +1 -1
  179. package/dist/types/Form/FormListEdit.d.ts +7 -2
  180. package/dist/types/Form/FormListEdit.d.ts.map +1 -1
  181. package/dist/types/Form/FormListScreen.d.ts +4 -5
  182. package/dist/types/Form/FormListScreen.d.ts.map +1 -1
  183. package/dist/types/Form/FormListView.d.ts +3 -3
  184. package/dist/types/Form/FormListView.d.ts.map +1 -1
  185. package/dist/types/Form/FormView.d.ts +4 -3
  186. package/dist/types/Form/FormView.d.ts.map +1 -1
  187. package/dist/types/Form/index.d.ts +6 -9
  188. package/dist/types/Form/index.d.ts.map +1 -1
  189. package/dist/types/{Form/EditFormAttachmentScreen.d.ts → Schema/EditSchemaScreen.d.ts} +2 -2
  190. package/dist/types/Schema/EditSchemaScreen.d.ts.map +1 -0
  191. package/dist/types/Schema/SchemaEdit.d.ts +4 -0
  192. package/dist/types/Schema/SchemaEdit.d.ts.map +1 -0
  193. package/dist/types/Schema/SchemaEditScreen.d.ts +4 -0
  194. package/dist/types/Schema/SchemaEditScreen.d.ts.map +1 -0
  195. package/dist/types/Schema/SchemaListEdit.d.ts +6 -0
  196. package/dist/types/Schema/SchemaListEdit.d.ts.map +1 -0
  197. package/dist/types/Schema/SchemaListScreen.d.ts +8 -0
  198. package/dist/types/Schema/SchemaListScreen.d.ts.map +1 -0
  199. package/dist/types/Schema/SchemaListView.d.ts +5 -0
  200. package/dist/types/Schema/SchemaListView.d.ts.map +1 -0
  201. package/dist/types/Schema/SchemaSelectScreen.d.ts +6 -0
  202. package/dist/types/Schema/SchemaSelectScreen.d.ts.map +1 -0
  203. package/dist/types/Schema/SchemaSelectView.d.ts +8 -0
  204. package/dist/types/Schema/SchemaSelectView.d.ts.map +1 -0
  205. package/dist/types/Schema/SchemaView.d.ts +5 -0
  206. package/dist/types/Schema/SchemaView.d.ts.map +1 -0
  207. package/dist/types/Schema/index.d.ts +10 -0
  208. package/dist/types/Schema/index.d.ts.map +1 -0
  209. package/dist/types/hooks/AttachmentApi.d.ts +23 -0
  210. package/dist/types/hooks/AttachmentApi.d.ts.map +1 -0
  211. package/dist/types/hooks/FileApi.d.ts +7 -19
  212. package/dist/types/hooks/FileApi.d.ts.map +1 -1
  213. package/dist/types/hooks/FormApi.d.ts +7 -19
  214. package/dist/types/hooks/FormApi.d.ts.map +1 -1
  215. package/dist/types/hooks/FormsContext.d.ts +7 -7
  216. package/dist/types/hooks/SchemaApi.d.ts +23 -0
  217. package/dist/types/hooks/SchemaApi.d.ts.map +1 -0
  218. package/dist/types/hooks/createApi.d.ts +8 -20
  219. package/dist/types/hooks/createApi.d.ts.map +1 -1
  220. package/dist/types/hooks/index.d.ts +11 -10
  221. package/dist/types/hooks/index.d.ts.map +1 -1
  222. package/dist/types/hooks/useCreateBlankAttachment.d.ts +3 -3
  223. package/dist/types/hooks/useCreateBlankAttachment.d.ts.map +1 -1
  224. package/dist/types/hooks/useCreateBlankForm.d.ts +10 -3
  225. package/dist/types/hooks/useCreateBlankForm.d.ts.map +1 -1
  226. package/dist/types/hooks/useCreateBlankSchema.d.ts +6 -0
  227. package/dist/types/hooks/useCreateBlankSchema.d.ts.map +1 -0
  228. package/dist/types/hooks/useIdFilter.d.ts +4 -0
  229. package/dist/types/hooks/useIdFilter.d.ts.map +1 -0
  230. package/dist/types/hooks/useParams.d.ts +1 -1
  231. package/dist/types/hooks/useParams.d.ts.map +1 -1
  232. package/dist/types/index.d.ts +5 -5
  233. package/dist/types/index.d.ts.map +1 -1
  234. package/dist/types/types/{FileAttachment.d.ts → File1.d.ts} +3 -3
  235. package/dist/types/types/File1.d.ts.map +1 -0
  236. package/dist/types/types/Form1.d.ts +2 -3
  237. package/dist/types/types/Form1.d.ts.map +1 -1
  238. package/dist/types/types/Schema1.d.ts +14 -0
  239. package/dist/types/types/Schema1.d.ts.map +1 -0
  240. package/dist/types/types/index.d.ts +4 -4
  241. package/dist/types/types/index.d.ts.map +1 -1
  242. package/package.json +14 -14
  243. package/src/{FileAttachment → Attachment}/AttachmentEdit.tsx +4 -3
  244. package/src/{FileAttachment → Attachment}/AttachmentListEdit.tsx +3 -3
  245. package/src/{FileAttachment → Attachment}/AttachmentListView.tsx +2 -2
  246. package/src/{FileAttachment → Attachment}/AttachmentView.tsx +4 -3
  247. package/src/Attachment/index.ts +7 -0
  248. package/src/{FileAttachment → Attachment}/useFileAttachmentUrl.ts +4 -3
  249. package/src/{FileAttachment → Attachment}/useFileUrl.ts +2 -1
  250. package/src/Form/FormEdit.tsx +60 -7
  251. package/src/Form/FormEditScreen.tsx +10 -42
  252. package/src/Form/FormListEdit.tsx +22 -14
  253. package/src/Form/FormListScreen.tsx +24 -19
  254. package/src/Form/FormListView.tsx +13 -6
  255. package/src/Form/FormView.tsx +26 -11
  256. package/src/Form/index.ts +6 -9
  257. package/src/{Form/EditFormAttachmentScreen.tsx → Schema/EditSchemaScreen.tsx} +4 -4
  258. package/src/Schema/SchemaEdit.tsx +15 -0
  259. package/src/Schema/SchemaEditScreen.tsx +57 -0
  260. package/src/{FormAttachment/FormAttachmentListView.tsx → Schema/SchemaListEdit.tsx} +13 -11
  261. package/src/Schema/SchemaListScreen.tsx +54 -0
  262. package/src/Schema/SchemaListView.tsx +23 -0
  263. package/src/{Form/FormSelectScreen.tsx → Schema/SchemaSelectScreen.tsx} +12 -17
  264. package/src/{Form/FormSelectView.tsx → Schema/SchemaSelectView.tsx} +8 -8
  265. package/src/Schema/SchemaView.tsx +11 -0
  266. package/src/Schema/index.ts +9 -0
  267. package/src/hooks/{FileAttachmentApi.ts → AttachmentApi.ts} +3 -3
  268. package/src/hooks/FileApi.ts +1 -1
  269. package/src/hooks/FormApi.ts +3 -4
  270. package/src/hooks/FormsContext.ts +4 -4
  271. package/src/hooks/SchemaApi.ts +11 -0
  272. package/src/hooks/createApi.ts +22 -19
  273. package/src/hooks/index.ts +11 -10
  274. package/src/hooks/useCreateBlankAttachment.ts +2 -2
  275. package/src/hooks/useCreateBlankForm.ts +11 -3
  276. package/src/hooks/useCreateBlankSchema.ts +12 -0
  277. package/src/hooks/useIdFilter.ts +2 -0
  278. package/src/hooks/useParams.ts +1 -1
  279. package/src/index.ts +5 -5
  280. package/src/types/{FileAttachment.ts → File1.ts} +2 -2
  281. package/src/types/Form1.ts +2 -3
  282. package/src/types/Schema1.ts +17 -0
  283. package/src/types/index.ts +4 -4
  284. package/dist/cjs/FileAttachment/AttachmentEdit.js.map +0 -1
  285. package/dist/cjs/FileAttachment/AttachmentListEdit.js +0 -21
  286. package/dist/cjs/FileAttachment/AttachmentListEdit.js.map +0 -1
  287. package/dist/cjs/FileAttachment/AttachmentListView.js.map +0 -1
  288. package/dist/cjs/FileAttachment/AttachmentScreen.js.map +0 -1
  289. package/dist/cjs/FileAttachment/AttachmentView.js.map +0 -1
  290. package/dist/cjs/FileAttachment/index.js.map +0 -1
  291. package/dist/cjs/FileAttachment/useFileAttachmentUrl.js.map +0 -1
  292. package/dist/cjs/FileAttachment/useFileUrl.js.map +0 -1
  293. package/dist/cjs/Form/EditFormAttachmentScreen.js.map +0 -1
  294. package/dist/cjs/Form/FormSelectScreen.js +0 -21
  295. package/dist/cjs/Form/FormSelectScreen.js.map +0 -1
  296. package/dist/cjs/Form/FormSelectView.js +0 -16
  297. package/dist/cjs/Form/FormSelectView.js.map +0 -1
  298. package/dist/cjs/FormAttachment/FormAttachmentEdit.js +0 -30
  299. package/dist/cjs/FormAttachment/FormAttachmentEdit.js.map +0 -1
  300. package/dist/cjs/FormAttachment/FormAttachmentEditScreen.js +0 -15
  301. package/dist/cjs/FormAttachment/FormAttachmentEditScreen.js.map +0 -1
  302. package/dist/cjs/FormAttachment/FormAttachmentListEdit.js +0 -27
  303. package/dist/cjs/FormAttachment/FormAttachmentListEdit.js.map +0 -1
  304. package/dist/cjs/FormAttachment/FormAttachmentListScreen.js +0 -31
  305. package/dist/cjs/FormAttachment/FormAttachmentListScreen.js.map +0 -1
  306. package/dist/cjs/FormAttachment/FormAttachmentListView.js +0 -21
  307. package/dist/cjs/FormAttachment/FormAttachmentListView.js.map +0 -1
  308. package/dist/cjs/FormAttachment/FormAttachmentView.js +0 -15
  309. package/dist/cjs/FormAttachment/FormAttachmentView.js.map +0 -1
  310. package/dist/cjs/FormAttachment/index.js.map +0 -1
  311. package/dist/cjs/hooks/FileAttachmentApi.js.map +0 -1
  312. package/dist/cjs/hooks/FormAttachmentApi.js.map +0 -1
  313. package/dist/cjs/hooks/useCreateBlankFormAttachment.js +0 -14
  314. package/dist/cjs/hooks/useCreateBlankFormAttachment.js.map +0 -1
  315. package/dist/cjs/types/FileAttachment.js.map +0 -1
  316. package/dist/cjs/types/FormAttachment.js.map +0 -1
  317. package/dist/esm/FileAttachment/AttachmentEdit.js.map +0 -1
  318. package/dist/esm/FileAttachment/AttachmentListEdit.js +0 -14
  319. package/dist/esm/FileAttachment/AttachmentListEdit.js.map +0 -1
  320. package/dist/esm/FileAttachment/AttachmentListView.js.map +0 -1
  321. package/dist/esm/FileAttachment/AttachmentScreen.js.map +0 -1
  322. package/dist/esm/FileAttachment/AttachmentView.js.map +0 -1
  323. package/dist/esm/FileAttachment/index.js +0 -8
  324. package/dist/esm/FileAttachment/index.js.map +0 -1
  325. package/dist/esm/FileAttachment/useFileAttachmentUrl.js.map +0 -1
  326. package/dist/esm/FileAttachment/useFileUrl.js.map +0 -1
  327. package/dist/esm/Form/EditFormAttachmentScreen.js.map +0 -1
  328. package/dist/esm/Form/FormSelectScreen.js +0 -17
  329. package/dist/esm/Form/FormSelectScreen.js.map +0 -1
  330. package/dist/esm/Form/FormSelectView.js +0 -12
  331. package/dist/esm/Form/FormSelectView.js.map +0 -1
  332. package/dist/esm/FormAttachment/FormAttachmentEdit.js +0 -26
  333. package/dist/esm/FormAttachment/FormAttachmentEdit.js.map +0 -1
  334. package/dist/esm/FormAttachment/FormAttachmentEditScreen.js +0 -11
  335. package/dist/esm/FormAttachment/FormAttachmentEditScreen.js.map +0 -1
  336. package/dist/esm/FormAttachment/FormAttachmentListEdit.js +0 -20
  337. package/dist/esm/FormAttachment/FormAttachmentListEdit.js.map +0 -1
  338. package/dist/esm/FormAttachment/FormAttachmentListScreen.js +0 -27
  339. package/dist/esm/FormAttachment/FormAttachmentListScreen.js.map +0 -1
  340. package/dist/esm/FormAttachment/FormAttachmentListView.js +0 -14
  341. package/dist/esm/FormAttachment/FormAttachmentListView.js.map +0 -1
  342. package/dist/esm/FormAttachment/FormAttachmentView.js +0 -11
  343. package/dist/esm/FormAttachment/FormAttachmentView.js.map +0 -1
  344. package/dist/esm/FormAttachment/index.js +0 -7
  345. package/dist/esm/FormAttachment/index.js.map +0 -1
  346. package/dist/esm/hooks/FileAttachmentApi.js.map +0 -1
  347. package/dist/esm/hooks/FormAttachmentApi.js +0 -9
  348. package/dist/esm/hooks/FormAttachmentApi.js.map +0 -1
  349. package/dist/esm/hooks/useCreateBlankFormAttachment.js +0 -10
  350. package/dist/esm/hooks/useCreateBlankFormAttachment.js.map +0 -1
  351. package/dist/esm/types/FileAttachment.js +0 -2
  352. package/dist/esm/types/FileAttachment.js.map +0 -1
  353. package/dist/esm/types/FormAttachment.js +0 -2
  354. package/dist/esm/types/FormAttachment.js.map +0 -1
  355. package/dist/types/FileAttachment/AttachmentEdit.d.ts +0 -6
  356. package/dist/types/FileAttachment/AttachmentEdit.d.ts.map +0 -1
  357. package/dist/types/FileAttachment/AttachmentListEdit.d.ts.map +0 -1
  358. package/dist/types/FileAttachment/AttachmentListView.d.ts.map +0 -1
  359. package/dist/types/FileAttachment/AttachmentScreen.d.ts.map +0 -1
  360. package/dist/types/FileAttachment/AttachmentView.d.ts +0 -6
  361. package/dist/types/FileAttachment/AttachmentView.d.ts.map +0 -1
  362. package/dist/types/FileAttachment/index.d.ts +0 -8
  363. package/dist/types/FileAttachment/index.d.ts.map +0 -1
  364. package/dist/types/FileAttachment/useFileAttachmentUrl.d.ts.map +0 -1
  365. package/dist/types/FileAttachment/useFileUrl.d.ts.map +0 -1
  366. package/dist/types/Form/EditFormAttachmentScreen.d.ts.map +0 -1
  367. package/dist/types/Form/FormSelectScreen.d.ts +0 -6
  368. package/dist/types/Form/FormSelectScreen.d.ts.map +0 -1
  369. package/dist/types/Form/FormSelectView.d.ts +0 -8
  370. package/dist/types/Form/FormSelectView.d.ts.map +0 -1
  371. package/dist/types/FormAttachment/FormAttachmentEdit.d.ts +0 -9
  372. package/dist/types/FormAttachment/FormAttachmentEdit.d.ts.map +0 -1
  373. package/dist/types/FormAttachment/FormAttachmentEditScreen.d.ts +0 -5
  374. package/dist/types/FormAttachment/FormAttachmentEditScreen.d.ts.map +0 -1
  375. package/dist/types/FormAttachment/FormAttachmentListEdit.d.ts +0 -11
  376. package/dist/types/FormAttachment/FormAttachmentListEdit.d.ts.map +0 -1
  377. package/dist/types/FormAttachment/FormAttachmentListScreen.d.ts +0 -7
  378. package/dist/types/FormAttachment/FormAttachmentListScreen.d.ts.map +0 -1
  379. package/dist/types/FormAttachment/FormAttachmentListView.d.ts +0 -5
  380. package/dist/types/FormAttachment/FormAttachmentListView.d.ts.map +0 -1
  381. package/dist/types/FormAttachment/FormAttachmentView.d.ts +0 -6
  382. package/dist/types/FormAttachment/FormAttachmentView.d.ts.map +0 -1
  383. package/dist/types/FormAttachment/index.d.ts +0 -7
  384. package/dist/types/FormAttachment/index.d.ts.map +0 -1
  385. package/dist/types/hooks/FileAttachmentApi.d.ts +0 -35
  386. package/dist/types/hooks/FileAttachmentApi.d.ts.map +0 -1
  387. package/dist/types/hooks/FormAttachmentApi.d.ts +0 -35
  388. package/dist/types/hooks/FormAttachmentApi.d.ts.map +0 -1
  389. package/dist/types/hooks/useCreateBlankFormAttachment.d.ts +0 -13
  390. package/dist/types/hooks/useCreateBlankFormAttachment.d.ts.map +0 -1
  391. package/dist/types/types/FileAttachment.d.ts.map +0 -1
  392. package/dist/types/types/FormAttachment.d.ts +0 -13
  393. package/dist/types/types/FormAttachment.d.ts.map +0 -1
  394. package/src/FileAttachment/index.ts +0 -7
  395. package/src/FormAttachment/FormAttachmentEdit.tsx +0 -72
  396. package/src/FormAttachment/FormAttachmentEditScreen.tsx +0 -21
  397. package/src/FormAttachment/FormAttachmentListEdit.tsx +0 -40
  398. package/src/FormAttachment/FormAttachmentListScreen.tsx +0 -62
  399. package/src/FormAttachment/FormAttachmentView.tsx +0 -25
  400. package/src/FormAttachment/index.ts +0 -6
  401. package/src/hooks/FormAttachmentApi.ts +0 -10
  402. package/src/hooks/useCreateBlankFormAttachment.ts +0 -20
  403. package/src/types/FormAttachment.ts +0 -19
  404. /package/dist/cjs/{FileAttachment → Attachment}/AttachmentScreen.js +0 -0
  405. /package/dist/esm/{FileAttachment → Attachment}/AttachmentScreen.js +0 -0
  406. /package/dist/types/{FileAttachment → Attachment}/useFileAttachmentUrl.d.ts +0 -0
  407. /package/dist/types/{FileAttachment → Attachment}/useFileUrl.d.ts +0 -0
  408. /package/src/{FileAttachment → Attachment}/AttachmentScreen.tsx +0 -0
@@ -3,21 +3,28 @@
3
3
  // https://www.boost.org/LICENSE_1_0.txt
4
4
 
5
5
  import { UnstyledList, viewStyles } from "@dwidge/components-rnw";
6
+ import { useNavAction2 } from "@dwidge/hooks-expo";
6
7
  import assert from "assert";
7
- import { useState } from "react";
8
8
  import { FormApi } from "../hooks/FormApi";
9
+ import { useNavRoutes } from "../hooks/FormsContext";
9
10
  import { FormView } from "./FormView";
10
11
 
11
12
  export const FormListView = ({
12
- elements = FormApi.useGetList(),
13
- selection: [selection, setSelection] = useState<string[]>([]),
13
+ attachments = FormApi.useGetList({}),
14
+ onPressItem = useNavAction2(
15
+ useNavRoutes().FORM_EDIT_SCREEN,
16
+ async (id: string) => ({
17
+ FormId: id,
18
+ }),
19
+ ),
14
20
  }) => (
15
21
  <UnstyledList
16
- items={elements}
22
+ items={attachments}
17
23
  keyExtractor={(item) => (assert(item.id), item.id)}
18
- selection={[selection, setSelection]}
19
- render={(item) => <FormView form={item} />}
24
+ selection={[[], () => {}]}
25
+ render={(item) => <FormView id={item.id} />}
20
26
  selectStyle={viewStyles.select}
21
27
  style={viewStyles.unselect}
28
+ onPress={onPressItem}
22
29
  />
23
30
  );
@@ -1,11 +1,26 @@
1
- // Copyright DWJ 2024.
2
- // Distributed under the Boost Software License, Version 1.0.
3
- // https://www.boost.org/LICENSE_1_0.txt
4
-
5
- import { StyledText } from "@dwidge/components-rnw";
6
- import { FormApi } from "../hooks/FormApi";
7
-
8
- export const FormView = ({
9
- form = FormApi.useGetItem(),
10
- onPress = () => {},
11
- }) => <StyledText>{form?.name || "untitled"}</StyledText>;
1
+ // Copyright DWJ 2024.
2
+ // Distributed under the Boost Software License, Version 1.0.
3
+ // https://www.boost.org/LICENSE_1_0.txt
4
+
5
+ import { StyledDate } from "@dwidge/components-expo";
6
+ import { StyledLoader, StyledText, StyledView } from "@dwidge/components-rnw";
7
+ import { SchemaApi } from "../hooks/SchemaApi";
8
+ import { FormApi } from "../hooks/FormApi";
9
+ import { useParams } from "../hooks/useParams";
10
+ import { filterId } from "../hooks";
11
+
12
+ export const FormView = ({
13
+ id = useParams().FormId,
14
+ attachment: [attachment, setAttachment] = FormApi.useItem(filterId(id)),
15
+ form = SchemaApi.useGetItem(filterId(attachment?.SchemaId)),
16
+ }) =>
17
+ attachment && form ? (
18
+ <StyledView space outline gap pad flex>
19
+ <StyledText>{form.name || "untitled"}</StyledText>
20
+ {attachment.createdAt && (
21
+ <StyledDate>{attachment.createdAt * 1000}</StyledDate>
22
+ )}
23
+ </StyledView>
24
+ ) : (
25
+ <StyledLoader />
26
+ );
package/src/Form/index.ts CHANGED
@@ -1,9 +1,6 @@
1
- export * from "./EditFormAttachmentScreen";
2
- export * from "./FormEdit";
3
- export * from "./FormEditScreen";
4
- export * from "./FormListEdit";
5
- export * from "./FormListScreen";
6
- export * from "./FormListView";
7
- export * from "./FormSelectScreen";
8
- export * from "./FormSelectView";
9
- export * from "./FormView";
1
+ export * from "./FormEdit.js";
2
+ export * from "./FormEditScreen.js";
3
+ export * from "./FormListEdit.js";
4
+ export * from "./FormListScreen.js";
5
+ export * from "./FormListView.js";
6
+ export * from "./FormView.js";
@@ -76,21 +76,21 @@ const Form = z.object({
76
76
  schema: JsonFormSchema,
77
77
  });
78
78
 
79
- export const EditFormAttachmentScreen = ({
79
+ export const EditSchemaScreen = ({
80
80
  form: [form, setForm] = useForm(useFormId()),
81
81
  }) => (
82
82
  <ScreenView>
83
- <StyledHeader title="Edit Form" />
83
+ <StyledHeader title="Edit Schema" />
84
84
  {form == null || !form ? (
85
85
  <CenterView>
86
86
  <StyledText>
87
- {form === null ? "The form does not exist." : "Loading..."}
87
+ {form === null ? "The form schema does not exist." : "Loading..."}
88
88
  </StyledText>
89
89
  </CenterView>
90
90
  ) : (
91
91
  <ScrollView flex gap wide pad selfcenter>
92
92
  <JSONSchemaForm
93
- name="FormSchema"
93
+ name="Schema"
94
94
  schema={formSchema}
95
95
  value={form}
96
96
  onChange={setForm}
@@ -0,0 +1,15 @@
1
+ // Copyright DWJ 2024.
2
+ // Distributed under the Boost Software License, Version 1.0.
3
+ // https://www.boost.org/LICENSE_1_0.txt
4
+
5
+ import { StyledLoader, StyledText, StyledView } from "@dwidge/components-rnw";
6
+ import { SchemaApi } from "../hooks/SchemaApi";
7
+
8
+ export const SchemaCard = ({ form = SchemaApi.useGetItem() }) =>
9
+ form ? (
10
+ <StyledView flex card row>
11
+ <StyledText>{form.name ?? "untitled"}</StyledText>
12
+ </StyledView>
13
+ ) : (
14
+ <StyledLoader />
15
+ );
@@ -0,0 +1,57 @@
1
+ // Copyright DWJ 2024.
2
+ // Distributed under the Boost Software License, Version 1.0.
3
+ // https://www.boost.org/LICENSE_1_0.txt
4
+
5
+ import { StyledHeader } from "@dwidge/components-expo";
6
+ import {
7
+ CenterView,
8
+ ScreenView,
9
+ ScrollView,
10
+ StyledText,
11
+ } from "@dwidge/components-rnw";
12
+ import {
13
+ defaultFormSchemaString,
14
+ FormDesigner,
15
+ FormSchema,
16
+ } from "@dwidge/json-forms-designer";
17
+ import { SchemaApi } from "../hooks/SchemaApi";
18
+ import { useParams } from "../hooks/useParams";
19
+ import { filterId } from "../hooks";
20
+
21
+ export const SchemaEditScreen = ({
22
+ schema: [schema, setSchema] = SchemaApi.useItem(
23
+ filterId(useParams().SchemaId),
24
+ ),
25
+ }) => (
26
+ <ScreenView>
27
+ <StyledHeader title={["Form", schema?.name].filter(Boolean).join(" - ")} />
28
+ {schema == null || !schema ? (
29
+ <CenterView>
30
+ <StyledText>
31
+ {schema === null ? "The form does not exist." : "Loading..."}
32
+ </StyledText>
33
+ </CenterView>
34
+ ) : (
35
+ <ScrollView flex gap wide pad selfcenter>
36
+ <FormDesigner
37
+ schemaString={[
38
+ schema.schema ?? defaultFormSchemaString,
39
+ setSchema &&
40
+ ((updater) => {
41
+ const next =
42
+ typeof updater === "function"
43
+ ? updater(schema.schema ?? defaultFormSchemaString)
44
+ : updater;
45
+ const parsed = FormSchema.parse(JSON.parse(next));
46
+ setSchema?.((prev) => ({
47
+ ...prev,
48
+ name: parsed.schema.title,
49
+ schema: next,
50
+ }));
51
+ }),
52
+ ]}
53
+ />
54
+ </ScrollView>
55
+ )}
56
+ </ScreenView>
57
+ );
@@ -5,26 +5,28 @@
5
5
  import { UnstyledList, viewStyles } from "@dwidge/components-rnw";
6
6
  import { useNavAction2 } from "@dwidge/hooks-expo";
7
7
  import assert from "assert";
8
- import { FormAttachmentApi } from "../hooks/FormAttachmentApi";
8
+ import { useState } from "react";
9
+ import { SchemaApi } from "../hooks/SchemaApi";
9
10
  import { useNavRoutes } from "../hooks/FormsContext";
10
- import { FormAttachmentView } from "./FormAttachmentView";
11
+ import { SchemaCard } from "./SchemaEdit";
11
12
 
12
- export const FormAttachmentListView = ({
13
- attachments = FormAttachmentApi.useGetList({}),
14
- onPressItem = useNavAction2(
15
- useNavRoutes().FORM_ATTACHMENT_EDIT_SCREEN,
13
+ export const SchemaListEdit = ({
14
+ elements = SchemaApi.useGetList(),
15
+ selection: [selection, setSelection] = useState<string[]>([]),
16
+ onPress = useNavAction2(
17
+ useNavRoutes().SCHEMA_EDIT_SCREEN,
16
18
  async (id: string) => ({
17
- FormAttachmentId: id,
19
+ SchemaId: id,
18
20
  }),
19
21
  ),
20
22
  }) => (
21
23
  <UnstyledList
22
- items={attachments}
24
+ items={elements}
23
25
  keyExtractor={(item) => (assert(item.id), item.id)}
24
- selection={[[], () => {}]}
25
- render={(item) => <FormAttachmentView id={item.id} />}
26
+ selection={[selection, setSelection]}
27
+ render={(item) => <SchemaCard form={item} />}
26
28
  selectStyle={viewStyles.select}
27
29
  style={viewStyles.unselect}
28
- onPress={onPressItem}
30
+ onPress={onPress}
29
31
  />
30
32
  );
@@ -0,0 +1,54 @@
1
+ // Copyright DWJ 2024.
2
+ // Distributed under the Boost Software License, Version 1.0.
3
+ // https://www.boost.org/LICENSE_1_0.txt
4
+
5
+ import { StyledHeader } from "@dwidge/components-expo";
6
+ import {
7
+ CenterView,
8
+ ScreenView,
9
+ ScrollView,
10
+ StyledFontAwesome,
11
+ StyledView,
12
+ } from "@dwidge/components-rnw";
13
+ import { useMemoState } from "@dwidge/hooks-react";
14
+ import { TouchableOpacity } from "react-native";
15
+ import { SchemaApi } from "../hooks/SchemaApi";
16
+ import { SchemaListEdit } from "./SchemaListEdit";
17
+ import { useCreateBlankSchema } from "../hooks/useCreateBlankSchema";
18
+
19
+ export const SchemaListScreen = ({
20
+ onCreate = useCreateBlankSchema(),
21
+ onDeleteList = SchemaApi.useDeleteList(),
22
+ selection = useMemoState<string[]>([]),
23
+ }) => (
24
+ <ScreenView>
25
+ <StyledHeader
26
+ title="Schemas"
27
+ actions={[
28
+ {
29
+ icon: "remove-circle",
30
+ onPress:
31
+ onDeleteList && selection[0].length
32
+ ? () => onDeleteList(selection[0].map((id) => ({ id })))
33
+ : undefined,
34
+ },
35
+ {
36
+ icon: "add-circle",
37
+ onPress: onCreate,
38
+ },
39
+ ]}
40
+ />
41
+ <ScrollView gap pad>
42
+ <StyledView flex column>
43
+ <StyledView>
44
+ <SchemaListEdit selection={selection} />
45
+ </StyledView>
46
+ <TouchableOpacity style={{ flex: 1 }} onPress={onCreate}>
47
+ <CenterView row gap>
48
+ <StyledFontAwesome name="plus" size={30} />
49
+ </CenterView>
50
+ </TouchableOpacity>
51
+ </StyledView>
52
+ </ScrollView>
53
+ </ScreenView>
54
+ );
@@ -0,0 +1,23 @@
1
+ // Copyright DWJ 2024.
2
+ // Distributed under the Boost Software License, Version 1.0.
3
+ // https://www.boost.org/LICENSE_1_0.txt
4
+
5
+ import { UnstyledList, viewStyles } from "@dwidge/components-rnw";
6
+ import assert from "assert";
7
+ import { useState } from "react";
8
+ import { SchemaApi } from "../hooks/SchemaApi";
9
+ import { SchemaView } from "./SchemaView";
10
+
11
+ export const SchemaListView = ({
12
+ elements = SchemaApi.useGetList(),
13
+ selection: [selection, setSelection] = useState<string[]>([]),
14
+ }) => (
15
+ <UnstyledList
16
+ items={elements}
17
+ keyExtractor={(item) => (assert(item.id), item.id)}
18
+ selection={[selection, setSelection]}
19
+ render={(item) => <SchemaView form={item} />}
20
+ selectStyle={viewStyles.select}
21
+ style={viewStyles.unselect}
22
+ />
23
+ );
@@ -11,38 +11,33 @@ import {
11
11
  } from "@dwidge/components-rnw";
12
12
  import { useNavAction2 } from "@dwidge/hooks-expo";
13
13
  import { StyledButton } from "@dwidge/components-rnw";
14
- import { FormSelectView } from "./FormSelectView";
14
+ import { SchemaSelectView } from "./SchemaSelectView";
15
15
  import { useNavRoutes } from "../hooks/FormsContext";
16
16
  import { StyledHeader } from "@dwidge/components-expo";
17
- import { useCreateBlankFormAttachment } from "../hooks/useCreateBlankFormAttachment";
17
+ import { useCreateBlankForm } from "../hooks";
18
18
 
19
- const useOnSelectForm = () =>
20
- useNavAction2(
21
- useNavRoutes().FORM_ATTACHMENT_EDIT_SCREEN,
22
- useCreateBlankFormAttachment({}),
23
- );
19
+ const useOnSelectSchema = () =>
20
+ useNavAction2(useNavRoutes().FORM_EDIT_SCREEN, useCreateBlankForm({}));
24
21
 
25
- export const FormSelectScreen = ({
26
- onSelectForm = useOnSelectForm(),
22
+ export const SchemaSelectScreen = ({
23
+ onSelectSchema = useOnSelectSchema(),
27
24
  selected: [selected, setSelected] = useState<string[]>([]),
28
25
  }) => (
29
26
  <ScreenView>
30
- <StyledHeader title="Select Form" />
27
+ <StyledHeader title="Select Schema" />
31
28
  <ScrollView gap pad>
32
29
  <StyledView>
33
- <StyledText center>
34
- Select from the list of forms below, or use the search option above.
35
- </StyledText>
30
+ <StyledText center>Select one or more</StyledText>
36
31
  </StyledView>
37
- <FormSelectView selected={[selected, setSelected]} />
32
+ <SchemaSelectView selected={[selected, setSelected]} />
38
33
  <StyledButton
39
34
  onPress={
40
- selected.length > 0 && onSelectForm
41
- ? () => onSelectForm(selected.map((id) => ({ id })))
35
+ selected.length > 0 && onSelectSchema
36
+ ? () => onSelectSchema(selected.map((id) => ({ id })))
42
37
  : undefined
43
38
  }
44
39
  >
45
- Select Form
40
+ Select Schema
46
41
  </StyledButton>
47
42
  </ScrollView>
48
43
  </ScreenView>
@@ -4,17 +4,17 @@
4
4
 
5
5
  import { StyledButton } from "@dwidge/components-rnw";
6
6
  import { ReactNode, useState } from "react";
7
- import { FormApi } from "../hooks/FormApi";
8
- import { FormListView } from "./FormListView";
7
+ import { SchemaApi } from "../hooks/SchemaApi";
8
+ import { SchemaListView } from "./SchemaListView";
9
9
 
10
- export const FormSelectView = ({
11
- formList = FormApi.useGetList(),
10
+ export const SchemaSelectView = ({
11
+ formList = SchemaApi.useGetList(),
12
12
  selected: [selected, setSelected] = useState<string[]>([]),
13
13
  searchValue: [searchValue, setSearchValue] = useState(""),
14
- createFormList = FormApi.useCreateList(),
14
+ createSchemaList = SchemaApi.useCreateList(),
15
15
  }): ReactNode => (
16
16
  <>
17
- <FormListView
17
+ <SchemaListView
18
18
  elements={
19
19
  searchValue
20
20
  ? formList?.filter((form) =>
@@ -24,8 +24,8 @@ export const FormSelectView = ({
24
24
  }
25
25
  selection={[selected, setSelected]}
26
26
  />
27
- <StyledButton onPress={createFormList && (() => createFormList([{}]))}>
28
- Create New Form
27
+ <StyledButton onPress={createSchemaList && (() => createSchemaList([{}]))}>
28
+ Create New Schema
29
29
  </StyledButton>
30
30
  </>
31
31
  );
@@ -0,0 +1,11 @@
1
+ // Copyright DWJ 2024.
2
+ // Distributed under the Boost Software License, Version 1.0.
3
+ // https://www.boost.org/LICENSE_1_0.txt
4
+
5
+ import { StyledText } from "@dwidge/components-rnw";
6
+ import { SchemaApi } from "../hooks/SchemaApi";
7
+
8
+ export const SchemaView = ({
9
+ form = SchemaApi.useGetItem(),
10
+ onPress = () => {},
11
+ }) => <StyledText>{form?.name || "untitled"}</StyledText>;
@@ -0,0 +1,9 @@
1
+ export * from "./EditSchemaScreen.js";
2
+ export * from "./SchemaEdit.js";
3
+ export * from "./SchemaEditScreen.js";
4
+ export * from "./SchemaListEdit.js";
5
+ export * from "./SchemaListScreen.js";
6
+ export * from "./SchemaListView.js";
7
+ export * from "./SchemaSelectScreen.js";
8
+ export * from "./SchemaSelectView.js";
9
+ export * from "./SchemaView.js";
@@ -1,11 +1,11 @@
1
- import { FileAttachment } from "../types/FileAttachment.js";
1
+ import { File1 } from "../types/File1.js";
2
2
  import { createApi } from "./createApi.js";
3
3
 
4
- export const FileAttachmentApi = createApi<FileAttachment>({
4
+ export const AttachmentApi = createApi<File1>("Attachment", {
5
5
  id: undefined,
6
6
  createdAt: undefined,
7
7
  createdBy: undefined,
8
8
  FileId: undefined,
9
+ SchemaId: undefined,
9
10
  FormId: undefined,
10
- FormAttachmentId: undefined,
11
11
  });
@@ -1,7 +1,7 @@
1
1
  import { File2 } from "../types/File2.js";
2
2
  import { createApi } from "./createApi.js";
3
3
 
4
- export const FileApi = createApi<File2>({
4
+ export const FileApi = createApi<File2>("File", {
5
5
  id: undefined,
6
6
  createdAt: undefined,
7
7
  createdBy: undefined,
@@ -1,11 +1,10 @@
1
1
  import { Form1 } from "../types/Form1.js";
2
2
  import { createApi } from "./createApi.js";
3
3
 
4
- export const FormApi = createApi<Form1>({
4
+ export const FormApi = createApi<Form1>("Form", {
5
5
  id: undefined,
6
6
  createdAt: undefined,
7
7
  createdBy: undefined,
8
- name: undefined,
9
- type: undefined,
10
- schema: undefined,
8
+ SchemaId: undefined,
9
+ data: undefined,
11
10
  });
@@ -8,16 +8,16 @@ import { z } from "zod";
8
8
 
9
9
  export const FormsContext = createContext({
10
10
  routes: {
11
- FORM_ATTACHMENT_LIST_SCREEN: "",
12
- FORM_ATTACHMENT_EDIT_SCREEN: "",
11
+ FORM_LIST_SCREEN: "",
13
12
  FORM_EDIT_SCREEN: "",
14
- FORM_SELECT_SCREEN: "",
13
+ SCHEMA_EDIT_SCREEN: "",
14
+ SCHEMA_SELECT_SCREEN: "",
15
15
  },
16
16
  useParams: () =>
17
17
  z
18
18
  .object({
19
19
  FormId: z.coerce.string().nullable(),
20
- FormAttachmentId: z.coerce.string().nullable(),
20
+ SchemaId: z.coerce.string().nullable(),
21
21
  AttachmentId: z.coerce.string().nullable(),
22
22
  })
23
23
  .partial()
@@ -0,0 +1,11 @@
1
+ import { Schema1 } from "../types/Schema1.js";
2
+ import { createApi } from "./createApi.js";
3
+
4
+ export const SchemaApi = createApi<Schema1>("Schema", {
5
+ id: undefined,
6
+ createdAt: undefined,
7
+ createdBy: undefined,
8
+ name: undefined,
9
+ type: undefined,
10
+ schema: undefined,
11
+ });
@@ -1,10 +1,10 @@
1
- import { AsyncState, useAsyncSaveState } from "@dwidge/hooks-react";
1
+ import { AsyncState } from "@dwidge/hooks-react";
2
2
  import { createContext, useContext } from "react";
3
- import { useParams } from "./useParams";
4
3
 
5
4
  export type ApiItem = Record<string, string | number | boolean | null>;
6
5
 
7
6
  export const createApi = <T extends ApiItem>(
7
+ name: string,
8
8
  defaultFilter: Partial<T> = {},
9
9
  ) => {
10
10
  type Get = Partial<T>;
@@ -22,35 +22,38 @@ export const createApi = <T extends ApiItem>(
22
22
  deleteItem: (item: Key) => Promise<Key | null>;
23
23
 
24
24
  const message =
25
- "createApiW1: Please wrap App with <Context.Provider value={{}}></Context.Provider>";
25
+ name +
26
+ ": createApiW1: Please wrap App with <Context.Provider value={{}}></Context.Provider>";
26
27
 
27
28
  const Context = createContext<{
28
29
  useGetList: (filter?: Filter) => undefined | Get[];
29
30
  useCreateList: () => ((list: Set[]) => Promise<(Get | null)[]>) | undefined;
30
31
  useDeleteList: () => ((list: Key[]) => Promise<(Get | null)[]>) | undefined;
31
- useGetItem: (key?: Filter & Key) => undefined | Get | null;
32
- useItem: (key?: Get) => AsyncState<Get | null>;
32
+ useGetItem: (filter?: Filter) => undefined | Get | null;
33
+ useItem: (filter?: Filter) => AsyncState<Get | null>;
33
34
  }>({
34
- useGetList: () => (console.warn(message), undefined),
35
- useCreateList: () => (console.warn(message), undefined),
36
- useDeleteList: () => (console.warn(message), undefined),
37
- useGetItem: () => (console.warn(message), undefined),
38
- useItem: () => (console.warn(message), []),
35
+ useGetList: () => (console.warn("useGetList1: " + message), undefined),
36
+ useCreateList: () => (
37
+ console.warn("useCreateList1: " + message), undefined
38
+ ),
39
+ useDeleteList: () => (
40
+ console.warn("useDeleteList1: " + message), undefined
41
+ ),
42
+ useGetItem: () => (console.warn("useGetItem1: " + message), undefined),
43
+ useItem: () => (console.warn("useItem1: " + message), []),
39
44
  });
40
45
 
41
- const useGetList = (filter: Filter = {}, ids = useParams()) =>
42
- useContext(Context).useGetList({ ...ids, ...defaultFilter, ...filter });
46
+ const useGetList = (filter?: Filter) =>
47
+ useContext(Context).useGetList({ ...defaultFilter, ...filter });
43
48
  const useCreateList = () => useContext(Context).useCreateList();
44
49
  const useDeleteList = () => useContext(Context).useDeleteList();
45
- const useGetItem = (id?: Key["id"] | null, ids = useParams()) =>
50
+ const useGetItem = (filter?: Filter) =>
46
51
  useContext(Context).useGetItem(
47
- id ? { ...ids, ...defaultFilter, id } : undefined,
52
+ filter ? { ...defaultFilter, ...filter } : undefined,
48
53
  );
49
- const useItem = (id?: Key["id"] | null, ids = useParams()) =>
50
- useAsyncSaveState(
51
- useContext(Context).useItem(
52
- id ? { ...ids, ...defaultFilter, id } : undefined,
53
- ),
54
+ const useItem = (filter?: Filter) =>
55
+ useContext(Context).useItem(
56
+ filter ? { ...defaultFilter, ...filter } : undefined,
54
57
  );
55
58
 
56
59
  return {
@@ -1,10 +1,11 @@
1
- export * from "./FileApi";
2
- export * from "./FileAttachmentApi";
3
- export * from "./FormApi";
4
- export * from "./FormAttachmentApi";
5
- export * from "./FormsContext";
6
- export * from "./createApi";
7
- export * from "./useCreateBlankAttachment";
8
- export * from "./useCreateBlankForm";
9
- export * from "./useCreateBlankFormAttachment";
10
- export * from "./useParams";
1
+ export * from "./FileApi.js";
2
+ export * from "./AttachmentApi.js";
3
+ export * from "./SchemaApi.js";
4
+ export * from "./FormApi.js";
5
+ export * from "./FormsContext.js";
6
+ export * from "./createApi.js";
7
+ export * from "./useCreateBlankAttachment.js";
8
+ export * from "./useCreateBlankSchema.js";
9
+ export * from "./useCreateBlankForm.js";
10
+ export * from "./useParams.js";
11
+ export * from "./useIdFilter.js";
@@ -1,10 +1,10 @@
1
1
  import assert from "assert";
2
2
  import { useParams } from "./useParams";
3
3
  import { FileApi } from "./FileApi";
4
- import { FileAttachmentApi } from "./FileAttachmentApi";
4
+ import { AttachmentApi } from "./AttachmentApi";
5
5
 
6
6
  export const useCreateBlankAttachment = ({
7
- createAttachmentList = FileAttachmentApi.useCreateList(),
7
+ createAttachmentList = AttachmentApi.useCreateList(),
8
8
  createFileList = FileApi.useCreateList(),
9
9
  AttachIds = useParams(),
10
10
  } = {}) =>
@@ -2,11 +2,19 @@
2
2
  // Distributed under the Boost Software License, Version 1.0.
3
3
  // https://www.boost.org/LICENSE_1_0.txt
4
4
 
5
+ import { Schema1Key } from "../types/Schema1";
6
+ import { SchemaApi } from "./SchemaApi";
5
7
  import { FormApi } from "./FormApi";
8
+ import { useParams } from "./useParams";
6
9
 
7
10
  export const useCreateBlankForm = ({
11
+ createSchemaList = SchemaApi.useCreateList(),
8
12
  createFormList = FormApi.useCreateList(),
13
+ AttachmentIds = useParams(),
9
14
  } = {}) =>
10
- createFormList
11
- ? () => createFormList([{}]).then(([form]) => ({ FormId: form?.id }))
12
- : () => undefined;
15
+ createSchemaList && createFormList
16
+ ? async (forms: Schema1Key[]) =>
17
+ createFormList(
18
+ forms.map((form) => ({ ...AttachmentIds, FormId: form.id })),
19
+ ).then(([r]) => ({ FormId: r?.id }))
20
+ : async () => undefined;
@@ -0,0 +1,12 @@
1
+ // Copyright DWJ 2024.
2
+ // Distributed under the Boost Software License, Version 1.0.
3
+ // https://www.boost.org/LICENSE_1_0.txt
4
+
5
+ import { SchemaApi } from "./SchemaApi";
6
+
7
+ export const useCreateBlankSchema = ({
8
+ createList = SchemaApi.useCreateList(),
9
+ } = {}) =>
10
+ createList
11
+ ? () => createList([{}]).then(([v]) => ({ SchemaId: v?.id }))
12
+ : undefined;
@@ -0,0 +1,2 @@
1
+ export const filterId = <T extends string | number>(id?: T | null) =>
2
+ id != null ? { id } : undefined;