@anzusystems/common-admin 2.0.0-rc.5 → 2.0.0-rc.7

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 (690) hide show
  1. package/README.md +4 -0
  2. package/dist/AnzuSystemsCommonAdmin.d.ts +42 -32
  3. package/dist/AnzuSystemsCommonAdmin.js.map +1 -1
  4. package/dist/common-admin.css +1 -1
  5. package/dist/common-admin.js +282 -282
  6. package/dist/domains/anzuUser/api/anzuUserApi.d.ts +9 -12
  7. package/dist/domains/anzuUser/api/anzuUserApi.js.map +1 -1
  8. package/dist/domains/anzuUser/components/AAnzuUserDatatable.js.map +1 -1
  9. package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue.d.ts +38 -44
  10. package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  11. package/dist/domains/anzuUser/components/AAnzuUserFilter.js.map +1 -1
  12. package/dist/domains/anzuUser/components/AAnzuUserFilter.vue.d.ts +12 -13
  13. package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  14. package/dist/domains/anzuUser/components/AAnzuUserForm.js.map +1 -1
  15. package/dist/domains/anzuUser/components/AAnzuUserForm.vue.d.ts +18 -20
  16. package/dist/domains/anzuUser/components/AAnzuUserForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  17. package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js.map +1 -1
  18. package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  19. package/dist/domains/anzuUser/components/AUserBulkActionDialog.js.map +1 -1
  20. package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  21. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.js.map +1 -1
  22. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue.d.ts +2 -3
  23. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  24. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.js.map +1 -1
  25. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue.d.ts +9 -15
  26. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  27. package/dist/domains/anzuUser/components/AUserEnabledSwitch.js.map +1 -1
  28. package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue.d.ts +8 -7
  29. package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  30. package/dist/domains/anzuUser/components/AUserManageButton.js.map +1 -1
  31. package/dist/domains/anzuUser/components/AUserManageButton.vue.d.ts +0 -1
  32. package/dist/domains/anzuUser/components/AUserManageButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/domains/anzuUser/components/AUserMetadataForm.js.map +1 -1
  34. package/dist/domains/anzuUser/components/AUserMetadataForm.vue.d.ts +8 -9
  35. package/dist/domains/anzuUser/components/AUserMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  36. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js.map +1 -1
  37. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  38. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.js.map +1 -1
  39. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue.d.ts +1 -2
  40. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  41. package/dist/domains/anzuUser/components/AUserSystemOverview.js.map +1 -1
  42. package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js.map +1 -1
  43. package/dist/domains/anzuUser/components/AUserSystemPanel.js.map +1 -1
  44. package/dist/domains/anzuUser/components/AUserSystemPanel.vue.d.ts +2 -2
  45. package/dist/domains/anzuUser/components/AUserSystemPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  46. package/dist/domains/anzuUser/components/AUserSystemStatusChip.js.map +1 -1
  47. package/dist/domains/anzuUser/components/AUserSystemStatusChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  48. package/dist/domains/anzuUser/components/AUserTabsShell.js.map +1 -1
  49. package/dist/domains/anzuUser/components/AUserTabsShell.vue.d.ts +17 -22
  50. package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/domains/anzuUser/composables/anzuUserActions.d.ts +5 -9
  52. package/dist/domains/anzuUser/composables/anzuUserActions.js.map +1 -1
  53. package/dist/domains/anzuUser/composables/anzuUserValidations.d.ts +4 -6
  54. package/dist/domains/anzuUser/composables/anzuUserValidations.js.map +1 -1
  55. package/dist/domains/anzuUser/composables/cachedAnzuUsers.d.ts +3 -3
  56. package/dist/domains/anzuUser/composables/cachedAnzuUsers.js.map +1 -1
  57. package/dist/domains/anzuUser/composables/userCrossSystemSearch.d.ts +2 -4
  58. package/dist/domains/anzuUser/composables/userCrossSystemSearch.js.map +1 -1
  59. package/dist/domains/anzuUser/composables/userCrossSystemWrites.d.ts +5 -11
  60. package/dist/domains/anzuUser/composables/userCrossSystemWrites.js.map +1 -1
  61. package/dist/domains/anzuUser/composables/userSystemDescriptor.d.ts +33 -57
  62. package/dist/domains/anzuUser/composables/userSystemDescriptor.js.map +1 -1
  63. package/dist/domains/anzuUser/composables/userSystemProbe.d.ts +7 -27
  64. package/dist/domains/anzuUser/composables/userSystemProbe.js.map +1 -1
  65. package/dist/domains/anzuUser/filter/anzuUserFilter.d.ts +6 -16
  66. package/dist/domains/anzuUser/filter/anzuUserFilter.js.map +1 -1
  67. package/dist/domains/anzuUser/store/anzuUserStore.d.ts +1 -5
  68. package/dist/domains/anzuUser/store/anzuUserStore.js.map +1 -1
  69. package/dist/domains/anzuUser/store/userCrossSystemStore.d.ts +3 -14
  70. package/dist/domains/anzuUser/store/userCrossSystemStore.js.map +1 -1
  71. package/dist/domains/anzuUser/utils/userMetadataDiff.d.ts +7 -19
  72. package/dist/domains/anzuUser/utils/userMetadataDiff.js.map +1 -1
  73. package/dist/domains/anzuUser/utils/userSystemState.d.ts +12 -30
  74. package/dist/domains/anzuUser/utils/userSystemState.js.map +1 -1
  75. package/dist/domains/anzuUser/utils/userTabs.d.ts +1 -3
  76. package/dist/domains/anzuUser/utils/userTabs.js.map +1 -1
  77. package/dist/domains/api/composables/defineApiClient.d.ts +4 -8
  78. package/dist/domains/api/composables/defineApiClient.js.map +1 -1
  79. package/dist/domains/api/composables/request.d.ts +18 -48
  80. package/dist/domains/api/composables/request.js.map +1 -1
  81. package/dist/domains/api/composables/useApiFetchByIds.d.ts +7 -21
  82. package/dist/domains/api/composables/useApiFetchByIds.js.map +1 -1
  83. package/dist/domains/api/composables/useApiFetchItems.d.ts +18 -57
  84. package/dist/domains/api/composables/useApiFetchItems.js.map +1 -1
  85. package/dist/domains/api/composables/useApiFetchList.d.ts +7 -23
  86. package/dist/domains/api/composables/useApiFetchList.js.map +1 -1
  87. package/dist/domains/api/composables/useApiFetchListBatch.d.ts +5 -22
  88. package/dist/domains/api/composables/useApiFetchListBatch.js.map +1 -1
  89. package/dist/domains/api/composables/useApiQueryBuilder.js.map +1 -1
  90. package/dist/domains/api/composables/useApiRequest.d.ts +16 -39
  91. package/dist/domains/api/composables/useApiRequest.js.map +1 -1
  92. package/dist/domains/api/utils/apiErrors.d.ts +28 -55
  93. package/dist/domains/api/utils/apiErrors.js.map +1 -1
  94. package/dist/domains/api/utils/listBody.d.ts +22 -43
  95. package/dist/domains/api/utils/listBody.js.map +1 -1
  96. package/dist/domains/auth/components/Acl.js.map +1 -1
  97. package/dist/domains/auth/components/Acl.vue_vue_type_script_setup_true_lang.js.map +1 -1
  98. package/dist/domains/auth/composables/aclAllowed.d.ts +2 -3
  99. package/dist/domains/auth/composables/aclAllowed.js.map +1 -1
  100. package/dist/domains/auth/composables/defineAuth.js.map +1 -1
  101. package/dist/domains/auth/composables/refreshSession.d.ts +10 -13
  102. package/dist/domains/auth/composables/refreshSession.js.map +1 -1
  103. package/dist/domains/cached/components/ACachedChip.js.map +1 -1
  104. package/dist/domains/cached/components/ACachedChip.vue.d.ts +13 -11
  105. package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  106. package/dist/domains/cached/components/ACachedUserChip.js +1 -1
  107. package/dist/domains/cached/components/ACachedUserChip.js.map +1 -1
  108. package/dist/domains/cached/components/ACachedUserChip.vue.d.ts +3 -3
  109. package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  110. package/dist/domains/cached/composables/createUserAndTimeTrackingFields.d.ts +9 -9
  111. package/dist/domains/cached/composables/createUserAndTimeTrackingFields.js.map +1 -1
  112. package/dist/domains/cached/composables/defineCached.d.ts +13 -11
  113. package/dist/domains/cached/composables/defineCached.js.map +1 -1
  114. package/dist/domains/cached/composables/useCachedItem.d.ts +7 -8
  115. package/dist/domains/cached/composables/useCachedItem.js.map +1 -1
  116. package/dist/domains/collab/components/ACollabLockedByUser.js.map +1 -1
  117. package/dist/domains/collab/components/ACollabLockedByUser.vue_vue_type_script_setup_true_lang.js.map +1 -1
  118. package/dist/domains/collab/composables/collabAnyDataChange.js.map +1 -1
  119. package/dist/domains/collab/composables/collabField.d.ts +5 -3
  120. package/dist/domains/collab/composables/collabField.js.map +1 -1
  121. package/dist/domains/collab/composables/collabInit.js +58 -54
  122. package/dist/domains/collab/composables/collabInit.js.map +1 -1
  123. package/dist/domains/collab/composables/collabRecovery.d.ts +49 -0
  124. package/dist/domains/collab/composables/collabRecovery.js +99 -0
  125. package/dist/domains/collab/composables/collabRecovery.js.map +1 -0
  126. package/dist/domains/collab/composables/collabRoom.js +106 -106
  127. package/dist/domains/collab/composables/collabRoom.js.map +1 -1
  128. package/dist/domains/collab/composables/collabState.d.ts +11 -4
  129. package/dist/domains/collab/composables/collabState.js +34 -25
  130. package/dist/domains/collab/composables/collabState.js.map +1 -1
  131. package/dist/domains/collab/composables/commonAdminCollabOptions.d.ts +4 -2
  132. package/dist/domains/collab/types/Collab.d.ts +31 -5
  133. package/dist/domains/collab/types/Collab.js +23 -11
  134. package/dist/domains/collab/types/Collab.js.map +1 -1
  135. package/dist/domains/customDataForm/components/ACustomDataForm.js.map +1 -1
  136. package/dist/domains/customDataForm/components/ACustomDataForm.vue.d.ts +7 -5
  137. package/dist/domains/customDataForm/components/ACustomDataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  138. package/dist/domains/customDataForm/components/ACustomDataFormElement.js.map +1 -1
  139. package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js.map +1 -1
  140. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.js.map +1 -1
  141. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue.d.ts +5 -3
  142. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  143. package/dist/domains/customDataForm/composables/useCustomDataForm.js.map +1 -1
  144. package/dist/domains/customDataForm/types/CustomDataForm.d.ts +4 -1
  145. package/dist/domains/dam/api/damAssetApi.d.ts +7 -7
  146. package/dist/domains/dam/api/damAssetApi.js.map +1 -1
  147. package/dist/domains/dam/api/damAssetLicenceApi.d.ts +1 -1
  148. package/dist/domains/dam/api/damAssetLicenceApi.js.map +1 -1
  149. package/dist/domains/dam/api/damConstants.js.map +1 -1
  150. package/dist/domains/dam/api/damEndPoints.js.map +1 -1
  151. package/dist/domains/dam/api/damImageApi.js.map +1 -1
  152. package/dist/domains/dam/api/uploadApi.js.map +1 -1
  153. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js.map +1 -1
  154. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue.d.ts +7 -5
  155. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  156. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.js.map +1 -1
  157. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  158. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.js.map +1 -1
  159. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue.d.ts +1 -1
  160. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
  161. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue.d.ts +5 -3
  162. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.js.map +1 -1
  163. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
  164. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.js.map +1 -1
  165. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  166. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.js.map +1 -1
  167. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js.map +1 -1
  168. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js.map +1 -1
  169. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue.d.ts +1 -1
  170. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  171. package/dist/domains/dam/assetDetail/components/AssetImage.js.map +1 -1
  172. package/dist/domains/dam/assetDetail/components/AssetImage.vue.d.ts +1 -1
  173. package/dist/domains/dam/assetDetail/components/AssetImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  174. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.js.map +1 -1
  175. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue.d.ts +2 -2
  176. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js.map +1 -1
  177. package/dist/domains/dam/assetDetail/components/AssetInfobox.js.map +1 -1
  178. package/dist/domains/dam/assetDetail/components/AssetInfobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  179. package/dist/domains/dam/assetDetail/components/AssetMetadata.js.map +1 -1
  180. package/dist/domains/dam/assetDetail/components/AssetMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  181. package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.d.ts +5 -6
  182. package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.js.map +1 -1
  183. package/dist/domains/dam/assetDetail/composables/assetDetailView.d.ts +10 -10
  184. package/dist/domains/dam/assetDetail/composables/assetDetailView.js.map +1 -1
  185. package/dist/domains/dam/assetDetail/store/assetDetailStore.js.map +1 -1
  186. package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.d.ts +4 -3
  187. package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.js.map +1 -1
  188. package/dist/domains/dam/assetSelect/api/damPodcastApi.js.map +1 -1
  189. package/dist/domains/dam/assetSelect/components/AAssetListInner.js.map +1 -1
  190. package/dist/domains/dam/assetSelect/components/AAssetListInner.vue.d.ts +789 -787
  191. package/dist/domains/dam/assetSelect/components/AAssetListInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  192. package/dist/domains/dam/assetSelect/components/AAssetSelect.js.map +1 -1
  193. package/dist/domains/dam/assetSelect/components/AAssetSelect.vue.d.ts +395 -393
  194. package/dist/domains/dam/assetSelect/components/AAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  195. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.js.map +1 -1
  196. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue.d.ts +14 -12
  197. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue_vue_type_script_setup_true_lang.js.map +1 -1
  198. package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.js.map +1 -1
  199. package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  200. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.js.map +1 -1
  201. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue.d.ts +9 -7
  202. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  203. package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.js.map +1 -1
  204. package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  205. package/dist/domains/dam/assetSelect/composables/assetSelectListActions.js.map +1 -1
  206. package/dist/domains/dam/assetSelect/store/assetSelectStore.js.map +1 -1
  207. package/dist/domains/dam/author/api/authorApi.js.map +1 -1
  208. package/dist/domains/dam/author/components/AuthorCreateButton.js.map +1 -1
  209. package/dist/domains/dam/author/components/AuthorCreateButton.vue.d.ts +1 -1
  210. package/dist/domains/dam/author/components/AuthorCreateButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  211. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.js.map +1 -1
  212. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue.d.ts +9 -6
  213. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  214. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.js.map +1 -1
  215. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.vue_vue_type_script_setup_true_lang.js.map +1 -1
  216. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js +1 -1
  217. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js.map +1 -1
  218. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue.d.ts +2 -2
  219. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
  220. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.js.map +1 -1
  221. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue.d.ts +1 -1
  222. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  223. package/dist/domains/dam/author/composables/cachedAuthors.d.ts +5 -4
  224. package/dist/domains/dam/author/composables/cachedAuthors.js.map +1 -1
  225. package/dist/domains/dam/author/composables/cachedUsers.d.ts +5 -4
  226. package/dist/domains/dam/author/composables/cachedUsers.js.map +1 -1
  227. package/dist/domains/dam/author/composables/damAuthorConfig.d.ts +2 -2
  228. package/dist/domains/dam/author/composables/damAuthorConfig.js.map +1 -1
  229. package/dist/domains/dam/components/DamAdminAssetLink.js.map +1 -1
  230. package/dist/domains/dam/components/DamAdminAssetLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
  231. package/dist/domains/dam/composables/commonAdminCoreDamOptions.d.ts +10 -8
  232. package/dist/domains/dam/composables/commonAdminCoreDamOptions.js.map +1 -1
  233. package/dist/domains/dam/composables/damConfigName.d.ts +8 -9
  234. package/dist/domains/dam/composables/damConfigName.js.map +1 -1
  235. package/dist/domains/dam/composables/damNotifications.d.ts +9 -9
  236. package/dist/domains/dam/composables/damNotifications.js.map +1 -1
  237. package/dist/domains/dam/composables/damNotificationsConnection.d.ts +4 -4
  238. package/dist/domains/dam/composables/damNotificationsConnection.js.map +1 -1
  239. package/dist/domains/dam/composables/damNotificationsEventBus.d.ts +2 -2
  240. package/dist/domains/dam/composables/damNotificationsEventBus.js.map +1 -1
  241. package/dist/domains/dam/composables/extSystemIdForCached.d.ts +5 -4
  242. package/dist/domains/dam/composables/extSystemIdForCached.js.map +1 -1
  243. package/dist/domains/dam/config/api/damAssetCustomFormApi.js.map +1 -1
  244. package/dist/domains/dam/config/api/damConfigApi.js.map +1 -1
  245. package/dist/domains/dam/config/composables/damConfigState.d.ts +5 -5
  246. package/dist/domains/dam/config/composables/damConfigState.js.map +1 -1
  247. package/dist/domains/dam/config/store/damConfigStore.d.ts +5 -4
  248. package/dist/domains/dam/config/store/damConfigStore.js.map +1 -1
  249. package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.d.ts +3 -1
  250. package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.js.map +1 -1
  251. package/dist/domains/dam/cropper/components/ACropper.js.map +1 -1
  252. package/dist/domains/dam/cropper/components/ACropper.vue.d.ts +8 -16
  253. package/dist/domains/dam/cropper/components/ACropper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  254. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.js.map +1 -1
  255. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  256. package/dist/domains/dam/cropper/store/imageRoiStore.d.ts +9 -12
  257. package/dist/domains/dam/cropper/store/imageRoiStore.js.map +1 -1
  258. package/dist/domains/dam/cropper/utils/cropperGeometry.d.ts +24 -38
  259. package/dist/domains/dam/cropper/utils/cropperGeometry.js.map +1 -1
  260. package/dist/domains/dam/cropper/utils/cropperJsService.d.ts +3 -7
  261. package/dist/domains/dam/cropper/utils/cropperJsService.js +10 -3
  262. package/dist/domains/dam/cropper/utils/cropperJsService.js.map +1 -1
  263. package/dist/domains/dam/cropper/utils/cropperTypes.d.ts +3 -6
  264. package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.d.ts +5 -5
  265. package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.js.map +1 -1
  266. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.js.map +1 -1
  267. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
  268. package/dist/domains/dam/imageWidget/components/AImagePublicInput.js.map +1 -1
  269. package/dist/domains/dam/imageWidget/components/AImagePublicInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  270. package/dist/domains/dam/imageWidget/components/AImageWidget.js.map +1 -1
  271. package/dist/domains/dam/imageWidget/components/AImageWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
  272. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.js.map +1 -1
  273. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js.map +1 -1
  274. package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue.d.ts +43 -41
  275. package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue.d.ts +31 -29
  276. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js.map +1 -1
  277. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue.d.ts +29 -27
  278. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  279. package/dist/domains/dam/imageWidget/components/ImageMassOperations.js.map +1 -1
  280. package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue.d.ts +1 -1
  281. package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
  282. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.js.map +1 -1
  283. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue.d.ts +68 -66
  284. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  285. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js.map +1 -1
  286. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue.d.ts +402 -400
  287. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  288. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.js.map +1 -1
  289. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue.d.ts +384 -382
  290. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  291. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.js.map +1 -1
  292. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  293. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.js.map +1 -1
  294. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  295. package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue.d.ts +7 -5
  296. package/dist/domains/dam/imageWidget/composables/commonAdminImageOptions.js.map +1 -1
  297. package/dist/domains/dam/imageWidget/composables/imageApiCms.js.map +1 -1
  298. package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.d.ts +11 -13
  299. package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.js.map +1 -1
  300. package/dist/domains/dam/imageWidget/composables/useImageMassOperations.js.map +1 -1
  301. package/dist/domains/dam/imageWidget/store/imageMediaWidgetStore.js.map +1 -1
  302. package/dist/domains/dam/imageWidget/store/imageStore.js.map +1 -1
  303. package/dist/domains/dam/imageWidget/utils/damImage.d.ts +5 -6
  304. package/dist/domains/dam/imageWidget/utils/damImage.js.map +1 -1
  305. package/dist/domains/dam/imageWidget/utils/fieldLockTurns.d.ts +1 -2
  306. package/dist/domains/dam/imageWidget/utils/fieldLockTurns.js.map +1 -1
  307. package/dist/domains/dam/imageWidget/utils/imageSaves.d.ts +10 -14
  308. package/dist/domains/dam/imageWidget/utils/imageSaves.js.map +1 -1
  309. package/dist/domains/dam/imageWidget/utils/metadataToImageMap.js.map +1 -1
  310. package/dist/domains/dam/imageWidget/utils/waitLimit.d.ts +4 -6
  311. package/dist/domains/dam/imageWidget/utils/waitLimit.js.map +1 -1
  312. package/dist/domains/dam/keyword/api/keywordApi.js.map +1 -1
  313. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js.map +1 -1
  314. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue.d.ts +1 -1
  315. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  316. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js.map +1 -1
  317. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue.d.ts +8 -5
  318. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  319. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js +1 -1
  320. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js.map +1 -1
  321. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue.d.ts +2 -2
  322. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
  323. package/dist/domains/dam/keyword/composables/cachedKeywords.d.ts +5 -4
  324. package/dist/domains/dam/keyword/composables/cachedKeywords.js.map +1 -1
  325. package/dist/domains/dam/keyword/composables/damKeywordConfig.d.ts +2 -2
  326. package/dist/domains/dam/keyword/composables/damKeywordConfig.js.map +1 -1
  327. package/dist/domains/dam/types/Asset.d.ts +1 -1
  328. package/dist/domains/dam/types/Asset.js.map +1 -1
  329. package/dist/domains/dam/types/UploadQueue.d.ts +5 -4
  330. package/dist/domains/dam/types/UploadQueue.js.map +1 -1
  331. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js.map +1 -1
  332. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
  333. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.js.map +1 -1
  334. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue.d.ts +2 -2
  335. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  336. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.js.map +1 -1
  337. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  338. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.js.map +1 -1
  339. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  340. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.js.map +1 -1
  341. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue.d.ts +6 -4
  342. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  343. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.js.map +1 -1
  344. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue.d.ts +1 -1
  345. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  346. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.js.map +1 -1
  347. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  348. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.js.map +1 -1
  349. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue.d.ts +6 -6
  350. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  351. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.js.map +1 -1
  352. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue.d.ts +13 -13
  353. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  354. package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.d.ts +13 -13
  355. package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.js.map +1 -1
  356. package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.d.ts +2 -2
  357. package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.js.map +1 -1
  358. package/dist/domains/dam/uploadQueue/composables/uploadMeter.d.ts +12 -12
  359. package/dist/domains/dam/uploadQueue/composables/uploadMeter.js.map +1 -1
  360. package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.d.ts +5 -5
  361. package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.js.map +1 -1
  362. package/dist/domains/dam/uploadQueue/composables/uploadService.d.ts +2 -3
  363. package/dist/domains/dam/uploadQueue/composables/uploadService.js.map +1 -1
  364. package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.d.ts +5 -4
  365. package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.js.map +1 -1
  366. package/dist/domains/dam/uploadQueue/core/uploadQueueCore.d.ts +3 -2
  367. package/dist/domains/dam/uploadQueue/core/uploadQueueCore.js.map +1 -1
  368. package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.d.ts +8 -5
  369. package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.js.map +1 -1
  370. package/dist/domains/dam/uploadQueue/core/uploadQueueFill.d.ts +3 -3
  371. package/dist/domains/dam/uploadQueue/core/uploadQueueFill.js.map +1 -1
  372. package/dist/domains/dam/uploadQueue/presets/queuePresets.d.ts +8 -5
  373. package/dist/domains/dam/uploadQueue/presets/queuePresets.js.map +1 -1
  374. package/dist/domains/dam/uploadQueue/presets/uploadPresets.d.ts +15 -13
  375. package/dist/domains/dam/uploadQueue/presets/uploadPresets.js.map +1 -1
  376. package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.d.ts +7 -7
  377. package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.js.map +1 -1
  378. package/dist/domains/dam/uploadQueue/settlement/uploadPoller.d.ts +4 -4
  379. package/dist/domains/dam/uploadQueue/settlement/uploadPoller.js.map +1 -1
  380. package/dist/domains/dam/uploadQueue/settlement/uploadSettle.d.ts +28 -30
  381. package/dist/domains/dam/uploadQueue/settlement/uploadSettle.js.map +1 -1
  382. package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.d.ts +2 -2
  383. package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.js.map +1 -1
  384. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.d.ts +2 -2
  385. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.js.map +1 -1
  386. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.d.ts +63 -73
  387. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.js.map +1 -1
  388. package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.d.ts +8 -9
  389. package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.js.map +1 -1
  390. package/dist/domains/dam/user/api/userApi.d.ts +2 -2
  391. package/dist/domains/dam/user/api/userApi.js.map +1 -1
  392. package/dist/domains/dam/user/components/DamDistributionServiceSelect.js.map +1 -1
  393. package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue.d.ts +1 -1
  394. package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  395. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js.map +1 -1
  396. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue.d.ts +1 -1
  397. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  398. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js.map +1 -1
  399. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue.d.ts +1 -1
  400. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  401. package/dist/domains/dam/user/composables/damUserSelectActions.d.ts +1 -1
  402. package/dist/domains/dam/user/composables/damUserSelectActions.js.map +1 -1
  403. package/dist/domains/dam/user/types/DamDistributionServiceType.d.ts +2 -2
  404. package/dist/domains/dam/user/types/DamDistributionServiceType.js.map +1 -1
  405. package/dist/domains/dam/user/types/DamExternalProviderAssetType.d.ts +1 -1
  406. package/dist/domains/dam/user/types/DamExternalProviderAssetType.js.map +1 -1
  407. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.js.map +1 -1
  408. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  409. package/dist/domains/filters/bookmarks/store/bookmarksStore.d.ts +3 -3
  410. package/dist/domains/filters/bookmarks/store/bookmarksStore.js.map +1 -1
  411. package/dist/domains/filters/components/AFilterDatetimePicker.js.map +1 -1
  412. package/dist/domains/filters/components/AFilterDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  413. package/dist/domains/filters/components/AFilterInteger.js.map +1 -1
  414. package/dist/domains/filters/components/AFilterInteger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  415. package/dist/domains/filters/components/AFilterString.js.map +1 -1
  416. package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js.map +1 -1
  417. package/dist/domains/filters/components/AFilterTimeInterval.js +1 -1
  418. package/dist/domains/filters/components/AFilterTimeInterval.js.map +1 -1
  419. package/dist/domains/filters/components/AFilterTimeInterval.vue.d.ts +5 -3
  420. package/dist/domains/filters/components/AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js.map +1 -1
  421. package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js.map +1 -1
  422. package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  423. package/dist/domains/filters/components/AFilterWrapper.js.map +1 -1
  424. package/dist/domains/filters/components/AFilterWrapper.vue.d.ts +17 -15
  425. package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js +63 -62
  426. package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  427. package/dist/domains/filters/components/AFilterWrapperSidebar.vue.d.ts +5 -3
  428. package/dist/domains/filters/components/FiltersSelected.js.map +1 -1
  429. package/dist/domains/filters/components/FiltersSelected.vue_vue_type_script_setup_true_lang.js.map +1 -1
  430. package/dist/domains/filters/composables/filterFactory.d.ts +16 -26
  431. package/dist/domains/filters/composables/filterFactory.js +38 -31
  432. package/dist/domains/filters/composables/filterFactory.js.map +1 -1
  433. package/dist/domains/filters/datatable/components/ADatatableOrdering.js.map +1 -1
  434. package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js +3 -1
  435. package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js.map +1 -1
  436. package/dist/domains/filters/datatable/components/ADatatablePagination.js.map +1 -1
  437. package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js +2 -4
  438. package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  439. package/dist/domains/filters/utils/filterInjectionKeys.js.map +1 -1
  440. package/dist/domains/form/components/AFormDatetimePicker.js.map +1 -1
  441. package/dist/domains/form/components/AFormDatetimePicker.vue.d.ts +7 -5
  442. package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  443. package/dist/domains/form/components/AFormFlagDatetimePicker.js.map +1 -1
  444. package/dist/domains/form/components/AFormFlagDatetimePicker.vue.d.ts +7 -5
  445. package/dist/domains/form/components/AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  446. package/dist/domains/form/components/AFormSwitch.vue.d.ts +7 -5
  447. package/dist/domains/form/components/AFormTextField.js.map +1 -1
  448. package/dist/domains/form/components/AFormTextField.vue.d.ts +9 -7
  449. package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  450. package/dist/domains/form/components/AFormTextarea.vue.d.ts +13 -11
  451. package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue.d.ts +7 -5
  452. package/dist/domains/form/components/ASystemEntityScope.vue.d.ts +5 -3
  453. package/dist/domains/job/api/jobApi.js.map +1 -1
  454. package/dist/domains/job/components/AJobDetailCommon.vue.d.ts +5 -3
  455. package/dist/domains/listEditor/components/AListEditor.js.map +1 -1
  456. package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  457. package/dist/domains/listEditor/components/ANestedSortableListEditor.js.map +1 -1
  458. package/dist/domains/listEditor/components/ANestedSortableListEditor.vue.d.ts +2 -3
  459. package/dist/domains/listEditor/components/ANestedSortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  460. package/dist/domains/listEditor/components/ASortableListEditor.js.map +1 -1
  461. package/dist/domains/listEditor/components/ASortableListEditor.vue.d.ts +2 -3
  462. package/dist/domains/listEditor/components/ASortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  463. package/dist/domains/listEditor/composables/useListEditorController.d.ts +4 -5
  464. package/dist/domains/listEditor/composables/useListEditorController.js.map +1 -1
  465. package/dist/domains/listEditor/composables/useNestedListEditor.d.ts +3 -4
  466. package/dist/domains/listEditor/composables/useNestedListEditor.js.map +1 -1
  467. package/dist/domains/listEditor/composables/useNestedListEditorController.d.ts +5 -4
  468. package/dist/domains/listEditor/composables/useNestedListEditorController.js.map +1 -1
  469. package/dist/domains/listEditor/composables/useReorderMode.js.map +1 -1
  470. package/dist/domains/listEditor/types/listEditorTypes.d.ts +2 -2
  471. package/dist/domains/listEditor/utils/listEditorLoader.d.ts +5 -5
  472. package/dist/domains/listEditor/utils/listEditorLoader.js.map +1 -1
  473. package/dist/domains/listEditor/utils/resolveCompactText.js.map +1 -1
  474. package/dist/domains/log/api/logApi.d.ts +2 -3
  475. package/dist/domains/log/api/logApi.js.map +1 -1
  476. package/dist/domains/log/components/ALogDatatable.js.map +1 -1
  477. package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  478. package/dist/domains/log/components/ALogDetailView.js.map +1 -1
  479. package/dist/domains/log/components/ALogDetailView.vue.d.ts +1 -1
  480. package/dist/domains/log/components/ALogDetailView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  481. package/dist/domains/log/components/ALogFilter.js.map +1 -1
  482. package/dist/domains/log/components/ALogFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  483. package/dist/domains/log/components/ALogListView.js.map +1 -1
  484. package/dist/domains/log/components/ALogListView.vue.d.ts +1 -1
  485. package/dist/domains/log/components/ALogListView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  486. package/dist/domains/log/composables/logActions.d.ts +4 -5
  487. package/dist/domains/log/composables/logActions.js.map +1 -1
  488. package/dist/domains/log/composables/logType.d.ts +6 -7
  489. package/dist/domains/log/composables/logType.js.map +1 -1
  490. package/dist/domains/log/filter/logFilter.d.ts +8 -11
  491. package/dist/domains/log/filter/logFilter.js.map +1 -1
  492. package/dist/domains/permission/components/APermissionEditor.js.map +1 -1
  493. package/dist/domains/permission/components/APermissionEditor.vue.d.ts +4 -4
  494. package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  495. package/dist/domains/permission/composables/permissionActions.d.ts +3 -6
  496. package/dist/domains/permission/composables/permissionActions.js.map +1 -1
  497. package/dist/domains/permission/config/api/permissionConfigApi.d.ts +2 -2
  498. package/dist/domains/permission/config/api/permissionConfigApi.js.map +1 -1
  499. package/dist/domains/permission/config/composables/permissionConfigActions.d.ts +3 -7
  500. package/dist/domains/permission/config/composables/permissionConfigActions.js.map +1 -1
  501. package/dist/domains/permission/config/store/permissionConfigStore.d.ts +2 -4
  502. package/dist/domains/permission/config/store/permissionConfigStore.js.map +1 -1
  503. package/dist/domains/permission/group/api/permissionGroupApi.d.ts +8 -10
  504. package/dist/domains/permission/group/api/permissionGroupApi.js.map +1 -1
  505. package/dist/domains/permission/group/components/APermissionGroupDatatable.js.map +1 -1
  506. package/dist/domains/permission/group/components/APermissionGroupDatatable.vue.d.ts +12 -10
  507. package/dist/domains/permission/group/components/APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  508. package/dist/domains/permission/group/components/APermissionGroupDetail.js.map +1 -1
  509. package/dist/domains/permission/group/components/APermissionGroupDetail.vue.d.ts +21 -22
  510. package/dist/domains/permission/group/components/APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js.map +1 -1
  511. package/dist/domains/permission/group/components/APermissionGroupManage.js.map +1 -1
  512. package/dist/domains/permission/group/components/APermissionGroupManage.vue.d.ts +21 -22
  513. package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  514. package/dist/domains/permission/group/composables/cachedPermissionGroups.js.map +1 -1
  515. package/dist/domains/permission/group/composables/permissionGroupActions.d.ts +6 -8
  516. package/dist/domains/permission/group/composables/permissionGroupActions.js.map +1 -1
  517. package/dist/domains/permission/group/composables/permissionGroupValidations.d.ts +2 -3
  518. package/dist/domains/permission/group/composables/permissionGroupValidations.js.map +1 -1
  519. package/dist/domains/permission/group/filter/permissionGroupFilter.d.ts +2 -3
  520. package/dist/domains/permission/group/filter/permissionGroupFilter.js.map +1 -1
  521. package/dist/domains/permission/group/store/permissionGroupStore.d.ts +3 -6
  522. package/dist/domains/permission/group/store/permissionGroupStore.js.map +1 -1
  523. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js.map +1 -1
  524. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  525. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js.map +1 -1
  526. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js.map +1 -1
  527. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js.map +1 -1
  528. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  529. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue.d.ts +5 -3
  530. package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.d.ts +11 -13
  531. package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.js.map +1 -1
  532. package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue.d.ts +13 -11
  533. package/dist/domains/subjectSelect/components/ASubjectSelect.js.map +1 -1
  534. package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  535. package/dist/domains/subjectSelect/composables/useSubjectSelect.js +53 -51
  536. package/dist/domains/subjectSelect/composables/useSubjectSelect.js.map +1 -1
  537. package/dist/domains/system/appShell/components/AActionbar.vue.d.ts +7 -5
  538. package/dist/domains/system/appShell/components/ALayoutSwitch.js.map +1 -1
  539. package/dist/domains/system/appShell/components/ALayoutSwitch.vue.d.ts +7 -5
  540. package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  541. package/dist/domains/system/appShell/composables/teleportSlot.d.ts +0 -1
  542. package/dist/domains/system/appShell/composables/teleportSlot.js.map +1 -1
  543. package/dist/domains/system/components/AAlerts.js.map +1 -1
  544. package/dist/domains/system/components/AAlerts.vue_vue_type_script_setup_true_lang.js.map +1 -1
  545. package/dist/domains/system/composables/alerts.js.map +1 -1
  546. package/dist/domains/system/composables/breadcrumbs.d.ts +3 -3
  547. package/dist/domains/system/composables/breadcrumbs.js.map +1 -1
  548. package/dist/domains/system/composables/languageSettings.js.map +1 -1
  549. package/dist/domains/system/composables/loginStatus.js.map +1 -1
  550. package/dist/domains/system/composables/navigationError.d.ts +6 -8
  551. package/dist/domains/system/composables/navigationError.js.map +1 -1
  552. package/dist/domains/system/composables/pageNavigation.d.ts +9 -10
  553. package/dist/domains/system/composables/pageNavigation.js.map +1 -1
  554. package/dist/domains/system/composables/recordActions.d.ts +14 -22
  555. package/dist/domains/system/composables/recordActions.js.map +1 -1
  556. package/dist/domains/system/composables/recordPage.d.ts +23 -38
  557. package/dist/domains/system/composables/recordPage.js.map +1 -1
  558. package/dist/domains/system/composables/routeHistory.d.ts +4 -5
  559. package/dist/domains/system/composables/routeHistory.js.map +1 -1
  560. package/dist/domains/system/composables/sentry.js.map +1 -1
  561. package/dist/domains/system/composables/useDebugFeatures.d.ts +3 -6
  562. package/dist/domains/system/composables/useDebugFeatures.js.map +1 -1
  563. package/dist/domains/system/store/datatablePageStore.d.ts +8 -1
  564. package/dist/domains/system/store/datatablePageStore.js +10 -3
  565. package/dist/domains/system/store/datatablePageStore.js.map +1 -1
  566. package/dist/domains/system/systemBar/components/ASystemBar.js.map +1 -1
  567. package/dist/domains/system/systemBar/components/ASystemBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  568. package/dist/domains/system/systemBar/utils/appReload.d.ts +5 -5
  569. package/dist/domains/system/systemBar/utils/appReload.js.map +1 -1
  570. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js.map +1 -1
  571. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue.d.ts +2 -3
  572. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue_vue_type_script_setup_true_lang.js.map +1 -1
  573. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.js.map +1 -1
  574. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  575. package/dist/domains/ui/buttons/components/ABtnSplit.vue.d.ts +9 -7
  576. package/dist/domains/ui/components/AAvatarColorPicker.js.map +1 -1
  577. package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  578. package/dist/domains/ui/components/ACard.js.map +1 -1
  579. package/dist/domains/ui/components/ACard.vue.d.ts +7 -3
  580. package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js +6 -2
  581. package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  582. package/dist/domains/ui/components/ACardLoader.js.map +1 -1
  583. package/dist/domains/ui/components/ACardLoader.vue.d.ts +1 -0
  584. package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js +13 -7
  585. package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  586. package/dist/domains/ui/components/AChipNoLink.vue.d.ts +5 -3
  587. package/dist/domains/ui/components/ACopyText.vue.d.ts +9 -7
  588. package/dist/domains/ui/components/ACreateDialog.js.map +1 -1
  589. package/dist/domains/ui/components/ACreateDialog.vue.d.ts +11 -9
  590. package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  591. package/dist/domains/ui/components/ADialogToolbar.vue.d.ts +5 -3
  592. package/dist/domains/ui/components/ARow.vue.d.ts +5 -3
  593. package/dist/domains/ui/components/ATimeTrackingFields.js.map +1 -1
  594. package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
  595. package/dist/domains/ui/components/AUserAndTimeTrackingFields.js.map +1 -1
  596. package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue.d.ts +3 -5
  597. package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
  598. package/dist/domains/ui/datetime/components/ADatetimePicker.js +1 -1
  599. package/dist/domains/ui/datetime/components/ADatetimePicker.js.map +1 -1
  600. package/dist/domains/ui/datetime/components/ADatetimePicker.vue.d.ts +5 -3
  601. package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  602. package/dist/domains/ui/file/components/AFileDropzone.js.map +1 -1
  603. package/dist/domains/ui/file/components/AFileDropzone.vue.d.ts +1 -1
  604. package/dist/domains/ui/file/components/AFileDropzone.vue_vue_type_script_setup_true_lang.js.map +1 -1
  605. package/dist/domains/ui/file/components/AFileInput.js.map +1 -1
  606. package/dist/domains/ui/file/components/AFileInput.vue.d.ts +9 -7
  607. package/dist/domains/ui/file/components/AFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  608. package/dist/domains/ui/file/components/AFileInputDialog.js.map +1 -1
  609. package/dist/domains/ui/file/components/AFileInputDialog.vue.d.ts +9 -7
  610. package/dist/domains/ui/file/components/AFileInputDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  611. package/dist/domains/ui/file/composables/dropzone.js.map +1 -1
  612. package/dist/domains/ui/file/composables/formatAndSizeCheck.js.map +1 -1
  613. package/dist/domains/ui/view/components/AGenericView.vue.d.ts +7 -5
  614. package/dist/domains/ui/view/components/ALoginView.js +1 -1
  615. package/dist/domains/ui/view/components/ALoginView.js.map +1 -1
  616. package/dist/domains/ui/view/components/ALoginView.vue.d.ts +5 -3
  617. package/dist/domains/ui/view/components/ALoginView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  618. package/dist/domains/ui/view/components/ALogoutView.js.map +1 -1
  619. package/dist/domains/ui/view/components/ALogoutView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  620. package/dist/domains/ui/view/components/ANotFoundView.js.map +1 -1
  621. package/dist/domains/ui/view/components/ANotFoundView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  622. package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.d.ts +6 -7
  623. package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.js.map +1 -1
  624. package/dist/lib.d.ts +2 -2
  625. package/dist/plugins/commonVuetifyConfig.d.ts +3 -3
  626. package/dist/plugins/commonVuetifyConfig.js.map +1 -1
  627. package/dist/plugins/i18n.d.ts +4 -5
  628. package/dist/plugins/i18n.js.map +1 -1
  629. package/dist/plugins/pluginOptions.d.ts +4 -2
  630. package/dist/plugins/pluginOptions.js.map +1 -1
  631. package/dist/plugins/webfontloader.js.map +1 -1
  632. package/dist/shared/error/AnzuApiCancelledError.d.ts +5 -8
  633. package/dist/shared/error/AnzuApiCancelledError.js.map +1 -1
  634. package/dist/shared/error/AnzuError.d.ts +3 -5
  635. package/dist/shared/error/AnzuError.js.map +1 -1
  636. package/dist/shared/error/AuthUnavailableError.d.ts +3 -3
  637. package/dist/shared/error/AuthUnavailableError.js.map +1 -1
  638. package/dist/shared/error/isInCauseChain.d.ts +2 -2
  639. package/dist/shared/error/isInCauseChain.js.map +1 -1
  640. package/dist/shared/types/UserAndTimeTracking.d.ts +5 -5
  641. package/dist/shared/types/Validation.d.ts +4 -5
  642. package/dist/shared/types/common.d.ts +1 -3
  643. package/dist/shared/types/globalComponents.d.ts +5 -6
  644. package/dist/shared/utils/common.js.map +1 -1
  645. package/dist/shared/utils/datetime.d.ts +0 -1
  646. package/dist/shared/utils/datetime.js.map +1 -1
  647. package/dist/shared/utils/datetimePickerValue.d.ts +4 -7
  648. package/dist/shared/utils/datetimePickerValue.js.map +1 -1
  649. package/dist/shared/utils/development.d.ts +3 -3
  650. package/dist/shared/utils/development.js.map +1 -1
  651. package/dist/shared/utils/envConfig.d.ts +4 -4
  652. package/dist/shared/utils/envConfig.js.map +1 -1
  653. package/dist/shared/utils/json.d.ts +1 -1
  654. package/dist/shared/utils/json.js.map +1 -1
  655. package/dist/shared/utils/userAndTimeTracking.d.ts +5 -7
  656. package/dist/shared/utils/userAndTimeTracking.js.map +1 -1
  657. package/dist/shared/validators/vuelidate/common/useValidateHexColor.d.ts +3 -5
  658. package/dist/shared/validators/vuelidate/common/useValidateHexColor.js.map +1 -1
  659. package/dist/testing/appShell.d.ts +11 -11
  660. package/dist/testing/appShell.js.map +1 -1
  661. package/dist/testing/closeButtons.d.ts +9 -11
  662. package/dist/testing/closeButtons.js.map +1 -1
  663. package/dist/testing/declaredDependencies.d.ts +7 -7
  664. package/dist/testing/declaredDependencies.js.map +1 -1
  665. package/dist/testing/generatedRoutes.d.ts +6 -11
  666. package/dist/testing/generatedRoutes.js.map +1 -1
  667. package/dist/testing/routeHistory.d.ts +5 -12
  668. package/dist/testing/routeHistory.js.map +1 -1
  669. package/dist/testing/sortableLists.d.ts +16 -21
  670. package/dist/testing/sortableLists.js.map +1 -1
  671. package/dist/testing/typedRouter.d.ts +0 -1
  672. package/dist/testing/typedRouter.js.map +1 -1
  673. package/package.json +39 -29
  674. package/src/e2e/conventions.d.mts +4 -0
  675. package/src/e2e/conventions.mjs +15 -0
  676. package/src/e2e/index.d.mts +8 -0
  677. package/src/e2e/index.mjs +1 -0
  678. package/src/e2e/routeWalk.d.mts +43 -0
  679. package/src/e2e/routeWalk.mjs +606 -0
  680. package/src/e2e/types.d.mts +161 -0
  681. package/src/eslint/adminConfig.mjs +19 -27
  682. package/src/eslint/globalComponentNames.mjs +3 -4
  683. package/src/eslint/oxlint.mjs +7 -20
  684. package/src/eslint/plugin.d.mts +2 -4
  685. package/src/eslint/plugin.mjs +18 -34
  686. package/src/eslint/validRouteName.mjs +6 -7
  687. package/src/vite/devWatch.mjs +30 -43
  688. package/src/vite/index.d.mts +5 -5
  689. package/src/vite/sentry.mjs +7 -12
  690. package/src/vite/sourcemaps.mjs +4 -8
