@speron/projekt-front 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 (634) hide show
  1. package/dist/cjs/index.js +447 -0
  2. package/dist/es/index.js +11062 -0
  3. package/dist/umd/index.js +447 -0
  4. package/package.json +30 -0
  5. package/src/Base/Components/Attribute.jsx +51 -0
  6. package/src/Base/Components/CardCapsule.jsx +353 -0
  7. package/src/Base/Components/Col.jsx +36 -0
  8. package/src/Base/Components/ConfirmEdit.jsx +61 -0
  9. package/src/Base/Components/CopyButton.jsx +33 -0
  10. package/src/Base/Components/LargeCard.jsx +22 -0
  11. package/src/Base/Components/Link.jsx +47 -0
  12. package/src/Base/Components/LiveEdit.jsx +64 -0
  13. package/src/Base/Components/MediumCard.jsx +30 -0
  14. package/src/Base/Components/MediumContent.jsx +74 -0
  15. package/src/Base/Components/MediumEditableContent.jsx +52 -0
  16. package/src/Base/Components/ProxyLink.jsx +132 -0
  17. package/src/Base/Components/Row.jsx +23 -0
  18. package/src/Base/Components/Table.jsx +275 -0
  19. package/src/Base/Components/index.js +14 -0
  20. package/src/Base/Components/style.js +278 -0
  21. package/src/Base/FormControls/Collapsible.jsx +46 -0
  22. package/src/Base/FormControls/Dialog.jsx +75 -0
  23. package/src/Base/FormControls/EntityLookup.jsx +175 -0
  24. package/src/Base/FormControls/Filter.jsx +834 -0
  25. package/src/Base/FormControls/Input.jsx +163 -0
  26. package/src/Base/FormControls/Label.jsx +40 -0
  27. package/src/Base/FormControls/Select.jsx +150 -0
  28. package/src/Base/FormControls/TextArea.jsx +86 -0
  29. package/src/Base/FormControls/index.js +8 -0
  30. package/src/Base/Helpers/AsyncStateIndicator.jsx +9 -0
  31. package/src/Base/Helpers/GQLEntityProvider.jsx +163 -0
  32. package/src/Base/Helpers/NavigationHistoryProvider.jsx +178 -0
  33. package/src/Base/Helpers/PlaceChild.jsx +13 -0
  34. package/src/Base/Helpers/generateQuery.js +508 -0
  35. package/src/Base/Helpers/index.js +5 -0
  36. package/src/Base/Mutations/Create.jsx +152 -0
  37. package/src/Base/Mutations/Delete.jsx +237 -0
  38. package/src/Base/Mutations/General.jsx +243 -0
  39. package/src/Base/Mutations/InteractiveMutations.jsx +32 -0
  40. package/src/Base/Mutations/Update.jsx +275 -0
  41. package/src/Base/Mutations/helpers.jsx +7 -0
  42. package/src/Base/Mutations/index.js +5 -0
  43. package/src/Base/Pages/Page.jsx +235 -0
  44. package/src/Base/Pages/PageCatch.jsx +235 -0
  45. package/src/Base/Pages/PageNavbar.jsx +70 -0
  46. package/src/Base/Pages/PageVector.jsx +229 -0
  47. package/src/Base/Pages/RouterSegment.jsx +66 -0
  48. package/src/Base/Pages/index.js +5 -0
  49. package/src/Base/Queries/DeleteAsyncAction.jsx +32 -0
  50. package/src/Base/Queries/Fragments.jsx +101 -0
  51. package/src/Base/Queries/InsertAsyncAction.jsx +40 -0
  52. package/src/Base/Queries/ReadAsyncAction.jsx +44 -0
  53. package/src/Base/Queries/ReadPageAsyncAction.jsx +16 -0
  54. package/src/Base/Queries/SearchAsyncAction.jsx +16 -0
  55. package/src/Base/Queries/UpdateAsyncAction.jsx +40 -0
  56. package/src/Base/Queries/index.js +6 -0
  57. package/src/Base/Scalars/ScalarAttribute.jsx +49 -0
  58. package/src/Base/Scalars/index.js +1 -0
  59. package/src/Base/Vectors/VectorAttribute.jsx +137 -0
  60. package/src/Base/Vectors/index.js +1 -0
  61. package/src/Base/index.js +32 -0
  62. package/src/EventGQLModel/Components/A4Plan/A4Plan.jsx +363 -0
  63. package/src/EventGQLModel/Components/A4Plan/index.js +1 -0
  64. package/src/EventGQLModel/Components/CardCapsule.jsx +43 -0
  65. package/src/EventGQLModel/Components/Children.jsx +31 -0
  66. package/src/EventGQLModel/Components/ConfirmEdit.jsx +61 -0
  67. package/src/EventGQLModel/Components/Filter.jsx +14 -0
  68. package/src/EventGQLModel/Components/LargeCard.jsx +54 -0
  69. package/src/EventGQLModel/Components/Link.jsx +55 -0
  70. package/src/EventGQLModel/Components/LiveEdit.jsx +111 -0
  71. package/src/EventGQLModel/Components/MediumCard.jsx +39 -0
  72. package/src/EventGQLModel/Components/MediumContent.jsx +96 -0
  73. package/src/EventGQLModel/Components/MediumEditableContent.jsx +35 -0
  74. package/src/EventGQLModel/Components/Plan/PlanRow.jsx +470 -0
  75. package/src/EventGQLModel/Components/Plan/_utils.js +971 -0
  76. package/src/EventGQLModel/Components/Plan/calendarReducer.js +535 -0
  77. package/src/EventGQLModel/Components/Plan/index.js +3 -0
  78. package/src/EventGQLModel/Components/Table.jsx +7 -0
  79. package/src/EventGQLModel/Components/index.js +15 -0
  80. package/src/EventGQLModel/Mutations/Create.jsx +202 -0
  81. package/src/EventGQLModel/Mutations/Delete.jsx +173 -0
  82. package/src/EventGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  83. package/src/EventGQLModel/Mutations/Update.jsx +147 -0
  84. package/src/EventGQLModel/Mutations/helpers.jsx +7 -0
  85. package/src/EventGQLModel/Pages/PageBase.jsx +56 -0
  86. package/src/EventGQLModel/Pages/PageCreateItem.jsx +28 -0
  87. package/src/EventGQLModel/Pages/PageDeleteItem.jsx +16 -0
  88. package/src/EventGQLModel/Pages/PageNavbar.jsx +160 -0
  89. package/src/EventGQLModel/Pages/PagePlan.jsx +42 -0
  90. package/src/EventGQLModel/Pages/PageReadItem.jsx +11 -0
  91. package/src/EventGQLModel/Pages/PageReadItemEx.jsx +42 -0
  92. package/src/EventGQLModel/Pages/PageSubevents.jsx +43 -0
  93. package/src/EventGQLModel/Pages/PageUpdateItem.jsx +14 -0
  94. package/src/EventGQLModel/Pages/PageVector.jsx +80 -0
  95. package/src/EventGQLModel/Pages/RouterSegment.jsx +82 -0
  96. package/src/EventGQLModel/Pages/index.js +2 -0
  97. package/src/EventGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  98. package/src/EventGQLModel/Queries/Fragments.jsx +123 -0
  99. package/src/EventGQLModel/Queries/InsertAsyncAction.jsx +40 -0
  100. package/src/EventGQLModel/Queries/ReadAsyncAction.jsx +44 -0
  101. package/src/EventGQLModel/Queries/ReadPageAsyncAction.jsx +13 -0
  102. package/src/EventGQLModel/Queries/ReadSubEventsAsyncAction.jsx +44 -0
  103. package/src/EventGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  104. package/src/EventGQLModel/Queries/UpdateAsyncAction.jsx +40 -0
  105. package/src/EventGQLModel/Queries/index.js +6 -0
  106. package/src/EventGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  107. package/src/EventGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  108. package/src/EventGQLModel/Scalars/index.js +1 -0
  109. package/src/EventGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  110. package/src/EventGQLModel/Vectors/VectorAttribute.jsx +56 -0
  111. package/src/EventGQLModel/Vectors/index.js +1 -0
  112. package/src/EventGQLModel/WhatToDo.md +44 -0
  113. package/src/EventGQLModel/index.js +71 -0
  114. package/src/GroupGQLModel/Components/CUDButton.jsx +128 -0
  115. package/src/GroupGQLModel/Components/CardCapsule.jsx +44 -0
  116. package/src/GroupGQLModel/Components/Children.jsx +31 -0
  117. package/src/GroupGQLModel/Components/ConfirmEdit.jsx +61 -0
  118. package/src/GroupGQLModel/Components/Filter.jsx +14 -0
  119. package/src/GroupGQLModel/Components/LargeCard.jsx +68 -0
  120. package/src/GroupGQLModel/Components/Link.jsx +54 -0
  121. package/src/GroupGQLModel/Components/LiveEdit.jsx +111 -0
  122. package/src/GroupGQLModel/Components/MediumCard.jsx +51 -0
  123. package/src/GroupGQLModel/Components/MediumContent.jsx +56 -0
  124. package/src/GroupGQLModel/Components/MediumEditableContent.jsx +52 -0
  125. package/src/GroupGQLModel/Components/Table.jsx +70 -0
  126. package/src/GroupGQLModel/Components/index.js +14 -0
  127. package/src/GroupGQLModel/Mutations/AddMembership.jsx +156 -0
  128. package/src/GroupGQLModel/Mutations/Create.jsx +73 -0
  129. package/src/GroupGQLModel/Mutations/Delete.jsx +87 -0
  130. package/src/GroupGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  131. package/src/GroupGQLModel/Mutations/Update.jsx +74 -0
  132. package/src/GroupGQLModel/Pages/PageBase.jsx +56 -0
  133. package/src/GroupGQLModel/Pages/PageCreateItem.jsx +27 -0
  134. package/src/GroupGQLModel/Pages/PageDeleteItem.jsx +16 -0
  135. package/src/GroupGQLModel/Pages/PageNavbar.jsx +264 -0
  136. package/src/GroupGQLModel/Pages/PageReadItem.jsx +12 -0
  137. package/src/GroupGQLModel/Pages/PageReadItemEx.jsx +57 -0
  138. package/src/GroupGQLModel/Pages/PageUpdateItem.jsx +14 -0
  139. package/src/GroupGQLModel/Pages/PageVector.jsx +80 -0
  140. package/src/GroupGQLModel/Pages/RouterSegment.jsx +85 -0
  141. package/src/GroupGQLModel/Pages/index.js +2 -0
  142. package/src/GroupGQLModel/Queries/DeleteAsyncAction.jsx +22 -0
  143. package/src/GroupGQLModel/Queries/Fragments.jsx +145 -0
  144. package/src/GroupGQLModel/Queries/InsertAsyncAction.jsx +43 -0
  145. package/src/GroupGQLModel/Queries/ReadAsyncAction.jsx +44 -0
  146. package/src/GroupGQLModel/Queries/ReadPageAsyncAction.jsx +18 -0
  147. package/src/GroupGQLModel/Queries/SearchAsyncAction.jsx +15 -0
  148. package/src/GroupGQLModel/Queries/UpdateAsyncAction.jsx +56 -0
  149. package/src/GroupGQLModel/Queries/index.js +6 -0
  150. package/src/GroupGQLModel/Scalars/GroupRoles.jsx +69 -0
  151. package/src/GroupGQLModel/Scalars/MasterGroup.jsx +15 -0
  152. package/src/GroupGQLModel/Scalars/RBACObject.jsx +245 -0
  153. package/src/GroupGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  154. package/src/GroupGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  155. package/src/GroupGQLModel/Scalars/index.js +1 -0
  156. package/src/GroupGQLModel/Vectors/GroupMemberships.jsx +115 -0
  157. package/src/GroupGQLModel/Vectors/GroupRoles.jsx +112 -0
  158. package/src/GroupGQLModel/Vectors/GroupRolesOn.jsx +113 -0
  159. package/src/GroupGQLModel/Vectors/GroupSubgroups.jsx +97 -0
  160. package/src/GroupGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  161. package/src/GroupGQLModel/Vectors/VectorAttribute.jsx +56 -0
  162. package/src/GroupGQLModel/Vectors/index.js +1 -0
  163. package/src/GroupGQLModel/index.js +7 -0
  164. package/src/GroupTypeGQLModel/Components/CUDButton.jsx +128 -0
  165. package/src/GroupTypeGQLModel/Components/CardCapsule.jsx +43 -0
  166. package/src/GroupTypeGQLModel/Components/Children.jsx +31 -0
  167. package/src/GroupTypeGQLModel/Components/ConfirmEdit.jsx +61 -0
  168. package/src/GroupTypeGQLModel/Components/Filter.jsx +14 -0
  169. package/src/GroupTypeGQLModel/Components/LargeCard.jsx +49 -0
  170. package/src/GroupTypeGQLModel/Components/Link.jsx +53 -0
  171. package/src/GroupTypeGQLModel/Components/LiveEdit.jsx +111 -0
  172. package/src/GroupTypeGQLModel/Components/MediumCard.jsx +39 -0
  173. package/src/GroupTypeGQLModel/Components/MediumContent.jsx +97 -0
  174. package/src/GroupTypeGQLModel/Components/MediumEditableContent.jsx +35 -0
  175. package/src/GroupTypeGQLModel/Components/Table.jsx +7 -0
  176. package/src/GroupTypeGQLModel/Components/index.js +14 -0
  177. package/src/GroupTypeGQLModel/Mutations/Create.jsx +67 -0
  178. package/src/GroupTypeGQLModel/Mutations/Delete.jsx +80 -0
  179. package/src/GroupTypeGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  180. package/src/GroupTypeGQLModel/Mutations/Update.jsx +74 -0
  181. package/src/GroupTypeGQLModel/Pages/Page.jsx +3 -0
  182. package/src/GroupTypeGQLModel/Pages/PageBase.jsx +26 -0
  183. package/src/GroupTypeGQLModel/Pages/PageCreateItem.jsx +21 -0
  184. package/src/GroupTypeGQLModel/Pages/PageDeleteItem.jsx +13 -0
  185. package/src/GroupTypeGQLModel/Pages/PageNavbar.jsx +148 -0
  186. package/src/GroupTypeGQLModel/Pages/PageReadItem.jsx +28 -0
  187. package/src/GroupTypeGQLModel/Pages/PageUpdateItem.jsx +25 -0
  188. package/src/GroupTypeGQLModel/Pages/PageVector.jsx +83 -0
  189. package/src/GroupTypeGQLModel/Pages/RouterSegment.jsx +68 -0
  190. package/src/GroupTypeGQLModel/Pages/index.js +10 -0
  191. package/src/GroupTypeGQLModel/Queries/DeleteAsyncAction.jsx +27 -0
  192. package/src/GroupTypeGQLModel/Queries/Fragments.jsx +96 -0
  193. package/src/GroupTypeGQLModel/Queries/InsertAsyncAction.jsx +41 -0
  194. package/src/GroupTypeGQLModel/Queries/ReadAsyncAction.jsx +45 -0
  195. package/src/GroupTypeGQLModel/Queries/ReadPageAsyncAction.jsx +14 -0
  196. package/src/GroupTypeGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  197. package/src/GroupTypeGQLModel/Queries/UpdateAsyncAction.jsx +42 -0
  198. package/src/GroupTypeGQLModel/Queries/index.js +6 -0
  199. package/src/GroupTypeGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  200. package/src/GroupTypeGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  201. package/src/GroupTypeGQLModel/Scalars/index.js +1 -0
  202. package/src/GroupTypeGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  203. package/src/GroupTypeGQLModel/Vectors/VectorAttribute.jsx +56 -0
  204. package/src/GroupTypeGQLModel/Vectors/index.js +1 -0
  205. package/src/GroupTypeGQLModel/index.js +6 -0
  206. package/src/MembershipGQLModel/Components/CUDButton.jsx +128 -0
  207. package/src/MembershipGQLModel/Components/CardCapsule.jsx +43 -0
  208. package/src/MembershipGQLModel/Components/Children.jsx +31 -0
  209. package/src/MembershipGQLModel/Components/ConfirmEdit.jsx +61 -0
  210. package/src/MembershipGQLModel/Components/Filter.jsx +14 -0
  211. package/src/MembershipGQLModel/Components/LargeCard.jsx +49 -0
  212. package/src/MembershipGQLModel/Components/Link.jsx +54 -0
  213. package/src/MembershipGQLModel/Components/LiveEdit.jsx +111 -0
  214. package/src/MembershipGQLModel/Components/MediumCard.jsx +39 -0
  215. package/src/MembershipGQLModel/Components/MediumContent.jsx +97 -0
  216. package/src/MembershipGQLModel/Components/MediumEditableContent.jsx +35 -0
  217. package/src/MembershipGQLModel/Components/Table.jsx +7 -0
  218. package/src/MembershipGQLModel/Components/index.js +14 -0
  219. package/src/MembershipGQLModel/Mutations/Create.jsx +67 -0
  220. package/src/MembershipGQLModel/Mutations/Delete.jsx +80 -0
  221. package/src/MembershipGQLModel/Mutations/InteractiveMutations.jsx +31 -0
  222. package/src/MembershipGQLModel/Mutations/Update.jsx +74 -0
  223. package/src/MembershipGQLModel/Mutations/helpers.jsx +7 -0
  224. package/src/MembershipGQLModel/Pages/PageBase.jsx +57 -0
  225. package/src/MembershipGQLModel/Pages/PageCreateItem.jsx +28 -0
  226. package/src/MembershipGQLModel/Pages/PageDeleteItem.jsx +16 -0
  227. package/src/MembershipGQLModel/Pages/PageNavbar.jsx +110 -0
  228. package/src/MembershipGQLModel/Pages/PageReadItem.jsx +11 -0
  229. package/src/MembershipGQLModel/Pages/PageReadItemEx.jsx +42 -0
  230. package/src/MembershipGQLModel/Pages/PageUpdateItem.jsx +14 -0
  231. package/src/MembershipGQLModel/Pages/PageVector.jsx +80 -0
  232. package/src/MembershipGQLModel/Pages/RouterSegment.jsx +73 -0
  233. package/src/MembershipGQLModel/Pages/index.js +2 -0
  234. package/src/MembershipGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  235. package/src/MembershipGQLModel/Queries/Fragments.jsx +113 -0
  236. package/src/MembershipGQLModel/Queries/InsertAsyncAction.jsx +38 -0
  237. package/src/MembershipGQLModel/Queries/ReadAsyncAction.jsx +44 -0
  238. package/src/MembershipGQLModel/Queries/ReadPageAsyncAction.jsx +13 -0
  239. package/src/MembershipGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  240. package/src/MembershipGQLModel/Queries/UpdateAsyncAction.jsx +40 -0
  241. package/src/MembershipGQLModel/Queries/index.js +6 -0
  242. package/src/MembershipGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  243. package/src/MembershipGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  244. package/src/MembershipGQLModel/Scalars/index.js +1 -0
  245. package/src/MembershipGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  246. package/src/MembershipGQLModel/Vectors/VectorAttribute.jsx +56 -0
  247. package/src/MembershipGQLModel/Vectors/index.js +1 -0
  248. package/src/MembershipGQLModel/WhatToDo.md +44 -0
  249. package/src/MembershipGQLModel/index.js +6 -0
  250. package/src/RBACGQLModel/Components/CardCapsule.jsx +43 -0
  251. package/src/RBACGQLModel/Components/Children.jsx +31 -0
  252. package/src/RBACGQLModel/Components/ConfirmEdit.jsx +61 -0
  253. package/src/RBACGQLModel/Components/Filter.jsx +14 -0
  254. package/src/RBACGQLModel/Components/LargeCard.jsx +50 -0
  255. package/src/RBACGQLModel/Components/Link.jsx +54 -0
  256. package/src/RBACGQLModel/Components/LiveEdit.jsx +111 -0
  257. package/src/RBACGQLModel/Components/MediumCard.jsx +39 -0
  258. package/src/RBACGQLModel/Components/MediumContent.jsx +96 -0
  259. package/src/RBACGQLModel/Components/MediumEditableContent.jsx +212 -0
  260. package/src/RBACGQLModel/Components/Table.jsx +7 -0
  261. package/src/RBACGQLModel/Components/index.js +13 -0
  262. package/src/RBACGQLModel/Mutations/Create.jsx +202 -0
  263. package/src/RBACGQLModel/Mutations/Delete.jsx +173 -0
  264. package/src/RBACGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  265. package/src/RBACGQLModel/Mutations/Update.jsx +147 -0
  266. package/src/RBACGQLModel/Mutations/helpers.jsx +7 -0
  267. package/src/RBACGQLModel/Pages/PageBase.jsx +56 -0
  268. package/src/RBACGQLModel/Pages/PageCreateItem.jsx +28 -0
  269. package/src/RBACGQLModel/Pages/PageDeleteItem.jsx +16 -0
  270. package/src/RBACGQLModel/Pages/PageNavbar.jsx +160 -0
  271. package/src/RBACGQLModel/Pages/PageReadItem.jsx +11 -0
  272. package/src/RBACGQLModel/Pages/PageReadItemEx.jsx +42 -0
  273. package/src/RBACGQLModel/Pages/PageUpdateItem.jsx +14 -0
  274. package/src/RBACGQLModel/Pages/PageVector.jsx +80 -0
  275. package/src/RBACGQLModel/Pages/RouterSegment.jsx +72 -0
  276. package/src/RBACGQLModel/Pages/index.js +2 -0
  277. package/src/RBACGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  278. package/src/RBACGQLModel/Queries/Fragments.jsx +101 -0
  279. package/src/RBACGQLModel/Queries/InsertAsyncAction.jsx +40 -0
  280. package/src/RBACGQLModel/Queries/ReadAsyncAction.jsx +44 -0
  281. package/src/RBACGQLModel/Queries/ReadPageAsyncAction.jsx +13 -0
  282. package/src/RBACGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  283. package/src/RBACGQLModel/Queries/UpdateAsyncAction.jsx +40 -0
  284. package/src/RBACGQLModel/Queries/index.js +6 -0
  285. package/src/RBACGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  286. package/src/RBACGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  287. package/src/RBACGQLModel/Scalars/index.js +1 -0
  288. package/src/RBACGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  289. package/src/RBACGQLModel/Vectors/VectorAttribute.jsx +56 -0
  290. package/src/RBACGQLModel/Vectors/index.js +1 -0
  291. package/src/RBACGQLModel/WhatToDo.md +44 -0
  292. package/src/RBACGQLModel/index.js +71 -0
  293. package/src/RoleGQLModel/Components/CUDButton.jsx +128 -0
  294. package/src/RoleGQLModel/Components/CardCapsule.jsx +43 -0
  295. package/src/RoleGQLModel/Components/Children.jsx +31 -0
  296. package/src/RoleGQLModel/Components/ConfirmEdit.jsx +61 -0
  297. package/src/RoleGQLModel/Components/Filter.jsx +14 -0
  298. package/src/RoleGQLModel/Components/LargeCard.jsx +49 -0
  299. package/src/RoleGQLModel/Components/Link.jsx +55 -0
  300. package/src/RoleGQLModel/Components/LiveEdit.jsx +111 -0
  301. package/src/RoleGQLModel/Components/MediumCard.jsx +39 -0
  302. package/src/RoleGQLModel/Components/MediumContent.jsx +97 -0
  303. package/src/RoleGQLModel/Components/MediumEditableContent.jsx +72 -0
  304. package/src/RoleGQLModel/Components/RBACObject.jsx +22 -0
  305. package/src/RoleGQLModel/Components/Table.jsx +82 -0
  306. package/src/RoleGQLModel/Components/index.js +14 -0
  307. package/src/RoleGQLModel/Mutations/AddRoleOnGroup.jsx +117 -0
  308. package/src/RoleGQLModel/Mutations/Create.jsx +67 -0
  309. package/src/RoleGQLModel/Mutations/Delete.jsx +80 -0
  310. package/src/RoleGQLModel/Mutations/InteractiveMutations.jsx +31 -0
  311. package/src/RoleGQLModel/Mutations/Update.jsx +74 -0
  312. package/src/RoleGQLModel/Pages/Page.jsx +3 -0
  313. package/src/RoleGQLModel/Pages/PageBase.jsx +26 -0
  314. package/src/RoleGQLModel/Pages/PageContent.jsx +31 -0
  315. package/src/RoleGQLModel/Pages/PageCreateItem.jsx +21 -0
  316. package/src/RoleGQLModel/Pages/PageDeleteItem.jsx +13 -0
  317. package/src/RoleGQLModel/Pages/PageNavbar.jsx +161 -0
  318. package/src/RoleGQLModel/Pages/PageReadItem.jsx +28 -0
  319. package/src/RoleGQLModel/Pages/PageUpdateItem.jsx +25 -0
  320. package/src/RoleGQLModel/Pages/PageVector.jsx +83 -0
  321. package/src/RoleGQLModel/Pages/RouterSegment.jsx +69 -0
  322. package/src/RoleGQLModel/Pages/index.js +10 -0
  323. package/src/RoleGQLModel/Queries/DeleteAsyncAction.jsx +22 -0
  324. package/src/RoleGQLModel/Queries/Fragments.jsx +123 -0
  325. package/src/RoleGQLModel/Queries/InsertAsyncAction.jsx +45 -0
  326. package/src/RoleGQLModel/Queries/ReadAsyncAction.jsx +45 -0
  327. package/src/RoleGQLModel/Queries/ReadPageAsyncAction.jsx +13 -0
  328. package/src/RoleGQLModel/Queries/UpdateAsyncAction.jsx +35 -0
  329. package/src/RoleGQLModel/Queries/index.js +6 -0
  330. package/src/RoleGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  331. package/src/RoleGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  332. package/src/RoleGQLModel/Scalars/index.js +1 -0
  333. package/src/RoleGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  334. package/src/RoleGQLModel/Vectors/VectorAttribute.jsx +56 -0
  335. package/src/RoleGQLModel/Vectors/index.js +1 -0
  336. package/src/RoleGQLModel/index.js +6 -0
  337. package/src/RoleTypeGQLModel/Components/CUDButton.jsx +128 -0
  338. package/src/RoleTypeGQLModel/Components/CardCapsule.jsx +43 -0
  339. package/src/RoleTypeGQLModel/Components/Children.jsx +31 -0
  340. package/src/RoleTypeGQLModel/Components/ConfirmEdit.jsx +61 -0
  341. package/src/RoleTypeGQLModel/Components/Filter.jsx +14 -0
  342. package/src/RoleTypeGQLModel/Components/LargeCard.jsx +49 -0
  343. package/src/RoleTypeGQLModel/Components/Link.jsx +55 -0
  344. package/src/RoleTypeGQLModel/Components/LiveEdit.jsx +111 -0
  345. package/src/RoleTypeGQLModel/Components/MediumCard.jsx +39 -0
  346. package/src/RoleTypeGQLModel/Components/MediumContent.jsx +97 -0
  347. package/src/RoleTypeGQLModel/Components/MediumEditableContent.jsx +35 -0
  348. package/src/RoleTypeGQLModel/Components/Table.jsx +7 -0
  349. package/src/RoleTypeGQLModel/Components/index.js +14 -0
  350. package/src/RoleTypeGQLModel/Mutations/Create.jsx +67 -0
  351. package/src/RoleTypeGQLModel/Mutations/Delete.jsx +80 -0
  352. package/src/RoleTypeGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  353. package/src/RoleTypeGQLModel/Mutations/Update.jsx +74 -0
  354. package/src/RoleTypeGQLModel/Pages/Page.jsx +3 -0
  355. package/src/RoleTypeGQLModel/Pages/PageBase.jsx +56 -0
  356. package/src/RoleTypeGQLModel/Pages/PageCreateItem.jsx +27 -0
  357. package/src/RoleTypeGQLModel/Pages/PageDeleteItem.jsx +16 -0
  358. package/src/RoleTypeGQLModel/Pages/PageNavbar.jsx +148 -0
  359. package/src/RoleTypeGQLModel/Pages/PageReadItem.jsx +11 -0
  360. package/src/RoleTypeGQLModel/Pages/PageUpdateItem.jsx +14 -0
  361. package/src/RoleTypeGQLModel/Pages/PageVector.jsx +79 -0
  362. package/src/RoleTypeGQLModel/Pages/RouterSegment.jsx +69 -0
  363. package/src/RoleTypeGQLModel/Pages/index.js +10 -0
  364. package/src/RoleTypeGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  365. package/src/RoleTypeGQLModel/Queries/Fragments.jsx +103 -0
  366. package/src/RoleTypeGQLModel/Queries/InsertAsyncAction.jsx +40 -0
  367. package/src/RoleTypeGQLModel/Queries/ReadAsyncAction.jsx +44 -0
  368. package/src/RoleTypeGQLModel/Queries/ReadPageAsyncAction.jsx +13 -0
  369. package/src/RoleTypeGQLModel/Queries/SearchAsyncAction.jsx +29 -0
  370. package/src/RoleTypeGQLModel/Queries/UpdateAsyncAction.jsx +40 -0
  371. package/src/RoleTypeGQLModel/Queries/index.js +6 -0
  372. package/src/RoleTypeGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  373. package/src/RoleTypeGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  374. package/src/RoleTypeGQLModel/Scalars/index.js +1 -0
  375. package/src/RoleTypeGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  376. package/src/RoleTypeGQLModel/Vectors/VectorAttribute.jsx +56 -0
  377. package/src/RoleTypeGQLModel/Vectors/index.js +1 -0
  378. package/src/RoleTypeGQLModel/index.js +6 -0
  379. package/src/StateGQLModel/Components/CardCapsule.jsx +43 -0
  380. package/src/StateGQLModel/Components/Children.jsx +31 -0
  381. package/src/StateGQLModel/Components/ConfirmEdit.jsx +61 -0
  382. package/src/StateGQLModel/Components/Filter.jsx +14 -0
  383. package/src/StateGQLModel/Components/LargeCard.jsx +50 -0
  384. package/src/StateGQLModel/Components/Link.jsx +54 -0
  385. package/src/StateGQLModel/Components/LiveEdit.jsx +111 -0
  386. package/src/StateGQLModel/Components/MediumCard.jsx +39 -0
  387. package/src/StateGQLModel/Components/MediumContent.jsx +96 -0
  388. package/src/StateGQLModel/Components/MediumEditableContent.jsx +36 -0
  389. package/src/StateGQLModel/Components/Table.jsx +7 -0
  390. package/src/StateGQLModel/Components/index.js +13 -0
  391. package/src/StateGQLModel/Mutations/Create.jsx +79 -0
  392. package/src/StateGQLModel/Mutations/Delete.jsx +87 -0
  393. package/src/StateGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  394. package/src/StateGQLModel/Mutations/Update.jsx +76 -0
  395. package/src/StateGQLModel/Mutations/helpers.jsx +7 -0
  396. package/src/StateGQLModel/Pages/PageBase.jsx +56 -0
  397. package/src/StateGQLModel/Pages/PageCreateItem.jsx +28 -0
  398. package/src/StateGQLModel/Pages/PageDeleteItem.jsx +16 -0
  399. package/src/StateGQLModel/Pages/PageNavbar.jsx +160 -0
  400. package/src/StateGQLModel/Pages/PageReadItem.jsx +11 -0
  401. package/src/StateGQLModel/Pages/PageReadItemEx.jsx +42 -0
  402. package/src/StateGQLModel/Pages/PageUpdateItem.jsx +14 -0
  403. package/src/StateGQLModel/Pages/PageVector.jsx +80 -0
  404. package/src/StateGQLModel/Pages/RouterSegment.jsx +72 -0
  405. package/src/StateGQLModel/Pages/index.js +2 -0
  406. package/src/StateGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  407. package/src/StateGQLModel/Queries/Fragments.jsx +109 -0
  408. package/src/StateGQLModel/Queries/InsertAsyncAction.jsx +104 -0
  409. package/src/StateGQLModel/Queries/ReadAsyncAction.jsx +48 -0
  410. package/src/StateGQLModel/Queries/ReadPageAsyncAction.jsx +23 -0
  411. package/src/StateGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  412. package/src/StateGQLModel/Queries/UpdateAsyncAction.jsx +106 -0
  413. package/src/StateGQLModel/Queries/index.js +6 -0
  414. package/src/StateGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  415. package/src/StateGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  416. package/src/StateGQLModel/Scalars/index.js +1 -0
  417. package/src/StateGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  418. package/src/StateGQLModel/Vectors/VectorAttribute.jsx +56 -0
  419. package/src/StateGQLModel/Vectors/index.js +1 -0
  420. package/src/StateGQLModel/index.js +71 -0
  421. package/src/StateMachineGQLModel/Components/CardCapsule.jsx +43 -0
  422. package/src/StateMachineGQLModel/Components/Children.jsx +31 -0
  423. package/src/StateMachineGQLModel/Components/ConfirmEdit.jsx +61 -0
  424. package/src/StateMachineGQLModel/Components/Filter.jsx +14 -0
  425. package/src/StateMachineGQLModel/Components/LargeCard.jsx +50 -0
  426. package/src/StateMachineGQLModel/Components/Link.jsx +54 -0
  427. package/src/StateMachineGQLModel/Components/LiveEdit.jsx +111 -0
  428. package/src/StateMachineGQLModel/Components/MediumCard.jsx +39 -0
  429. package/src/StateMachineGQLModel/Components/MediumContent.jsx +96 -0
  430. package/src/StateMachineGQLModel/Components/MediumEditableContent.jsx +989 -0
  431. package/src/StateMachineGQLModel/Components/Table.jsx +7 -0
  432. package/src/StateMachineGQLModel/Components/index.js +13 -0
  433. package/src/StateMachineGQLModel/Mutations/Create.jsx +79 -0
  434. package/src/StateMachineGQLModel/Mutations/Delete.jsx +80 -0
  435. package/src/StateMachineGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  436. package/src/StateMachineGQLModel/Mutations/Update.jsx +74 -0
  437. package/src/StateMachineGQLModel/Mutations/helpers.jsx +7 -0
  438. package/src/StateMachineGQLModel/Pages/PageBase.jsx +56 -0
  439. package/src/StateMachineGQLModel/Pages/PageCreateItem.jsx +28 -0
  440. package/src/StateMachineGQLModel/Pages/PageDeleteItem.jsx +16 -0
  441. package/src/StateMachineGQLModel/Pages/PageNavbar.jsx +160 -0
  442. package/src/StateMachineGQLModel/Pages/PageReadItem.jsx +11 -0
  443. package/src/StateMachineGQLModel/Pages/PageReadItemEx.jsx +42 -0
  444. package/src/StateMachineGQLModel/Pages/PageUpdateItem.jsx +14 -0
  445. package/src/StateMachineGQLModel/Pages/PageVector.jsx +80 -0
  446. package/src/StateMachineGQLModel/Pages/RouterSegment.jsx +72 -0
  447. package/src/StateMachineGQLModel/Pages/index.js +2 -0
  448. package/src/StateMachineGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  449. package/src/StateMachineGQLModel/Queries/Fragments.jsx +148 -0
  450. package/src/StateMachineGQLModel/Queries/InsertAsyncAction.jsx +44 -0
  451. package/src/StateMachineGQLModel/Queries/ReadAsyncAction.jsx +48 -0
  452. package/src/StateMachineGQLModel/Queries/ReadPageAsyncAction.jsx +23 -0
  453. package/src/StateMachineGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  454. package/src/StateMachineGQLModel/Queries/UpdateAsyncAction.jsx +40 -0
  455. package/src/StateMachineGQLModel/Queries/index.js +6 -0
  456. package/src/StateMachineGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  457. package/src/StateMachineGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  458. package/src/StateMachineGQLModel/Scalars/index.js +1 -0
  459. package/src/StateMachineGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  460. package/src/StateMachineGQLModel/Vectors/VectorAttribute.jsx +56 -0
  461. package/src/StateMachineGQLModel/Vectors/index.js +1 -0
  462. package/src/StateMachineGQLModel/WhatToDo.md +44 -0
  463. package/src/StateMachineGQLModel/index.js +71 -0
  464. package/src/StateTransitionGQLModel/Components/CardCapsule.jsx +43 -0
  465. package/src/StateTransitionGQLModel/Components/Children.jsx +31 -0
  466. package/src/StateTransitionGQLModel/Components/ConfirmEdit.jsx +61 -0
  467. package/src/StateTransitionGQLModel/Components/Filter.jsx +14 -0
  468. package/src/StateTransitionGQLModel/Components/LargeCard.jsx +50 -0
  469. package/src/StateTransitionGQLModel/Components/Link.jsx +54 -0
  470. package/src/StateTransitionGQLModel/Components/LiveEdit.jsx +111 -0
  471. package/src/StateTransitionGQLModel/Components/MediumCard.jsx +39 -0
  472. package/src/StateTransitionGQLModel/Components/MediumContent.jsx +96 -0
  473. package/src/StateTransitionGQLModel/Components/MediumEditableContent.jsx +35 -0
  474. package/src/StateTransitionGQLModel/Components/Table.jsx +7 -0
  475. package/src/StateTransitionGQLModel/Components/index.js +13 -0
  476. package/src/StateTransitionGQLModel/Mutations/Create.jsx +79 -0
  477. package/src/StateTransitionGQLModel/Mutations/Delete.jsx +80 -0
  478. package/src/StateTransitionGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  479. package/src/StateTransitionGQLModel/Mutations/Update.jsx +75 -0
  480. package/src/StateTransitionGQLModel/Mutations/helpers.jsx +7 -0
  481. package/src/StateTransitionGQLModel/Pages/PageBase.jsx +56 -0
  482. package/src/StateTransitionGQLModel/Pages/PageCreateItem.jsx +28 -0
  483. package/src/StateTransitionGQLModel/Pages/PageDeleteItem.jsx +16 -0
  484. package/src/StateTransitionGQLModel/Pages/PageNavbar.jsx +160 -0
  485. package/src/StateTransitionGQLModel/Pages/PageReadItem.jsx +11 -0
  486. package/src/StateTransitionGQLModel/Pages/PageReadItemEx.jsx +42 -0
  487. package/src/StateTransitionGQLModel/Pages/PageUpdateItem.jsx +14 -0
  488. package/src/StateTransitionGQLModel/Pages/PageVector.jsx +80 -0
  489. package/src/StateTransitionGQLModel/Pages/RouterSegment.jsx +72 -0
  490. package/src/StateTransitionGQLModel/Pages/index.js +2 -0
  491. package/src/StateTransitionGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  492. package/src/StateTransitionGQLModel/Queries/Fragments.jsx +150 -0
  493. package/src/StateTransitionGQLModel/Queries/InsertAsyncAction.jsx +107 -0
  494. package/src/StateTransitionGQLModel/Queries/ReadAsyncAction.jsx +48 -0
  495. package/src/StateTransitionGQLModel/Queries/ReadPageAsyncAction.jsx +23 -0
  496. package/src/StateTransitionGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  497. package/src/StateTransitionGQLModel/Queries/UpdateAsyncAction.jsx +109 -0
  498. package/src/StateTransitionGQLModel/Queries/index.js +6 -0
  499. package/src/StateTransitionGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  500. package/src/StateTransitionGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  501. package/src/StateTransitionGQLModel/Scalars/index.js +1 -0
  502. package/src/StateTransitionGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  503. package/src/StateTransitionGQLModel/Vectors/VectorAttribute.jsx +56 -0
  504. package/src/StateTransitionGQLModel/Vectors/index.js +1 -0
  505. package/src/StateTransitionGQLModel/WhatToDo.md +44 -0
  506. package/src/StateTransitionGQLModel/index.js +71 -0
  507. package/src/Template/Attributes/TemplateTrivialAttribute.jsx +21 -0
  508. package/src/Template/Attributes/index.js +1 -0
  509. package/src/Template/Components/CUDButton.jsx +128 -0
  510. package/src/Template/Components/CardCapsule.jsx +43 -0
  511. package/src/Template/Components/Children.jsx +31 -0
  512. package/src/Template/Components/ConfirmEdit.jsx +61 -0
  513. package/src/Template/Components/LargeCard.jsx +48 -0
  514. package/src/Template/Components/Link.jsx +41 -0
  515. package/src/Template/Components/LiveEdit.jsx +111 -0
  516. package/src/Template/Components/MediumCard.jsx +39 -0
  517. package/src/Template/Components/MediumContent.jsx +97 -0
  518. package/src/Template/Components/MediumEditableContent.jsx +36 -0
  519. package/src/Template/Components/Table.jsx +7 -0
  520. package/src/Template/Components/index.js +14 -0
  521. package/src/Template/Pages/Page.jsx +28 -0
  522. package/src/Template/Pages/PageCapsule.jsx +13 -0
  523. package/src/Template/Pages/PageContent.jsx +34 -0
  524. package/src/Template/Pages/PageEdit.jsx +17 -0
  525. package/src/Template/Pages/PageNavbar.jsx +110 -0
  526. package/src/Template/Pages/RouterSegment.jsx +52 -0
  527. package/src/Template/Pages/VectorPage.jsx +133 -0
  528. package/src/Template/Pages/index.js +6 -0
  529. package/src/Template/Queries/DeleteAsyncAction.jsx +22 -0
  530. package/src/Template/Queries/Fragments.jsx +92 -0
  531. package/src/Template/Queries/InsertAsyncAction.jsx +22 -0
  532. package/src/Template/Queries/ReadAsyncAction.jsx +45 -0
  533. package/src/Template/Queries/ReadPageAsyncAction.jsx +13 -0
  534. package/src/Template/Queries/UpdateAsyncAction.jsx +76 -0
  535. package/src/Template/Queries/index.js +6 -0
  536. package/src/Template/Scalars/ScalarAttribute.jsx +54 -0
  537. package/src/Template/Scalars/TemplateScalarAttribute.jsx +88 -0
  538. package/src/Template/Scalars/index.js +1 -0
  539. package/src/Template/Vectors/TemplateVectorsAttribute.jsx +326 -0
  540. package/src/Template/Vectors/VectorAttribute.jsx +56 -0
  541. package/src/Template/Vectors/index.js +1 -0
  542. package/src/Template/index.js +71 -0
  543. package/src/UserGQLModel/Components/CUDButton.jsx +128 -0
  544. package/src/UserGQLModel/Components/CardCapsule.jsx +43 -0
  545. package/src/UserGQLModel/Components/ConfirmEdit.jsx +61 -0
  546. package/src/UserGQLModel/Components/Filter.jsx +15 -0
  547. package/src/UserGQLModel/Components/LargeCard.jsx +82 -0
  548. package/src/UserGQLModel/Components/Link.jsx +54 -0
  549. package/src/UserGQLModel/Components/LiveEdit.jsx +111 -0
  550. package/src/UserGQLModel/Components/MediumCard.jsx +40 -0
  551. package/src/UserGQLModel/Components/MediumContent.jsx +49 -0
  552. package/src/UserGQLModel/Components/MediumEditableContent.jsx +57 -0
  553. package/src/UserGQLModel/Components/Table.jsx +7 -0
  554. package/src/UserGQLModel/Components/index.js +13 -0
  555. package/src/UserGQLModel/Mutations/AddMembership.jsx +136 -0
  556. package/src/UserGQLModel/Mutations/Create.jsx +68 -0
  557. package/src/UserGQLModel/Mutations/Delete.jsx +81 -0
  558. package/src/UserGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  559. package/src/UserGQLModel/Mutations/Update.jsx +68 -0
  560. package/src/UserGQLModel/Mutations/helpers.jsx +7 -0
  561. package/src/UserGQLModel/Pages/PageAddMembership.jsx +15 -0
  562. package/src/UserGQLModel/Pages/PageBase.jsx +56 -0
  563. package/src/UserGQLModel/Pages/PageCreateItem.jsx +27 -0
  564. package/src/UserGQLModel/Pages/PageDeleteItem.jsx +16 -0
  565. package/src/UserGQLModel/Pages/PageNavbar.jsx +146 -0
  566. package/src/UserGQLModel/Pages/PageReadItem.jsx +12 -0
  567. package/src/UserGQLModel/Pages/PageReadItemEx.jsx +62 -0
  568. package/src/UserGQLModel/Pages/PageUpdateItem.jsx +14 -0
  569. package/src/UserGQLModel/Pages/PageVector.jsx +78 -0
  570. package/src/UserGQLModel/Pages/RouterSegment.jsx +77 -0
  571. package/src/UserGQLModel/Pages/index.js +9 -0
  572. package/src/UserGQLModel/Queries/DeleteAsyncAction.jsx +22 -0
  573. package/src/UserGQLModel/Queries/Fragments.jsx +120 -0
  574. package/src/UserGQLModel/Queries/InsertAsyncAction.jsx +22 -0
  575. package/src/UserGQLModel/Queries/ReadAsyncAction.jsx +45 -0
  576. package/src/UserGQLModel/Queries/ReadPageAsyncAction.jsx +17 -0
  577. package/src/UserGQLModel/Queries/SearchAsyncAction.jsx +15 -0
  578. package/src/UserGQLModel/Queries/UpdateAsyncAction.jsx +76 -0
  579. package/src/UserGQLModel/Queries/index.js +6 -0
  580. package/src/UserGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  581. package/src/UserGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  582. package/src/UserGQLModel/Scalars/index.js +1 -0
  583. package/src/UserGQLModel/Vectors/Roles.jsx +23 -0
  584. package/src/UserGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  585. package/src/UserGQLModel/Vectors/UserMemberships.jsx +56 -0
  586. package/src/UserGQLModel/Vectors/UserRoles.jsx +81 -0
  587. package/src/UserGQLModel/Vectors/VectorAttribute.jsx +56 -0
  588. package/src/UserGQLModel/Vectors/index.js +1 -0
  589. package/src/UserGQLModel/index.js +6 -0
  590. package/src/_Template/Components/CardCapsule.jsx +43 -0
  591. package/src/_Template/Components/Children.jsx +31 -0
  592. package/src/_Template/Components/ConfirmEdit.jsx +61 -0
  593. package/src/_Template/Components/Filter.jsx +14 -0
  594. package/src/_Template/Components/LargeCard.jsx +50 -0
  595. package/src/_Template/Components/Link.jsx +54 -0
  596. package/src/_Template/Components/LiveEdit.jsx +111 -0
  597. package/src/_Template/Components/MediumCard.jsx +39 -0
  598. package/src/_Template/Components/MediumContent.jsx +96 -0
  599. package/src/_Template/Components/MediumEditableContent.jsx +35 -0
  600. package/src/_Template/Components/Table.jsx +7 -0
  601. package/src/_Template/Components/index.js +13 -0
  602. package/src/_Template/Mutations/Create.jsx +202 -0
  603. package/src/_Template/Mutations/Delete.jsx +173 -0
  604. package/src/_Template/Mutations/InteractiveMutations.jsx +30 -0
  605. package/src/_Template/Mutations/Update.jsx +147 -0
  606. package/src/_Template/Mutations/helpers.jsx +7 -0
  607. package/src/_Template/Pages/PageBase.jsx +56 -0
  608. package/src/_Template/Pages/PageCreateItem.jsx +28 -0
  609. package/src/_Template/Pages/PageDeleteItem.jsx +16 -0
  610. package/src/_Template/Pages/PageNavbar.jsx +160 -0
  611. package/src/_Template/Pages/PageReadItem.jsx +11 -0
  612. package/src/_Template/Pages/PageReadItemEx.jsx +42 -0
  613. package/src/_Template/Pages/PageUpdateItem.jsx +14 -0
  614. package/src/_Template/Pages/PageVector.jsx +80 -0
  615. package/src/_Template/Pages/RouterSegment.jsx +72 -0
  616. package/src/_Template/Pages/index.js +2 -0
  617. package/src/_Template/Queries/DeleteAsyncAction.jsx +32 -0
  618. package/src/_Template/Queries/Fragments.jsx +101 -0
  619. package/src/_Template/Queries/InsertAsyncAction.jsx +40 -0
  620. package/src/_Template/Queries/ReadAsyncAction.jsx +44 -0
  621. package/src/_Template/Queries/ReadPageAsyncAction.jsx +13 -0
  622. package/src/_Template/Queries/SearchAsyncAction.jsx +16 -0
  623. package/src/_Template/Queries/UpdateAsyncAction.jsx +40 -0
  624. package/src/_Template/Queries/index.js +6 -0
  625. package/src/_Template/Scalars/ScalarAttribute.jsx +54 -0
  626. package/src/_Template/Scalars/TemplateScalarAttribute.jsx +88 -0
  627. package/src/_Template/Scalars/index.js +1 -0
  628. package/src/_Template/Vectors/TemplateVectorsAttribute.jsx +326 -0
  629. package/src/_Template/Vectors/VectorAttribute.jsx +56 -0
  630. package/src/_Template/Vectors/index.js +1 -0
  631. package/src/_Template/WhatToDo.md +44 -0
  632. package/src/_Template/index.js +71 -0
  633. package/src/index.js +8 -0
  634. package/src/uriroot.js +158 -0
