@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,30 @@
1
+ import { CardCapsule, VectorItemsURI } from "../Components"
2
+ import { CreateButton, CreateLink } from "./Create"
3
+ import { UpdateButton, UpdateLink } from "./Update"
4
+ import { ProxyLink } from "../../../../_template/src/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,74 @@
1
+ import {
2
+ UpdateBody as BaseUpdateBody,
3
+ UpdateButton as BaseUpdateButton,
4
+ UpdateDialog as BaseUpdateDialog,
5
+ UpdateLink as BaseUpdateLink
6
+ } from "../../../../_template/src/Base/Mutations/Update";
7
+
8
+ import { MediumEditableContent, UpdateItemURI } from "../Components";
9
+ import { UpdateAsyncAction } from "../Queries";
10
+
11
+ const DefaultContent = MediumEditableContent
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 UpdateButton = ({
38
+ DefaultContent:DefaultContent_=DefaultContent,
39
+ mutationAsyncAction:mutationAsyncAction_=mutationAsyncAction,
40
+ ...props
41
+ }) => {
42
+ return <BaseUpdateButton
43
+ {...props}
44
+ DefaultContent={DefaultContent_}
45
+ mutationAsyncAction={mutationAsyncAction_}
46
+ {...permissions}
47
+ />
48
+ }
49
+
50
+ export const UpdateDialog = ({
51
+ DefaultContent:DefaultContent_=DefaultContent,
52
+ mutationAsyncAction:mutationAsyncAction_=mutationAsyncAction,
53
+ ...props
54
+ }) => {
55
+ return <BaseUpdateDialog
56
+ {...props}
57
+ DefaultContent={DefaultContent}
58
+ mutationAsyncAction={mutationAsyncAction}
59
+ {...permissions}
60
+ />
61
+ }
62
+
63
+ export const UpdateBody = ({
64
+ DefaultContent:DefaultContent_=DefaultContent,
65
+ mutationAsyncAction:mutationAsyncAction_=mutationAsyncAction,
66
+ ...props
67
+ }) => {
68
+ return <BaseUpdateBody
69
+ {...props}
70
+ DefaultContent={DefaultContent}
71
+ mutationAsyncAction={mutationAsyncAction}
72
+ {...permissions}
73
+ />
74
+ }
@@ -0,0 +1,56 @@
1
+ import { PageNavbar as PageNavbar_} from "./PageNavbar"
2
+ import { ReadAsyncAction } from "../Queries"
3
+ import { PageItemBase as PageItemBase_} from "../../../../_template/src/Base/Pages/Page"
4
+ import { LargeCard } from "../Components"
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 }) => {
50
+ return (
51
+ <>
52
+ {/* <PageNavbar_ /> */}
53
+ {children}
54
+ </>
55
+ )
56
+ }
@@ -0,0 +1,27 @@
1
+ import { Row } from "../../../../_template/src/Base/Components/Row";
2
+ import { CreateBody } from "../Mutations/Create";
3
+ import { LeftColumn, MiddleColumn } from "@hrbolek/uoisfrontend-shared";
4
+ import { PageItemBase } from "./PageBase";
5
+
6
+
7
+
8
+ const PageBody = ({...props}) => (
9
+ <Row>
10
+ <LeftColumn />
11
+ <MiddleColumn>
12
+ <CreateBody {...props} />
13
+ </MiddleColumn>
14
+ </Row>
15
+ )
16
+
17
+ export const PageCreateItem = ({
18
+ SubPage=PageBody,
19
+ ...props
20
+ }) => {
21
+ return (
22
+ <PageItemBase
23
+ SubPage={SubPage}
24
+ {...props}
25
+ />
26
+ )
27
+ }
@@ -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,264 @@
1
+ import Nav from 'react-bootstrap/Nav'
2
+ import { ProxyLink, MyNavbar, useHash } from '@hrbolek/uoisfrontend-shared';
3
+
4
+ import { LinkURI } from '../Components'
5
+ import { RolesURI } from './PageReadItemEx';
6
+ import { Link as GroupLink } from '../Components';
7
+ import { Link as UserLink } from '../../UserGQLModel/Components';
8
+ import { NavDropdown } from 'react-bootstrap';
9
+ import { VectorItemsURI as GroupVectorItemsURI } from '../Components/Link';
10
+ import { CreateURI as CreateRoleTypeURI } from '../../RoleTypeGQLModel/Components/Link';
11
+ import { CreateURI as CreateGroupTypeURI } from '../../GroupTypeGQLModel/Components/Link';
12
+ import { VectorItemsURI as UserVectorItemsURI } from '../../UserGQLModel/Components/Link';
13
+ import { VectorItemsURI as GroupTypeVectorItemsURI } from '../../GroupTypeGQLModel/Components/Link';
14
+ import { CreateGroupInserMembershipButton } from '../Mutations/AddMembership';
15
+ import { UpdateButton, UpdateLink } from '../Mutations/Update';
16
+ import { AddRoleOnGroupButton } from '../../RoleGQLModel/Mutations/AddRoleonGroup';
17
+ import { Link } from '../../../../_template/src/Base/Components';
18
+
19
+ /**
20
+ * Allow to use HashContainer for determination which component at page will be rendered.
21
+ * That must be manually inserted at TemplatePageContent, usually this should be done
22
+ * as children of TemplateLargeCard.
23
+ * <TemplateLargeCard>
24
+ * <HashContainer>
25
+ * <VectorA id="history"/>
26
+ * <VectorB id="roles"/>
27
+ * <VectorC id="graph"/>
28
+ * </HashContainer>
29
+ * </TemplateLargeCard>
30
+ * it is usefull to define globally active "areas" like science, administration, teaching, ...
31
+ */
32
+ const TemplatePageSegments = [
33
+ { segment: 'education', label: 'Výuka' },
34
+ { segment: 'reaserach', label: 'Tvůrčí činnost' },
35
+ { segment: 'administration', label: 'Organizační činnost' },
36
+ { segment: 'development', label: 'Rozvoj' },
37
+ ]
38
+
39
+ /**
40
+ * A navigation button component that generates a URL based on the template's ID and a specific segment.
41
+ * The button uses a `ProxyLink` to navigate while preserving hash and query parameters.
42
+ *
43
+ * ### Features:
44
+ * - Dynamically constructs the URL with a hash fragment pointing to the specified segment.
45
+ * - Displays a label for the navigation link.
46
+ * - Integrates seamlessly with `ProxyLink` for enhanced navigation.
47
+ *
48
+ * @component
49
+ * @param {Object} props - The properties for the TitleNavButton component.
50
+ * @param {Object} props.template - The template object containing details about the template.
51
+ * @param {string|number} props.template.id - The unique identifier for the template.
52
+ * @param {string} props.segment - The segment to append as a hash fragment in the URL.
53
+ * @param {string} props.label - The text to display as the label for the navigation button.
54
+ *
55
+ * @returns {JSX.Element} A styled navigation button linking to the constructed URL.
56
+ *
57
+ * @example
58
+ * // Example 1: Basic usage with a template and segment
59
+ * const template = { id: 123 };
60
+ * const segment = "details";
61
+ * const label = "View Details";
62
+ *
63
+ * <TitleNavButton template={template} segment={segment} label={label} />
64
+ * // Resulting URL: `/ug/template/view/123#details`
65
+ *
66
+ * @example
67
+ * // Example 2: Different segment and label
68
+ * <TitleNavButton template={{ id: 456 }} segment="settings" label="Template Settings" />
69
+ * // Resulting URL: `/ug/template/view/456#settings`
70
+ */
71
+ const TitleNavButton = ({ item, segment, label, ...props }) => {
72
+ // const urlbase = (segment) => `/templates/template/${segment}/${template?.id}`;
73
+ const urlbase = (segment) => `${LinkURI}${item?.id}#${segment}`;
74
+ return (
75
+ <Nav.Link as={"span"} {...props}>
76
+ {/* <ProxyLink to={urlbase(segment)}>{label}</ProxyLink> */}
77
+ </Nav.Link>
78
+ );
79
+ };
80
+
81
+ /**
82
+ * Renders the navigation bar for an Template page.
83
+ *
84
+ * This component uses a custom hook, `useHash()`, to determine the current hash
85
+ * and highlights the active segment. It displays a navigation bar (using MyNavbar)
86
+ * with several segments (e.g. "history", "roles", "graph"), each rendered as a
87
+ * TitleNavButton. The segments are hardcoded in this component and only rendered
88
+ * if an `template` object is provided.
89
+ *
90
+ * @component
91
+ * @param {Object} props - The component properties.
92
+ * @param {Object} props.template - The template entity object that provides context for the page.
93
+ * @param {string|number} props.template.id - The unique identifier for the template.
94
+ * @param {Function} props.onSearchChange - Callback function to handle changes in the search input.
95
+ *
96
+ * @returns {JSX.Element} The rendered TemplatePageNavbar component.
97
+ *
98
+ * @example
99
+ * // Example usage:
100
+ * const template = { id: 123, ... };
101
+ * <TemplatePageNavbar template={template} onSearchChange={handleSearchChange} />
102
+ */
103
+ export const PageNavbar = ({ item, children, onSearchChange }) => {
104
+ // const [currentHash, setHash] = useHash(); // Use the custom hook to manage hash
105
+ const currentHash = "da"
106
+ return (
107
+ <div className='screen-only'>
108
+ <MyNavbar onSearchChange={onSearchChange} >
109
+ {/* {item && TemplatePageSegments.map(({ segment, label }) => (
110
+ <Nav.Item key={segment} >
111
+ <TitleNavButton
112
+ template={item}
113
+ segment={segment}
114
+ label={label}
115
+ className={segment === currentHash ? "active" : ""} aria-current={segment === currentHash ? "page" : undefined}
116
+ />
117
+ </Nav.Item>
118
+ ))} */}
119
+ {item && (<>
120
+ <NavDropdown title="Skupiny">
121
+ <NavDropdown.Item as={ProxyLink} to={GroupVectorItemsURI}>
122
+ Seznam všech skupin
123
+ </NavDropdown.Item>
124
+ {/* <span className="border-start mx-2" aria-hidden="true" /> */}
125
+ <NavDropdown.Item as={GroupLink} item={item} action="roles">
126
+ Role
127
+ </NavDropdown.Item>
128
+ {/* <span className="border-start mx-2" aria-hidden="true" /> */}
129
+ <NavDropdown.Item as={GroupLink} item={item} action="subgroups">
130
+ Podskupiny
131
+ </NavDropdown.Item>
132
+ <NavDropdown.Item as={GroupLink} item={item} action="memberships">
133
+ Členové
134
+ </NavDropdown.Item>
135
+ <NavDropdown.Divider />
136
+ <NavDropdown.Item
137
+ as={CreateGroupInserMembershipButton}
138
+ item={item}
139
+ // item={{
140
+ // group: item,
141
+ // groupId: item?.groupId
142
+ // }}
143
+ action="memberships"
144
+ >
145
+ Nové členství
146
+ </NavDropdown.Item>
147
+ </NavDropdown>
148
+
149
+ <NavDropdown title="Uživatelé">
150
+ <NavDropdown.Item as={UserLink} to={UserVectorItemsURI}>
151
+ Seznam všech uživatelů
152
+ </NavDropdown.Item>
153
+ {/* <span className="border-start mx-2" aria-hidden="true" /> */}
154
+ <NavDropdown.Item as={UserLink} item={item} action="roles">
155
+ Role
156
+ </NavDropdown.Item>
157
+ {/* <span className="border-start mx-2" aria-hidden="true" /> */}
158
+ <NavDropdown.Item as={UserLink} item={item} action="subgroups">
159
+ Podskupiny
160
+ </NavDropdown.Item>
161
+ </NavDropdown>
162
+
163
+
164
+ <NavDropdown title="Typy">
165
+ <NavDropdown.Item as={UserLink} to={GroupTypeVectorItemsURI}>
166
+ Seznam všech typů skupin
167
+ </NavDropdown.Item>
168
+ <NavDropdown.Item as={ProxyLink} to={CreateGroupTypeURI}>
169
+ Nový typ skupiny
170
+ </NavDropdown.Item>
171
+ <NavDropdown.Item as={"span"} disabled>
172
+ {/* <hr/> */}
173
+ </NavDropdown.Item>
174
+ {/* <span className="border-start mx-2" aria-hidden="true" /> */}
175
+ <NavDropdown.Item as={UserLink} item={item} action="roles">
176
+ Seznam všech typů rolí
177
+ </NavDropdown.Item>
178
+ {/* <span className="border-start mx-2" aria-hidden="true" /> */}
179
+ <NavDropdown.Item as={ProxyLink} to={CreateRoleTypeURI}>
180
+ Nový typ role
181
+ </NavDropdown.Item>
182
+ </NavDropdown>
183
+
184
+ <Nav.Item>
185
+ <Nav.Link as={ProxyLink} to={GroupVectorItemsURI}>
186
+ Seznam všech skupin
187
+
188
+ </Nav.Link>
189
+ </Nav.Item>
190
+ {/* <span className="border-start mx-2" aria-hidden="true" /> */}
191
+ <Nav.Item>
192
+ <Nav.Link as={GroupLink} item={item} action="roles">
193
+ Role
194
+ </Nav.Link>
195
+ </Nav.Item>
196
+ {/* <span className="border-start mx-2" aria-hidden="true" /> */}
197
+ <Nav.Item>
198
+ <Nav.Link as={GroupLink} item={item} action="subgroups">
199
+ Podskupiny
200
+ </Nav.Link>
201
+ </Nav.Item>
202
+ </>)}
203
+
204
+ {children}
205
+ </MyNavbar>
206
+ </div>
207
+ );
208
+ };
209
+
210
+ export const MyNavDropdown = ({ item }) => {
211
+ const { __typename } = item || {}
212
+ const hasProperType = __typename === "GroupGQLModel"
213
+ return (
214
+ <NavDropdown title="Skupiny">
215
+ <NavDropdown.Item as={ProxyLink} to={GroupVectorItemsURI}>
216
+ Seznam všech skupin
217
+ </NavDropdown.Item>
218
+
219
+ <NavDropdown.Item as={GroupLink} item={item} action="roles" disabled={!hasProperType}>
220
+ Role {hasProperType&&item?.name}
221
+ </NavDropdown.Item>
222
+ <NavDropdown.Item as={GroupLink} item={item} action="subgroups" disabled={!hasProperType}>
223
+ Podskupiny {hasProperType&&item?.name}
224
+ </NavDropdown.Item>
225
+ <NavDropdown.Item as={GroupLink} item={item} action="memberships" disabled={!hasProperType}>
226
+ Členové {hasProperType&&item?.name}
227
+ </NavDropdown.Item>
228
+
229
+
230
+ <NavDropdown.Divider />
231
+
232
+ <NavDropdown.Item
233
+ as={UpdateLink}
234
+ item={item}
235
+ disabled={!hasProperType}
236
+ >
237
+ Upravit {hasProperType&&item?.name}
238
+ </NavDropdown.Item>
239
+ <NavDropdown.Item
240
+ as={CreateGroupInserMembershipButton}
241
+ // item={item}
242
+ disabled={!hasProperType}
243
+ item={item}
244
+ >
245
+ Nové členství {hasProperType&&item?.name}
246
+ </NavDropdown.Item>
247
+ <NavDropdown.Item
248
+ as={AddRoleOnGroupButton}
249
+ // item={item}
250
+ rbacitem={item}
251
+ item={{
252
+ group: item,
253
+ groupId: item?.id,
254
+ }}
255
+ disabled={!hasProperType}
256
+ >
257
+ Nové oprávnění u {hasProperType&&item?.name}
258
+ </NavDropdown.Item>
259
+
260
+ <NavDropdown.Divider />
261
+ <NavDropdown.Item as={ProxyLink} to={`/generic/${item?.__typename}/__def/${item?.id}`} reloadDocument={false}>Definice</NavDropdown.Item >
262
+ </NavDropdown>
263
+ )
264
+ }
@@ -0,0 +1,12 @@
1
+ import { GroupSubgroups } from "../Vectors/GroupSubgroups"
2
+ import { PageItemBase } from "./PageBase"
3
+
4
+ export const PageReadItem = ({
5
+ // SubPage=GeneratedContentBase,
6
+ SubPage=GroupSubgroups,
7
+ ...props
8
+ }) => {
9
+ return (
10
+ <PageItemBase SubPage={SubPage} {...props}/>
11
+ )
12
+ }
@@ -0,0 +1,57 @@
1
+ import { ReadItemURI } from "../Components"
2
+ import { ReadAsyncAction } from "../Queries"
3
+ import { GroupMemberships } from "../Vectors/GroupMemberships"
4
+ import { GroupRoles } from "../Vectors/GroupRoles"
5
+ import { GroupRolesOn } from "../Vectors/GroupRolesOn"
6
+ import { GroupSubgroups } from "../Vectors/GroupSubgroups"
7
+ import { PageReadItem } from "./PageReadItem"
8
+
9
+ export const RolesOnURI = ReadItemURI.replace("view", "roleson")
10
+ export const RolesURI = ReadItemURI.replace("view", "roles")
11
+ export const SubgroupsURI = ReadItemURI.replace("view", "subgroups")
12
+ export const MembershipsURI = ReadItemURI.replace("view", "memberships")
13
+ /**
14
+ * Základní obálka pro „read“ stránku entity podle `:id` z routy.
15
+ *
16
+ * Využívá `PageItemBase`, který zajistí:
17
+ * - získání `id` z URL (`useParams`)
18
+ * - načtení entity přes `AsyncActionProvider` pomocí `queryAsyncAction`
19
+ * - vložení navigace (`PageNavbar`)
20
+ *
21
+ * Uvnitř provideru vykreslí `ReadWithComponent`, který si vezme načtený `item`
22
+ * z `useGQLEntityContext()` a zobrazí ho v zadané komponentě (defaultně `LargeCard`).
23
+ *
24
+ * @component
25
+ * @param {object} props
26
+ * @param {Function} [props.queryAsyncAction=ReadAsyncAction]
27
+ * Async action (např. thunk) pro načtení entity z backendu/GraphQL dle `id`.
28
+ * @param {Object<string, any>} [props]
29
+ * Další props předané do `ReadWithComponent` (např. `Component`, layout props).
30
+ *
31
+ * @returns {import("react").JSX.Element}
32
+ */
33
+ export const PageReadItemRolesOn = ({ queryAsyncAction=ReadAsyncAction}) => (
34
+ <PageReadItem queryAsyncAction={queryAsyncAction} SubPage={GroupRolesOn}/>
35
+ )
36
+
37
+ // export const PageReadItemRoles = ({ queryAsyncAction=ReadAsyncAction}) => (
38
+ // <PageReadItem queryAsyncAction={queryAsyncAction} SubPage={GroupRoles}/>
39
+ // )
40
+
41
+ const CombinedRoles = ({ item }) => <>
42
+ <GroupRoles item={item} />
43
+ <GroupRolesOn item={item} />
44
+ </>
45
+
46
+ export const PageReadItemRoles = ({ queryAsyncAction=ReadAsyncAction}) => (
47
+ <PageReadItem queryAsyncAction={queryAsyncAction} SubPage={CombinedRoles}/>
48
+ )
49
+
50
+ export const PageReadItemSubgroups = ({ queryAsyncAction=ReadAsyncAction}) => (
51
+ <PageReadItem queryAsyncAction={queryAsyncAction} SubPage={GroupSubgroups}/>
52
+ )
53
+
54
+ export const PageReadItemMemberships = ({ queryAsyncAction=ReadAsyncAction}) => (
55
+ <PageReadItem queryAsyncAction={queryAsyncAction} SubPage={GroupMemberships}/>
56
+ )
57
+
@@ -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
+