@@ -1 +1 @@
1
- {"version":3,"file":"permissionConfigStore.js","names":["usePermissionConfigStore","defineStore","usePermissionConfigFactory","entries","ref","emptyEntry","createPermissionConfig","getEntry","system","setLoading","entry","setConfig","resetSystem","reset"],"sources":["../../../../../src/domains/permission/config/store/permissionConfigStore.ts"],"sourcesContent":["import { acceptHMRUpdate, defineStore } from 'pinia'\nimport { ref } from 'vue'\nimport { usePermissionConfigFactory } from '@/domains/permission/config/factory/PermissionConfigFactory'\nimport type { PermissionConfig } from '@/domains/permission/config/types/PermissionConfig'\n\n/**\n * One entry per system. The admins this replaces kept `loading` and `initialized` as two module\n * booleans shared by every system they fetched, which is wrong the moment the fetches run in\n * parallel: the first one to finish cleared the flag for all of them, and the first one to fail\n * left it set forever because there was no `finally`.\n */\nexport interface PermissionConfigEntry {\n config: PermissionConfig\n loading: boolean\n initialized: boolean\n}\n\nexport const usePermissionConfigStore = defineStore('commonAdminPermissionConfigStore', () => {\n const { createPermissionConfig } = usePermissionConfigFactory()\n\n const entries = ref(new Map<string, PermissionConfigEntry>())\n\n const emptyEntry = (): PermissionConfigEntry => ({\n config: createPermissionConfig(),\n loading: false,\n initialized: false,\n })\n\n /**\n * Never returns undefined, so a template can read `.config` before the first fetch lands. The\n * empty config is a fresh object per call rather than a shared constant: the editor writes into\n * what it is handed, and one frozen blank would be shared by every system that has not answered.\n */\n function getEntry(system: string): PermissionConfigEntry {\n return entries.value.get(system) ?? emptyEntry()\n }\n\n function setLoading(system: string, loading: boolean) {\n const entry = entries.value.get(system) ?? emptyEntry()\n entries.value.set(system, { ...entry, loading })\n }\n\n function setConfig(system: string, config: PermissionConfig) {\n const entry = entries.value.get(system) ?? emptyEntry()\n entries.value.set(system, { ...entry, config, initialized: true })\n }\n\n /** Drops one system, leaving the others loaded. Used when a system's client is swapped out. */\n function resetSystem(system: string) {\n entries.value.delete(system)\n }\n\n function reset() {\n entries.value = new Map()\n }\n\n return {\n entries,\n getEntry,\n setLoading,\n setConfig,\n resetSystem,\n reset,\n }\n})\n\nif (import.meta.hot) {\n import.meta.hot.accept(acceptHMRUpdate(usePermissionConfigStore, import.meta.hot))\n}\n"],"mappings":";;;;AAiBA,IAAaA,IAA2BC,EAAY,0CAA0C;CAC5F,IAAM,EAAE,8BAA2BC,EAA2B,GAExDC,IAAUC,kBAAI,IAAI,IAAmC,CAAC,GAEtDC,WAA2C;EAC/C,QAAQC,EAAuB;EAC/B,SAAS;EACT,aAAa;CACf;CAOA,SAASC,EAAS,GAAuC;EACvD,OAAOJ,EAAQ,MAAM,IAAIK,CAAM,KAAKH,EAAW;CACjD;CAEA,SAASI,EAAW,GAAgB,GAAkB;EACpD,IAAMC,IAAQP,EAAQ,MAAM,IAAIK,CAAM,KAAKH,EAAW;EACtD,EAAQ,MAAM,IAAIG,GAAQ;GAAE,GAAGE;GAAO;EAAQ,CAAC;CACjD;CAEA,SAASC,EAAU,GAAgB,GAA0B;EAC3D,IAAMD,IAAQP,EAAQ,MAAM,IAAIK,CAAM,KAAKH,EAAW;EACtD,EAAQ,MAAM,IAAIG,GAAQ;GAAE,GAAGE;GAAO;GAAQ,aAAa;EAAK,CAAC;CACnE;CAGA,SAASE,EAAY,GAAgB;EACnC,EAAQ,MAAM,OAAOJ,CAAM;CAC7B;CAEA,SAASK,IAAQ;EACf,EAAQ,wBAAQ,IAAI,IAAI;CAC1B;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF,CAAC"}
1
+ {"version":3,"file":"permissionConfigStore.js","names":["usePermissionConfigStore","defineStore","usePermissionConfigFactory","entries","ref","emptyEntry","createPermissionConfig","getEntry","system","setLoading","entry","setConfig","resetSystem","reset"],"sources":["../../../../../src/domains/permission/config/store/permissionConfigStore.ts"],"sourcesContent":["import { acceptHMRUpdate, defineStore } from 'pinia'\nimport { ref } from 'vue'\nimport { usePermissionConfigFactory } from '@/domains/permission/config/factory/PermissionConfigFactory'\nimport type { PermissionConfig } from '@/domains/permission/config/types/PermissionConfig'\n\n/**\n * One entry per system. Shared `loading` and `initialized` flags break with parallel fetches.\n * The first fetch to finish would clear the flag for all, and a failure without `finally` would leave it set forever.\n */\nexport interface PermissionConfigEntry {\n config: PermissionConfig\n loading: boolean\n initialized: boolean\n}\n\nexport const usePermissionConfigStore = defineStore('commonAdminPermissionConfigStore', () => {\n const { createPermissionConfig } = usePermissionConfigFactory()\n\n const entries = ref(new Map<string, PermissionConfigEntry>())\n\n const emptyEntry = (): PermissionConfigEntry => ({\n config: createPermissionConfig(),\n loading: false,\n initialized: false,\n })\n\n /**\n * Never returns undefined, so a template can read `.config` before the first fetch.\n * The empty config is a fresh object per call. The editor writes into\n * it, so a shared constant would be shared across unanswered systems.\n */\n function getEntry(system: string): PermissionConfigEntry {\n return entries.value.get(system) ?? emptyEntry()\n }\n\n function setLoading(system: string, loading: boolean) {\n const entry = entries.value.get(system) ?? emptyEntry()\n entries.value.set(system, { ...entry, loading })\n }\n\n function setConfig(system: string, config: PermissionConfig) {\n const entry = entries.value.get(system) ?? emptyEntry()\n entries.value.set(system, { ...entry, config, initialized: true })\n }\n\n /** Drops one system, leaving the others loaded. Used when a system's client is swapped out. */\n function resetSystem(system: string) {\n entries.value.delete(system)\n }\n\n function reset() {\n entries.value = new Map()\n }\n\n return {\n entries,\n getEntry,\n setLoading,\n setConfig,\n resetSystem,\n reset,\n }\n})\n\nif (import.meta.hot) {\n import.meta.hot.accept(acceptHMRUpdate(usePermissionConfigStore, import.meta.hot))\n}\n"],"mappings":";;;;AAeA,IAAaA,IAA2BC,EAAY,0CAA0C;CAC5F,IAAM,EAAE,8BAA2BC,EAA2B,GAExDC,IAAUC,kBAAI,IAAI,IAAmC,CAAC,GAEtDC,WAA2C;EAC/C,QAAQC,EAAuB;EAC/B,SAAS;EACT,aAAa;CACf;CAOA,SAASC,EAAS,GAAuC;EACvD,OAAOJ,EAAQ,MAAM,IAAIK,CAAM,KAAKH,EAAW;CACjD;CAEA,SAASI,EAAW,GAAgB,GAAkB;EACpD,IAAMC,IAAQP,EAAQ,MAAM,IAAIK,CAAM,KAAKH,EAAW;EACtD,EAAQ,MAAM,IAAIG,GAAQ;GAAE,GAAGE;GAAO;EAAQ,CAAC;CACjD;CAEA,SAASC,EAAU,GAAgB,GAA0B;EAC3D,IAAMD,IAAQP,EAAQ,MAAM,IAAIK,CAAM,KAAKH,EAAW;EACtD,EAAQ,MAAM,IAAIG,GAAQ;GAAE,GAAGE;GAAO;GAAQ,aAAa;EAAK,CAAC;CACnE;CAGA,SAASE,EAAY,GAAgB;EACnC,EAAQ,MAAM,OAAOJ,CAAM;CAC7B;CAEA,SAASK,IAAQ;EACf,EAAQ,wBAAQ,IAAI,IAAI;CAC1B;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF,CAAC"}
@@ -5,20 +5,18 @@ export declare const PERMISSION_GROUP_ENDPOINT = "/adm/v1/permission-group";
5
5
  export interface PermissionGroupApiParams {
6
6
  client: AxiosClientFn;
7
7
  /**
8
- * Both of these reach every `useApiRequest` this builds, and both have to be taken rather than
9
- * assumed. admin-cms is the proof: its `permissionGroupApi.ts` declared `SYSTEM_COMMON` at the
10
- * top and then sent `SYSTEM_CMS` on one of its four calls, so the same file reported two
11
- * different systems for the same endpoint. A copy of that file per system multiplies the bug;
12
- * one file that is told which system it is cannot have it.
8
+ * Both reach every `useApiRequest` built here, and both must be passed, not assumed.
9
+ * admin-cms declared `SYSTEM_COMMON` but sent `SYSTEM_CMS` on
10
+ * one of four calls, reporting two systems for one endpoint.
11
+ * One file that is told its system cannot have that bug.
13
12
  */
14
13
  system: string;
15
14
  entity?: string;
16
15
  /**
17
- * i18n scope for a server-side validation failure, which is a different question from which
18
- * backend answered. `AnzuApiValidationError` builds `<system>.<entity>.model.<field>` keys, and
19
- * for a component shared by nine backends the labels are always the library's own `common.*` --
20
- * `weather.anzuUser.model.email` exists nowhere. Defaults to `common` plus the entity;
21
- * contentHub passes its own pair to keep the keys it already has.
16
+ * i18n scope for server-side validation failures, separate from which backend answered.
17
+ * `AnzuApiValidationError` builds `<system>.<entity>.model.<field>` keys. For a component shared by
18
+ * nine backends the labels are the library's `common.*`; `weather.anzuUser.model.email` does not exist.
19
+ * Defaults to `common` plus the entity. contentHub passes its own pair to keep its existing keys.
22
20
  */
23
21
  validationSystem?: string;
24
22
  validationEntity?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"permissionGroupApi.js","names":["PERMISSION_GROUP_ENTITY","PERMISSION_GROUP_ENDPOINT","usePermissionGroupApi","entity","scope","useApiFetchByIds","endPoint","useApiFetchList","useApiRequest","useApiCommand"],"sources":["../../../../../src/domains/permission/group/api/permissionGroupApi.ts"],"sourcesContent":["import type { AxiosClientFn } from '@/domains/api/utils/client'\nimport { useApiCommand, useApiRequest } from '@/domains/api/composables/useApiRequest'\nimport { useApiFetchByIds } from '@/domains/api/composables/useApiFetchByIds'\nimport { useApiFetchList } from '@/domains/api/composables/useApiFetchList'\nimport type { PermissionGroup } from '@/domains/permission/group/types/PermissionGroup'\n\nexport const PERMISSION_GROUP_ENTITY = 'permissionGroup'\nexport const PERMISSION_GROUP_ENDPOINT = '/adm/v1/permission-group'\n\nexport interface PermissionGroupApiParams {\n client: AxiosClientFn\n /**\n * Both of these reach every `useApiRequest` this builds, and both have to be taken rather than\n * assumed. admin-cms is the proof: its `permissionGroupApi.ts` declared `SYSTEM_COMMON` at the\n * top and then sent `SYSTEM_CMS` on one of its four calls, so the same file reported two\n * different systems for the same endpoint. A copy of that file per system multiplies the bug;\n * one file that is told which system it is cannot have it.\n */\n system: string\n entity?: string\n /**\n * i18n scope for a server-side validation failure, which is a different question from which\n * backend answered. `AnzuApiValidationError` builds `<system>.<entity>.model.<field>` keys, and\n * for a component shared by nine backends the labels are always the library's own `common.*` --\n * `weather.anzuUser.model.email` exists nowhere. Defaults to `common` plus the entity;\n * contentHub passes its own pair to keep the keys it already has.\n */\n validationSystem?: string\n validationEntity?: string\n endPoint?: string\n}\n\nexport const usePermissionGroupApi = ({\n client,\n system,\n entity = PERMISSION_GROUP_ENTITY,\n validationSystem = 'common',\n validationEntity = entity,\n endPoint = PERMISSION_GROUP_ENDPOINT,\n}: PermissionGroupApiParams) => {\n const scope = { validationSystem, validationEntity }\n const useFetchPermissionGroupListByIds = () =>\n useApiFetchByIds<PermissionGroup>({ client, system, entity, ...scope, urlTemplate: endPoint })\n\n const useFetchPermissionGroupList = () =>\n useApiFetchList<PermissionGroup>({ client, system, entity, ...scope, urlTemplate: endPoint })\n\n const useFetchPermissionGroup = () =>\n useApiRequest<PermissionGroup, null>({\n client,\n ...scope,\n method: 'GET',\n system,\n entity,\n urlTemplate: endPoint + '/:id',\n })\n\n const useCreatePermissionGroup = () =>\n useApiRequest<PermissionGroup, PermissionGroup>({\n client,\n ...scope,\n method: 'POST',\n system,\n entity,\n urlTemplate: endPoint,\n })\n\n const useUpdatePermissionGroup = () =>\n useApiRequest<PermissionGroup, PermissionGroup>({\n client,\n ...scope,\n method: 'PUT',\n system,\n entity,\n urlTemplate: endPoint + '/:id',\n })\n\n const useDeletePermissionGroup = () =>\n useApiCommand<null>({\n client,\n ...scope,\n method: 'DELETE',\n system,\n entity,\n urlTemplate: endPoint + '/:id',\n })\n\n return {\n useFetchPermissionGroupListByIds,\n useFetchPermissionGroupList,\n useFetchPermissionGroup,\n useCreatePermissionGroup,\n useUpdatePermissionGroup,\n useDeletePermissionGroup,\n }\n}\n"],"mappings":";;;;AAMA,IAAaA,IAA0B,mBAC1BC,IAA4B,4BAyB5BC,KAAyB,EACpC,WACA,WACA,YAASF,GACT,sBAAmB,UACnB,sBAAmBG,GACnB,cAAWF,QACmB;CAC9B,IAAMG,IAAQ;EAAE;EAAkB;CAAiB;CA+CnD,OAAO;EACL,wCA9CAC,EAAkC;GAAE;GAAQ;GAAQ;GAAQ,GAAGD;GAAO,aAAaE;EAAS,CAAC;EA+C7F,mCA5CAC,EAAiC;GAAE;GAAQ;GAAQ;GAAQ,GAAGH;GAAO,aAAaE;EAAS,CAAC;EA6C5F,+BA1CAE,EAAqC;GACnC;GACA,GAAGJ;GACH,QAAQ;GACR;GACA;GACA,aAAaE,IAAW;EAC1B,CAAC;EAoCD,gCAjCAE,EAAgD;GAC9C;GACA,GAAGJ;GACH,QAAQ;GACR;GACA;GACA,aAAaE;EACf,CAAC;EA2BD,gCAxBAE,EAAgD;GAC9C;GACA,GAAGJ;GACH,QAAQ;GACR;GACA;GACA,aAAaE,IAAW;EAC1B,CAAC;EAkBD,gCAfAG,EAAoB;GAClB;GACA,GAAGL;GACH,QAAQ;GACR;GACA;GACA,aAAaE,IAAW;EAC1B,CAAC;CASH;AACF"}
