@hrbolek/uoisfrontend-template 0.6.0

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 (581) hide show
  1. package/index.html +104 -0
  2. package/package.json +24 -0
  3. package/src/Base/Components/Attribute.jsx +51 -0
  4. package/src/Base/Components/CardCapsule.jsx +353 -0
  5. package/src/Base/Components/Col.jsx +36 -0
  6. package/src/Base/Components/ConfirmEdit.jsx +61 -0
  7. package/src/Base/Components/CopyButton.jsx +33 -0
  8. package/src/Base/Components/LargeCard.jsx +22 -0
  9. package/src/Base/Components/Link.jsx +42 -0
  10. package/src/Base/Components/LiveEdit.jsx +64 -0
  11. package/src/Base/Components/MediumCard.jsx +30 -0
  12. package/src/Base/Components/MediumContent.jsx +74 -0
  13. package/src/Base/Components/MediumEditableContent.jsx +52 -0
  14. package/src/Base/Components/ProxyLink.jsx +132 -0
  15. package/src/Base/Components/Row.jsx +23 -0
  16. package/src/Base/Components/Table.jsx +275 -0
  17. package/src/Base/Components/index.js +14 -0
  18. package/src/Base/Components/style.js +278 -0
  19. package/src/Base/FormControls/Collapsible.jsx +46 -0
  20. package/src/Base/FormControls/Dialog.jsx +75 -0
  21. package/src/Base/FormControls/EntityLookup.jsx +175 -0
  22. package/src/Base/FormControls/Filter.jsx +834 -0
  23. package/src/Base/FormControls/Input.jsx +163 -0
  24. package/src/Base/FormControls/Label.jsx +40 -0
  25. package/src/Base/FormControls/Select.jsx +150 -0
  26. package/src/Base/FormControls/TextArea.jsx +86 -0
  27. package/src/Base/FormControls/index.js +8 -0
  28. package/src/Base/Helpers/AsyncStateIndicator.jsx +9 -0
  29. package/src/Base/Helpers/GQLEntityProvider.jsx +163 -0
  30. package/src/Base/Helpers/NavigationHistoryProvider.jsx +178 -0
  31. package/src/Base/Helpers/PlaceChild.jsx +13 -0
  32. package/src/Base/Helpers/generateQuery.js +508 -0
  33. package/src/Base/Helpers/index.js +5 -0
  34. package/src/Base/Mutations/Create.jsx +152 -0
  35. package/src/Base/Mutations/Delete.jsx +237 -0
  36. package/src/Base/Mutations/General.jsx +241 -0
  37. package/src/Base/Mutations/InteractiveMutations.jsx +32 -0
  38. package/src/Base/Mutations/Update.jsx +270 -0
  39. package/src/Base/Mutations/helpers.jsx +7 -0
  40. package/src/Base/Mutations/index.js +5 -0
  41. package/src/Base/Pages/Page.jsx +235 -0
  42. package/src/Base/Pages/PageCatch.jsx +235 -0
  43. package/src/Base/Pages/PageNavbar.jsx +70 -0
  44. package/src/Base/Pages/PageVector.jsx +229 -0
  45. package/src/Base/Pages/RouterSegment.jsx +66 -0
  46. package/src/Base/Pages/index.js +5 -0
  47. package/src/Base/Queries/DeleteAsyncAction.jsx +32 -0
  48. package/src/Base/Queries/Fragments.jsx +101 -0
  49. package/src/Base/Queries/InsertAsyncAction.jsx +40 -0
  50. package/src/Base/Queries/ReadAsyncAction.jsx +44 -0
  51. package/src/Base/Queries/ReadPageAsyncAction.jsx +16 -0
  52. package/src/Base/Queries/SearchAsyncAction.jsx +16 -0
  53. package/src/Base/Queries/UpdateAsyncAction.jsx +40 -0
  54. package/src/Base/Queries/index.js +6 -0
  55. package/src/Base/Scalars/ScalarAttribute.jsx +49 -0
  56. package/src/Base/Scalars/index.js +1 -0
  57. package/src/Base/Vectors/VectorAttribute.jsx +137 -0
  58. package/src/Base/Vectors/index.js +1 -0
  59. package/src/Base/index.js +32 -0
  60. package/src/GroupGQLModel/Components/CUDButton.jsx +128 -0
  61. package/src/GroupGQLModel/Components/CardCapsule.jsx +44 -0
  62. package/src/GroupGQLModel/Components/Children.jsx +31 -0
  63. package/src/GroupGQLModel/Components/ConfirmEdit.jsx +61 -0
  64. package/src/GroupGQLModel/Components/Filter.jsx +14 -0
  65. package/src/GroupGQLModel/Components/LargeCard.jsx +68 -0
  66. package/src/GroupGQLModel/Components/Link.jsx +54 -0
  67. package/src/GroupGQLModel/Components/LiveEdit.jsx +111 -0
  68. package/src/GroupGQLModel/Components/MediumCard.jsx +51 -0
  69. package/src/GroupGQLModel/Components/MediumContent.jsx +56 -0
  70. package/src/GroupGQLModel/Components/MediumEditableContent.jsx +52 -0
  71. package/src/GroupGQLModel/Components/Table.jsx +70 -0
  72. package/src/GroupGQLModel/Components/index.js +14 -0
  73. package/src/GroupGQLModel/Mutations/AddMembership.jsx +156 -0
  74. package/src/GroupGQLModel/Mutations/Create.jsx +67 -0
  75. package/src/GroupGQLModel/Mutations/Delete.jsx +81 -0
  76. package/src/GroupGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  77. package/src/GroupGQLModel/Mutations/Update.jsx +74 -0
  78. package/src/GroupGQLModel/Pages/PageBase.jsx +56 -0
  79. package/src/GroupGQLModel/Pages/PageCreateItem.jsx +27 -0
  80. package/src/GroupGQLModel/Pages/PageDeleteItem.jsx +16 -0
  81. package/src/GroupGQLModel/Pages/PageNavbar.jsx +264 -0
  82. package/src/GroupGQLModel/Pages/PageReadItem.jsx +12 -0
  83. package/src/GroupGQLModel/Pages/PageReadItemEx.jsx +57 -0
  84. package/src/GroupGQLModel/Pages/PageUpdateItem.jsx +14 -0
  85. package/src/GroupGQLModel/Pages/PageVector.jsx +80 -0
  86. package/src/GroupGQLModel/Pages/RouterSegment.jsx +85 -0
  87. package/src/GroupGQLModel/Pages/index.js +2 -0
  88. package/src/GroupGQLModel/Queries/DeleteAsyncAction.jsx +22 -0
  89. package/src/GroupGQLModel/Queries/Fragments.jsx +129 -0
  90. package/src/GroupGQLModel/Queries/InsertAsyncAction.jsx +43 -0
  91. package/src/GroupGQLModel/Queries/ReadAsyncAction.jsx +44 -0
  92. package/src/GroupGQLModel/Queries/ReadPageAsyncAction.jsx +18 -0
  93. package/src/GroupGQLModel/Queries/SearchAsyncAction.jsx +15 -0
  94. package/src/GroupGQLModel/Queries/UpdateAsyncAction.jsx +56 -0
  95. package/src/GroupGQLModel/Queries/index.js +6 -0
  96. package/src/GroupGQLModel/Scalars/GroupRoles.jsx +69 -0
  97. package/src/GroupGQLModel/Scalars/MasterGroup.jsx +15 -0
  98. package/src/GroupGQLModel/Scalars/RBACObject.jsx +233 -0
  99. package/src/GroupGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  100. package/src/GroupGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  101. package/src/GroupGQLModel/Scalars/index.js +1 -0
  102. package/src/GroupGQLModel/Vectors/GroupMemberships.jsx +115 -0
  103. package/src/GroupGQLModel/Vectors/GroupRoles.jsx +112 -0
  104. package/src/GroupGQLModel/Vectors/GroupRolesOn.jsx +113 -0
  105. package/src/GroupGQLModel/Vectors/GroupSubgroups.jsx +97 -0
  106. package/src/GroupGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  107. package/src/GroupGQLModel/Vectors/VectorAttribute.jsx +56 -0
  108. package/src/GroupGQLModel/Vectors/index.js +1 -0
  109. package/src/GroupGQLModel/index.js +7 -0
  110. package/src/GroupTypeGQLModel/Components/CUDButton.jsx +128 -0
  111. package/src/GroupTypeGQLModel/Components/CardCapsule.jsx +43 -0
  112. package/src/GroupTypeGQLModel/Components/Children.jsx +31 -0
  113. package/src/GroupTypeGQLModel/Components/ConfirmEdit.jsx +61 -0
  114. package/src/GroupTypeGQLModel/Components/Filter.jsx +14 -0
  115. package/src/GroupTypeGQLModel/Components/LargeCard.jsx +49 -0
  116. package/src/GroupTypeGQLModel/Components/Link.jsx +53 -0
  117. package/src/GroupTypeGQLModel/Components/LiveEdit.jsx +111 -0
  118. package/src/GroupTypeGQLModel/Components/MediumCard.jsx +39 -0
  119. package/src/GroupTypeGQLModel/Components/MediumContent.jsx +97 -0
  120. package/src/GroupTypeGQLModel/Components/MediumEditableContent.jsx +35 -0
  121. package/src/GroupTypeGQLModel/Components/Table.jsx +7 -0
  122. package/src/GroupTypeGQLModel/Components/index.js +14 -0
  123. package/src/GroupTypeGQLModel/Mutations/Create.jsx +67 -0
  124. package/src/GroupTypeGQLModel/Mutations/Delete.jsx +80 -0
  125. package/src/GroupTypeGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  126. package/src/GroupTypeGQLModel/Mutations/Update.jsx +74 -0
  127. package/src/GroupTypeGQLModel/Pages/Page.jsx +3 -0
  128. package/src/GroupTypeGQLModel/Pages/PageBase.jsx +26 -0
  129. package/src/GroupTypeGQLModel/Pages/PageCreateItem.jsx +21 -0
  130. package/src/GroupTypeGQLModel/Pages/PageDeleteItem.jsx +13 -0
  131. package/src/GroupTypeGQLModel/Pages/PageNavbar.jsx +148 -0
  132. package/src/GroupTypeGQLModel/Pages/PageReadItem.jsx +28 -0
  133. package/src/GroupTypeGQLModel/Pages/PageUpdateItem.jsx +25 -0
  134. package/src/GroupTypeGQLModel/Pages/PageVector.jsx +83 -0
  135. package/src/GroupTypeGQLModel/Pages/RouterSegment.jsx +68 -0
  136. package/src/GroupTypeGQLModel/Pages/index.js +10 -0
  137. package/src/GroupTypeGQLModel/Queries/DeleteAsyncAction.jsx +27 -0
  138. package/src/GroupTypeGQLModel/Queries/Fragments.jsx +96 -0
  139. package/src/GroupTypeGQLModel/Queries/InsertAsyncAction.jsx +41 -0
  140. package/src/GroupTypeGQLModel/Queries/ReadAsyncAction.jsx +45 -0
  141. package/src/GroupTypeGQLModel/Queries/ReadPageAsyncAction.jsx +14 -0
  142. package/src/GroupTypeGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  143. package/src/GroupTypeGQLModel/Queries/UpdateAsyncAction.jsx +42 -0
  144. package/src/GroupTypeGQLModel/Queries/index.js +6 -0
  145. package/src/GroupTypeGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  146. package/src/GroupTypeGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  147. package/src/GroupTypeGQLModel/Scalars/index.js +1 -0
  148. package/src/GroupTypeGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  149. package/src/GroupTypeGQLModel/Vectors/VectorAttribute.jsx +56 -0
  150. package/src/GroupTypeGQLModel/Vectors/index.js +1 -0
  151. package/src/GroupTypeGQLModel/index.js +6 -0
  152. package/src/MembershipGQLModel/Components/CUDButton.jsx +128 -0
  153. package/src/MembershipGQLModel/Components/CardCapsule.jsx +43 -0
  154. package/src/MembershipGQLModel/Components/Children.jsx +31 -0
  155. package/src/MembershipGQLModel/Components/ConfirmEdit.jsx +61 -0
  156. package/src/MembershipGQLModel/Components/Filter.jsx +14 -0
  157. package/src/MembershipGQLModel/Components/LargeCard.jsx +49 -0
  158. package/src/MembershipGQLModel/Components/Link.jsx +54 -0
  159. package/src/MembershipGQLModel/Components/LiveEdit.jsx +111 -0
  160. package/src/MembershipGQLModel/Components/MediumCard.jsx +39 -0
  161. package/src/MembershipGQLModel/Components/MediumContent.jsx +97 -0
  162. package/src/MembershipGQLModel/Components/MediumEditableContent.jsx +35 -0
  163. package/src/MembershipGQLModel/Components/Table.jsx +7 -0
  164. package/src/MembershipGQLModel/Components/index.js +14 -0
  165. package/src/MembershipGQLModel/Mutations/Create.jsx +67 -0
  166. package/src/MembershipGQLModel/Mutations/Delete.jsx +80 -0
  167. package/src/MembershipGQLModel/Mutations/InteractiveMutations.jsx +31 -0
  168. package/src/MembershipGQLModel/Mutations/Update.jsx +74 -0
  169. package/src/MembershipGQLModel/Mutations/helpers.jsx +7 -0
  170. package/src/MembershipGQLModel/Pages/PageBase.jsx +57 -0
  171. package/src/MembershipGQLModel/Pages/PageCreateItem.jsx +28 -0
  172. package/src/MembershipGQLModel/Pages/PageDeleteItem.jsx +16 -0
  173. package/src/MembershipGQLModel/Pages/PageNavbar.jsx +110 -0
  174. package/src/MembershipGQLModel/Pages/PageReadItem.jsx +11 -0
  175. package/src/MembershipGQLModel/Pages/PageReadItemEx.jsx +42 -0
  176. package/src/MembershipGQLModel/Pages/PageUpdateItem.jsx +14 -0
  177. package/src/MembershipGQLModel/Pages/PageVector.jsx +80 -0
  178. package/src/MembershipGQLModel/Pages/RouterSegment.jsx +73 -0
  179. package/src/MembershipGQLModel/Pages/index.js +2 -0
  180. package/src/MembershipGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  181. package/src/MembershipGQLModel/Queries/Fragments.jsx +113 -0
  182. package/src/MembershipGQLModel/Queries/InsertAsyncAction.jsx +38 -0
  183. package/src/MembershipGQLModel/Queries/ReadAsyncAction.jsx +44 -0
  184. package/src/MembershipGQLModel/Queries/ReadPageAsyncAction.jsx +13 -0
  185. package/src/MembershipGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  186. package/src/MembershipGQLModel/Queries/UpdateAsyncAction.jsx +40 -0
  187. package/src/MembershipGQLModel/Queries/index.js +6 -0
  188. package/src/MembershipGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  189. package/src/MembershipGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  190. package/src/MembershipGQLModel/Scalars/index.js +1 -0
  191. package/src/MembershipGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  192. package/src/MembershipGQLModel/Vectors/VectorAttribute.jsx +56 -0
  193. package/src/MembershipGQLModel/Vectors/index.js +1 -0
  194. package/src/MembershipGQLModel/WhatToDo.md +44 -0
  195. package/src/MembershipGQLModel/index.js +6 -0
  196. package/src/RBACGQLModel/Components/CardCapsule.jsx +43 -0
  197. package/src/RBACGQLModel/Components/Children.jsx +31 -0
  198. package/src/RBACGQLModel/Components/ConfirmEdit.jsx +61 -0
  199. package/src/RBACGQLModel/Components/Filter.jsx +14 -0
  200. package/src/RBACGQLModel/Components/LargeCard.jsx +50 -0
  201. package/src/RBACGQLModel/Components/Link.jsx +54 -0
  202. package/src/RBACGQLModel/Components/LiveEdit.jsx +111 -0
  203. package/src/RBACGQLModel/Components/MediumCard.jsx +39 -0
  204. package/src/RBACGQLModel/Components/MediumContent.jsx +96 -0
  205. package/src/RBACGQLModel/Components/MediumEditableContent.jsx +212 -0
  206. package/src/RBACGQLModel/Components/Table.jsx +7 -0
  207. package/src/RBACGQLModel/Components/index.js +13 -0
  208. package/src/RBACGQLModel/Mutations/Create.jsx +202 -0
  209. package/src/RBACGQLModel/Mutations/Delete.jsx +173 -0
  210. package/src/RBACGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  211. package/src/RBACGQLModel/Mutations/Update.jsx +147 -0
  212. package/src/RBACGQLModel/Mutations/helpers.jsx +7 -0
  213. package/src/RBACGQLModel/Pages/PageBase.jsx +56 -0
  214. package/src/RBACGQLModel/Pages/PageCreateItem.jsx +28 -0
  215. package/src/RBACGQLModel/Pages/PageDeleteItem.jsx +16 -0
  216. package/src/RBACGQLModel/Pages/PageNavbar.jsx +160 -0
  217. package/src/RBACGQLModel/Pages/PageReadItem.jsx +11 -0
  218. package/src/RBACGQLModel/Pages/PageReadItemEx.jsx +42 -0
  219. package/src/RBACGQLModel/Pages/PageUpdateItem.jsx +14 -0
  220. package/src/RBACGQLModel/Pages/PageVector.jsx +80 -0
  221. package/src/RBACGQLModel/Pages/RouterSegment.jsx +72 -0
  222. package/src/RBACGQLModel/Pages/index.js +2 -0
  223. package/src/RBACGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  224. package/src/RBACGQLModel/Queries/Fragments.jsx +101 -0
  225. package/src/RBACGQLModel/Queries/InsertAsyncAction.jsx +40 -0
  226. package/src/RBACGQLModel/Queries/ReadAsyncAction.jsx +44 -0
  227. package/src/RBACGQLModel/Queries/ReadPageAsyncAction.jsx +13 -0
  228. package/src/RBACGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  229. package/src/RBACGQLModel/Queries/UpdateAsyncAction.jsx +40 -0
  230. package/src/RBACGQLModel/Queries/index.js +6 -0
  231. package/src/RBACGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  232. package/src/RBACGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  233. package/src/RBACGQLModel/Scalars/index.js +1 -0
  234. package/src/RBACGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  235. package/src/RBACGQLModel/Vectors/VectorAttribute.jsx +56 -0
  236. package/src/RBACGQLModel/Vectors/index.js +1 -0
  237. package/src/RBACGQLModel/WhatToDo.md +44 -0
  238. package/src/RBACGQLModel/index.js +71 -0
  239. package/src/RoleGQLModel/Components/CUDButton.jsx +128 -0
  240. package/src/RoleGQLModel/Components/CardCapsule.jsx +43 -0
  241. package/src/RoleGQLModel/Components/Children.jsx +31 -0
  242. package/src/RoleGQLModel/Components/ConfirmEdit.jsx +61 -0
  243. package/src/RoleGQLModel/Components/Filter.jsx +14 -0
  244. package/src/RoleGQLModel/Components/LargeCard.jsx +49 -0
  245. package/src/RoleGQLModel/Components/Link.jsx +55 -0
  246. package/src/RoleGQLModel/Components/LiveEdit.jsx +111 -0
  247. package/src/RoleGQLModel/Components/MediumCard.jsx +39 -0
  248. package/src/RoleGQLModel/Components/MediumContent.jsx +97 -0
  249. package/src/RoleGQLModel/Components/MediumEditableContent.jsx +72 -0
  250. package/src/RoleGQLModel/Components/RBACObject.jsx +22 -0
  251. package/src/RoleGQLModel/Components/Table.jsx +82 -0
  252. package/src/RoleGQLModel/Components/index.js +14 -0
  253. package/src/RoleGQLModel/Mutations/AddRoleOnGroup.jsx +117 -0
  254. package/src/RoleGQLModel/Mutations/Create.jsx +67 -0
  255. package/src/RoleGQLModel/Mutations/Delete.jsx +80 -0
  256. package/src/RoleGQLModel/Mutations/InteractiveMutations.jsx +31 -0
  257. package/src/RoleGQLModel/Mutations/Update.jsx +74 -0
  258. package/src/RoleGQLModel/Pages/Page.jsx +3 -0
  259. package/src/RoleGQLModel/Pages/PageBase.jsx +26 -0
  260. package/src/RoleGQLModel/Pages/PageContent.jsx +31 -0
  261. package/src/RoleGQLModel/Pages/PageCreateItem.jsx +21 -0
  262. package/src/RoleGQLModel/Pages/PageDeleteItem.jsx +13 -0
  263. package/src/RoleGQLModel/Pages/PageNavbar.jsx +161 -0
  264. package/src/RoleGQLModel/Pages/PageReadItem.jsx +28 -0
  265. package/src/RoleGQLModel/Pages/PageUpdateItem.jsx +25 -0
  266. package/src/RoleGQLModel/Pages/PageVector.jsx +83 -0
  267. package/src/RoleGQLModel/Pages/RouterSegment.jsx +69 -0
  268. package/src/RoleGQLModel/Pages/index.js +10 -0
  269. package/src/RoleGQLModel/Queries/DeleteAsyncAction.jsx +22 -0
  270. package/src/RoleGQLModel/Queries/Fragments.jsx +123 -0
  271. package/src/RoleGQLModel/Queries/InsertAsyncAction.jsx +45 -0
  272. package/src/RoleGQLModel/Queries/ReadAsyncAction.jsx +45 -0
  273. package/src/RoleGQLModel/Queries/ReadPageAsyncAction.jsx +13 -0
  274. package/src/RoleGQLModel/Queries/UpdateAsyncAction.jsx +35 -0
  275. package/src/RoleGQLModel/Queries/index.js +6 -0
  276. package/src/RoleGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  277. package/src/RoleGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  278. package/src/RoleGQLModel/Scalars/index.js +1 -0
  279. package/src/RoleGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  280. package/src/RoleGQLModel/Vectors/VectorAttribute.jsx +56 -0
  281. package/src/RoleGQLModel/Vectors/index.js +1 -0
  282. package/src/RoleGQLModel/index.js +6 -0
  283. package/src/RoleTypeGQLModel/Components/CUDButton.jsx +128 -0
  284. package/src/RoleTypeGQLModel/Components/CardCapsule.jsx +43 -0
  285. package/src/RoleTypeGQLModel/Components/Children.jsx +31 -0
  286. package/src/RoleTypeGQLModel/Components/ConfirmEdit.jsx +61 -0
  287. package/src/RoleTypeGQLModel/Components/Filter.jsx +14 -0
  288. package/src/RoleTypeGQLModel/Components/LargeCard.jsx +49 -0
  289. package/src/RoleTypeGQLModel/Components/Link.jsx +55 -0
  290. package/src/RoleTypeGQLModel/Components/LiveEdit.jsx +111 -0
  291. package/src/RoleTypeGQLModel/Components/MediumCard.jsx +39 -0
  292. package/src/RoleTypeGQLModel/Components/MediumContent.jsx +97 -0
  293. package/src/RoleTypeGQLModel/Components/MediumEditableContent.jsx +35 -0
  294. package/src/RoleTypeGQLModel/Components/Table.jsx +7 -0
  295. package/src/RoleTypeGQLModel/Components/index.js +14 -0
  296. package/src/RoleTypeGQLModel/Mutations/Create.jsx +67 -0
  297. package/src/RoleTypeGQLModel/Mutations/Delete.jsx +80 -0
  298. package/src/RoleTypeGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  299. package/src/RoleTypeGQLModel/Mutations/Update.jsx +74 -0
  300. package/src/RoleTypeGQLModel/Pages/Page.jsx +3 -0
  301. package/src/RoleTypeGQLModel/Pages/PageBase.jsx +56 -0
  302. package/src/RoleTypeGQLModel/Pages/PageCreateItem.jsx +27 -0
  303. package/src/RoleTypeGQLModel/Pages/PageDeleteItem.jsx +16 -0
  304. package/src/RoleTypeGQLModel/Pages/PageNavbar.jsx +148 -0
  305. package/src/RoleTypeGQLModel/Pages/PageReadItem.jsx +11 -0
  306. package/src/RoleTypeGQLModel/Pages/PageUpdateItem.jsx +14 -0
  307. package/src/RoleTypeGQLModel/Pages/PageVector.jsx +79 -0
  308. package/src/RoleTypeGQLModel/Pages/RouterSegment.jsx +69 -0
  309. package/src/RoleTypeGQLModel/Pages/index.js +10 -0
  310. package/src/RoleTypeGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  311. package/src/RoleTypeGQLModel/Queries/Fragments.jsx +103 -0
  312. package/src/RoleTypeGQLModel/Queries/InsertAsyncAction.jsx +40 -0
  313. package/src/RoleTypeGQLModel/Queries/ReadAsyncAction.jsx +44 -0
  314. package/src/RoleTypeGQLModel/Queries/ReadPageAsyncAction.jsx +13 -0
  315. package/src/RoleTypeGQLModel/Queries/SearchAsyncAction.jsx +29 -0
  316. package/src/RoleTypeGQLModel/Queries/UpdateAsyncAction.jsx +40 -0
  317. package/src/RoleTypeGQLModel/Queries/index.js +6 -0
  318. package/src/RoleTypeGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  319. package/src/RoleTypeGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  320. package/src/RoleTypeGQLModel/Scalars/index.js +1 -0
  321. package/src/RoleTypeGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  322. package/src/RoleTypeGQLModel/Vectors/VectorAttribute.jsx +56 -0
  323. package/src/RoleTypeGQLModel/Vectors/index.js +1 -0
  324. package/src/RoleTypeGQLModel/index.js +6 -0
  325. package/src/StateGQLModel/Components/CardCapsule.jsx +43 -0
  326. package/src/StateGQLModel/Components/Children.jsx +31 -0
  327. package/src/StateGQLModel/Components/ConfirmEdit.jsx +61 -0
  328. package/src/StateGQLModel/Components/Filter.jsx +14 -0
  329. package/src/StateGQLModel/Components/LargeCard.jsx +50 -0
  330. package/src/StateGQLModel/Components/Link.jsx +54 -0
  331. package/src/StateGQLModel/Components/LiveEdit.jsx +111 -0
  332. package/src/StateGQLModel/Components/MediumCard.jsx +39 -0
  333. package/src/StateGQLModel/Components/MediumContent.jsx +96 -0
  334. package/src/StateGQLModel/Components/MediumEditableContent.jsx +36 -0
  335. package/src/StateGQLModel/Components/Table.jsx +7 -0
  336. package/src/StateGQLModel/Components/index.js +13 -0
  337. package/src/StateGQLModel/Mutations/Create.jsx +79 -0
  338. package/src/StateGQLModel/Mutations/Delete.jsx +87 -0
  339. package/src/StateGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  340. package/src/StateGQLModel/Mutations/Update.jsx +76 -0
  341. package/src/StateGQLModel/Mutations/helpers.jsx +7 -0
  342. package/src/StateGQLModel/Pages/PageBase.jsx +56 -0
  343. package/src/StateGQLModel/Pages/PageCreateItem.jsx +28 -0
  344. package/src/StateGQLModel/Pages/PageDeleteItem.jsx +16 -0
  345. package/src/StateGQLModel/Pages/PageNavbar.jsx +160 -0
  346. package/src/StateGQLModel/Pages/PageReadItem.jsx +11 -0
  347. package/src/StateGQLModel/Pages/PageReadItemEx.jsx +42 -0
  348. package/src/StateGQLModel/Pages/PageUpdateItem.jsx +14 -0
  349. package/src/StateGQLModel/Pages/PageVector.jsx +80 -0
  350. package/src/StateGQLModel/Pages/RouterSegment.jsx +72 -0
  351. package/src/StateGQLModel/Pages/index.js +2 -0
  352. package/src/StateGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  353. package/src/StateGQLModel/Queries/Fragments.jsx +109 -0
  354. package/src/StateGQLModel/Queries/InsertAsyncAction.jsx +104 -0
  355. package/src/StateGQLModel/Queries/ReadAsyncAction.jsx +48 -0
  356. package/src/StateGQLModel/Queries/ReadPageAsyncAction.jsx +23 -0
  357. package/src/StateGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  358. package/src/StateGQLModel/Queries/UpdateAsyncAction.jsx +106 -0
  359. package/src/StateGQLModel/Queries/index.js +6 -0
  360. package/src/StateGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  361. package/src/StateGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  362. package/src/StateGQLModel/Scalars/index.js +1 -0
  363. package/src/StateGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  364. package/src/StateGQLModel/Vectors/VectorAttribute.jsx +56 -0
  365. package/src/StateGQLModel/Vectors/index.js +1 -0
  366. package/src/StateGQLModel/index.js +71 -0
  367. package/src/StateMachineGQLModel/Components/CardCapsule.jsx +43 -0
  368. package/src/StateMachineGQLModel/Components/Children.jsx +31 -0
  369. package/src/StateMachineGQLModel/Components/ConfirmEdit.jsx +61 -0
  370. package/src/StateMachineGQLModel/Components/Filter.jsx +14 -0
  371. package/src/StateMachineGQLModel/Components/LargeCard.jsx +50 -0
  372. package/src/StateMachineGQLModel/Components/Link.jsx +54 -0
  373. package/src/StateMachineGQLModel/Components/LiveEdit.jsx +111 -0
  374. package/src/StateMachineGQLModel/Components/MediumCard.jsx +39 -0
  375. package/src/StateMachineGQLModel/Components/MediumContent.jsx +96 -0
  376. package/src/StateMachineGQLModel/Components/MediumEditableContent.jsx +989 -0
  377. package/src/StateMachineGQLModel/Components/Table.jsx +7 -0
  378. package/src/StateMachineGQLModel/Components/index.js +13 -0
  379. package/src/StateMachineGQLModel/Mutations/Create.jsx +79 -0
  380. package/src/StateMachineGQLModel/Mutations/Delete.jsx +80 -0
  381. package/src/StateMachineGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  382. package/src/StateMachineGQLModel/Mutations/Update.jsx +74 -0
  383. package/src/StateMachineGQLModel/Mutations/helpers.jsx +7 -0
  384. package/src/StateMachineGQLModel/Pages/PageBase.jsx +56 -0
  385. package/src/StateMachineGQLModel/Pages/PageCreateItem.jsx +28 -0
  386. package/src/StateMachineGQLModel/Pages/PageDeleteItem.jsx +16 -0
  387. package/src/StateMachineGQLModel/Pages/PageNavbar.jsx +160 -0
  388. package/src/StateMachineGQLModel/Pages/PageReadItem.jsx +11 -0
  389. package/src/StateMachineGQLModel/Pages/PageReadItemEx.jsx +42 -0
  390. package/src/StateMachineGQLModel/Pages/PageUpdateItem.jsx +14 -0
  391. package/src/StateMachineGQLModel/Pages/PageVector.jsx +80 -0
  392. package/src/StateMachineGQLModel/Pages/RouterSegment.jsx +72 -0
  393. package/src/StateMachineGQLModel/Pages/index.js +2 -0
  394. package/src/StateMachineGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  395. package/src/StateMachineGQLModel/Queries/Fragments.jsx +148 -0
  396. package/src/StateMachineGQLModel/Queries/InsertAsyncAction.jsx +44 -0
  397. package/src/StateMachineGQLModel/Queries/ReadAsyncAction.jsx +48 -0
  398. package/src/StateMachineGQLModel/Queries/ReadPageAsyncAction.jsx +23 -0
  399. package/src/StateMachineGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  400. package/src/StateMachineGQLModel/Queries/UpdateAsyncAction.jsx +40 -0
  401. package/src/StateMachineGQLModel/Queries/index.js +6 -0
  402. package/src/StateMachineGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  403. package/src/StateMachineGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  404. package/src/StateMachineGQLModel/Scalars/index.js +1 -0
  405. package/src/StateMachineGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  406. package/src/StateMachineGQLModel/Vectors/VectorAttribute.jsx +56 -0
  407. package/src/StateMachineGQLModel/Vectors/index.js +1 -0
  408. package/src/StateMachineGQLModel/WhatToDo.md +44 -0
  409. package/src/StateMachineGQLModel/index.js +71 -0
  410. package/src/StateTransitionGQLModel/Components/CardCapsule.jsx +43 -0
  411. package/src/StateTransitionGQLModel/Components/Children.jsx +31 -0
  412. package/src/StateTransitionGQLModel/Components/ConfirmEdit.jsx +61 -0
  413. package/src/StateTransitionGQLModel/Components/Filter.jsx +14 -0
  414. package/src/StateTransitionGQLModel/Components/LargeCard.jsx +50 -0
  415. package/src/StateTransitionGQLModel/Components/Link.jsx +54 -0
  416. package/src/StateTransitionGQLModel/Components/LiveEdit.jsx +111 -0
  417. package/src/StateTransitionGQLModel/Components/MediumCard.jsx +39 -0
  418. package/src/StateTransitionGQLModel/Components/MediumContent.jsx +96 -0
  419. package/src/StateTransitionGQLModel/Components/MediumEditableContent.jsx +35 -0
  420. package/src/StateTransitionGQLModel/Components/Table.jsx +7 -0
  421. package/src/StateTransitionGQLModel/Components/index.js +13 -0
  422. package/src/StateTransitionGQLModel/Mutations/Create.jsx +79 -0
  423. package/src/StateTransitionGQLModel/Mutations/Delete.jsx +80 -0
  424. package/src/StateTransitionGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  425. package/src/StateTransitionGQLModel/Mutations/Update.jsx +75 -0
  426. package/src/StateTransitionGQLModel/Mutations/helpers.jsx +7 -0
  427. package/src/StateTransitionGQLModel/Pages/PageBase.jsx +56 -0
  428. package/src/StateTransitionGQLModel/Pages/PageCreateItem.jsx +28 -0
  429. package/src/StateTransitionGQLModel/Pages/PageDeleteItem.jsx +16 -0
  430. package/src/StateTransitionGQLModel/Pages/PageNavbar.jsx +160 -0
  431. package/src/StateTransitionGQLModel/Pages/PageReadItem.jsx +11 -0
  432. package/src/StateTransitionGQLModel/Pages/PageReadItemEx.jsx +42 -0
  433. package/src/StateTransitionGQLModel/Pages/PageUpdateItem.jsx +14 -0
  434. package/src/StateTransitionGQLModel/Pages/PageVector.jsx +80 -0
  435. package/src/StateTransitionGQLModel/Pages/RouterSegment.jsx +72 -0
  436. package/src/StateTransitionGQLModel/Pages/index.js +2 -0
  437. package/src/StateTransitionGQLModel/Queries/DeleteAsyncAction.jsx +32 -0
  438. package/src/StateTransitionGQLModel/Queries/Fragments.jsx +150 -0
  439. package/src/StateTransitionGQLModel/Queries/InsertAsyncAction.jsx +107 -0
  440. package/src/StateTransitionGQLModel/Queries/ReadAsyncAction.jsx +48 -0
  441. package/src/StateTransitionGQLModel/Queries/ReadPageAsyncAction.jsx +23 -0
  442. package/src/StateTransitionGQLModel/Queries/SearchAsyncAction.jsx +16 -0
  443. package/src/StateTransitionGQLModel/Queries/UpdateAsyncAction.jsx +109 -0
  444. package/src/StateTransitionGQLModel/Queries/index.js +6 -0
  445. package/src/StateTransitionGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  446. package/src/StateTransitionGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  447. package/src/StateTransitionGQLModel/Scalars/index.js +1 -0
  448. package/src/StateTransitionGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  449. package/src/StateTransitionGQLModel/Vectors/VectorAttribute.jsx +56 -0
  450. package/src/StateTransitionGQLModel/Vectors/index.js +1 -0
  451. package/src/StateTransitionGQLModel/WhatToDo.md +44 -0
  452. package/src/StateTransitionGQLModel/index.js +71 -0
  453. package/src/Template/Attributes/TemplateTrivialAttribute.jsx +21 -0
  454. package/src/Template/Attributes/index.js +1 -0
  455. package/src/Template/Components/CUDButton.jsx +128 -0
  456. package/src/Template/Components/CardCapsule.jsx +43 -0
  457. package/src/Template/Components/Children.jsx +31 -0
  458. package/src/Template/Components/ConfirmEdit.jsx +61 -0
  459. package/src/Template/Components/LargeCard.jsx +48 -0
  460. package/src/Template/Components/Link.jsx +41 -0
  461. package/src/Template/Components/LiveEdit.jsx +111 -0
  462. package/src/Template/Components/MediumCard.jsx +39 -0
  463. package/src/Template/Components/MediumContent.jsx +97 -0
  464. package/src/Template/Components/MediumEditableContent.jsx +36 -0
  465. package/src/Template/Components/Table.jsx +7 -0
  466. package/src/Template/Components/index.js +14 -0
  467. package/src/Template/Pages/Page.jsx +28 -0
  468. package/src/Template/Pages/PageCapsule.jsx +13 -0
  469. package/src/Template/Pages/PageContent.jsx +34 -0
  470. package/src/Template/Pages/PageEdit.jsx +17 -0
  471. package/src/Template/Pages/PageNavbar.jsx +110 -0
  472. package/src/Template/Pages/RouterSegment.jsx +52 -0
  473. package/src/Template/Pages/VectorPage.jsx +133 -0
  474. package/src/Template/Pages/index.js +6 -0
  475. package/src/Template/Queries/DeleteAsyncAction.jsx +22 -0
  476. package/src/Template/Queries/Fragments.jsx +92 -0
  477. package/src/Template/Queries/InsertAsyncAction.jsx +22 -0
  478. package/src/Template/Queries/ReadAsyncAction.jsx +45 -0
  479. package/src/Template/Queries/ReadPageAsyncAction.jsx +13 -0
  480. package/src/Template/Queries/UpdateAsyncAction.jsx +76 -0
  481. package/src/Template/Queries/index.js +6 -0
  482. package/src/Template/Scalars/ScalarAttribute.jsx +54 -0
  483. package/src/Template/Scalars/TemplateScalarAttribute.jsx +88 -0
  484. package/src/Template/Scalars/index.js +1 -0
  485. package/src/Template/Vectors/TemplateVectorsAttribute.jsx +326 -0
  486. package/src/Template/Vectors/VectorAttribute.jsx +56 -0
  487. package/src/Template/Vectors/index.js +1 -0
  488. package/src/Template/index.js +71 -0
  489. package/src/UserGQLModel/Components/CUDButton.jsx +128 -0
  490. package/src/UserGQLModel/Components/CardCapsule.jsx +43 -0
  491. package/src/UserGQLModel/Components/ConfirmEdit.jsx +61 -0
  492. package/src/UserGQLModel/Components/Filter.jsx +15 -0
  493. package/src/UserGQLModel/Components/LargeCard.jsx +82 -0
  494. package/src/UserGQLModel/Components/Link.jsx +54 -0
  495. package/src/UserGQLModel/Components/LiveEdit.jsx +111 -0
  496. package/src/UserGQLModel/Components/MediumCard.jsx +40 -0
  497. package/src/UserGQLModel/Components/MediumContent.jsx +43 -0
  498. package/src/UserGQLModel/Components/MediumEditableContent.jsx +57 -0
  499. package/src/UserGQLModel/Components/Table.jsx +7 -0
  500. package/src/UserGQLModel/Components/index.js +13 -0
  501. package/src/UserGQLModel/Mutations/AddMembership.jsx +136 -0
  502. package/src/UserGQLModel/Mutations/Create.jsx +68 -0
  503. package/src/UserGQLModel/Mutations/Delete.jsx +81 -0
  504. package/src/UserGQLModel/Mutations/InteractiveMutations.jsx +30 -0
  505. package/src/UserGQLModel/Mutations/Update.jsx +68 -0
  506. package/src/UserGQLModel/Mutations/helpers.jsx +7 -0
  507. package/src/UserGQLModel/Pages/PageAddMembership.jsx +15 -0
  508. package/src/UserGQLModel/Pages/PageBase.jsx +56 -0
  509. package/src/UserGQLModel/Pages/PageCreateItem.jsx +27 -0
  510. package/src/UserGQLModel/Pages/PageDeleteItem.jsx +16 -0
  511. package/src/UserGQLModel/Pages/PageNavbar.jsx +146 -0
  512. package/src/UserGQLModel/Pages/PageReadItem.jsx +12 -0
  513. package/src/UserGQLModel/Pages/PageReadItemEx.jsx +62 -0
  514. package/src/UserGQLModel/Pages/PageUpdateItem.jsx +14 -0
  515. package/src/UserGQLModel/Pages/PageVector.jsx +78 -0
  516. package/src/UserGQLModel/Pages/RouterSegment.jsx +77 -0
  517. package/src/UserGQLModel/Pages/index.js +9 -0
  518. package/src/UserGQLModel/Queries/DeleteAsyncAction.jsx +22 -0
  519. package/src/UserGQLModel/Queries/Fragments.jsx +114 -0
  520. package/src/UserGQLModel/Queries/InsertAsyncAction.jsx +22 -0
  521. package/src/UserGQLModel/Queries/ReadAsyncAction.jsx +45 -0
  522. package/src/UserGQLModel/Queries/ReadPageAsyncAction.jsx +17 -0
  523. package/src/UserGQLModel/Queries/SearchAsyncAction.jsx +15 -0
  524. package/src/UserGQLModel/Queries/UpdateAsyncAction.jsx +76 -0
  525. package/src/UserGQLModel/Queries/index.js +6 -0
  526. package/src/UserGQLModel/Scalars/ScalarAttribute.jsx +54 -0
  527. package/src/UserGQLModel/Scalars/TemplateScalarAttribute.jsx +88 -0
  528. package/src/UserGQLModel/Scalars/index.js +1 -0
  529. package/src/UserGQLModel/Vectors/Roles.jsx +23 -0
  530. package/src/UserGQLModel/Vectors/TemplateVectorsAttribute.jsx +326 -0
  531. package/src/UserGQLModel/Vectors/UserMemberships.jsx +56 -0
  532. package/src/UserGQLModel/Vectors/UserRoles.jsx +81 -0
  533. package/src/UserGQLModel/Vectors/VectorAttribute.jsx +56 -0
  534. package/src/UserGQLModel/Vectors/index.js +1 -0
  535. package/src/UserGQLModel/index.js +6 -0
  536. package/src/_Template/Components/CardCapsule.jsx +43 -0
  537. package/src/_Template/Components/Children.jsx +31 -0
  538. package/src/_Template/Components/ConfirmEdit.jsx +61 -0
  539. package/src/_Template/Components/Filter.jsx +14 -0
  540. package/src/_Template/Components/LargeCard.jsx +50 -0
  541. package/src/_Template/Components/Link.jsx +54 -0
  542. package/src/_Template/Components/LiveEdit.jsx +111 -0
  543. package/src/_Template/Components/MediumCard.jsx +39 -0
  544. package/src/_Template/Components/MediumContent.jsx +96 -0
  545. package/src/_Template/Components/MediumEditableContent.jsx +35 -0
  546. package/src/_Template/Components/Table.jsx +7 -0
  547. package/src/_Template/Components/index.js +13 -0
  548. package/src/_Template/Mutations/Create.jsx +202 -0
  549. package/src/_Template/Mutations/Delete.jsx +173 -0
  550. package/src/_Template/Mutations/InteractiveMutations.jsx +30 -0
  551. package/src/_Template/Mutations/Update.jsx +147 -0
  552. package/src/_Template/Mutations/helpers.jsx +7 -0
  553. package/src/_Template/Pages/PageBase.jsx +56 -0
  554. package/src/_Template/Pages/PageCreateItem.jsx +28 -0
  555. package/src/_Template/Pages/PageDeleteItem.jsx +16 -0
  556. package/src/_Template/Pages/PageNavbar.jsx +160 -0
  557. package/src/_Template/Pages/PageReadItem.jsx +11 -0
  558. package/src/_Template/Pages/PageReadItemEx.jsx +42 -0
  559. package/src/_Template/Pages/PageUpdateItem.jsx +14 -0
  560. package/src/_Template/Pages/PageVector.jsx +80 -0
  561. package/src/_Template/Pages/RouterSegment.jsx +72 -0
  562. package/src/_Template/Pages/index.js +2 -0
  563. package/src/_Template/Queries/DeleteAsyncAction.jsx +32 -0
  564. package/src/_Template/Queries/Fragments.jsx +101 -0
  565. package/src/_Template/Queries/InsertAsyncAction.jsx +40 -0
  566. package/src/_Template/Queries/ReadAsyncAction.jsx +44 -0
  567. package/src/_Template/Queries/ReadPageAsyncAction.jsx +13 -0
  568. package/src/_Template/Queries/SearchAsyncAction.jsx +16 -0
  569. package/src/_Template/Queries/UpdateAsyncAction.jsx +40 -0
  570. package/src/_Template/Queries/index.js +6 -0
  571. package/src/_Template/Scalars/ScalarAttribute.jsx +54 -0
  572. package/src/_Template/Scalars/TemplateScalarAttribute.jsx +88 -0
  573. package/src/_Template/Scalars/index.js +1 -0
  574. package/src/_Template/Vectors/TemplateVectorsAttribute.jsx +326 -0
  575. package/src/_Template/Vectors/VectorAttribute.jsx +56 -0
  576. package/src/_Template/Vectors/index.js +1 -0
  577. package/src/_Template/WhatToDo.md +44 -0
  578. package/src/_Template/index.js +71 -0
  579. package/src/index.js +8 -0
  580. package/src/uriroot.js +158 -0
  581. package/vite.config.js +47 -0
