@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,110 @@
1
+ import Nav from 'react-bootstrap/Nav'
2
+ import { ProxyLink, MyNavbar, useHash } from '@hrbolek/uoisfrontend-shared';
3
+
4
+ import { LinkURI } from '../Components'
5
+
6
+ /**
7
+ * Allow to use HashContainer for determination which component at page will be rendered.
8
+ * That must be manually inserted at TemplatePageContent, usually this should be done
9
+ * as children of TemplateLargeCard.
10
+ * <TemplateLargeCard>
11
+ * <HashContainer>
12
+ * <VectorA id="history"/>
13
+ * <VectorB id="roles"/>
14
+ * <VectorC id="graph"/>
15
+ * </HashContainer>
16
+ * </TemplateLargeCard>
17
+ * it is usefull to define globally active "areas" like science, administration, teaching, ...
18
+ */
19
+ const TemplatePageSegments = [
20
+ { segment: 'education', label: 'Výuka' },
21
+ { segment: 'reaserach', label: 'Tvůrčí činnost' },
22
+ { segment: 'administration', label: 'Organizační činnost' },
23
+ { segment: 'development', label: 'Rozvoj' },
24
+ ]
25
+
26
+ /**
27
+ * A navigation button component that generates a URL based on the template's ID and a specific segment.
28
+ * The button uses a `ProxyLink` to navigate while preserving hash and query parameters.
29
+ *
30
+ * ### Features:
31
+ * - Dynamically constructs the URL with a hash fragment pointing to the specified segment.
32
+ * - Displays a label for the navigation link.
33
+ * - Integrates seamlessly with `ProxyLink` for enhanced navigation.
34
+ *
35
+ * @component
36
+ * @param {Object} props - The properties for the TitleNavButton component.
37
+ * @param {Object} props.template - The template object containing details about the template.
38
+ * @param {string|number} props.template.id - The unique identifier for the template.
39
+ * @param {string} props.segment - The segment to append as a hash fragment in the URL.
40
+ * @param {string} props.label - The text to display as the label for the navigation button.
41
+ *
42
+ * @returns {JSX.Element} A styled navigation button linking to the constructed URL.
43
+ *
44
+ * @example
45
+ * // Example 1: Basic usage with a template and segment
46
+ * const template = { id: 123 };
47
+ * const segment = "details";
48
+ * const label = "View Details";
49
+ *
50
+ * <TitleNavButton template={template} segment={segment} label={label} />
51
+ * // Resulting URL: `/ug/template/view/123#details`
52
+ *
53
+ * @example
54
+ * // Example 2: Different segment and label
55
+ * <TitleNavButton template={{ id: 456 }} segment="settings" label="Template Settings" />
56
+ * // Resulting URL: `/ug/template/view/456#settings`
57
+ */
58
+ const TitleNavButton = ({ item, segment, label, ...props }) => {
59
+ // const urlbase = (segment) => `/templates/template/${segment}/${template?.id}`;
60
+ const urlbase = (segment) => `${LinkURI}${item?.id}#${segment}`;
61
+ return (
62
+ <Nav.Link as={"span"} {...props}>
63
+ {/* <ProxyLink to={urlbase(segment)}>{label}</ProxyLink> */}
64
+ </Nav.Link>
65
+ );
66
+ };
67
+
68
+ /**
69
+ * Renders the navigation bar for an Template page.
70
+ *
71
+ * This component uses a custom hook, `useHash()`, to determine the current hash
72
+ * and highlights the active segment. It displays a navigation bar (using MyNavbar)
73
+ * with several segments (e.g. "history", "roles", "graph"), each rendered as a
74
+ * TitleNavButton. The segments are hardcoded in this component and only rendered
75
+ * if an `template` object is provided.
76
+ *
77
+ * @component
78
+ * @param {Object} props - The component properties.
79
+ * @param {Object} props.template - The template entity object that provides context for the page.
80
+ * @param {string|number} props.template.id - The unique identifier for the template.
81
+ * @param {Function} props.onSearchChange - Callback function to handle changes in the search input.
82
+ *
83
+ * @returns {JSX.Element} The rendered TemplatePageNavbar component.
84
+ *
85
+ * @example
86
+ * // Example usage:
87
+ * const template = { id: 123, ... };
88
+ * <TemplatePageNavbar template={template} onSearchChange={handleSearchChange} />
89
+ */
90
+ export const PageNavbar = ({ item, children, onSearchChange }) => {
91
+ // const [currentHash, setHash] = useHash(); // Use the custom hook to manage hash
92
+ const currentHash = "da"
93
+ return (
94
+ <div className='screen-only'>
95
+ <MyNavbar onSearchChange={onSearchChange} >
96
+ {item && TemplatePageSegments.map(({ segment, label }) => (
97
+ <Nav.Item key={segment} >
98
+ <TitleNavButton
99
+ template={item}
100
+ segment={segment}
101
+ label={label}
102
+ className={segment === currentHash ? "active" : ""} aria-current={segment === currentHash ? "page" : undefined}
103
+ />
104
+ </Nav.Item>
105
+ ))}
106
+ {children}
107
+ </MyNavbar>
108
+ </div>
109
+ );
110
+ };
@@ -0,0 +1,52 @@
1
+ import { LinkURI } from "../Components/Link"
2
+ import { Page, PageMediumCard } from "./Page"
3
+ import { PageEdit } from "./PageEdit"
4
+ import { VectorPage } from "./VectorPage"
5
+
6
+ /**
7
+ * Definice segmentů rout pro Template stránky.
8
+ *
9
+ * Každý objekt v tomto poli popisuje jednu trasu (route) v aplikaci:
10
+ * - `path`: Stringová URL s parametrem `:id`, která identifikuje konkrétní instanci template entity.
11
+ * - `element`: React komponenta, která se má renderovat při shodě s cestou.
12
+ *
13
+ * Pokud komponenta stránky podporuje children jako render funkci,
14
+ * všechny children předané přes router budou dostávat objekt:
15
+ * - `template` — načtená entita podle `:id`
16
+ * - `onChange` — callback pro změnu hodnoty pole
17
+ * - `onBlur` — callback pro blur event (například při opuštění pole)
18
+ *
19
+ * @constant
20
+ * @type {Array<{ path: string, element: JSX.Element }>}
21
+ *
22
+ * @example
23
+ * // Tato route reaguje na URL jako "/template/123"
24
+ * {
25
+ * path: "/template/:id",
26
+ * element: <TemplatePage />
27
+ * }
28
+ *
29
+ * // Editační route: "/template/edit/123"
30
+ * {
31
+ * path: "/template/edit/:id",
32
+ * element: <TemplateEditPage />
33
+ * }
34
+ */
35
+ export const TemplateRouterSegments = [
36
+ {
37
+ path: `/${LinkURI}:id`,
38
+ element: (<Page />),
39
+ },
40
+ // {
41
+ // path: `/${LinkURI}`,
42
+ // element: (<VectorPage />),
43
+ // },
44
+ {
45
+ path: `/${LinkURI.replace('view', 'edit')}:id`,
46
+ element: (<PageEdit />),
47
+ },
48
+ {
49
+ path: `/${LinkURI.replace('view', 'view2')}:id`,
50
+ element: (<PageMediumCard />),
51
+ }
52
+ ]
@@ -0,0 +1,133 @@
1
+ import { useLocation } from "react-router"
2
+ import { InfiniteScroll } from "@hrbolek/uoisfrontend-shared"
3
+ import { ReadPageAsyncAction } from "../Queries"
4
+ import { Link, MediumCard } from "../Components"
5
+ import { PageNavbar } from "./PageNavbar"
6
+ import { Col } from "react-bootstrap"
7
+
8
+ /**
9
+ * Visualizes a list of template entities using TemplateMediumCard.
10
+ *
11
+ * This component receives an array of template objects via the `items` prop
12
+ * and renders a `TemplateMediumCard` for each item. Each card is keyed by the template's `id`.
13
+ *
14
+ * @component
15
+ * @param {Object} props - Component properties.
16
+ * @param {Array<Object>} props.items - Array of template entities to visualize. Each object should have a unique `id` property.
17
+ * @returns {JSX.Element} A fragment containing a list of TemplateMediumCard components.
18
+ *
19
+ * @example
20
+ * const templates = [
21
+ * { id: 1, name: "Template 1", ... },
22
+ * { id: 2, name: "Template 2", ... }
23
+ * ];
24
+ *
25
+ * <TemplateVisualiser items={templates} />
26
+ */
27
+ const CardVisualiser = ({items}) => {
28
+ return (
29
+ <>
30
+ {items.map(template => (
31
+ <Col key={requesttype.id} >
32
+ <MediumCard key={template.id} template={template}>
33
+
34
+ </MediumCard>
35
+ </Col>
36
+ ))}
37
+ </>
38
+ )
39
+ }
40
+
41
+ /**
42
+ * Visualizes a list of template entities using table.
43
+ *
44
+ * This component receives an array of template objects via the `items` prop
45
+ * and renders a `tr` for each item. Each row is keyed by the template's `id`.
46
+ *
47
+ * @component
48
+ * @param {Object} props - Component properties.
49
+ * @param {Array<Object>} props.items - Array of template entities to visualize. Each object should have a unique `id` property.
50
+ * @returns {JSX.Element} A fragment containing a list of TemplateMediumCard components.
51
+ *
52
+ * @example
53
+ * const templates = [
54
+ * { id: 1, name: "Template 1", ... },
55
+ * { id: 2, name: "Template 2", ... }
56
+ * ];
57
+ *
58
+ * <TemplateTableVisualiser items={templates} />
59
+ */
60
+ export const TableVisualiser = ({items}) => {
61
+ return (
62
+ <table className="table table-striped">
63
+ <thead>
64
+ <tr>
65
+ <th>Name</th>
66
+ <th>Name</th>
67
+ <th>Tools</th>
68
+ </tr>
69
+ </thead>
70
+ <tbody>
71
+ {items.map(template => (
72
+ <tr key={template?.id} >
73
+ <td>
74
+ <Link template={template} />
75
+ </td>
76
+ <td>{template?.name}</td>
77
+ <td></td>
78
+ </tr>
79
+ ))}
80
+ </tbody>
81
+ </table>
82
+ )
83
+ }
84
+
85
+ /**
86
+ * Page component for displaying a (potentially filtered) list of template entities with infinite scrolling.
87
+ *
88
+ * This component parses the `where` query parameter from the URL (if present),
89
+ * passes it as a filter to the `InfiniteScroll` component, and visualizes the resulting templates using the specified `Visualiser`.
90
+ *
91
+ * You can optionally provide custom children or a custom Visualiser component.
92
+ *
93
+ * @component
94
+ * @param {Object} props - Component props.
95
+ * @param {function} [props.Visualiser=TemplateVisualiser] -
96
+ * Optional component used to visualize the loaded templates. Receives `items` as prop.
97
+ * @param {React.ReactNode} [props.children] - Optional child elements to render below the visualized templates.
98
+ *
99
+ * @returns {JSX.Element} The rendered page with infinite scroll and optional children.
100
+ *
101
+ * @example
102
+ * // Will fetch and display templates filtered by a `where` clause passed in the URL, e.g.:
103
+ * // /template?where={"name":"Example"}
104
+ * <TemplateVectorPage />
105
+ *
106
+ * @example
107
+ * // With a custom visualizer and children:
108
+ * <TemplateVectorPage Visualiser={CustomTemplateList}>
109
+ * <Footer />
110
+ * </TemplateVectorPage>
111
+ */
112
+ export const VectorPage = ({children, Visualiser=CardVisualiser}) => {
113
+ const { search } = useLocation();
114
+ let actionParams = { skip: 0, limit: 10};
115
+ try {
116
+ const params = new URLSearchParams(search);
117
+ const where = params.get('where');
118
+ actionParams.where = where ? JSON.parse(where) : undefined;
119
+ } catch (e) {
120
+ console.warn("Invalid 'where' query parameter!", e);
121
+ }
122
+ const onSearchChange = () => null
123
+ return (<>
124
+ <PageNavbar template={template} onSearchChange={onSearchChange} />
125
+ <InfiniteScroll
126
+ preloadedItems={[]} // No preloaded items for template
127
+ actionParams={actionParams}
128
+ asyncAction={ReadPageAsyncAction}
129
+ Visualiser={Visualiser}
130
+ />
131
+ {children}
132
+ </>)
133
+ }
@@ -0,0 +1,6 @@
1
+ export * from './Page'
2
+ export * from './VectorPage'
3
+ export * from './PageEdit'
4
+ export * from './PageNavbar'
5
+ export * from './RouterSegment'
6
+
@@ -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,92 @@
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
+ email
11
+ }
12
+ `
13
+
14
+ const MediumFragmentStr = `
15
+ fragment Medium on UserGQLModel {
16
+ ...Link
17
+ rbacobject {
18
+ ...RBRoles
19
+ }
20
+ }
21
+ `
22
+
23
+ const LargeFragmentStr = `
24
+ fragment Large on UserGQLModel {
25
+ ...Medium
26
+ rolesOn {
27
+ ...Role
28
+ }
29
+ }
30
+ `
31
+
32
+ const RoleFragmentStr = `
33
+ fragment Role on RoleGQLModel {
34
+ __typename
35
+ id
36
+ lastchange
37
+ created
38
+ createdbyId
39
+ changedbyId
40
+ rbacobjectId
41
+ createdby { id __typename }
42
+ changedby { id __typename }
43
+ rbacobject { id __typename }
44
+ valid
45
+ deputy
46
+ startdate
47
+ enddate
48
+ roletypeId
49
+ userId
50
+ groupId
51
+ roletype { __typename id }
52
+ user { __typename id fullname }
53
+ group { __typename id name }
54
+ }
55
+ `
56
+
57
+ const RBACFragmentStr = `
58
+ fragment RBRoles on RBACObjectGQLModel {
59
+ __typename
60
+ id
61
+ currentUserRoles {
62
+ __typename
63
+ id
64
+ lastchange
65
+ valid
66
+ startdate
67
+ enddate
68
+ roletype {
69
+ __typename
70
+ id
71
+ name
72
+ }
73
+ group {
74
+ __typename
75
+ id
76
+ name
77
+ grouptype {
78
+ __typename
79
+ id
80
+ name
81
+ }
82
+ }
83
+ }
84
+ }`
85
+
86
+ export const RoleFragment = createQueryStrLazy(`${RoleFragmentStr}`)
87
+ export const RBACFragment = createQueryStrLazy(`${RBACFragmentStr}`)
88
+
89
+ export const LinkFragment = createQueryStrLazy(`${LinkFragmentStr}`)
90
+ export const MediumFragment = createQueryStrLazy(`${MediumFragmentStr}`, LinkFragment, RBACFragment)
91
+ export const LargeFragment = createQueryStrLazy(`${LargeFragmentStr}`, MediumFragment, RoleFragment)
92
+
@@ -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,13 @@
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 ReadPageQuery($skip: Int, $limit: Int, $where: UserWhereInputFilter) {
7
+ result: userPage(skip: $skip, limit: $limit, where: $where) {
8
+ ...Large
9
+ }
10
+ }
11
+ `
12
+ const ReadPageQuery = createQueryStrLazy(`${ReadPageQueryStr}`, LargeFragment)
13
+ export const ReadPageAsyncAction = createAsyncGraphQLAction2(ReadPageQuery)
@@ -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
+ }