@@ -0,0 +1,163 @@
1
+ import { useMemo } from "react";
2
+ import { useEffect } from "react";
3
+ import { Label } from "./Label";
4
+ import { useRef } from "react";
5
+ import { useState } from "react";
6
+
7
+ /**
8
+ * Univerzální `<input>` wrapper s podporou controlled i uncontrolled režimu,
9
+ * s volitelným label obalem přes {@link Label}. Normalizuje `onChange`/`onBlur`
10
+ * tak, že callbacky vždy dostanou objekt ve tvaru `{ target: { id, value } }`.
11
+ *
12
+ * Chování:
13
+ * - **Controlled**: pokud je předán `value`, komponenta řídí hodnotu přes `value`.
14
+ * - **Uncontrolled**: pokud `value` není předán, použije se `defaultValue`.
15
+ * - `onBlur` se vyvolá pouze pokud uživatel opravdu změnil hodnotu (touched).
16
+ * - Pro `type="number"` komponenta převádí hodnotu na `number` (nebo `""` při prázdnu/NaN).
17
+ * - Pokud se interní `value_` liší od `value`, přidá se třída `bg-warning`.
18
+ *
19
+ * @component
20
+ * @param {Object} props
21
+ * @param {string} [props.label]
22
+ * Text titulku; pokud je uveden, input se zabalí do {@link Label} a použije se jako `title`.
23
+ * Pokud není, vrací se přímo element `<input>`.
24
+ * @param {boolean} [props.ariaHidden=false]
25
+ * Pokud `true`, komponenta nerenderuje nic (`null`). Vhodné pro podmíněné skrývání.
26
+ * @param {React.ReactNode} [props.children]
27
+ * Dodatečný obsah renderovaný pod inputem (pouze pokud je `label` uveden).
28
+ *
29
+ * @param {string} [props.id]
30
+ * ID inputu. Použije se i v emitovaných událostech (`target.id`).
31
+ * @param {string|number} [props.value]
32
+ * Controlled hodnota. Pokud je definovaná, komponenta přepne do controlled režimu.
33
+ * @param {string|number} [props.defaultValue]
34
+ * Výchozí hodnota pro uncontrolled režim.
35
+ * @param {("text"|"number"|string)} [props.type="text"]
36
+ * Typ inputu. Pro `"number"` probíhá coercion na `number`/`""`.
37
+ * @param {(e: {target: {id: string, value: any}}) => void} [props.onChange]
38
+ * Callback při změně; dostane normalizovaný event `{ target: { id, value } }`.
39
+ * @param {(e: {target: {id: string, value: any}}) => void} [props.onBlur]
40
+ * Callback při blur; vyvolá se pouze pokud uživatel předtím změnil hodnotu (touched).
41
+ *
42
+ * @param {Object<string, any>} [props.rest]
43
+ * Ostatní props předané přímo do `<input />` (např. `className`, `placeholder`, `disabled`,
44
+ * `min`, `max`, `step`, `name`, `autoComplete`, `data-*`, atd.).
45
+ *
46
+ * @returns {JSX.Element|null}
47
+ *
48
+ * @example
49
+ * // Controlled
50
+ * <Input
51
+ * id="age"
52
+ * label="Age"
53
+ * type="number"
54
+ * value={age}
55
+ * onChange={({ target }) => setAge(target.value)}
56
+ * onBlur={({ target }) => saveAge(target.value)}
57
+ * />
58
+ *
59
+ * @example
60
+ * // Uncontrolled
61
+ * <Input id="name" defaultValue="John" onBlur={({ target }) => console.log(target.value)} />
62
+ */
63
+ export const Input = ({ label, ariaHidden = false, children, ...props }) => {
64
+ const {
65
+ id,
66
+ value,
67
+ defaultValue,
68
+ onChange = () => null,
69
+ onBlur = () => null,
70
+ type="text",
71
+ reset=0,
72
+ ...rest
73
+ } = props;
74
+
75
+ const isControlled = value !== undefined; // klíčové
76
+ const touchedRef = useRef(false);
77
+
78
+ const coerceValue = (val) => {
79
+ if (type === "number") {
80
+ if (val === "" || val == null) return "";
81
+ const num = Number(val);
82
+ return Number.isNaN(num) ? "" : num;
83
+ }
84
+ return val ?? "";
85
+ };
86
+
87
+ const [value_, setValue_] = useState(() => coerceValue(value));
88
+
89
+ useEffect(() => {
90
+ // console.log("Input.useEffect.value")
91
+ if (!isControlled) return;
92
+ // console.log("Input.useEffect.value changed to", value)
93
+ touchedRef.current = false;
94
+ setValue_(value)
95
+ }, [isControlled, value, reset])
96
+
97
+
98
+ // reset "touched", když se změní hodnota zvenku (typicky reload / cancel / confirm)
99
+ const externalValueKey = useMemo(
100
+ () => (isControlled ? coerceValue(value) : undefined),
101
+ [isControlled, value, type]
102
+ );
103
+
104
+ useEffect(() => {
105
+ if (isControlled) touchedRef.current = false;
106
+ }, [externalValueKey, isControlled]);
107
+
108
+ const emit = (cb) => (e) => {
109
+ const coercedValue = coerceValue(e.target.value);
110
+ cb({ target: { id, value: coercedValue } });
111
+ };
112
+
113
+ const handleChange = (e) => {
114
+ touchedRef.current = true;
115
+ const value = e?.target?.value
116
+ setValue_(value)
117
+ // console.log("Input.handleChange.value changed to", value, reset)
118
+ emit(onChange)(e);
119
+ };
120
+
121
+ const handleBlur = (e) => {
122
+ if (!touchedRef.current) return;
123
+ emit(onBlur)(e);
124
+ };
125
+
126
+ if (ariaHidden) return null;
127
+
128
+ const inputProps = {
129
+ id,
130
+ type,
131
+ onChange: handleChange,
132
+ onBlur: handleBlur,
133
+ ...rest,
134
+ };
135
+
136
+ // Controlled vs uncontrolled:
137
+ if (isControlled) {
138
+ // console.log("Input.isControlled using value", value_, value)
139
+ inputProps.value = coerceValue(value_);
140
+ } else {
141
+ inputProps.defaultValue = coerceValue(defaultValue);
142
+ }
143
+
144
+ if (value !== value_) {
145
+ inputProps.className = (inputProps.className ? inputProps.className + " " : "") + "bg-warning";
146
+ }
147
+ // console.log("Input default", isControlled, defaultValue, inputProps)
148
+ const inputElement = <input {...inputProps} />;
149
+
150
+ // console.log(inputProps)
151
+ if (!label) return inputElement;
152
+
153
+ return (
154
+ <Label title={label}>
155
+ {/* {JSON.stringify(inputProps)} */}
156
+ {inputElement}
157
+ {/* value_: {value_} <br />
158
+ value: {value} */}
159
+
160
+ {children}
161
+ </Label>
162
+ );
163
+ };
@@ -0,0 +1,40 @@
1
+ import { SimpleCardCapsule } from "../Components/CardCapsule"
2
+
3
+ /**
4
+ * Komponenta pro jednoduché “označené” (labelované) zobrazení obsahu v kapsli.
5
+ * Využívá {@link SimpleCardCapsule} jako vizuální obal a umožňuje vložit
6
+ * do hlavičkové části (před `children`) volitelné nástroje/akce.
7
+ *
8
+ * Typické použití:
9
+ * - panel s tlačítky (tools) + obsah (children),
10
+ * - “sekce” formuláře s akcemi (např. Přidat, Obnovit, Uložit),
11
+ * - obal pro vizuální sjednocení.
12
+ *
13
+ * @component
14
+ * @param {Object} props
15
+ * @param {React.ReactNode} [props.tools]
16
+ * Volitelné UI prvky zobrazené před hlavním obsahem (např. tlačítka, badge, filtr).
17
+ * @param {React.ReactNode} [props.children]
18
+ * Hlavní obsah komponenty.
19
+ * @param {Object<string, any>} [props.props]
20
+ * Další props jsou předány do {@link SimpleCardCapsule} (např. `id`, `title`, `header`,
21
+ * `style`, `className`, `data-*`).
22
+ *
23
+ * @returns {JSX.Element}
24
+ *
25
+ * @example
26
+ * <Label
27
+ * title="Nastavení"
28
+ * tools={<button onClick={reset}>Reset</button>}
29
+ * >
30
+ * <SettingsForm />
31
+ * </Label>
32
+ */
33
+ export const Label = ({tools, children, ...props}) => {
34
+ return (
35
+ <SimpleCardCapsule {...props}>
36
+ {tools}
37
+ {children}
38
+ </SimpleCardCapsule>
39
+ )
40
+ }
@@ -0,0 +1,150 @@
1
+ import React, { useState } from 'react'
2
+ import { useEffect, useRef } from 'react'
3
+ import { Label } from './Label'
4
+
5
+ /**
6
+ * A React component that renders a styled `<select>` dropdown with dynamic options and enhanced change detection.
7
+ *
8
+ * This component integrates with the `Options` component to fetch and display dynamic `<option>` elements.
9
+ * It uses a `MutationObserver` to detect changes in the `<select>` element's children and triggers the `onChange`
10
+ * event accordingly. The dropdown is wrapped in a `SimpleCardCapsule` for a consistent UI layout.
11
+ *
12
+ * @function Select
13
+ * @param {Object} props - The properties for the Select component.
14
+ * @param {string} [props.label] - The label displayed as the title of the `SimpleCardCapsule`.
15
+ * @param {React.ReactNode} props.children - The `<option>` elements or an `Options` component to render dynamic options.
16
+ * @param {string} [props.id] - The unique identifier for the `<select>` element.
17
+ * @param {string|number} [props.value] - The current value of the `<select>` element, used for controlled components.
18
+ * @param {string|number} [props.defaultValue] - The default value of the `<select>` element, used for uncontrolled components.
19
+ * @param {Function} [props.onChange] - A callback function triggered when the `<select>` value changes. Receives an event object.
20
+ * @param {Function} [props.onBlur] - A callback function triggered when the `<select>` loses focus. Receives an event object.
21
+ * @param {Object} props.rest - Any additional props passed to the `<select>` element.
22
+ *
23
+ * @returns {JSX.Element} A styled dropdown wrapped in a `SimpleCardCapsule` with dynamic options and change detection.
24
+ *
25
+ * @example
26
+ * // Example usage with Options:
27
+ * const MyComponent = () => {
28
+ * const fetchOptions = (params) => async (dispatch) => {
29
+ * const response = await fetch('/api/data', {
30
+ * method: 'POST',
31
+ * body: JSON.stringify(params),
32
+ * });
33
+ * const json = await response.json();
34
+ * return json;
35
+ * };
36
+ *
37
+ * const [selectedValue, setSelectedValue] = useState("");
38
+ * const [fetchTrigger, setFetchTrigger] = useState(0);
39
+ *
40
+ * const handleChange = (e) => {
41
+ * setSelectedValue(e.target.value);
42
+ * };
43
+ *
44
+ * const refreshOptions = () => setFetchTrigger((prev) => prev + 1);
45
+ *
46
+ * return (
47
+ * <div>
48
+ * <button onClick={refreshOptions}>Refresh Options</button>
49
+ * <Select
50
+ * label="Dynamic Select"
51
+ * id="dynamic-select"
52
+ * value={selectedValue}
53
+ * onChange={handleChange}
54
+ * >
55
+ * <Options asyncAction={fetchOptions} params={{ someParam: "value" }} shouldFetch={fetchTrigger} />
56
+ * </Select>
57
+ * </div>
58
+ * );
59
+ * };
60
+ */
61
+ export const Select_ = ({ label, children, defaultValue, onChange, onBlur, ariaHidden, ...props }) => {
62
+ const selectRef = useRef(null);
63
+ const prevValueRef = useRef(defaultValue); // poslední známá hodnota
64
+
65
+ useEffect(() => {
66
+ if (!selectRef.current || typeof onChange !== "function") return;
67
+
68
+ const observer = new MutationObserver(() => {
69
+ // Oddálíme vyhodnocení, až se React přepne na novou hodnotu
70
+ setTimeout(() => {
71
+ const current = selectRef.current?.value;
72
+
73
+ if (prevValueRef.current !== current) {
74
+ prevValueRef.current = current;
75
+ const event = { target: { id: selectRef.current.id, value: current } };
76
+ console.log("Select firing event due to real change", event);
77
+ onChange(event);
78
+ } else {
79
+ console.log("MutationObserver detected change but value unchanged");
80
+ }
81
+ }, 0);
82
+ });
83
+
84
+ observer.observe(selectRef.current, { childList: true, subtree: true });
85
+
86
+ // Uložíme počáteční hodnotu
87
+ if (selectRef.current?.value) {
88
+ prevValueRef.current = selectRef.current.value;
89
+ }
90
+
91
+ return () => observer.disconnect();
92
+ }, [onChange, children]);
93
+
94
+ if (ariaHidden) return null;
95
+
96
+ const selectElement = (
97
+ <select
98
+ ref={selectRef}
99
+ defaultValue={defaultValue}
100
+ onChange={onChange}
101
+ onBlur={onBlur}
102
+ {...props}
103
+ >
104
+ {children}
105
+ </select>
106
+ );
107
+
108
+ return label ? <Label title={label}>{selectElement}</Label> : selectElement;
109
+ };
110
+
111
+
112
+ export const Select = ({ id, label, value, onChange, onBlur, children, ...props }) => {
113
+ const [internalValue, setInternalValue] = useState(value ?? "");
114
+
115
+ // Když se externí `value` změní, aktualizuj i vnitřní stav
116
+ useEffect(() => {
117
+ setInternalValue(value ?? "");
118
+ }, [value]);
119
+
120
+ const handleChange = (e) => {
121
+ const newValue = e.target.value;
122
+ setInternalValue(newValue); // aktualizuj interní stav
123
+ onChange?.({ target: { id, value: newValue } }); // zavolej callback s konzistentním tvarem
124
+ };
125
+
126
+ const handleBlur = (e) => {
127
+ const newValue = e.target.value;
128
+ onBlur?.({ target: { id, value: newValue } });
129
+ };
130
+
131
+ const selectElement = (
132
+ <select
133
+ id={id}
134
+ value={internalValue}
135
+ onChange={handleChange}
136
+ onBlur={handleBlur}
137
+ {...props}
138
+ >
139
+ {children}
140
+ </select>
141
+ );
142
+
143
+ if (props.ariaHidden) return null;
144
+
145
+ return label ? (
146
+ <Label title={label}>{selectElement}</Label>
147
+ ) : (
148
+ selectElement
149
+ );
150
+ };
@@ -0,0 +1,86 @@
1
+ import { useEffect, useRef, useState, useCallback } from "react";
2
+ import { Label } from './Label';
3
+
4
+ export const TextArea = ({
5
+ id,
6
+ value,
7
+ label,
8
+ placeHolder,
9
+ ariaHidden = false,
10
+ autoHeight = true,
11
+
12
+ // IMPORTANT: očekává string, ne event
13
+ onChange = (_value) => null,
14
+ onBlur = (_value) => null,
15
+
16
+ ...props
17
+ }) => {
18
+ const textareaRef = useRef(null);
19
+
20
+ const [value_, setValue_] = useState(value ?? "");
21
+ const [dirty, setDirty] = useState(false);
22
+
23
+ const adjustHeight = useCallback(() => {
24
+ if (!autoHeight) return;
25
+ const el = textareaRef.current;
26
+ if (!el) return;
27
+ el.style.height = "auto";
28
+ el.style.height = `${el.scrollHeight + 10}px`;
29
+ }, [autoHeight]);
30
+
31
+ // autoheight reaguje na obsah
32
+ useEffect(() => {
33
+ adjustHeight();
34
+ }, [value_, adjustHeight]);
35
+
36
+ useEffect(() => {
37
+ const external = value ?? "";
38
+
39
+ // 1) sync zvenku jen když uživatel nepíše
40
+ if (!dirty) {
41
+ setValue_(external);
42
+ return;
43
+ }
44
+
45
+ // 2) když uživatel píše, ale backend dohnal stejnou hodnotu, shodit dirty
46
+ if (external === value_) {
47
+ setDirty(false);
48
+ }
49
+ }, [value, value_, dirty]);
50
+
51
+ const handleChange = (e) => {
52
+ const next = e?.target?.value ?? "";
53
+ setDirty(true);
54
+ setValue_(next);
55
+ onChange({ target: { id, value: next }}); // bez debounce uvnitř, debounce je externí
56
+ };
57
+
58
+ const handleBlur = () => {
59
+ // na blur obvykle chceš "flush" (externí debounce by měl mít flush),
60
+ // tady aspoň pošli aktuální hodnotu:
61
+ onBlur({ target: { id, value: value_ }});
62
+ };
63
+
64
+ const textarea = (
65
+ <textarea
66
+ {...props}
67
+ ref={textareaRef}
68
+ value={value_}
69
+ aria-hidden={ariaHidden ? true : undefined}
70
+ onChange={handleChange}
71
+ onBlur={handleBlur}
72
+ />
73
+ );
74
+
75
+ if (ariaHidden) return textarea;
76
+
77
+ const content = (
78
+ <>
79
+ {placeHolder && <p>{placeHolder}</p>}
80
+ {textarea}
81
+ </>
82
+ );
83
+
84
+ if (label) return <Label title={label}>{content}</Label>;
85
+ return content;
86
+ };
@@ -0,0 +1,8 @@
1
+ export * from "./Collapsible"
2
+ export * from "./Dialog"
3
+ export * from "./EntityLookup"
4
+ export * from "./Filter"
5
+ export * from "./Input"
6
+ export * from "./Label"
7
+ export * from "./Select"
8
+ export * from "./TextArea"
@@ -0,0 +1,9 @@
1
+ import { ErrorHandler, LoadingSpinner } from "@hrbolek/uoisfrontend-shared"
2
+
3
+ export const AsyncStateIndicator = ({ error, loading, text, children }) => {
4
+ return (<>
5
+ {error && <ErrorHandler errors={error} />}
6
+ {loading && <LoadingSpinner text={text} />}
7
+ {/* {!error && !loading && children} */}
8
+ </>)
9
+ }
@@ -0,0 +1,163 @@
1
+ import { useContext } from "react";
2
+ import { createContext } from "react";
3
+ import { useAsyncThunkAction } from "../../../../dynamic/src/Hooks";
4
+ import { useState } from "react";
5
+ import { CreateDelayer } from "@hrbolek/uoisfrontend-shared";
6
+ import { AsyncStateIndicator } from "./AsyncStateIndicator";
7
+ import { SimpleCardCapsule } from "../Components";
8
+ import { useCallback } from "react";
9
+
10
+ const GQLEntityContext = createContext(null);
11
+ export const useGQLEntityContext = () => {
12
+ const result = useContext(GQLEntityContext)
13
+ if (result == null) {
14
+ throw new Error("useGQLEntityContext must be used within a GQLEntityProvider")
15
+ }
16
+ return result
17
+ }
18
+
19
+
20
+ /**
21
+ * Provider, který nad daným `item` spouští asynchronní thunk akci (`queryAsyncAction`)
22
+ * přes `useAsyncThunkAction` a zpřístupňuje stav + handlery potomkům přes `GQLEntityContext`.
23
+ *
24
+ * Kontextová hodnota obsahuje:
25
+ * - `loading` {boolean} stav načítání
26
+ * - `error` {any|null} chyba z posledního volání (pokud nastala)
27
+ * - `reRead` {Function} funkce pro znovunačtení (alias na `run`)
28
+ * - `item` {any|null} entita ze storu (typicky `entity` z `useAsyncThunkAction`)
29
+ * - `data` {any|null} návratová data z thunk akce (typicky `data` z `useAsyncThunkAction`)
30
+ * - `onChange` {Function} debounced handler pro změnu (volá `run`)
31
+ * - `onBlur` {Function} alias na `onChange`
32
+ *
33
+ * @component
34
+ *
35
+ * @param {Object} props
36
+ * @param {any} props.item
37
+ * Vstupní item/vars pro `queryAsyncAction`. Typicky objekt s `{ id }` nebo rovnou entita,
38
+ * podle toho, jak máš `useAsyncThunkAction`/`queryAsyncAction` postavené.
39
+ *
40
+ * @param {Function} props.queryAsyncAction
41
+ * Factory pro thunk async akci. Musí být kompatibilní s `useAsyncThunkAction`,
42
+ * tj. typicky funkce, kterou lze volat jako `queryAsyncAction(vars, client?)`
43
+ * a která vrací thunk `(dispatch, getState, extra?) => Promise<any>`.
44
+ *
45
+ * @param {Object} [props.options]
46
+ * @param {boolean} [props.options.deferred=false]
47
+ * Pokud je `false`, hook může spustit první načtení automaticky (podle implementace `useAsyncThunkAction`).
48
+ * @param {boolean} [props.options.network=true]
49
+ * Pokud je `false`, `run` se nebude provádět (offline režim / vypnutí síťových volání).
50
+ *
51
+ * @param {import('react').ReactNode} props.children
52
+ * Potomci, kteří budou mít přístup ke kontextu.
53
+ *
54
+ * @returns {import('react').JSX.Element}
55
+ */
56
+ export const AsyncActionProvider = ({
57
+ item,
58
+ queryAsyncAction,
59
+ options = { deferred: false, network: true },
60
+
61
+ onChange = () => null,
62
+ onBlur = () => null,
63
+
64
+ children,
65
+ }) => {
66
+ if (queryAsyncAction == null) {
67
+ throw new Error("AsyncActionProvider: queryAsyncAction is required");
68
+ }
69
+
70
+ const [contextid] = useState(crypto?.randomUUID?.() ?? null)
71
+ const { run, error, loading, entity, data } = useAsyncThunkAction(queryAsyncAction, item, options)
72
+ const [delayer] = useState(() => CreateDelayer())
73
+ const [varsState, setVarsState] = useState(item || {});
74
+ const onEvent = useCallback((masterEvent) => async (e) => {
75
+ // console.log("AsyncAcionProvider onChange e", contextid, e)
76
+ const value = e?.target?.value
77
+ setVarsState(old => value)
78
+ const newState = await delayer(() => run(value))
79
+ // console.log("AsyncAcionProvider newState e", contextid, newState)
80
+ const newE = { target: { value: newState } }
81
+ return await masterEvent(newE)
82
+ }, [setVarsState, delayer, run])
83
+
84
+ const handleChange = useCallback(
85
+ onEvent(onChange), [onEvent, onChange]
86
+ )
87
+ const handleBlur = useCallback(
88
+ onEvent(onBlur), [onEvent, onBlur]
89
+ )
90
+ // console.log("GQLEntityProvider", item, "entity", entity, "data", data)
91
+ const contextValue = {
92
+ loading,
93
+ error,
94
+ reRead: run,
95
+ params: varsState,
96
+ item: entity,
97
+ data,
98
+ onChange: handleChange,
99
+ onBlur: handleBlur
100
+ }
101
+ // console.log("GQLEntityProvider item", contextid, entity, data)
102
+ // console.log("GQLEntityProvider contextValue", contextid, contextValue)
103
+ // if (!item) return null;
104
+ return (
105
+ <GQLEntityContext.Provider value={contextValue}>
106
+ {/* <h1>{contextid}</h1> */}
107
+ <AsyncStateIndicator error={error} loading={loading} />
108
+
109
+ {/* {(!loading && !error) && children} */}
110
+ {children}
111
+ {/* {!contextValue.item && <pre>{JSON.stringify(contextValue)}</pre>} */}
112
+ {/* <pre>{JSON.stringify(contextValue, null, 2)}</pre> */}
113
+ </GQLEntityContext.Provider>
114
+ );
115
+ };
116
+
117
+ export const Group = ({ id, children }) => {
118
+ const entityCtx = useContext(GQLEntityContext);
119
+ if (!entityCtx) throw Error("Group must be used within GQLEntityContext");
120
+
121
+ const wrapEvent = useCallback(
122
+ (eOrValue) => {
123
+ // dovol: event nebo přímá hodnota
124
+ const value =
125
+ eOrValue && typeof eOrValue === "object" && "target" in eOrValue
126
+ ? eOrValue.target?.value
127
+ : eOrValue;
128
+
129
+ return {
130
+ target: {
131
+ id,
132
+ value: { [id]: value }, // patch
133
+ }
134
+ };
135
+ },
136
+ [id]
137
+ );
138
+
139
+ const handleChange = useCallback(
140
+ (eOrValue) => entityCtx.onChange?.(wrapEvent(eOrValue)),
141
+ [entityCtx, wrapEvent]
142
+ );
143
+
144
+ const handleBlur = useCallback(
145
+ (eOrValue) => entityCtx.onBlur?.(wrapEvent(eOrValue)),
146
+ [entityCtx, wrapEvent]
147
+ );
148
+
149
+ const contextValue = useMemo(
150
+ () => ({
151
+ ...entityCtx, // zachovej vše z parenta
152
+ onChange: handleChange,
153
+ onBlur: handleBlur,
154
+ }),
155
+ [entityCtx, handleChange, handleBlur]
156
+ );
157
+
158
+ return (
159
+ <GQLEntityContext.Provider value={contextValue}>
160
+ {children}
161
+ </GQLEntityContext.Provider>
162
+ );
163
+ };