@@ -0,0 +1,78 @@
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
+ export const PageVector = ({ children, queryAsyncAction = ReadPageAsyncAction }) => {
27
+
28
+ const [sp] = useSearchParams();
29
+
30
+ const whereFromUrl = useMemo(() => safeParseWhere(sp, "usWhere"), [sp.toString()]);
31
+
32
+ const { items, loading, error, hasMore, sentinelRef, loadMore, restart } = useInfiniteScroll(
33
+ {
34
+ asyncAction: queryAsyncAction,
35
+ actionParams: { skip: 0, limit: 30, where: whereFromUrl },
36
+ // reset: whereFromUrl
37
+ }
38
+ )
39
+
40
+ useEffect(() => {
41
+ const params = {skip: 0, limit: 30, where: whereFromUrl}
42
+ restart(params)
43
+ }, [whereFromUrl]);
44
+
45
+
46
+ return (
47
+ <PageBase>
48
+ <Collapsible
49
+ className="form-control btn btn-outline-primary"
50
+ buttonLabelCollapsed="Zobrazit filtr"
51
+ buttonLabelExpanded="Skrýt filtr"
52
+ >
53
+ <Filter>
54
+ <FilterButton
55
+ className="form-control btn btn-outline-success"
56
+ paramName="usWhere"
57
+ >
58
+ Filtrovat
59
+ </FilterButton>
60
+ <ResetFilterButton
61
+ className="form-control btn btn-warning"
62
+ paramName="usWhere"
63
+ >
64
+ Vymazat filtr
65
+ </ResetFilterButton>
66
+ </Filter>
67
+ </Collapsible>
68
+
69
+ <Table data={items} />
70
+
71
+ <AsyncStateIndicator error={error} loading={loading} text="Nahrávám další..." />
72
+
73
+ {hasMore && <div ref={sentinelRef} style={{ height: 80, backgroundColor: "lightgray" }} />}
74
+ {hasMore && <button className="btn btn-success form-control" onClick={() => loadMore()}>Více</button>}
75
+ </PageBase>
76
+ )
77
+ }
78
+
@@ -0,0 +1,77 @@
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 { CreateURI, DeleteItemURI, DeleteURI, ListURI, ReadItemURI, UpdateItemURI, UpdateURI, VectorItemsURI } from "../Components"
8
+ import { PageReadUserMemberships, PageReadUserRoles, UserMembershipsURI, UserRolesURI } from "./PageReadItemEx"
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 UserRouterSegments = [
40
+ {
41
+ path: CreateURI,
42
+ element: (<PageCreateItem />),
43
+ },
44
+ {
45
+ path: VectorItemsURI,
46
+ element: (<PageVector />),
47
+ },
48
+ {
49
+ path: ReadItemURI,
50
+ element: (<PageReadUserMemberships />),
51
+ },
52
+ {
53
+ path: UpdateItemURI,
54
+ element: (<PageUpdateItem />),
55
+ },
56
+ {
57
+ path: DeleteItemURI,
58
+ element: (<PageDeleteItem />),
59
+ },
60
+ {
61
+ path: UserMembershipsURI,
62
+ element: (<PageReadUserMemberships />),
63
+ },
64
+ {
65
+ path: UserRolesURI,
66
+ element: (<PageReadUserRoles />)
67
+ },
68
+ {
69
+ path: VectorItemsURI.replace("list", ":any"),
70
+ element: (<PageVector />),
71
+ },
72
+ {
73
+ path: ReadItemURI.replace("view", ":any"),
74
+ element: (<PageReadItem />),
75
+ }
76
+
77
+ ]
@@ -0,0 +1,9 @@
1
+ export * from './PageBase'
2
+ export * from './PageVector'
3
+
4
+ export * from './PageCreateItem'
5
+ export * from './PageUpdateItem'
6
+
7
+ export * from './PageNavbar'
8
+ export * from './RouterSegment'
9
+
@@ -0,0 +1,22 @@
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 DeleteMutation($id: UUID!, $lastchange: DateTime!) {
7
+ result: Delete(
8
+ item : {id: $id, lastchange: $lastchange}
9
+ ) {
10
+ ... on GQLModelDeleteError {
11
+ failed
12
+ msg
13
+ input
14
+ Entity {
15
+ ...Large
16
+ }
17
+ }
18
+ }
19
+ }
20
+ `
21
+ const DeleteMutation = createQueryStrLazy(`${DeleteMutationStr}`, LargeFragment)
22
+ export const DeleteAsyncAction = createAsyncGraphQLAction2(DeleteMutation)
@@ -0,0 +1,114 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared"
2
+
3
+ const LinkFragmentStr = `
4
+ fragment Link on UserGQLModel {
5
+ __typename
6
+ id
7
+ lastchange
8
+ name
9
+ surname
10
+ fullname
11
+ email
12
+ }
13
+ `
14
+
15
+ const MediumFragmentStr = `
16
+ fragment Medium on UserGQLModel {
17
+ ...Link
18
+ rbacobject {
19
+ ...RBRoles
20
+ }
21
+ }
22
+ `
23
+
24
+ const LargeFragmentStr = `
25
+ fragment Large on UserGQLModel {
26
+ ...Medium
27
+ rolesOn {
28
+ ...Role
29
+ }
30
+ memberships {
31
+ __typename
32
+ id
33
+ groupId
34
+ group {
35
+ __typename
36
+ id
37
+ name
38
+ grouptype {
39
+ __typename
40
+ id
41
+ name
42
+ }
43
+ }
44
+ valid
45
+ startdate
46
+ enddate
47
+ }
48
+ roles {
49
+ ...Role
50
+ }
51
+ }
52
+ `
53
+
54
+ const RoleFragmentStr = `
55
+ fragment Role on RoleGQLModel {
56
+ __typename
57
+ id
58
+ lastchange
59
+ created
60
+ createdbyId
61
+ changedbyId
62
+ rbacobjectId
63
+ createdby { id __typename fullname}
64
+ changedby { id __typename fullname}
65
+ rbacobject { id __typename }
66
+ valid
67
+ deputy
68
+ startdate
69
+ enddate
70
+ roletypeId
71
+ userId
72
+ groupId
73
+ roletype { __typename id name }
74
+ user { __typename id fullname }
75
+ group { __typename id name }
76
+ }
77
+ `
78
+
79
+ const RBACFragmentStr = `
80
+ fragment RBRoles on RBACObjectGQLModel {
81
+ __typename
82
+ id
83
+ currentUserRoles {
84
+ __typename
85
+ id
86
+ lastchange
87
+ valid
88
+ startdate
89
+ enddate
90
+ roletype {
91
+ __typename
92
+ id
93
+ name
94
+ }
95
+ group {
96
+ __typename
97
+ id
98
+ name
99
+ grouptype {
100
+ __typename
101
+ id
102
+ name
103
+ }
104
+ }
105
+ }
106
+ }`
107
+
108
+ export const RoleFragment = createQueryStrLazy(`${RoleFragmentStr}`)
109
+ export const RBACFragment = createQueryStrLazy(`${RBACFragmentStr}`)
110
+
111
+ export const LinkFragment = createQueryStrLazy(`${LinkFragmentStr}`)
112
+ export const MediumFragment = createQueryStrLazy(`${MediumFragmentStr}`, LinkFragment, RBACFragment)
113
+ export const LargeFragment = createQueryStrLazy(`${LargeFragmentStr}`, MediumFragment, RoleFragment)
114
+
@@ -0,0 +1,22 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared";
2
+ import { LargeFragment } from "./Fragments";
3
+ import { createAsyncGraphQLAction2 } from "../../../../dynamic/src/Core/createAsyncGraphQLAction2";
4
+
5
+
6
+ const InsertMutationStr = `
7
+ mutation InsertMutation($id: UUID, $name: String, $name_en: String) {
8
+ result: Insert(
9
+ template: {id: $id, name: $name, nameEn: $name_en}
10
+ ) {
11
+ ... on InsertError {
12
+ failed
13
+ msg
14
+ input
15
+ }
16
+ ...Large
17
+ }
18
+ }
19
+ `
20
+
21
+ const InsertMutation = createQueryStrLazy(`${InsertMutationStr}`, LargeFragment)
22
+ export const InsertAsyncAction = createAsyncGraphQLAction2(InsertMutation)
@@ -0,0 +1,45 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared";
2
+ import { LargeFragment } from "./Fragments";
3
+ import { createAsyncGraphQLAction2 } from "../../../../dynamic/src/Core/createAsyncGraphQLAction2";
4
+ import { reduceToFirstEntity } from "../../../../dynamic/src/Store";
5
+
6
+ const ReadQueryStr = `
7
+ query ReadQuery($id: UUID!) {
8
+ result: userById(id: $id) {
9
+ ...Large
10
+ }
11
+ }
12
+ `
13
+
14
+ const ReadQuery = createQueryStrLazy(`${ReadQueryStr}`, LargeFragment)
15
+
16
+ /**
17
+ * An async action for executing a GraphQL query to read entities.
18
+ *
19
+ * This action is created using `createAsyncGraphQLAction` with a predefined `QueryRead` query.
20
+ * It can be dispatched with query variables to fetch data related to entities from the GraphQL API.
21
+ *
22
+ * @constant
23
+ * @type {Function}
24
+ *
25
+ * @param {Object} query_variables - The variables for the GraphQL query.
26
+ * @param {string|number} query_variables.id - The unique identifier for the entity to fetch.
27
+ *
28
+ * @returns {Function} A dispatchable async action that performs the GraphQL query, applies middleware, and dispatches the result.
29
+ *
30
+ * @throws {Error} If `query_variables` is not a valid JSON object.
31
+ *
32
+ * @example
33
+ * // Example usage:
34
+ * const queryVariables = { id: "12345" };
35
+ *
36
+ * dispatch(ReadAsyncAction(queryVariables))
37
+ * .then((result) => {
38
+ * console.log("Fetched data:", result);
39
+ * })
40
+ * .catch((error) => {
41
+ * console.error("Error fetching data:", error);
42
+ * });
43
+ */
44
+ // export const ReadAsyncAction = createAsyncGraphQLAction2(ReadQuery, reduceToFirstEntity("result"))
45
+ export const ReadAsyncAction = createAsyncGraphQLAction2(ReadQuery)
@@ -0,0 +1,17 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared";
2
+ import { LargeFragment, MediumFragment } from "./Fragments";
3
+ import { createAsyncGraphQLAction2 } from "../../../../dynamic/src/Core/createAsyncGraphQLAction2";
4
+ import { Medium } from "react-bootstrap-icons";
5
+
6
+ const ReadPageQueryStr = `
7
+ query ReadPageQuery($skip: Int, $limit: Int, $where: UserInputWhereFilter) {
8
+ result: userPage(skip: $skip, limit: $limit, where: $where) {
9
+ ...Medium
10
+ }
11
+ }
12
+ `
13
+ const ReadPageQuery = createQueryStrLazy(`${ReadPageQueryStr}`,
14
+ // LargeFragment,
15
+ MediumFragment,
16
+ )
17
+ export const ReadPageAsyncAction = createAsyncGraphQLAction2(ReadPageQuery)
@@ -0,0 +1,15 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared";
2
+ import { LargeFragment } from "./Fragments";
3
+ import { createAsyncGraphQLAction2 } from "../../../../dynamic/src/Core/createAsyncGraphQLAction2";
4
+ import { reduceToFirstEntity } from "../../../../dynamic/src/Store";
5
+
6
+ const SearchReadPageQueryStr = `
7
+ query ReadPageQuery($skip: Int, $limit: Int, $pattern: String) {
8
+ result: userPage(skip: $skip, limit: $limit, where: { fullname: {_ilike: $pattern}}) {
9
+ ...Large
10
+ }
11
+ }
12
+ `
13
+ const SearchPageQuery = createQueryStrLazy(`${SearchReadPageQueryStr}`, LargeFragment)
14
+ export const SearchAsyncAction = createAsyncGraphQLAction2(
15
+ SearchPageQuery, reduceToFirstEntity)
@@ -0,0 +1,76 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared";
2
+ import { LargeFragment } from "./Fragments";
3
+ import { createAsyncGraphQLAction2 } from "../../../../dynamic/src/Core/createAsyncGraphQLAction2";
4
+ import { reduceToFirstEntity, updateItemsFromGraphQLResult } from "../../../../dynamic/src/Store";
5
+
6
+ const UpdateMutationStr = `
7
+ mutation userUpdate($id: UUID!, $lastchange: DateTime!, $name: String, $surname: String, $email: String, $valid: Boolean) {
8
+ userUpdate(
9
+ user: {id: $id, lastchange: $lastchange, name: $name, surname: $surname, email: $email, valid: $valid}
10
+ ) {
11
+ ... on UserGQLModel {
12
+ ...User
13
+ }
14
+ ... on UserGQLModelUpdateError {
15
+ ...Error
16
+ }
17
+ }
18
+ }
19
+
20
+ # fragment Role on RoleGQLModel {
21
+ # __typename
22
+ # id
23
+ # lastchange
24
+ # created
25
+ # createdbyId
26
+ # changedbyId
27
+ # rbacobjectId
28
+ # createdby {
29
+ # id
30
+ # }
31
+ # changedby {
32
+ # id
33
+ # }
34
+ # rbacobject {
35
+ # id
36
+ # }
37
+ # valid
38
+ # deputy
39
+ # startdate
40
+ # enddate
41
+ # roletypeId
42
+ # userId
43
+ # groupId
44
+ # roletype {
45
+ # id
46
+ # }
47
+ # user {
48
+ # id
49
+ # }
50
+ # group {
51
+ # id
52
+ # }
53
+ # }
54
+
55
+ fragment User on UserGQLModel {
56
+ __typename
57
+ id
58
+ ...Large
59
+ }
60
+
61
+ fragment Error on UserGQLModelUpdateError {
62
+ __typename
63
+ Entity {
64
+ ...User
65
+ }
66
+ msg
67
+ failed
68
+ code
69
+ location
70
+ input
71
+ }
72
+ `
73
+
74
+ const UpdateMutation = createQueryStrLazy(`${UpdateMutationStr}`, LargeFragment)
75
+ export const UpdateAsyncAction = createAsyncGraphQLAction2(UpdateMutation,
76
+ updateItemsFromGraphQLResult, reduceToFirstEntity)
@@ -0,0 +1,6 @@
1
+
2
+ export { InsertAsyncAction } from './InsertAsyncAction'
3
+ export { UpdateAsyncAction } from './UpdateAsyncAction'
4
+ export { DeleteAsyncAction } from './DeleteAsyncAction'
5
+ export { ReadAsyncAction } from './ReadAsyncAction'
6
+ export { ReadPageAsyncAction } from './ReadPageAsyncAction'
@@ -0,0 +1,54 @@
1
+ import { useSelector } from "react-redux";
2
+
3
+ // import { selectItemById } from "../Store/ItemSlice"; // uprav cestu
4
+
5
+ import { CardCapsule } from "../Components/CardCapsule"
6
+ import { MediumCard } from "../Components/MediumCard"
7
+ import { Col } from "../../../../_template/src/Base/Components/Col"
8
+ import { Row } from "../../../../_template/src/Base/Components/Row"
9
+ import { selectItemById } from "../../../../dynamic/src/Store";
10
+ import { useMemo } from "react";
11
+
12
+ export const ScalarAttributeCapsule = ({ attribute_name, item, children }) => {
13
+ return (
14
+ <Row>
15
+ <Col className="col-2"><b>{attribute_name}</b></Col>
16
+ <Col className="col-10">
17
+ {children}
18
+ </Col>
19
+ </Row>
20
+ )
21
+ }
22
+
23
+ export const ScalarAttributeBase = ({ attribute_name, item }) => {
24
+ return (
25
+ <ScalarAttributeCapsule attribute_name={attribute_name} item={item}>
26
+ <MediumCard item={item} />
27
+ </ScalarAttributeCapsule>
28
+ )
29
+ }
30
+
31
+ export const ScalarAttributeBind = ({ attribute_name, item }) => {
32
+ const id = item?.[attribute_name]?.id
33
+ const storedItem = useSelector((rootState) => {
34
+ const result = id != null ? selectItemById(rootState, id) : null
35
+ return result
36
+ })
37
+ return (
38
+ <ScalarAttributeBase attribute_name={attribute_name} item={storedItem} />
39
+ )
40
+ }
41
+
42
+ export const MediumCardScalars = ({ item }) => {
43
+ const sureitem = item || {}
44
+ const noArrays = useMemo(() => Object.fromEntries(
45
+ Object.entries(sureitem).filter(([_, v]) => v && typeof v === "object" && !Array.isArray(v) && v.id != null)
46
+ ), [item]);
47
+ return (
48
+ <CardCapsule item={sureitem}>
49
+ {Object.keys(noArrays).map(
50
+ (attribute_name) => <ScalarAttributeBind key={attribute_name} item={item} attribute_name={attribute_name} />
51
+ )}
52
+ </CardCapsule>
53
+ )
54
+ }
@@ -0,0 +1,88 @@
1
+ import { createAsyncGraphQLAction, useAsyncAction } from "@hrbolek/uoisfrontend-gql-shared"
2
+ import { ErrorHandler, LoadingSpinner } from "@hrbolek/uoisfrontend-shared"
3
+
4
+ /**
5
+ * A component for displaying the `scalar` attribute of an template entity.
6
+ *
7
+ * This component checks if the `scalar` attribute exists on the `template` object. If `scalar` is undefined,
8
+ * the component returns `null` and renders nothing. Otherwise, it displays a placeholder message
9
+ * and a JSON representation of the `scalar` attribute.
10
+ *
11
+ * @component
12
+ * @param {Object} props - The props for the TemplateScalarAttribute component.
13
+ * @param {Object} props.template - The object representing the template entity.
14
+ * @param {*} [props.template.scalar] - The scalar attribute of the template entity to be displayed, if defined.
15
+ *
16
+ * @returns {JSX.Element|null} A JSX element displaying the `scalar` attribute or `null` if the attribute is undefined.
17
+ *
18
+ * @example
19
+ * // Example usage:
20
+ * const templateEntity = { scalar: { id: 1, name: "Sample Scalar" } };
21
+ *
22
+ * <TemplateScalarAttribute template={templateEntity} />
23
+ */
24
+ export const TemplateScalarAttribute = ({template}) => {
25
+ const {scalar} = template
26
+ if (typeof scalar === 'undefined') return null
27
+ return (
28
+ <>
29
+ {/* <ScalarMediumCard scalar={scalar} /> */}
30
+ {/* <ScalarLink scalar={scalar} /> */}
31
+ Probably {'<ScalarMediumCard scalar={scalar} />'} <br />
32
+ <pre>{JSON.stringify(scalar, null, 4)}</pre>
33
+ </>
34
+ )
35
+ }
36
+
37
+ const TemplateScalarAttributeQuery = `
38
+ query TemplateQueryRead($id: UUID!) {
39
+ result: templateById(id: $id) {
40
+ __typename
41
+ id
42
+ scalar {
43
+ __typename
44
+ id
45
+ }
46
+ }
47
+ }
48
+ `
49
+
50
+ const TemplateScalarAttributeAsyncAction = createAsyncGraphQLAction(
51
+ TemplateScalarAttributeQuery
52
+ )
53
+
54
+ /**
55
+ * A lazy-loading component for displaying filtered `scalar` from a `template` entity.
56
+ *
57
+ * This component uses the `TemplateScalarAttributeAsyncAction` to asynchronously fetch
58
+ * the `template.scalar` data. It shows a loading spinner while fetching, handles errors,
59
+ * and filters the resulting list using a custom `filter` function (defaults to `Boolean` to remove falsy values).
60
+ *
61
+ * Each vector item is rendered as a `<div>` with its `id` as both the `key` and the `id` attribute,
62
+ * and displays a formatted JSON preview using `<pre>`.
63
+ *
64
+ * @component
65
+ * @param {Object} props - The properties object.
66
+ * @param {Object} props.template - The template entity or identifying query variables used to fetch it.
67
+ * @param {Function} [props.filter=Boolean] - A filtering function applied to the `scalar` array before rendering.
68
+ *
69
+ * @returns {JSX.Element} A rendered list of filtered scalar or a loading/error placeholder.
70
+ *
71
+ * @example
72
+ * <TemplateScalarAttributeLazy template={{ id: "abc123" }} />
73
+ *
74
+ *
75
+ * @example
76
+ * <TemplateScalarAttributeLazy
77
+ * template={{ id: "abc123" }}
78
+ * filter={(v) => v.status === "active"}
79
+ * />
80
+ */
81
+ export const TemplateScalarAttributeLazy = ({template}) => {
82
+ const {loading, error, entity, fetch} = useAsyncAction(TemplateScalarAttributeAsyncAction, template)
83
+
84
+ if (loading) return <LoadingSpinner />
85
+ if (error) return <ErrorHandler errors={error} />
86
+
87
+ return <TemplateScalarAttribute template={entity} />
88
+ }
@@ -0,0 +1 @@
1
+ export * from './TemplateScalarAttribute'
@@ -0,0 +1,23 @@
1
+ import { Link as GroupLink } from "../../GroupGQLModel/Components/Link";
2
+ import { Link as RoleLink } from "../../RoleGQLModel/Components/Link";
3
+
4
+ const Role = ({ role }) => {
5
+ return (
6
+ <div>
7
+ {role?.roletype?.name} - <RoleLink item={role} /> <GroupLink item={role?.group} /> ({role?.startdate} to {role?.enddate})
8
+ <hr />
9
+ <pre>{JSON.stringify(role, null, 2)}</pre>
10
+ </div>
11
+ )
12
+ }
13
+
14
+ export const Roles = ({ item }) => {
15
+ const { roles=[] } = item;
16
+ return (
17
+ <div>
18
+ {roles?.map(role => (
19
+ <Role key={role.id} role={role} />
20
+ ))}
21
+ </div>
22
+ )
23
+ }