@cwa/nuxt-edge 1.0.0-29138192.e49c1a0

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 (387) hide show
  1. package/README.md +38 -0
  2. package/README.template.md +32 -0
  3. package/dist/layer/error.vue +13 -0
  4. package/dist/layer/layouts/CwaRootLayout.vue +140 -0
  5. package/dist/layer/nuxt.config.spec.ts +10 -0
  6. package/dist/layer/nuxt.config.ts +3 -0
  7. package/dist/layer/pages/_cwa/composables/useDataList.ts +50 -0
  8. package/dist/layer/pages/_cwa/composables/useDataType.ts +30 -0
  9. package/dist/layer/pages/_cwa/composables/useDynamicPageLoader.ts +28 -0
  10. package/dist/layer/pages/_cwa/composables/useItemPage.ts +172 -0
  11. package/dist/layer/pages/_cwa/composables/useListPage.ts +43 -0
  12. package/dist/layer/pages/_cwa/data/[type]/[iri].vue +17 -0
  13. package/dist/layer/pages/_cwa/data/[type].vue +131 -0
  14. package/dist/layer/pages/_cwa/data/index.vue +84 -0
  15. package/dist/layer/pages/_cwa/layouts/[iri].vue +174 -0
  16. package/dist/layer/pages/_cwa/layouts.vue +77 -0
  17. package/dist/layer/pages/_cwa/pages/[iri].vue +11 -0
  18. package/dist/layer/pages/_cwa/pages.vue +129 -0
  19. package/dist/layer/pages/_cwa/routes.vue +72 -0
  20. package/dist/layer/pages/_cwa/users/[iri].vue +248 -0
  21. package/dist/layer/pages/_cwa/users.vue +86 -0
  22. package/dist/layer/pages/_cwa.vue +43 -0
  23. package/dist/layer/pages/forgot-password.vue +32 -0
  24. package/dist/layer/pages/login.vue +33 -0
  25. package/dist/layer/pages/reset-password/[username]/[token].vue +39 -0
  26. package/dist/module.d.mts +53 -0
  27. package/dist/module.json +13 -0
  28. package/dist/module.mjs +235 -0
  29. package/dist/runtime/admin/admin.d.ts +36 -0
  30. package/dist/runtime/admin/admin.js +65 -0
  31. package/dist/runtime/admin/manageable-resource.d.ts +41 -0
  32. package/dist/runtime/admin/manageable-resource.js +206 -0
  33. package/dist/runtime/admin/manager-tabs-resolver.d.ts +17 -0
  34. package/dist/runtime/admin/manager-tabs-resolver.js +51 -0
  35. package/dist/runtime/admin/navigation-guard.d.ts +18 -0
  36. package/dist/runtime/admin/navigation-guard.js +55 -0
  37. package/dist/runtime/admin/resource-stack-manager.d.ts +92 -0
  38. package/dist/runtime/admin/resource-stack-manager.js +355 -0
  39. package/dist/runtime/api/api-documentation.d.ts +28 -0
  40. package/dist/runtime/api/api-documentation.js +131 -0
  41. package/dist/runtime/api/auth.d.ts +85 -0
  42. package/dist/runtime/api/auth.js +183 -0
  43. package/dist/runtime/api/fetcher/cwa-fetch.d.ts +5 -0
  44. package/dist/runtime/api/fetcher/cwa-fetch.js +20 -0
  45. package/dist/runtime/api/fetcher/fetch-status-manager.d.ts +51 -0
  46. package/dist/runtime/api/fetcher/fetch-status-manager.js +185 -0
  47. package/dist/runtime/api/fetcher/fetcher.d.ts +57 -0
  48. package/dist/runtime/api/fetcher/fetcher.js +222 -0
  49. package/dist/runtime/api/fetcher/preload-headers.d.ts +6 -0
  50. package/dist/runtime/api/fetcher/preload-headers.js +31 -0
  51. package/dist/runtime/api/forms.d.ts +40 -0
  52. package/dist/runtime/api/forms.js +40 -0
  53. package/dist/runtime/api/mercure.d.ts +33 -0
  54. package/dist/runtime/api/mercure.js +191 -0
  55. package/dist/runtime/composables/component/html-content.d.ts +2 -0
  56. package/dist/runtime/composables/component/html-content.js +82 -0
  57. package/dist/runtime/composables/cwa-collection-pagination.d.ts +13 -0
  58. package/dist/runtime/composables/cwa-collection-pagination.js +34 -0
  59. package/dist/runtime/composables/cwa-collection-resource.d.ts +16 -0
  60. package/dist/runtime/composables/cwa-collection-resource.js +92 -0
  61. package/dist/runtime/composables/cwa-image.d.ts +19 -0
  62. package/dist/runtime/composables/cwa-image.js +43 -0
  63. package/dist/runtime/composables/cwa-query-bound-model.d.ts +9 -0
  64. package/dist/runtime/composables/cwa-query-bound-model.js +108 -0
  65. package/dist/runtime/composables/cwa-resource-endpoint.d.ts +5 -0
  66. package/dist/runtime/composables/cwa-resource-endpoint.js +36 -0
  67. package/dist/runtime/composables/cwa-resource-manageable.d.ts +10 -0
  68. package/dist/runtime/composables/cwa-resource-manageable.js +32 -0
  69. package/dist/runtime/composables/cwa-resource-manager-tab.d.ts +17 -0
  70. package/dist/runtime/composables/cwa-resource-manager-tab.js +30 -0
  71. package/dist/runtime/composables/cwa-resource-model.d.ts +21 -0
  72. package/dist/runtime/composables/cwa-resource-model.js +149 -0
  73. package/dist/runtime/composables/cwa-resource-upload.d.ts +8 -0
  74. package/dist/runtime/composables/cwa-resource-upload.js +70 -0
  75. package/dist/runtime/composables/cwa-resource.d.ts +24 -0
  76. package/dist/runtime/composables/cwa-resource.js +22 -0
  77. package/dist/runtime/composables/cwa-select-input.d.ts +21 -0
  78. package/dist/runtime/composables/cwa-select-input.js +37 -0
  79. package/dist/runtime/composables/cwa-select.d.ts +15 -0
  80. package/dist/runtime/composables/cwa-select.js +24 -0
  81. package/dist/runtime/composables/cwa.d.ts +2 -0
  82. package/dist/runtime/composables/cwa.js +2 -0
  83. package/dist/runtime/composables/forgot-password.d.ts +9 -0
  84. package/dist/runtime/composables/forgot-password.js +45 -0
  85. package/dist/runtime/composables/login.d.ts +9 -0
  86. package/dist/runtime/composables/login.js +30 -0
  87. package/dist/runtime/composables/popper.d.ts +529 -0
  88. package/dist/runtime/composables/popper.js +104 -0
  89. package/dist/runtime/composables/process.d.ts +4 -0
  90. package/dist/runtime/composables/process.js +6 -0
  91. package/dist/runtime/composables/reset-password.d.ts +14 -0
  92. package/dist/runtime/composables/reset-password.js +75 -0
  93. package/dist/runtime/composables/transitions.d.ts +12 -0
  94. package/dist/runtime/composables/transitions.js +12 -0
  95. package/dist/runtime/cwa.d.ts +61 -0
  96. package/dist/runtime/cwa.js +123 -0
  97. package/dist/runtime/errors/cwa-resource-error.d.ts +18 -0
  98. package/dist/runtime/errors/cwa-resource-error.js +54 -0
  99. package/dist/runtime/plugin.d.ts +7 -0
  100. package/dist/runtime/plugin.js +18 -0
  101. package/dist/runtime/resources/resource-utils.d.ts +44 -0
  102. package/dist/runtime/resources/resource-utils.js +73 -0
  103. package/dist/runtime/resources/resources-manager.d.ts +70 -0
  104. package/dist/runtime/resources/resources-manager.js +463 -0
  105. package/dist/runtime/resources/resources.d.ts +53 -0
  106. package/dist/runtime/resources/resources.js +300 -0
  107. package/dist/runtime/route-middleware.d.ts +2 -0
  108. package/dist/runtime/route-middleware.js +86 -0
  109. package/dist/runtime/storage/storage.d.ts +20 -0
  110. package/dist/runtime/storage/storage.js +25 -0
  111. package/dist/runtime/storage/stores/admin/actions.d.ts +5 -0
  112. package/dist/runtime/storage/stores/admin/actions.js +10 -0
  113. package/dist/runtime/storage/stores/admin/admin-store.d.ts +18 -0
  114. package/dist/runtime/storage/stores/admin/admin-store.js +20 -0
  115. package/dist/runtime/storage/stores/admin/state.d.ts +7 -0
  116. package/dist/runtime/storage/stores/admin/state.js +9 -0
  117. package/dist/runtime/storage/stores/api-documentation/api-documentation-store.d.ts +16 -0
  118. package/dist/runtime/storage/stores/api-documentation/api-documentation-store.js +18 -0
  119. package/dist/runtime/storage/stores/api-documentation/state.d.ts +74 -0
  120. package/dist/runtime/storage/stores/api-documentation/state.js +6 -0
  121. package/dist/runtime/storage/stores/auth/auth-store.d.ts +16 -0
  122. package/dist/runtime/storage/stores/auth/auth-store.js +18 -0
  123. package/dist/runtime/storage/stores/auth/state.d.ts +20 -0
  124. package/dist/runtime/storage/stores/auth/state.js +15 -0
  125. package/dist/runtime/storage/stores/cwa-store-types.d.ts +14 -0
  126. package/dist/runtime/storage/stores/error/actions.d.ts +11 -0
  127. package/dist/runtime/storage/stores/error/actions.js +69 -0
  128. package/dist/runtime/storage/stores/error/error-store.d.ts +13 -0
  129. package/dist/runtime/storage/stores/error/error-store.js +21 -0
  130. package/dist/runtime/storage/stores/error/getters.d.ts +7 -0
  131. package/dist/runtime/storage/stores/error/getters.js +11 -0
  132. package/dist/runtime/storage/stores/error/state.d.ts +35 -0
  133. package/dist/runtime/storage/stores/error/state.js +15 -0
  134. package/dist/runtime/storage/stores/fetcher/actions.d.ts +49 -0
  135. package/dist/runtime/storage/stores/fetcher/actions.js +125 -0
  136. package/dist/runtime/storage/stores/fetcher/fetcher-store.d.ts +19 -0
  137. package/dist/runtime/storage/stores/fetcher/fetcher-store.js +23 -0
  138. package/dist/runtime/storage/stores/fetcher/getter-utils.d.ts +7 -0
  139. package/dist/runtime/storage/stores/fetcher/getter-utils.js +27 -0
  140. package/dist/runtime/storage/stores/fetcher/getters.d.ts +13 -0
  141. package/dist/runtime/storage/stores/fetcher/getters.js +52 -0
  142. package/dist/runtime/storage/stores/fetcher/state.d.ts +25 -0
  143. package/dist/runtime/storage/stores/fetcher/state.js +7 -0
  144. package/dist/runtime/storage/stores/mercure/mercure-store.d.ts +16 -0
  145. package/dist/runtime/storage/stores/mercure/mercure-store.js +18 -0
  146. package/dist/runtime/storage/stores/mercure/state.d.ts +5 -0
  147. package/dist/runtime/storage/stores/mercure/state.js +6 -0
  148. package/dist/runtime/storage/stores/resources/actions.d.ts +54 -0
  149. package/dist/runtime/storage/stores/resources/actions.js +390 -0
  150. package/dist/runtime/storage/stores/resources/getter-utils.d.ts +7 -0
  151. package/dist/runtime/storage/stores/resources/getter-utils.js +27 -0
  152. package/dist/runtime/storage/stores/resources/getters.d.ts +38 -0
  153. package/dist/runtime/storage/stores/resources/getters.js +251 -0
  154. package/dist/runtime/storage/stores/resources/resources-store.d.ts +19 -0
  155. package/dist/runtime/storage/stores/resources/resources-store.js +23 -0
  156. package/dist/runtime/storage/stores/resources/state.d.ts +64 -0
  157. package/dist/runtime/storage/stores/resources/state.js +24 -0
  158. package/dist/runtime/templates/assets/base.css +1 -0
  159. package/dist/runtime/templates/assets/cwa.css +1 -0
  160. package/dist/runtime/templates/components/core/ComponentPlaceholder.vue +18 -0
  161. package/dist/runtime/templates/components/core/ComponentPlaceholder.vue.d.ts +3 -0
  162. package/dist/runtime/templates/components/core/ComponentPosition.spec.ts.snap +16 -0
  163. package/dist/runtime/templates/components/core/ComponentPosition.vue +63 -0
  164. package/dist/runtime/templates/components/core/ComponentPosition.vue.d.ts +3 -0
  165. package/dist/runtime/templates/components/core/ConfirmDialog.vue +41 -0
  166. package/dist/runtime/templates/components/core/ConfirmDialog.vue.d.ts +9 -0
  167. package/dist/runtime/templates/components/core/DialogBox.vue +95 -0
  168. package/dist/runtime/templates/components/core/DialogBox.vue.d.ts +38 -0
  169. package/dist/runtime/templates/components/core/README.md +1 -0
  170. package/dist/runtime/templates/components/core/ResourceLoader.spec.ts.snap +39 -0
  171. package/dist/runtime/templates/components/core/ResourceLoader.vue +151 -0
  172. package/dist/runtime/templates/components/core/ResourceLoader.vue.d.ts +13 -0
  173. package/dist/runtime/templates/components/core/admin/ListContainer.vue +7 -0
  174. package/dist/runtime/templates/components/core/admin/ListContainer.vue.d.ts +12 -0
  175. package/dist/runtime/templates/components/core/admin/ListContent.vue +136 -0
  176. package/dist/runtime/templates/components/core/admin/ListContent.vue.d.ts +21 -0
  177. package/dist/runtime/templates/components/core/admin/ListFilter.vue +49 -0
  178. package/dist/runtime/templates/components/core/admin/ListFilter.vue.d.ts +9 -0
  179. package/dist/runtime/templates/components/core/admin/ListFilterButton.vue +53 -0
  180. package/dist/runtime/templates/components/core/admin/ListFilterButton.vue.d.ts +9 -0
  181. package/dist/runtime/templates/components/core/admin/ListHeading.vue +32 -0
  182. package/dist/runtime/templates/components/core/admin/ListHeading.vue.d.ts +20 -0
  183. package/dist/runtime/templates/components/core/admin/ListPagination.vue +87 -0
  184. package/dist/runtime/templates/components/core/admin/ListPagination.vue.d.ts +15 -0
  185. package/dist/runtime/templates/components/core/admin/ListPaginationButton.vue +18 -0
  186. package/dist/runtime/templates/components/core/admin/ListPaginationButton.vue.d.ts +16 -0
  187. package/dist/runtime/templates/components/core/admin/PageAdminModal.vue +260 -0
  188. package/dist/runtime/templates/components/core/admin/PageAdminModal.vue.d.ts +12 -0
  189. package/dist/runtime/templates/components/core/admin/PageDataAdminModal.vue +187 -0
  190. package/dist/runtime/templates/components/core/admin/PageDataAdminModal.vue.d.ts +13 -0
  191. package/dist/runtime/templates/components/core/admin/ResourceModal.vue +99 -0
  192. package/dist/runtime/templates/components/core/admin/ResourceModal.vue.d.ts +27 -0
  193. package/dist/runtime/templates/components/core/admin/ResourceModalOverlay.vue +27 -0
  194. package/dist/runtime/templates/components/core/admin/ResourceModalOverlay.vue.d.ts +6 -0
  195. package/dist/runtime/templates/components/core/admin/ResourceModalOverlayTemplate.vue +23 -0
  196. package/dist/runtime/templates/components/core/admin/ResourceModalOverlayTemplate.vue.d.ts +15 -0
  197. package/dist/runtime/templates/components/core/admin/ResourceModalTabs.vue +77 -0
  198. package/dist/runtime/templates/components/core/admin/ResourceModalTabs.vue.d.ts +19 -0
  199. package/dist/runtime/templates/components/core/admin/RouteListRow.vue +102 -0
  200. package/dist/runtime/templates/components/core/admin/RouteListRow.vue.d.ts +20 -0
  201. package/dist/runtime/templates/components/core/admin/RouteRedirectsTree.vue +52 -0
  202. package/dist/runtime/templates/components/core/admin/RouteRedirectsTree.vue.d.ts +10 -0
  203. package/dist/runtime/templates/components/core/admin/RoutesTab.vue +273 -0
  204. package/dist/runtime/templates/components/core/admin/RoutesTab.vue.d.ts +12 -0
  205. package/dist/runtime/templates/components/core/admin/form/FilterFormWrapper.vue +18 -0
  206. package/dist/runtime/templates/components/core/admin/form/FilterFormWrapper.vue.d.ts +16 -0
  207. package/dist/runtime/templates/components/core/admin/form/FilterSelect.vue +86 -0
  208. package/dist/runtime/templates/components/core/admin/form/FilterSelect.vue.d.ts +3 -0
  209. package/dist/runtime/templates/components/core/admin/form/ModalInfo.vue +23 -0
  210. package/dist/runtime/templates/components/core/admin/form/ModalInfo.vue.d.ts +16 -0
  211. package/dist/runtime/templates/components/core/admin/form/ModalInput.vue +30 -0
  212. package/dist/runtime/templates/components/core/admin/form/ModalInput.vue.d.ts +15 -0
  213. package/dist/runtime/templates/components/core/admin/form/ModalSelect.vue +99 -0
  214. package/dist/runtime/templates/components/core/admin/form/ModalSelect.vue.d.ts +6 -0
  215. package/dist/runtime/templates/components/core/admin/form/PageTypeSelect.vue +112 -0
  216. package/dist/runtime/templates/components/core/admin/form/PageTypeSelect.vue.d.ts +4 -0
  217. package/dist/runtime/templates/components/core/assets/CwaLogo.vue +21 -0
  218. package/dist/runtime/templates/components/core/assets/CwaLogo.vue.d.ts +2 -0
  219. package/dist/runtime/templates/components/core/assets/IconComponents.vue +15 -0
  220. package/dist/runtime/templates/components/core/assets/IconComponents.vue.d.ts +2 -0
  221. package/dist/runtime/templates/components/core/assets/IconData.vue +24 -0
  222. package/dist/runtime/templates/components/core/assets/IconData.vue.d.ts +2 -0
  223. package/dist/runtime/templates/components/core/assets/IconLayouts.vue +20 -0
  224. package/dist/runtime/templates/components/core/assets/IconLayouts.vue.d.ts +2 -0
  225. package/dist/runtime/templates/components/core/assets/IconPages.vue +21 -0
  226. package/dist/runtime/templates/components/core/assets/IconPages.vue.d.ts +2 -0
  227. package/dist/runtime/templates/components/core/assets/IconRoutes.vue +23 -0
  228. package/dist/runtime/templates/components/core/assets/IconRoutes.vue.d.ts +2 -0
  229. package/dist/runtime/templates/components/core/assets/IconUsers.vue +13 -0
  230. package/dist/runtime/templates/components/core/assets/IconUsers.vue.d.ts +2 -0
  231. package/dist/runtime/templates/components/core/useDataResolver.d.ts +12 -0
  232. package/dist/runtime/templates/components/core/useDataResolver.js +109 -0
  233. package/dist/runtime/templates/components/main/ComponentGroup.Util.Positions.d.ts +6 -0
  234. package/dist/runtime/templates/components/main/ComponentGroup.Util.Positions.js +164 -0
  235. package/dist/runtime/templates/components/main/ComponentGroup.Util.Synchronizer.d.ts +20 -0
  236. package/dist/runtime/templates/components/main/ComponentGroup.Util.Synchronizer.js +69 -0
  237. package/dist/runtime/templates/components/main/ComponentGroup.spec.ts.snap +59 -0
  238. package/dist/runtime/templates/components/main/ComponentGroup.vue +107 -0
  239. package/dist/runtime/templates/components/main/ComponentGroup.vue.d.ts +9 -0
  240. package/dist/runtime/templates/components/main/CwaLink.vue +51 -0
  241. package/dist/runtime/templates/components/main/CwaLink.vue.d.ts +14 -0
  242. package/dist/runtime/templates/components/main/DefaultLayout.vue +8 -0
  243. package/dist/runtime/templates/components/main/DefaultLayout.vue.d.ts +12 -0
  244. package/dist/runtime/templates/components/main/ErrorPage.vue +98 -0
  245. package/dist/runtime/templates/components/main/ErrorPage.vue.d.ts +6 -0
  246. package/dist/runtime/templates/components/main/Logo.vue +18 -0
  247. package/dist/runtime/templates/components/main/Logo.vue.d.ts +2 -0
  248. package/dist/runtime/templates/components/main/README.md +7 -0
  249. package/dist/runtime/templates/components/main/admin/_common/ResourceContextItem.vue +41 -0
  250. package/dist/runtime/templates/components/main/admin/_common/ResourceContextItem.vue.d.ts +7 -0
  251. package/dist/runtime/templates/components/main/admin/_common/ResourceLoadingIndicator.vue +48 -0
  252. package/dist/runtime/templates/components/main/admin/_common/ResourceLoadingIndicator.vue.d.ts +2 -0
  253. package/dist/runtime/templates/components/main/admin/_common/useDynamicPositionSelectOptions.d.ts +5 -0
  254. package/dist/runtime/templates/components/main/admin/_common/useDynamicPositionSelectOptions.js +19 -0
  255. package/dist/runtime/templates/components/main/admin/header/Header.vue +207 -0
  256. package/dist/runtime/templates/components/main/admin/header/Header.vue.d.ts +2 -0
  257. package/dist/runtime/templates/components/main/admin/header/_parts/Menu.vue +189 -0
  258. package/dist/runtime/templates/components/main/admin/header/_parts/Menu.vue.d.ts +2 -0
  259. package/dist/runtime/templates/components/main/admin/header/_parts/MenuLink.vue +14 -0
  260. package/dist/runtime/templates/components/main/admin/header/_parts/MenuLink.vue.d.ts +16 -0
  261. package/dist/runtime/templates/components/main/admin/header/_parts/MenuPrimaryLink.vue +19 -0
  262. package/dist/runtime/templates/components/main/admin/header/_parts/MenuPrimaryLink.vue.d.ts +15 -0
  263. package/dist/runtime/templates/components/main/admin/header/_parts/Notification.vue +69 -0
  264. package/dist/runtime/templates/components/main/admin/header/_parts/Notification.vue.d.ts +12 -0
  265. package/dist/runtime/templates/components/main/admin/header/_parts/OutdatedContentNotice.vue +19 -0
  266. package/dist/runtime/templates/components/main/admin/header/_parts/OutdatedContentNotice.vue.d.ts +2 -0
  267. package/dist/runtime/templates/components/main/admin/header/_parts/PathSelector.vue +79 -0
  268. package/dist/runtime/templates/components/main/admin/header/_parts/PathSelector.vue.d.ts +2 -0
  269. package/dist/runtime/templates/components/main/admin/header/_parts/RequestErrors.vue +52 -0
  270. package/dist/runtime/templates/components/main/admin/header/_parts/RequestErrors.vue.d.ts +2 -0
  271. package/dist/runtime/templates/components/main/admin/resource-manager/ComponentFocus.vue +151 -0
  272. package/dist/runtime/templates/components/main/admin/resource-manager/ComponentFocus.vue.d.ts +10 -0
  273. package/dist/runtime/templates/components/main/admin/resource-manager/LayoutPageOverlay.vue +192 -0
  274. package/dist/runtime/templates/components/main/admin/resource-manager/LayoutPageOverlay.vue.d.ts +6 -0
  275. package/dist/runtime/templates/components/main/admin/resource-manager/ResourceManager.vue +186 -0
  276. package/dist/runtime/templates/components/main/admin/resource-manager/ResourceManager.vue.d.ts +9 -0
  277. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/AddComponentDialog.vue +205 -0
  278. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/AddComponentDialog.vue.d.ts +2 -0
  279. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/CwaResourceManagerContextMenu.vue +38 -0
  280. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/CwaResourceManagerContextMenu.vue.d.ts +6 -0
  281. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTab.vue +15 -0
  282. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTab.vue.d.ts +7 -0
  283. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTabs.vue +44 -0
  284. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTabs.vue.d.ts +13 -0
  285. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/ResourceInfoTab.vue +59 -0
  286. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/ResourceInfoTab.vue.d.ts +6 -0
  287. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Order.vue +75 -0
  288. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Order.vue.d.ts +6 -0
  289. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Publish.vue +41 -0
  290. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Publish.vue.d.ts +6 -0
  291. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Ui.vue +101 -0
  292. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Ui.vue.d.ts +6 -0
  293. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/group/Group.vue +34 -0
  294. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/group/Group.vue.d.ts +6 -0
  295. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DataPage.vue +121 -0
  296. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DataPage.vue.d.ts +6 -0
  297. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DynamicPage.vue +52 -0
  298. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DynamicPage.vue.d.ts +6 -0
  299. package/dist/runtime/templates/components/main/admin/resource-manager/cta/CurrentResourceCta.vue +99 -0
  300. package/dist/runtime/templates/components/main/admin/resource-manager/cta/CurrentResourceCta.vue.d.ts +7 -0
  301. package/dist/runtime/templates/components/main/admin/resource-manager/cta/NewResourceCta.vue +59 -0
  302. package/dist/runtime/templates/components/main/admin/resource-manager/cta/NewResourceCta.vue.d.ts +7 -0
  303. package/dist/runtime/templates/components/main/admin/resource-manager/cta/ResourceManagerCtaButton.vue +28 -0
  304. package/dist/runtime/templates/components/main/admin/resource-manager/cta/ResourceManagerCtaButton.vue.d.ts +2 -0
  305. package/dist/runtime/templates/components/main/auth/ForgotPasswordPage.vue +55 -0
  306. package/dist/runtime/templates/components/main/auth/ForgotPasswordPage.vue.d.ts +20 -0
  307. package/dist/runtime/templates/components/main/auth/LoginPage.vue +60 -0
  308. package/dist/runtime/templates/components/main/auth/LoginPage.vue.d.ts +23 -0
  309. package/dist/runtime/templates/components/main/auth/ResetPasswordPage.vue +59 -0
  310. package/dist/runtime/templates/components/main/auth/ResetPasswordPage.vue.d.ts +27 -0
  311. package/dist/runtime/templates/components/main/auth/_parts/AuthPageLink.spec.ts.snap +14 -0
  312. package/dist/runtime/templates/components/main/auth/_parts/AuthPageLink.vue +17 -0
  313. package/dist/runtime/templates/components/main/auth/_parts/AuthPageLink.vue.d.ts +6 -0
  314. package/dist/runtime/templates/components/main/auth/_parts/AuthTemplate.spec.ts.snap +90 -0
  315. package/dist/runtime/templates/components/main/auth/_parts/AuthTemplate.vue +45 -0
  316. package/dist/runtime/templates/components/main/auth/_parts/AuthTemplate.vue.d.ts +17 -0
  317. package/dist/runtime/templates/components/main/auth/_parts/InputField.spec.ts.snap +111 -0
  318. package/dist/runtime/templates/components/main/auth/_parts/InputField.vue +50 -0
  319. package/dist/runtime/templates/components/main/auth/_parts/InputField.vue.d.ts +17 -0
  320. package/dist/runtime/templates/components/ui/BackgroundParticles.vue +960 -0
  321. package/dist/runtime/templates/components/ui/BackgroundParticles.vue.d.ts +2 -0
  322. package/dist/runtime/templates/components/ui/Hamburger.vue +75 -0
  323. package/dist/runtime/templates/components/ui/Hamburger.vue.d.ts +9 -0
  324. package/dist/runtime/templates/components/ui/ProgressBar.spec.ts.snap +71 -0
  325. package/dist/runtime/templates/components/ui/ProgressBar.vue +29 -0
  326. package/dist/runtime/templates/components/ui/ProgressBar.vue.d.ts +9 -0
  327. package/dist/runtime/templates/components/ui/README.md +6 -0
  328. package/dist/runtime/templates/components/ui/alert/Info.spec.ts.snap +23 -0
  329. package/dist/runtime/templates/components/ui/alert/Info.vue +13 -0
  330. package/dist/runtime/templates/components/ui/alert/Info.vue.d.ts +12 -0
  331. package/dist/runtime/templates/components/ui/alert/Warning.spec.ts.snap +14 -0
  332. package/dist/runtime/templates/components/ui/alert/Warning.vue +8 -0
  333. package/dist/runtime/templates/components/ui/alert/Warning.vue.d.ts +12 -0
  334. package/dist/runtime/templates/components/ui/form/Button.vue +139 -0
  335. package/dist/runtime/templates/components/ui/form/Button.vue.d.ts +52 -0
  336. package/dist/runtime/templates/components/ui/form/ButtonPopoverGroup.vue +18 -0
  337. package/dist/runtime/templates/components/ui/form/ButtonPopoverGroup.vue.d.ts +10 -0
  338. package/dist/runtime/templates/components/ui/form/ButtonPopoverItem.vue +15 -0
  339. package/dist/runtime/templates/components/ui/form/ButtonPopoverItem.vue.d.ts +10 -0
  340. package/dist/runtime/templates/components/ui/form/File.vue +72 -0
  341. package/dist/runtime/templates/components/ui/form/File.vue.d.ts +9 -0
  342. package/dist/runtime/templates/components/ui/form/Input.vue +22 -0
  343. package/dist/runtime/templates/components/ui/form/Input.vue.d.ts +5 -0
  344. package/dist/runtime/templates/components/ui/form/LabelWrapper.vue +16 -0
  345. package/dist/runtime/templates/components/ui/form/LabelWrapper.vue.d.ts +15 -0
  346. package/dist/runtime/templates/components/ui/form/SearchResource.vue +212 -0
  347. package/dist/runtime/templates/components/ui/form/SearchResource.vue.d.ts +14 -0
  348. package/dist/runtime/templates/components/ui/form/Select.vue +60 -0
  349. package/dist/runtime/templates/components/ui/form/Select.vue.d.ts +3 -0
  350. package/dist/runtime/templates/components/ui/form/Toggle.vue +39 -0
  351. package/dist/runtime/templates/components/ui/form/Toggle.vue.d.ts +6 -0
  352. package/dist/runtime/templates/components/ui/icon/ArrowIcon.vue +30 -0
  353. package/dist/runtime/templates/components/ui/icon/ArrowIcon.vue.d.ts +2 -0
  354. package/dist/runtime/templates/components/ui/icon/BinIcon.vue +24 -0
  355. package/dist/runtime/templates/components/ui/icon/BinIcon.vue.d.ts +2 -0
  356. package/dist/runtime/templates/components/ui/icon/CogIcon.vue +9 -0
  357. package/dist/runtime/templates/components/ui/icon/CogIcon.vue.d.ts +2 -0
  358. package/dist/runtime/templates/components/ui/icon/EyeIcon.vue +24 -0
  359. package/dist/runtime/templates/components/ui/icon/EyeIcon.vue.d.ts +2 -0
  360. package/dist/runtime/templates/components/ui/icon/PenIcon.vue +12 -0
  361. package/dist/runtime/templates/components/ui/icon/PenIcon.vue.d.ts +2 -0
  362. package/dist/runtime/templates/components/ui/icon/PlusIcon.vue +9 -0
  363. package/dist/runtime/templates/components/ui/icon/PlusIcon.vue.d.ts +2 -0
  364. package/dist/runtime/templates/components/ui/icon/SearchIcon.vue +10 -0
  365. package/dist/runtime/templates/components/ui/icon/SearchIcon.vue.d.ts +2 -0
  366. package/dist/runtime/templates/components/ui/icon/TickIcon.vue +23 -0
  367. package/dist/runtime/templates/components/ui/icon/TickIcon.vue.d.ts +2 -0
  368. package/dist/runtime/templates/components/ui/icon/WarningIcon.vue +11 -0
  369. package/dist/runtime/templates/components/ui/icon/WarningIcon.vue.d.ts +2 -0
  370. package/dist/runtime/templates/components/ui/icon/XMarkIcon.vue +15 -0
  371. package/dist/runtime/templates/components/ui/icon/XMarkIcon.vue.d.ts +2 -0
  372. package/dist/runtime/templates/components/utils/ContextMenu.vue +59 -0
  373. package/dist/runtime/templates/components/utils/ContextMenu.vue.d.ts +21 -0
  374. package/dist/runtime/templates/components/utils/HotSpot.vue +24 -0
  375. package/dist/runtime/templates/components/utils/HotSpot.vue.d.ts +9 -0
  376. package/dist/runtime/templates/components/utils/README.md +1 -0
  377. package/dist/runtime/templates/components/utils/Spinner.spec.ts.snap +56 -0
  378. package/dist/runtime/templates/components/utils/Spinner.vue +42 -0
  379. package/dist/runtime/templates/components/utils/Spinner.vue.d.ts +5 -0
  380. package/dist/runtime/templates/components/utils/SpinnerTick.vue +43 -0
  381. package/dist/runtime/templates/components/utils/SpinnerTick.vue.d.ts +6 -0
  382. package/dist/runtime/templates/cwa-page.spec.ts.snap +20 -0
  383. package/dist/runtime/templates/cwa-page.vue +32 -0
  384. package/dist/runtime/templates/cwa-page.vue.d.ts +2 -0
  385. package/dist/runtime/types/popper.d.ts +14 -0
  386. package/dist/types.d.mts +9 -0
  387. package/package.json +108 -0
