@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,50 @@
1
+ // import Row from "react-bootstrap/Row"
2
+ import { MediumCard } from "./MediumCard"
3
+ import { CardCapsule as CardCapsule_} from "./CardCapsule"
4
+ import { Row } from "../../../../_template/src/Base/Components/Row"
5
+ // import { LeftColumn, MiddleColumn } from "@hrbolek/uoisfrontend-shared"
6
+ import { MediumContent as MediumContent_ } from "./MediumContent"
7
+ import { InteractiveMutations } from '../Mutations/InteractiveMutations'
8
+ import { LeftColumn, MiddleColumn } from "../../../../_template/src/Base/Components/Col"
9
+ /**
10
+ * A large card component for displaying detailed content and layout for an template entity.
11
+ *
12
+ * This component wraps an `TemplateCardCapsule` with a flexible layout that includes multiple
13
+ * columns. It uses a `Row` layout with a `LeftColumn` for displaying an `TemplateMediumCard`
14
+ * and a `MiddleColumn` for rendering additional children.
15
+ *
16
+ * @component
17
+ * @param {Object} props - The properties for the TemplateLargeCard component.
18
+ * @param {Object} props.template - The object representing the template entity.
19
+ * @param {string|number} props.template.id - The unique identifier for the template entity.
20
+ * @param {string} props.template.name - The name or label of the template entity.
21
+ * @param {React.ReactNode} [props.children=null] - Additional content to render in the middle column.
22
+ *
23
+ * @returns {JSX.Element} A JSX element combining a large card layout with dynamic content.
24
+ *
25
+ * @example
26
+ * // Example usage:
27
+ * const templateEntity = { id: 123, name: "Sample Entity" };
28
+ *
29
+ * <TemplateLargeCard template={templateEntity}>
30
+ * <p>Additional content for the middle column.</p>
31
+ * </TemplateLargeCard>
32
+ */
33
+ export const LargeCard = ({ item, children, CardCapsule=CardCapsule_, MediumContent=MediumContent_ }) => {
34
+ // console.log("LargeCard.item", item)
35
+ return (
36
+ <CardCapsule item={item} >
37
+ <Row>
38
+ <LeftColumn>
39
+ <CardCapsule item={item} title="Detail">
40
+ <MediumContent item={item} />
41
+ </CardCapsule>
42
+ <InteractiveMutations item={item} />
43
+ </LeftColumn>
44
+ <MiddleColumn>
45
+ {children}
46
+ </MiddleColumn>
47
+ </Row>
48
+ </CardCapsule>
49
+ )
50
+ }
@@ -0,0 +1,54 @@
1
+ import { URIRoot } from "../../uriroot";
2
+ import { registerLink } from "../../../../_template/src/Base/Components/Link";
3
+ import { ProxyLink } from "../../../../_template/src/Base/Components/ProxyLink";
4
+
5
+ const modelURI = `${URIRoot}/template`
6
+ export const ListURI = `${modelURI}/list/`;
7
+ export const CreateURI = `${modelURI}/create/`;
8
+ export const ReadURI = `${modelURI}/view/`;
9
+ export const UpdateURI = `${modelURI}/edit/`;
10
+ export const DeleteURI = `${modelURI}/delete/`;
11
+
12
+ export const LinkURI = ReadURI;
13
+ export const VectorItemsURI = ListURI;
14
+
15
+ const idParam = ":id"
16
+ export const ReadItemURI = `${LinkURI}${idParam}`;
17
+ export const UpdateItemURI = `${UpdateURI}${idParam}`;
18
+ export const DeleteItemURI = `${DeleteURI}${idParam}`;
19
+
20
+ /**
21
+ * A React component that renders a `ProxyLink` to an "template" entity's view page.
22
+ *
23
+ * The target URL is dynamically constructed using the `template` object's `id`, and the link displays
24
+ * the `template` object's `name` as its clickable content.
25
+ *
26
+ * @function TemplateLink
27
+ * @param {Object} props - The properties for the `TemplateLink` component.
28
+ * @param {Object} props.template - The object representing the "template" entity.
29
+ * @param {string|number} props.template.id - The unique identifier for the "template" entity. Used to construct the target URL.
30
+ * @param {string} props.template.name - The display name for the "template" entity. Used as the link text.
31
+ *
32
+ * @returns {JSX.Element} A `ProxyLink` component linking to the specified "template" entity's view page.
33
+ *
34
+ * @example
35
+ * // Example usage with a sample template entity:
36
+ * const templateEntity = { id: 123, name: "Example Template Entity" };
37
+ *
38
+ * <TemplateLink template={templateEntity} />
39
+ * // Renders: <ProxyLink to="/template/template/view/123">Example Template Entity</ProxyLink>
40
+ *
41
+ * @remarks
42
+ * - This component utilizes `ProxyLink` to ensure consistent link behavior, including parameter preservation and conditional reloads.
43
+ * - The URL format `/template/template/view/:id` must be supported by the application routing.
44
+ *
45
+ * @see ProxyLink - The base component used for rendering the link.
46
+ */
47
+ export const Link = ({ item, LinkURI: LinkURI_ = LinkURI, action="view", children, ...props}) => {
48
+ const targetURI = LinkURI_.replace('view', action);
49
+ return <ProxyLink to={targetURI + item?.id} {...props}>{children || item?.fullname || item?.name || item?.id || "Nevim"}</ProxyLink>
50
+ // return <BaseUI.Link item={item} />
51
+ // return <a>{children || item?.fullname || item?.name || item?.id || "Nevim"}</a>
52
+ }
53
+
54
+ registerLink('TemplateGQLModel', Link)
@@ -0,0 +1,111 @@
1
+ import { useCallback } from "react";
2
+ import { useMemo } from "react";
3
+
4
+ import { UpdateAsyncAction } from "../Queries";
5
+ import { CreateDelayer, ErrorHandler, LoadingSpinner } from "@hrbolek/uoisfrontend-shared";
6
+ import { MediumEditableContent } from "./MediumEditableContent";
7
+ import { useEditAction } from "../../../../dynamic/src/Hooks/useEditAction";
8
+
9
+ /**
10
+ * TemplateLiveEdit Component
11
+ *
12
+ * Interaktivní React komponenta pro live editaci entity `template` s podporou optimistického fetchování a debounce delaye.
13
+ *
14
+ * - Používá `useAsyncAction` k načítání a update entit (např. GraphQL mutation).
15
+ * - Pokud se hodnota pole změní, spustí se update po krátkém zpoždění (`delayer`) — uživatelské změny nejsou ihned posílány, ale až po pauze.
16
+ * - Zobrazuje loading a error stav pomocí komponent `LoadingSpinner` a `ErrorHandler`.
17
+ * - Předává editované hodnoty do komponenty `TemplateMediumEditableContent`, která zajišťuje zobrazení a editaci jednotlivých polí šablony (`template`).
18
+ *
19
+ * @component
20
+ * @param {Object} props - Props objekt.
21
+ * @param {Object} props.template - Objekt reprezentující editovanou šablonu (template entity).
22
+ * @param {React.ReactNode} [props.children] - Libovolné children, které se vloží pod editační komponentu.
23
+ * @param {Function} [props.asyncAction=TemplateUpdateAsyncAction] - Asynchronní akce pro update (`useAsyncAction`), typicky GraphQL update mutation.
24
+ *
25
+ * @example
26
+ * // Standardní použití
27
+ * <TemplateLiveEdit template={templateEntity} />
28
+ *
29
+ * @example
30
+ * // S vlastním asyncAction a doplňkovým obsahem
31
+ * <TemplateLiveEdit template={templateEntity} asyncAction={myUpdateAction}>
32
+ * <div>Extra obsah nebo poznámka</div>
33
+ * </TemplateLiveEdit>
34
+ *
35
+ * @returns {JSX.Element}
36
+ * Interaktivní komponenta pro live editaci šablony, včetně spinneru a error handleru.
37
+ */
38
+ export const LiveEdit_ = ({ children, asyncAction=UpdateAsyncAction}) => {
39
+ const { onChange, onBlur, item } = useGQLEntityContext()
40
+ return (
41
+ <AsyncActionProvider
42
+ item={item}
43
+ queryAsyncAction={asyncAction}
44
+ options={{deferred: true, network: true}}
45
+ onChange={onChange}
46
+ onBlur={onBlur}
47
+ >
48
+ <LiveEditWrapper item={item}>
49
+ {children}
50
+ {/* <hr />
51
+ <pre>{JSON.stringify(item, null, 2)}</pre> */}
52
+ </LiveEditWrapper>
53
+ </AsyncActionProvider>
54
+ )
55
+ }
56
+
57
+ const LiveEditWrapper = ({ item, children }) => {
58
+ const { run , error, loading, entity, data, onChange, onBlur } = useGQLEntityContext()
59
+
60
+ const handleEvent = useCallback((handler) => async (e) => {
61
+ const {id, value} = e?.target || {}
62
+ if (id === undefined || value === undefined) return
63
+ if (item?.[id] === value) {
64
+ return;
65
+ }
66
+ const newItem = { ...item, [e.target.id]: e.target.value }
67
+ const newEvent = { target: { value: newItem } }
68
+ // console.log("LiveEditWrapper localOnChange start e", e, '=>', newEvent)
69
+ // const result = await delayer(()=>onChange(newEvent))
70
+ const result = await handler(newEvent)
71
+ // console.log("LiveEditWrapper localOnChange end e", e, '=>', newItem, '=>', result)
72
+ return result
73
+ }, [item])
74
+
75
+ const bindedOnChange = useMemo(() => handleEvent(onChange), [onChange, handleEvent])
76
+ const bindedOnBlur = useMemo(() => handleEvent(onBlur), [onBlur, handleEvent])
77
+
78
+ return (
79
+ <MediumEditableContent item={item} onChange={bindedOnChange} onBlur={bindedOnBlur} >
80
+ {children}
81
+ {/* <hr />
82
+ <pre>{JSON.stringify(item, null, 2)}</pre> */}
83
+ </MediumEditableContent>
84
+ )
85
+ }
86
+
87
+
88
+ export const LiveEdit = ({ item, children, asyncMutationAction=UpdateAsyncAction }) => {
89
+ // const { run , error, loading, entity, data, onChange: contextOnChange, onBlur: contextOnBlur } = useGQLEntityContext()
90
+ const {
91
+ draft,
92
+ dirty,
93
+ loading: saving,
94
+ onChange,
95
+ onBlur,
96
+ onCancel,
97
+ onConfirm,
98
+ } = useEditAction(asyncMutationAction, item, {
99
+ mode: "live",
100
+ // onCommit: contextOnChange
101
+ })
102
+
103
+ return (
104
+
105
+ <MediumEditableContent item={item} onChange={onChange} onBlur={onBlur} >
106
+ {saving && <LoadingSpinner/>}
107
+ {children}
108
+ </MediumEditableContent>
109
+
110
+ )
111
+ }
@@ -0,0 +1,39 @@
1
+ import { PersonFill } from "react-bootstrap-icons"
2
+ import { CardCapsule } from "./CardCapsule"
3
+ import { MediumContent } from "./MediumContent"
4
+ import { Link } from "./Link"
5
+
6
+ /**
7
+ * A card component that displays detailed content for an template entity.
8
+ *
9
+ * This component combines `TemplateCardCapsule` and `TemplateMediumContent` to create a card layout
10
+ * with a title and medium-level content. The title includes a `PersonFill` icon and a link to
11
+ * the template entity's details, while the body displays serialized details of the entity along
12
+ * with any additional children passed to the component.
13
+ *
14
+ * @component
15
+ * @param {Object} props - The properties for the TemplateMediumCard component.
16
+ * @param {Object} props.template - The object representing the template entity.
17
+ * @param {string|number} props.template.id - The unique identifier for the template entity.
18
+ * @param {string} props.template.name - The name or label of the template entity.
19
+ * @param {React.ReactNode} [props.children=null] - Additional content to render inside the card body.
20
+ *
21
+ * @returns {JSX.Element} A JSX element combining a card with a title and detailed content.
22
+ *
23
+ * @example
24
+ * // Example usage:
25
+ * const templateEntity = { id: 123, name: "Sample Entity" };
26
+ *
27
+ * <TemplateMediumCard template={templateEntity}>
28
+ * <p>Additional details or actions for the entity.</p>
29
+ * </TemplateMediumCard>
30
+ */
31
+ export const MediumCard = ({ item, children }) => {
32
+ return (
33
+ <CardCapsule title={<><PersonFill /> <Link item={item} /></>}>
34
+ {children}
35
+ <MediumContent item={item}>
36
+ </MediumContent>
37
+ </CardCapsule>
38
+ )
39
+ }
@@ -0,0 +1,96 @@
1
+ import { Col } from "../../../../_template/src/Base/Components/Col"
2
+ import { Row } from "../../../../_template/src/Base/Components/Row"
3
+ import { Link } from "./Link"
4
+ /**
5
+ * A component that displays medium-level content for an template entity.
6
+ *
7
+ * This component renders a label "TemplateMediumContent" followed by a serialized representation of the `template` object
8
+ * and any additional child content. It is designed to handle and display information about an template entity object.
9
+ *
10
+ * @component
11
+ * @param {Object} props - The properties for the TemplateMediumContent component.
12
+ * @param {Object} props.template - The object representing the template entity.
13
+ * @param {string|number} props.template.id - The unique identifier for the template entity.
14
+ * @param {string} props.template.name - The name or label of the template entity.
15
+ * @param {React.ReactNode} [props.children=null] - Additional content to render after the serialized `template` object.
16
+ *
17
+ * @returns {JSX.Element} A JSX element displaying the entity's details and optional content.
18
+ *
19
+ * @example
20
+ * // Example usage:
21
+ * const templateEntity = { id: 123, name: "Sample Entity" };
22
+ *
23
+ * <TemplateMediumContent template={templateEntity}>
24
+ * <p>Additional information about the entity.</p>
25
+ * </TemplateMediumContent>
26
+ */
27
+ // export const MediumContent = ({ item, children}) => {
28
+ // return (
29
+ // <MediumContent_ item={item}>
30
+ // {children}
31
+ // </MediumContent_>
32
+ // )
33
+ // }
34
+
35
+ // export const MediumContent_ = ({ item, children }) => {
36
+ // return (
37
+ // <>
38
+ // {Object.entries(item).map(([attribute_name, attribute_value]) => {
39
+ // // if (attribute_name !== "id") return null
40
+ // if (Array.isArray(attribute_value)) return null
41
+ // if (typeof attribute_value === "object" && attribute_value !== null) return null
42
+ // let attribute_value_result = attribute_value
43
+ // // let attribute_value_result = attribute_value
44
+ // if (Array.isArray(attribute_value))
45
+ // // attribute_value_result = <CardCapsule><Table data={attribute_value} /></CardCapsule>
46
+ // return null
47
+ // else if (typeof attribute_value === "object" && attribute_value !== null)
48
+ // // attribute_value_result = <MediumCard item={attribute_value} />
49
+ // return null
50
+ // else if (attribute_name === "__typename") {
51
+ // /*attribute_value_result = <Link item={attribute_value} />*/
52
+ // // console.log("else1", attribute_name, attribute_value)
53
+ // }
54
+ // if (attribute_name === "id")
55
+ // attribute_value_result = <Link item={item}>{item?.id || "Data error"}</Link>
56
+ // if (attribute_name === "name")
57
+ // attribute_value_result = <Link item={item} />
58
+ // // else return null
59
+ // if (attribute_value)
60
+ // return (
61
+ // <Row key={attribute_name}>
62
+ // <Col className="col-4"><b>{attribute_name}</b></Col>
63
+ // <Col className="col-8">{attribute_value_result}</Col>
64
+ // </Row>
65
+ // )
66
+ // else return null
67
+ // })}
68
+ // {Object.entries(item).map(([attribute_name, attribute_value]) => {
69
+ // if (attribute_value !== null) return null
70
+ // let attribute_value_result = JSON.stringify(attribute_value)
71
+ // if (Array.isArray(attribute_value))
72
+ // // attribute_value_result = <CardCapsule><Table data={attribute_value} /></CardCapsule>
73
+ // return null
74
+ // else if (typeof attribute_value === "object" && attribute_value !== null)
75
+ // // attribute_value_result = <MediumCard item={attribute_value} />
76
+ // return null
77
+ // else if (attribute_name === "__typename") {
78
+ // /*attribute_value_result = <Link item={attribute_value} />*/
79
+ // console.log("else2", attribute_name, attribute_value)
80
+ // }
81
+ // if (attribute_value)
82
+ // return null
83
+ // else
84
+ // return (
85
+ // <Row key={attribute_name}>
86
+ // <Col className="col-4"><b>{attribute_name}</b></Col>
87
+ // <Col className="col-8">{attribute_value_result}</Col>
88
+ // </Row>
89
+ // )
90
+ // })}
91
+ // {children}
92
+ // </>
93
+ // )
94
+ // }
95
+
96
+ export { MediumContent } from "../../../../_template/src/Base/Components/MediumContent"
@@ -0,0 +1,35 @@
1
+ import { Input } from "../../../../_template/src/Base/FormControls/Input"
2
+
3
+ /**
4
+ * A component that displays medium-level content for an template entity.
5
+ *
6
+ * This component renders a label "TemplateMediumContent" followed by a serialized representation of the `template` object
7
+ * and any additional child content. It is designed to handle and display information about an template entity object.
8
+ *
9
+ * @component
10
+ * @param {Object} props - The properties for the TemplateMediumContent component.
11
+ * @param {Object} props.template - The object representing the template entity.
12
+ * @param {string|number} props.template.id - The unique identifier for the template entity.
13
+ * @param {string} props.template.name - The name or label of the template entity.
14
+ * @param {React.ReactNode} [props.children=null] - Additional content to render after the serialized `template` object.
15
+ *
16
+ * @returns {JSX.Element} A JSX element displaying the entity's details and optional content.
17
+ *
18
+ * @example
19
+ * // Example usage:
20
+ * const templateEntity = { id: 123, name: "Sample Entity" };
21
+ *
22
+ * <TemplateMediumContent template={templateEntity}>
23
+ * <p>Additional information about the entity.</p>
24
+ * </TemplateMediumContent>
25
+ */
26
+ export const MediumEditableContent = ({ item, onChange=(e)=>null, onBlur=(e)=>null, children}) => {
27
+ return (
28
+ <>
29
+ {/* defaultValue={item?.name|| "Název"} */}
30
+ <Input id={"name"} label={"Jméno"} className="form-control" value={item?.name|| "Název"} onChange={onChange} onBlur={onBlur} />
31
+ <Input id={"nameEn"} label={"Anglický název"} className="form-control" value={item?.nameEn|| "Anglický název"} onChange={onChange} onBlur={onBlur} />
32
+ {children}
33
+ </>
34
+ )
35
+ }
@@ -0,0 +1,7 @@
1
+ import { Table as BaseTable } from "../../../../_template/src/Base/Components/Table"
2
+
3
+ export const Table = ({ data }) => {
4
+ return (
5
+ <BaseTable data={data} />
6
+ )
7
+ }
@@ -0,0 +1,13 @@
1
+
2
+ export * from './CardCapsule'
3
+ export * from './Children'
4
+ export * from './LargeCard'
5
+ export * from './Link'
6
+ export * from './MediumContent'
7
+ export * from './MediumCard'
8
+
9
+ export * from './MediumEditableContent'
10
+ export * from './LiveEdit'
11
+
12
+
13
+ export * from './ConfirmEdit'
@@ -0,0 +1,202 @@
1
+ import { CreateURI, MediumEditableContent, ReadItemURI } from "../Components"
2
+ import { InsertAsyncAction } from "../Queries"
3
+ import {
4
+ CreateBody as BaseCreateBody,
5
+ CreateButton as BaseCreateButton,
6
+ CreateDialog as BaseCreateDialog,
7
+ CreateLink as BaseCreateLink
8
+ } from "../../../../_template/src/Base/Mutations/Create"
9
+
10
+ const DefaultContent = (props) => <MediumEditableContent {...props} />
11
+ const MutationAsyncAction = InsertAsyncAction
12
+
13
+ const permissions = {
14
+ oneOfRoles: ["superadmin"],
15
+ mode: "absolute",
16
+ }
17
+
18
+ const defaultitem = { name: "Nový" };
19
+
20
+ /**
21
+ * Wrapper nad `BaseCreateLink` (alias importu `CreateLink` z Base/Mutations/Create),
22
+ * který je odvozený z obecných `General*` komponent.
23
+ *
24
+ * Účel wrapperu:
25
+ * - nastaví výchozí `uriPattern` pro create route
26
+ * - aplikuje výchozí RBAC nastavení přes `permissions` (např. `oneOfRoles`, `mode`)
27
+ * - všechny ostatní props pouze přeposílá do Base komponenty
28
+ *
29
+ * Vizuálně vyrenderuje link pro kliknutí
30
+ *
31
+ * @param {Object} params
32
+ * @param {string} [params.uriPattern=CreateURI]
33
+ * Cílová URI/pattern pro link na create stránku nebo create akci (dle routování aplikace).
34
+ *
35
+ * @param {Object} params.props
36
+ * Další props přeposílané do `BaseCreateLink` (např. `children`, `className`,
37
+ * `preserveSearch`, `preserveHash`, atd.).
38
+ *
39
+ * @returns {JSX.Element} Vykreslí `BaseCreateLink` s přednastaveným `uriPattern` a RBAC oprávněními.
40
+ */
41
+ export const CreateLink = ({
42
+ uriPattern=CreateURI,
43
+ ...props
44
+ }) => (
45
+ <BaseCreateLink {...props} uriPattern={uriPattern} {...permissions} />
46
+ );
47
+
48
+ /**
49
+ * Wrapper nad `BaseCreateButton` (alias importu `CreateButton` z Base/Mutations/Create),
50
+ * který je odvozený z obecných `General*` komponent.
51
+ *
52
+ * Účel wrapperu:
53
+ * - nastaví výchozí oprávnění (RBAC) přes `permissions` (`oneOfRoles`, `mode`)
54
+ * - nastaví výchozí mutaci pro vytvoření entity (`mutationAsyncAction`)
55
+ * - umožní vyměnit dialog a obsah formuláře (`CreateDialog`, `DefaultContent`)
56
+ * - určí kam se má po úspěšném vytvoření navigovat (`readItemURI`)
57
+ * - předá výchozí `item` pro nový záznam
58
+ *
59
+ * Zobrazí tlačítko a po jeho stisku otevře dialog, při volbě OK dochází k odeslání mutace na backend
60
+ *
61
+ * @param {Object} params
62
+ * @param {Function} [params.mutationAsyncAction=MutationAsyncAction]
63
+ * Async action (thunk) pro vytvoření entity (např. InsertAsyncAction). Používá ho Base/General logika.
64
+ *
65
+ * @param {React.ComponentType<Object>} [params.CreateDialog=CreateDialog]
66
+ * Komponenta dialogu použitá pro vytvoření (renderuje formulář a volá `onOk(draft)` / `onCancel()`).
67
+ *
68
+ * @param {React.ComponentType<Object>} [params.DefaultContent=DefaultContent]
69
+ * Komponenta, která vykreslí editable obsah formuláře (typicky MediumEditableContent).
70
+ *
71
+ * @param {string} [params.readItemURI=ReadItemURI]
72
+ * URI pattern pro navigaci na detail nově vytvořené entity (obvykle obsahuje `:id`).
73
+ *
74
+ * @param {Object} [params.rbacitem]
75
+ * RBAC item pro PermissionGate/Permission check (pokud se liší od entity, která se vytváří).
76
+ *
77
+ * @param {Object} [params.item=defaultitem]
78
+ * Výchozí objekt (draft) pro nový záznam. Posílá se do dialogu jako `item`.
79
+ *
80
+ * @param {Object} params.props
81
+ * Všechny další props jsou přeposlány přímo do `BaseCreateButton`
82
+ * (typicky `children`, `className`, `disabled`, `title`, atd.).
83
+ *
84
+ * @returns {JSX.Element} Vykreslí `BaseCreateButton` s přednastavenými defaulty a RBAC oprávněními.
85
+ */
86
+ export const CreateButton = ({
87
+ mutationAsyncAction=MutationAsyncAction,
88
+ CreateDialog: CreateDialog_=CreateDialog,
89
+ DefaultContent:defaultContent=DefaultContent,
90
+ readItemURI=ReadItemURI,
91
+ rbacitem,
92
+ item=defaultitem,
93
+ ...props
94
+ }) => {
95
+ return <BaseCreateButton
96
+ {...props}
97
+ DefaultContent={defaultContent}
98
+ CreateDialog={CreateDialog_}
99
+ readItemURI={readItemURI}
100
+ rbacitem={rbacitem}
101
+ item={item}
102
+ mutationAsyncAction={mutationAsyncAction}
103
+ {...permissions}
104
+ />
105
+ }
106
+
107
+ /**
108
+ * Wrapper nad `BaseCreateDialog` (alias importu `CreateDialog` z Base/Mutations/Create),
109
+ * který je odvozený z obecných `General*` komponent.
110
+ *
111
+ * Účel wrapperu:
112
+ * - nastaví výchozí title, obsah formuláře a výchozí draft (`item`)
113
+ * - předá `readItemURI` pro případnou navigaci po vytvoření (dle implementace Base/General)
114
+ * - umožní přepsat `mutationAsyncAction` (pokud BaseCreateDialog mutaci používá)
115
+ *
116
+ * Mutaci provadi až tlačítko (`BaseCreateButton`) Dialog jen zobrazuje a zabezpecuje sber dat
117
+ * a dialog je jen “formulář”.
118
+ *
119
+ * @param {Object} params
120
+ * @param {string} [params.title="Nov(ý/é)"]
121
+ * Titulek dialogu.
122
+ *
123
+ * @param {Function} [params.mutationAsyncAction=MutationAsyncAction]
124
+ * Async action (thunk) pro vytvoření entity. Použije se pouze pokud ho `BaseCreateDialog` skutečně volá
125
+ * (záleží na Base/General implementaci).
126
+ *
127
+ * @param {React.ComponentType<Object>} [params.DefaultContent=DefaultContent]
128
+ * Komponenta, která vykreslí editable obsah formuláře (typicky MediumEditableContent).
129
+ *
130
+ * @param {string} [params.readItemURI=ReadItemURI]
131
+ * URI pattern pro navigaci na detail nově vytvořené entity (obvykle obsahuje `:id`).
132
+ *
133
+ * @param {Object} [params.item=defaultitem]
134
+ * Výchozí objekt (draft) pro nový záznam. Posílá se do dialogu jako `item`.
135
+ *
136
+ * @param {Object} params.props
137
+ * Všechny další props jsou přeposlány přímo do `BaseCreateDialog`
138
+ * (typicky `oklabel`, `cancellabel`, `onOk`, `onCancel`, `className`, atd.).
139
+ *
140
+ * @returns {JSX.Element} Vykreslí `BaseCreateDialog` s přednastavenými defaulty.
141
+ */
142
+ export const CreateDialog = ({
143
+ title = "Nov(ý/é)",
144
+ // mutationAsyncAction=MutationAsyncAction,
145
+ DefaultContent:defaultContent=DefaultContent,
146
+ readItemURI=ReadItemURI,
147
+ item=defaultitem,
148
+ ...props
149
+ }) => {
150
+ return <BaseCreateDialog
151
+ {...props}
152
+ title={title}
153
+ DefaultContent={defaultContent}
154
+ readItemURI={readItemURI}
155
+ item={item}
156
+ // mutationAsyncAction={mutationAsyncAction}
157
+ />
158
+ };
159
+
160
+ /**
161
+ * Wrapper nad `BaseCreateBody` (alias importu `CreateBody` z Base/Mutations/Create),
162
+ * který je odvozený z obecných `General*` komponent.
163
+ *
164
+ * `CreateBody` typicky reprezentuje “page-level” create workflow (ne jen tlačítko + modal):
165
+ * - vykreslí create formulář pomocí `DefaultContent`
166
+ * - zajistí uložení přes `mutationAsyncAction` (dle Base/General implementace)
167
+ * - po úspěchu může navigovat na detail vytvořené entity přes `readItemURI` (pokud Base/General takto funguje)
168
+ *
169
+ * Wrapper pouze nastavuje defaulty a přeposílá props do `BaseCreateBody`.
170
+ *
171
+ * Vizualizuje <DefaultContent />, sbira zmeny a umoznuje volani backendu pro ulozeni dat
172
+ *
173
+ * @param {Object} params
174
+ * @param {Function} [params.mutationAsyncAction=MutationAsyncAction]
175
+ * Async action (thunk) pro vytvoření entity (např. InsertAsyncAction). Používá ho Base/General logika.
176
+ *
177
+ * @param {React.ComponentType<Object>} [params.DefaultContent=DefaultContent]
178
+ * Komponenta, která vykreslí editable obsah formuláře (typicky MediumEditableContent).
179
+ *
180
+ * @param {string} [params.readItemURI=ReadItemURI]
181
+ * URI pattern pro navigaci na detail nově vytvořené entity (obvykle obsahuje `:id`).
182
+ *
183
+ * @param {Object} params.props
184
+ * Všechny další props jsou přeposlány přímo do `BaseCreateBody`
185
+ * (typicky `title`, `oklabel`, `cancellabel`, `onOk`, `onCancel`, `className`, atd.).
186
+ *
187
+ * @returns {JSX.Element} Vykreslí `BaseCreateBody` s přednastavenými defaulty.
188
+ */
189
+ export const CreateBody = ({
190
+ mutationAsyncAction=MutationAsyncAction,
191
+ DefaultContent:defaultContent=DefaultContent,
192
+ readItemURI=ReadItemURI,
193
+ ...props
194
+ }) => {
195
+ return <BaseCreateBody
196
+ {...props}
197
+ DefaultContent={defaultContent}
198
+ readItemURI={readItemURI}
199
+ mutationAsyncAction={mutationAsyncAction}
200
+ />
201
+ };
202
+