@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,147 @@
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
+ * Link na update stránku / update route pro konkrétní entitu.
27
+ *
28
+ * Wrapper nad `BaseUpdateLink`. Nastavuje výchozí `uriPattern` a aplikuje RBAC
29
+ * přes `permissions`. Vše ostatní přeposílá do Base komponenty.
30
+ *
31
+ * @param {Object} params
32
+ * @param {string} [params.uriPattern=UpdateItemURI]
33
+ * URI pattern pro update route (typicky obsahuje `:id` nebo je již konkrétní URL dle routování).
34
+ * @param {Object} params.props
35
+ * Další props přeposílané do `BaseUpdateLink` (např. `children`, `className`,
36
+ * `preserveSearch`, `preserveHash`, atd.).
37
+ * @returns {JSX.Element}
38
+ */
39
+ export const UpdateLink = ({
40
+ uriPattern = UpdateItemURI,
41
+ ...props
42
+ }) => {
43
+ return <BaseUpdateLink
44
+ {...props}
45
+ uriPattern={uriPattern}
46
+ {...permissions}
47
+ />
48
+ }
49
+
50
+ /**
51
+ * Dialog pro editaci entity.
52
+ *
53
+ * Wrapper nad `BaseUpdateDialog`. Dodává výchozí editovatelný obsah (`DefaultContent`)
54
+ * a výchozí mutační akci (`mutationAsyncAction`) pro uložení změn. Aplikuje RBAC
55
+ * přes `permissions`.
56
+ *
57
+ * @param {Object} params
58
+ * @param {React.ComponentType<Object>} [params.DefaultContent=DefaultContent]
59
+ * Komponenta, která vykreslí editovatelný obsah dialogu (typicky MediumEditableContent).
60
+ * @param {Function} [params.mutationAsyncAction=mutationAsyncAction]
61
+ * Async action (thunk) pro uložení změn (např. UpdateAsyncAction). Použije se podle Base/General implementace.
62
+ * @param {Object} params.props
63
+ * Další props přeposílané do `BaseUpdateDialog` (např. `title`, `oklabel`, `cancellabel`,
64
+ * `item`, `onOk`, `onCancel`, atd.).
65
+ * @returns {JSX.Element}
66
+ */
67
+ export const UpdateDialog = ({
68
+ DefaultContent: DefaultContent_ = DefaultContent,
69
+ mutationAsyncAction: mutationAsyncAction_ = mutationAsyncAction,
70
+ ...props
71
+ }) => {
72
+ return (
73
+ <BaseUpdateDialog
74
+ {...props}
75
+ DefaultContent={DefaultContent_}
76
+ mutationAsyncAction={mutationAsyncAction_}
77
+ {...permissions}
78
+ />
79
+ );
80
+ };
81
+
82
+ /**
83
+ * Tlačítko, které otevře update dialog a provede uložení.
84
+ *
85
+ * Wrapper nad `BaseUpdateButton`. Dodává výchozí `DefaultContent`, výchozí `Dialog`,
86
+ * a výchozí `mutationAsyncAction`. Aplikuje RBAC přes `permissions`.
87
+ *
88
+ * @param {Object} params
89
+ * @param {React.ComponentType<Object>} [params.DefaultContent=DefaultContent]
90
+ * Komponenta editovatelného obsahu (typicky MediumEditableContent).
91
+ * @param {React.ComponentType<Object>} [params.Dialog=UpdateDialog]
92
+ * Dialog komponenta použitá pro editaci (volá `onOk(draft)` / `onCancel()`).
93
+ * @param {Function} [params.mutationAsyncAction=mutationAsyncAction]
94
+ * Async action (thunk) pro uložení změn (např. UpdateAsyncAction).
95
+ * @param {Object} params.props
96
+ * Další props přeposílané do `BaseUpdateButton` (např. `children`, `className`, `title`,
97
+ * `item`, `uriPattern`, `onOk`, `onCancel`, atd.).
98
+ * @returns {JSX.Element}
99
+ */
100
+ export const UpdateButton = ({
101
+ DefaultContent: DefaultContent_ = DefaultContent,
102
+ Dialog = UpdateDialog,
103
+ mutationAsyncAction: mutationAsyncAction_ = mutationAsyncAction,
104
+ ...props
105
+ }) => {
106
+ return (
107
+ <BaseUpdateButton
108
+ {...props}
109
+ DefaultContent={DefaultContent_}
110
+ Dialog={Dialog}
111
+ mutationAsyncAction={mutationAsyncAction_}
112
+ {...permissions}
113
+ />
114
+ );
115
+ };
116
+
117
+ /**
118
+ * “Page-level” update workflow (inline edit / celá stránka editace).
119
+ *
120
+ * Wrapper nad `BaseUpdateBody`. Typicky vykreslí editovatelný obsah (`DefaultContent`)
121
+ * a zajistí uložení přes `mutationAsyncAction` (dle Base/General implementace).
122
+ * Aplikuje RBAC přes `permissions`.
123
+ *
124
+ * @param {Object} params
125
+ * @param {React.ComponentType<Object>} [params.DefaultContent=DefaultContent]
126
+ * Komponenta editovatelného obsahu (typicky MediumEditableContent).
127
+ * @param {Function} [params.mutationAsyncAction=mutationAsyncAction]
128
+ * Async action (thunk) pro uložení změn (např. UpdateAsyncAction).
129
+ * @param {Object} params.props
130
+ * Další props přeposílané do `BaseUpdateBody` (např. `title`, `oklabel`, `cancellabel`,
131
+ * `item`, `onOk`, `onCancel`, `className`, atd.).
132
+ * @returns {JSX.Element}
133
+ */
134
+ export const UpdateBody = ({
135
+ DefaultContent: DefaultContent_ = DefaultContent,
136
+ mutationAsyncAction: mutationAsyncAction_ = mutationAsyncAction,
137
+ ...props
138
+ }) => {
139
+ return (
140
+ <BaseUpdateBody
141
+ {...props}
142
+ DefaultContent={DefaultContent_}
143
+ mutationAsyncAction={mutationAsyncAction_}
144
+ {...permissions}
145
+ />
146
+ );
147
+ };
@@ -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 "../../../../_template/src/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
+
@@ -0,0 +1,72 @@
1
+ import { PageVector } from "./PageVector"
2
+ import { PageUpdateItem } from "./PageUpdateItem"
3
+ import { PageCreateItem } from "./PageCreateItem"
4
+ import { PageReadItem } from "./PageReadItem"
5
+ import { PageDeleteItem } from "./PageDeleteItem"
6
+
7
+ import { DeleteItemURI, UpdateItemURI } from "../Components"
8
+ import { CreateURI, ReadItemURI, VectorItemsURI } from "../Components"
9
+
10
+ /**
11
+ * Definice segmentů rout pro Template stránky.
12
+ *
13
+ * Každý objekt v tomto poli popisuje jednu trasu (route) v aplikaci:
14
+ * - `path`: Stringová URL s parametrem `:id`, která identifikuje konkrétní instanci template entity.
15
+ * - `element`: React komponenta, která se má renderovat při shodě s cestou.
16
+ *
17
+ * Pokud komponenta stránky podporuje children jako render funkci,
18
+ * všechny children předané přes router budou dostávat objekt:
19
+ * - `template` — načtená entita podle `:id`
20
+ * - `onChange` — callback pro změnu hodnoty pole
21
+ * - `onBlur` — callback pro blur event (například při opuštění pole)
22
+ *
23
+ * @constant
24
+ * @type {Array<{ path: string, element: JSX.Element }>}
25
+ *
26
+ * @example
27
+ * // Tato route reaguje na URL jako "/template/123"
28
+ * {
29
+ * path: "/template/:id",
30
+ * element: <TemplatePage />
31
+ * }
32
+ *
33
+ * // Editační route: "/template/edit/123"
34
+ * {
35
+ * path: "/template/edit/:id",
36
+ * element: <TemplateEditPage />
37
+ * }
38
+ */
39
+ export const TemplateRouterSegments = [
40
+ {
41
+ path: CreateURI,
42
+ element: (<PageCreateItem />),
43
+ },
44
+ {
45
+ path: VectorItemsURI,
46
+ element: (<PageVector />),
47
+ },
48
+ {
49
+ path: ReadItemURI,
50
+ element: (<PageReadItem />),
51
+ },
52
+ {
53
+ path: UpdateItemURI,
54
+ element: (<PageUpdateItem />),
55
+ },
56
+ {
57
+ path: DeleteItemURI,
58
+ element: (<PageDeleteItem />),
59
+ },
60
+ // {
61
+ // path: "sad",
62
+ // element: (<PageReadItemRolesOn />)
63
+ // },
64
+ {
65
+ path: VectorItemsURI.replace("list", ":any"),
66
+ element: (<PageVector />),
67
+ },
68
+ {
69
+ path: ReadItemURI.replace("view", ":any"),
70
+ element: (<PageReadItem />),
71
+ }
72
+ ]
@@ -0,0 +1,2 @@
1
+ export * from './RouterSegment'
2
+
@@ -0,0 +1,32 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared";
2
+ import { LargeFragment } from "./Fragments";
3
+ import { createAsyncGraphQLAction2 } from "../../../../dynamic/src/Core/createAsyncGraphQLAction2";
4
+
5
+ const DeleteMutationStr = `
6
+ mutation roleTypeDelete(
7
+ $id: UUID! # null,
8
+ $lastchange: DateTime! # null
9
+ ) {
10
+ roleTypeDelete(
11
+ roleType: {
12
+ id: $id,
13
+ lastchange: $lastchange}
14
+ ) {
15
+ ...RoleTypeGQLModelDeleteError
16
+ }
17
+ }
18
+
19
+ fragment RoleTypeGQLModelDeleteError on RoleTypeGQLModelDeleteError {
20
+ __typename
21
+ Entity {
22
+ ...Large
23
+ }
24
+ msg
25
+ code
26
+ failed
27
+ location
28
+ input
29
+ }
30
+ `
31
+ const DeleteMutation = createQueryStrLazy(`${DeleteMutationStr}`, LargeFragment)
32
+ export const DeleteAsyncAction = createAsyncGraphQLAction2(DeleteMutation)