@@ -0,0 +1,54 @@
1
+ import type { CwaResource } from '../../../resources/resource-utils.js';
2
+ import type { CwaResourceError } from '../../../errors/cwa-resource-error.js';
3
+ import type { CwaFetchRequestHeaders } from '../../../api/fetcher/fetcher.js';
4
+ import type { CwaResourcesStateInterface } from './state.js';
5
+ import type { CwaResourcesGettersInterface } from './getters.js';
6
+ import type { AddResourceEvent } from '#cwa/runtime/admin/resource-stack-manager';
7
+ export interface SaveResourceEvent {
8
+ resource: CwaResource;
9
+ isNew?: undefined | false;
10
+ }
11
+ export interface SaveNewResourceEvent {
12
+ resource: CwaResource;
13
+ isNew: true;
14
+ path: string | undefined;
15
+ }
16
+ export interface DeleteResourceEvent {
17
+ resource: string;
18
+ noCascade?: boolean;
19
+ }
20
+ export interface SetResourceInProgressStatusEvent {
21
+ iri: string;
22
+ isComplete: false;
23
+ }
24
+ export interface SetResourceCompletedStatusEvent {
25
+ iri: string;
26
+ isComplete: true;
27
+ headers: CwaFetchRequestHeaders;
28
+ }
29
+ export interface SetResourceResetStatusEvent {
30
+ iri: string;
31
+ isComplete: null;
32
+ }
33
+ declare type SetResourceStatusEvent = SetResourceInProgressStatusEvent | SetResourceCompletedStatusEvent | SetResourceResetStatusEvent;
34
+ export interface SetResourceFetchErrorEvent {
35
+ iri: string;
36
+ error?: CwaResourceError;
37
+ isCurrent?: boolean;
38
+ showErrorPage?: boolean;
39
+ }
40
+ export interface CwaResourcesActionsInterface {
41
+ resetNewResource(): void;
42
+ initNewResource(addResourceEvent: AddResourceEvent, resourceType: string, endpoint: string, isPublishable: boolean, instantAdd: boolean, defaultData?: {
43
+ [key: string]: any;
44
+ }): void;
45
+ resetCurrentResources(currentIds?: string[]): void;
46
+ clearResources(): void;
47
+ setResourceFetchStatus(event: SetResourceStatusEvent): void;
48
+ setResourceFetchError(event: SetResourceFetchErrorEvent): void;
49
+ saveResource(event: SaveResourceEvent | SaveNewResourceEvent): void;
50
+ deleteResource(event: DeleteResourceEvent): void;
51
+ mergeNewResources(): void;
52
+ }
53
+ export default function (resourcesState: CwaResourcesStateInterface, resourcesGetters: CwaResourcesGettersInterface): CwaResourcesActionsInterface;
54
+ export {};
@@ -0,0 +1,390 @@
1
+ import {
2
+ CwaResourceTypes,
3
+ getPublishedResourceState,
4
+ getResourceTypeFromIri,
5
+ isCwaResourceSame
6
+ } from "../../../resources/resource-utils.js";
7
+ import {
8
+ CwaResourceApiStatuses,
9
+ NEW_RESOURCE_IRI
10
+ } from "./state.js";
11
+ import { showError } from "#app";
12
+ export default function(resourcesState, resourcesGetters) {
13
+ function initResource({ iri, resourcesState: resourcesState2, isCurrent }) {
14
+ if (!resourcesState2.current.byId[iri]) {
15
+ resourcesState2.current.byId[iri] = {
16
+ apiState: {
17
+ status: void 0
18
+ }
19
+ };
20
+ }
21
+ if (!resourcesState2.current.allIds.includes(iri)) {
22
+ resourcesState2.current.allIds.push(iri);
23
+ }
24
+ if (isCurrent && !resourcesState2.current.currentIds.includes(iri)) {
25
+ resourcesState2.current.currentIds.push(iri);
26
+ }
27
+ return resourcesState2.current.byId[iri];
28
+ }
29
+ function deleteResource(event) {
30
+ const resource = resourcesState.current.byId[event.resource];
31
+ if (!resource) {
32
+ return;
33
+ }
34
+ const resourceType = getResourceTypeFromIri(event.resource);
35
+ switch (resourceType) {
36
+ case CwaResourceTypes.COMPONENT_POSITION: {
37
+ if (event.noCascade) {
38
+ break;
39
+ }
40
+ const componentGroups = resourcesGetters.resourcesByType.value[CwaResourceTypes.COMPONENT_GROUP];
41
+ for (const componentGroup of Object.values(componentGroups)) {
42
+ const componentPositions = componentGroup.data?.componentPositions;
43
+ const positionIndex = componentPositions.indexOf(event.resource);
44
+ if (positionIndex !== -1) {
45
+ componentPositions.splice(positionIndex, 1);
46
+ }
47
+ }
48
+ clearPositionToComponentMapping(event.resource);
49
+ break;
50
+ }
51
+ case CwaResourceTypes.COMPONENT: {
52
+ if (!resource.data || event.noCascade) {
53
+ break;
54
+ }
55
+ const hasAlternativeVersion = resourcesGetters.findAllPublishableIris.value(event.resource).length > 1;
56
+ if (!hasAlternativeVersion) {
57
+ const mappedPositions = [...resource.data.componentPositions || [], ...resourcesState.current.positionsByComponent[event.resource] || []];
58
+ for (const positionIri of mappedPositions) {
59
+ const positionResource = resourcesState.current.byId[positionIri];
60
+ if (!positionResource?.data) {
61
+ continue;
62
+ }
63
+ if (!positionResource.data.pageDataProperty) {
64
+ deleteResource({
65
+ resource: positionIri
66
+ });
67
+ } else if (positionResource.data.component === event.resource) {
68
+ delete positionResource.data.component;
69
+ }
70
+ }
71
+ }
72
+ clearPublishableMapping(event.resource);
73
+ clearPositionToComponentMapping(event.resource);
74
+ break;
75
+ }
76
+ }
77
+ const allIdsIndex = resourcesState.current.allIds.indexOf(event.resource);
78
+ allIdsIndex !== -1 && resourcesState.current.allIds.splice(allIdsIndex, 1);
79
+ const currentIdsIndex = resourcesState.current.currentIds.indexOf(event.resource);
80
+ currentIdsIndex !== -1 && resourcesState.current.currentIds.splice(currentIdsIndex, 1);
81
+ delete resourcesState.current.byId[event.resource];
82
+ }
83
+ function clearPublishableMapping(iri) {
84
+ resourcesState.current.publishableMapping = resourcesState.current.publishableMapping.filter((mapping) => {
85
+ return ![mapping.publishedIri, mapping.draftIri].includes(iri);
86
+ });
87
+ }
88
+ function mapPublishableResource(resource) {
89
+ if (!resource["@id"] || getResourceTypeFromIri(resource["@id"]) !== CwaResourceTypes.COMPONENT) {
90
+ return;
91
+ }
92
+ const isPublished = getPublishedResourceState({ data: resource });
93
+ if (isPublished === void 0) {
94
+ return;
95
+ }
96
+ clearPublishableMapping(resource["@id"]);
97
+ if (isPublished) {
98
+ if (!resource.draftResource) {
99
+ return;
100
+ }
101
+ clearPublishableMapping(resource.draftResource);
102
+ resourcesState.current.publishableMapping.push({
103
+ publishedIri: resource["@id"],
104
+ draftIri: resource.draftResource
105
+ });
106
+ return;
107
+ }
108
+ if (!resource.publishedResource) {
109
+ return;
110
+ }
111
+ clearPublishableMapping(resource.publishedResource);
112
+ resourcesState.current.publishableMapping.push({
113
+ publishedIri: resource.publishedResource,
114
+ draftIri: resource["@id"]
115
+ });
116
+ }
117
+ function mapPositionToComponent(resource) {
118
+ if (!resource["@id"] || getResourceTypeFromIri(resource["@id"]) !== CwaResourceTypes.COMPONENT_POSITION || !resource.component) {
119
+ return;
120
+ }
121
+ const existingPositions = resourcesState.current.positionsByComponent[resource.component] || [];
122
+ existingPositions.includes(resource["@id"]) === false && existingPositions.push(resource["@id"]);
123
+ resourcesState.current.positionsByComponent[resource.component] = existingPositions;
124
+ }
125
+ function clearPositionToComponentMapping(iri) {
126
+ const resourceType = getResourceTypeFromIri(iri);
127
+ if (resourceType === CwaResourceTypes.COMPONENT_POSITION) {
128
+ const entries = Object.entries(resourcesState.current.positionsByComponent);
129
+ for (const [componentIri, positionIris] of entries) {
130
+ resourcesState.current.positionsByComponent[componentIri] = positionIris.filter((pIri) => iri !== pIri);
131
+ }
132
+ return;
133
+ }
134
+ if (resourceType === CwaResourceTypes.COMPONENT) {
135
+ if (resourcesState.current.positionsByComponent[iri]) {
136
+ delete resourcesState.current.positionsByComponent[iri];
137
+ }
138
+ }
139
+ }
140
+ function saveResource(event) {
141
+ const clearExistingNewResource = () => {
142
+ const allIdsIndex = resourcesState.new.allIds.indexOf(iri);
143
+ if (allIdsIndex !== -1) {
144
+ resourcesState.new.allIds.splice(allIdsIndex, 1);
145
+ delete resourcesState.new.byId[iri];
146
+ }
147
+ };
148
+ const iri = event.resource["@id"];
149
+ if (event.isNew) {
150
+ const existingResource = resourcesState.current.byId[iri];
151
+ if (existingResource?.data && isCwaResourceSame(existingResource.data, event.resource)) {
152
+ clearExistingNewResource();
153
+ return;
154
+ }
155
+ resourcesState.new.byId[iri] = {
156
+ path: event.path,
157
+ resource: event.resource
158
+ };
159
+ if (!resourcesState.new.allIds.includes(iri)) {
160
+ resourcesState.new.allIds.push(iri);
161
+ }
162
+ return;
163
+ }
164
+ const data = initResource({
165
+ resourcesState,
166
+ iri,
167
+ isCurrent: true
168
+ });
169
+ data.data = event.resource;
170
+ clearExistingNewResource();
171
+ mapPublishableResource(event.resource);
172
+ mapPositionToComponent(event.resource);
173
+ }
174
+ return {
175
+ resetNewResource() {
176
+ if (!resourcesState.adding.value) {
177
+ return;
178
+ }
179
+ function clearPositionFromGroup(positionIri) {
180
+ const positionResource = resourcesGetters.getResource.value(positionIri);
181
+ if (!positionResource?.data) {
182
+ return;
183
+ }
184
+ const groupIri = positionResource.data.componentGroup;
185
+ if (!groupIri) {
186
+ return;
187
+ }
188
+ const componentGroup = resourcesGetters.getResource.value(groupIri);
189
+ if (!componentGroup?.data) {
190
+ return;
191
+ }
192
+ const positions = [...componentGroup.data.componentPositions];
193
+ const posIndex = positions.indexOf(positionIri);
194
+ if (posIndex !== -1) {
195
+ positions.splice(posIndex, 1);
196
+ }
197
+ saveResource({
198
+ resource: {
199
+ ...componentGroup.data,
200
+ componentPositions: positions
201
+ }
202
+ });
203
+ }
204
+ if (resourcesState.adding.value.position) {
205
+ clearPositionFromGroup(resourcesState.adding.value.position);
206
+ deleteResource({ resource: resourcesState.adding.value.position });
207
+ } else {
208
+ clearPositionFromGroup(resourcesState.adding.value.resource);
209
+ }
210
+ deleteResource({ resource: resourcesState.adding.value.resource });
211
+ resourcesState.adding.value = void 0;
212
+ },
213
+ initNewResource(addResourceEvent, resourceType, endpoint, isPublishable, instantAdd, defaultData) {
214
+ const closestGroup = addResourceEvent.closest.group;
215
+ const closestPosition = addResourceEvent.closest.position;
216
+ const addingToGroup = addResourceEvent.targetIri === addResourceEvent.closest.group;
217
+ const newResource = {
218
+ ...defaultData,
219
+ "@id": NEW_RESOURCE_IRI,
220
+ "@type": resourceType,
221
+ "_metadata": {
222
+ adding: {
223
+ instantAdd,
224
+ endpoint,
225
+ isPublishable
226
+ },
227
+ persisted: false
228
+ }
229
+ };
230
+ let position;
231
+ let positionResource;
232
+ if (resourceType === "ComponentPosition") {
233
+ newResource.componentGroup = closestGroup;
234
+ } else if (addResourceEvent.addAfter !== null) {
235
+ position = `/_/component_positions/${NEW_RESOURCE_IRI}`;
236
+ newResource.componentPositions = [position];
237
+ positionResource = {
238
+ "@id": position,
239
+ "@type": "ComponentPosition",
240
+ "component": NEW_RESOURCE_IRI,
241
+ "componentGroup": closestGroup,
242
+ "_metadata": {
243
+ persisted: false
244
+ }
245
+ };
246
+ saveResource({
247
+ resource: positionResource
248
+ });
249
+ } else if (!addResourceEvent.pageDataProperty) {
250
+ newResource.componentPositions = [addResourceEvent.closest.position];
251
+ }
252
+ const newPosition = positionResource || (newResource["@type"] === "ComponentPosition" ? newResource : void 0);
253
+ if (!addingToGroup && closestPosition && newPosition) {
254
+ const positionSortValue = resourcesGetters.getPositionSortDisplayNumber.value(closestPosition);
255
+ if (positionSortValue !== void 0) {
256
+ newPosition._metadata.sortDisplayNumber = addResourceEvent?.addAfter ? positionSortValue + 1 : positionSortValue;
257
+ }
258
+ }
259
+ saveResource({
260
+ resource: newResource
261
+ });
262
+ resourcesState.adding.value = {
263
+ resource: NEW_RESOURCE_IRI,
264
+ position
265
+ };
266
+ if (closestGroup && newPosition) {
267
+ const groupResource = resourcesGetters.getResource.value(closestGroup);
268
+ if (groupResource?.data) {
269
+ const existingPositionIris = groupResource.data.componentPositions;
270
+ if (addingToGroup && existingPositionIris) {
271
+ newPosition._metadata.sortDisplayNumber = addResourceEvent?.addAfter ? existingPositionIris.length + 1 : 1;
272
+ }
273
+ const updatedGroupResource = {
274
+ ...groupResource.data,
275
+ componentPositions: [...existingPositionIris || [], position || NEW_RESOURCE_IRI]
276
+ };
277
+ saveResource({
278
+ resource: updatedGroupResource
279
+ });
280
+ }
281
+ }
282
+ },
283
+ deleteResource,
284
+ mergeNewResources() {
285
+ for (const newId of resourcesState.new.allIds) {
286
+ const newResource = resourcesState.new.byId[newId];
287
+ if (Object.keys(newResource.resource).length === 1 && newResource.resource["@id"]) {
288
+ deleteResource({
289
+ resource: newId
290
+ });
291
+ clearPublishableMapping(newId);
292
+ clearPositionToComponentMapping(newId);
293
+ continue;
294
+ }
295
+ resourcesState.current.byId[newId] = {
296
+ apiState: {
297
+ status: CwaResourceApiStatuses.SUCCESS,
298
+ headers: {
299
+ path: newResource.path
300
+ },
301
+ fetchedAt: (/* @__PURE__ */ new Date()).getTime()
302
+ },
303
+ data: newResource.resource
304
+ };
305
+ if (!resourcesState.current.allIds.includes(newId)) {
306
+ resourcesState.current.allIds.push(newId);
307
+ }
308
+ if (!resourcesState.current.currentIds.includes(newId)) {
309
+ resourcesState.current.currentIds.push(newId);
310
+ }
311
+ mapPublishableResource(newResource.resource);
312
+ }
313
+ resourcesState.new.allIds = [];
314
+ resourcesState.new.byId = {};
315
+ },
316
+ resetCurrentResources(currentIds) {
317
+ if (currentIds) {
318
+ for (const currentId of currentIds) {
319
+ if (!resourcesState.current.byId[currentId]) {
320
+ throw new Error(`Cannot set current resource ID '${currentId}'. It does not exist.`);
321
+ }
322
+ const currentState = resourcesState.current.byId[currentId].apiState;
323
+ if (currentState.status !== CwaResourceApiStatuses.ERROR && currentState.headers) {
324
+ resourcesState.current.byId[currentId].apiState = {
325
+ status: CwaResourceApiStatuses.SUCCESS,
326
+ headers: currentState.headers,
327
+ ssr: currentState.ssr,
328
+ fetchedAt: currentState.status === CwaResourceApiStatuses.SUCCESS ? currentState.fetchedAt : (/* @__PURE__ */ new Date()).getTime()
329
+ };
330
+ }
331
+ }
332
+ }
333
+ resourcesState.new.byId = {};
334
+ resourcesState.new.allIds = [];
335
+ resourcesState.current.currentIds = currentIds || [];
336
+ },
337
+ clearResources() {
338
+ resourcesState.current.byId = {};
339
+ resourcesState.current.allIds = [];
340
+ resourcesState.current.currentIds = [];
341
+ resourcesState.current.publishableMapping = [];
342
+ resourcesState.current.positionsByComponent = {};
343
+ resourcesState.new.byId = {};
344
+ resourcesState.new.allIds = [];
345
+ },
346
+ setResourceFetchStatus(event) {
347
+ const data = initResource({
348
+ resourcesState,
349
+ iri: event.iri,
350
+ isCurrent: true
351
+ });
352
+ if (event.isComplete) {
353
+ data.apiState = {
354
+ status: CwaResourceApiStatuses.SUCCESS,
355
+ headers: event.headers,
356
+ // todo: test we reset the ssr state and do not reuse from previous when resource loader re-fetches
357
+ ssr: import.meta.server,
358
+ fetchedAt: (/* @__PURE__ */ new Date()).getTime()
359
+ };
360
+ return;
361
+ }
362
+ const newApiState = {
363
+ status: CwaResourceApiStatuses.IN_PROGRESS,
364
+ ssr: import.meta.server
365
+ };
366
+ if (data.apiState.status === CwaResourceApiStatuses.SUCCESS) {
367
+ newApiState.headers = data.apiState.headers;
368
+ newApiState.ssr = data.apiState.ssr;
369
+ }
370
+ data.apiState = newApiState;
371
+ },
372
+ setResourceFetchError({ iri, error, isCurrent, showErrorPage }) {
373
+ const data = initResource({
374
+ resourcesState,
375
+ iri,
376
+ isCurrent: isCurrent === void 0 ? true : isCurrent
377
+ });
378
+ data.apiState = {
379
+ status: CwaResourceApiStatuses.ERROR,
380
+ error: error?.asObject,
381
+ ssr: import.meta.server,
382
+ fetchedAt: (/* @__PURE__ */ new Date()).getTime()
383
+ };
384
+ if (showErrorPage && error) {
385
+ showError({ statusCode: error.statusCode, statusMessage: error.statusMessage, message: error.message });
386
+ }
387
+ },
388
+ saveResource
389
+ };
390
+ }
@@ -0,0 +1,7 @@
1
+ import type { CwaResourcesStateInterface } from './state.js';
2
+ export declare class ResourcesGetterUtils {
3
+ private readonly resourcesState;
4
+ constructor(resourcesState: CwaResourcesStateInterface);
5
+ resourcesApiStateIsPending(resources: string[]): boolean;
6
+ get totalResourcesPending(): number;
7
+ }
@@ -0,0 +1,27 @@
1
+ import { CwaResourceApiStatuses } from "./state.js";
2
+ export class ResourcesGetterUtils {
3
+ resourcesState;
4
+ constructor(resourcesState) {
5
+ this.resourcesState = resourcesState;
6
+ }
7
+ resourcesApiStateIsPending(resources) {
8
+ for (const resource of resources) {
9
+ const resourceData = this.resourcesState.current.byId[resource];
10
+ if (!resourceData) {
11
+ throw new Error(`The resource '${resource}' does not exist.`);
12
+ }
13
+ if (resourceData.apiState.status === CwaResourceApiStatuses.IN_PROGRESS) {
14
+ return true;
15
+ }
16
+ }
17
+ return false;
18
+ }
19
+ get totalResourcesPending() {
20
+ return this.resourcesState.current.currentIds.reduce((count, id) => {
21
+ if (this.resourcesState.current.byId[id].apiState.status === CwaResourceApiStatuses.IN_PROGRESS) {
22
+ return ++count;
23
+ }
24
+ return count;
25
+ }, 0);
26
+ }
27
+ }
@@ -0,0 +1,38 @@
1
+ import type { ComputedRef } from 'vue';
2
+ import { CwaResourceTypes } from '../../../resources/resource-utils.js';
3
+ import type { FetchStatus } from '../fetcher/state.js';
4
+ import { type CwaCurrentResourceInterface, type CwaResourcesStateInterface } from './state.js';
5
+ import type { AddResourceEvent } from '#cwa/runtime/admin/resource-stack-manager';
6
+ export interface ResourcesLoadStatusInterface {
7
+ pending: number;
8
+ complete: number;
9
+ total: number;
10
+ percent: number;
11
+ }
12
+ type ResourcesByTypeInterface = {
13
+ [T in CwaResourceTypes]: CwaCurrentResourceInterface[];
14
+ };
15
+ interface PublishableMapping {
16
+ [key: string]: string;
17
+ }
18
+ export interface CwaResourcesGettersInterface {
19
+ getOrderedPositionsForGroup: ComputedRef<(groupIri: string, includeNewIri?: boolean) => string[] | undefined>;
20
+ getPositionSortDisplayNumber: ComputedRef<(groupIri: string, includeNewIri?: boolean) => number | undefined>;
21
+ getResource: ComputedRef<(iri: string) => CwaCurrentResourceInterface | undefined>;
22
+ getChildIris: ComputedRef<(iri: string, addResourceEvent: undefined | AddResourceEvent) => string[]>;
23
+ hasNewResources: ComputedRef<boolean>;
24
+ findPublishedComponentIri: ComputedRef<(iri: string) => string | undefined>;
25
+ findDraftComponentIri: ComputedRef<(iri: string) => string | undefined>;
26
+ publishedToDraftIris: ComputedRef<PublishableMapping>;
27
+ draftToPublishedIris: ComputedRef<PublishableMapping>;
28
+ isIriPublishableEquivalent: ComputedRef<(oldIri: string, newIri: string) => boolean>;
29
+ findAllPublishableIris: ComputedRef<(iri: string) => string[]>;
30
+ resourcesByType: ComputedRef<ResourcesByTypeInterface>;
31
+ totalResourcesPending: ComputedRef<number>;
32
+ currentResourcesApiStateIsPending: ComputedRef<boolean>;
33
+ resourcesApiStateIsPending: ComputedRef<(resources: string[]) => boolean>;
34
+ isFetchStatusResourcesResolved: ComputedRef<(fetchStatus: FetchStatus) => boolean>;
35
+ resourceLoadStatus: ComputedRef<ResourcesLoadStatusInterface>;
36
+ }
37
+ export default function (resourcesState: CwaResourcesStateInterface): CwaResourcesGettersInterface;
38
+ export {};