1
+ {"version":3,"file":"permissionGroupApi.js","names":["PERMISSION_GROUP_ENTITY","PERMISSION_GROUP_ENDPOINT","usePermissionGroupApi","entity","scope","useApiFetchByIds","endPoint","useApiFetchList","useApiRequest","useApiCommand"],"sources":["../../../../../src/domains/permission/group/api/permissionGroupApi.ts"],"sourcesContent":["import type { AxiosClientFn } from '@/domains/api/utils/client'\nimport { useApiCommand, useApiRequest } from '@/domains/api/composables/useApiRequest'\nimport { useApiFetchByIds } from '@/domains/api/composables/useApiFetchByIds'\nimport { useApiFetchList } from '@/domains/api/composables/useApiFetchList'\nimport type { PermissionGroup } from '@/domains/permission/group/types/PermissionGroup'\n\nexport const PERMISSION_GROUP_ENTITY = 'permissionGroup'\nexport const PERMISSION_GROUP_ENDPOINT = '/adm/v1/permission-group'\n\nexport interface PermissionGroupApiParams {\n client: AxiosClientFn\n /**\n * Both reach every `useApiRequest` built here, and both must be passed, not assumed.\n * admin-cms declared `SYSTEM_COMMON` but sent `SYSTEM_CMS` on\n * one of four calls, reporting two systems for one endpoint.\n * One file that is told its system cannot have that bug.\n */\n system: string\n entity?: string\n /**\n * i18n scope for server-side validation failures, separate from which backend answered.\n * `AnzuApiValidationError` builds `<system>.<entity>.model.<field>` keys. For a component shared by\n * nine backends the labels are the library's `common.*`; `weather.anzuUser.model.email` does not exist.\n * Defaults to `common` plus the entity. contentHub passes its own pair to keep its existing keys.\n */\n validationSystem?: string\n validationEntity?: string\n endPoint?: string\n}\n\nexport const usePermissionGroupApi = ({\n client,\n system,\n entity = PERMISSION_GROUP_ENTITY,\n validationSystem = 'common',\n validationEntity = entity,\n endPoint = PERMISSION_GROUP_ENDPOINT,\n}: PermissionGroupApiParams) => {\n const scope = { validationSystem, validationEntity }\n const useFetchPermissionGroupListByIds = () =>\n useApiFetchByIds<PermissionGroup>({ client, system, entity, ...scope, urlTemplate: endPoint })\n\n const useFetchPermissionGroupList = () =>\n useApiFetchList<PermissionGroup>({ client, system, entity, ...scope, urlTemplate: endPoint })\n\n const useFetchPermissionGroup = () =>\n useApiRequest<PermissionGroup, null>({\n client,\n ...scope,\n method: 'GET',\n system,\n entity,\n urlTemplate: endPoint + '/:id',\n })\n\n const useCreatePermissionGroup = () =>\n useApiRequest<PermissionGroup, PermissionGroup>({\n client,\n ...scope,\n method: 'POST',\n system,\n entity,\n urlTemplate: endPoint,\n })\n\n const useUpdatePermissionGroup = () =>\n useApiRequest<PermissionGroup, PermissionGroup>({\n client,\n ...scope,\n method: 'PUT',\n system,\n entity,\n urlTemplate: endPoint + '/:id',\n })\n\n const useDeletePermissionGroup = () =>\n useApiCommand<null>({\n client,\n ...scope,\n method: 'DELETE',\n system,\n entity,\n urlTemplate: endPoint + '/:id',\n })\n\n return {\n useFetchPermissionGroupListByIds,\n useFetchPermissionGroupList,\n useFetchPermissionGroup,\n useCreatePermissionGroup,\n useUpdatePermissionGroup,\n useDeletePermissionGroup,\n }\n}\n"],"mappings":";;;;AAMA,IAAaA,IAA0B,mBAC1BC,IAA4B,4BAuB5BC,KAAyB,EACpC,WACA,WACA,YAASF,GACT,sBAAmB,UACnB,sBAAmBG,GACnB,cAAWF,QACmB;CAC9B,IAAMG,IAAQ;EAAE;EAAkB;CAAiB;CA+CnD,OAAO;EACL,wCA9CAC,EAAkC;GAAE;GAAQ;GAAQ;GAAQ,GAAGD;GAAO,aAAaE;EAAS,CAAC;EA+C7F,mCA5CAC,EAAiC;GAAE;GAAQ;GAAQ;GAAQ,GAAGH;GAAO,aAAaE;EAAS,CAAC;EA6C5F,+BA1CAE,EAAqC;GACnC;GACA,GAAGJ;GACH,QAAQ;GACR;GACA;GACA,aAAaE,IAAW;EAC1B,CAAC;EAoCD,gCAjCAE,EAAgD;GAC9C;GACA,GAAGJ;GACH,QAAQ;GACR;GACA;GACA,aAAaE;EACf,CAAC;EA2BD,gCAxBAE,EAAgD;GAC9C;GACA,GAAGJ;GACH,QAAQ;GACR;GACA;GACA,aAAaE,IAAW;EAC1B,CAAC;EAkBD,gCAfAG,EAAoB;GAClB;GACA,GAAGL;GACH,QAAQ;GACR;GACA;GACA,aAAaE,IAAW;EAC1B,CAAC;CASH;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"APermissionGroupDatatable.js","names":["_sfc_main","APermissionGroupDatatable_vue_vue_type_script_setup_true_lang_default","APermissionGroupDatatable_default"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupDatatable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { onBeforeUnmount, onMounted, provide } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useDebounceFn } from '@vueuse/core'\nimport ADatatableConfigButton from '@/domains/filters/datatable/components/ADatatableConfigButton.vue'\nimport ADatetime from '@/domains/ui/datetime/components/ADatetime.vue'\nimport ATableCopyIdButton from '@/domains/ui/buttons/table/components/ATableCopyIdButton.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport ADatatableOrdering from '@/domains/filters/datatable/components/ADatatableOrdering.vue'\nimport ADatatablePagination from '@/domains/filters/datatable/components/ADatatablePagination.vue'\nimport { createDatatableColumnsConfig } from '@/domains/filters/datatable/composables/createDatatableColumnsConfig'\nimport { useFilterHelpers } from '@/domains/filters/composables/filterFactory'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport APermissionGroupFilter from '@/domains/permission/group/components/APermissionGroupFilter.vue'\nimport { usePermissionGroupActions } from '@/domains/permission/group/composables/permissionGroupActions'\nimport { PERMISSION_GROUP_ENTITY } from '@/domains/permission/group/api/permissionGroupApi'\nimport {\n permissionGroupFilterStorageKey,\n usePermissionGroupListFilter,\n} from '@/domains/permission/group/filter/permissionGroupFilter'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport type { PermissionGroup } from '@/domains/permission/group/types/PermissionGroup'\n\ntype DatatableItem = PermissionGroup\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n /** Backend identity: keys the filter store and the cache, and reaches every api call. */\n system: string\n entity?: string | undefined\n endPoint?: string | undefined\n /** Where a row and the detail button go. The library cannot know an app's typed route names. */\n detailRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw\n editRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw\n /** Already-evaluated ACL. A boolean, not an `AclValue`: see 5.1 of the plan. */\n canUpdate?: boolean\n }>(),\n {\n entity: undefined,\n endPoint: undefined,\n canUpdate: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'rowClick', permissionGroup: PermissionGroup): void\n}>()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { t } = useI18n()\nconst { filterConfig, filterData } = usePermissionGroupListFilter(props.system)\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst {\n fetchPermissionGroupList,\n cancelPermissionGroupList,\n permissionGroupList,\n loadingPermissionGroupList,\n datatableHiddenColumns,\n} = usePermissionGroupActions({\n client: props.client,\n system: props.system,\n entity: props.entity,\n endPoint: props.endPoint,\n})\n\nconst { resetFilter, submitFilter, loadStoredFilters } = useFilterHelpers(filterData, filterConfig, {\n storeFiltersLocalStorage: permissionGroupFilterStorageKey(props.system),\n})\n\nconst { pagination } = usePagination(SORT_BY_ID)\nprovide(DatatablePaginationKey, pagination)\n\nconst { columnsVisible, columnsAll, columnsHidden } = createDatatableColumnsConfig(\n [\n { key: 'id' },\n { key: 'title' },\n { key: 'description' },\n { key: 'permissions' },\n { key: 'createdAt' },\n { key: 'modifiedAt' },\n ],\n datatableHiddenColumns,\n 'common',\n PERMISSION_GROUP_ENTITY,\n { storeColumnsLocalStorage: `table_common_permissionGroup_${props.system}` }\n)\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst getList = useDebounceFn(async () => {\n await fetchPermissionGroupList(pagination, filterData, filterConfig)\n})\n\n// Named here rather than called inline in the template: `pagination` is a ref, and the template\n// would hand these its unwrapped value.\nconst submitFilterAction = () => submitFilter(pagination, getList)\nconst resetFilterAction = () => resetFilter(pagination, getList)\n\nconst onRowClick = (_event: unknown, { item }: { item: DatatableItem }) => {\n if (item.id) emit('rowClick', item)\n}\n\nonMounted(() => {\n loadStoredFilters(pagination, getList)\n})\n\nonBeforeUnmount(() => {\n // Order matters: a pending debounce would otherwise fire after the abort and start a request\n // nothing is left to receive.\n getList.cancel()\n cancelPermissionGroupList()\n})\n\ndefineExpose({\n refresh: getList,\n resetFilter: resetFilterAction,\n submitFilter: submitFilterAction,\n})\n</script>\n\n<template>\n <div>\n <APermissionGroupFilter\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n />\n <div>\n <div class=\"d-flex align-center\">\n <VSpacer />\n <ADatatableOrdering\n variant=\"id\"\n @sort-by-change=\"submitFilterAction\"\n />\n <ADatatableConfigButton\n v-model:columns-hidden=\"columnsHidden\"\n :columns-all=\"columnsAll\"\n />\n </div>\n <VDataTableServer\n class=\"a-datatable\"\n :headers=\"columnsVisible\"\n :items=\"permissionGroupList\"\n :items-length=\"permissionGroupList.length\"\n :loading=\"loadingPermissionGroupList\"\n item-value=\"id\"\n @click:row=\"onRowClick\"\n >\n <template #item.permissions=\"{ item }: { item: DatatableItem }\">\n <VChip>{{ Object.keys(item.permissions).length }}</VChip>\n </template>\n <template #item.createdAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.createdAt\" />\n <!-- The user chip is per app: its cache, its route, its own `_system`. An app without\n one leaves the slot empty, and then there is no line break either. -->\n <template v-if=\"$slots.createdBy\">\n <br />\n <slot\n :id=\"item.createdBy\"\n name=\"createdBy\"\n />\n </template>\n </template>\n <template #item.modifiedAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.modifiedAt\" />\n <template v-if=\"$slots.modifiedBy\">\n <br />\n <slot\n :id=\"item.modifiedBy\"\n name=\"modifiedBy\"\n />\n </template>\n </template>\n <template #item.actions=\"{ item }: { item: DatatableItem }\">\n <div class=\"d-flex justify-end\">\n <ATableCopyIdButton :id=\"item.id\" />\n <!--\n `:to` rather than a click handler, so middle-click and open-in-new-tab work on a list\n people open several rows from.\n -->\n <VBtn\n :to=\"detailRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-information-outline\"\n :aria-label=\"t('common.button.detail')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <VBtn\n v-if=\"canUpdate\"\n :to=\"editRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-pencil\"\n :aria-label=\"t('common.button.edit')\"\n size=\"x-small\"\n variant=\"text\"\n />\n </div>\n </template>\n <template #bottom>\n <ADatatablePagination @change=\"getList\" />\n </template>\n </VDataTableServer>\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"APermissionGroupDatatable.js","names":["_sfc_main","APermissionGroupDatatable_vue_vue_type_script_setup_true_lang_default","APermissionGroupDatatable_default"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupDatatable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { onBeforeUnmount, onMounted, provide } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useDebounceFn } from '@vueuse/core'\nimport ADatatableConfigButton from '@/domains/filters/datatable/components/ADatatableConfigButton.vue'\nimport ADatetime from '@/domains/ui/datetime/components/ADatetime.vue'\nimport ATableCopyIdButton from '@/domains/ui/buttons/table/components/ATableCopyIdButton.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport ADatatableOrdering from '@/domains/filters/datatable/components/ADatatableOrdering.vue'\nimport ADatatablePagination from '@/domains/filters/datatable/components/ADatatablePagination.vue'\nimport { createDatatableColumnsConfig } from '@/domains/filters/datatable/composables/createDatatableColumnsConfig'\nimport { useFilterHelpers } from '@/domains/filters/composables/filterFactory'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport APermissionGroupFilter from '@/domains/permission/group/components/APermissionGroupFilter.vue'\nimport { usePermissionGroupActions } from '@/domains/permission/group/composables/permissionGroupActions'\nimport { PERMISSION_GROUP_ENTITY } from '@/domains/permission/group/api/permissionGroupApi'\nimport {\n permissionGroupFilterStorageKey,\n usePermissionGroupListFilter,\n} from '@/domains/permission/group/filter/permissionGroupFilter'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport type { PermissionGroup } from '@/domains/permission/group/types/PermissionGroup'\n\ntype DatatableItem = PermissionGroup\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n /** Backend identity: keys the filter store and the cache, and reaches every api call. */\n system: string\n entity?: string | undefined\n endPoint?: string | undefined\n /** Where a row and the detail button go. The library cannot know an app's typed route names. */\n detailRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw\n editRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw\n /** Already-evaluated ACL, a boolean rather than an `AclValue`. */\n canUpdate?: boolean\n }>(),\n {\n entity: undefined,\n endPoint: undefined,\n canUpdate: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'rowClick', permissionGroup: PermissionGroup): void\n}>()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { t } = useI18n()\nconst { filterConfig, filterData } = usePermissionGroupListFilter(props.system)\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst {\n fetchPermissionGroupList,\n cancelPermissionGroupList,\n permissionGroupList,\n loadingPermissionGroupList,\n datatableHiddenColumns,\n} = usePermissionGroupActions({\n client: props.client,\n system: props.system,\n entity: props.entity,\n endPoint: props.endPoint,\n})\n\nconst { resetFilter, submitFilter, loadStoredFilters } = useFilterHelpers(filterData, filterConfig, {\n storeFiltersLocalStorage: permissionGroupFilterStorageKey(props.system),\n})\n\nconst { pagination } = usePagination(SORT_BY_ID)\nprovide(DatatablePaginationKey, pagination)\n\nconst { columnsVisible, columnsAll, columnsHidden } = createDatatableColumnsConfig(\n [\n { key: 'id' },\n { key: 'title' },\n { key: 'description' },\n { key: 'permissions' },\n { key: 'createdAt' },\n { key: 'modifiedAt' },\n ],\n datatableHiddenColumns,\n 'common',\n PERMISSION_GROUP_ENTITY,\n { storeColumnsLocalStorage: `table_common_permissionGroup_${props.system}` }\n)\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst getList = useDebounceFn(async () => {\n await fetchPermissionGroupList(pagination, filterData, filterConfig)\n})\n\n// Named here, not inline in the template: the template would pass the unwrapped value of the `pagination` ref.\nconst submitFilterAction = () => submitFilter(pagination, getList)\nconst resetFilterAction = () => resetFilter(pagination, getList)\n\nconst onRowClick = (_event: unknown, { item }: { item: DatatableItem }) => {\n if (item.id) emit('rowClick', item)\n}\n\nonMounted(() => {\n loadStoredFilters(pagination, getList)\n})\n\nonBeforeUnmount(() => {\n // Order matters: a pending debounce would otherwise fire after the abort and start a request\n // nothing is left to receive.\n getList.cancel()\n cancelPermissionGroupList()\n})\n\ndefineExpose({\n refresh: getList,\n resetFilter: resetFilterAction,\n submitFilter: submitFilterAction,\n})\n</script>\n\n<template>\n <div>\n <APermissionGroupFilter\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n />\n <div>\n <div class=\"d-flex align-center\">\n <VSpacer />\n <ADatatableOrdering\n variant=\"id\"\n @sort-by-change=\"submitFilterAction\"\n />\n <ADatatableConfigButton\n v-model:columns-hidden=\"columnsHidden\"\n :columns-all=\"columnsAll\"\n />\n </div>\n <VDataTableServer\n class=\"a-datatable\"\n :headers=\"columnsVisible\"\n :items=\"permissionGroupList\"\n :items-length=\"permissionGroupList.length\"\n :loading=\"loadingPermissionGroupList\"\n item-value=\"id\"\n @click:row=\"onRowClick\"\n >\n <template #item.permissions=\"{ item }: { item: DatatableItem }\">\n <VChip>{{ Object.keys(item.permissions).length }}</VChip>\n </template>\n <template #item.createdAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.createdAt\" />\n <!--\n The user chip is per app: its cache, its route, its own `_system`.\n An app without one leaves the slot empty, and then no line break is rendered.\n -->\n <template v-if=\"$slots.createdBy\">\n <br />\n <slot\n :id=\"item.createdBy\"\n name=\"createdBy\"\n />\n </template>\n </template>\n <template #item.modifiedAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.modifiedAt\" />\n <template v-if=\"$slots.modifiedBy\">\n <br />\n <slot\n :id=\"item.modifiedBy\"\n name=\"modifiedBy\"\n />\n </template>\n </template>\n <template #item.actions=\"{ item }: { item: DatatableItem }\">\n <div class=\"d-flex justify-end\">\n <ATableCopyIdButton :id=\"item.id\" />\n <!-- `:to` rather than a click handler, so middle-click and open-in-new-tab work. -->\n <VBtn\n :to=\"detailRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-information-outline\"\n :aria-label=\"t('common.button.detail')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <VBtn\n v-if=\"canUpdate\"\n :to=\"editRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-pencil\"\n :aria-label=\"t('common.button.edit')\"\n size=\"x-small\"\n variant=\"text\"\n />\n </div>\n </template>\n <template #bottom>\n <ADatatablePagination @change=\"getList\" />\n </template>\n </VDataTableServer>\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -10,19 +10,21 @@ type __VLS_Props = {
10
10
  /** Where a row and the detail button go. The library cannot know an app's typed route names. */
11
11
  detailRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw;
12
12
  editRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw;
13
- /** Already-evaluated ACL. A boolean, not an `AclValue`: see 5.1 of the plan. */
13
+ /** Already-evaluated ACL, a boolean rather than an `AclValue`. */
14
14
  canUpdate?: boolean;
15
15
  };
