@raketa-cloud/admin 0.0.100 → 0.0.102

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 (377) hide show
  1. package/dist/application.css +3804 -0
  2. package/package.json +6 -2
  3. package/babel.config.js +0 -6
  4. package/bin/tailwind +0 -2
  5. package/jest.config.js +0 -22
  6. package/src/Adapter.js +0 -265
  7. package/src/HonoAdapter.js +0 -269
  8. package/src/Logger.js +0 -21
  9. package/src/RaketaContext.js +0 -46
  10. package/src/buildResourcePath.js +0 -22
  11. package/src/cipher.js +0 -49
  12. package/src/cloud/ArticleChanges.js +0 -36
  13. package/src/cloud/ArticleRevisions.js +0 -239
  14. package/src/cloud/Articles.js +0 -194
  15. package/src/cloud/Categories.js +0 -97
  16. package/src/cloud/EventChanges.js +0 -36
  17. package/src/cloud/EventRevisions.js +0 -246
  18. package/src/cloud/Events.js +0 -204
  19. package/src/cloud/PageChanges.js +0 -36
  20. package/src/cloud/PageRevisions.js +0 -226
  21. package/src/cloud/Pages.js +0 -185
  22. package/src/cloud/RaketaClient.js +0 -223
  23. package/src/cloud/Redirects.js +0 -81
  24. package/src/cloud/Settings.js +0 -28
  25. package/src/cloud/Tags.js +0 -80
  26. package/src/cloud/documents/articlesDocuments.js +0 -343
  27. package/src/cloud/documents/categoryDocuments.js +0 -52
  28. package/src/cloud/documents/common.js +0 -133
  29. package/src/cloud/documents/eventsDocuments.js +0 -351
  30. package/src/cloud/documents/pagesDocuments.js +0 -339
  31. package/src/cloud/documents/redirectsDocuments.js +0 -82
  32. package/src/cloud/documents/settingsDocuments.js +0 -23
  33. package/src/cloud/documents/tagsDocuments.js +0 -63
  34. package/src/currentPath.cjs +0 -1
  35. package/src/handlers/DashboardsHandler.js +0 -9
  36. package/src/handlers/RedirectsHandler.js +0 -124
  37. package/src/handlers/TagsHandler.js +0 -113
  38. package/src/handlers/_shared/SettingsHandler.js +0 -36
  39. package/src/handlers/article_revisions/ArticleRevisionsHandler.js +0 -49
  40. package/src/handlers/article_revisions/CancelSchedulesHandler.js +0 -26
  41. package/src/handlers/article_revisions/CodeHandler.js +0 -74
  42. package/src/handlers/article_revisions/GeneralHandler.js +0 -76
  43. package/src/handlers/article_revisions/LocksHandler.js +0 -77
  44. package/src/handlers/article_revisions/MetaHandler.js +0 -74
  45. package/src/handlers/article_revisions/PublishesHandler.js +0 -120
  46. package/src/handlers/article_revisions/RevertsHandler.js +0 -28
  47. package/src/handlers/article_revisions/TagHandler.js +0 -82
  48. package/src/handlers/article_revisions/UnlocksHandler.js +0 -24
  49. package/src/handlers/article_revisions/VisualHandler.js +0 -74
  50. package/src/handlers/article_revisions/WidgetHandler.js +0 -47
  51. package/src/handlers/articles/ArticlesHandler.js +0 -109
  52. package/src/handlers/articles/ClonesHandler.js +0 -19
  53. package/src/handlers/articles/DeletesHandler.js +0 -72
  54. package/src/handlers/articles/HistoryHandler.js +0 -31
  55. package/src/handlers/articles/TranslationsHandler.js +0 -231
  56. package/src/handlers/articles/URLsHandler.js +0 -83
  57. package/src/handlers/categories/index.js +0 -122
  58. package/src/handlers/event_revisions/CancelSchedulesHandler.js +0 -26
  59. package/src/handlers/event_revisions/CodeHandler.js +0 -72
  60. package/src/handlers/event_revisions/EventRevisionsHandler.js +0 -47
  61. package/src/handlers/event_revisions/GeneralHandler.js +0 -74
  62. package/src/handlers/event_revisions/LocksHandler.js +0 -65
  63. package/src/handlers/event_revisions/MetaHandler.js +0 -72
  64. package/src/handlers/event_revisions/PublishesHandler.js +0 -112
  65. package/src/handlers/event_revisions/RevertsHandler.js +0 -26
  66. package/src/handlers/event_revisions/TagHandler.js +0 -79
  67. package/src/handlers/event_revisions/UnlocksHandler.js +0 -24
  68. package/src/handlers/event_revisions/VisualHandler.js +0 -72
  69. package/src/handlers/event_revisions/WidgetHandler.js +0 -41
  70. package/src/handlers/events/ClonesHandler.js +0 -19
  71. package/src/handlers/events/DeletesHandler.js +0 -72
  72. package/src/handlers/events/EventsHandler.js +0 -111
  73. package/src/handlers/events/HistoryHandler.js +0 -31
  74. package/src/handlers/events/TranslationsHandler.js +0 -233
  75. package/src/handlers/events/URLsHandler.js +0 -81
  76. package/src/handlers/page_revisions/CancelSchedulesHandler.js +0 -26
  77. package/src/handlers/page_revisions/CodeHandler.js +0 -57
  78. package/src/handlers/page_revisions/GeneralHandler.js +0 -59
  79. package/src/handlers/page_revisions/LocksHandler.js +0 -69
  80. package/src/handlers/page_revisions/MetaHandler.js +0 -57
  81. package/src/handlers/page_revisions/PageRevisionsHandler.js +0 -47
  82. package/src/handlers/page_revisions/PublishesHandler.js +0 -112
  83. package/src/handlers/page_revisions/RevertsHandler.js +0 -26
  84. package/src/handlers/page_revisions/TagHandler.js +0 -105
  85. package/src/handlers/page_revisions/UnlocksHandler.js +0 -22
  86. package/src/handlers/page_revisions/VisualHandler.js +0 -58
  87. package/src/handlers/page_revisions/WidgetHandler.js +0 -41
  88. package/src/handlers/pages/ClonesHandler.js +0 -19
  89. package/src/handlers/pages/DeletesHandler.js +0 -68
  90. package/src/handlers/pages/HistoryHandler.js +0 -31
  91. package/src/handlers/pages/PagesHandler.js +0 -104
  92. package/src/handlers/pages/TranslationsHandler.js +0 -233
  93. package/src/handlers/pages/URLsHandler.js +0 -77
  94. package/src/helpers/AuthHelper.js +0 -49
  95. package/src/helpers/FormBuilder.js +0 -438
  96. package/src/helpers/HTMLBuilder.js +0 -38
  97. package/src/helpers/Inflector.js +0 -9
  98. package/src/helpers/Pagination.js +0 -92
  99. package/src/helpers/SortButton.js +0 -102
  100. package/src/helpers/form_for.js +0 -8
  101. package/src/helpers/historyUtils.js +0 -133
  102. package/src/helpers/pagination_helper.js +0 -5
  103. package/src/helpers/sort_button.js +0 -5
  104. package/src/helpers/utils.js +0 -21
  105. package/src/routeArticlesModule.js +0 -151
  106. package/src/routeCategoriesModule.js +0 -16
  107. package/src/routeCollection.js +0 -90
  108. package/src/routeEventsModule.js +0 -166
  109. package/src/routeMember.js +0 -40
  110. package/src/routeNestedCollection.js +0 -96
  111. package/src/routeNestedMember.js +0 -46
  112. package/src/routePagesModule.js +0 -163
  113. package/src/routeSettings.js +0 -14
  114. package/src/routeStandard.js +0 -35
  115. package/src/setGlobalContext.js +0 -5
  116. package/src/setupAuthentication.js +0 -154
  117. package/src/setupCloud.js +0 -50
  118. package/src/styles/application.css +0 -561
  119. package/src/tests/Adapter.test.js +0 -39
  120. package/src/tests/HonoAdapter.test.js +0 -34
  121. package/src/tests/Logger.test.js +0 -33
  122. package/src/tests/handlers/DashboardsHandler.test/index.test.js +0 -17
  123. package/src/tests/handlers/RedirectsHandler.test/create.test.js +0 -83
  124. package/src/tests/handlers/RedirectsHandler.test/create_form.test.js +0 -27
  125. package/src/tests/handlers/RedirectsHandler.test/destroy.test.js +0 -53
  126. package/src/tests/handlers/RedirectsHandler.test/edit_form.test.js +0 -37
  127. package/src/tests/handlers/RedirectsHandler.test/index.test.js +0 -41
  128. package/src/tests/handlers/RedirectsHandler.test/show.test.js +0 -41
  129. package/src/tests/handlers/RedirectsHandler.test/update.test.js +0 -88
  130. package/src/tests/handlers/TagsHandler.test/create.test.js +0 -96
  131. package/src/tests/handlers/TagsHandler.test/create_form.test.js +0 -25
  132. package/src/tests/handlers/TagsHandler.test/destroy.test.js +0 -51
  133. package/src/tests/handlers/TagsHandler.test/edit_form.test.js +0 -60
  134. package/src/tests/handlers/TagsHandler.test/index.test.js +0 -37
  135. package/src/tests/handlers/TagsHandler.test/update.test.js +0 -105
  136. package/src/tests/handlers/_shared/SettingsHandler.test/edit_form.test.js +0 -36
  137. package/src/tests/handlers/_shared/SettingsHandler.test/update.test.js +0 -114
  138. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/create.test.js +0 -79
  139. package/src/tests/handlers/article_revisions/ArticleRevisionsHandler.test/destroy.test.js +0 -57
  140. package/src/tests/handlers/article_revisions/CancelScheduledHandler.test/create.test.js +0 -90
  141. package/src/tests/handlers/article_revisions/CodesHandler.test/edit_form.test.js +0 -56
  142. package/src/tests/handlers/article_revisions/CodesHandler.test/update.test.js +0 -161
  143. package/src/tests/handlers/article_revisions/GeneralHandler.test/edit_form.test.js +0 -59
  144. package/src/tests/handlers/article_revisions/GeneralHandler.test/update.test.js +0 -162
  145. package/src/tests/handlers/article_revisions/LocksHandler.test/create.test.js +0 -142
  146. package/src/tests/handlers/article_revisions/LocksHandler.test/create_form.test.js +0 -55
  147. package/src/tests/handlers/article_revisions/MetaHandler.test/edit_form.test.js +0 -56
  148. package/src/tests/handlers/article_revisions/MetaHandler.test/update.test.js +0 -163
  149. package/src/tests/handlers/article_revisions/PublishesHandler.test/create.test.js +0 -333
  150. package/src/tests/handlers/article_revisions/PublishesHandler.test/create_form.test.js +0 -48
  151. package/src/tests/handlers/article_revisions/RevertsHandler.test/create.test.js +0 -86
  152. package/src/tests/handlers/article_revisions/TagHandler.test/edit_form.test.js +0 -72
  153. package/src/tests/handlers/article_revisions/TagHandler.test/update.test.js +0 -153
  154. package/src/tests/handlers/article_revisions/UnlocksHandler.test/create.test.js +0 -84
  155. package/src/tests/handlers/article_revisions/VisualHandler.test.test/edit_form.test.js +0 -56
  156. package/src/tests/handlers/article_revisions/VisualHandler.test.test/update.test.js +0 -146
  157. package/src/tests/handlers/article_revisions/WidgetHandler.test/show.test.js +0 -46
  158. package/src/tests/handlers/article_revisions/WidgetHandler.test/update.test.js +0 -103
  159. package/src/tests/handlers/articles/ArticlesHandler.test/create.test.js +0 -172
  160. package/src/tests/handlers/articles/ArticlesHandler.test/create_form.test.js +0 -44
  161. package/src/tests/handlers/articles/ArticlesHandler.test/index.test.js +0 -57
  162. package/src/tests/handlers/articles/ArticlesHandler.test/show.test.js +0 -109
  163. package/src/tests/handlers/articles/ArticlesHistoryHandler.test/index.test.js +0 -87
  164. package/src/tests/handlers/articles/ClonesHandler.test/create.test.js +0 -57
  165. package/src/tests/handlers/articles/DeletesHandler.test/create.test.js +0 -115
  166. package/src/tests/handlers/articles/DeletesHandler.test/create_form.test.js +0 -60
  167. package/src/tests/handlers/articles/TranslationHandler.test/create.test.js +0 -297
  168. package/src/tests/handlers/articles/TranslationHandler.test/create_form.test.js +0 -71
  169. package/src/tests/handlers/articles/TranslationHandler.test/index.test.js +0 -91
  170. package/src/tests/handlers/articles/URLsHandler.test/create.test.js +0 -160
  171. package/src/tests/handlers/articles/URLsHandler.test/create_form.test.js +0 -55
  172. package/src/tests/handlers/categories/create.test.js +0 -94
  173. package/src/tests/handlers/categories/create_form.test.js +0 -26
  174. package/src/tests/handlers/categories/destroy.test.js +0 -57
  175. package/src/tests/handlers/categories/edit_form.test.js +0 -59
  176. package/src/tests/handlers/categories/index.test.js +0 -46
  177. package/src/tests/handlers/categories/update.test.js +0 -88
  178. package/src/tests/handlers/event_revisions/CancelScheduledHandler.test/create.test.js +0 -90
  179. package/src/tests/handlers/event_revisions/CodesHandler.test/edit_form.test.js +0 -60
  180. package/src/tests/handlers/event_revisions/CodesHandler.test/update.test.js +0 -171
  181. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/create.test.js +0 -79
  182. package/src/tests/handlers/event_revisions/EventRevisionsHandler.test/destroy.test.js +0 -57
  183. package/src/tests/handlers/event_revisions/GeneralHandler.test/edit_form.test.js +0 -63
  184. package/src/tests/handlers/event_revisions/GeneralHandler.test/update.test.js +0 -172
  185. package/src/tests/handlers/event_revisions/LocksHandler.test/create.test.js +0 -142
  186. package/src/tests/handlers/event_revisions/LocksHandler.test/create_form.test.js +0 -55
  187. package/src/tests/handlers/event_revisions/MetaHandler.test/edit_form.test.js +0 -60
  188. package/src/tests/handlers/event_revisions/MetaHandler.test/update.test.js +0 -173
  189. package/src/tests/handlers/event_revisions/PublishesHandler.test/create.test.js +0 -333
  190. package/src/tests/handlers/event_revisions/PublishesHandler.test/create_form.test.js +0 -48
  191. package/src/tests/handlers/event_revisions/RevertsHandler.test/create.test.js +0 -83
  192. package/src/tests/handlers/event_revisions/TagHandler.test/edit_form.test.js +0 -76
  193. package/src/tests/handlers/event_revisions/TagHandler.test/update.test.js +0 -163
  194. package/src/tests/handlers/event_revisions/UnlocksHandler.test/create.test.js +0 -84
  195. package/src/tests/handlers/event_revisions/VisualHandler.test.test/edit_form.test.js +0 -60
  196. package/src/tests/handlers/event_revisions/VisualHandler.test.test/update.test.js +0 -156
  197. package/src/tests/handlers/event_revisions/WidgetHandler.test/show.test.js +0 -46
  198. package/src/tests/handlers/event_revisions/WidgetHandler.test/update.test.js +0 -103
  199. package/src/tests/handlers/events/ClonesHandler.test/create.test.js +0 -57
  200. package/src/tests/handlers/events/DeletesHandler.test/create.test.js +0 -115
  201. package/src/tests/handlers/events/DeletesHandler.test/create_form.test.js +0 -60
  202. package/src/tests/handlers/events/EventsHandler.test/create.test.js +0 -172
  203. package/src/tests/handlers/events/EventsHandler.test/create_form.test.js +0 -45
  204. package/src/tests/handlers/events/EventsHandler.test/index.test.js +0 -53
  205. package/src/tests/handlers/events/EventsHandler.test/show.test.js +0 -109
  206. package/src/tests/handlers/events/EventsHistoryHandler.test/index.test.js +0 -87
  207. package/src/tests/handlers/events/TranslationHandler.test/create.test.js +0 -303
  208. package/src/tests/handlers/events/TranslationHandler.test/create_form.test.js +0 -71
  209. package/src/tests/handlers/events/TranslationHandler.test/index.test.js +0 -91
  210. package/src/tests/handlers/events/URLsHandler.test/create.test.js +0 -160
  211. package/src/tests/handlers/events/URLsHandler.test/create_form.test.js +0 -55
  212. package/src/tests/handlers/page_revisions/CancelScheduledHandler.test/create.test.js +0 -86
  213. package/src/tests/handlers/page_revisions/CodesHandler.test/edit_form.test.js +0 -58
  214. package/src/tests/handlers/page_revisions/CodesHandler.test/update.test.js +0 -154
  215. package/src/tests/handlers/page_revisions/GeneralHandler.test/edit_form.test.js +0 -54
  216. package/src/tests/handlers/page_revisions/GeneralHandler.test/update.test.js +0 -166
  217. package/src/tests/handlers/page_revisions/LocksHandler.test/create.test.js +0 -138
  218. package/src/tests/handlers/page_revisions/LocksHandler.test/create_form.test.js +0 -55
  219. package/src/tests/handlers/page_revisions/MetaHandler.test/edit_form.test.js +0 -51
  220. package/src/tests/handlers/page_revisions/MetaHandler.test/update.test.js +0 -159
  221. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/create.test.js +0 -71
  222. package/src/tests/handlers/page_revisions/PageRevisionsHandler.test/destroy.test.js +0 -57
  223. package/src/tests/handlers/page_revisions/PublishesHandler.test/create.test.js +0 -333
  224. package/src/tests/handlers/page_revisions/PublishesHandler.test/create_form.test.js +0 -48
  225. package/src/tests/handlers/page_revisions/RevertsHandler.test/create.test.js +0 -83
  226. package/src/tests/handlers/page_revisions/TagHandler.test/edit_form.test.js +0 -100
  227. package/src/tests/handlers/page_revisions/TagHandler.test/update.test.js +0 -180
  228. package/src/tests/handlers/page_revisions/UnlocksHandler.test/create.test.js +0 -80
  229. package/src/tests/handlers/page_revisions/VisualHandler.test.test/edit_form.test.js +0 -58
  230. package/src/tests/handlers/page_revisions/VisualHandler.test.test/update.test.js +0 -139
  231. package/src/tests/handlers/page_revisions/WidgetHandler.test/show.test.js +0 -46
  232. package/src/tests/handlers/page_revisions/WidgetHandler.test/update.test.js +0 -103
  233. package/src/tests/handlers/pages/ConesHandler.test/create.test.js +0 -57
  234. package/src/tests/handlers/pages/DeletesHandler.test/create.test.js +0 -115
  235. package/src/tests/handlers/pages/DeletesHandler.test/create_form.test.js +0 -60
  236. package/src/tests/handlers/pages/PagesHandler.test/create.test.js +0 -167
  237. package/src/tests/handlers/pages/PagesHandler.test/create_form.test.js +0 -41
  238. package/src/tests/handlers/pages/PagesHandler.test/index.test.js +0 -53
  239. package/src/tests/handlers/pages/PagesHandler.test/show.test.js +0 -107
  240. package/src/tests/handlers/pages/PagesHistoryHandler.test/index.test.js +0 -87
  241. package/src/tests/handlers/pages/TranslationHandler.test/create.test.js +0 -290
  242. package/src/tests/handlers/pages/TranslationHandler.test/create_form.test.js +0 -71
  243. package/src/tests/handlers/pages/TranslationHandler.test/index.test.js +0 -87
  244. package/src/tests/handlers/pages/URLsHandler.test/create.test.js +0 -160
  245. package/src/tests/handlers/pages/URLsHandler.test/create_form.test.js +0 -58
  246. package/src/tests/helpers/AuthHelper.test.js +0 -169
  247. package/src/tests/helpers/FormBuildert.test.js +0 -357
  248. package/src/tests/helpers/HTMLBuilder.test.js +0 -44
  249. package/src/tests/helpers/Inflector.test.js +0 -75
  250. package/src/tests/helpers/Pagination.test.js +0 -65
  251. package/src/tests/helpers/SortButton.test.js +0 -85
  252. package/src/tests/helpers/historyUtils.test.js +0 -107
  253. package/src/tests/helpers/utils.test.js +0 -27
  254. package/src/tests/routeCollection.test.js +0 -163
  255. package/src/tests/routeMember.test.js +0 -97
  256. package/src/tests/routeNestedCollection.test.js +0 -182
  257. package/src/tests/routeNestedMember.test.js +0 -102
  258. package/src/tests/support/factory.js +0 -194
  259. package/src/tests/support/handlersHelper.js +0 -31
  260. package/src/utils.js +0 -30
  261. package/src/views/_auth/login.ejs +0 -82
  262. package/src/views/_shared/_credentials_input.ejs +0 -31
  263. package/src/views/_shared/_layout_input.ejs +0 -5
  264. package/src/views/_shared/_scripts_input.ejs +0 -5
  265. package/src/views/_shared/_structured_json_input.ejs +0 -7
  266. package/src/views/article_revisions/_nav.ejs +0 -44
  267. package/src/views/article_revisions/codes/_form.ejs +0 -13
  268. package/src/views/article_revisions/codes/edit_form.ejs +0 -16
  269. package/src/views/article_revisions/general/_form.ejs +0 -17
  270. package/src/views/article_revisions/general/edit_form.ejs +0 -16
  271. package/src/views/article_revisions/locks/_form.ejs +0 -11
  272. package/src/views/article_revisions/locks/create_form.ejs +0 -27
  273. package/src/views/article_revisions/meta/_form.ejs +0 -15
  274. package/src/views/article_revisions/meta/edit_form.ejs +0 -16
  275. package/src/views/article_revisions/publishes/_form.ejs +0 -70
  276. package/src/views/article_revisions/publishes/create_form.ejs +0 -9
  277. package/src/views/article_revisions/tags/_form.ejs +0 -12
  278. package/src/views/article_revisions/tags/edit_form.ejs +0 -16
  279. package/src/views/article_revisions/visuals/_form.ejs +0 -12
  280. package/src/views/article_revisions/visuals/edit_form.ejs +0 -16
  281. package/src/views/articles/_form.ejs +0 -45
  282. package/src/views/articles/_shared/_history_toolbar.ejs +0 -24
  283. package/src/views/articles/_shared/_revision_toolbar.ejs +0 -68
  284. package/src/views/articles/_shared/_title.ejs +0 -11
  285. package/src/views/articles/_shared/_toolbar.ejs +0 -33
  286. package/src/views/articles/_shared/history_table.ejs +0 -68
  287. package/src/views/articles/create_form.ejs +0 -9
  288. package/src/views/articles/deletes/create_form.ejs +0 -68
  289. package/src/views/articles/history/index.ejs +0 -87
  290. package/src/views/articles/index.ejs +0 -171
  291. package/src/views/articles/show.ejs +0 -234
  292. package/src/views/articles/translations/_translation_toolbar.ejs +0 -18
  293. package/src/views/articles/translations/create_form.ejs +0 -75
  294. package/src/views/articles/translations/index.ejs +0 -39
  295. package/src/views/articles/urls/create_form.ejs +0 -36
  296. package/src/views/categories/_form.ejs +0 -24
  297. package/src/views/categories/create_form.ejs +0 -9
  298. package/src/views/categories/edit_form.ejs +0 -9
  299. package/src/views/categories/index.ejs +0 -35
  300. package/src/views/dashboard/index.ejs +0 -23
  301. package/src/views/event_revisions/_nav.ejs +0 -44
  302. package/src/views/event_revisions/codes/_form.ejs +0 -13
  303. package/src/views/event_revisions/codes/edit_form.ejs +0 -16
  304. package/src/views/event_revisions/general/_form.ejs +0 -19
  305. package/src/views/event_revisions/general/edit_form.ejs +0 -16
  306. package/src/views/event_revisions/locks/_form.ejs +0 -11
  307. package/src/views/event_revisions/locks/create_form.ejs +0 -27
  308. package/src/views/event_revisions/meta/_form.ejs +0 -15
  309. package/src/views/event_revisions/meta/edit_form.ejs +0 -16
  310. package/src/views/event_revisions/publishes/_form.ejs +0 -77
  311. package/src/views/event_revisions/publishes/create_form.ejs +0 -9
  312. package/src/views/event_revisions/tags/_form.ejs +0 -12
  313. package/src/views/event_revisions/tags/edit_form.ejs +0 -16
  314. package/src/views/event_revisions/visuals/_form.ejs +0 -12
  315. package/src/views/event_revisions/visuals/edit_form.ejs +0 -16
  316. package/src/views/events/_form.ejs +0 -47
  317. package/src/views/events/_shared/_history_toolbar.ejs +0 -24
  318. package/src/views/events/_shared/_revision_toolbar.ejs +0 -68
  319. package/src/views/events/_shared/_title.ejs +0 -12
  320. package/src/views/events/_shared/_toolbar.ejs +0 -33
  321. package/src/views/events/_shared/history_table.ejs +0 -68
  322. package/src/views/events/create_form.ejs +0 -9
  323. package/src/views/events/deletes/create_form.ejs +0 -68
  324. package/src/views/events/history/index.ejs +0 -87
  325. package/src/views/events/index.ejs +0 -171
  326. package/src/views/events/show.ejs +0 -234
  327. package/src/views/events/translations/_translation_toolbar.ejs +0 -18
  328. package/src/views/events/translations/create_form.ejs +0 -75
  329. package/src/views/events/translations/index.ejs +0 -39
  330. package/src/views/events/urls/create_form.ejs +0 -36
  331. package/src/views/layouts/application.ejs +0 -239
  332. package/src/views/layouts/header.ejs +0 -47
  333. package/src/views/page_revisions/_nav.ejs +0 -44
  334. package/src/views/page_revisions/codes/_form.ejs +0 -13
  335. package/src/views/page_revisions/codes/edit_form.ejs +0 -16
  336. package/src/views/page_revisions/general/_form.ejs +0 -16
  337. package/src/views/page_revisions/general/edit_form.ejs +0 -16
  338. package/src/views/page_revisions/locks/_form.ejs +0 -11
  339. package/src/views/page_revisions/locks/create_form.ejs +0 -27
  340. package/src/views/page_revisions/meta/_form.ejs +0 -15
  341. package/src/views/page_revisions/meta/edit_form.ejs +0 -16
  342. package/src/views/page_revisions/publishes/_form.ejs +0 -76
  343. package/src/views/page_revisions/publishes/create_form.ejs +0 -9
  344. package/src/views/page_revisions/tags/_form.ejs +0 -12
  345. package/src/views/page_revisions/tags/edit_form.ejs +0 -21
  346. package/src/views/page_revisions/visuals/_form.ejs +0 -12
  347. package/src/views/page_revisions/visuals/edit_form.ejs +0 -16
  348. package/src/views/pages/_form.ejs +0 -44
  349. package/src/views/pages/_shared/_history_toolbar.ejs +0 -24
  350. package/src/views/pages/_shared/_revision_toolbar.ejs +0 -68
  351. package/src/views/pages/_shared/_title.ejs +0 -12
  352. package/src/views/pages/_shared/_toolbar.ejs +0 -33
  353. package/src/views/pages/_shared/history_table.ejs +0 -68
  354. package/src/views/pages/create_form.ejs +0 -9
  355. package/src/views/pages/deletes/create_form.ejs +0 -68
  356. package/src/views/pages/history/index.ejs +0 -87
  357. package/src/views/pages/index.ejs +0 -166
  358. package/src/views/pages/show.ejs +0 -235
  359. package/src/views/pages/translations/_translation_toolbar.ejs +0 -18
  360. package/src/views/pages/translations/create_form.ejs +0 -75
  361. package/src/views/pages/translations/index.ejs +0 -39
  362. package/src/views/pages/urls/create_form.ejs +0 -36
  363. package/src/views/redirects/_form.ejs +0 -26
  364. package/src/views/redirects/create_form.ejs +0 -9
  365. package/src/views/redirects/edit_form.ejs +0 -9
  366. package/src/views/redirects/index.ejs +0 -75
  367. package/src/views/redirects/show.ejs +0 -60
  368. package/src/views/settings/_nav.ejs +0 -22
  369. package/src/views/settings/layout/edit_form.ejs +0 -58
  370. package/src/views/settings/meta/edit_form.ejs +0 -24
  371. package/src/views/tags/_form.ejs +0 -25
  372. package/src/views/tags/create_form.ejs +0 -9
  373. package/src/views/tags/edit_form.ejs +0 -9
  374. package/src/views/tags/index.ejs +0 -43
  375. package/tailwind.config.js +0 -40
  376. package/tsconfig.json +0 -15
  377. package/tsconfig.lint.json +0 -8
