@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,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 StateMachineRouterSegments = [
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 statemachineDelete(
7
+ $lastchange: DateTime! # null,
8
+ $id: UUID! # null
9
+ ) {
10
+ statemachineDelete(
11
+ statemachine: {
12
+ lastchange: $lastchange,
13
+ id: $id}
14
+ ) {
15
+ ...StateMachineGQLModelDeleteError
16
+ }
17
+ }
18
+
19
+ fragment StateMachineGQLModelDeleteError on StateMachineGQLModelDeleteError {
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)
@@ -0,0 +1,148 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared"
2
+
3
+ const LinkFragmentStr = `
4
+ fragment Link on StateMachineGQLModel {
5
+ __typename
6
+ id
7
+ lastchange
8
+ created
9
+ createdbyId
10
+ changedbyId
11
+ rbacobjectId
12
+ createdby { __typename id fullname }
13
+ changedby { __typename id fullname }
14
+
15
+ name
16
+ nameEn
17
+ typeId
18
+ }
19
+ `
20
+
21
+ const MediumFragmentStr = `
22
+ fragment Medium on StateMachineGQLModel {
23
+ ...Link
24
+ rbacobject {
25
+ ...RBRoles
26
+ }
27
+ }
28
+ `
29
+
30
+ const LargeFragmentStr = `
31
+ fragment Large on StateMachineGQLModel {
32
+ ...Medium
33
+ states(limit: 100) {
34
+ ...State
35
+ }
36
+ transitions(limit: 100) {
37
+ ...StateTransition
38
+ }
39
+ }
40
+
41
+
42
+ fragment State on StateGQLModel {
43
+ __typename
44
+ id
45
+ lastchange
46
+ created
47
+ createdbyId
48
+ changedbyId
49
+ rbacobjectId
50
+ createdby { __typename id fullname }
51
+ changedby { __typename id fullname }
52
+ rbacobject { ...RBRoles }
53
+ name
54
+ nameEn
55
+ statemachineId
56
+ writerslistId
57
+ readerslistId
58
+ statemachine { __typename id name }
59
+ order
60
+ sources { __typename id name }
61
+ targets { __typename id name }
62
+ roletypes { __typename }
63
+ # userCan
64
+ }
65
+
66
+ fragment StateTransition on StateTransitionGQLModel {
67
+ __typename
68
+ id
69
+ lastchange
70
+ created
71
+ createdbyId
72
+ changedbyId
73
+ rbacobjectId
74
+ createdby { __typename id fullname }
75
+ changedby { __typename id fullname }
76
+ rbacobject { ...RBRoles }
77
+ name
78
+ nameEn
79
+ sourceId
80
+ source { __typename id name }
81
+ targetId
82
+ target { __typename id name }
83
+ statemachineId
84
+ statemachine { __typename id name }
85
+ }
86
+ `
87
+
88
+ const RoleFragmentStr = `
89
+ fragment Role on RoleGQLModel {
90
+ __typename
91
+ id
92
+ lastchange
93
+ created
94
+ createdbyId
95
+ changedbyId
96
+ rbacobjectId
97
+ createdby { id __typename }
98
+ changedby { id __typename }
99
+ rbacobject { id __typename }
100
+ valid
101
+ deputy
102
+ startdate
103
+ enddate
104
+ roletypeId
105
+ userId
106
+ groupId
107
+ roletype { __typename id }
108
+ user { __typename id fullname }
109
+ group { __typename id name }
110
+ }
111
+ `
112
+
113
+ const RBACFragmentStr = `
114
+ fragment RBRoles on RBACObjectGQLModel {
115
+ __typename
116
+ id
117
+ currentUserRoles {
118
+ __typename
119
+ id
120
+ lastchange
121
+ valid
122
+ startdate
123
+ enddate
124
+ roletype {
125
+ __typename
126
+ id
127
+ name
128
+ }
129
+ group {
130
+ __typename
131
+ id
132
+ name
133
+ grouptype {
134
+ __typename
135
+ id
136
+ name
137
+ }
138
+ }
139
+ }
140
+ }`
141
+
142
+ export const RoleFragment = createQueryStrLazy(`${RoleFragmentStr}`)
143
+ export const RBACFragment = createQueryStrLazy(`${RBACFragmentStr}`)
144
+
145
+ export const LinkFragment = createQueryStrLazy(`${LinkFragmentStr}`)
146
+ export const MediumFragment = createQueryStrLazy(`${MediumFragmentStr}`, LinkFragment, RBACFragment)
147
+ export const LargeFragment = createQueryStrLazy(`${LargeFragmentStr}`, MediumFragment)
148
+
@@ -0,0 +1,44 @@
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 statemachineInsert(
8
+ $name: String! # null,
9
+ $rbacobjectId: UUID! # null,
10
+ $nameEn: String # null,
11
+ $id: UUID # null,
12
+ $states: [StateInsertGQLModel!] # null,
13
+ $transitions: [StatetransitionInsertGQLModel!] # null
14
+ ) {
15
+ statemachineInsert(
16
+ statemachine: {
17
+ name: $name,
18
+ rbacobjectId: $rbacobjectId,
19
+ nameEn: $nameEn,
20
+ id: $id,
21
+ states: $states,
22
+ transitions: $transitions}
23
+ ) {
24
+ ... on StateMachineGQLModel { ...Large }
25
+ ... on StateMachineGQLModelInsertError { ...StateMachineGQLModelInsertError }
26
+ }
27
+ }
28
+
29
+
30
+ fragment StateMachineGQLModelInsertError on StateMachineGQLModelInsertError {
31
+ __typename
32
+ Entity {
33
+ ...Large
34
+ }
35
+ msg
36
+ failed
37
+ code
38
+ location
39
+ input
40
+ }
41
+ `
42
+
43
+ const InsertMutation = createQueryStrLazy(`${InsertMutationStr}`, LargeFragment)
44
+ export const InsertAsyncAction = createAsyncGraphQLAction2(InsertMutation)
@@ -0,0 +1,48 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared";
2
+ import { LargeFragment } from "./Fragments";
3
+ import { createAsyncGraphQLAction2 } from "../../../../dynamic/src/Core/createAsyncGraphQLAction2";
4
+
5
+ const ReadQueryStr = `
6
+ query statemachineById(
7
+ $id: UUID! # null
8
+ ) {
9
+ statemachineById(
10
+ id: $id
11
+ ) {
12
+ ...Large
13
+ }
14
+ }
15
+ `
16
+
17
+ const ReadQuery = createQueryStrLazy(`${ReadQueryStr}`, LargeFragment)
18
+
19
+ /**
20
+ * An async action for executing a GraphQL query to read entities.
21
+ *
22
+ * This action is created using `createAsyncGraphQLAction` with a predefined `QueryRead` query.
23
+ * It can be dispatched with query variables to fetch data related to entities from the GraphQL API.
24
+ *
25
+ * @constant
26
+ * @type {Function}
27
+ *
28
+ * @param {Object} query_variables - The variables for the GraphQL query.
29
+ * @param {string|number} query_variables.id - The unique identifier for the entity to fetch.
30
+ *
31
+ * @returns {Function} A dispatchable async action that performs the GraphQL query, applies middleware, and dispatches the result.
32
+ *
33
+ * @throws {Error} If `query_variables` is not a valid JSON object.
34
+ *
35
+ * @example
36
+ * // Example usage:
37
+ * const queryVariables = { id: "12345" };
38
+ *
39
+ * dispatch(ReadAsyncAction(queryVariables))
40
+ * .then((result) => {
41
+ * console.log("Fetched data:", result);
42
+ * })
43
+ * .catch((error) => {
44
+ * console.error("Error fetching data:", error);
45
+ * });
46
+ */
47
+ // export const ReadAsyncAction = createAsyncGraphQLAction2(ReadQuery, reduceToFirstEntity("result"))
48
+ export const ReadAsyncAction = createAsyncGraphQLAction2(ReadQuery)
@@ -0,0 +1,23 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared";
2
+ import { LargeFragment } from "./Fragments";
3
+ import { createAsyncGraphQLAction2 } from "../../../../dynamic/src/Core/createAsyncGraphQLAction2";
4
+
5
+ const ReadPageQueryStr = `
6
+ query statemachinePage(
7
+ $skip: Int # how many entities will be ignored,
8
+ $limit: Int # how many entities will be taken,
9
+ $orderby: String # name of field which will determite the order,
10
+ $where: StateMachineWhereFilter # filter
11
+ ) {
12
+ statemachinePage(
13
+ skip: $skip,
14
+ limit: $limit,
15
+ orderby: $orderby,
16
+ where: $where
17
+ ) {
18
+ ...Large
19
+ }
20
+ }
21
+ `
22
+ const ReadPageQuery = createQueryStrLazy(`${ReadPageQueryStr}`, LargeFragment)
23
+ export const ReadPageAsyncAction = createAsyncGraphQLAction2(ReadPageQuery)
@@ -0,0 +1,16 @@
1
+ import { createQueryStrLazy } from "@hrbolek/uoisfrontend-gql-shared"
2
+ import { createAsyncGraphQLAction2 } from "../../../../dynamic/src/Core/createAsyncGraphQLAction2"
3
+ import { LargeFragment } from "./Fragments"
4
+ import { reduceToFirstEntity } from "../../../../dynamic/src/Store"
5
+
6
+ const SearchQueryStr = `
7
+ query SearchQuery($skip: Int, $limit: Int, $pattern: String) {
8
+ result: userPage(skip: $skip, limit: $limit, where: {email: {_ilike: $pattern}}) {
9
+ ...Large
10
+ }
11
+ }
12
+ `
13
+
14
+
15
+ export const SearchAsyncActionQuery = createQueryStrLazy(`${SearchQueryStr}`, LargeFragment)
16
+ export const SearchAsyncAction = createAsyncGraphQLAction2(SearchAsyncActionQuery)
@@ -0,0 +1,40 @@
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 statemachineUpdate(
8
+ $lastchange: DateTime! # null,
9
+ $id: UUID! # null,
10
+ $name: String # null,
11
+ $nameEn: String # null
12
+ ) {
13
+ statemachineUpdate(
14
+ statemachine: {
15
+ lastchange: $lastchange,
16
+ id: $id,
17
+ name: $name,
18
+ nameEn: $nameEn}
19
+ ) {
20
+ ... on StateMachineGQLModel { ...Large }
21
+ ... on StateMachineGQLModelUpdateError { ...Error }
22
+ }
23
+ }
24
+
25
+ fragment Error on StateMachineGQLModelUpdateError {
26
+ __typename
27
+ Entity {
28
+ ...Large
29
+ }
30
+ msg
31
+ failed
32
+ code
33
+ location
34
+ input
35
+ }
36
+ `
37
+
38
+ const UpdateMutation = createQueryStrLazy(`${UpdateMutationStr}`, LargeFragment)
39
+ export const UpdateAsyncAction = createAsyncGraphQLAction2(UpdateMutation,
40
+ 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'