16
- declare var __VLS_47: {
17
- id: import('../../../../lib').IntegerIdNullable;
18
- }, __VLS_55: {
19
- id: import('../../../../lib').IntegerIdNullable;
20
- };
21
- type __VLS_Slots = {} & {
22
- createdBy?: (props: typeof __VLS_47) => any;
23
- } & {
24
- modifiedBy?: (props: typeof __VLS_55) => any;
16
+ declare const __VLS_template: () => {
17
+ __VLS_Slots: {
18
+ createdBy?: (props: {
19
+ id: import('../../../../lib').IntegerIdNullable;
20
+ }) => any;
21
+ } & {
22
+ modifiedBy?: (props: {
23
+ id: import('../../../../lib').IntegerIdNullable;
24
+ }) => any;
25
+ };
25
26
  };
27
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
26
28
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
27
29
  refresh: import('@vueuse/shared').UseDebounceFnReturn<() => Promise<void>>;
28
30
  resetFilter: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createElementBlock","_createVNode","APermissionGroupFilter","_createElementVNode","_component_VSpacer","ADatatableOrdering","ADatatableConfigButton","_unref","_isRef","_component_VDataTableServer","_withCtx","_component_VChip","_createTextVNode","_toDisplayString","ADatetime","_Fragment","_renderSlot","_createCommentVNode","ATableCopyIdButton","_component_VBtn","_createBlock","ADatatablePagination","ADatatableConfigButton_default","ADatetime_default","ATableCopyIdButton_default","ADatatableOrdering_default","ADatatablePagination_default","APermissionGroupFilter_default","_hoisted_1","_hoisted_2","APermissionGroupDatatable_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","useI18n","usePermissionGroupListFilter","provide","FilterConfigKey","filterConfig","FilterDataKey","filterData","usePermissionGroupActions","useFilterHelpers","permissionGroupFilterStorageKey","usePagination","DatatablePaginationKey","pagination","createDatatableColumnsConfig","datatableHiddenColumns","PERMISSION_GROUP_ENTITY","getList","useDebounceFn","fetchPermissionGroupList","submitFilterAction","submitFilter","resetFilterAction","resetFilter","onRowClick","item","onMounted","onBeforeUnmount","cancelPermissionGroupList","openBlock","createElementBlock","createVNode","createElementVNode","VSpacer","unref","columnsHidden","_cache","isRef","$event","columnsAll","VDataTableServer","columnsVisible","permissionGroupList","loadingPermissionGroupList","withCtx","VChip","createTextVNode","toDisplayString","_ctx","Fragment","renderSlot","createCommentVNode","VBtn","t","createBlock"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupDatatable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { onBeforeUnmount, onMounted, provide } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useDebounceFn } from '@vueuse/core'\nimport ADatatableConfigButton from '@/domains/filters/datatable/components/ADatatableConfigButton.vue'\nimport ADatetime from '@/domains/ui/datetime/components/ADatetime.vue'\nimport ATableCopyIdButton from '@/domains/ui/buttons/table/components/ATableCopyIdButton.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport ADatatableOrdering from '@/domains/filters/datatable/components/ADatatableOrdering.vue'\nimport ADatatablePagination from '@/domains/filters/datatable/components/ADatatablePagination.vue'\nimport { createDatatableColumnsConfig } from '@/domains/filters/datatable/composables/createDatatableColumnsConfig'\nimport { useFilterHelpers } from '@/domains/filters/composables/filterFactory'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport APermissionGroupFilter from '@/domains/permission/group/components/APermissionGroupFilter.vue'\nimport { usePermissionGroupActions } from '@/domains/permission/group/composables/permissionGroupActions'\nimport { PERMISSION_GROUP_ENTITY } from '@/domains/permission/group/api/permissionGroupApi'\nimport {\n permissionGroupFilterStorageKey,\n usePermissionGroupListFilter,\n} from '@/domains/permission/group/filter/permissionGroupFilter'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport type { PermissionGroup } from '@/domains/permission/group/types/PermissionGroup'\n\ntype DatatableItem = PermissionGroup\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n /** Backend identity: keys the filter store and the cache, and reaches every api call. */\n system: string\n entity?: string | undefined\n endPoint?: string | undefined\n /** Where a row and the detail button go. The library cannot know an app's typed route names. */\n detailRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw\n editRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw\n /** Already-evaluated ACL. A boolean, not an `AclValue`: see 5.1 of the plan. */\n canUpdate?: boolean\n }>(),\n {\n entity: undefined,\n endPoint: undefined,\n canUpdate: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'rowClick', permissionGroup: PermissionGroup): void\n}>()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { t } = useI18n()\nconst { filterConfig, filterData } = usePermissionGroupListFilter(props.system)\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst {\n fetchPermissionGroupList,\n cancelPermissionGroupList,\n permissionGroupList,\n loadingPermissionGroupList,\n datatableHiddenColumns,\n} = usePermissionGroupActions({\n client: props.client,\n system: props.system,\n entity: props.entity,\n endPoint: props.endPoint,\n})\n\nconst { resetFilter, submitFilter, loadStoredFilters } = useFilterHelpers(filterData, filterConfig, {\n storeFiltersLocalStorage: permissionGroupFilterStorageKey(props.system),\n})\n\nconst { pagination } = usePagination(SORT_BY_ID)\nprovide(DatatablePaginationKey, pagination)\n\nconst { columnsVisible, columnsAll, columnsHidden } = createDatatableColumnsConfig(\n [\n { key: 'id' },\n { key: 'title' },\n { key: 'description' },\n { key: 'permissions' },\n { key: 'createdAt' },\n { key: 'modifiedAt' },\n ],\n datatableHiddenColumns,\n 'common',\n PERMISSION_GROUP_ENTITY,\n { storeColumnsLocalStorage: `table_common_permissionGroup_${props.system}` }\n)\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst getList = useDebounceFn(async () => {\n await fetchPermissionGroupList(pagination, filterData, filterConfig)\n})\n\n// Named here rather than called inline in the template: `pagination` is a ref, and the template\n// would hand these its unwrapped value.\nconst submitFilterAction = () => submitFilter(pagination, getList)\nconst resetFilterAction = () => resetFilter(pagination, getList)\n\nconst onRowClick = (_event: unknown, { item }: { item: DatatableItem }) => {\n if (item.id) emit('rowClick', item)\n}\n\nonMounted(() => {\n loadStoredFilters(pagination, getList)\n})\n\nonBeforeUnmount(() => {\n // Order matters: a pending debounce would otherwise fire after the abort and start a request\n // nothing is left to receive.\n getList.cancel()\n cancelPermissionGroupList()\n})\n\ndefineExpose({\n refresh: getList,\n resetFilter: resetFilterAction,\n submitFilter: submitFilterAction,\n})\n</script>\n\n<template>\n <div>\n <APermissionGroupFilter\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n />\n <div>\n <div class=\"d-flex align-center\">\n <VSpacer />\n <ADatatableOrdering\n variant=\"id\"\n @sort-by-change=\"submitFilterAction\"\n />\n <ADatatableConfigButton\n v-model:columns-hidden=\"columnsHidden\"\n :columns-all=\"columnsAll\"\n />\n </div>\n <VDataTableServer\n class=\"a-datatable\"\n :headers=\"columnsVisible\"\n :items=\"permissionGroupList\"\n :items-length=\"permissionGroupList.length\"\n :loading=\"loadingPermissionGroupList\"\n item-value=\"id\"\n @click:row=\"onRowClick\"\n >\n <template #item.permissions=\"{ item }: { item: DatatableItem }\">\n <VChip>{{ Object.keys(item.permissions).length }}</VChip>\n </template>\n <template #item.createdAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.createdAt\" />\n <!-- The user chip is per app: its cache, its route, its own `_system`. An app without\n one leaves the slot empty, and then there is no line break either. -->\n <template v-if=\"$slots.createdBy\">\n <br />\n <slot\n :id=\"item.createdBy\"\n name=\"createdBy\"\n />\n </template>\n </template>\n <template #item.modifiedAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.modifiedAt\" />\n <template v-if=\"$slots.modifiedBy\">\n <br />\n <slot\n :id=\"item.modifiedBy\"\n name=\"modifiedBy\"\n />\n </template>\n </template>\n <template #item.actions=\"{ item }: { item: DatatableItem }\">\n <div class=\"d-flex justify-end\">\n <ATableCopyIdButton :id=\"item.id\" />\n <!--\n `:to` rather than a click handler, so middle-click and open-in-new-tab work on a list\n people open several rows from.\n -->\n <VBtn\n :to=\"detailRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-information-outline\"\n :aria-label=\"t('common.button.detail')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <VBtn\n v-if=\"canUpdate\"\n :to=\"editRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-pencil\"\n :aria-label=\"t('common.button.edit')\"\n size=\"x-small\"\n variant=\"text\"\n />\n </div>\n </template>\n <template #bottom>\n <ADatatablePagination @change=\"getList\" />\n </template>\n </VDataTableServer>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createElementBlock","_createVNode","APermissionGroupFilter","_createElementVNode","_component_VSpacer","ADatatableOrdering","ADatatableConfigButton","_unref","_isRef","_component_VDataTableServer","_withCtx","_component_VChip","_createTextVNode","_toDisplayString","ADatetime","_Fragment","_renderSlot","_createCommentVNode","ATableCopyIdButton","_component_VBtn","_createBlock","ADatatablePagination","ADatatableConfigButton_default","ADatetime_default","ATableCopyIdButton_default","ADatatableOrdering_default","ADatatablePagination_default","APermissionGroupFilter_default","_hoisted_1","_hoisted_2","APermissionGroupDatatable_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","useI18n","usePermissionGroupListFilter","provide","FilterConfigKey","filterConfig","FilterDataKey","filterData","usePermissionGroupActions","useFilterHelpers","permissionGroupFilterStorageKey","usePagination","DatatablePaginationKey","pagination","createDatatableColumnsConfig","datatableHiddenColumns","PERMISSION_GROUP_ENTITY","getList","useDebounceFn","fetchPermissionGroupList","submitFilterAction","submitFilter","resetFilterAction","resetFilter","onRowClick","item","onMounted","onBeforeUnmount","cancelPermissionGroupList","openBlock","createElementBlock","createVNode","createElementVNode","VSpacer","unref","columnsHidden","_cache","isRef","$event","columnsAll","VDataTableServer","columnsVisible","permissionGroupList","loadingPermissionGroupList","withCtx","VChip","createTextVNode","toDisplayString","_ctx","Fragment","renderSlot","createCommentVNode","VBtn","t","createBlock"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupDatatable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { onBeforeUnmount, onMounted, provide } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { useDebounceFn } from '@vueuse/core'\nimport ADatatableConfigButton from '@/domains/filters/datatable/components/ADatatableConfigButton.vue'\nimport ADatetime from '@/domains/ui/datetime/components/ADatetime.vue'\nimport ATableCopyIdButton from '@/domains/ui/buttons/table/components/ATableCopyIdButton.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport ADatatableOrdering from '@/domains/filters/datatable/components/ADatatableOrdering.vue'\nimport ADatatablePagination from '@/domains/filters/datatable/components/ADatatablePagination.vue'\nimport { createDatatableColumnsConfig } from '@/domains/filters/datatable/composables/createDatatableColumnsConfig'\nimport { useFilterHelpers } from '@/domains/filters/composables/filterFactory'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport APermissionGroupFilter from '@/domains/permission/group/components/APermissionGroupFilter.vue'\nimport { usePermissionGroupActions } from '@/domains/permission/group/composables/permissionGroupActions'\nimport { PERMISSION_GROUP_ENTITY } from '@/domains/permission/group/api/permissionGroupApi'\nimport {\n permissionGroupFilterStorageKey,\n usePermissionGroupListFilter,\n} from '@/domains/permission/group/filter/permissionGroupFilter'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport type { PermissionGroup } from '@/domains/permission/group/types/PermissionGroup'\n\ntype DatatableItem = PermissionGroup\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n /** Backend identity: keys the filter store and the cache, and reaches every api call. */\n system: string\n entity?: string | undefined\n endPoint?: string | undefined\n /** Where a row and the detail button go. The library cannot know an app's typed route names. */\n detailRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw\n editRoute: (permissionGroup: PermissionGroup) => RouteLocationRaw\n /** Already-evaluated ACL, a boolean rather than an `AclValue`. */\n canUpdate?: boolean\n }>(),\n {\n entity: undefined,\n endPoint: undefined,\n canUpdate: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'rowClick', permissionGroup: PermissionGroup): void\n}>()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { t } = useI18n()\nconst { filterConfig, filterData } = usePermissionGroupListFilter(props.system)\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst {\n fetchPermissionGroupList,\n cancelPermissionGroupList,\n permissionGroupList,\n loadingPermissionGroupList,\n datatableHiddenColumns,\n} = usePermissionGroupActions({\n client: props.client,\n system: props.system,\n entity: props.entity,\n endPoint: props.endPoint,\n})\n\nconst { resetFilter, submitFilter, loadStoredFilters } = useFilterHelpers(filterData, filterConfig, {\n storeFiltersLocalStorage: permissionGroupFilterStorageKey(props.system),\n})\n\nconst { pagination } = usePagination(SORT_BY_ID)\nprovide(DatatablePaginationKey, pagination)\n\nconst { columnsVisible, columnsAll, columnsHidden } = createDatatableColumnsConfig(\n [\n { key: 'id' },\n { key: 'title' },\n { key: 'description' },\n { key: 'permissions' },\n { key: 'createdAt' },\n { key: 'modifiedAt' },\n ],\n datatableHiddenColumns,\n 'common',\n PERMISSION_GROUP_ENTITY,\n { storeColumnsLocalStorage: `table_common_permissionGroup_${props.system}` }\n)\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst getList = useDebounceFn(async () => {\n await fetchPermissionGroupList(pagination, filterData, filterConfig)\n})\n\n// Named here, not inline in the template: the template would pass the unwrapped value of the `pagination` ref.\nconst submitFilterAction = () => submitFilter(pagination, getList)\nconst resetFilterAction = () => resetFilter(pagination, getList)\n\nconst onRowClick = (_event: unknown, { item }: { item: DatatableItem }) => {\n if (item.id) emit('rowClick', item)\n}\n\nonMounted(() => {\n loadStoredFilters(pagination, getList)\n})\n\nonBeforeUnmount(() => {\n // Order matters: a pending debounce would otherwise fire after the abort and start a request\n // nothing is left to receive.\n getList.cancel()\n cancelPermissionGroupList()\n})\n\ndefineExpose({\n refresh: getList,\n resetFilter: resetFilterAction,\n submitFilter: submitFilterAction,\n})\n</script>\n\n<template>\n <div>\n <APermissionGroupFilter\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n />\n <div>\n <div class=\"d-flex align-center\">\n <VSpacer />\n <ADatatableOrdering\n variant=\"id\"\n @sort-by-change=\"submitFilterAction\"\n />\n <ADatatableConfigButton\n v-model:columns-hidden=\"columnsHidden\"\n :columns-all=\"columnsAll\"\n />\n </div>\n <VDataTableServer\n class=\"a-datatable\"\n :headers=\"columnsVisible\"\n :items=\"permissionGroupList\"\n :items-length=\"permissionGroupList.length\"\n :loading=\"loadingPermissionGroupList\"\n item-value=\"id\"\n @click:row=\"onRowClick\"\n >\n <template #item.permissions=\"{ item }: { item: DatatableItem }\">\n <VChip>{{ Object.keys(item.permissions).length }}</VChip>\n </template>\n <template #item.createdAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.createdAt\" />\n <!--\n The user chip is per app: its cache, its route, its own `_system`.\n An app without one leaves the slot empty, and then no line break is rendered.\n -->\n <template v-if=\"$slots.createdBy\">\n <br />\n <slot\n :id=\"item.createdBy\"\n name=\"createdBy\"\n />\n </template>\n </template>\n <template #item.modifiedAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.modifiedAt\" />\n <template v-if=\"$slots.modifiedBy\">\n <br />\n <slot\n :id=\"item.modifiedBy\"\n name=\"modifiedBy\"\n />\n </template>\n </template>\n <template #item.actions=\"{ item }: { item: DatatableItem }\">\n <div class=\"d-flex justify-end\">\n <ATableCopyIdButton :id=\"item.id\" />\n <!-- `:to` rather than a click handler, so middle-click and open-in-new-tab work. -->\n <VBtn\n :to=\"detailRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-information-outline\"\n :aria-label=\"t('common.button.detail')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <VBtn\n v-if=\"canUpdate\"\n :to=\"editRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-pencil\"\n :aria-label=\"t('common.button.edit')\"\n size=\"x-small\"\n variant=\"text\"\n />\n </div>\n </template>\n <template #bottom>\n <ADatatablePagination @change=\"getList\" />\n </template>\n </VDataTableServer>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"APermissionGroupDetail.js","names":["_sfc_main","APermissionGroupDetail_vue_vue_type_script_setup_true_lang_default","APermissionGroupDetail_default"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupDetail.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport { useI18n } from 'vue-i18n'\nimport ACopyText from '@/domains/ui/components/ACopyText.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\n\ndefineProps<{\n client: AxiosClientFn\n system: string\n /**\n * Where the grants editor reads the permission config -- `GET /adm/v1/permissions/config` when\n * left out, which every backend has.\n *\n * Named for what it is, and deliberately not `endPoint`: a page holding the permission-group\n * endpoint passed it here as `endPoint`, the editor fetched the group list as its config and\n * crashed -- and, the config store being keyed by system, left that system's user pages broken\n * until reload. A stray `end-point` now falls through as an attribute and changes nothing.\n */\n permissionConfigEndPoint?: string | undefined\n}>()\n\nconst { permissionGroup, loadingPermissionGroup } = storeToRefs(usePermissionGroupOneStore())\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <VRow>\n <VCol\n cols=\"12\"\n sm=\"8\"\n >\n <VRow>\n <VCol cols=\"12\">\n <VCard :loading=\"loadingPermissionGroup\">\n <VCardText>\n <ARow\n :title=\"t('common.permissionGroup.model.title')\"\n :value=\"permissionGroup.title\"\n />\n <ARow\n :title=\"t('common.permissionGroup.model.description')\"\n :value=\"permissionGroup.description\"\n />\n </VCardText>\n </VCard>\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"12\">\n <!--\n A group has no resolved permissions of its own: `resolvedPermissions` is left undefined\n so the origin column reads every grant as the group's own rather than a user's.\n -->\n <APermissionEditor\n v-model=\"permissionGroup.permissions\"\n :client=\"client\"\n :system=\"system\"\n :end-point=\"permissionConfigEndPoint\"\n readonly\n />\n </VCol>\n </VRow>\n </VCol>\n <VCol\n cols=\"12\"\n sm=\"4\"\n >\n <ARow :title=\"t('common.permissionGroup.model.id')\">\n <ACopyText :value=\"permissionGroup.id\" />\n </ARow>\n <!-- Created/modified by whom: each app resolves users against its own cache and routes. -->\n <slot\n name=\"tracking\"\n :permission-group=\"permissionGroup\"\n />\n </VCol>\n </VRow>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"APermissionGroupDetail.js","names":["_sfc_main","APermissionGroupDetail_vue_vue_type_script_setup_true_lang_default","APermissionGroupDetail_default"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupDetail.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport { useI18n } from 'vue-i18n'\nimport ACopyText from '@/domains/ui/components/ACopyText.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\n\ndefineProps<{\n client: AxiosClientFn\n system: string\n /**\n * Where the grants editor reads the permission config. Defaults to `GET /adm/v1/permissions/config`.\n * Deliberately not named `endPoint`: a page once passed the permission-group endpoint as `endPoint`.\n * The editor then fetched the group list as config and crashed, and\n * the per-system config store left user pages broken until reload.\n */\n permissionConfigEndPoint?: string | undefined\n}>()\n\nconst { permissionGroup, loadingPermissionGroup } = storeToRefs(usePermissionGroupOneStore())\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <VRow>\n <VCol\n cols=\"12\"\n sm=\"8\"\n >\n <VRow>\n <VCol cols=\"12\">\n <VCard :loading=\"loadingPermissionGroup\">\n <VCardText>\n <ARow\n :title=\"t('common.permissionGroup.model.title')\"\n :value=\"permissionGroup.title\"\n />\n <ARow\n :title=\"t('common.permissionGroup.model.description')\"\n :value=\"permissionGroup.description\"\n />\n </VCardText>\n </VCard>\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"12\">\n <!--\n A group has no resolved permissions of its own. `resolvedPermissions`\n stays undefined so the origin column reads every grant as the group's own.\n -->\n <APermissionEditor\n v-model=\"permissionGroup.permissions\"\n :client=\"client\"\n :system=\"system\"\n :end-point=\"permissionConfigEndPoint\"\n readonly\n />\n </VCol>\n </VRow>\n </VCol>\n <VCol\n cols=\"12\"\n sm=\"4\"\n >\n <ARow :title=\"t('common.permissionGroup.model.id')\">\n <ACopyText :value=\"permissionGroup.id\" />\n </ARow>\n <!-- Created/modified by whom: each app resolves users against its own cache and routes. -->\n <slot\n name=\"tracking\"\n :permission-group=\"permissionGroup\"\n />\n </VCol>\n </VRow>\n</template>\n"],"mappings":""}