@@ -1,438 +0,0 @@
1
- import HTMLBuilder from "./HTMLBuilder";
2
-
3
- const BUTTON_FIELDS_MAP = {
4
- label: { label: "Label" },
5
- link: { label: "Link" },
6
- id: { label: "ID" },
7
- type: {
8
- label: "Type",
9
- as: "select",
10
- options: [
11
- ["primary", "Primary"],
12
- ["secondary", "Secondary"],
13
- ["text", "Text"],
14
- ],
15
- },
16
- target: {
17
- label: "Target",
18
- as: "select",
19
- options: [
20
- ["_self", "Self"],
21
- ["_blank", "New Tab"],
22
- ],
23
- },
24
- rel: {
25
- label: "Follow Link",
26
- as: "select",
27
- options: [
28
- ["follow", "Follow"],
29
- ["nofollow", "No Follow"],
30
- ],
31
- },
32
- };
33
-
34
- const LINK_FIELDS_MAP = {
35
- label: { label: "Label" },
36
- link: { label: "Link" },
37
- id: { label: "ID" },
38
- className: {
39
- label: "CSS Class",
40
- },
41
- target: {
42
- label: "Target",
43
- as: "select",
44
- options: [
45
- ["_self", "Self"],
46
- ["_blank", "New Tab"],
47
- ],
48
- },
49
- rel: {
50
- label: "Follow Link",
51
- as: "select",
52
- options: [
53
- ["follow", "Follow"],
54
- ["nofollow", "No Follow"],
55
- ],
56
- },
57
- };
58
-
59
- function dig(obj, path) {
60
- return path.split(".").reduce((acc, key) => {
61
- if (acc && Object.hasOwn(acc, key)) {
62
- return acc[key];
63
- }
64
-
65
- return undefined;
66
- }, obj);
67
- }
68
-
69
- function humanize(string) {
70
- if (typeof string !== "string") {
71
- return "";
72
- }
73
-
74
- return string
75
- .replace(/^_+|_+$/g, "")
76
- .replace(/_id$/, "")
77
- .replace(/_/g, " ")
78
- .replace(/([a-z\d])([A-Z])/g, "$1 $2")
79
- .replace(/\b([A-Z]+)([A-Z][a-z])/g, "$1 $2")
80
- .toLowerCase()
81
- .replace(/\b\w/g, (c) => c.toUpperCase());
82
- }
83
-
84
- function toFormName(dotNotation) {
85
- return dotNotation
86
- .split(".")
87
- .map((part, index) => (index === 0 ? part : `[${part}]`))
88
- .join("");
89
- }
90
-
91
- export default class FormBuilder extends HTMLBuilder {
92
- constructor(obj = {}, errors = {}, config = {}) {
93
- super();
94
- this.obj = obj;
95
- this.errors = errors;
96
- this.config = config;
97
- }
98
-
99
- __getValue(name) {
100
- return dig(this.obj, name) || "";
101
- }
102
-
103
- __getError(name) {
104
- return dig(this.errors, name) || "";
105
- }
106
-
107
- __getFieldName(name) {
108
- return name.split(".").at(-1).replace("[]", "");
109
- }
110
-
111
- __getID(name) {
112
- return `f_${name.replaceAll(".", "_")}`;
113
- }
114
-
115
- __getDefaultLabel(name) {
116
- const field = this.__getFieldName(name);
117
- return humanize(field);
118
- }
119
-
120
- withHint(markup, hint) {
121
- return [markup, hint ? this.hint(hint) : ""].join("");
122
- }
123
-
124
- input(name, opts = {}) {
125
- const { hint = "", ...rest } = opts;
126
- const value = this.__getValue(name);
127
-
128
- return this.withHint(
129
- this.tag("input", null, { type: "text", name, value, ...rest }),
130
- hint
131
- );
132
- }
133
-
134
- textarea(name, opts = {}) {
135
- const { value, hint = "", ...rest } = opts;
136
-
137
- return this.withHint(
138
- this.tag(
139
- "textarea",
140
- value || this.__getValue(name),
141
- {
142
- name,
143
- ...rest,
144
- },
145
- { nonVoid: true }
146
- ),
147
- hint
148
- );
149
- }
150
-
151
- select(name, opts = {}) {
152
- const {
153
- value,
154
- options = [],
155
- prompt = "Please select...",
156
- hint = "",
157
- ...rest
158
- } = opts;
159
- const selected = value || this.__getValue(name);
160
-
161
- const renderedOpts = [];
162
-
163
- if (prompt) {
164
- renderedOpts.push(this.tag("option", prompt, { value: "" }));
165
- }
166
-
167
- for (const o of options) {
168
- const additionalOpts = o[0] === selected ? { selected: "selected" } : {};
169
-
170
- renderedOpts.push(
171
- this.tag("option", o[1], { value: o[0], ...additionalOpts })
172
- );
173
- }
174
-
175
- return this.withHint(
176
- this.tag("select", renderedOpts.join(""), { name, ...rest }),
177
- hint
178
- );
179
- }
180
-
181
- radio_group(name, opts = {}) {
182
- const { value, options = [], hint = "", ...rest } = opts;
183
- const selected = value || this.__getValue(name);
184
-
185
- const renderedOpts = [];
186
-
187
- for (const o of options) {
188
- const additionalOpts = o[0] === selected ? { checked: "checked" } : {};
189
-
190
- const radio = this.tag("input", null, {
191
- type: "radio",
192
- name: opts.name,
193
- value: o[0],
194
- ...additionalOpts,
195
- });
196
-
197
- renderedOpts.push(this.tag("label", `${radio} ${o[1]}`));
198
- }
199
-
200
- return this.withHint(
201
- this.tag("div", renderedOpts.join(""), {
202
- ...rest,
203
- class: ["radio-group", rest.class].filter(Boolean).join(" "),
204
- }),
205
- hint
206
- );
207
- }
208
-
209
- checkbox_group(name, opts = {}) {
210
- const { value, options = [], hint = "", name: optsName, ...rest } = opts;
211
- const selected = value || this.__getValue(name);
212
-
213
- const renderedOpts = [];
214
-
215
- for (const o of options) {
216
- const additionalOpts = selected.includes(o[0])
217
- ? { checked: "checked" }
218
- : {};
219
-
220
- const checkbox = this.tag("input", null, {
221
- type: "checkbox",
222
- name: `${optsName}[]`,
223
- value: o[0],
224
- ...additionalOpts,
225
- });
226
-
227
- renderedOpts.push(this.tag("label", `${checkbox} ${o[1]}`));
228
- }
229
-
230
- if (renderedOpts.length) {
231
- renderedOpts.push(
232
- this.tag("input", null, {
233
- type: "hidden",
234
- name: `${optsName}[]`,
235
- value: "",
236
- })
237
- );
238
- }
239
-
240
- return this.withHint(
241
- this.tag(
242
- "div",
243
-
244
- renderedOpts.length
245
- ? renderedOpts.join("")
246
- : this.tag("div", "No items available.", {
247
- class: "italic opacity-50",
248
- }),
249
-
250
- {
251
- ...rest,
252
- class: ["checkbox-group", rest.class].filter(Boolean).join(" "),
253
- }
254
- ),
255
- hint
256
- );
257
- }
258
-
259
- checkbox(name, opts = {}) {
260
- const { value: desiredValue, default_value: defaultValue, ...rest } = opts;
261
- const value = this.__getValue(name);
262
- const selected = value === desiredValue ? { checked: "checked" } : {};
263
-
264
- const checkboxItem = this.tag("input", null, {
265
- type: "checkbox",
266
- value: desiredValue,
267
- ...rest,
268
- ...selected,
269
- });
270
-
271
- if (defaultValue === undefined) {
272
- return checkboxItem;
273
- }
274
-
275
- // Make sure to submit the negative value if unchecked
276
- const hiddenComplementaryItem = this.tag("input", null, {
277
- type: "hidden",
278
- name: toFormName(name),
279
- value: defaultValue,
280
- });
281
-
282
- return [hiddenComplementaryItem, checkboxItem].join("");
283
- }
284
-
285
- label(name, children, opts = {}) {
286
- const htmlID = this.__getID(name);
287
- return this.tag("label", children, { for: htmlID, ...opts });
288
- }
289
-
290
- error(children) {
291
- return this.tag("span", children, { class: "text-red-600" });
292
- }
293
-
294
- hint(children) {
295
- return this.tag("span", children, { class: "help-block" });
296
- }
297
-
298
- group(children, opts = {}) {
299
- return this.tag("div", children, {
300
- class: ["mb-4", opts.class].filter(Boolean).join(" "),
301
- });
302
- }
303
-
304
- submit(label, opts = {}) {
305
- return this.tag("button", label, { type: "submit", ...opts });
306
- }
307
-
308
- button(name, opts) {
309
- const { label, hint = "" } = opts;
310
- const defaultLabel = label || this.__getDefaultLabel(name);
311
- const fields = Object.keys(BUTTON_FIELDS_MAP).map((key) => {
312
- const innerOpts = BUTTON_FIELDS_MAP[key];
313
-
314
- if (innerOpts.as) {
315
- return this.field(`${name}.${key}`, {
316
- as: innerOpts.as,
317
- options: this.config.buttons?.[`${key}Options`] || innerOpts.options,
318
- label: innerOpts.label,
319
- class: "no-margin",
320
- });
321
- }
322
- return this.field(`${name}.${key}`, {
323
- label: innerOpts.label,
324
- class: "no-margin",
325
- });
326
- });
327
-
328
- return this.tag(
329
- "fieldset",
330
- [
331
- this.tag("legend", defaultLabel, {}),
332
- ...fields,
333
- hint ? this.hint(hint) : "",
334
- ].join(""),
335
- {
336
- class: "button-group",
337
- }
338
- );
339
- }
340
-
341
- link(name, opts) {
342
- const { label, hint = "" } = opts;
343
- const defaultLabel = label || this.__getDefaultLabel(name);
344
- const fields = Object.keys(LINK_FIELDS_MAP).map((key) => {
345
- const innerOpts = LINK_FIELDS_MAP[key];
346
-
347
- if (innerOpts.as) {
348
- return this.field(`${name}.${key}`, {
349
- as: innerOpts.as,
350
- options: innerOpts.options,
351
- label: innerOpts.label,
352
- class: "no-margin",
353
- });
354
- }
355
- return this.field(`${name}.${key}`, {
356
- label: innerOpts.label,
357
- class: "no-margin",
358
- });
359
- });
360
-
361
- return this.tag(
362
- "fieldset",
363
- [
364
- this.tag("legend", defaultLabel, {}),
365
- ...fields,
366
- hint ? this.hint(hint) : "",
367
- ].join(""),
368
- {
369
- class: "link-group",
370
- }
371
- );
372
- }
373
-
374
- field(name, opts = {}) {
375
- const { as = "input", label, ...rest } = opts;
376
-
377
- if (as === "button" || as === "link") {
378
- return this[as](name, { ...rest, label });
379
- }
380
-
381
- if (rest.type === "hidden") {
382
- return this.tag("input", null, {
383
- name: toFormName(name),
384
- ...rest,
385
- });
386
- }
387
-
388
- let defaultLabel = this.__getDefaultLabel(name);
389
-
390
- if (Object.hasOwn(opts, "label")) {
391
- defaultLabel = opts?.label;
392
- }
393
-
394
- const htmlID = this.__getID(name);
395
- const error = this.__getError(name);
396
-
397
- if (as === "checkbox") {
398
- const { hint = "", ...cbOptsRest } = rest;
399
-
400
- return this.group(
401
- [
402
- this.tag(
403
- "div",
404
- [
405
- this[as](name, {
406
- id: htmlID,
407
- name: toFormName(name),
408
- ...cbOptsRest,
409
- }),
410
- this.label(name, `${label || defaultLabel}`),
411
- ]
412
- .filter(Boolean)
413
- .join(""),
414
- {
415
- class: "checkbox-wrapper",
416
- }
417
- ),
418
- hint ? this.hint(hint) : "",
419
- error ? this.error(error) : "",
420
- ]
421
- .filter(Boolean)
422
- .join(""),
423
- { class: error ? "has-error" : "" }
424
- );
425
- }
426
-
427
- return this.group(
428
- [
429
- this.label(name, label || defaultLabel),
430
- this[as](name, { id: htmlID, name: toFormName(name), ...rest }),
431
- error ? this.error(error) : "",
432
- ]
433
- .filter(Boolean)
434
- .join(""),
435
- { class: error ? "has-error" : "" }
436
- );
437
- }
438
- }
@@ -1,38 +0,0 @@
1
- export default class HTMLBuilder {
2
- constructor() {
3
- // biome-ignore lint/correctness/noConstructorReturn: <explanation>
4
- return new Proxy(this, {
5
- get: (target, prop) => {
6
- if (prop in target) {
7
- return target[prop];
8
- }
9
-
10
- return this.__notExisting.bind(this, prop);
11
- },
12
- });
13
- }
14
-
15
- __notExisting(methodName, ...args) {
16
- return args.length === 1
17
- ? this.tag(methodName, null, ...args)
18
- : this.tag(methodName, ...args);
19
- }
20
-
21
- escape(str) {
22
- return str.toString().replaceAll('"', '\\"');
23
- }
24
-
25
- tag(tag, children = null, attributes = {}, opts = {}) {
26
- const nonVoid = opts?.nonVoid;
27
-
28
- const htmlAttributes = Object.keys(attributes).reduce((acc, curr) => {
29
- const appended = `${acc} ${curr}="${this.escape(attributes[curr])}"`;
30
- return appended;
31
- }, "");
32
-
33
- if (children || nonVoid)
34
- return `<${tag} ${htmlAttributes}>${children ? children : ""}</${tag}>`;
35
-
36
- return `<${tag} ${htmlAttributes} />`;
37
- }
38
- }
@@ -1,9 +0,0 @@
1
- const Inflector = {
2
- capitalize: (str) => str[0].toUpperCase() + str.slice(1),
3
- downcase: (str) => str.toLowerCase(),
4
- humanize: (str) => {
5
- return str.replaceAll(/[_-]+/g, " ");
6
- },
7
- };
8
-
9
- export default Inflector;
@@ -1,92 +0,0 @@
1
- import HTMLBuilder from "./HTMLBuilder";
2
-
3
- export default class Pagination extends HTMLBuilder {
4
- constructor(pagination, router) {
5
- super();
6
- this.pagination = pagination;
7
- this.query = router.query;
8
- this.path = router.path;
9
- }
10
-
11
- __inactiveButton(children) {
12
- return this.tag("span", children, {
13
- class: "btn-text is-inactive",
14
- });
15
- }
16
-
17
- __activeButton(children, opts = {}) {
18
- return this.tag("a", children, {
19
- class: "btn-text",
20
- ...opts,
21
- });
22
- }
23
-
24
- __pageNumberForm() {
25
- return this.tag(
26
- "form",
27
- [
28
- this.tag("input", "", {
29
- type: "number",
30
- value: this.pagination.currentPage,
31
- }),
32
- `of ${this.pagination.pagesCount}`,
33
- ].join(" "),
34
- { action: this.path, method: "GET" }
35
- );
36
- }
37
-
38
- __paginationElement(children) {
39
- return this.tag("div", this.tag("div", children), { class: "pagination" });
40
- }
41
-
42
- __buildHref(pageNumber) {
43
- return [
44
- this.path,
45
- new URLSearchParams({ ...this.query, page: pageNumber }).toString(),
46
- ]
47
- .filter(Boolean)
48
- .join("?");
49
- }
50
-
51
- build() {
52
- if (this.pagination.pagesCount === 1) {
53
- return "";
54
- }
55
-
56
- const children = [];
57
-
58
- if (this.pagination.currentPage === 1) {
59
- children.push(
60
- this.__inactiveButton("First"),
61
- this.__inactiveButton("Previous")
62
- );
63
- } else {
64
- children.push(
65
- this.__activeButton("First", { href: this.__buildHref(1) }),
66
- this.__activeButton("Previous", {
67
- href: this.__buildHref(this.pagination.currentPage - 1),
68
- })
69
- );
70
- }
71
-
72
- children.push(this.__pageNumberForm());
73
-
74
- if (this.pagination.currentPage === this.pagination.pagesCount) {
75
- children.push(
76
- this.__inactiveButton("Next"),
77
- this.__inactiveButton("Last")
78
- );
79
- } else {
80
- children.push(
81
- this.__activeButton("Next", {
82
- href: this.__buildHref(this.pagination.currentPage + 1),
83
- }),
84
- this.__activeButton("Last", {
85
- href: this.__buildHref(this.pagination.pagesCount),
86
- })
87
- );
88
- }
89
-
90
- return this.__paginationElement(children.join("\n"));
91
- }
92
- }
@@ -1,102 +0,0 @@
1
- import HTMLBuilder from "./HTMLBuilder";
2
-
3
- export default class SortButton extends HTMLBuilder {
4
- constructor(label, name, router) {
5
- super();
6
- this.title = label;
7
- this.name = name;
8
- this.query = router.query;
9
- this.path = router.path;
10
- }
11
-
12
- inactiveIcon() {
13
- return `<svg
14
- xmlns="http://www.w3.org/2000/svg"
15
- viewBox="0 0 20 20"
16
- fill="currentColor"
17
- class="size-4"
18
- >
19
- <path
20
- fill-rule="evenodd"
21
- d="M2.24 6.8a.75.75 0 0 0 1.06-.04l1.95-2.1v8.59a.75.75 0 0 0 1.5 0V4.66l1.95 2.1a.75.75 0 1 0 1.1-1.02l-3.25-3.5a.75.75 0 0 0-1.1 0L2.2 5.74a.75.75 0 0 0 .04 1.06Zm8 6.4a.75.75 0 0 0-.04 1.06l3.25 3.5a.75.75 0 0 0 1.1 0l3.25-3.5a.75.75 0 1 0-1.1-1.02l-1.95 2.1V6.75a.75.75 0 0 0-1.5 0v8.59l-1.95-2.1a.75.75 0 0 0-1.06-.04Z"
22
- clip-rule="evenodd"
23
- />
24
- </svg>`;
25
- }
26
-
27
- descIcon() {
28
- return `<svg
29
- xmlns="http://www.w3.org/2000/svg"
30
- viewBox="0 0 20 20"
31
- fill="currentColor"
32
- class="size-4"
33
- >
34
- <path
35
- fill-rule="evenodd"
36
- d="M10 3a.75.75 0 0 1 .75.75v10.638l3.96-4.158a.75.75 0 1 1 1.08 1.04l-5.25 5.5a.75.75 0 0 1-1.08 0l-5.25-5.5a.75.75 0 1 1 1.08-1.04l3.96 4.158V3.75A.75.75 0 0 1 10 3Z"
37
- clip-rule="evenodd"
38
- />
39
- </svg>`;
40
- }
41
-
42
- ascIcon() {
43
- return `<svg
44
- xmlns="http://www.w3.org/2000/svg"
45
- viewBox="0 0 20 20"
46
- fill="currentColor"
47
- class="size-4"
48
- >
49
- <path
50
- fill-rule="evenodd"
51
- d="M10 17a.75.75 0 0 1-.75-.75V5.612L5.29 9.77a.75.75 0 0 1-1.08-1.04l5.25-5.5a.75.75 0 0 1 1.08 0l5.25 5.5a.75.75 0 1 1-1.08 1.04l-3.96-4.158V16.25A.75.75 0 0 1 10 17Z"
52
- clip-rule="evenodd"
53
- />
54
- </svg>`;
55
- }
56
-
57
- build() {
58
- const updatedQuery = {};
59
- const klass = ["btn-sort"];
60
- let icon = this.inactiveIcon();
61
-
62
- for (const [key, value] of Object.entries(this.query)) {
63
- if (key !== "order_direction" && key !== "order_by") {
64
- updatedQuery[key] = value;
65
- }
66
- }
67
-
68
- if (this.query.order_by === this.name) {
69
- updatedQuery.order_direction =
70
- this.query.order_direction === "ASC" ? "DESC" : "ASC";
71
- } else {
72
- updatedQuery.order_direction = "ASC";
73
- }
74
-
75
- updatedQuery.order_by = this.name;
76
-
77
- const href = [this.path, new URLSearchParams(updatedQuery).toString()]
78
- .filter(Boolean)
79
- .join("?");
80
-
81
- if (
82
- this.query.order_by === this.name &&
83
- this.query.order_direction === "ASC"
84
- ) {
85
- klass.push("is-active");
86
- icon = this.ascIcon();
87
- }
88
-
89
- if (
90
- this.query.order_by === this.name &&
91
- this.query.order_direction === "DESC"
92
- ) {
93
- klass.push("is-active");
94
- icon = this.descIcon();
95
- }
96
-
97
- return this.tag("a", [icon, this.title].join("\n"), {
98
- href: href,
99
- class: klass.join(" "),
100
- });
101
- }
102
- }
@@ -1,8 +0,0 @@
1
- import FormBuilder from "./FormBuilder";
2
-
3
- export default function form_for(viewHelpersConfig = {}) {
4
- return function form_for(obj = {}, errors = {}, callback = (_) => {}) {
5
- const form = new FormBuilder(obj, errors, viewHelpersConfig);
6
- return callback(form);
7
- };
8
- }