@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,87 @@
1
+ import { DeleteItemURI, ListURI, MediumContent, VectorItemsURI } from "../Components";
2
+ import { DeleteAsyncAction } from "../Queries";
3
+ import {
4
+ DeleteBody as BaseDeleteBody,
5
+ DeleteButton as BaseDeleteButton,
6
+ DeleteDialog as BaseDeleteDialog,
7
+ DeleteLink as BaseDeleteLink
8
+ } from "../../Base/Mutations/Delete";
9
+
10
+ const DefaultContent = MediumContent
11
+ const MutationAsyncAction = DeleteAsyncAction
12
+
13
+ const permissions = {
14
+ oneOfRoles: ["superadmin"],
15
+ mode: "absolute",
16
+ }
17
+
18
+ export const DeleteLink = ({
19
+ uriPattern=DeleteItemURI,
20
+ ...props
21
+ }) => {
22
+ return (
23
+ <BaseDeleteLink
24
+ {...props}
25
+ uriPattern={uriPattern}
26
+ {...permissions}
27
+ />
28
+ )
29
+ };
30
+
31
+ /**
32
+ *
33
+ * @param {onOk} param0 if defined, it is used to feeback that delete has been run, otherwise vectorItemsURI is used for navigation
34
+ * @returns
35
+ */
36
+ export const DeleteButton = ({
37
+ mutationAsyncAction=MutationAsyncAction,
38
+ DefaultContent:DefaultContent_=DefaultContent,
39
+ vectorItemsURI=ListURI,
40
+ onOk,
41
+ ...props
42
+ }) => {
43
+ return (
44
+ <BaseDeleteButton
45
+ {...props}
46
+ DefaultContent={DefaultContent_}
47
+ mutationAsyncAction={mutationAsyncAction}
48
+ vectorItemsURI={vectorItemsURI}
49
+ onOk={onOk}
50
+ {...permissions}
51
+ />
52
+ )
53
+ }
54
+
55
+ export const DeleteDialog = ({
56
+ mutationAsyncAction=MutationAsyncAction,
57
+ DefaultContent:DefaultContent_=DefaultContent,
58
+ vectorItemsURI=ListURI,
59
+ ...props
60
+ }) => {
61
+ return (
62
+ <BaseDeleteDialog
63
+ {...props}
64
+ DefaultContent={DefaultContent}
65
+ mutationAsyncAction={MutationAsyncAction}
66
+ vectorItemsURI={vectorItemsURI}
67
+ {...permissions}
68
+ />
69
+ )
70
+ }
71
+
72
+ export const DeleteBody = ({
73
+ mutationAsyncAction=MutationAsyncAction,
74
+ DefaultContent:DefaultContent_=DefaultContent,
75
+ vectorItemsURI=ListURI,
76
+ ...props
77
+ }) => {
78
+ return (
79
+ <BaseDeleteBody
80
+ {...props}
81
+ DefaultContent={DefaultContent}
82
+ mutationAsyncAction={MutationAsyncAction}
83
+ vectorItemsURI={vectorItemsURI}
84
+ {...permissions}
85
+ />
86
+ )
87
+ }
@@ -0,0 +1,30 @@
1
+ import { CardCapsule, VectorItemsURI } from "../Components"
2
+ import { CreateButton, CreateLink } from "./Create"
3
+ import { UpdateButton, UpdateLink } from "./Update"
4
+ import { ProxyLink } from "../../Base/Components/ProxyLink"
5
+ import { DeleteButton } from "./Delete"
6
+
7
+ export const PageLink = ({ children, preserveHash = true, preserveSearch = true, ...props }) => {
8
+ return (
9
+ <ProxyLink
10
+ to={VectorItemsURI}
11
+ preserveHash={preserveHash}
12
+ preserveSearch={preserveSearch}
13
+ {...props}
14
+ >
15
+ {children}
16
+ </ProxyLink>
17
+ );
18
+ };
19
+
20
+ export const InteractiveMutations = ({ item }) => {
21
+ return (
22
+ <CardCapsule item={item} title="Nástroje">
23
+ <PageLink className="btn btn-outline-success">Stránka</PageLink>
24
+ <UpdateLink className="btn btn-outline-success" item={item}>Upravit</UpdateLink>
25
+ <UpdateButton className="btn btn-outline-success" item={item}>Upravit Dialog</UpdateButton>
26
+ <CreateButton className="btn btn-outline-success" rbacitem={{}}>Vytvořit nový</CreateButton>
27
+ <DeleteButton className="btn btn-outline-danger" item={item}>Odstranit</DeleteButton>
28
+ </CardCapsule>
29
+ )
30
+ }
@@ -0,0 +1,76 @@
1
+ import {
2
+ UpdateBody as BaseUpdateBody,
3
+ UpdateButton as BaseUpdateButton,
4
+ UpdateDialog as BaseUpdateDialog,
5
+ UpdateLink as BaseUpdateLink
6
+ } from "../../Base/Mutations/Update";
7
+
8
+ import { MediumEditableContent, UpdateItemURI } from "../Components";
9
+ import { UpdateAsyncAction } from "../Queries";
10
+
11
+ const DefaultContent = (props) => <MediumEditableContent {...props} />
12
+ const mutationAsyncAction = UpdateAsyncAction
13
+
14
+ const permissions = {
15
+ oneOfRoles: ["superadmin"],
16
+ mode: "absolute",
17
+ }
18
+
19
+ // ALTERNATIVE, CHECK GQLENDPOINT
20
+ // const permissions = {
21
+ // oneOfRoles: ["administrátor", "personalista"],
22
+ // mode: "item",
23
+ // }
24
+
25
+
26
+ export const UpdateLink = ({
27
+ uriPattern=UpdateItemURI,
28
+ ...props
29
+ }) => {
30
+ return <BaseUpdateLink
31
+ {...props}
32
+ uriPattern={uriPattern}
33
+ {...permissions}
34
+ />
35
+ }
36
+
37
+ export const UpdateDialog = ({
38
+ DefaultContent:DefaultContent_=DefaultContent,
39
+ mutationAsyncAction:mutationAsyncAction_=mutationAsyncAction,
40
+ ...props
41
+ }) => {
42
+ return <BaseUpdateDialog
43
+ {...props}
44
+ DefaultContent={DefaultContent_}
45
+ mutationAsyncAction={mutationAsyncAction}
46
+ {...permissions}
47
+ />
48
+ }
49
+
50
+ export const UpdateButton = ({
51
+ DefaultContent:DefaultContent_=DefaultContent,
52
+ Dialog=UpdateDialog,
53
+ mutationAsyncAction:mutationAsyncAction_=mutationAsyncAction,
54
+ ...props
55
+ }) => {
56
+ return <BaseUpdateButton
57
+ {...props}
58
+ DefaultContent={DefaultContent_}
59
+ Dialog={Dialog}
60
+ mutationAsyncAction={mutationAsyncAction_}
61
+ {...permissions}
62
+ />
63
+ }
64
+
65
+ export const UpdateBody = ({
66
+ DefaultContent:DefaultContent_=DefaultContent,
67
+ mutationAsyncAction:mutationAsyncAction_=mutationAsyncAction,
68
+ ...props
69
+ }) => {
70
+ return <BaseUpdateBody
71
+ {...props}
72
+ DefaultContent={DefaultContent_}
73
+ mutationAsyncAction={mutationAsyncAction}
74
+ {...permissions}
75
+ />
76
+ }
@@ -0,0 +1,7 @@
1
+ export const makeMutationURI = (linkURI, action, { withId = false } = {}) => {
2
+ const viewSegmentRe = /\/view(\/|$)/;
3
+ if (!viewSegmentRe.test(linkURI)) throw new Error(`LinkURI must contain '/view'. Got: ${linkURI}`);
4
+
5
+ const base = linkURI.replace(viewSegmentRe, `/${action}$1`).replace(/\/?$/, "/");
6
+ return withId ? `${base}:id` : base.replace(/\/$/, "");
7
+ };
@@ -0,0 +1,56 @@
1
+ import { ReadAsyncAction } from "../Queries"
2
+ import { PageItemBase as PageItemBase_} from "../../Base/Pages/Page"
3
+ import { LargeCard } from "../Components"
4
+
5
+
6
+ /**
7
+ * Base wrapper pro stránky pracující s jedním entity itemem podle `:id` z routy.
8
+ *
9
+ * Komponenta:
10
+ * - načte `id` z URL přes `useParams()`
11
+ * - sestaví minimální `item` objekt `{ id }`
12
+ * - poskytne jej přes `AsyncActionProvider`, který zajistí načtení entity pomocí `queryAsyncAction`
13
+ * - vloží do stránky navbar přes `PlaceChild Component={PageNavbar}`
14
+ * - vyrenderuje `children` uvnitř provideru (tj. až v kontextu načtené entity)
15
+ *
16
+ * Typické použití je jako obálka routy typu `/.../:id`, kde vnořené komponenty
17
+ * (detail, editace, akce) používají kontext z `AsyncActionProvider`.
18
+ *
19
+ * @component
20
+ * @param {object} props
21
+ * @param {import("react").ReactNode} props.children
22
+ * Obsah stránky, který se má vyrenderovat uvnitř `AsyncActionProvider`.
23
+ * @param {Function} [props.queryAsyncAction=ReadAsyncAction]
24
+ * Async action (např. thunk) použitá pro načtení entity z GraphQL endpointu.
25
+ * Dostane `item` s `id` (a případně další parametry podle implementace provideru).
26
+ *
27
+ * @returns {import("react").JSX.Element}
28
+ * Provider s navigací (`PageNavbar`) a obsahem stránky (`children`).
29
+ */
30
+ export const PageItemBase = ({
31
+ queryAsyncAction=ReadAsyncAction,
32
+ PageNavbar=()=>null,
33
+ ItemLayout=LargeCard,
34
+ SubPage=null,
35
+ ...props
36
+ }) => {
37
+ return (
38
+ <PageItemBase_
39
+ queryAsyncAction={queryAsyncAction}
40
+ PageNavbar={PageNavbar}
41
+ ItemLayout={ItemLayout}
42
+ SubPage={SubPage}
43
+ {...props}
44
+ />
45
+ )
46
+ }
47
+
48
+
49
+ export const PageBase = ({ children, PageNavbar=()=>null }) => {
50
+ return (
51
+ <>
52
+ <PageNavbar />
53
+ {children}
54
+ </>
55
+ )
56
+ }
@@ -0,0 +1,28 @@
1
+ import { ReadAsyncAction } from "../Queries"
2
+ import { Row } from "../../../../_template/src/Base/Components/Row";
3
+ import { CreateBody } from "../Mutations/Create";
4
+ import { LeftColumn, MiddleColumn } from "@hrbolek/uoisfrontend-shared";
5
+ import { PageItemBase } from "./PageBase";
6
+
7
+
8
+
9
+ const PageBody = ({...props}) => (
10
+ <Row>
11
+ <LeftColumn />
12
+ <MiddleColumn>
13
+ <CreateBody {...props} />
14
+ </MiddleColumn>
15
+ </Row>
16
+ )
17
+
18
+ export const PageCreateItem = ({
19
+ SubPage=PageBody,
20
+ ...props
21
+ }) => {
22
+ return (
23
+ <PageItemBase
24
+ SubPage={SubPage}
25
+ {...props}
26
+ />
27
+ )
28
+ }
@@ -0,0 +1,16 @@
1
+ import { PageItemBase } from "./PageBase";
2
+ import { DeleteBody } from "../Mutations/Delete";
3
+
4
+ export const PageDeleteItem = ({
5
+ SubPage=DeleteBody,
6
+ ...props
7
+ }) => {
8
+ return (
9
+ <PageItemBase
10
+ SubPage={SubPage}
11
+ {...props}
12
+ />
13
+
14
+ )
15
+ }
16
+
@@ -0,0 +1,160 @@
1
+ import Nav from 'react-bootstrap/Nav'
2
+ import { Link, LinkURI } from '../Components'
3
+ import { ProxyLink } from '../../../../_template/src/Base/Components/ProxyLink';
4
+ import { NavDropdown } from 'react-bootstrap';
5
+ import { UpdateLink } from '../Mutations/Update';
6
+ import { CreateButton } from '../Mutations/Create';
7
+
8
+ /**
9
+ * Allow to use HashContainer for determination which component at page will be rendered.
10
+ * That must be manually inserted at TemplatePageContent, usually this should be done
11
+ * as children of TemplateLargeCard.
12
+ * <TemplateLargeCard>
13
+ * <HashContainer>
14
+ * <VectorA id="history"/>
15
+ * <VectorB id="roles"/>
16
+ * <VectorC id="graph"/>
17
+ * </HashContainer>
18
+ * </TemplateLargeCard>
19
+ * it is usefull to define globally active "areas" like science, administration, teaching, ...
20
+ */
21
+ // const TemplatePageSegments = [
22
+ // { segment: 'education', label: 'Výuka' },
23
+ // { segment: 'reaserach', label: 'Tvůrčí činnost' },
24
+ // { segment: 'administration', label: 'Organizační činnost' },
25
+ // { segment: 'development', label: 'Rozvoj' },
26
+ // ]
27
+
28
+ /**
29
+ * A navigation button component that generates a URL based on the template's ID and a specific segment.
30
+ * The button uses a `ProxyLink` to navigate while preserving hash and query parameters.
31
+ *
32
+ * ### Features:
33
+ * - Dynamically constructs the URL with a hash fragment pointing to the specified segment.
34
+ * - Displays a label for the navigation link.
35
+ * - Integrates seamlessly with `ProxyLink` for enhanced navigation.
36
+ *
37
+ * @component
38
+ * @param {Object} props - The properties for the TitleNavButton component.
39
+ * @param {Object} props.template - The template object containing details about the template.
40
+ * @param {string|number} props.template.id - The unique identifier for the template.
41
+ * @param {string} props.segment - The segment to append as a hash fragment in the URL.
42
+ * @param {string} props.label - The text to display as the label for the navigation button.
43
+ *
44
+ * @returns {JSX.Element} A styled navigation button linking to the constructed URL.
45
+ *
46
+ * @example
47
+ * // Example 1: Basic usage with a template and segment
48
+ * const template = { id: 123 };
49
+ * const segment = "details";
50
+ * const label = "View Details";
51
+ *
52
+ * <TitleNavButton template={template} segment={segment} label={label} />
53
+ * // Resulting URL: `/ug/template/view/123#details`
54
+ *
55
+ * @example
56
+ * // Example 2: Different segment and label
57
+ * <TitleNavButton template={{ id: 456 }} segment="settings" label="Template Settings" />
58
+ * // Resulting URL: `/ug/template/view/456#settings`
59
+ */
60
+ // const TitleNavButton = ({ item, segment, label, ...props }) => {
61
+ // // const urlbase = (segment) => `/templates/template/${segment}/${template?.id}`;
62
+ // const urlbase = (segment) => `${LinkURI}${item?.id}#${segment}`;
63
+ // return (
64
+ // <Nav.Link as={"span"} {...props}>
65
+ // {/* <ProxyLink to={urlbase(segment)}>{label}</ProxyLink> */}
66
+ // </Nav.Link>
67
+ // );
68
+ // };
69
+
70
+ /**
71
+ * Renders the navigation bar for an Template page.
72
+ *
73
+ * This component uses a custom hook, `useHash()`, to determine the current hash
74
+ * and highlights the active segment. It displays a navigation bar (using MyNavbar)
75
+ * with several segments (e.g. "history", "roles", "graph"), each rendered as a
76
+ * TitleNavButton. The segments are hardcoded in this component and only rendered
77
+ * if an `template` object is provided.
78
+ *
79
+ * @component
80
+ * @param {Object} props - The component properties.
81
+ * @param {Object} props.template - The template entity object that provides context for the page.
82
+ * @param {string|number} props.template.id - The unique identifier for the template.
83
+ * @param {Function} props.onSearchChange - Callback function to handle changes in the search input.
84
+ *
85
+ * @returns {JSX.Element} The rendered TemplatePageNavbar component.
86
+ *
87
+ * @example
88
+ * // Example usage:
89
+ * const template = { id: 123, ... };
90
+ * <TemplatePageNavbar template={template} onSearchChange={handleSearchChange} />
91
+ */
92
+ // export const PageNavbar = ({ item, children, onSearchChange }) => {
93
+ // // const [currentHash, setHash] = useHash(); // Use the custom hook to manage hash
94
+ // const currentHash = "da"
95
+ // return (
96
+ // <div className='screen-only'>
97
+ // <MyNavbar onSearchChange={onSearchChange} >
98
+ // {item && TemplatePageSegments.map(({ segment, label }) => (
99
+ // <Nav.Item key={segment} >
100
+ // <TitleNavButton
101
+ // template={item}
102
+ // segment={segment}
103
+ // label={label}
104
+ // className={segment === currentHash ? "active" : ""} aria-current={segment === currentHash ? "page" : undefined}
105
+ // />
106
+ // </Nav.Item>
107
+ // ))}
108
+ // {children}
109
+ // </MyNavbar>
110
+ // </div>
111
+ // );
112
+ // };
113
+
114
+
115
+ export const MyNavDropdown = ({ item }) => {
116
+ const { __typename } = item || {}
117
+ const hasProperType = __typename === "TemplateGQLModel"
118
+ return (
119
+ <NavDropdown title="Skupiny">
120
+ <NavDropdown.Item as={ProxyLink} to={VectorItemsURI}>
121
+ Seznam všech
122
+ </NavDropdown.Item>
123
+
124
+ <NavDropdown.Item as={Link} item={item} action="roles" disabled={!hasProperType}>
125
+ Role<br/><Link item={item} />
126
+ </NavDropdown.Item>
127
+ <NavDropdown.Item as={Link} item={item} action="subgroups" disabled={!hasProperType}>
128
+ Podskupiny<br/><Link item={item} />
129
+ </NavDropdown.Item>
130
+ <NavDropdown.Item as={Link} item={item} action="memberships" disabled={!hasProperType}>
131
+ Členové<br/><Link item={item} />
132
+ </NavDropdown.Item>
133
+
134
+
135
+ <NavDropdown.Divider />
136
+
137
+ <NavDropdown.Item
138
+ as={UpdateLink}
139
+ item={item}
140
+ disabled={!hasProperType}
141
+ >
142
+ Upravit<br/><Link item={item} />
143
+ </NavDropdown.Item>
144
+ <NavDropdown.Item
145
+ as={CreateButton}
146
+ item={item}
147
+ disabled={!hasProperType}
148
+ item={{
149
+ group: item,
150
+ groupId: item?.groupId
151
+ }}
152
+ >
153
+ Nové<br/><Link item={item} />
154
+ </NavDropdown.Item>
155
+
156
+ <NavDropdown.Divider />
157
+ <NavDropdown.Item as={ProxyLink} to={`/generic/${item?.__typename}/__def/${item?.id}`} reloadDocument={false}>Definice</NavDropdown.Item >
158
+ </NavDropdown>
159
+ )
160
+ }
@@ -0,0 +1,11 @@
1
+ import { GeneratedContentBase } from "../../../../_template/src/Base/Pages/Page"
2
+ import { PageItemBase } from "./PageBase"
3
+
4
+ export const PageReadItem = ({
5
+ SubPage=GeneratedContentBase,
6
+ ...props
7
+ }) => {
8
+ return (
9
+ <PageItemBase SubPage={SubPage} {...props}/>
10
+ )
11
+ }
@@ -0,0 +1,42 @@
1
+ import { GeneratedContentBase } from "../../../../_template/src/Base/Pages/Page"
2
+ import { ReadItemURI } from "../Components"
3
+ import { ReadAsyncAction } from "../Queries"
4
+ import { PageReadItem } from "./PageReadItem"
5
+
6
+ export const RolesOnURI = ReadItemURI.replace("view", "roleson")
7
+
8
+
9
+ /**
10
+ * Základní obálka pro „read“ stránku entity podle `:id` z routy.
11
+ *
12
+ * Využívá `PageItemBase`, který zajistí:
13
+ * - získání `id` z URL (`useParams`)
14
+ * - načtení entity přes `AsyncActionProvider` pomocí `queryAsyncAction`
15
+ * - vložení navigace (`PageNavbar`)
16
+ *
17
+ * Uvnitř provideru vykreslí `ReadWithComponent`, který si vezme načtený `item`
18
+ * z `useGQLEntityContext()` a zobrazí ho v zadané komponentě (defaultně `LargeCard`).
19
+ *
20
+ * @component
21
+ * @param {object} props
22
+ * @param {Function} [props.queryAsyncAction=ReadAsyncAction]
23
+ * Async action (např. thunk) pro načtení entity z backendu/GraphQL dle `id`.
24
+ * @param {Object<string, any>} [props]
25
+ * Další props předané do `ReadWithComponent` (např. `Component`, layout props).
26
+ *
27
+ * @returns {import("react").JSX.Element}
28
+ */
29
+ export const PageReadItemRolesOn = ({
30
+ queryAsyncAction=ReadAsyncAction,
31
+ children,
32
+ ...props
33
+ }) => {
34
+ return (
35
+ <PageReadItem
36
+ queryAsyncAction={queryAsyncAction}
37
+ SubPage={GeneratedContentBase}
38
+ {...props}
39
+ />
40
+ )
41
+ }
42
+
@@ -0,0 +1,14 @@
1
+ import { UpdateBody } from "../Mutations/Update"
2
+ import { PageItemBase } from "./PageBase"
3
+
4
+ export const PageUpdateItem = ({
5
+ SubPage=UpdateBody,
6
+ ...props
7
+ }) => {
8
+ return (
9
+ <PageItemBase
10
+ SubPage={SubPage}
11
+ {...props}
12
+ />
13
+ )
14
+ }
@@ -0,0 +1,80 @@
1
+
2
+ import { ReadPageAsyncAction } from "../Queries"
3
+ import { useInfiniteScroll } from "../../../../dynamic/src/Hooks/useInfiniteScroll"
4
+ import { PageBase } from "./PageBase"
5
+ import { Table } from "../Components/Table"
6
+ import { Filter } from "../Components/Filter"
7
+ import { FilterButton, ResetFilterButton } from "../../../../_template/src/Base/FormControls/Filter"
8
+ import { useSearchParams } from "react-router"
9
+ import { useEffect } from "react"
10
+ import { useMemo } from "react"
11
+ import { AsyncStateIndicator } from "../../../../_template/src/Base/Helpers/AsyncStateIndicator"
12
+ import { Collapsible } from "../../../../_template/src/Base/FormControls/Collapsible"
13
+
14
+
15
+ function safeParseWhere(sp, paramName = "where") {
16
+ const raw = sp.get(paramName);
17
+ if (!raw) return null;
18
+ try {
19
+ const obj = JSON.parse(raw);
20
+ return obj && typeof obj === "object" ? obj : null;
21
+ } catch {
22
+ return null;
23
+ }
24
+ }
25
+
26
+ //
27
+ const filterParameterName = "gr_where"
28
+ export const PageVector = ({ children, queryAsyncAction = ReadPageAsyncAction }) => {
29
+
30
+ const [sp] = useSearchParams();
31
+
32
+ const whereFromUrl = useMemo(() => safeParseWhere(sp, filterParameterName), [sp.toString()]);
33
+
34
+ const { items, loading, error, hasMore, sentinelRef, loadMore, restart } = useInfiniteScroll(
35
+ {
36
+ asyncAction: queryAsyncAction,
37
+ actionParams: { skip: 0, limit: 25, where: whereFromUrl },
38
+ // reset: whereFromUrl
39
+ }
40
+ )
41
+
42
+ useEffect(() => {
43
+ const params = {skip: 0, limit: 25, where: whereFromUrl}
44
+ restart(params)
45
+ }, [whereFromUrl]);
46
+
47
+
48
+ return (
49
+ <PageBase>
50
+ <Collapsible
51
+ className="form-control btn btn-outline-primary"
52
+ buttonLabelCollapsed="Zobrazit filtr"
53
+ buttonLabelExpanded="Skrýt filtr"
54
+ >
55
+ <Filter>
56
+ <FilterButton
57
+ className="form-control btn btn-outline-success"
58
+ paramName={filterParameterName}
59
+ >
60
+ Filtrovat
61
+ </FilterButton>
62
+ <ResetFilterButton
63
+ className="form-control btn btn-warning"
64
+ paramName={filterParameterName}
65
+ >
66
+ Vymazat filtr
67
+ </ResetFilterButton>
68
+ </Filter>
69
+ </Collapsible>
70
+
71
+ <Table data={items} />
72
+
73
+ <AsyncStateIndicator error={error} loading={loading} text="Nahrávám další..." />
74
+
75
+ {hasMore && <div ref={sentinelRef} style={{ height: 80, backgroundColor: "lightgray" }} />}
76
+ {hasMore && <button className="btn btn-success form-control" onClick={() => loadMore()}>Více</button>}
77
+ </PageBase>
78
+ )
79
+ }
80
+