@@ -3,33 +3,32 @@ type __VLS_Props = {
3
3
  client: AxiosClientFn;
4
4
  system: string;
5
5
  /**
6
- * Where the grants editor reads the permission config -- `GET /adm/v1/permissions/config` when
7
- * left out, which every backend has.
8
- *
9
- * Named for what it is, and deliberately not `endPoint`: a page holding the permission-group
10
- * endpoint passed it here as `endPoint`, the editor fetched the group list as its config and
11
- * crashed -- and, the config store being keyed by system, left that system's user pages broken
12
- * until reload. A stray `end-point` now falls through as an attribute and changes nothing.
6
+ * Where the grants editor reads the permission config. Defaults to `GET /adm/v1/permissions/config`.
7
+ * Deliberately not named `endPoint`: a page once passed the permission-group endpoint as `endPoint`.
8
+ * The editor then fetched the group list as config and crashed, and
9
+ * the per-system config store left user pages broken until reload.
13
10
  */
14
11
  permissionConfigEndPoint?: string | undefined;
15
12
  };
16
- declare var __VLS_81: {
17
- permissionGroup: {
18
- description: string;
19
- _system: string;
20
- _resourceName: "permissionGroup";
21
- id: import('../../../../lib').IntegerId;
22
- title: string;
23
- permissions: import('../../../../lib').Permissions;
24
- createdAt: import('../../../../lib').DatetimeUTC;
25
- modifiedAt: import('../../../../lib').DatetimeUTC;
26
- modifiedBy: import('../../../../lib').IntegerIdNullable;
27
- createdBy: import('../../../../lib').IntegerIdNullable;
13
+ declare const __VLS_template: () => {
14
+ __VLS_Slots: {
15
+ tracking?: (props: {
16
+ permissionGroup: {
17
+ description: string;
18
+ _system: string;
19
+ _resourceName: "permissionGroup";
20
+ id: import('../../../../lib').IntegerId;
21
+ title: string;
22
+ permissions: import('../../../../lib').Permissions;
23
+ createdAt: import('../../../../lib').DatetimeUTC;
24
+ modifiedAt: import('../../../../lib').DatetimeUTC;
25
+ modifiedBy: import('../../../../lib').IntegerIdNullable;
26
+ createdBy: import('../../../../lib').IntegerIdNullable;
27
+ };
28
+ }) => any;
28
29
  };
29
30
  };
30
- type __VLS_Slots = {} & {
31
- tracking?: (props: typeof __VLS_81) => any;
32
- };
31
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
33
32
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
34
33
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
35
34
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VRow","_withCtx","_createVNode","_component_VCol","_component_VCard","_unref","_component_VCardText","ARow","APermissionEditor","ACopyText","_renderSlot","ARow_default","ACopyText_default","APermissionEditor_default","APermissionGroupDetail_vue_vue_type_script_setup_true_lang_default","storeToRefs","usePermissionGroupOneStore","useI18n","openBlock","createBlock","VRow","withCtx","createVNode","VCol","VCard","unref","loadingPermissionGroup","VCardText","t","permissionGroup","_cache","$event","__props","renderSlot","_ctx"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupDetail.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport { useI18n } from 'vue-i18n'\nimport ACopyText from '@/domains/ui/components/ACopyText.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\n\ndefineProps<{\n client: AxiosClientFn\n system: string\n /**\n * Where the grants editor reads the permission config -- `GET /adm/v1/permissions/config` when\n * left out, which every backend has.\n *\n * Named for what it is, and deliberately not `endPoint`: a page holding the permission-group\n * endpoint passed it here as `endPoint`, the editor fetched the group list as its config and\n * crashed -- and, the config store being keyed by system, left that system's user pages broken\n * until reload. A stray `end-point` now falls through as an attribute and changes nothing.\n */\n permissionConfigEndPoint?: string | undefined\n}>()\n\nconst { permissionGroup, loadingPermissionGroup } = storeToRefs(usePermissionGroupOneStore())\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <VRow>\n <VCol\n cols=\"12\"\n sm=\"8\"\n >\n <VRow>\n <VCol cols=\"12\">\n <VCard :loading=\"loadingPermissionGroup\">\n <VCardText>\n <ARow\n :title=\"t('common.permissionGroup.model.title')\"\n :value=\"permissionGroup.title\"\n />\n <ARow\n :title=\"t('common.permissionGroup.model.description')\"\n :value=\"permissionGroup.description\"\n />\n </VCardText>\n </VCard>\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"12\">\n <!--\n A group has no resolved permissions of its own: `resolvedPermissions` is left undefined\n so the origin column reads every grant as the group's own rather than a user's.\n -->\n <APermissionEditor\n v-model=\"permissionGroup.permissions\"\n :client=\"client\"\n :system=\"system\"\n :end-point=\"permissionConfigEndPoint\"\n readonly\n />\n </VCol>\n </VRow>\n </VCol>\n <VCol\n cols=\"12\"\n sm=\"4\"\n >\n <ARow :title=\"t('common.permissionGroup.model.id')\">\n <ACopyText :value=\"permissionGroup.id\" />\n </ARow>\n <!-- Created/modified by whom: each app resolves users against its own cache and routes. -->\n <slot\n name=\"tracking\"\n :permission-group=\"permissionGroup\"\n />\n </VCol>\n </VRow>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;EAwBA,IAAM,EAAE,oBAAiB,8BAA2BiB,EAAYC,EAA2B,CAAC,GAEtF,EAAE,SAAMC,EAAQ;E,kBAIpBnB,EAAA,GAAAC,EAkDOC,GAAA,MAAA;GAjDL,SAAAC,QAmCO,CAnCPC,EAmCOC,GAAA;IAlCL,MAAK;IACL,IAAG;;IAEH,SAAAF,QAeO,CAfPC,EAeOF,GAAA,MAAA;KAdL,SAAAC,QAaO,CAbPC,EAaOC,GAAA,EAbD,MAAK,KAAI,GAAA;MACb,SAAAF,QAWQ,CAXRC,EAWQE,GAAA,EAXA,SAASC,EAAAqB,CAAA,EAAsB,GAAA;OACrC,SAAAzB,QASY,CATZC,EASYI,GAAA,MAAA;QARV,SAAAL,QAGE,CAHFC,EAGEK,GAAA;SAFC,OAAOF,EAAAuB,CAAA,CAAC,CAAA,oCAAA;SACR,OAAOvB,EAAAwB,CAAA,CAAe,CAAC;Q,iCAE1B3B,EAGEK,GAAA;SAFC,OAAOF,EAAAuB,CAAA,CAAC,CAAA,0CAAA;SACR,OAAOvB,EAAAwB,CAAA,CAAe,CAAC;;;;;;;;;I,IAMlC3B,EAcOF,GAAA,MAAA;KAbL,SAAAC,QAYO,CAZPC,EAYOC,GAAA,EAZD,MAAK,KAAI,GAAA;MAKb,SAAAF,QAME,CANFC,EAMEM,GAAA;OALS,YAAAH,EAAAwB,CAAA,CAAe,CAAC;OAAhB,uBAAA,AAAAC,EAAA,QAAA,MAAA,EAAAD,CAAA,CAAe,CAAC,cAAWE;OACnC,QAAQC,EAAA;OACR,QAAQA,EAAA;OACR,aAAWA,EAAA;OACZ,UAAA;;;;;;;;;;;;G,IAKR9B,EAYOC,GAAA;IAXL,MAAK;IACL,IAAG;;IAEH,SAAAF,QAEO,CAFPC,EAEOK,GAAA,EAFA,OAAOF,EAAAuB,CAAA,CAAC,CAAA,iCAAA,E;KACb,SAAA3B,QAAyC,CAAzCC,EAAyCO,GAAA,EAA7B,OAAOJ,EAAAwB,CAAA,CAAe,CAAC,G;;I,kBAGrCnB,EAGEwB,EAAA,QAAA,YAAA,EADC,iBAAkB7B,EAAAwB,CAAA,EAAe,CAAA,C"}
1
+ {"version":3,"file":"APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VRow","_withCtx","_createVNode","_component_VCol","_component_VCard","_unref","_component_VCardText","ARow","APermissionEditor","ACopyText","_renderSlot","ARow_default","ACopyText_default","APermissionEditor_default","APermissionGroupDetail_vue_vue_type_script_setup_true_lang_default","storeToRefs","usePermissionGroupOneStore","useI18n","openBlock","createBlock","VRow","withCtx","createVNode","VCol","VCard","unref","loadingPermissionGroup","VCardText","t","permissionGroup","_cache","$event","__props","renderSlot","_ctx"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupDetail.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport { useI18n } from 'vue-i18n'\nimport ACopyText from '@/domains/ui/components/ACopyText.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\n\ndefineProps<{\n client: AxiosClientFn\n system: string\n /**\n * Where the grants editor reads the permission config. Defaults to `GET /adm/v1/permissions/config`.\n * Deliberately not named `endPoint`: a page once passed the permission-group endpoint as `endPoint`.\n * The editor then fetched the group list as config and crashed, and\n * the per-system config store left user pages broken until reload.\n */\n permissionConfigEndPoint?: string | undefined\n}>()\n\nconst { permissionGroup, loadingPermissionGroup } = storeToRefs(usePermissionGroupOneStore())\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <VRow>\n <VCol\n cols=\"12\"\n sm=\"8\"\n >\n <VRow>\n <VCol cols=\"12\">\n <VCard :loading=\"loadingPermissionGroup\">\n <VCardText>\n <ARow\n :title=\"t('common.permissionGroup.model.title')\"\n :value=\"permissionGroup.title\"\n />\n <ARow\n :title=\"t('common.permissionGroup.model.description')\"\n :value=\"permissionGroup.description\"\n />\n </VCardText>\n </VCard>\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"12\">\n <!--\n A group has no resolved permissions of its own. `resolvedPermissions`\n stays undefined so the origin column reads every grant as the group's own.\n -->\n <APermissionEditor\n v-model=\"permissionGroup.permissions\"\n :client=\"client\"\n :system=\"system\"\n :end-point=\"permissionConfigEndPoint\"\n readonly\n />\n </VCol>\n </VRow>\n </VCol>\n <VCol\n cols=\"12\"\n sm=\"4\"\n >\n <ARow :title=\"t('common.permissionGroup.model.id')\">\n <ACopyText :value=\"permissionGroup.id\" />\n </ARow>\n <!-- Created/modified by whom: each app resolves users against its own cache and routes. -->\n <slot\n name=\"tracking\"\n :permission-group=\"permissionGroup\"\n />\n </VCol>\n </VRow>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;EAqBA,IAAM,EAAE,oBAAiB,8BAA2BiB,EAAYC,EAA2B,CAAC,GAEtF,EAAE,SAAMC,EAAQ;E,kBAIpBnB,EAAA,GAAAC,EAkDOC,GAAA,MAAA;GAjDL,SAAAC,QAmCO,CAnCPC,EAmCOC,GAAA;IAlCL,MAAK;IACL,IAAG;;IAEH,SAAAF,QAeO,CAfPC,EAeOF,GAAA,MAAA;KAdL,SAAAC,QAaO,CAbPC,EAaOC,GAAA,EAbD,MAAK,KAAI,GAAA;MACb,SAAAF,QAWQ,CAXRC,EAWQE,GAAA,EAXA,SAASC,EAAAqB,CAAA,EAAsB,GAAA;OACrC,SAAAzB,QASY,CATZC,EASYI,GAAA,MAAA;QARV,SAAAL,QAGE,CAHFC,EAGEK,GAAA;SAFC,OAAOF,EAAAuB,CAAA,CAAC,CAAA,oCAAA;SACR,OAAOvB,EAAAwB,CAAA,CAAe,CAAC;Q,iCAE1B3B,EAGEK,GAAA;SAFC,OAAOF,EAAAuB,CAAA,CAAC,CAAA,0CAAA;SACR,OAAOvB,EAAAwB,CAAA,CAAe,CAAC;;;;;;;;;I,IAMlC3B,EAcOF,GAAA,MAAA;KAbL,SAAAC,QAYO,CAZPC,EAYOC,GAAA,EAZD,MAAK,KAAI,GAAA;MAKb,SAAAF,QAME,CANFC,EAMEM,GAAA;OALS,YAAAH,EAAAwB,CAAA,CAAe,CAAC;OAAhB,uBAAA,AAAAC,EAAA,QAAA,MAAA,EAAAD,CAAA,CAAe,CAAC,cAAWE;OACnC,QAAQC,EAAA;OACR,QAAQA,EAAA;OACR,aAAWA,EAAA;OACZ,UAAA;;;;;;;;;;;;G,IAKR9B,EAYOC,GAAA;IAXL,MAAK;IACL,IAAG;;IAEH,SAAAF,QAEO,CAFPC,EAEOK,GAAA,EAFA,OAAOF,EAAAuB,CAAA,CAAC,CAAA,iCAAA,E;KACb,SAAA3B,QAAyC,CAAzCC,EAAyCO,GAAA,EAA7B,OAAOJ,EAAAwB,CAAA,CAAe,CAAC,G;;I,kBAGrCnB,EAGEwB,EAAA,QAAA,YAAA,EADC,iBAAkB7B,EAAAwB,CAAA,EAAe,CAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"APermissionGroupManage.js","names":["_sfc_main","APermissionGroupManage_vue_vue_type_script_setup_true_lang_default","APermissionGroupManage_default"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupManage.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport AFormTextField from '@/domains/form/components/AFormTextField.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionGroupValidation } from '@/domains/permission/group/composables/permissionGroupValidations'\nimport { PERMISSION_GROUP_ENTITY } from '@/domains/permission/group/api/permissionGroupApi'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\n\ndefineProps<{\n client: AxiosClientFn\n /** Backend identity for the permission config fetch, not the i18n namespace below. */\n system: string\n /**\n * Where the grants editor reads the permission config -- `GET /adm/v1/permissions/config` when\n * left out, which every backend has.\n *\n * Named for what it is, and deliberately not `endPoint`: a page holding the permission-group\n * endpoint passed it here as `endPoint`, the editor fetched the group list as its config and\n * crashed -- and, the config store being keyed by system, left that system's user pages broken\n * until reload. A stray `end-point` now falls through as an attribute and changes nothing.\n */\n permissionConfigEndPoint?: string | undefined\n}>()\n\nconst { permissionGroup } = storeToRefs(usePermissionGroupOneStore())\nconst { v$ } = usePermissionGroupValidation(permissionGroup)\n</script>\n\n<template>\n <!--\n `common` / `permissionGroup` is the translation namespace the field labels are looked up under,\n and it is the library's own -- the labels read the same whichever backend the row came from.\n The backend identity travels in `system` above.\n -->\n <ASystemEntityScope\n system=\"common\"\n :subject=\"PERMISSION_GROUP_ENTITY\"\n >\n <VRow>\n <VCol cols=\"12\">\n <VCard>\n <VCardText>\n <AFormTextField\n v-model=\"permissionGroup.title\"\n :v=\"v$.permissionGroup.title\"\n data-cy=\"permissionGroup-title\"\n />\n <AFormTextField\n v-model=\"permissionGroup.description\"\n :v=\"v$.permissionGroup.description\"\n data-cy=\"permissionGroup-description\"\n />\n </VCardText>\n </VCard>\n </VCol>\n <VCol cols=\"12\">\n <APermissionEditor\n v-model=\"permissionGroup.permissions\"\n :client=\"client\"\n :system=\"system\"\n :end-point=\"permissionConfigEndPoint\"\n />\n </VCol>\n <VCol\n v-if=\"$slots.tracking\"\n cols=\"12\"\n >\n <!-- Created/modified by whom: each app resolves users against its own cache and routes. -->\n <slot\n name=\"tracking\"\n :permission-group=\"permissionGroup\"\n />\n </VCol>\n </VRow>\n </ASystemEntityScope>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"APermissionGroupManage.js","names":["_sfc_main","APermissionGroupManage_vue_vue_type_script_setup_true_lang_default","APermissionGroupManage_default"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupManage.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport AFormTextField from '@/domains/form/components/AFormTextField.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionGroupValidation } from '@/domains/permission/group/composables/permissionGroupValidations'\nimport { PERMISSION_GROUP_ENTITY } from '@/domains/permission/group/api/permissionGroupApi'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\n\ndefineProps<{\n client: AxiosClientFn\n /** Backend identity for the permission config fetch, not the i18n namespace below. */\n system: string\n /**\n * Where the grants editor reads the permission config. Defaults to `GET /adm/v1/permissions/config`.\n * Deliberately not named `endPoint`: a page once passed the permission-group endpoint as `endPoint`.\n * The editor then fetched the group list as config and crashed, and\n * the per-system config store left user pages broken until reload.\n */\n permissionConfigEndPoint?: string | undefined\n}>()\n\nconst { permissionGroup } = storeToRefs(usePermissionGroupOneStore())\nconst { v$ } = usePermissionGroupValidation(permissionGroup)\n</script>\n\n<template>\n <!--\n `common` / `permissionGroup` is the library's translation\n namespace for the field labels, the same for every backend.\n The backend identity is passed in `system` above.\n -->\n <ASystemEntityScope\n system=\"common\"\n :subject=\"PERMISSION_GROUP_ENTITY\"\n >\n <VRow>\n <VCol cols=\"12\">\n <VCard>\n <VCardText>\n <AFormTextField\n v-model=\"permissionGroup.title\"\n :v=\"v$.permissionGroup.title\"\n data-cy=\"permissionGroup-title\"\n />\n <AFormTextField\n v-model=\"permissionGroup.description\"\n :v=\"v$.permissionGroup.description\"\n data-cy=\"permissionGroup-description\"\n />\n </VCardText>\n </VCard>\n </VCol>\n <VCol cols=\"12\">\n <APermissionEditor\n v-model=\"permissionGroup.permissions\"\n :client=\"client\"\n :system=\"system\"\n :end-point=\"permissionConfigEndPoint\"\n />\n </VCol>\n <VCol\n v-if=\"$slots.tracking\"\n cols=\"12\"\n >\n <!-- Created/modified by whom: each app resolves users against its own cache and routes. -->\n <slot\n name=\"tracking\"\n :permission-group=\"permissionGroup\"\n />\n </VCol>\n </VRow>\n </ASystemEntityScope>\n</template>\n"],"mappings":""}
@@ -4,33 +4,32 @@ type __VLS_Props = {
4
4
  /** Backend identity for the permission config fetch, not the i18n namespace below. */
5
5
  system: string;
6
6
  /**
7
- * Where the grants editor reads the permission config -- `GET /adm/v1/permissions/config` when
8
- * left out, which every backend has.
9
- *
10
- * Named for what it is, and deliberately not `endPoint`: a page holding the permission-group
11
- * endpoint passed it here as `endPoint`, the editor fetched the group list as its config and
12
- * crashed -- and, the config store being keyed by system, left that system's user pages broken
13
- * until reload. A stray `end-point` now falls through as an attribute and changes nothing.
7
+ * Where the grants editor reads the permission config. Defaults to `GET /adm/v1/permissions/config`.
8
+ * Deliberately not named `endPoint`: a page once passed the permission-group endpoint as `endPoint`.
9
+ * The editor then fetched the group list as config and crashed, and
10
+ * the per-system config store left user pages broken until reload.
14
11
  */
15
12
  permissionConfigEndPoint?: string | undefined;
16
13
  };
17
- declare var __VLS_58: {
18
- permissionGroup: {
19
- description: string;
20
- _system: string;
21
- _resourceName: "permissionGroup";
22
- id: import('../../../../lib').IntegerId;
23
- title: string;
24
- permissions: import('../../../../lib').Permissions;
25
- createdAt: import('../../../../lib').DatetimeUTC;
26
- modifiedAt: import('../../../../lib').DatetimeUTC;
27
- modifiedBy: import('../../../../lib').IntegerIdNullable;
28
- createdBy: import('../../../../lib').IntegerIdNullable;
14
+ declare const __VLS_template: () => {
15
+ __VLS_Slots: {
16
+ tracking?: (props: {
17
+ permissionGroup: {
18
+ description: string;
19
+ _system: string;
20
+ _resourceName: "permissionGroup";
21
+ id: import('../../../../lib').IntegerId;
22
+ title: string;
23
+ permissions: import('../../../../lib').Permissions;
24
+ createdAt: import('../../../../lib').DatetimeUTC;
25
+ modifiedAt: import('../../../../lib').DatetimeUTC;
26
+ modifiedBy: import('../../../../lib').IntegerIdNullable;
27
+ createdBy: import('../../../../lib').IntegerIdNullable;
28
+ };
29
+ }) => any;
29
30
  };
30
31
  };
31
- type __VLS_Slots = {} & {
32
- tracking?: (props: typeof __VLS_58) => any;
33
- };
32
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
34
33
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
35
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
36
35
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"APermissionGroupManage.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createBlock","ASystemEntityScope","_unref","_withCtx","_createVNode","_component_VRow","_component_VCol","_component_VCard","_component_VCardText","AFormTextField","APermissionEditor","_renderSlot","_createCommentVNode","AFormTextField_default","ASystemEntityScope_default","APermissionEditor_default","APermissionGroupManage_vue_vue_type_script_setup_true_lang_default","storeToRefs","usePermissionGroupOneStore","usePermissionGroupValidation","permissionGroup","openBlock","createBlock","unref","PERMISSION_GROUP_ENTITY","withCtx","createVNode","VRow","VCol","VCard","VCardText","_cache","$event","v$","__props","_ctx","renderSlot","createCommentVNode"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupManage.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport AFormTextField from '@/domains/form/components/AFormTextField.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionGroupValidation } from '@/domains/permission/group/composables/permissionGroupValidations'\nimport { PERMISSION_GROUP_ENTITY } from '@/domains/permission/group/api/permissionGroupApi'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\n\ndefineProps<{\n client: AxiosClientFn\n /** Backend identity for the permission config fetch, not the i18n namespace below. */\n system: string\n /**\n * Where the grants editor reads the permission config -- `GET /adm/v1/permissions/config` when\n * left out, which every backend has.\n *\n * Named for what it is, and deliberately not `endPoint`: a page holding the permission-group\n * endpoint passed it here as `endPoint`, the editor fetched the group list as its config and\n * crashed -- and, the config store being keyed by system, left that system's user pages broken\n * until reload. A stray `end-point` now falls through as an attribute and changes nothing.\n */\n permissionConfigEndPoint?: string | undefined\n}>()\n\nconst { permissionGroup } = storeToRefs(usePermissionGroupOneStore())\nconst { v$ } = usePermissionGroupValidation(permissionGroup)\n</script>\n\n<template>\n <!--\n `common` / `permissionGroup` is the translation namespace the field labels are looked up under,\n and it is the library's own -- the labels read the same whichever backend the row came from.\n The backend identity travels in `system` above.\n -->\n <ASystemEntityScope\n system=\"common\"\n :subject=\"PERMISSION_GROUP_ENTITY\"\n >\n <VRow>\n <VCol cols=\"12\">\n <VCard>\n <VCardText>\n <AFormTextField\n v-model=\"permissionGroup.title\"\n :v=\"v$.permissionGroup.title\"\n data-cy=\"permissionGroup-title\"\n />\n <AFormTextField\n v-model=\"permissionGroup.description\"\n :v=\"v$.permissionGroup.description\"\n data-cy=\"permissionGroup-description\"\n />\n </VCardText>\n </VCard>\n </VCol>\n <VCol cols=\"12\">\n <APermissionEditor\n v-model=\"permissionGroup.permissions\"\n :client=\"client\"\n :system=\"system\"\n :end-point=\"permissionConfigEndPoint\"\n />\n </VCol>\n <VCol\n v-if=\"$slots.tracking\"\n cols=\"12\"\n >\n <!-- Created/modified by whom: each app resolves users against its own cache and routes. -->\n <slot\n name=\"tracking\"\n :permission-group=\"permissionGroup\"\n />\n </VCol>\n </VRow>\n </ASystemEntityScope>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EA0BA,IAAM,EAAE,uBAAoBmB,EAAYC,EAA2B,CAAC,GAC9D,EAAE,UAAOC,EAA6BC,CAAe;E,kBASzDrB,EAAA,GAAAC,EAwCqBC,GAAA;GAvCnB,QAAO;GACN,SAASC,EAAAsB,CAAA;;GAEV,SAAArB,QAmCO,CAnCPC,EAmCOC,GAAA,MAAA;IAlCL,SAAAF,QAeO;KAfPC,EAeOE,GAAA,EAfD,MAAK,KAAI,GAAA;MACb,SAAAH,QAaQ,CAbRC,EAaQG,GAAA,MAAA;OAZN,SAAAJ,QAWY,CAXZC,EAWYI,GAAA,MAAA;QAVV,SAAAL,QAIE,CAJFC,EAIEK,GAAA;SAHS,YAAAP,EAAAkB,CAAA,CAAe,CAAC;SAAhB,uBAAA,AAAAW,EAAA,QAAA,MAAA,EAAAX,CAAA,CAAe,CAAC,QAAKY;SAC7B,GAAG9B,EAAA+B,CAAA,CAAE,CAAC,gBAAgB;SACvB,WAAQ;Q,kCAEV7B,EAIEK,GAAA;SAHS,YAAAP,EAAAkB,CAAA,CAAe,CAAC;SAAhB,uBAAA,AAAAW,EAAA,QAAA,MAAA,EAAAX,CAAA,CAAe,CAAC,cAAWY;SACnC,GAAG9B,EAAA+B,CAAA,CAAE,CAAC,gBAAgB;SACvB,WAAQ;;;;;;;;KAKhB7B,EAOOE,GAAA,EAPD,MAAK,KAAI,GAAA;MACb,SAAAH,QAKE,CALFC,EAKEM,GAAA;OAJS,YAAAR,EAAAkB,CAAA,CAAe,CAAC;OAAhB,uBAAA,AAAAW,EAAA,QAAA,MAAA,EAAAX,CAAA,CAAe,CAAC,cAAWY;OACnC,QAAQE,EAAA;OACR,QAAQA,EAAA;OACR,aAAWA,EAAA;;;;;;;;;KAIRpC,EAAAA,OAAO,YADfC,EAAA,GAAAC,EASOM,GAAA;;MAPL,MAAK;;MAGL,SAAAH,QAGE,CAHFQ,EAGEwB,EAAA,QAAA,YAAA,EADC,iBAAkBjC,EAAAkB,CAAA,EAAe,CAAA,C"}
1
+ {"version":3,"file":"APermissionGroupManage.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createBlock","ASystemEntityScope","_unref","_withCtx","_createVNode","_component_VRow","_component_VCol","_component_VCard","_component_VCardText","AFormTextField","APermissionEditor","_renderSlot","_createCommentVNode","AFormTextField_default","ASystemEntityScope_default","APermissionEditor_default","APermissionGroupManage_vue_vue_type_script_setup_true_lang_default","storeToRefs","usePermissionGroupOneStore","usePermissionGroupValidation","permissionGroup","openBlock","createBlock","unref","PERMISSION_GROUP_ENTITY","withCtx","createVNode","VRow","VCol","VCard","VCardText","_cache","$event","v$","__props","_ctx","renderSlot","createCommentVNode"],"sources":["../../../../../src/domains/permission/group/components/APermissionGroupManage.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { storeToRefs } from 'pinia'\nimport AFormTextField from '@/domains/form/components/AFormTextField.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionGroupValidation } from '@/domains/permission/group/composables/permissionGroupValidations'\nimport { PERMISSION_GROUP_ENTITY } from '@/domains/permission/group/api/permissionGroupApi'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\n\ndefineProps<{\n client: AxiosClientFn\n /** Backend identity for the permission config fetch, not the i18n namespace below. */\n system: string\n /**\n * Where the grants editor reads the permission config. Defaults to `GET /adm/v1/permissions/config`.\n * Deliberately not named `endPoint`: a page once passed the permission-group endpoint as `endPoint`.\n * The editor then fetched the group list as config and crashed, and\n * the per-system config store left user pages broken until reload.\n */\n permissionConfigEndPoint?: string | undefined\n}>()\n\nconst { permissionGroup } = storeToRefs(usePermissionGroupOneStore())\nconst { v$ } = usePermissionGroupValidation(permissionGroup)\n</script>\n\n<template>\n <!--\n `common` / `permissionGroup` is the library's translation\n namespace for the field labels, the same for every backend.\n The backend identity is passed in `system` above.\n -->\n <ASystemEntityScope\n system=\"common\"\n :subject=\"PERMISSION_GROUP_ENTITY\"\n >\n <VRow>\n <VCol cols=\"12\">\n <VCard>\n <VCardText>\n <AFormTextField\n v-model=\"permissionGroup.title\"\n :v=\"v$.permissionGroup.title\"\n data-cy=\"permissionGroup-title\"\n />\n <AFormTextField\n v-model=\"permissionGroup.description\"\n :v=\"v$.permissionGroup.description\"\n data-cy=\"permissionGroup-description\"\n />\n </VCardText>\n </VCard>\n </VCol>\n <VCol cols=\"12\">\n <APermissionEditor\n v-model=\"permissionGroup.permissions\"\n :client=\"client\"\n :system=\"system\"\n :end-point=\"permissionConfigEndPoint\"\n />\n </VCol>\n <VCol\n v-if=\"$slots.tracking\"\n cols=\"12\"\n >\n <!-- Created/modified by whom: each app resolves users against its own cache and routes. -->\n <slot\n name=\"tracking\"\n :permission-group=\"permissionGroup\"\n />\n </VCol>\n </VRow>\n </ASystemEntityScope>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAuBA,IAAM,EAAE,uBAAoBmB,EAAYC,EAA2B,CAAC,GAC9D,EAAE,UAAOC,EAA6BC,CAAe;E,kBASzDrB,EAAA,GAAAC,EAwCqBC,GAAA;GAvCnB,QAAO;GACN,SAASC,EAAAsB,CAAA;;GAEV,SAAArB,QAmCO,CAnCPC,EAmCOC,GAAA,MAAA;IAlCL,SAAAF,QAeO;KAfPC,EAeOE,GAAA,EAfD,MAAK,KAAI,GAAA;MACb,SAAAH,QAaQ,CAbRC,EAaQG,GAAA,MAAA;OAZN,SAAAJ,QAWY,CAXZC,EAWYI,GAAA,MAAA;QAVV,SAAAL,QAIE,CAJFC,EAIEK,GAAA;SAHS,YAAAP,EAAAkB,CAAA,CAAe,CAAC;SAAhB,uBAAA,AAAAW,EAAA,QAAA,MAAA,EAAAX,CAAA,CAAe,CAAC,QAAKY;SAC7B,GAAG9B,EAAA+B,CAAA,CAAE,CAAC,gBAAgB;SACvB,WAAQ;Q,kCAEV7B,EAIEK,GAAA;SAHS,YAAAP,EAAAkB,CAAA,CAAe,CAAC;SAAhB,uBAAA,AAAAW,EAAA,QAAA,MAAA,EAAAX,CAAA,CAAe,CAAC,cAAWY;SACnC,GAAG9B,EAAA+B,CAAA,CAAE,CAAC,gBAAgB;SACvB,WAAQ;;;;;;;;KAKhB7B,EAOOE,GAAA,EAPD,MAAK,KAAI,GAAA;MACb,SAAAH,QAKE,CALFC,EAKEM,GAAA;OAJS,YAAAR,EAAAkB,CAAA,CAAe,CAAC;OAAhB,uBAAA,AAAAW,EAAA,QAAA,MAAA,EAAAX,CAAA,CAAe,CAAC,cAAWY;OACnC,QAAQE,EAAA;OACR,QAAQA,EAAA;OACR,aAAWA,EAAA;;;;;;;;;KAIRpC,EAAAA,OAAO,YADfC,EAAA,GAAAC,EASOM,GAAA;;MAPL,MAAK;;MAGL,SAAAH,QAGE,CAHFQ,EAGEwB,EAAA,QAAA,YAAA,EADC,iBAAkBjC,EAAAkB,CAAA,EAAe,CAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"cachedPermissionGroups.js","names":["registries","mapFullToMinimal","permissionGroup","mapIdToMinimal","buildRegistry","usePermissionGroupApi","params","defineCached","useFetchPermissionGroupListByIds","execute","ids","useCachedPermissionGroups","resolved","registry","cache","toFetch","fetch","immediateFetch","add","addManual","addManualMinimal","has","get","isLoaded","clear"],"sources":["../../../../../src/domains/permission/group/composables/cachedPermissionGroups.ts"],"sourcesContent":["import { defineCached } from '@/domains/cached/composables/defineCached'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport {\n PERMISSION_GROUP_ENDPOINT,\n PERMISSION_GROUP_ENTITY,\n usePermissionGroupApi,\n} from '@/domains/permission/group/api/permissionGroupApi'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { PermissionGroup, PermissionGroupMinimal } from '@/domains/permission/group/types/PermissionGroup'\n\nexport interface CachedPermissionGroupsParams {\n client: AxiosClientFn\n system: string\n entity?: string\n endPoint?: string\n}\n\ntype Registry = ReturnType<typeof buildRegistry>\n\n/**\n * One cache per system, not one shared by all of them.\n *\n * Permission group ids are per system -- group 42 in weather and group 42 in blog are different\n * rows -- and the admins' caches were keyed by id alone. That was harmless while an admin only\n * ever talked to one backend, and stops being harmless the moment a cross-system page renders a\n * chip for both: whichever answered first won, and the other system's group was drawn under the\n * wrong title.\n */\nconst registries = new Map<string, Registry>()\n\nconst mapFullToMinimal = (permissionGroup: PermissionGroup): PermissionGroupMinimal => ({\n id: permissionGroup.id,\n title: permissionGroup.title,\n permissions: permissionGroup.permissions,\n})\n\nconst mapIdToMinimal = (id: IntegerId): PermissionGroupMinimal => ({\n id,\n title: '',\n permissions: {},\n})\n\nconst buildRegistry = (params: Required<CachedPermissionGroupsParams>) => {\n const { useFetchPermissionGroupListByIds } = usePermissionGroupApi(params)\n\n return defineCached<IntegerId, PermissionGroup, PermissionGroupMinimal>(\n mapFullToMinimal,\n mapIdToMinimal,\n async (ids: IntegerId[]) => {\n const { execute } = useFetchPermissionGroupListByIds()\n return execute(ids)\n }\n )\n}\n\nexport const useCachedPermissionGroups = (params: CachedPermissionGroupsParams) => {\n const resolved = {\n client: params.client,\n system: params.system,\n entity: params.entity ?? PERMISSION_GROUP_ENTITY,\n endPoint: params.endPoint ?? PERMISSION_GROUP_ENDPOINT,\n }\n\n let registry = registries.get(resolved.system)\n if (!registry) {\n registry = buildRegistry(resolved)\n registries.set(resolved.system, registry)\n }\n\n const { cache, toFetch, fetch, immediateFetch, add, addManual, addManualMinimal, has, get, isLoaded, clear } =\n registry\n\n return {\n cachedPermissionGroups: cache,\n toFetchCachedPermissionGroups: toFetch,\n fetchCachedPermissionGroups: fetch,\n immediateFetchCachedPermissionGroups: immediateFetch,\n addToCachedPermissionGroups: add,\n addManualToCachedPermissionGroups: addManual,\n addManualMinimalToCachedPermissionGroups: addManualMinimal,\n hasCachedPermissionGroup: has,\n getCachedPermissionGroup: get,\n isLoadedCachedPermissionGroup: isLoaded,\n clearCachedPermissionGroups: clear,\n }\n}\n\n/** Test seam. Registries are module state and would otherwise leak between cases. */\nexport const resetCachedPermissionGroupRegistries = () => {\n registries.clear()\n}\n"],"mappings":";;;AA4BA,IAAMA,oBAAa,IAAI,IAAsB,GAEvCC,KAAoB,OAA8D;CACtF,IAAIC,EAAgB;CACpB,OAAOA,EAAgB;CACvB,aAAaA,EAAgB;AAC/B,IAEMC,KAAkB,OAA2C;CACjE;CACA,OAAO;CACP,aAAa,CAAC;AAChB,IAEMC,KAAiB,MAAmD;CACxE,IAAM,EAAE,wCAAqCC,EAAsBC,CAAM;CAEzE,OAAOC,EACLN,GACAE,GACA,OAAO,MAAqB;EAC1B,IAAM,EAAE,eAAYK,EAAiC;EACrD,OAAOC,EAAQC,CAAG;CACpB,CACF;AACF,GAEaC,KAA6B,MAAyC;CACjF,IAAMC,IAAW;EACf,QAAQN,EAAO;EACf,QAAQA,EAAO;EACf,QAAQA,EAAO,UAAA;EACf,UAAUA,EAAO,YAAA;CACnB,GAEIO,IAAWb,EAAW,IAAIY,EAAS,MAAM;CAC7C,AAAKC,MACH,IAAWT,EAAcQ,CAAQ,GACjCZ,EAAW,IAAIY,EAAS,QAAQC,CAAQ;CAG1C,IAAM,EAAE,UAAO,YAAS,UAAO,mBAAgB,QAAK,cAAW,qBAAkB,QAAK,QAAK,aAAU,aACnGA;CAEF,OAAO;EACL,wBAAwBC;EACxB,+BAA+BC;EAC/B,6BAA6BC;EAC7B,sCAAsCC;EACtC,6BAA6BC;EAC7B,mCAAmCC;EACnC,0CAA0CC;EAC1C,0BAA0BC;EAC1B,0BAA0BC;EAC1B,+BAA+BC;EAC/B,6BAA6BC;CAC/B;AACF"}
1
+ {"version":3,"file":"cachedPermissionGroups.js","names":["registries","mapFullToMinimal","permissionGroup","mapIdToMinimal","buildRegistry","usePermissionGroupApi","params","defineCached","useFetchPermissionGroupListByIds","execute","ids","useCachedPermissionGroups","resolved","registry","cache","toFetch","fetch","immediateFetch","add","addManual","addManualMinimal","has","get","isLoaded","clear"],"sources":["../../../../../src/domains/permission/group/composables/cachedPermissionGroups.ts"],"sourcesContent":["import { defineCached } from '@/domains/cached/composables/defineCached'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport {\n PERMISSION_GROUP_ENDPOINT,\n PERMISSION_GROUP_ENTITY,\n usePermissionGroupApi,\n} from '@/domains/permission/group/api/permissionGroupApi'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { PermissionGroup, PermissionGroupMinimal } from '@/domains/permission/group/types/PermissionGroup'\n\nexport interface CachedPermissionGroupsParams {\n client: AxiosClientFn\n system: string\n entity?: string\n endPoint?: string\n}\n\ntype Registry = ReturnType<typeof buildRegistry>\n\n/**\n * One cache per system. Permission group ids are per system: group 42 in weather and in blog are different rows.\n * A cache keyed by id alone shows the wrong title when a cross-system page renders chips for both.\n */\nconst registries = new Map<string, Registry>()\n\nconst mapFullToMinimal = (permissionGroup: PermissionGroup): PermissionGroupMinimal => ({\n id: permissionGroup.id,\n title: permissionGroup.title,\n permissions: permissionGroup.permissions,\n})\n\nconst mapIdToMinimal = (id: IntegerId): PermissionGroupMinimal => ({\n id,\n title: '',\n permissions: {},\n})\n\nconst buildRegistry = (params: Required<CachedPermissionGroupsParams>) => {\n const { useFetchPermissionGroupListByIds } = usePermissionGroupApi(params)\n\n return defineCached<IntegerId, PermissionGroup, PermissionGroupMinimal>(\n mapFullToMinimal,\n mapIdToMinimal,\n async (ids: IntegerId[]) => {\n const { execute } = useFetchPermissionGroupListByIds()\n return execute(ids)\n }\n )\n}\n\nexport const useCachedPermissionGroups = (params: CachedPermissionGroupsParams) => {\n const resolved = {\n client: params.client,\n system: params.system,\n entity: params.entity ?? PERMISSION_GROUP_ENTITY,\n endPoint: params.endPoint ?? PERMISSION_GROUP_ENDPOINT,\n }\n\n let registry = registries.get(resolved.system)\n if (!registry) {\n registry = buildRegistry(resolved)\n registries.set(resolved.system, registry)\n }\n\n const { cache, toFetch, fetch, immediateFetch, add, addManual, addManualMinimal, has, get, isLoaded, clear } =\n registry\n\n return {\n cachedPermissionGroups: cache,\n toFetchCachedPermissionGroups: toFetch,\n fetchCachedPermissionGroups: fetch,\n immediateFetchCachedPermissionGroups: immediateFetch,\n addToCachedPermissionGroups: add,\n addManualToCachedPermissionGroups: addManual,\n addManualMinimalToCachedPermissionGroups: addManualMinimal,\n hasCachedPermissionGroup: has,\n getCachedPermissionGroup: get,\n isLoadedCachedPermissionGroup: isLoaded,\n clearCachedPermissionGroups: clear,\n }\n}\n\n/** Test seam. Registries are module state and would otherwise leak between cases. */\nexport const resetCachedPermissionGroupRegistries = () => {\n registries.clear()\n}\n"],"mappings":";;;AAuBA,IAAMA,oBAAa,IAAI,IAAsB,GAEvCC,KAAoB,OAA8D;CACtF,IAAIC,EAAgB;CACpB,OAAOA,EAAgB;CACvB,aAAaA,EAAgB;AAC/B,IAEMC,KAAkB,OAA2C;CACjE;CACA,OAAO;CACP,aAAa,CAAC;AAChB,IAEMC,KAAiB,MAAmD;CACxE,IAAM,EAAE,wCAAqCC,EAAsBC,CAAM;CAEzE,OAAOC,EACLN,GACAE,GACA,OAAO,MAAqB;EAC1B,IAAM,EAAE,eAAYK,EAAiC;EACrD,OAAOC,EAAQC,CAAG;CACpB,CACF;AACF,GAEaC,KAA6B,MAAyC;CACjF,IAAMC,IAAW;EACf,QAAQN,EAAO;EACf,QAAQA,EAAO;EACf,QAAQA,EAAO,UAAA;EACf,UAAUA,EAAO,YAAA;CACnB,GAEIO,IAAWb,EAAW,IAAIY,EAAS,MAAM;CAC7C,AAAKC,MACH,IAAWT,EAAcQ,CAAQ,GACjCZ,EAAW,IAAIY,EAAS,QAAQC,CAAQ;CAG1C,IAAM,EAAE,UAAO,YAAS,UAAO,mBAAgB,QAAK,cAAW,qBAAkB,QAAK,QAAK,aAAU,aACnGA;CAEF,OAAO;EACL,wBAAwBC;EACxB,+BAA+BC;EAC/B,6BAA6BC;EAC7B,sCAAsCC;EACtC,6BAA6BC;EAC7B,mCAAmCC;EACnC,0CAA0CC;EAC1C,0BAA0BC;EAC1B,0BAA0BC;EAC1B,+BAA+BC;EAC/B,6BAA6BC;CAC/B;AACF"}
@@ -10,20 +10,18 @@ export interface PermissionGroupActionsParams {
10
10
  system: string;
11
11
  entity?: string;
12
12
  /**
13
- * i18n scope for a server-side validation failure, which is a different question from which
14
- * backend answered. `AnzuApiValidationError` builds `<system>.<entity>.model.<field>` keys, so
15
- * the pair has to name the namespace the *labels* live under. It defaults to `common` +
16
- * `permissionGroup`, which is where the shared form's own fields are; an admin whose form carries
17
- * system fields as well passes its own pair, and keeps the base keys beside them.
13
+ * i18n scope for server-side validation errors, separate from which backend answered.
14
+ * `AnzuApiValidationError` builds `<system>.<entity>.model.<field>`
15
+ * keys, so the pair must name the namespace of the labels.
16
+ * Defaults to `common` + `permissionGroup`. An admin whose form has extra system fields passes its own pair.
18
17
  */
19
18
  validationSystem?: string;
20
19
  validationEntity?: string;
21
20
  endPoint?: string;
22
21
  }
23
22
  /**
24
- * Everything below is per instance. The admins kept `listLoading`, `detailLoading` and
25
- * `datatableHiddenColumns` at module scope, which is a single set of flags shared by every caller
26
- * -- fine for one list on one backend, wrong for a library a page may instantiate twice.
23
+ * All state below is per instance. Module-scope loading flags and
24
+ * hidden columns would be shared when a page instantiates this twice.
27
25
  */
28
26
  export declare const usePermissionGroupActions: (params: PermissionGroupActionsParams) => {
29
27
  datatableHiddenColumns: Ref<string[], string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"permissionGroupActions.js","names":["useVuelidate","fetchGeneration","usePermissionGroupActions","PERMISSION_GROUP_ENTITY","PERMISSION_GROUP_ENDPOINT","params","useAlerts","usePermissionGroupApi","executeList","abortList","useFetchPermissionGroupList","executeFetchByIds","useFetchPermissionGroupListByIds","datatableHiddenColumns","ref","permissionGroupList","loadingPermissionGroupList","listGeneration","fetchPermissionGroupList","token","items","pagination","filterData","filterConfig","error","showErrorsDefault","cancelPermissionGroupList","permissionGroupOneStore","usePermissionGroupOneStore","storeToRefs","fetchPermissionGroup","generation","useFetchPermissionGroup","res","execute","options","loadingDeletePermissionGroup","deletePermissionGroup","useDeletePermissionGroup","showRecordWas","v$","loadingUpdatePermissionGroup","updatePermissionGroup","showValidationError","AnzuFatalError","useUpdatePermissionGroup","syncUserAndTimeTracking","loadingCreatePermissionGroup","createPermissionGroup","useCreatePermissionGroup","created","useCachedPermissionGroups","permissionGroups","addManualToCachedPermissionGroups","item","ids"],"sources":["../../../../../src/domains/permission/group/composables/permissionGroupActions.ts"],"sourcesContent":["import { ref, type Ref } from 'vue'\nimport { storeToRefs } from 'pinia'\nimport useVuelidate from '@vuelidate/core'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { handleRecordLoadError } from '@/domains/system/composables/recordPage'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\nimport type { Pagination } from '@/domains/api/composables/pagination'\nimport { useCachedPermissionGroups } from '@/domains/permission/group/composables/cachedPermissionGroups'\nimport {\n PERMISSION_GROUP_ENDPOINT,\n PERMISSION_GROUP_ENTITY,\n usePermissionGroupApi,\n} from '@/domains/permission/group/api/permissionGroupApi'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { PermissionGroup } from '@/domains/permission/group/types/PermissionGroup'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { AnzuFatalError } from '@/shared/error/AnzuFatalError'\nimport { syncUserAndTimeTracking } from '@/shared/utils/userAndTimeTracking'\n\n// The record store is shared by every page, and a request is not aborted when its page goes: only the\n// latest fetch may write the record, or reset it on failure. A store reset (a page's teardown, a create\n// page's mount) counts as newer too.\nlet fetchGeneration = 0\n\nexport interface PermissionGroupActionsParams {\n client: AxiosClientFn\n system: string\n entity?: string\n /**\n * i18n scope for a server-side validation failure, which is a different question from which\n * backend answered. `AnzuApiValidationError` builds `<system>.<entity>.model.<field>` keys, so\n * the pair has to name the namespace the *labels* live under. It defaults to `common` +\n * `permissionGroup`, which is where the shared form's own fields are; an admin whose form carries\n * system fields as well passes its own pair, and keeps the base keys beside them.\n */\n validationSystem?: string\n validationEntity?: string\n endPoint?: string\n}\n\n/**\n * Everything below is per instance. The admins kept `listLoading`, `detailLoading` and\n * `datatableHiddenColumns` at module scope, which is a single set of flags shared by every caller\n * -- fine for one list on one backend, wrong for a library a page may instantiate twice.\n */\nexport const usePermissionGroupActions = (params: PermissionGroupActionsParams) => {\n const { client, system, entity = PERMISSION_GROUP_ENTITY, endPoint = PERMISSION_GROUP_ENDPOINT } = params\n\n const { showValidationError, showRecordWas, showErrorsDefault } = useAlerts()\n const {\n useFetchPermissionGroupList,\n useFetchPermissionGroup,\n useDeletePermissionGroup,\n useUpdatePermissionGroup,\n useCreatePermissionGroup,\n useFetchPermissionGroupListByIds,\n } = usePermissionGroupApi({\n client,\n system,\n entity,\n validationSystem: params.validationSystem,\n validationEntity: params.validationEntity,\n endPoint,\n })\n\n const { execute: executeList, abort: abortList } = useFetchPermissionGroupList()\n const { execute: executeFetchByIds } = useFetchPermissionGroupListByIds()\n\n const datatableHiddenColumns = ref<Array<string>>([])\n const permissionGroupList = ref<PermissionGroup[]>([])\n const loadingPermissionGroupList = ref(false)\n\n // Same reason as in `useLogListActions`: axios rejects an aborted request with `CanceledError`,\n // which reaches the catch like any other failure. Without a token the user gets an error alert\n // for a navigation they performed themselves.\n let listGeneration = 0\n\n const fetchPermissionGroupList = async (\n pagination: Ref<Pagination>,\n filterData: FilterData<any>,\n filterConfig: FilterConfig<any>\n ) => {\n const token = ++listGeneration\n loadingPermissionGroupList.value = true\n try {\n const items = await executeList(pagination, filterData, filterConfig)\n if (token !== listGeneration) return\n permissionGroupList.value = items\n } catch (error) {\n if (token !== listGeneration) return\n permissionGroupList.value = []\n showErrorsDefault(error)\n } finally {\n if (token === listGeneration) loadingPermissionGroupList.value = false\n }\n }\n\n const cancelPermissionGroupList = () => {\n listGeneration++\n abortList()\n }\n\n const permissionGroupOneStore = usePermissionGroupOneStore()\n const { permissionGroup, loadingPermissionGroup } = storeToRefs(permissionGroupOneStore)\n\n /**\n * `true` once loaded, `false` when the page should leave (`handleRecordLoadError`), `undefined`\n * when a newer fetch took over or the request was stopped.\n */\n const fetchPermissionGroup = async (\n id: IntegerId,\n options: { signal?: AbortSignal } = {}\n ): Promise<boolean | undefined> => {\n const generation = ++fetchGeneration\n permissionGroupOneStore.setLoadingPermissionGroup(true)\n try {\n const { execute } = useFetchPermissionGroup()\n const res = await execute({ urlParams: { id }, signal: options.signal })\n if (generation !== fetchGeneration) return undefined\n permissionGroupOneStore.setPermissionGroup(res)\n return true\n } catch (error) {\n // A newer fetch owns the record now, possibly another page's: leave it alone.\n if (generation !== fetchGeneration) return undefined\n // Not the previous record: Save would PUT it back to its own id from a page opened for another.\n permissionGroupOneStore.reset()\n return handleRecordLoadError(error) ? false : undefined\n } finally {\n if (generation === fetchGeneration) permissionGroupOneStore.setLoadingPermissionGroup(false)\n }\n }\n\n const loadingDeletePermissionGroup = ref(false)\n /** Resolves true when the row is gone, so the caller can decide where to navigate. */\n const deletePermissionGroup = async (id: IntegerId): Promise<boolean> => {\n try {\n loadingDeletePermissionGroup.value = true\n const { execute } = useDeletePermissionGroup()\n await execute({ urlParams: { id } })\n showRecordWas('deleted')\n return true\n } catch (error) {\n showErrorsDefault(error)\n return false\n } finally {\n loadingDeletePermissionGroup.value = false\n }\n }\n\n const v$ = useVuelidate()\n\n const loadingUpdatePermissionGroup = ref(false)\n const updatePermissionGroup = async (): Promise<boolean> => {\n try {\n loadingUpdatePermissionGroup.value = true\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return false\n }\n const id = permissionGroupOneStore.permissionGroup.id\n // The factory's blank record has id 0: after a failed fetch there is nothing to update.\n if (!id) {\n throw new AnzuFatalError(undefined, '[usePermissionGroupActions] update called on a record with no id.')\n }\n const { execute } = useUpdatePermissionGroup()\n const res = await execute({\n urlParams: { id: permissionGroupOneStore.permissionGroup.id },\n body: permissionGroupOneStore.permissionGroup,\n })\n syncUserAndTimeTracking(permissionGroupOneStore.permissionGroup, res)\n showRecordWas('updated')\n return true\n } catch (error) {\n showErrorsDefault(error)\n return false\n } finally {\n loadingUpdatePermissionGroup.value = false\n }\n }\n\n const loadingCreatePermissionGroup = ref(false)\n /** Resolves the created row, so the caller can route to its detail; null on failure. */\n const createPermissionGroup = async (): Promise<PermissionGroup | null> => {\n try {\n loadingCreatePermissionGroup.value = true\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return null\n }\n const { execute } = useCreatePermissionGroup()\n const created = await execute({ body: permissionGroupOneStore.permissionGroup })\n showRecordWas('created')\n return created\n } catch (error) {\n showErrorsDefault(error)\n return null\n } finally {\n loadingCreatePermissionGroup.value = false\n }\n }\n\n const { addManualToCachedPermissionGroups } = useCachedPermissionGroups({ client, system, entity, endPoint })\n\n const fetchPermissionGroupOptions = async (\n pagination: Ref<Pagination>,\n filterData: FilterData<any>,\n filterConfig: FilterConfig<any>\n ): Promise<ValueObjectOption<IntegerId>[]> => {\n const permissionGroups = await executeList(pagination, filterData, filterConfig)\n permissionGroups.forEach((item) => addManualToCachedPermissionGroups(item))\n\n return permissionGroups.map((item) => ({ title: item.title, value: item.id }))\n }\n\n const fetchPermissionGroupOptionsByIds = async (ids: IntegerId[]): Promise<ValueObjectOption<IntegerId>[]> => {\n const permissionGroups = await executeFetchByIds(ids)\n permissionGroups.forEach((item) => addManualToCachedPermissionGroups(item))\n\n return permissionGroups.map((item) => ({ title: item.title, value: item.id }))\n }\n\n return {\n datatableHiddenColumns,\n permissionGroupList,\n loadingPermissionGroupList,\n fetchPermissionGroupList,\n cancelPermissionGroupList,\n permissionGroup,\n loadingPermissionGroup,\n fetchPermissionGroup,\n createPermissionGroup,\n updatePermissionGroup,\n deletePermissionGroup,\n loadingCreatePermissionGroup,\n loadingUpdatePermissionGroup,\n loadingDeletePermissionGroup,\n fetchPermissionGroupOptions,\n fetchPermissionGroupOptionsByIds,\n resetPermissionGroupStore: () => {\n fetchGeneration++\n permissionGroupOneStore.reset()\n },\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"permissionGroupActions.js","names":["useVuelidate","fetchGeneration","usePermissionGroupActions","PERMISSION_GROUP_ENTITY","PERMISSION_GROUP_ENDPOINT","params","useAlerts","usePermissionGroupApi","executeList","abortList","useFetchPermissionGroupList","executeFetchByIds","useFetchPermissionGroupListByIds","datatableHiddenColumns","ref","permissionGroupList","loadingPermissionGroupList","listGeneration","fetchPermissionGroupList","token","items","pagination","filterData","filterConfig","error","showErrorsDefault","cancelPermissionGroupList","permissionGroupOneStore","usePermissionGroupOneStore","storeToRefs","fetchPermissionGroup","generation","useFetchPermissionGroup","res","execute","options","loadingDeletePermissionGroup","deletePermissionGroup","useDeletePermissionGroup","showRecordWas","v$","loadingUpdatePermissionGroup","updatePermissionGroup","showValidationError","AnzuFatalError","useUpdatePermissionGroup","syncUserAndTimeTracking","loadingCreatePermissionGroup","createPermissionGroup","useCreatePermissionGroup","created","useCachedPermissionGroups","permissionGroups","addManualToCachedPermissionGroups","item","ids"],"sources":["../../../../../src/domains/permission/group/composables/permissionGroupActions.ts"],"sourcesContent":["import { ref, type Ref } from 'vue'\nimport { storeToRefs } from 'pinia'\nimport useVuelidate from '@vuelidate/core'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { handleRecordLoadError } from '@/domains/system/composables/recordPage'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\nimport type { Pagination } from '@/domains/api/composables/pagination'\nimport { useCachedPermissionGroups } from '@/domains/permission/group/composables/cachedPermissionGroups'\nimport {\n PERMISSION_GROUP_ENDPOINT,\n PERMISSION_GROUP_ENTITY,\n usePermissionGroupApi,\n} from '@/domains/permission/group/api/permissionGroupApi'\nimport { usePermissionGroupOneStore } from '@/domains/permission/group/store/permissionGroupStore'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { PermissionGroup } from '@/domains/permission/group/types/PermissionGroup'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { AnzuFatalError } from '@/shared/error/AnzuFatalError'\nimport { syncUserAndTimeTracking } from '@/shared/utils/userAndTimeTracking'\n\n// The record store is shared by every page, and a request is not aborted when its page goes.\n// Only the latest fetch may write the record or reset it on failure. A\n// store reset (page teardown, create page mount) also counts as newer.\nlet fetchGeneration = 0\n\nexport interface PermissionGroupActionsParams {\n client: AxiosClientFn\n system: string\n entity?: string\n /**\n * i18n scope for server-side validation errors, separate from which backend answered.\n * `AnzuApiValidationError` builds `<system>.<entity>.model.<field>`\n * keys, so the pair must name the namespace of the labels.\n * Defaults to `common` + `permissionGroup`. An admin whose form has extra system fields passes its own pair.\n */\n validationSystem?: string\n validationEntity?: string\n endPoint?: string\n}\n\n/**\n * All state below is per instance. Module-scope loading flags and\n * hidden columns would be shared when a page instantiates this twice.\n */\nexport const usePermissionGroupActions = (params: PermissionGroupActionsParams) => {\n const { client, system, entity = PERMISSION_GROUP_ENTITY, endPoint = PERMISSION_GROUP_ENDPOINT } = params\n\n const { showValidationError, showRecordWas, showErrorsDefault } = useAlerts()\n const {\n useFetchPermissionGroupList,\n useFetchPermissionGroup,\n useDeletePermissionGroup,\n useUpdatePermissionGroup,\n useCreatePermissionGroup,\n useFetchPermissionGroupListByIds,\n } = usePermissionGroupApi({\n client,\n system,\n entity,\n validationSystem: params.validationSystem,\n validationEntity: params.validationEntity,\n endPoint,\n })\n\n const { execute: executeList, abort: abortList } = useFetchPermissionGroupList()\n const { execute: executeFetchByIds } = useFetchPermissionGroupListByIds()\n\n const datatableHiddenColumns = ref<Array<string>>([])\n const permissionGroupList = ref<PermissionGroup[]>([])\n const loadingPermissionGroupList = ref(false)\n\n // axios rejects an aborted request with `CanceledError`, which reaches the catch like any other failure.\n // Without the generation token the user gets an error alert for\n // their own navigation. Same reason as in `useLogListActions`.\n let listGeneration = 0\n\n const fetchPermissionGroupList = async (\n pagination: Ref<Pagination>,\n filterData: FilterData<any>,\n filterConfig: FilterConfig<any>\n ) => {\n const token = ++listGeneration\n loadingPermissionGroupList.value = true\n try {\n const items = await executeList(pagination, filterData, filterConfig)\n if (token !== listGeneration) return\n permissionGroupList.value = items\n } catch (error) {\n if (token !== listGeneration) return\n permissionGroupList.value = []\n showErrorsDefault(error)\n } finally {\n if (token === listGeneration) loadingPermissionGroupList.value = false\n }\n }\n\n const cancelPermissionGroupList = () => {\n listGeneration++\n abortList()\n }\n\n const permissionGroupOneStore = usePermissionGroupOneStore()\n const { permissionGroup, loadingPermissionGroup } = storeToRefs(permissionGroupOneStore)\n\n /**\n * `true` once loaded, `false` when the page should leave (`handleRecordLoadError`), `undefined`\n * when a newer fetch took over or the request was stopped.\n */\n const fetchPermissionGroup = async (\n id: IntegerId,\n options: { signal?: AbortSignal } = {}\n ): Promise<boolean | undefined> => {\n const generation = ++fetchGeneration\n permissionGroupOneStore.setLoadingPermissionGroup(true)\n try {\n const { execute } = useFetchPermissionGroup()\n const res = await execute({ urlParams: { id }, signal: options.signal })\n if (generation !== fetchGeneration) return undefined\n permissionGroupOneStore.setPermissionGroup(res)\n return true\n } catch (error) {\n // A newer fetch owns the record now, possibly another page's: leave it alone.\n if (generation !== fetchGeneration) return undefined\n // Not the previous record: Save would PUT it back to its own id from a page opened for another.\n permissionGroupOneStore.reset()\n return handleRecordLoadError(error) ? false : undefined\n } finally {\n if (generation === fetchGeneration) permissionGroupOneStore.setLoadingPermissionGroup(false)\n }\n }\n\n const loadingDeletePermissionGroup = ref(false)\n /** Resolves true when the row is gone, so the caller can decide where to navigate. */\n const deletePermissionGroup = async (id: IntegerId): Promise<boolean> => {\n try {\n loadingDeletePermissionGroup.value = true\n const { execute } = useDeletePermissionGroup()\n await execute({ urlParams: { id } })\n showRecordWas('deleted')\n return true\n } catch (error) {\n showErrorsDefault(error)\n return false\n } finally {\n loadingDeletePermissionGroup.value = false\n }\n }\n\n const v$ = useVuelidate()\n\n const loadingUpdatePermissionGroup = ref(false)\n const updatePermissionGroup = async (): Promise<boolean> => {\n try {\n loadingUpdatePermissionGroup.value = true\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return false\n }\n const id = permissionGroupOneStore.permissionGroup.id\n // The factory's blank record has id 0: after a failed fetch there is nothing to update.\n if (!id) {\n throw new AnzuFatalError(undefined, '[usePermissionGroupActions] update called on a record with no id.')\n }\n const { execute } = useUpdatePermissionGroup()\n const res = await execute({\n urlParams: { id: permissionGroupOneStore.permissionGroup.id },\n body: permissionGroupOneStore.permissionGroup,\n })\n syncUserAndTimeTracking(permissionGroupOneStore.permissionGroup, res)\n showRecordWas('updated')\n return true\n } catch (error) {\n showErrorsDefault(error)\n return false\n } finally {\n loadingUpdatePermissionGroup.value = false\n }\n }\n\n const loadingCreatePermissionGroup = ref(false)\n /** Resolves the created row, so the caller can route to its detail; null on failure. */\n const createPermissionGroup = async (): Promise<PermissionGroup | null> => {\n try {\n loadingCreatePermissionGroup.value = true\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return null\n }\n const { execute } = useCreatePermissionGroup()\n const created = await execute({ body: permissionGroupOneStore.permissionGroup })\n showRecordWas('created')\n return created\n } catch (error) {\n showErrorsDefault(error)\n return null\n } finally {\n loadingCreatePermissionGroup.value = false\n }\n }\n\n const { addManualToCachedPermissionGroups } = useCachedPermissionGroups({ client, system, entity, endPoint })\n\n const fetchPermissionGroupOptions = async (\n pagination: Ref<Pagination>,\n filterData: FilterData<any>,\n filterConfig: FilterConfig<any>\n ): Promise<ValueObjectOption<IntegerId>[]> => {\n const permissionGroups = await executeList(pagination, filterData, filterConfig)\n permissionGroups.forEach((item) => addManualToCachedPermissionGroups(item))\n\n return permissionGroups.map((item) => ({ title: item.title, value: item.id }))\n }\n\n const fetchPermissionGroupOptionsByIds = async (ids: IntegerId[]): Promise<ValueObjectOption<IntegerId>[]> => {\n const permissionGroups = await executeFetchByIds(ids)\n permissionGroups.forEach((item) => addManualToCachedPermissionGroups(item))\n\n return permissionGroups.map((item) => ({ title: item.title, value: item.id }))\n }\n\n return {\n datatableHiddenColumns,\n permissionGroupList,\n loadingPermissionGroupList,\n fetchPermissionGroupList,\n cancelPermissionGroupList,\n permissionGroup,\n loadingPermissionGroup,\n fetchPermissionGroup,\n createPermissionGroup,\n updatePermissionGroup,\n deletePermissionGroup,\n loadingCreatePermissionGroup,\n loadingUpdatePermissionGroup,\n loadingDeletePermissionGroup,\n fetchPermissionGroupOptions,\n fetchPermissionGroupOptionsByIds,\n resetPermissionGroupStore: () => {\n fetchGeneration++\n permissionGroupOneStore.reset()\n },\n }\n}\n"],"mappings":"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"}