@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":"uploadSettlementTypes.js","names":["UploadRowRole"],"sources":["../../../../../src/domains/dam/uploadQueue/settlement/uploadSettlementTypes.ts"],"sourcesContent":["import type { DocId, DocIdNullable, IntegerId } from '@/shared/types/common'\nimport type { AssetDetailItemDto, DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType, AssetFileNullable } from '@/domains/dam/types/AssetFile'\nimport type { UploadQueue, UploadQueueItem, UploadQueueKey } from '@/domains/dam/types/UploadQueue'\n\nexport const UploadRowRole = {\n Upload: 'upload',\n Slot: 'slot',\n MassEdit: 'massEdit',\n Copy: 'copy',\n ExternalImport: 'externalImport',\n} as const\nexport type UploadRowRoleType = (typeof UploadRowRole)[keyof typeof UploadRowRole]\n\nexport interface UploadSettlePolicy {\n /** What a tick reads the state of the row's file with. `none`: the row is never tracked. */\n reader: 'asset' | 'slots' | 'none'\n /**\n * For the `processed` state ONLY.\n * `read`: uploaded only from a read, the event merely starts that read.\n * `event`: the state of the event is written at once, the read completes the row.\n * `never`: `processed` does not change the state of the row (mass edit), it only completes it.\n * `failed` and `duplicate` are written to every row that passes `matches(…, 'settle')`.\n */\n settleOn: 'read' | 'event' | 'never'\n duplicate: 'becomeOriginal' | 'markDuplicate'\n /** `load`: the row is to have a form, and its metadata is loaded into it. */\n metadata: 'load' | 'none'\n}\n\nexport interface UploadSettlementTarget {\n assetId: DocId\n /** The file the event or the read speaks of; `null` when the caller does not know it. */\n fileId: DocIdNullable\n /**\n * The DAM configurations the target is of: with `configOf` of the profile, a row in a queue of another configuration\n * is not concerned. Left out or empty: the rows of every queue. Two DAMs may give one asset id.\n */\n configNames?: string[]\n}\n\n/** What the settlement says of one request it asks a reader for. A reader that ignores it behaves as before. */\nexport interface UploadReadOptions {\n /**\n * Whether a failure of this request is to be reported to whoever collects the errors of the application.\n *\n * The poll and the notifications ask again and again for as long as a row waits, so of their requests only\n * the first that fails in a streak is `true`; a read that answers ends the streak (with `configOf` of the profile,\n * a streak is of one configuration, and only a read of that configuration ends it). The streak begins with a\n * failure that was written down (`readers.failureReported`): after one that was not, the next request is\n * `true` again. An asset that does not exist (404) counts as such a failure: it is `true` once per row at most.\n * A read the user asked for (the refresh) is always `true`.\n */\n report: boolean\n /**\n * The queue the read is for: of the poll its own queue; of a read a notification or the refresh asked for, the\n * queue of the first row it concerns. For a reader that asks under the configuration of the queue. Not given when\n * the read concerns no row.\n */\n queueKey?: UploadQueueKey\n}\n\n/** What a store hands its settlement. */\nexport interface UploadSettlementProfile {\n /** A live view of the queues of the store. The settlement keeps no rows, it always asks. */\n queues(): Iterable<[UploadQueueKey, UploadQueue]>\n /**\n * The DAM configuration the queue `queueKey` is of. With it, a target or an event that names configurations\n * concerns only the rows of their queues: the poll of a queue names that of the queue, and every read made for a\n * target or an event (one a notification asks for, the refresh, a known processed file, the original of a duplicate)\n * is made once for each configuration it names, by the queue of its first concerned row of that configuration, and\n * written into its rows alone; a configuration named whose queues have no row of the asset is not read. The reads of\n * a configuration go one after another, beside those of the others (and those that name none in a lane of their\n * own), each configuration with its own streak of failures. The caches are told the queue of the rows whose names\n * they get. Without it, every row of the asset is concerned, all reads go one after another with one streak, and the\n * caches are called without a queue, as before.\n */\n configOf?(queueKey: UploadQueueKey): string\n roleOf(row: UploadQueueItem): UploadRowRoleType\n policyFor(role: UploadRowRoleType): UploadSettlePolicy\n /**\n * `settle`: the row may be given a state. `decorate`: it may be completed without a change of state.\n * `metadata`: it may be given its metadata from the metadata notification.\n */\n matches(row: UploadQueueItem, target: UploadSettlementTarget, purpose: 'settle' | 'decorate' | 'metadata'): boolean\n\n readers: {\n /** One asset; `null` when it does not exist (404). Throws only when the request fails. */\n asset(assetId: DocId, options?: UploadReadOptions): Promise<AssetDetailItemDto | null>\n /** Assets of one licence. The missing ones are not in the answer. An answer that is no list throws. */\n assets(licenceId: IntegerId, assetIds: DocId[], options?: UploadReadOptions): Promise<AssetDetailItemDto[]>\n /** DAM: the files of all the slots of an asset. An answer that is no list throws. */\n slotFiles?(assetId: DocId, options?: UploadReadOptions): Promise<AssetFileNullable[]>\n /** LIB: the asset the original file of a duplicate belongs to. `queueKey`: of the first row that is to become it. */\n duplicateOriginAsset?(\n originFileId: DocId,\n options?: Pick<UploadReadOptions, 'queueKey'>\n ): Promise<AssetDetailItemDto>\n /** DAM: the original file of a duplicate, by its type. */\n duplicateOriginFile?(originFileId: DocId, assetType: DamAssetTypeType): Promise<AssetFileNullable>\n /**\n * Whether a failure of a read that was let report (`report: true`) was written down, by what the read threw:\n * `apiErrorIsReported` for readers that report through the api error logger. One that was not (a timeout, a\n * 401, a 403) has told nobody, and the next read is let report again. Without it, every such failure was.\n */\n failureReported?(error: unknown): boolean\n }\n /**\n * `queueKey`: the queue of the rows whose names are added, and the one whose names are to be fetched, given only to\n * a profile with `configOf`, as the second argument (an `add` of `defineCached`, which takes every argument as an\n * id, is to be wrapped). Such a profile is asked to fetch, where the fetch was asked for before (after a read,\n * after a duplicate became its original), for each queue whose rows were given names since its last fetch. A\n * profile without it is called without a queue, as before.\n */\n caches: {\n addAuthors(ids: DocId[], queueKey?: UploadQueueKey): void\n addKeywords(ids: DocId[], queueKey?: UploadQueueKey): void\n fetchAuthors(queueKey?: UploadQueueKey): void\n fetchKeywords(queueKey?: UploadQueueKey): void\n }\n messages: {\n processingTooLong(row: UploadQueueItem): string\n readFailed(row: UploadQueueItem): string\n assetMissing(row: UploadQueueItem): string\n /**\n * The text of an uploaded row still without its metadata whose asset was missing from as many reads as it\n * takes: it fails with it. Without it, `assetMissing`.\n */\n assetGone?(row: UploadQueueItem): string\n }\n /**\n * `'load'`: this row may be given its metadata from the notification although it has failed. `undefined`: the\n * default rules. DAM: a mass-edit row its batch load left out.\n */\n metadataGate?(queueKey: UploadQueueKey, row: UploadQueueItem): 'load' | undefined\n hooks: {\n /** The row has reached a final state: count the queue again and start the next waiting upload. */\n onRowFinal(queueKey: UploadQueueKey, row: UploadQueueItem): void\n /** After every asset that was read (DAM: the main file for the open detail). */\n onAssetRead?(asset: AssetDetailItemDto): void\n /** A row with `settleOn: 'never'` has learnt its file is processed (an event, a tick or a manual read). */\n onProcessedSeen?(queueKey: UploadQueueKey, row: UploadQueueItem): void\n /** The row was given its metadata. */\n afterMetadataLoaded?(queueKey: UploadQueueKey, row: UploadQueueItem): void\n /**\n * Whether a refresh may still change a failed row, told whenever that changes. For a store that offers\n * refresh on a failed row only where it can help.\n *\n * `true`: the row is asked about although the client gave it up (`track(…, { clientFailed: true })`), or its\n * file is a duplicate whose original could not be read. `false`: the server has said what became of the file\n * (processed, failed, a duplicate that was settled), its asset is gone from as many reads as it takes, or the\n * store took the row out (`untrack`, `dropQueue`). A row never told `true` is never told `false`. Not called\n * by `dispose()`.\n */\n onRefreshMayHelp?(queueKey: UploadQueueKey, row: UploadQueueItem, mayHelp: boolean): void\n }\n connection: {\n /**\n * Whether notifications come for the rows of the queue `queueKey`: its poll is then only a backup. A profile\n * that keeps one state for all its queues may leave the queue unread.\n */\n isPushAlive(queueKey?: UploadQueueKey): boolean\n /** Called whenever that may have changed, for any queue. */\n onChange(callback: () => void): () => void\n }\n}\n\nexport interface UploadSettlementEvent {\n kind: 'processed' | 'failed' | 'duplicate' | 'metadata' | 'copied'\n assetId: DocId\n /** `event.data.id` */\n fileId: DocIdNullable\n failReason?: AssetFileFailReasonType\n originAssetFile?: DocIdNullable\n assetType?: DamAssetTypeType | null\n /** The DAM configurations the event is of, as on `UploadSettlementTarget`. Left out: every queue. */\n configNames?: string[]\n}\n\n/**\n * `settled`: the main file is in a final state, or its asset was missing once too often and its rows were given\n * up. `pending`: not yet. And what asking again may mend: `error`, the read failed; `missing`, the asset was not\n * found; `originalUnread`, a row is left without the original of its duplicate, which could not be read.\n */\nexport type UploadRefreshOutcome = 'settled' | 'pending' | 'error' | 'missing' | 'originalUnread'\n\n/** What a store uses. */\nexport interface UploadSettlement {\n /** The row began to wait for the server. A row that is not in the queue `queueKey` is ignored. */\n track(queueKey: UploadQueueKey, row: UploadQueueItem, options?: { clientFailed?: boolean }): void\n untrack(row: UploadQueueItem): void\n /** The queue was cleared: its poller is dropped. */\n dropQueue(queueKey: UploadQueueKey): void\n\n /** A notification. Resolves after the write (a delayed read included) or after a failed read; never rejects. */\n notify(event: UploadSettlementEvent): Promise<void>\n /**\n * The manual refresh: a read at once, with the metadata, without a hint. With `configOf` of the profile, a\n * configuration the target names whose queues have no row of the asset is not read (`settled`); of several, the\n * outcome first of `error`, `originalUnread`, `missing`, `pending`, `settled` that any of their reads had.\n */\n refreshAsset(target: UploadSettlementTarget): Promise<UploadRefreshOutcome>\n /** The caller knows the file is processed: a read at once, with the hint `processed`. */\n settleKnownProcessed(target: UploadSettlementTarget, options: { withMetadata: boolean }): Promise<void>\n /** A known duplicate without a read of the asset: the `duplicate` event, and a copy the licence already has. */\n settleKnownDuplicate(\n target: UploadSettlementTarget,\n originFileId: DocIdNullable,\n assetType: DamAssetTypeType | null\n ): Promise<void>\n /** A known failure, without a read. Synchronous. */\n settleKnownFailed(target: UploadSettlementTarget, failReason: AssetFileFailReasonType): void\n\n /**\n * The row failed by the read that was one too many to find no asset of it (the poll's, a notification's, a\n * refresh's), and the server has settled it by nothing else since.\n */\n isGivenUpMissing(row: UploadQueueItem): boolean\n hasTracked(): boolean\n dispose(): void\n}\n"],"mappings":";AAKA,IAAaA,IAAgB;CAC3B,QAAQ;CACR,MAAM;CACN,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB"}
1
+ {"version":3,"file":"uploadSettlementTypes.js","names":["UploadRowRole"],"sources":["../../../../../src/domains/dam/uploadQueue/settlement/uploadSettlementTypes.ts"],"sourcesContent":["import type { DocId, DocIdNullable, IntegerId } from '@/shared/types/common'\nimport type { AssetDetailItemDto, DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType, AssetFileNullable } from '@/domains/dam/types/AssetFile'\nimport type { UploadQueue, UploadQueueItem, UploadQueueKey } from '@/domains/dam/types/UploadQueue'\n\nexport const UploadRowRole = {\n Upload: 'upload',\n Slot: 'slot',\n MassEdit: 'massEdit',\n Copy: 'copy',\n ExternalImport: 'externalImport',\n} as const\nexport type UploadRowRoleType = (typeof UploadRowRole)[keyof typeof UploadRowRole]\n\nexport interface UploadSettlePolicy {\n /** How a tick reads the state of the row's file. `none`: the row is never tracked. */\n reader: 'asset' | 'slots' | 'none'\n /**\n * Applies to the `processed` state only.\n * `read`: uploaded only after a read; the event just starts the read.\n * `event`: the event state is written at once; the read completes the row.\n * `never`: `processed` does not change the row state (mass edit), it only completes\n * it. `failed` and `duplicate` apply to every row matching `matches(…, 'settle')`.\n */\n settleOn: 'read' | 'event' | 'never'\n duplicate: 'becomeOriginal' | 'markDuplicate'\n /** `load`: the row gets a form, and its metadata is loaded into it. */\n metadata: 'load' | 'none'\n}\n\nexport interface UploadSettlementTarget {\n assetId: DocId\n /** `null` when the caller does not know the file. */\n fileId: DocIdNullable\n /**\n * DAM configurations of the target. With `configOf`, rows in queues of other configurations are not concerned.\n * Omitted or empty: rows of every queue. Two DAMs may share an asset id.\n */\n configNames?: string[]\n}\n\n/** Per-request options a reader may honour. A reader that ignores them keeps its old behaviour. */\nexport interface UploadReadOptions {\n /**\n * Whether a failure of this request should be reported to the app error collector.\n * Polls and notifications retry while a row waits, so only the first failure of a streak is\n * `true`. An answered read ends the streak; with `configOf`, streaks are per configuration.\n * A streak starts only with a failure that was written down (`readers.failureReported`).\n * A 404 counts as such, so it is `true` at most once per row.\n * A user-requested refresh is always `true`.\n */\n report: boolean\n /**\n * The queue the read is for: the polled queue, or for notification\n * and refresh reads the queue of the first concerned row.\n * Lets a reader use the queue's configuration. Omitted when the read concerns no row.\n */\n queueKey?: UploadQueueKey\n}\n\nexport interface UploadSettlementProfile {\n /** Live view of the store's queues. The settlement keeps no rows and always asks. */\n queues(): Iterable<[UploadQueueKey, UploadQueue]>\n /**\n * DAM configuration of the queue. With it, named targets and\n * events concern only rows of their configurations' queues.\n * Each such read runs once per named configuration, through the queue of its first concerned\n * row, and writes only into those rows. A configuration with no row of the asset is not read.\n * Reads run sequentially per configuration, in parallel across configurations (unnamed reads get\n * their own lane), each with its own failure streak. Caches get the queue of the named rows.\n * Without it, every row of the asset is concerned, all reads share one lane and streak, and caches get no queue.\n */\n configOf?(queueKey: UploadQueueKey): string\n roleOf(row: UploadQueueItem): UploadRowRoleType\n policyFor(role: UploadRowRoleType): UploadSettlePolicy\n /**\n * `settle`: the row may get a new state. `decorate`: it may be completed without a state change.\n * `metadata`: it may get metadata from the metadata notification.\n */\n matches(row: UploadQueueItem, target: UploadSettlementTarget, purpose: 'settle' | 'decorate' | 'metadata'): boolean\n\n readers: {\n /** One asset; `null` when it does not exist (404). Throws only when the request fails. */\n asset(assetId: DocId, options?: UploadReadOptions): Promise<AssetDetailItemDto | null>\n /** Assets of one licence. The missing ones are not in the answer. An answer that is no list throws. */\n assets(licenceId: IntegerId, assetIds: DocId[], options?: UploadReadOptions): Promise<AssetDetailItemDto[]>\n /** DAM: the files of all the slots of an asset. An answer that is no list throws. */\n slotFiles?(assetId: DocId, options?: UploadReadOptions): Promise<AssetFileNullable[]>\n /**\n * LIB: the asset the original file of a duplicate belongs to. `queueKey`: of the first row that is to become it.\n */\n duplicateOriginAsset?(\n originFileId: DocId,\n options?: Pick<UploadReadOptions, 'queueKey'>\n ): Promise<AssetDetailItemDto>\n /** DAM: the original file of a duplicate, by its type. */\n duplicateOriginFile?(originFileId: DocId, assetType: DamAssetTypeType): Promise<AssetFileNullable>\n /**\n * Whether a failure of a read with `report: true` was written\n * down, judged by the thrown error, e.g. `apiErrorIsReported`.\n * If not (timeout, 401, 403), nobody was told and the next read may\n * report again. Without this, every failure counts as written down.\n */\n failureReported?(error: unknown): boolean\n }\n /**\n * `queueKey` is passed as the second argument only to a profile with `configOf`.\n * Wrap a `defineCached` `add`, which treats every argument as an id.\n * Such a profile is asked to fetch once per queue whose rows got\n * names since its last fetch. Without `configOf`, calls get no queue.\n */\n caches: {\n addAuthors(ids: DocId[], queueKey?: UploadQueueKey): void\n addKeywords(ids: DocId[], queueKey?: UploadQueueKey): void\n fetchAuthors(queueKey?: UploadQueueKey): void\n fetchKeywords(queueKey?: UploadQueueKey): void\n }\n messages: {\n processingTooLong(row: UploadQueueItem): string\n readFailed(row: UploadQueueItem): string\n assetMissing(row: UploadQueueItem): string\n /**\n * Fail text for an uploaded row without metadata whose asset\n * was missing from too many reads. Defaults to `assetMissing`.\n */\n assetGone?(row: UploadQueueItem): string\n }\n /**\n * `'load'`: the row may get metadata from the notification although it failed. `undefined`: default rules.\n * DAM: a mass-edit row its batch load left out.\n */\n metadataGate?(queueKey: UploadQueueKey, row: UploadQueueItem): 'load' | undefined\n hooks: {\n /** The row has reached a final state: count the queue again and start the next waiting upload. */\n onRowFinal(queueKey: UploadQueueKey, row: UploadQueueItem): void\n /** After every asset that was read (DAM: the main file for the open detail). */\n onAssetRead?(asset: AssetDetailItemDto): void\n /** A row with `settleOn: 'never'` has learnt its file is processed (an event, a tick or a manual read). */\n onProcessedSeen?(queueKey: UploadQueueKey, row: UploadQueueItem): void\n afterMetadataLoaded?(queueKey: UploadQueueKey, row: UploadQueueItem): void\n /**\n * Whether a refresh may still change a failed row; called when\n * that changes, for stores that offer refresh only where it helps.\n * `true`: tracked despite `clientFailed: true`, or a duplicate whose original could not be read.\n * `false`: the server settled the file, the asset was missing too\n * often, or the store removed the row (`untrack`, `dropQueue`).\n * Never `false` without a prior `true`. Not called by `dispose()`.\n */\n onRefreshMayHelp?(queueKey: UploadQueueKey, row: UploadQueueItem, mayHelp: boolean): void\n }\n connection: {\n /**\n * Whether notifications arrive for the queue's rows; the poll is then\n * only a backup. A profile with one shared state may ignore `queueKey`.\n */\n isPushAlive(queueKey?: UploadQueueKey): boolean\n /** Called whenever that may have changed, for any queue. */\n onChange(callback: () => void): () => void\n }\n}\n\nexport interface UploadSettlementEvent {\n kind: 'processed' | 'failed' | 'duplicate' | 'metadata' | 'copied'\n assetId: DocId\n /** `event.data.id` */\n fileId: DocIdNullable\n failReason?: AssetFileFailReasonType\n originAssetFile?: DocIdNullable\n assetType?: DamAssetTypeType | null\n /** DAM configurations of the event, as on `UploadSettlementTarget`. Omitted: every queue. */\n configNames?: string[]\n}\n\n/**\n * `settled`: the main file is final, or the asset was missing too often and its rows were given up. `pending`: not yet.\n * Retryable: `error` (read failed), `missing` (asset not found),\n * `originalUnread` (duplicate's original could not be read).\n */\nexport type UploadRefreshOutcome = 'settled' | 'pending' | 'error' | 'missing' | 'originalUnread'\n\nexport interface UploadSettlement {\n /** The row starts waiting for the server. Ignored if the row is not in `queueKey`. */\n track(queueKey: UploadQueueKey, row: UploadQueueItem, options?: { clientFailed?: boolean }): void\n untrack(row: UploadQueueItem): void\n /** The queue was cleared: its poller is dropped. */\n dropQueue(queueKey: UploadQueueKey): void\n\n /** A notification. Resolves after the write (a delayed read included) or after a failed read; never rejects. */\n notify(event: UploadSettlementEvent): Promise<void>\n /**\n * Manual refresh: an immediate read with metadata and no hint.\n * With `configOf`, a named configuration with no row of the asset is not read (`settled`). With several,\n * returns the first of `error`, `originalUnread`, `missing`, `pending`, `settled` any read had.\n */\n refreshAsset(target: UploadSettlementTarget): Promise<UploadRefreshOutcome>\n /** The caller knows the file is processed: a read at once, with the hint `processed`. */\n settleKnownProcessed(target: UploadSettlementTarget, options: { withMetadata: boolean }): Promise<void>\n /** Settles a known duplicate without reading the asset: the `duplicate` event, or a copy the licence already has. */\n settleKnownDuplicate(\n target: UploadSettlementTarget,\n originFileId: DocIdNullable,\n assetType: DamAssetTypeType | null\n ): Promise<void>\n /** A known failure, without a read. Synchronous. */\n settleKnownFailed(target: UploadSettlementTarget, failReason: AssetFileFailReasonType): void\n\n /** The row failed because too many reads found no asset, and the server has not settled it otherwise since. */\n isGivenUpMissing(row: UploadQueueItem): boolean\n hasTracked(): boolean\n dispose(): void\n}\n"],"mappings":";AAKA,IAAaA,IAAgB;CAC3B,QAAQ;CACR,MAAM;CACN,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB"}
@@ -3,23 +3,23 @@ import { DocId, DocIdNullable, IntegerId } from '../../../../shared/types/common
3
3
  import { AssetDetailItemDto, DamAssetTypeType } from '../../types/Asset';
4
4
  import { AssetFileFailReasonType } from '../../types/AssetFile';
5
5
  import { UploadQueue, UploadQueueItem, UploadQueueKey } from '../../types/UploadQueue';
6
- /** The fields of a row the user edits, and the save of a detail writes. */
6
+ /** Fields the user edits and a detail save writes. */
7
7
  export interface EditableFields {
8
8
  keywords: DocId[];
9
9
  authors: DocId[];
10
10
  customData: UploadQueueItem['customData'];
11
11
  mainFileSingleUse: boolean | null | undefined;
12
12
  }
13
- /** The rows of an asset as they were at a moment, field by field (`noteRowsOfAsset`). */
13
+ /** Field-by-field snapshot of an asset's rows (`noteRowsOfAsset`). */
14
14
  export interface RowsNote {
15
15
  assetId: DocId;
16
- /** The DAM configuration of the queues the rows are in. */
16
+ /** DAM configuration of the queues the rows are in. */
17
17
  configName: string;
18
18
  rows: Map<UploadQueueItem, EditableFields>;
19
19
  }
20
20
  /**
21
- * The rows a settle function of the store is for: those of the queues of the DAM configuration of this name, or of
22
- * the configuration of the queue `queueKey`. Required: two DAMs may give one asset id.
21
+ * Which rows a settle function targets: queues of the named DAM configuration, or of the configuration of `queueKey`.
22
+ * Required because two DAMs may share an asset id.
23
23
  */
24
24
  export type UploadQueueRowsOf = string | {
25
25
  queueKey: UploadQueueKey;
@@ -35,12 +35,11 @@ export declare const useUploadQueuesStore: import('pinia').SetupStoreDefinition<
35
35
  queueItemFailed: (assetId: DocId, failReason: AssetFileFailReasonType, of: UploadQueueRowsOf) => Promise<void>;
36
36
  refreshAsset: (assetId: DocId, of: UploadQueueRowsOf) => Promise<UploadRefreshOutcome>;
37
37
  /**
38
- * Whether a refresh may still change a failed row: its finish request went out before the client gave it up and
39
- * the server has said nothing final about it since, or its file is a duplicate whose original could not be
40
- * read. A row that failed otherwise has no use for refresh.
38
+ * Whether a refresh may still change a failed row. True when its finish request went out before the client gave
39
+ * up and the server has said nothing final since, or when it is a duplicate whose original could not be read.
41
40
  */
42
41
  refreshMayHelp: (item: UploadQueueItem) => boolean;
43
- /** The row failed because its asset was missing from as many reads as it takes ("Asset už neexistuje."). */
42
+ /** The row failed because its asset was missing from enough reads ("Asset už neexistuje."). */
44
43
  isGivenUpMissing: (item: UploadQueueItem) => boolean;
45
44
  removeByIndex: (queueKey: UploadQueueKey, index: number) => void;
46
45
  stopItemUpload: (queueKey: UploadQueueKey, queueItem: UploadQueueItem, _index?: number) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"uploadQueuesStore.js","names":["editableFieldsOf","cloneDeep","item","sameValue","one","other","writeUnchanged","kept","unchanged","was","field","saved","customData","now","then","key","isUndefined","takeWrite","entry","note","written","noted","useUploadQueuesStore","defineStore","queues","ref","useUploadQueueItemFactory","configNames","configOf","queueKey","damOf","useCommonAdminCoreDamOptions","profile","row","UploadQueueItemType","UploadRowRole","target","options","fetchAsset","damClient","endPointAsset","assetId","error","apiErrorStatus","fetchAssetListByIds","assetIds","licenceId","failure","answer","isArray","url","context","SYSTEM_CORE_DAM","ENTITY","requestedUrl","AnzuApiResponseCodeError","report","mapApiError","fetchAssetByFileId","originFileId","apiErrorIsReported","useDamCachedAuthors","ids","useDamCachedKeywords","commonT","useDamNotificationsConnection","core","createUploadQueueCore","libraryQueuePreset","addRowUnder","known","configName","storeScope","getCurrentScope","toSettlementEvent","event","DamNotificationName","useDamNotifications","listening","listenToNotifications","listen","addDamNotificationListener","settlementEvent","origin","settlement","addByCopyToLicence","useDamConfigState","configExtSystem","getDamConfigExtSystem","extSystem","assets","queueItem","createDefault","UploadQueueItemStatus","DamAssetType","UPLOAD_QUEUE_ITEM_CHUNK_SIZE","assetLicence","added","addByFiles","file","files","type","getAssetTypeByMimeType","damFileTypeFix","targetOf","isString","of","queueItemProcessed","queueItemFullyProcessed","queueItemDuplicate","originAssetFile","assetType","queueItemFailed","failReason","refreshAsset","stopItemUpload","detailWrites","detailWriteKey","lastDetailWrite","openNotes","noteRowsOfAsset","rows","queue","forgetRowsNote","othersTakeWrite","own","updateFromDetail","useAssetSuggestions","dam","queuesOfConfig","asset","rowsAtSave","before","turn","writeKey","isLatest","assetRes","updateNewNames","getAuthorConflicts","addToCachedKeywords","addToCachedAuthors","fetchCachedAuthors","fetchCachedKeywords","mainFileSingleUse"],"sources":["../../../../../src/domains/dam/uploadQueue/store/uploadQueuesStore.ts"],"sourcesContent":["import { requestedUrl } from '@/domains/api/composables/request'\nimport { apiErrorIsReported, apiErrorStatus, mapApiError, report } from '@/domains/api/utils/apiErrors'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { ENTITY, fetchAsset, fetchAssetByFileId, fetchAssetListByIds } from '@/domains/dam/api/damAssetApi'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport { useDamCachedAuthors } from '@/domains/dam/author/composables/cachedAuthors'\nimport { useUploadQueueItemFactory } from '@/domains/dam/uploadQueue/factory/UploadQueueItemFactory'\nimport { useAssetSuggestions } from '@/domains/dam/uploadQueue/composables/assetSuggestions'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useDamNotifications } from '@/domains/dam/composables/damNotifications'\nimport { useDamNotificationsConnection } from '@/domains/dam/composables/damNotificationsConnection'\nimport { type DamNotification, DamNotificationName } from '@/domains/dam/composables/damNotificationsEventBus'\nimport { getAssetTypeByMimeType } from '@/domains/dam/uploadQueue/utils/mimeTypeHelper'\nimport { createUploadQueueCore, UPLOAD_QUEUE_ITEM_CHUNK_SIZE } from '@/domains/dam/uploadQueue/core/uploadQueueCore'\nimport type { UploadQueueSettlementProfile } from '@/domains/dam/uploadQueue/core/uploadQueueCoreTypes'\nimport { libraryQueuePreset } from '@/domains/dam/uploadQueue/presets/queuePresets'\nimport {\n type UploadReadOptions,\n type UploadRefreshOutcome,\n UploadRowRole,\n type UploadSettlementEvent,\n} from '@/domains/dam/uploadQueue/settlement/uploadSettlementTypes'\nimport { useDamCachedKeywords } from '@/domains/dam/keyword/composables/cachedKeywords'\nimport { damFileTypeFix } from '@/domains/ui/file/utils/fileType'\nimport type { AxiosRequestConfig } from 'axios'\nimport type { DocId, DocIdNullable, IntegerId } from '@/shared/types/common'\nimport { type AssetDetailItemDto, DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType } from '@/domains/dam/types/AssetFile'\nimport {\n type UploadQueue,\n type UploadQueueItem,\n UploadQueueItemStatus,\n UploadQueueItemType,\n type UploadQueueKey,\n} from '@/domains/dam/types/UploadQueue'\nimport { AnzuApiResponseCodeError } from '@/shared/error/AnzuApiResponseCodeError'\nimport { cloneDeep, isArray, isString, isUndefined } from '@/shared/utils/common'\nimport { commonT } from '@/plugins/i18n'\nimport { defineStore } from 'pinia'\nimport { getCurrentScope, ref } from 'vue'\n\n/** The fields of a row the user edits, and the save of a detail writes. */\nexport interface EditableFields {\n keywords: DocId[]\n authors: DocId[]\n customData: UploadQueueItem['customData']\n mainFileSingleUse: boolean | null | undefined\n}\n\nconst editableFieldsOf = (item: UploadQueueItem): EditableFields =>\n cloneDeep({\n keywords: item.keywords,\n authors: item.authors,\n customData: item.customData,\n mainFileSingleUse: item.mainFileSingleUse,\n })\n\nconst sameValue = (one: unknown, other: unknown) => JSON.stringify(one) === JSON.stringify(other)\n\n/** The rows of an asset as they were at a moment, field by field (`noteRowsOfAsset`). */\nexport interface RowsNote {\n assetId: DocId\n /** The DAM configuration of the queues the rows are in. */\n configName: string\n rows: Map<UploadQueueItem, EditableFields>\n}\n\n/**\n * The rows a settle function of the store is for: those of the queues of the DAM configuration of this name, or of\n * the configuration of the queue `queueKey`. Required: two DAMs may give one asset id.\n */\nexport type UploadQueueRowsOf = string | { queueKey: UploadQueueKey }\n\n/** What a write left as the user had changed it: those fields, and those keys of the custom data. */\ninterface KeptByWrite {\n fields: Set<'keywords' | 'authors' | 'mainFileSingleUse'>\n customKeys: Set<string>\n}\n\n/**\n * What the detail saved, into a row of its asset, each copy the row's own: a field the user has changed since `was`\n * (the row as the save was pressed) keeps what the user gave it, a field of the custom data each on its own. A row\n * `was` does not know (it became a row of the asset meanwhile) takes all. `mainFileSingleUse` undefined: left as is.\n * Answers what it kept.\n */\nconst writeUnchanged = (item: UploadQueueItem, was: EditableFields | undefined, saved: EditableFields) => {\n const kept: KeptByWrite = { fields: new Set(), customKeys: new Set() }\n const unchanged = (field: 'keywords' | 'authors' | 'mainFileSingleUse') => {\n if (!was || sameValue(item[field], was[field])) return true\n kept.fields.add(field)\n return false\n }\n if (unchanged('keywords')) item.keywords = [...saved.keywords]\n if (unchanged('authors')) item.authors = [...saved.authors]\n const customData = cloneDeep(saved.customData)\n if (was && customData) {\n const now = item.customData ?? {}\n const then = was.customData ?? {}\n new Set([...Object.keys(now), ...Object.keys(then)]).forEach((key) => {\n if (sameValue(now[key], then[key])) return\n kept.customKeys.add(key)\n if (key in now) customData[key] = cloneDeep(now[key])\n else delete customData[key]\n })\n }\n item.customData = customData\n if (isUndefined(saved.mainFileSingleUse)) kept.fields.add('mainFileSingleUse')\n else if (unchanged('mainFileSingleUse')) item.mainFileSingleUse = saved.mainFileSingleUse\n return kept\n}\n\n/**\n * Another note of the rows, of a save of the same asset still on its way, takes what a write has just put into `item`:\n * that is no change of the user's, and the later write takes its place. Taken as the user's, the later save kept the\n * values of the earlier one.\n */\nconst takeWrite = (note: RowsNote, item: UploadQueueItem, kept: KeptByWrite) => {\n const entry = note.rows.get(item)\n if (!entry) return\n if (!kept.fields.has('keywords')) entry.keywords = [...item.keywords]\n if (!kept.fields.has('authors')) entry.authors = [...item.authors]\n if (!kept.fields.has('mainFileSingleUse')) entry.mainFileSingleUse = item.mainFileSingleUse\n const written = item.customData ?? {}\n const noted = (entry.customData = { ...entry.customData })\n new Set([...Object.keys(written), ...Object.keys(noted)]).forEach((key) => {\n if (kept.customKeys.has(key)) return\n if (key in written) noted[key] = cloneDeep(written[key])\n else delete noted[key]\n })\n}\n\nexport const useUploadQueuesStore = defineStore('commonAdminUploadQueuesStore', () => {\n const queues = ref<Map<UploadQueueKey, UploadQueue>>(new Map())\n\n const { createDefault } = useUploadQueueItemFactory()\n\n // The DAM configuration each queue was made under: its files are sent, and its rows asked about, by the client\n // and at the addresses of that configuration. A queue the store was given no name for is under `default`.\n const configNames = new Map<UploadQueueKey, string>()\n const configOf = (queueKey?: UploadQueueKey) =>\n (isUndefined(queueKey) ? undefined : configNames.get(queueKey)) ?? 'default'\n // Read when a request is made, by the queue it is for.\n const damOf = (queueKey?: UploadQueueKey) => useCommonAdminCoreDamOptions(configOf(queueKey))\n\n // The poll asks for as long as a row waits: the settlement says of each of its requests whether a failure of it\n // is the first of a streak, and only that one is reported.\n\n // An asset that does not exist is an answer, which the settlement counts; anything else is a read that failed.\n const readAsset = async (assetId: DocId, options?: UploadReadOptions) => {\n const { damClient, endPointAsset } = damOf(options?.queueKey)\n try {\n // Called as ever unless it is to be quiet.\n return options?.report === false\n ? await fetchAsset(damClient, endPointAsset, assetId, { report: false })\n : await fetchAsset(damClient, endPointAsset, assetId)\n } catch (error) {\n if (apiErrorStatus(error) === 404) return null\n throw error\n }\n }\n\n // The list goes to the client as it is, and reports nothing by itself. A failure it reports is thrown as it was\n // reported: the settlement asks it whether it was written down.\n const readAssets = async (licenceId: IntegerId, assetIds: DocId[], options?: UploadReadOptions) => {\n const { damClient, endPointAsset } = damOf(options?.queueKey)\n try {\n return await fetchAssetListByIds(damClient, endPointAsset, assetIds, licenceId)\n } catch (failure) {\n if (options?.report) {\n // An answer that carries no list of assets is rejected as the answers themselves.\n const answer = isArray<{ status?: number; config?: AxiosRequestConfig }>(failure) ? failure.at(-1) : undefined\n const url = `${endPointAsset}/licence/${licenceId}/ids/${assetIds.join(',')}`\n const context = {\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n // As the request went out, with the address of the client, when axios has kept it.\n url: requestedUrl(damClient, url, {}, failure, answer?.config),\n }\n const error = isArray(failure) ? new AnzuApiResponseCodeError(answer?.status ?? 0) : failure\n throw report(mapApiError(error, context), context)\n }\n throw failure\n }\n }\n\n // What becomes of a row once its file is with the server: the poll of its queue, the notifications and the\n // refresh button all go through here. The core counts the queue and starts the next row after a final state, and\n // keeps the failed rows a refresh may still change.\n const profile: UploadQueueSettlementProfile = {\n roleOf: (row) => (row.type === UploadQueueItemType.Asset ? UploadRowRole.Copy : UploadRowRole.Upload),\n policyFor: () => ({ reader: 'asset', settleOn: 'read', duplicate: 'becomeOriginal', metadata: 'load' }),\n // By the asset alone, whatever the file an event names.\n matches: (row, target) => row.assetId === target.assetId,\n readers: {\n asset: readAsset,\n assets: readAssets,\n duplicateOriginAsset: async (originFileId, options) => {\n const { damClient, endPointAsset } = damOf(options?.queueKey)\n return fetchAssetByFileId(damClient, endPointAsset, originFileId)\n },\n failureReported: apiErrorIsReported,\n },\n // Two DAMs may give one asset id: what concerns the rows of a configuration is settled in its queues alone.\n configOf,\n // The names of the rows of a queue are of the DAM of its configuration.\n caches: {\n addAuthors: (ids, queueKey) => useDamCachedAuthors(configOf(queueKey)).addToCachedAuthors(ids),\n addKeywords: (ids, queueKey) => useDamCachedKeywords(configOf(queueKey)).addToCachedKeywords(ids),\n fetchAuthors: (queueKey) => useDamCachedAuthors(configOf(queueKey)).fetchCachedAuthors(),\n fetchKeywords: (queueKey) => useDamCachedKeywords(configOf(queueKey)).fetchCachedKeywords(),\n },\n messages: {\n processingTooLong: () => commonT('common.damImage.uploadErrors.processingTooLong'),\n readFailed: () => commonT('common.damImage.uploadErrors.readFailed'),\n assetMissing: () => commonT('common.damImage.uploadErrors.unknownError'),\n assetGone: () => commonT('common.damImage.queueItem.assetGone'),\n },\n // The socket of the configuration of the queue: a configuration without one is polled for densely.\n connection: {\n isPushAlive: (queueKey) => useDamNotificationsConnection(configOf(queueKey)).isPushAlive(),\n onChange: useDamNotificationsConnection().onChange,\n },\n }\n\n // Every row of this store is uploaded through the library's upload service. Made in the scope of the store: a\n // store disposed of leaves no timer of a poll, no listener for the tab or for the socket.\n const core = createUploadQueueCore(libraryQueuePreset({ queues, settlement: profile, configOf }))\n const { settlement } = core\n\n // The key of a queue is one widget's, and so of one configuration: a queue that has rows takes none under another\n // name. Refused, not sent under the name the queue has: that is not where the caller said. The queue is named\n // with its row, and nothing is awaited between the two: of two adds that overlap, the one whose row is in the\n // queue first has named it. The row starts at once, under that name.\n function addRowUnder(queueKey: UploadQueueKey, configName: string, item: UploadQueueItem) {\n const known = configNames.get(queueKey)\n if (!isUndefined(known) && known !== configName && core.getQueueItems(queueKey).length > 0) {\n throw new Error(\n `useUploadQueuesStore: the queue \"${queueKey}\" has rows under the DAM configuration \"${known}\", none is added under \"${configName}\".`\n )\n }\n configNames.set(queueKey, configName)\n core.addRow(queueKey, item)\n }\n\n const storeScope = getCurrentScope()\n\n // Without the file a notification names: the rows are matched by their asset alone, and a read asked for\n // about a file that is not the main one would take the state of that file from the notification unchecked.\n // `configNames`: the configurations of the socket it came through, whose queues alone it concerns.\n const toSettlementEvent = (event: DamNotification, configNames: string[]): UploadSettlementEvent | null => {\n switch (event.name) {\n case DamNotificationName.AssetFileProcessed:\n return { kind: 'processed', assetId: event.data.asset, fileId: null, configNames }\n case DamNotificationName.AssetFileFailed:\n return {\n kind: 'failed',\n assetId: event.data.asset,\n fileId: null,\n failReason: event.data.failReason,\n configNames,\n }\n case DamNotificationName.AssetFileDuplicate:\n return {\n kind: 'duplicate',\n assetId: event.data.asset,\n fileId: null,\n originAssetFile: event.data.originAssetFile,\n assetType: event.data.assetType,\n configNames,\n }\n case DamNotificationName.AssetMetadataProcessed:\n return { kind: 'metadata', assetId: event.data.asset, fileId: null, configNames }\n case DamNotificationName.AssetFileCopied:\n return { kind: 'copied', assetId: event.data.asset, fileId: null, configNames }\n }\n return null\n }\n\n const { addDamNotificationListener } = useDamNotifications()\n // With its first row, not with the store: an application with a queue store of its own keeps this one alive\n // too, and both would answer every notification. Never taken back.\n let listening = false\n function listenToNotifications() {\n if (listening) return\n listening = true\n // Every socket of the page: an event concerns the rows of the queues of the configurations of its socket.\n const listen = () =>\n addDamNotificationListener(\n (event, origin) => {\n const settlementEvent = toSettlementEvent(event, origin)\n // Not awaited: the read it asks for comes later.\n if (settlementEvent) void settlement.notify(settlementEvent)\n },\n { all: true }\n )\n // In the scope of the store, as when the store itself subscribed. The first row is added from a component, and\n // a listener added in the scope of that component would go with it.\n if (storeScope) storeScope.run(listen)\n else listen()\n }\n\n async function addByCopyToLicence(\n queueKey: UploadQueueKey,\n extSystem: IntegerId,\n assetLicence: IntegerId,\n assets: DocId[],\n configName: string\n ) {\n // Thrown here for a configuration the application has not got, before anything is done for it: its DAM\n // configuration store is not made either.\n useCommonAdminCoreDamOptions(configName)\n const { getDamConfigExtSystem } = useDamConfigState(undefined, configName)\n\n const configExtSystem = getDamConfigExtSystem(extSystem)\n if (isUndefined(configExtSystem)) {\n throw new Error('useUploadQueuesStore.addByCopyToLicence: Ext system must be initialised.')\n }\n listenToNotifications()\n for (const assetId of assets) {\n const queueItem = createDefault(\n core.uniqueKey('asset_' + assetId),\n UploadQueueItemType.Asset,\n UploadQueueItemStatus.Processing,\n DamAssetType.Image, // only image now\n UPLOAD_QUEUE_ITEM_CHUNK_SIZE,\n assetLicence\n )\n queueItem.assetId = assetId\n addRowUnder(queueKey, configName, queueItem)\n // Nothing is uploaded here: the copy waits for the server from the start.\n const added = core.getQueueItems(queueKey).at(-1)\n if (added) core.track(queueKey, added)\n }\n }\n\n async function addByFiles(\n queueKey: UploadQueueKey,\n extSystem: IntegerId,\n assetLicence: IntegerId,\n files: File[],\n configName: string\n ) {\n // Thrown here for a configuration the application has not got, before anything is done for it: its DAM\n // configuration store is not made either.\n useCommonAdminCoreDamOptions(configName)\n const { getDamConfigExtSystem } = useDamConfigState(undefined, configName)\n\n const configExtSystem = getDamConfigExtSystem(extSystem)\n if (isUndefined(configExtSystem)) {\n throw new Error('useUploadQueuesStore.addByFiles: Ext system must be initialised.')\n }\n listenToNotifications()\n for await (const file of files) {\n const type = getAssetTypeByMimeType(damFileTypeFix(file), configExtSystem)\n if (!type || type !== DamAssetType.Image) continue // only image now\n const queueItem = createDefault(\n core.uniqueKey('file_' + file.name),\n UploadQueueItemType.File,\n UploadQueueItemStatus.Waiting,\n type,\n UPLOAD_QUEUE_ITEM_CHUNK_SIZE,\n assetLicence\n )\n queueItem.file = file\n queueItem.displayTitle = file.name\n addRowUnder(queueKey, configName, queueItem)\n }\n }\n\n // The names of before the settlement, kept for their callers until the queues are unified. `of`: whose rows they\n // settle, read by the client of that configuration.\n\n const targetOf = (assetId: DocId, of: UploadQueueRowsOf) => ({\n assetId,\n fileId: null,\n configNames: [isString(of) ? of : configOf(of.queueKey)],\n })\n\n function queueItemProcessed(assetId: DocId, of: UploadQueueRowsOf) {\n return settlement.notify({ kind: 'processed', ...targetOf(assetId, of) })\n }\n\n function queueItemFullyProcessed(assetId: DocId, of: UploadQueueRowsOf) {\n return settlement.settleKnownProcessed(targetOf(assetId, of), { withMetadata: true })\n }\n\n function queueItemDuplicate(\n assetId: DocId,\n originAssetFile: DocIdNullable,\n assetType: DamAssetTypeType | null,\n of: UploadQueueRowsOf\n ) {\n return settlement.settleKnownDuplicate(targetOf(assetId, of), originAssetFile, assetType)\n }\n\n async function queueItemFailed(assetId: DocId, failReason: AssetFileFailReasonType, of: UploadQueueRowsOf) {\n settlement.settleKnownFailed(targetOf(assetId, of), failReason)\n }\n\n /** The refresh button of a row: asks what became of the file now, and settles the rows of the asset by it. */\n function refreshAsset(assetId: DocId, of: UploadQueueRowsOf): Promise<UploadRefreshOutcome> {\n return settlement.refreshAsset(targetOf(assetId, of))\n }\n\n async function stopItemUpload(queueKey: UploadQueueKey, queueItem: UploadQueueItem, _index?: number) {\n core.stopItemUpload(queueKey, queueItem)\n }\n\n // The writes of saves of a detail of an asset on their way, counted by the configuration and the asset: only the\n // latest one writes. Two that overlapped left the rows with the values of whichever read answered last, and the\n // later save, with the notes of its own, kept the values of the earlier one as typed meanwhile. Two DAMs may give one\n // asset id: the saves under two configurations are of two assets.\n const detailWrites = new Map<string, number>()\n const detailWriteKey = (configName: string, assetId: DocId) => `${configName}\\u0000${assetId}`\n // The numbers of those writes, one count for every asset: a number is never given twice, also once the write of an\n // asset that had it is over. Counted by the asset, the third save after two that had ended took the number of the\n // first, and the late read of the first wrote while the third was on its way.\n let lastDetailWrite = 0\n\n // The notes of the rows of saves of a detail that are on their way: a write takes its place in the others.\n const openNotes = new Set<RowsNote>()\n\n /**\n * The rows of the asset `assetId` as they are, in every queue of the DAM configuration `configName`, field by field:\n * taken as the save of a detail of that asset is pressed, and handed to `updateFromDetail` once it has been\n * answered, or to `forgetRowsNote` once it has failed.\n */\n function noteRowsOfAsset(assetId: DocId, configName: string): RowsNote {\n const rows = new Map<UploadQueueItem, EditableFields>()\n queues.value.forEach((queue, queueKey) => {\n if (configOf(queueKey) !== configName) return\n queue.items.forEach((item) => {\n if (item.assetId === assetId && item.type) rows.set(item, editableFieldsOf(item))\n })\n })\n const note = { assetId, configName, rows }\n openNotes.add(note)\n return note\n }\n\n /** The save the note was taken for has failed: nothing writes by it. */\n function forgetRowsNote(note: RowsNote) {\n openNotes.delete(note)\n }\n\n /**\n * `kept`: what the write into `item` left as the user had it; every other note of that asset, of that configuration,\n * takes the rest.\n */\n const othersTakeWrite = (own: RowsNote, item: UploadQueueItem, kept: KeptByWrite) => {\n openNotes.forEach((note) => {\n if (note === own || note.assetId !== own.assetId) return\n if (note.configName === own.configName) takeWrite(note, item, kept)\n })\n }\n\n /**\n * `configName`: the DAM configuration the detail was saved under; only the rows of the\n * queues of that configuration are written, and their names go to its caches. `mainFileSingleUse`: the switch the\n * detail saved with the asset, which keeps it apart from the asset it hands over. `rowsAtSave`: the rows of the asset\n * as the save was pressed (`noteRowsOfAsset`); as they are now where not given. A field of a row the user has changed\n * since keeps what the user gave it (a field of the custom data each on its own): only the fields as they were then\n * take what the detail saved. What was typed into the row meanwhile was replaced. Of two writes of one asset under\n * one configuration on their way at once, only the later one writes.\n */\n async function updateFromDetail(\n asset: AssetDetailItemDto,\n configName: string,\n mainFileSingleUse?: boolean | null,\n rowsAtSave?: RowsNote\n ) {\n const { updateNewNames, getAuthorConflicts } = useAssetSuggestions()\n let dam: ReturnType<typeof useCommonAdminCoreDamOptions>\n try {\n dam = useCommonAdminCoreDamOptions(configName)\n } catch (e) {\n // The application has no configuration of that name: the rows are left alone, in silence, as ever.\n return\n }\n const { addToCachedKeywords, fetchCachedKeywords } = useDamCachedKeywords(configName)\n const { addToCachedAuthors, fetchCachedAuthors } = useDamCachedAuthors(configName)\n // The queues of the configuration: another DAM may have an asset of that id.\n const queuesOfConfig = () =>\n Array.from(queues.value.entries()).filter(([queueKey]) => configOf(queueKey) === configName)\n // The detail goes on telling the queue once it was opened from a row, also of an asset no queue holds a row of:\n // there is nothing to write then, and its save would wait for the read in vain.\n const rows = queuesOfConfig().flatMap(([, queue]) => queue.items)\n const isRowOfAsset = (item: UploadQueueItem) => item.assetId === asset.id && !!item.type\n // A row whose file the server is processing may become a row of the asset while it is read: one whose file turns\n // out to be a duplicate of the file of the asset becomes the original of that duplicate. It gets the write as any\n // row of the asset: the asset was not read at all while no row had it yet. The DAM finds a duplicate within the\n // licence of the file only: a row of another licence never becomes a row of the asset.\n const mayBecomeRowOfAsset = (item: UploadQueueItem) =>\n !!item.type && item.status === UploadQueueItemStatus.Processing && item.licenceId === asset.licence\n if (!rows.some(isRowOfAsset) && !rows.some(mayBecomeRowOfAsset)) {\n if (rowsAtSave) forgetRowsNote(rowsAtSave)\n return\n }\n const note = rowsAtSave ?? noteRowsOfAsset(asset.id, configName)\n const before = note.rows\n const turn = ++lastDetailWrite\n const writeKey = detailWriteKey(configName, asset.id)\n detailWrites.set(writeKey, turn)\n // A later save of the detail of the asset under the configuration has begun its write since: that one writes.\n const isLatest = () => detailWrites.get(writeKey) === turn\n try {\n const assetRes = await fetchAsset(dam.damClient, dam.endPointAsset, asset.id)\n if (!isLatest()) return\n // One answer for the rows of the asset in every queue of the configuration: each gets copies of its own, or a fill\n // of a custom field in one queue (it writes into the custom data in place) would change the row of another, and\n // that queue would send it with its next save.\n queuesOfConfig().forEach(([queueKey, queue]) => {\n queue.items.forEach((item) => {\n if (item.assetId === assetRes.id && item.type) {\n // The detail saves the switch too: left as it was, the next save of the queue would send the old value.\n const kept = writeUnchanged(item, before.get(item), {\n keywords: assetRes.keywords,\n authors: assetRes.authors,\n customData: assetRes.metadata.customData,\n mainFileSingleUse: assetRes.mainFileSingleUse,\n })\n othersTakeWrite(note, item, kept)\n updateNewNames(assetRes.metadata.authorSuggestions, queue.suggestions.newAuthorNames)\n updateNewNames(assetRes.metadata.keywordSuggestions, queue.suggestions.newKeywordNames)\n item.authorConflicts = getAuthorConflicts(assetRes.metadata.authorSuggestions)\n addToCachedKeywords(item.keywords)\n addToCachedAuthors(item.authors)\n addToCachedAuthors(item.authorConflicts)\n }\n })\n core.recalculateQueueCounts(queueKey)\n fetchCachedAuthors()\n fetchCachedKeywords()\n })\n } catch (e) {\n if (!isLatest()) return\n // The detail is saved all the same: left as they were, the rows would send their old values with the next save\n // of the queue, over what the detail has just saved. Each row gets copies of its own, not the lists of the\n // detail. The suggestions are the server's to say, and stay as the rows have them.\n queuesOfConfig().forEach(([, queue]) => {\n queue.items.forEach((item) => {\n if (item.assetId === asset.id && item.type) {\n const kept = writeUnchanged(item, before.get(item), {\n keywords: asset.keywords,\n authors: asset.authors,\n customData: asset.metadata.customData,\n mainFileSingleUse: isUndefined(mainFileSingleUse) ? undefined : mainFileSingleUse,\n })\n othersTakeWrite(note, item, kept)\n addToCachedKeywords(item.keywords)\n addToCachedAuthors(item.authors)\n }\n })\n })\n fetchCachedAuthors()\n fetchCachedKeywords()\n } finally {\n forgetRowsNote(note)\n if (isLatest()) detailWrites.delete(writeKey)\n }\n }\n\n return {\n getQueue: core.getQueue,\n getQueueItems: core.getQueueItems,\n addByFiles,\n addByCopyToLicence,\n queueItemProcessed,\n queueItemFullyProcessed,\n queueItemDuplicate,\n queueItemFailed,\n refreshAsset,\n /**\n * Whether a refresh may still change a failed row: its finish request went out before the client gave it up and\n * the server has said nothing final about it since, or its file is a duplicate whose original could not be\n * read. A row that failed otherwise has no use for refresh.\n */\n refreshMayHelp: core.refreshMayHelp,\n /** The row failed because its asset was missing from as many reads as it takes (\"Asset už neexistuje.\"). */\n isGivenUpMissing: (item: UploadQueueItem) => settlement.isGivenUpMissing(item),\n removeByIndex: core.removeByIndex,\n stopItemUpload,\n getQueueTotalCount: core.getQueueTotalCount,\n getQueueProcessedCount: core.getQueueProcessedCount,\n stopUpload: core.stopUpload,\n getQueueItemsTypes: core.getQueueItemsTypes,\n updateFromDetail,\n noteRowsOfAsset,\n forgetRowsNote,\n forceReloadFileInput: core.forceReloadFileInput,\n }\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"uploadQueuesStore.js","names":["editableFieldsOf","cloneDeep","item","sameValue","one","other","writeUnchanged","kept","unchanged","was","field","saved","customData","now","then","key","isUndefined","takeWrite","entry","note","written","noted","useUploadQueuesStore","defineStore","queues","ref","useUploadQueueItemFactory","configNames","configOf","queueKey","damOf","useCommonAdminCoreDamOptions","profile","row","UploadQueueItemType","UploadRowRole","target","options","fetchAsset","damClient","endPointAsset","assetId","error","apiErrorStatus","fetchAssetListByIds","assetIds","licenceId","failure","answer","isArray","url","context","SYSTEM_CORE_DAM","ENTITY","requestedUrl","AnzuApiResponseCodeError","report","mapApiError","fetchAssetByFileId","originFileId","apiErrorIsReported","useDamCachedAuthors","ids","useDamCachedKeywords","commonT","useDamNotificationsConnection","core","createUploadQueueCore","libraryQueuePreset","addRowUnder","known","configName","storeScope","getCurrentScope","toSettlementEvent","event","DamNotificationName","useDamNotifications","listening","listenToNotifications","listen","addDamNotificationListener","settlementEvent","origin","settlement","addByCopyToLicence","useDamConfigState","configExtSystem","getDamConfigExtSystem","extSystem","assets","queueItem","createDefault","UploadQueueItemStatus","DamAssetType","UPLOAD_QUEUE_ITEM_CHUNK_SIZE","assetLicence","added","addByFiles","file","files","type","getAssetTypeByMimeType","damFileTypeFix","targetOf","isString","of","queueItemProcessed","queueItemFullyProcessed","queueItemDuplicate","originAssetFile","assetType","queueItemFailed","failReason","refreshAsset","stopItemUpload","detailWrites","detailWriteKey","lastDetailWrite","openNotes","noteRowsOfAsset","rows","queue","forgetRowsNote","othersTakeWrite","own","updateFromDetail","useAssetSuggestions","dam","queuesOfConfig","asset","rowsAtSave","before","turn","writeKey","isLatest","assetRes","updateNewNames","getAuthorConflicts","addToCachedKeywords","addToCachedAuthors","fetchCachedAuthors","fetchCachedKeywords","mainFileSingleUse"],"sources":["../../../../../src/domains/dam/uploadQueue/store/uploadQueuesStore.ts"],"sourcesContent":["import { requestedUrl } from '@/domains/api/composables/request'\nimport { apiErrorIsReported, apiErrorStatus, mapApiError, report } from '@/domains/api/utils/apiErrors'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { ENTITY, fetchAsset, fetchAssetByFileId, fetchAssetListByIds } from '@/domains/dam/api/damAssetApi'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport { useDamCachedAuthors } from '@/domains/dam/author/composables/cachedAuthors'\nimport { useUploadQueueItemFactory } from '@/domains/dam/uploadQueue/factory/UploadQueueItemFactory'\nimport { useAssetSuggestions } from '@/domains/dam/uploadQueue/composables/assetSuggestions'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useDamNotifications } from '@/domains/dam/composables/damNotifications'\nimport { useDamNotificationsConnection } from '@/domains/dam/composables/damNotificationsConnection'\nimport { type DamNotification, DamNotificationName } from '@/domains/dam/composables/damNotificationsEventBus'\nimport { getAssetTypeByMimeType } from '@/domains/dam/uploadQueue/utils/mimeTypeHelper'\nimport { createUploadQueueCore, UPLOAD_QUEUE_ITEM_CHUNK_SIZE } from '@/domains/dam/uploadQueue/core/uploadQueueCore'\nimport type { UploadQueueSettlementProfile } from '@/domains/dam/uploadQueue/core/uploadQueueCoreTypes'\nimport { libraryQueuePreset } from '@/domains/dam/uploadQueue/presets/queuePresets'\nimport {\n type UploadReadOptions,\n type UploadRefreshOutcome,\n UploadRowRole,\n type UploadSettlementEvent,\n} from '@/domains/dam/uploadQueue/settlement/uploadSettlementTypes'\nimport { useDamCachedKeywords } from '@/domains/dam/keyword/composables/cachedKeywords'\nimport { damFileTypeFix } from '@/domains/ui/file/utils/fileType'\nimport type { AxiosRequestConfig } from 'axios'\nimport type { DocId, DocIdNullable, IntegerId } from '@/shared/types/common'\nimport { type AssetDetailItemDto, DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType } from '@/domains/dam/types/AssetFile'\nimport {\n type UploadQueue,\n type UploadQueueItem,\n UploadQueueItemStatus,\n UploadQueueItemType,\n type UploadQueueKey,\n} from '@/domains/dam/types/UploadQueue'\nimport { AnzuApiResponseCodeError } from '@/shared/error/AnzuApiResponseCodeError'\nimport { cloneDeep, isArray, isString, isUndefined } from '@/shared/utils/common'\nimport { commonT } from '@/plugins/i18n'\nimport { defineStore } from 'pinia'\nimport { getCurrentScope, ref } from 'vue'\n\n/** Fields the user edits and a detail save writes. */\nexport interface EditableFields {\n keywords: DocId[]\n authors: DocId[]\n customData: UploadQueueItem['customData']\n mainFileSingleUse: boolean | null | undefined\n}\n\nconst editableFieldsOf = (item: UploadQueueItem): EditableFields =>\n cloneDeep({\n keywords: item.keywords,\n authors: item.authors,\n customData: item.customData,\n mainFileSingleUse: item.mainFileSingleUse,\n })\n\nconst sameValue = (one: unknown, other: unknown) => JSON.stringify(one) === JSON.stringify(other)\n\n/** Field-by-field snapshot of an asset's rows (`noteRowsOfAsset`). */\nexport interface RowsNote {\n assetId: DocId\n /** DAM configuration of the queues the rows are in. */\n configName: string\n rows: Map<UploadQueueItem, EditableFields>\n}\n\n/**\n * Which rows a settle function targets: queues of the named DAM configuration, or of the configuration of `queueKey`.\n * Required because two DAMs may share an asset id.\n */\nexport type UploadQueueRowsOf = string | { queueKey: UploadQueueKey }\n\n/** What a write left as the user had changed it: these fields and these custom data keys. */\ninterface KeptByWrite {\n fields: Set<'keywords' | 'authors' | 'mainFileSingleUse'>\n customKeys: Set<string>\n}\n\n/**\n * Writes the saved detail into a row of its asset. Each row gets its own copies.\n * A field the user changed since `was` (the row when save was pressed)\n * keeps the user's value. Custom data keys are compared one by one.\n * A row unknown to `was` (it became a row of the asset meanwhile)\n * takes everything. `mainFileSingleUse` undefined is left as is.\n * Returns what it kept.\n */\nconst writeUnchanged = (item: UploadQueueItem, was: EditableFields | undefined, saved: EditableFields) => {\n const kept: KeptByWrite = { fields: new Set(), customKeys: new Set() }\n const unchanged = (field: 'keywords' | 'authors' | 'mainFileSingleUse') => {\n if (!was || sameValue(item[field], was[field])) return true\n kept.fields.add(field)\n return false\n }\n if (unchanged('keywords')) item.keywords = [...saved.keywords]\n if (unchanged('authors')) item.authors = [...saved.authors]\n const customData = cloneDeep(saved.customData)\n if (was && customData) {\n const now = item.customData ?? {}\n const then = was.customData ?? {}\n new Set([...Object.keys(now), ...Object.keys(then)]).forEach((key) => {\n if (sameValue(now[key], then[key])) return\n kept.customKeys.add(key)\n if (key in now) customData[key] = cloneDeep(now[key])\n else delete customData[key]\n })\n }\n item.customData = customData\n if (isUndefined(saved.mainFileSingleUse)) kept.fields.add('mainFileSingleUse')\n else if (unchanged('mainFileSingleUse')) item.mainFileSingleUse = saved.mainFileSingleUse\n return kept\n}\n\n/**\n * Another pending save of the same asset takes over what a write just put into `item`.\n * That value is not a user change. Otherwise the later save would keep the earlier save's values.\n */\nconst takeWrite = (note: RowsNote, item: UploadQueueItem, kept: KeptByWrite) => {\n const entry = note.rows.get(item)\n if (!entry) return\n if (!kept.fields.has('keywords')) entry.keywords = [...item.keywords]\n if (!kept.fields.has('authors')) entry.authors = [...item.authors]\n if (!kept.fields.has('mainFileSingleUse')) entry.mainFileSingleUse = item.mainFileSingleUse\n const written = item.customData ?? {}\n const noted = (entry.customData = { ...entry.customData })\n new Set([...Object.keys(written), ...Object.keys(noted)]).forEach((key) => {\n if (kept.customKeys.has(key)) return\n if (key in written) noted[key] = cloneDeep(written[key])\n else delete noted[key]\n })\n}\n\nexport const useUploadQueuesStore = defineStore('commonAdminUploadQueuesStore', () => {\n const queues = ref<Map<UploadQueueKey, UploadQueue>>(new Map())\n\n const { createDefault } = useUploadQueueItemFactory()\n\n // The DAM configuration each queue was created under. Its files are sent\n // and its rows read with that configuration's client and endpoints.\n // A queue without a given name uses `default`.\n const configNames = new Map<UploadQueueKey, string>()\n const configOf = (queueKey?: UploadQueueKey) =>\n (isUndefined(queueKey) ? undefined : configNames.get(queueKey)) ?? 'default'\n // Resolved per request, from the queue it is for.\n const damOf = (queueKey?: UploadQueueKey) => useCommonAdminCoreDamOptions(configOf(queueKey))\n\n // The poll repeats while a row waits. The settlement decides per request\n // whether a failure starts a streak, and only that one is reported.\n\n // A missing asset is an answer the settlement counts. Anything else is a failed read.\n const readAsset = async (assetId: DocId, options?: UploadReadOptions) => {\n const { damClient, endPointAsset } = damOf(options?.queueKey)\n try {\n return options?.report === false\n ? await fetchAsset(damClient, endPointAsset, assetId, { report: false })\n : await fetchAsset(damClient, endPointAsset, assetId)\n } catch (error) {\n if (apiErrorStatus(error) === 404) return null\n throw error\n }\n }\n\n // The list request reports nothing by itself. A reported failure is\n // rethrown as reported, so the settlement can check whether it was logged.\n const readAssets = async (licenceId: IntegerId, assetIds: DocId[], options?: UploadReadOptions) => {\n const { damClient, endPointAsset } = damOf(options?.queueKey)\n try {\n return await fetchAssetListByIds(damClient, endPointAsset, assetIds, licenceId)\n } catch (failure) {\n if (options?.report) {\n // An answer without an asset list is rejected like the failed answers.\n const answer = isArray<{ status?: number; config?: AxiosRequestConfig }>(failure) ? failure.at(-1) : undefined\n const url = `${endPointAsset}/licence/${licenceId}/ids/${assetIds.join(',')}`\n const context = {\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n // The URL as sent, with the client's base address, when axios kept the config.\n url: requestedUrl(damClient, url, {}, failure, answer?.config),\n }\n const error = isArray(failure) ? new AnzuApiResponseCodeError(answer?.status ?? 0) : failure\n throw report(mapApiError(error, context), context)\n }\n throw failure\n }\n }\n\n // Handles a row once its file is on the server. The queue poll,\n // notifications and the refresh button all go through here.\n // The core counts the queue, starts the next row after a final\n // state, and keeps failed rows a refresh may still change.\n const profile: UploadQueueSettlementProfile = {\n roleOf: (row) => (row.type === UploadQueueItemType.Asset ? UploadRowRole.Copy : UploadRowRole.Upload),\n policyFor: () => ({ reader: 'asset', settleOn: 'read', duplicate: 'becomeOriginal', metadata: 'load' }),\n // Matched by asset only, whatever file an event names.\n matches: (row, target) => row.assetId === target.assetId,\n readers: {\n asset: readAsset,\n assets: readAssets,\n duplicateOriginAsset: async (originFileId, options) => {\n const { damClient, endPointAsset } = damOf(options?.queueKey)\n return fetchAssetByFileId(damClient, endPointAsset, originFileId)\n },\n failureReported: apiErrorIsReported,\n },\n // Two DAMs may use the same asset id, so rows are settled only within the queues of their configuration.\n configOf,\n // Names of a queue's rows come from the DAM of its configuration.\n caches: {\n addAuthors: (ids, queueKey) => useDamCachedAuthors(configOf(queueKey)).addToCachedAuthors(ids),\n addKeywords: (ids, queueKey) => useDamCachedKeywords(configOf(queueKey)).addToCachedKeywords(ids),\n fetchAuthors: (queueKey) => useDamCachedAuthors(configOf(queueKey)).fetchCachedAuthors(),\n fetchKeywords: (queueKey) => useDamCachedKeywords(configOf(queueKey)).fetchCachedKeywords(),\n },\n messages: {\n processingTooLong: () => commonT('common.damImage.uploadErrors.processingTooLong'),\n readFailed: () => commonT('common.damImage.uploadErrors.readFailed'),\n assetMissing: () => commonT('common.damImage.uploadErrors.unknownError'),\n assetGone: () => commonT('common.damImage.queueItem.assetGone'),\n },\n // Uses the socket of the queue's configuration. A configuration without a socket is polled more often.\n connection: {\n isPushAlive: (queueKey) => useDamNotificationsConnection(configOf(queueKey)).isPushAlive(),\n onChange: useDamNotificationsConnection().onChange,\n },\n }\n\n // Created in the store's scope, so a disposed store leaves no poll timer and no tab or socket listener.\n const core = createUploadQueueCore(libraryQueuePreset({ queues, settlement: profile, configOf }))\n const { settlement } = core\n\n // A queue key belongs to one widget and so to one configuration. A queue with\n // rows refuses another configuration name instead of sending under its own.\n // The name is set together with the row, with no await in between.\n // Of two overlapping adds, the first row in the queue sets the name.\n function addRowUnder(queueKey: UploadQueueKey, configName: string, item: UploadQueueItem) {\n const known = configNames.get(queueKey)\n if (!isUndefined(known) && known !== configName && core.getQueueItems(queueKey).length > 0) {\n throw new Error(\n `useUploadQueuesStore: the queue \"${queueKey}\" has rows under the DAM configuration \"${known}\", none is added under \"${configName}\".`\n )\n }\n configNames.set(queueKey, configName)\n core.addRow(queueKey, item)\n }\n\n const storeScope = getCurrentScope()\n\n // The file a notification names is dropped. Rows match by asset only,\n // and a read for a non-main file would take that file's state unchecked.\n // `configNames`: configurations of the socket it came through. Only their queues are affected.\n const toSettlementEvent = (event: DamNotification, configNames: string[]): UploadSettlementEvent | null => {\n switch (event.name) {\n case DamNotificationName.AssetFileProcessed:\n return { kind: 'processed', assetId: event.data.asset, fileId: null, configNames }\n case DamNotificationName.AssetFileFailed:\n return {\n kind: 'failed',\n assetId: event.data.asset,\n fileId: null,\n failReason: event.data.failReason,\n configNames,\n }\n case DamNotificationName.AssetFileDuplicate:\n return {\n kind: 'duplicate',\n assetId: event.data.asset,\n fileId: null,\n originAssetFile: event.data.originAssetFile,\n assetType: event.data.assetType,\n configNames,\n }\n case DamNotificationName.AssetMetadataProcessed:\n return { kind: 'metadata', assetId: event.data.asset, fileId: null, configNames }\n case DamNotificationName.AssetFileCopied:\n return { kind: 'copied', assetId: event.data.asset, fileId: null, configNames }\n }\n return null\n }\n\n const { addDamNotificationListener } = useDamNotifications()\n // Starts with the first row, not with the store. An application with its own queue store\n // keeps this one alive too, and both would answer every notification. Never removed.\n let listening = false\n function listenToNotifications() {\n if (listening) return\n listening = true\n // Listens on every socket of the page. An event concerns only the queues of its socket's configurations.\n const listen = () =>\n addDamNotificationListener(\n (event, origin) => {\n const settlementEvent = toSettlementEvent(event, origin)\n // Not awaited: the read it triggers happens later.\n if (settlementEvent) void settlement.notify(settlementEvent)\n },\n { all: true }\n )\n // Run in the store's scope. The first row is added from a component,\n // and a listener in that component's scope would be disposed with it.\n if (storeScope) storeScope.run(listen)\n else listen()\n }\n\n async function addByCopyToLicence(\n queueKey: UploadQueueKey,\n extSystem: IntegerId,\n assetLicence: IntegerId,\n assets: DocId[],\n configName: string\n ) {\n // Throws here for an unknown configuration, before anything is done, so its DAM config store is not created.\n useCommonAdminCoreDamOptions(configName)\n const { getDamConfigExtSystem } = useDamConfigState(undefined, configName)\n\n const configExtSystem = getDamConfigExtSystem(extSystem)\n if (isUndefined(configExtSystem)) {\n throw new Error('useUploadQueuesStore.addByCopyToLicence: Ext system must be initialised.')\n }\n listenToNotifications()\n for (const assetId of assets) {\n const queueItem = createDefault(\n core.uniqueKey('asset_' + assetId),\n UploadQueueItemType.Asset,\n UploadQueueItemStatus.Processing,\n DamAssetType.Image, // only image now\n UPLOAD_QUEUE_ITEM_CHUNK_SIZE,\n assetLicence\n )\n queueItem.assetId = assetId\n addRowUnder(queueKey, configName, queueItem)\n // Nothing is uploaded for a copy. It waits for the server from the start.\n const added = core.getQueueItems(queueKey).at(-1)\n if (added) core.track(queueKey, added)\n }\n }\n\n async function addByFiles(\n queueKey: UploadQueueKey,\n extSystem: IntegerId,\n assetLicence: IntegerId,\n files: File[],\n configName: string\n ) {\n // Throws here for an unknown configuration, before anything is done, so its DAM config store is not created.\n useCommonAdminCoreDamOptions(configName)\n const { getDamConfigExtSystem } = useDamConfigState(undefined, configName)\n\n const configExtSystem = getDamConfigExtSystem(extSystem)\n if (isUndefined(configExtSystem)) {\n throw new Error('useUploadQueuesStore.addByFiles: Ext system must be initialised.')\n }\n listenToNotifications()\n for await (const file of files) {\n const type = getAssetTypeByMimeType(damFileTypeFix(file), configExtSystem)\n if (!type || type !== DamAssetType.Image) continue // only image now\n const queueItem = createDefault(\n core.uniqueKey('file_' + file.name),\n UploadQueueItemType.File,\n UploadQueueItemStatus.Waiting,\n type,\n UPLOAD_QUEUE_ITEM_CHUNK_SIZE,\n assetLicence\n )\n queueItem.file = file\n queueItem.displayTitle = file.name\n addRowUnder(queueKey, configName, queueItem)\n }\n }\n\n // Legacy names kept for callers until the queues are unified. `of`:\n // whose rows they settle, read with that configuration's client.\n\n const targetOf = (assetId: DocId, of: UploadQueueRowsOf) => ({\n assetId,\n fileId: null,\n configNames: [isString(of) ? of : configOf(of.queueKey)],\n })\n\n function queueItemProcessed(assetId: DocId, of: UploadQueueRowsOf) {\n return settlement.notify({ kind: 'processed', ...targetOf(assetId, of) })\n }\n\n function queueItemFullyProcessed(assetId: DocId, of: UploadQueueRowsOf) {\n return settlement.settleKnownProcessed(targetOf(assetId, of), { withMetadata: true })\n }\n\n function queueItemDuplicate(\n assetId: DocId,\n originAssetFile: DocIdNullable,\n assetType: DamAssetTypeType | null,\n of: UploadQueueRowsOf\n ) {\n return settlement.settleKnownDuplicate(targetOf(assetId, of), originAssetFile, assetType)\n }\n\n async function queueItemFailed(assetId: DocId, failReason: AssetFileFailReasonType, of: UploadQueueRowsOf) {\n settlement.settleKnownFailed(targetOf(assetId, of), failReason)\n }\n\n /** Row refresh button: reads the file's current state and settles the asset's rows by it. */\n function refreshAsset(assetId: DocId, of: UploadQueueRowsOf): Promise<UploadRefreshOutcome> {\n return settlement.refreshAsset(targetOf(assetId, of))\n }\n\n async function stopItemUpload(queueKey: UploadQueueKey, queueItem: UploadQueueItem, _index?: number) {\n core.stopItemUpload(queueKey, queueItem)\n }\n\n // Pending detail-save writes per configuration and asset. Only the latest one writes.\n // Otherwise overlapping saves left rows with whichever read\n // answered last, and the later save kept the earlier values.\n // Two DAMs may share an asset id, so saves under two configurations concern two assets.\n const detailWrites = new Map<string, number>()\n const detailWriteKey = (configName: string, assetId: DocId) => `${configName}\\u0000${assetId}`\n // Write numbers come from one global counter and are never reused.\n // A per-asset counter let a third save reuse the first save's\n // number, and the first save's late read wrote over the third.\n let lastDetailWrite = 0\n\n // Notes of pending detail saves. A write updates the other notes.\n const openNotes = new Set<RowsNote>()\n\n /**\n * Snapshots the rows of `assetId` in every queue of `configName`, field by field, when a detail save is pressed.\n * Pass it to `updateFromDetail` on success or to `forgetRowsNote` on failure.\n */\n function noteRowsOfAsset(assetId: DocId, configName: string): RowsNote {\n const rows = new Map<UploadQueueItem, EditableFields>()\n queues.value.forEach((queue, queueKey) => {\n if (configOf(queueKey) !== configName) return\n queue.items.forEach((item) => {\n if (item.assetId === assetId && item.type) rows.set(item, editableFieldsOf(item))\n })\n })\n const note = { assetId, configName, rows }\n openNotes.add(note)\n return note\n }\n\n /** The save for this note failed. Nothing is written from it. */\n function forgetRowsNote(note: RowsNote) {\n openNotes.delete(note)\n }\n\n /**\n * `kept`: what the write into `item` left as the user had it.\n * Every other note of that asset and configuration takes the rest.\n */\n const othersTakeWrite = (own: RowsNote, item: UploadQueueItem, kept: KeptByWrite) => {\n openNotes.forEach((note) => {\n if (note === own || note.assetId !== own.assetId) return\n if (note.configName === own.configName) takeWrite(note, item, kept)\n })\n }\n\n /**\n * `configName`: the DAM configuration the detail was saved under.\n * Only its queues are written, and names go to its caches.\n * `mainFileSingleUse`: the switch saved with the detail. `rowsAtSave`: the\n * rows when save was pressed (`noteRowsOfAsset`); current rows if omitted.\n * A field the user changed since keeps the user's value, custom data\n * keys each on their own. Unchanged fields take the saved values.\n * Of two concurrent writes of one asset under one configuration, only the later one writes.\n */\n async function updateFromDetail(\n asset: AssetDetailItemDto,\n configName: string,\n mainFileSingleUse?: boolean | null,\n rowsAtSave?: RowsNote\n ) {\n const { updateNewNames, getAuthorConflicts } = useAssetSuggestions()\n let dam: ReturnType<typeof useCommonAdminCoreDamOptions>\n try {\n dam = useCommonAdminCoreDamOptions(configName)\n } catch (e) {\n // Unknown configuration name: rows are left alone silently.\n return\n }\n const { addToCachedKeywords, fetchCachedKeywords } = useDamCachedKeywords(configName)\n const { addToCachedAuthors, fetchCachedAuthors } = useDamCachedAuthors(configName)\n // Only this configuration's queues: another DAM may have an asset with the same id.\n const queuesOfConfig = () =>\n Array.from(queues.value.entries()).filter(([queueKey]) => configOf(queueKey) === configName)\n // A detail opened from a row keeps notifying the queue even when no queue has a row of the\n // asset. Then there is nothing to write, and the save would wait for the read in vain.\n const rows = queuesOfConfig().flatMap(([, queue]) => queue.items)\n const isRowOfAsset = (item: UploadQueueItem) => item.assetId === asset.id && !!item.type\n // A processing row may become a row of the asset during the read,\n // when its file turns out to be a duplicate of the asset's file.\n // It gets the write like any row of the asset, since the asset was not read while no row had it.\n // The DAM detects duplicates only within the file's licence, so rows of another licence are excluded.\n const mayBecomeRowOfAsset = (item: UploadQueueItem) =>\n !!item.type && item.status === UploadQueueItemStatus.Processing && item.licenceId === asset.licence\n if (!rows.some(isRowOfAsset) && !rows.some(mayBecomeRowOfAsset)) {\n if (rowsAtSave) forgetRowsNote(rowsAtSave)\n return\n }\n const note = rowsAtSave ?? noteRowsOfAsset(asset.id, configName)\n const before = note.rows\n const turn = ++lastDetailWrite\n const writeKey = detailWriteKey(configName, asset.id)\n detailWrites.set(writeKey, turn)\n // A later save of this asset under this configuration started its write since. That one writes.\n const isLatest = () => detailWrites.get(writeKey) === turn\n try {\n const assetRes = await fetchAsset(dam.damClient, dam.endPointAsset, asset.id)\n if (!isLatest()) return\n // One answer serves the asset's rows in every queue of the configuration, but each row gets its own copies.\n // Filling a custom field writes into custom data in place, so a shared\n // object would change another queue's row and that queue would send it.\n queuesOfConfig().forEach(([queueKey, queue]) => {\n queue.items.forEach((item) => {\n if (item.assetId === assetRes.id && item.type) {\n // The detail saves the switch too. Left unchanged, the next queue save would send the old value.\n const kept = writeUnchanged(item, before.get(item), {\n keywords: assetRes.keywords,\n authors: assetRes.authors,\n customData: assetRes.metadata.customData,\n mainFileSingleUse: assetRes.mainFileSingleUse,\n })\n othersTakeWrite(note, item, kept)\n updateNewNames(assetRes.metadata.authorSuggestions, queue.suggestions.newAuthorNames)\n updateNewNames(assetRes.metadata.keywordSuggestions, queue.suggestions.newKeywordNames)\n item.authorConflicts = getAuthorConflicts(assetRes.metadata.authorSuggestions)\n addToCachedKeywords(item.keywords)\n addToCachedAuthors(item.authors)\n addToCachedAuthors(item.authorConflicts)\n }\n })\n core.recalculateQueueCounts(queueKey)\n fetchCachedAuthors()\n fetchCachedKeywords()\n })\n } catch (e) {\n if (!isLatest()) return\n // The detail is saved anyway. Unchanged rows would send their\n // old values with the next queue save, over the detail's values.\n // Each row gets its own copies, not the detail's lists.\n // Suggestions come from the server and stay as the rows have them.\n queuesOfConfig().forEach(([, queue]) => {\n queue.items.forEach((item) => {\n if (item.assetId === asset.id && item.type) {\n const kept = writeUnchanged(item, before.get(item), {\n keywords: asset.keywords,\n authors: asset.authors,\n customData: asset.metadata.customData,\n mainFileSingleUse: isUndefined(mainFileSingleUse) ? undefined : mainFileSingleUse,\n })\n othersTakeWrite(note, item, kept)\n addToCachedKeywords(item.keywords)\n addToCachedAuthors(item.authors)\n }\n })\n })\n fetchCachedAuthors()\n fetchCachedKeywords()\n } finally {\n forgetRowsNote(note)\n if (isLatest()) detailWrites.delete(writeKey)\n }\n }\n\n return {\n getQueue: core.getQueue,\n getQueueItems: core.getQueueItems,\n addByFiles,\n addByCopyToLicence,\n queueItemProcessed,\n queueItemFullyProcessed,\n queueItemDuplicate,\n queueItemFailed,\n refreshAsset,\n /**\n * Whether a refresh may still change a failed row. True when its finish request went out before the client gave\n * up and the server has said nothing final since, or when it is a duplicate whose original could not be read.\n */\n refreshMayHelp: core.refreshMayHelp,\n /** The row failed because its asset was missing from enough reads (\"Asset už neexistuje.\"). */\n isGivenUpMissing: (item: UploadQueueItem) => settlement.isGivenUpMissing(item),\n removeByIndex: core.removeByIndex,\n stopItemUpload,\n getQueueTotalCount: core.getQueueTotalCount,\n getQueueProcessedCount: core.getQueueProcessedCount,\n stopUpload: core.stopUpload,\n getQueueItemsTypes: core.getQueueItemsTypes,\n updateFromDetail,\n noteRowsOfAsset,\n forgetRowsNote,\n forceReloadFileInput: core.forceReloadFileInput,\n }\n})\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { AxiosInstance } from 'axios';
2
2
  import { DamUser, DamUserUpdateDto } from '../types/DamUser';
3
3
  export declare const ENTITY = "user";
4
- /** `endPoint`: the address of the users, as a configuration names it (`endPointUser`); `/adm/v1/user` by default. */
4
+ /** `endPoint`: the users endpoint from a configuration (`endPointUser`). Defaults to `/adm/v1/user`. */
5
5
  export declare const fetchDamUserListByIds: (client: () => AxiosInstance, ids: number[], endPoint?: string) => Promise<DamUser[]>;
6
- /** `endPoint`: as of `fetchDamUserListByIds`. */
6
+ /** `endPoint`: as in `fetchDamUserListByIds`. */
7
7
  export declare const useFetchDamUserList: (client: () => AxiosInstance, endPoint?: string) => import('../../../api/composables/useApiFetchList').UseApiFetchListReturnType<DamUser>;
8
8
  export declare const updateDamUser: (client: () => AxiosInstance, id: number, data: DamUserUpdateDto) => Promise<DamUser>;
9
9
  export declare const fetchDamUser: (client: () => AxiosInstance, id: number) => Promise<DamUser>;
@@ -1 +1 @@
1
- {"version":3,"file":"userApi.js","names":["END_POINT","DAM_END_POINT_USER","ENTITY","fetchDamUserListByIds","useApiFetchByIds","SYSTEM_CORE_DAM","endPoint","execute","ids","useFetchDamUserList","useApiFetchList","updateDamUser","useApiRequest","data","fetchDamUser"],"sources":["../../../../../src/domains/dam/user/api/userApi.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport type { DamUser, DamUserUpdateDto } from '@/domains/dam/user/types/DamUser'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport { useApiFetchList } from '@/domains/api/composables/useApiFetchList'\nimport { useApiFetchByIds } from '@/domains/api/composables/useApiFetchByIds'\nimport { useApiRequest } from '@/domains/api/composables/useApiRequest'\nimport { DAM_END_POINT_USER } from '@/domains/dam/api/damEndPoints'\n\nconst END_POINT = DAM_END_POINT_USER\nexport const ENTITY = 'user'\n\n/** `endPoint`: the address of the users, as a configuration names it (`endPointUser`); `/adm/v1/user` by default. */\nexport const fetchDamUserListByIds = (client: () => AxiosInstance, ids: number[], endPoint: string = END_POINT) => {\n const { execute } = useApiFetchByIds<DamUser>({\n client,\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: endPoint,\n })\n\n return execute(ids)\n}\n\n/** `endPoint`: as of `fetchDamUserListByIds`. */\nexport const useFetchDamUserList = (client: () => AxiosInstance, endPoint: string = END_POINT) =>\n useApiFetchList<DamUser>({\n client,\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: endPoint,\n })\n\nexport const updateDamUser = (client: () => AxiosInstance, id: number, data: DamUserUpdateDto) => {\n const { execute } = useApiRequest<DamUser, DamUserUpdateDto>({\n client,\n method: 'PUT',\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: END_POINT + '/:id',\n })\n\n return execute({ urlParams: { id }, body: data })\n}\n\nexport const fetchDamUser = (client: () => AxiosInstance, id: number) => {\n const { execute } = useApiRequest<DamUser, null>({\n client,\n method: 'GET',\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: END_POINT + '/:id',\n })\n\n return execute({ urlParams: { id } })\n}\n"],"mappings":";;;;;;AAQA,IAAMA,IAAYC,GACLC,IAAS,QAGTC,KAAyB,GAA6B,GAAe,IAAmBH,MAAc;CACjH,IAAM,EAAE,eAAYI,EAA0B;EAC5C;EACA,QAAQC;EACR,QAAQH;EACR,aAAaI;CACf,CAAC;CAED,OAAOC,EAAQC,CAAG;AACpB,GAGaC,KAAuB,GAA6B,IAAmBT,MAClFU,EAAyB;CACvB;CACA,QAAQL;CACR,QAAQH;CACR,aAAaI;AACf,CAAC,GAEUK,KAAiB,GAA6B,GAAY,MAA2B;CAChG,IAAM,EAAE,eAAYC,EAAyC;EAC3D;EACA,QAAQ;EACR,QAAQP;EACR,QAAQH;EACR,aAAaF,IAAY;CAC3B,CAAC;CAED,OAAOO,EAAQ;EAAE,WAAW,EAAE,MAAG;EAAG,MAAMM;CAAK,CAAC;AAClD,GAEaC,KAAgB,GAA6B,MAAe;CACvE,IAAM,EAAE,eAAYF,EAA6B;EAC/C;EACA,QAAQ;EACR,QAAQP;EACR,QAAQH;EACR,aAAaF,IAAY;CAC3B,CAAC;CAED,OAAOO,EAAQ,EAAE,WAAW,EAAE,MAAG,EAAE,CAAC;AACtC"}
1
+ {"version":3,"file":"userApi.js","names":["END_POINT","DAM_END_POINT_USER","ENTITY","fetchDamUserListByIds","useApiFetchByIds","SYSTEM_CORE_DAM","endPoint","execute","ids","useFetchDamUserList","useApiFetchList","updateDamUser","useApiRequest","data","fetchDamUser"],"sources":["../../../../../src/domains/dam/user/api/userApi.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport type { DamUser, DamUserUpdateDto } from '@/domains/dam/user/types/DamUser'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport { useApiFetchList } from '@/domains/api/composables/useApiFetchList'\nimport { useApiFetchByIds } from '@/domains/api/composables/useApiFetchByIds'\nimport { useApiRequest } from '@/domains/api/composables/useApiRequest'\nimport { DAM_END_POINT_USER } from '@/domains/dam/api/damEndPoints'\n\nconst END_POINT = DAM_END_POINT_USER\nexport const ENTITY = 'user'\n\n/** `endPoint`: the users endpoint from a configuration (`endPointUser`). Defaults to `/adm/v1/user`. */\nexport const fetchDamUserListByIds = (client: () => AxiosInstance, ids: number[], endPoint: string = END_POINT) => {\n const { execute } = useApiFetchByIds<DamUser>({\n client,\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: endPoint,\n })\n\n return execute(ids)\n}\n\n/** `endPoint`: as in `fetchDamUserListByIds`. */\nexport const useFetchDamUserList = (client: () => AxiosInstance, endPoint: string = END_POINT) =>\n useApiFetchList<DamUser>({\n client,\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: endPoint,\n })\n\nexport const updateDamUser = (client: () => AxiosInstance, id: number, data: DamUserUpdateDto) => {\n const { execute } = useApiRequest<DamUser, DamUserUpdateDto>({\n client,\n method: 'PUT',\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: END_POINT + '/:id',\n })\n\n return execute({ urlParams: { id }, body: data })\n}\n\nexport const fetchDamUser = (client: () => AxiosInstance, id: number) => {\n const { execute } = useApiRequest<DamUser, null>({\n client,\n method: 'GET',\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: END_POINT + '/:id',\n })\n\n return execute({ urlParams: { id } })\n}\n"],"mappings":";;;;;;AAQA,IAAMA,IAAYC,GACLC,IAAS,QAGTC,KAAyB,GAA6B,GAAe,IAAmBH,MAAc;CACjH,IAAM,EAAE,eAAYI,EAA0B;EAC5C;EACA,QAAQC;EACR,QAAQH;EACR,aAAaI;CACf,CAAC;CAED,OAAOC,EAAQC,CAAG;AACpB,GAGaC,KAAuB,GAA6B,IAAmBT,MAClFU,EAAyB;CACvB;CACA,QAAQL;CACR,QAAQH;CACR,aAAaI;AACf,CAAC,GAEUK,KAAiB,GAA6B,GAAY,MAA2B;CAChG,IAAM,EAAE,eAAYC,EAAyC;EAC3D;EACA,QAAQ;EACR,QAAQP;EACR,QAAQH;EACR,aAAaF,IAAY;CAC3B,CAAC;CAED,OAAOO,EAAQ;EAAE,WAAW,EAAE,MAAG;EAAG,MAAMM;CAAK,CAAC;AAClD,GAEaC,KAAgB,GAA6B,MAAe;CACvE,IAAM,EAAE,eAAYF,EAA6B;EAC/C;EACA,QAAQ;EACR,QAAQP;EACR,QAAQH;EACR,aAAaF,IAAY;CAC3B,CAAC;CAED,OAAOO,EAAQ,EAAE,WAAW,EAAE,MAAG,EAAE,CAAC;AACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DamDistributionServiceSelect.js","names":["_sfc_main","DamDistributionServiceSelect_vue_vue_type_script_setup_true_lang_default","DamDistributionServiceSelect_default"],"sources":["../../../../../src/domains/dam/user/components/DamDistributionServiceSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { cloneDeep } from '@/shared/utils/common'\nimport { useDamDistributionServiceType } from '@/domains/dam/user/types/DamDistributionServiceType'\nimport type { AxiosInstance } from 'axios'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string[]\n client: () => AxiosInstance\n multiple?: boolean\n label?: string\n dataCy?: string\n /** The DAM configuration whose prv configuration lists the options; inherited when not given. */\n configName?: string\n }>(),\n {\n multiple: false,\n label: undefined,\n dataCy: '',\n configName: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: string[]): void\n (e: 'blur', data: string[]): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: string[]) {\n emit('update:modelValue', cloneDeep<string[]>(newValue))\n },\n})\n\nconst onBlur = () => {\n emit('blur', modelValueComputed.value)\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { allDistributionServiceTypeOptions } = useDamDistributionServiceType(useDamConfigName(props.configName))\n</script>\n\n<template>\n <VSelect\n v-model=\"modelValueComputed\"\n :items=\"allDistributionServiceTypeOptions\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :multiple=\"multiple\"\n clearable\n no-filter\n chips\n :data-cy=\"dataCy\"\n @blur=\"onBlur\"\n />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"DamDistributionServiceSelect.js","names":["_sfc_main","DamDistributionServiceSelect_vue_vue_type_script_setup_true_lang_default","DamDistributionServiceSelect_default"],"sources":["../../../../../src/domains/dam/user/components/DamDistributionServiceSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { cloneDeep } from '@/shared/utils/common'\nimport { useDamDistributionServiceType } from '@/domains/dam/user/types/DamDistributionServiceType'\nimport type { AxiosInstance } from 'axios'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string[]\n client: () => AxiosInstance\n multiple?: boolean\n label?: string\n dataCy?: string\n /** The DAM configuration whose prv config lists the options. Inherited when not given. */\n configName?: string\n }>(),\n {\n multiple: false,\n label: undefined,\n dataCy: '',\n configName: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: string[]): void\n (e: 'blur', data: string[]): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: string[]) {\n emit('update:modelValue', cloneDeep<string[]>(newValue))\n },\n})\n\nconst onBlur = () => {\n emit('blur', modelValueComputed.value)\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { allDistributionServiceTypeOptions } = useDamDistributionServiceType(useDamConfigName(props.configName))\n</script>\n\n<template>\n <VSelect\n v-model=\"modelValueComputed\"\n :items=\"allDistributionServiceTypeOptions\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :multiple=\"multiple\"\n clearable\n no-filter\n chips\n :data-cy=\"dataCy\"\n @blur=\"onBlur\"\n />\n</template>\n"],"mappings":""}
@@ -5,7 +5,7 @@ type __VLS_Props = {
5
5
  multiple?: boolean;
6
6
  label?: string;
7
7
  dataCy?: string;
8
- /** The DAM configuration whose prv configuration lists the options; inherited when not given. */
8
+ /** The DAM configuration whose prv config lists the options. Inherited when not given. */
9
9
  configName?: string;
10
10
  };
11
11
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
@@ -1 +1 @@
1
- {"version":3,"file":"DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VSelect","_unref","DamDistributionServiceSelect_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","modelValueComputed","computed","cloneDeep","newValue","onBlur","useDamDistributionServiceType","useDamConfigName","openBlock","createBlock","VSelect","_cache","$event","unref","allDistributionServiceTypeOptions"],"sources":["../../../../../src/domains/dam/user/components/DamDistributionServiceSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { cloneDeep } from '@/shared/utils/common'\nimport { useDamDistributionServiceType } from '@/domains/dam/user/types/DamDistributionServiceType'\nimport type { AxiosInstance } from 'axios'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string[]\n client: () => AxiosInstance\n multiple?: boolean\n label?: string\n dataCy?: string\n /** The DAM configuration whose prv configuration lists the options; inherited when not given. */\n configName?: string\n }>(),\n {\n multiple: false,\n label: undefined,\n dataCy: '',\n configName: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: string[]): void\n (e: 'blur', data: string[]): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: string[]) {\n emit('update:modelValue', cloneDeep<string[]>(newValue))\n },\n})\n\nconst onBlur = () => {\n emit('blur', modelValueComputed.value)\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { allDistributionServiceTypeOptions } = useDamDistributionServiceType(useDamConfigName(props.configName))\n</script>\n\n<template>\n <VSelect\n v-model=\"modelValueComputed\"\n :items=\"allDistributionServiceTypeOptions\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :multiple=\"multiple\"\n clearable\n no-filter\n chips\n :data-cy=\"dataCy\"\n @blur=\"onBlur\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAOA,IAAMM,IAAQC,GAkBRC,IAAOH,GAKPI,IAAqBC,EAAS;GAClC,MAAM;IACJ,OAAOJ,EAAM;GACf;GACA,IAAI,GAAoB;IACtB,EAAK,qBAAqBK,EAAoBC,CAAQ,CAAC;GACzD;EACF,CAAC,GAEKC,UAAe;GACnB,EAAK,QAAQJ,EAAmB,KAAK;EACvC,GAGM,EAAE,yCAAsCK,EAA8BC,EAAiBT,EAAM,UAAU,CAAC;E,kBAI5GN,EAAA,GAAAC,EAYEC,GAAA;GAXS,YAAAO,EAAA;GAAA,uBAAA,AAAAU,EAAA,QAAA,MAAA,EAAkB,QAAAC;GAC1B,OAAOjB,EAAAmB,CAAA;GACR,cAAW;GACX,cAAW;GACV,OAAOf,EAAA;GACP,UAAUA,EAAA;GACX,WAAA;GACA,aAAA;GACA,OAAA;GACC,WAASA,EAAA;GACH"}
1
+ {"version":3,"file":"DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VSelect","_unref","DamDistributionServiceSelect_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","modelValueComputed","computed","cloneDeep","newValue","onBlur","useDamDistributionServiceType","useDamConfigName","openBlock","createBlock","VSelect","_cache","$event","unref","allDistributionServiceTypeOptions"],"sources":["../../../../../src/domains/dam/user/components/DamDistributionServiceSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { cloneDeep } from '@/shared/utils/common'\nimport { useDamDistributionServiceType } from '@/domains/dam/user/types/DamDistributionServiceType'\nimport type { AxiosInstance } from 'axios'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string[]\n client: () => AxiosInstance\n multiple?: boolean\n label?: string\n dataCy?: string\n /** The DAM configuration whose prv config lists the options. Inherited when not given. */\n configName?: string\n }>(),\n {\n multiple: false,\n label: undefined,\n dataCy: '',\n configName: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: string[]): void\n (e: 'blur', data: string[]): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: string[]) {\n emit('update:modelValue', cloneDeep<string[]>(newValue))\n },\n})\n\nconst onBlur = () => {\n emit('blur', modelValueComputed.value)\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { allDistributionServiceTypeOptions } = useDamDistributionServiceType(useDamConfigName(props.configName))\n</script>\n\n<template>\n <VSelect\n v-model=\"modelValueComputed\"\n :items=\"allDistributionServiceTypeOptions\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :multiple=\"multiple\"\n clearable\n no-filter\n chips\n :data-cy=\"dataCy\"\n @blur=\"onBlur\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAOA,IAAMM,IAAQC,GAkBRC,IAAOH,GAKPI,IAAqBC,EAAS;GAClC,MAAM;IACJ,OAAOJ,EAAM;GACf;GACA,IAAI,GAAoB;IACtB,EAAK,qBAAqBK,EAAoBC,CAAQ,CAAC;GACzD;EACF,CAAC,GAEKC,UAAe;GACnB,EAAK,QAAQJ,EAAmB,KAAK;EACvC,GAGM,EAAE,yCAAsCK,EAA8BC,EAAiBT,EAAM,UAAU,CAAC;E,kBAI5GN,EAAA,GAAAC,EAYEC,GAAA;GAXS,YAAAO,EAAA;GAAA,uBAAA,AAAAU,EAAA,QAAA,MAAA,EAAkB,QAAAC;GAC1B,OAAOjB,EAAAmB,CAAA;GACR,cAAW;GACX,cAAW;GACV,OAAOf,EAAA;GACP,UAAUA,EAAA;GACX,WAAA;GACA,aAAA;GACA,OAAA;GACC,WAASA,EAAA;GACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"DamExternalProviderAssetSelect.js","names":["_sfc_main","DamExternalProviderAssetSelect_vue_vue_type_script_setup_true_lang_default","DamExternalProviderAssetSelect_default"],"sources":["../../../../../src/domains/dam/user/components/DamExternalProviderAssetSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { cloneDeep } from '@/shared/utils/common'\nimport { useDamExternalProviderAssetType } from '@/domains/dam/user/types/DamExternalProviderAssetType'\nimport type { AxiosInstance } from 'axios'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string[]\n client: () => AxiosInstance\n multiple?: boolean\n label?: string\n dataCy?: string\n /** The DAM configuration whose prv configuration lists the options; inherited when not given. */\n configName?: string\n }>(),\n {\n multiple: false,\n label: undefined,\n dataCy: '',\n configName: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: string[]): void\n (e: 'blur', data: string[]): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: string[]) {\n emit('update:modelValue', cloneDeep<string[]>(newValue))\n },\n})\n\nconst onBlur = () => {\n emit('blur', modelValueComputed.value)\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { allExternalProviderAssetTypeOptions } = useDamExternalProviderAssetType(useDamConfigName(props.configName))\n</script>\n\n<template>\n <VSelect\n v-model=\"modelValueComputed\"\n :items=\"allExternalProviderAssetTypeOptions\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :multiple=\"multiple\"\n clearable\n chips\n no-filter\n :data-cy=\"dataCy\"\n @blur=\"onBlur\"\n />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"DamExternalProviderAssetSelect.js","names":["_sfc_main","DamExternalProviderAssetSelect_vue_vue_type_script_setup_true_lang_default","DamExternalProviderAssetSelect_default"],"sources":["../../../../../src/domains/dam/user/components/DamExternalProviderAssetSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { cloneDeep } from '@/shared/utils/common'\nimport { useDamExternalProviderAssetType } from '@/domains/dam/user/types/DamExternalProviderAssetType'\nimport type { AxiosInstance } from 'axios'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string[]\n client: () => AxiosInstance\n multiple?: boolean\n label?: string\n dataCy?: string\n /** The DAM configuration whose prv config lists the options. Inherited when not given. */\n configName?: string\n }>(),\n {\n multiple: false,\n label: undefined,\n dataCy: '',\n configName: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: string[]): void\n (e: 'blur', data: string[]): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: string[]) {\n emit('update:modelValue', cloneDeep<string[]>(newValue))\n },\n})\n\nconst onBlur = () => {\n emit('blur', modelValueComputed.value)\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { allExternalProviderAssetTypeOptions } = useDamExternalProviderAssetType(useDamConfigName(props.configName))\n</script>\n\n<template>\n <VSelect\n v-model=\"modelValueComputed\"\n :items=\"allExternalProviderAssetTypeOptions\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :multiple=\"multiple\"\n clearable\n chips\n no-filter\n :data-cy=\"dataCy\"\n @blur=\"onBlur\"\n />\n</template>\n"],"mappings":""}
@@ -5,7 +5,7 @@ type __VLS_Props = {
5
5
  multiple?: boolean;
6
6
  label?: string;
7
7
  dataCy?: string;
8
- /** The DAM configuration whose prv configuration lists the options; inherited when not given. */
8
+ /** The DAM configuration whose prv config lists the options. Inherited when not given. */
9
9
  configName?: string;
10
10
  };
11
11
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
@@ -1 +1 @@
1
- {"version":3,"file":"DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VSelect","_unref","DamExternalProviderAssetSelect_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","modelValueComputed","computed","cloneDeep","newValue","onBlur","useDamExternalProviderAssetType","useDamConfigName","openBlock","createBlock","VSelect","_cache","$event","unref","allExternalProviderAssetTypeOptions"],"sources":["../../../../../src/domains/dam/user/components/DamExternalProviderAssetSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { cloneDeep } from '@/shared/utils/common'\nimport { useDamExternalProviderAssetType } from '@/domains/dam/user/types/DamExternalProviderAssetType'\nimport type { AxiosInstance } from 'axios'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string[]\n client: () => AxiosInstance\n multiple?: boolean\n label?: string\n dataCy?: string\n /** The DAM configuration whose prv configuration lists the options; inherited when not given. */\n configName?: string\n }>(),\n {\n multiple: false,\n label: undefined,\n dataCy: '',\n configName: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: string[]): void\n (e: 'blur', data: string[]): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: string[]) {\n emit('update:modelValue', cloneDeep<string[]>(newValue))\n },\n})\n\nconst onBlur = () => {\n emit('blur', modelValueComputed.value)\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { allExternalProviderAssetTypeOptions } = useDamExternalProviderAssetType(useDamConfigName(props.configName))\n</script>\n\n<template>\n <VSelect\n v-model=\"modelValueComputed\"\n :items=\"allExternalProviderAssetTypeOptions\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :multiple=\"multiple\"\n clearable\n chips\n no-filter\n :data-cy=\"dataCy\"\n @blur=\"onBlur\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAOA,IAAMM,IAAQC,GAkBRC,IAAOH,GAKPI,IAAqBC,EAAS;GAClC,MAAM;IACJ,OAAOJ,EAAM;GACf;GACA,IAAI,GAAoB;IACtB,EAAK,qBAAqBK,EAAoBC,CAAQ,CAAC;GACzD;EACF,CAAC,GAEKC,UAAe;GACnB,EAAK,QAAQJ,EAAmB,KAAK;EACvC,GAGM,EAAE,2CAAwCK,EAAgCC,EAAiBT,EAAM,UAAU,CAAC;E,kBAIhHN,EAAA,GAAAC,EAYEC,GAAA;GAXS,YAAAO,EAAA;GAAA,uBAAA,AAAAU,EAAA,QAAA,MAAA,EAAkB,QAAAC;GAC1B,OAAOjB,EAAAmB,CAAA;GACR,cAAW;GACX,cAAW;GACV,OAAOf,EAAA;GACP,UAAUA,EAAA;GACX,WAAA;GACA,OAAA;GACA,aAAA;GACC,WAASA,EAAA;GACH"}
1
+ {"version":3,"file":"DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VSelect","_unref","DamExternalProviderAssetSelect_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","modelValueComputed","computed","cloneDeep","newValue","onBlur","useDamExternalProviderAssetType","useDamConfigName","openBlock","createBlock","VSelect","_cache","$event","unref","allExternalProviderAssetTypeOptions"],"sources":["../../../../../src/domains/dam/user/components/DamExternalProviderAssetSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { cloneDeep } from '@/shared/utils/common'\nimport { useDamExternalProviderAssetType } from '@/domains/dam/user/types/DamExternalProviderAssetType'\nimport type { AxiosInstance } from 'axios'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string[]\n client: () => AxiosInstance\n multiple?: boolean\n label?: string\n dataCy?: string\n /** The DAM configuration whose prv config lists the options. Inherited when not given. */\n configName?: string\n }>(),\n {\n multiple: false,\n label: undefined,\n dataCy: '',\n configName: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: string[]): void\n (e: 'blur', data: string[]): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: string[]) {\n emit('update:modelValue', cloneDeep<string[]>(newValue))\n },\n})\n\nconst onBlur = () => {\n emit('blur', modelValueComputed.value)\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { allExternalProviderAssetTypeOptions } = useDamExternalProviderAssetType(useDamConfigName(props.configName))\n</script>\n\n<template>\n <VSelect\n v-model=\"modelValueComputed\"\n :items=\"allExternalProviderAssetTypeOptions\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :multiple=\"multiple\"\n clearable\n chips\n no-filter\n :data-cy=\"dataCy\"\n @blur=\"onBlur\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAOA,IAAMM,IAAQC,GAkBRC,IAAOH,GAKPI,IAAqBC,EAAS;GAClC,MAAM;IACJ,OAAOJ,EAAM;GACf;GACA,IAAI,GAAoB;IACtB,EAAK,qBAAqBK,EAAoBC,CAAQ,CAAC;GACzD;EACF,CAAC,GAEKC,UAAe;GACnB,EAAK,QAAQJ,EAAmB,KAAK;EACvC,GAGM,EAAE,2CAAwCK,EAAgCC,EAAiBT,EAAM,UAAU,CAAC;E,kBAIhHN,EAAA,GAAAC,EAYEC,GAAA;GAXS,YAAAO,EAAA;GAAA,uBAAA,AAAAU,EAAA,QAAA,MAAA,EAAkB,QAAAC;GAC1B,OAAOjB,EAAAmB,CAAA;GACR,cAAW;GACX,cAAW;GACV,OAAOf,EAAA;GACP,UAAUA,EAAA;GACX,WAAA;GACA,OAAA;GACA,aAAA;GACC,WAASA,EAAA;GACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"DamUserRemoteAutocomplete.js","names":["_sfc_main","DamUserRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","DamUserRemoteAutocomplete_default"],"sources":["../../../../../src/domains/dam/user/components/DamUserRemoteAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { provide } from 'vue'\nimport type { AxiosInstance } from 'axios'\nimport AFormRemoteAutocomplete from '@/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue'\nimport { useDamUserSelectAction } from '@/domains/dam/user/composables/damUserSelectActions'\nimport { useDamUserInnerFilter } from '@/domains/dam/user/filter/DamUserFilter'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n label?: string | undefined\n required?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n v?: AFormFieldValidation | null\n /** The DAM config of the plugin options whose client lists the users. */\n configName?: string\n /** Lists the users through this client instead of the configured one, at `/adm/v1/user` (not `endPointUser`). */\n client?: (() => AxiosInstance) | undefined\n }>(),\n {\n label: undefined,\n required: undefined,\n multiple: false,\n clearable: false,\n dataCy: '',\n v: null,\n configName: undefined,\n client: undefined,\n }\n)\nconst modelValue = defineModel<IntegerId | IntegerId[] | null>({ required: true })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\n// A client given lists at the fixed address; the configuration's at its `endPointUser`. Read once, as the name.\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { damClient, endPointUser } = props.client\n ? { damClient: props.client, endPointUser: undefined }\n : useCommonAdminCoreDamOptions(damConfigName)\nconst { fetchItems, fetchItemsByIds } = useDamUserSelectAction(damClient, endPointUser)\n\nconst { filterData, filterConfig } = useDamUserInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n</script>\n\n<template>\n <AFormRemoteAutocomplete\n v-model=\"modelValue\"\n :label=\"label\"\n :required=\"required\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :data-cy=\"dataCy\"\n :v=\"v\"\n :fetch-items=\"fetchItems\"\n :fetch-items-by-ids=\"fetchItemsByIds\"\n filter-by-field=\"lastName\"\n :filter-sort-by=\"null\"\n />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"DamUserRemoteAutocomplete.js","names":["_sfc_main","DamUserRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","DamUserRemoteAutocomplete_default"],"sources":["../../../../../src/domains/dam/user/components/DamUserRemoteAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { provide } from 'vue'\nimport type { AxiosInstance } from 'axios'\nimport AFormRemoteAutocomplete from '@/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue'\nimport { useDamUserSelectAction } from '@/domains/dam/user/composables/damUserSelectActions'\nimport { useDamUserInnerFilter } from '@/domains/dam/user/filter/DamUserFilter'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n label?: string | undefined\n required?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n v?: AFormFieldValidation | null\n /** The DAM configuration whose client lists the users. */\n configName?: string\n /** Lists the users through this client instead of the configured one, at `/adm/v1/user` (not `endPointUser`). */\n client?: (() => AxiosInstance) | undefined\n }>(),\n {\n label: undefined,\n required: undefined,\n multiple: false,\n clearable: false,\n dataCy: '',\n v: null,\n configName: undefined,\n client: undefined,\n }\n)\nconst modelValue = defineModel<IntegerId | IntegerId[] | null>({ required: true })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\n// A client given lists at the fixed address; the configuration's at its `endPointUser`. Read once, as the name.\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { damClient, endPointUser } = props.client\n ? { damClient: props.client, endPointUser: undefined }\n : useCommonAdminCoreDamOptions(damConfigName)\nconst { fetchItems, fetchItemsByIds } = useDamUserSelectAction(damClient, endPointUser)\n\nconst { filterData, filterConfig } = useDamUserInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n</script>\n\n<template>\n <AFormRemoteAutocomplete\n v-model=\"modelValue\"\n :label=\"label\"\n :required=\"required\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :data-cy=\"dataCy\"\n :v=\"v\"\n :fetch-items=\"fetchItems\"\n :fetch-items-by-ids=\"fetchItemsByIds\"\n filter-by-field=\"lastName\"\n :filter-sort-by=\"null\"\n />\n</template>\n"],"mappings":""}
@@ -8,7 +8,7 @@ type __VLS_Props = {
8
8
  clearable?: boolean;
9
9
  dataCy?: string;
10
10
  v?: AFormFieldValidation | null;
11
- /** The DAM config of the plugin options whose client lists the users. */
11
+ /** The DAM configuration whose client lists the users. */
12
12
  configName?: string;
13
13
  /** Lists the users through this client instead of the configured one, at `/adm/v1/user` (not `endPointUser`). */
14
14
  client?: (() => AxiosInstance) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","AFormRemoteAutocomplete","_unref","AFormRemoteAutocomplete_default","DamUserRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","props","__props","modelValue","useModel","damConfigName","useDamConfigName","useCommonAdminCoreDamOptions","useDamUserSelectAction","damClient","endPointUser","useDamUserInnerFilter","provide","FilterInnerConfigKey","filterConfig","FilterInnerDataKey","filterData","openBlock","createBlock","_cache","$event","unref","fetchItems","fetchItemsByIds"],"sources":["../../../../../src/domains/dam/user/components/DamUserRemoteAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { provide } from 'vue'\nimport type { AxiosInstance } from 'axios'\nimport AFormRemoteAutocomplete from '@/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue'\nimport { useDamUserSelectAction } from '@/domains/dam/user/composables/damUserSelectActions'\nimport { useDamUserInnerFilter } from '@/domains/dam/user/filter/DamUserFilter'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n label?: string | undefined\n required?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n v?: AFormFieldValidation | null\n /** The DAM config of the plugin options whose client lists the users. */\n configName?: string\n /** Lists the users through this client instead of the configured one, at `/adm/v1/user` (not `endPointUser`). */\n client?: (() => AxiosInstance) | undefined\n }>(),\n {\n label: undefined,\n required: undefined,\n multiple: false,\n clearable: false,\n dataCy: '',\n v: null,\n configName: undefined,\n client: undefined,\n }\n)\nconst modelValue = defineModel<IntegerId | IntegerId[] | null>({ required: true })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\n// A client given lists at the fixed address; the configuration's at its `endPointUser`. Read once, as the name.\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { damClient, endPointUser } = props.client\n ? { damClient: props.client, endPointUser: undefined }\n : useCommonAdminCoreDamOptions(damConfigName)\nconst { fetchItems, fetchItemsByIds } = useDamUserSelectAction(damClient, endPointUser)\n\nconst { filterData, filterConfig } = useDamUserInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n</script>\n\n<template>\n <AFormRemoteAutocomplete\n v-model=\"modelValue\"\n :label=\"label\"\n :required=\"required\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :data-cy=\"dataCy\"\n :v=\"v\"\n :fetch-items=\"fetchItems\"\n :fetch-items-by-ids=\"fetchItemsByIds\"\n filter-by-field=\"lastName\"\n :filter-sort-by=\"null\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYA,IAAMS,IAAQC,GAwBRC,IAAaX,EAA2CU,GAAA,YAAmB,GAE3EG,IAAgBC,EAAiBL,EAAM,UAAU,GAIjD,EAAE,cAAW,oBAAiBA,EAAM,SACtC;GAAE,WAAWA,EAAM;GAAQ,cAAc,KAAA;EAAU,IACnDM,EAA6BF,CAAa,GACxC,EAAE,eAAY,uBAAoBG,EAAuBC,GAAWC,CAAY,GAEhF,EAAE,eAAY,oBAAiBC,EAAsB;E,OAC3DC,EAAQC,GAAsBC,CAAY,GAC1CF,EAAQG,GAAoBC,CAAU,I,UAIpCvB,EAAA,GAAAC,EAYEC,GAAA;GAXS,YAAAQ,EAAA;GAAA,uBAAA,AAAAgB,EAAA,QAAA,MAAA,EAAU,QAAAC;GAClB,OAAOlB,EAAA;GACP,UAAUA,EAAA;GACV,UAAUA,EAAA;GACV,WAAWA,EAAA;GACX,WAASA,EAAA;GACT,GAAGA,EAAA;GACH,eAAaN,EAAA0B,CAAA;GACb,sBAAoB1B,EAAA2B,CAAA;GACrB,mBAAgB;GACf,kBAAgB"}
1
+ {"version":3,"file":"DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","AFormRemoteAutocomplete","_unref","AFormRemoteAutocomplete_default","DamUserRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","props","__props","modelValue","useModel","damConfigName","useDamConfigName","useCommonAdminCoreDamOptions","useDamUserSelectAction","damClient","endPointUser","useDamUserInnerFilter","provide","FilterInnerConfigKey","filterConfig","FilterInnerDataKey","filterData","openBlock","createBlock","_cache","$event","unref","fetchItems","fetchItemsByIds"],"sources":["../../../../../src/domains/dam/user/components/DamUserRemoteAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { provide } from 'vue'\nimport type { AxiosInstance } from 'axios'\nimport AFormRemoteAutocomplete from '@/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue'\nimport { useDamUserSelectAction } from '@/domains/dam/user/composables/damUserSelectActions'\nimport { useDamUserInnerFilter } from '@/domains/dam/user/filter/DamUserFilter'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n label?: string | undefined\n required?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n v?: AFormFieldValidation | null\n /** The DAM configuration whose client lists the users. */\n configName?: string\n /** Lists the users through this client instead of the configured one, at `/adm/v1/user` (not `endPointUser`). */\n client?: (() => AxiosInstance) | undefined\n }>(),\n {\n label: undefined,\n required: undefined,\n multiple: false,\n clearable: false,\n dataCy: '',\n v: null,\n configName: undefined,\n client: undefined,\n }\n)\nconst modelValue = defineModel<IntegerId | IntegerId[] | null>({ required: true })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\n// A client given lists at the fixed address; the configuration's at its `endPointUser`. Read once, as the name.\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { damClient, endPointUser } = props.client\n ? { damClient: props.client, endPointUser: undefined }\n : useCommonAdminCoreDamOptions(damConfigName)\nconst { fetchItems, fetchItemsByIds } = useDamUserSelectAction(damClient, endPointUser)\n\nconst { filterData, filterConfig } = useDamUserInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n</script>\n\n<template>\n <AFormRemoteAutocomplete\n v-model=\"modelValue\"\n :label=\"label\"\n :required=\"required\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :data-cy=\"dataCy\"\n :v=\"v\"\n :fetch-items=\"fetchItems\"\n :fetch-items-by-ids=\"fetchItemsByIds\"\n filter-by-field=\"lastName\"\n :filter-sort-by=\"null\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYA,IAAMS,IAAQC,GAwBRC,IAAaX,EAA2CU,GAAA,YAAmB,GAE3EG,IAAgBC,EAAiBL,EAAM,UAAU,GAIjD,EAAE,cAAW,oBAAiBA,EAAM,SACtC;GAAE,WAAWA,EAAM;GAAQ,cAAc,KAAA;EAAU,IACnDM,EAA6BF,CAAa,GACxC,EAAE,eAAY,uBAAoBG,EAAuBC,GAAWC,CAAY,GAEhF,EAAE,eAAY,oBAAiBC,EAAsB;E,OAC3DC,EAAQC,GAAsBC,CAAY,GAC1CF,EAAQG,GAAoBC,CAAU,I,UAIpCvB,EAAA,GAAAC,EAYEC,GAAA;GAXS,YAAAQ,EAAA;GAAA,uBAAA,AAAAgB,EAAA,QAAA,MAAA,EAAU,QAAAC;GAClB,OAAOlB,EAAA;GACP,UAAUA,EAAA;GACV,UAAUA,EAAA;GACV,WAAWA,EAAA;GACX,WAASA,EAAA;GACT,GAAGA,EAAA;GACH,eAAaN,EAAA0B,CAAA;GACb,sBAAoB1B,EAAA2B,CAAA;GACrB,mBAAgB;GACf,kBAAgB"}
@@ -5,7 +5,7 @@ import { IntegerId } from '../../../../shared/types/common';
5
5
  import { Pagination } from '../../../api/composables/pagination';
6
6
  import { Ref } from 'vue';
7
7
  import { FilterConfig, FilterData } from '../../../filters/composables/filterFactory';
8
- /** `endPoint`: the address of the users (`endPointUser` of a configuration); `/adm/v1/user` where left out. */
8
+ /** `endPoint`: the users endpoint (`endPointUser` of a configuration). Defaults to `/adm/v1/user`. */
9
9
  export declare const useDamUserSelectAction: (client: () => AxiosInstance, endPoint?: string) => {
10
10
  mapToValueObject: (user: DamUser) => ValueObjectOption<IntegerId>;
11
11
  fetchItems: (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => Promise<ValueObjectOption<number>[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"damUserSelectActions.js","names":["useDamUserSelectAction","mapToValueObject","user","mapToValueObjects","users","useFetchDamUserList","client","endPoint","execute","pagination","filterData","filterConfig","fetchDamUserListByIds","ids"],"sources":["../../../../../src/domains/dam/user/composables/damUserSelectActions.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport type { DamUser } from '@/domains/dam/user/types/DamUser'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { Pagination } from '@/domains/api/composables/pagination'\nimport { fetchDamUserListByIds, useFetchDamUserList } from '@/domains/dam/user/api/userApi'\nimport type { Ref } from 'vue'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\n\n/** `endPoint`: the address of the users (`endPointUser` of a configuration); `/adm/v1/user` where left out. */\nexport const useDamUserSelectAction = (client: () => AxiosInstance, endPoint?: string) => {\n const mapToValueObject = (user: DamUser): ValueObjectOption<IntegerId> => ({\n title: '' === user.person.fullName ? user.email : user.person.fullName,\n value: user.id,\n })\n\n const mapToValueObjects = (users: DamUser[]): ValueObjectOption<IntegerId>[] => {\n return users.map((user: DamUser) => mapToValueObject(user))\n }\n\n const { execute } = useFetchDamUserList(client, endPoint)\n\n const fetchItems = async (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => {\n return mapToValueObjects(await execute(pagination, filterData, filterConfig))\n }\n\n const fetchItemsByIds = async (ids: IntegerId[]) => {\n return mapToValueObjects(await fetchDamUserListByIds(client, ids, endPoint))\n }\n\n return {\n mapToValueObject,\n fetchItems,\n fetchItemsByIds,\n }\n}\n"],"mappings":";;AAUA,IAAaA,KAA0B,GAA6B,MAAsB;CACxF,IAAMC,KAAoB,OAAiD;EACzE,OAAcC,EAAK,OAAO,aAAnB,KAA8BA,EAAK,QAAQA,EAAK,OAAO;EAC9D,OAAOA,EAAK;CACd,IAEMC,KAAqB,MAClBC,EAAM,KAAK,MAAkBH,EAAiBC,CAAI,CAAC,GAGtD,EAAE,eAAYG,EAAoBC,GAAQC,CAAQ;CAUxD,OAAO;EACL;EACA,mBAVwB,GAA6B,GAAwB,MACtEJ,EAAkB,MAAMK,EAAQC,GAAYC,GAAYC,CAAY,CAAC;EAU5E,wBAP6B,MACtBR,EAAkB,MAAMS,EAAsBN,GAAQO,GAAKN,CAAQ,CAAC;CAO7E;AACF"}
1
+ {"version":3,"file":"damUserSelectActions.js","names":["useDamUserSelectAction","mapToValueObject","user","mapToValueObjects","users","useFetchDamUserList","client","endPoint","execute","pagination","filterData","filterConfig","fetchDamUserListByIds","ids"],"sources":["../../../../../src/domains/dam/user/composables/damUserSelectActions.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport type { DamUser } from '@/domains/dam/user/types/DamUser'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { Pagination } from '@/domains/api/composables/pagination'\nimport { fetchDamUserListByIds, useFetchDamUserList } from '@/domains/dam/user/api/userApi'\nimport type { Ref } from 'vue'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\n\n/** `endPoint`: the users endpoint (`endPointUser` of a configuration). Defaults to `/adm/v1/user`. */\nexport const useDamUserSelectAction = (client: () => AxiosInstance, endPoint?: string) => {\n const mapToValueObject = (user: DamUser): ValueObjectOption<IntegerId> => ({\n title: '' === user.person.fullName ? user.email : user.person.fullName,\n value: user.id,\n })\n\n const mapToValueObjects = (users: DamUser[]): ValueObjectOption<IntegerId>[] => {\n return users.map((user: DamUser) => mapToValueObject(user))\n }\n\n const { execute } = useFetchDamUserList(client, endPoint)\n\n const fetchItems = async (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => {\n return mapToValueObjects(await execute(pagination, filterData, filterConfig))\n }\n\n const fetchItemsByIds = async (ids: IntegerId[]) => {\n return mapToValueObjects(await fetchDamUserListByIds(client, ids, endPoint))\n }\n\n return {\n mapToValueObject,\n fetchItems,\n fetchItemsByIds,\n }\n}\n"],"mappings":";;AAUA,IAAaA,KAA0B,GAA6B,MAAsB;CACxF,IAAMC,KAAoB,OAAiD;EACzE,OAAcC,EAAK,OAAO,aAAnB,KAA8BA,EAAK,QAAQA,EAAK,OAAO;EAC9D,OAAOA,EAAK;CACd,IAEMC,KAAqB,MAClBC,EAAM,KAAK,MAAkBH,EAAiBC,CAAI,CAAC,GAGtD,EAAE,eAAYG,EAAoBC,GAAQC,CAAQ;CAUxD,OAAO;EACL;EACA,mBAVwB,GAA6B,GAAwB,MACtEJ,EAAkB,MAAMK,EAAQC,GAAYC,GAAYC,CAAY,CAAC;EAU5E,wBAP6B,MACtBR,EAAkB,MAAMS,EAAsBN,GAAQO,GAAKN,CAAQ,CAAC;CAO7E;AACF"}
@@ -1,7 +1,7 @@
1
1
  import { ValueObjectOption } from '../../../../shared/types/ValueObject';
2
2
  /**
3
- * The distribution services of the prv configuration of `configName`: a name left out is the inherited one in a
4
- * component's setup, else `default`.
3
+ * Distribution services from the prv config of `configName`. If
4
+ * omitted, the name is inherited in component setup, else `default`.
5
5
  */
6
6
  export declare function useDamDistributionServiceType(configName?: string): {
7
7
  allDistributionServiceTypeOptions: import('vue').Ref<{
@@ -1 +1 @@
1
- {"version":3,"file":"DamDistributionServiceType.js","names":["useDamDistributionServiceType","damConfigStore","useDamConfigStoreOf","inheritedDamConfigName","configName","all","serviceName","value","allDistributionServiceTypeOptions","ref","item"],"sources":["../../../../../src/domains/dam/user/types/DamDistributionServiceType.ts"],"sourcesContent":["import { ref } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { inheritedDamConfigName } from '@/domains/dam/composables/damConfigName'\n\n/**\n * The distribution services of the prv configuration of `configName`: a name left out is the inherited one in a\n * component's setup, else `default`.\n */\nexport function useDamDistributionServiceType(configName?: string) {\n const damConfigStore = useDamConfigStoreOf(inheritedDamConfigName(configName))\n const all = Object.entries(damConfigStore.damPrvConfig.distributionServices).map(\n ([serviceName, value]): ValueObjectOption<string> => {\n return {\n value: serviceName,\n title: value.title,\n }\n }\n )\n\n const allDistributionServiceTypeOptions = ref<ValueObjectOption<string>[]>(all)\n\n const getDistributionServiceTypeOption = (value: string) => {\n return allDistributionServiceTypeOptions.value.find((item) => item.value === value)\n }\n\n return {\n allDistributionServiceTypeOptions,\n getDistributionServiceTypeOption,\n }\n}\n"],"mappings":";;;;AASA,SAAgBA,EAA8B,GAAqB;CACjE,IAAMC,IAAiBC,EAAoBC,EAAuBC,CAAU,CAAC,GACvEC,IAAM,OAAO,QAAQJ,EAAe,aAAa,oBAAoB,CAAC,CAAC,KAC1E,CAACK,GAAaC,QACN;EACL,OAAOD;EACP,OAAOC,EAAM;CACf,EAEJ,GAEMC,IAAoCC,EAAiCJ,CAAG;CAM9E,OAAO;EACL;EACA,mCANwC,MACjCG,EAAkC,MAAM,MAAM,MAASE,EAAK,UAAUH,CAAK;CAMpF;AACF"}
1
+ {"version":3,"file":"DamDistributionServiceType.js","names":["useDamDistributionServiceType","damConfigStore","useDamConfigStoreOf","inheritedDamConfigName","configName","all","serviceName","value","allDistributionServiceTypeOptions","ref","item"],"sources":["../../../../../src/domains/dam/user/types/DamDistributionServiceType.ts"],"sourcesContent":["import { ref } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { inheritedDamConfigName } from '@/domains/dam/composables/damConfigName'\n\n/**\n * Distribution services from the prv config of `configName`. If\n * omitted, the name is inherited in component setup, else `default`.\n */\nexport function useDamDistributionServiceType(configName?: string) {\n const damConfigStore = useDamConfigStoreOf(inheritedDamConfigName(configName))\n const all = Object.entries(damConfigStore.damPrvConfig.distributionServices).map(\n ([serviceName, value]): ValueObjectOption<string> => {\n return {\n value: serviceName,\n title: value.title,\n }\n }\n )\n\n const allDistributionServiceTypeOptions = ref<ValueObjectOption<string>[]>(all)\n\n const getDistributionServiceTypeOption = (value: string) => {\n return allDistributionServiceTypeOptions.value.find((item) => item.value === value)\n }\n\n return {\n allDistributionServiceTypeOptions,\n getDistributionServiceTypeOption,\n }\n}\n"],"mappings":";;;;AASA,SAAgBA,EAA8B,GAAqB;CACjE,IAAMC,IAAiBC,EAAoBC,EAAuBC,CAAU,CAAC,GACvEC,IAAM,OAAO,QAAQJ,EAAe,aAAa,oBAAoB,CAAC,CAAC,KAC1E,CAACK,GAAaC,QACN;EACL,OAAOD;EACP,OAAOC,EAAM;CACf,EAEJ,GAEMC,IAAoCC,EAAiCJ,CAAG;CAM9E,OAAO;EACL;EACA,mCANwC,MACjCG,EAAkC,MAAM,MAAM,MAASE,EAAK,UAAUH,CAAK;CAMpF;AACF"}
@@ -1,5 +1,5 @@
1
1
  import { ValueObjectOption } from '../../../../shared/types/ValueObject';
2
- /** As `useDamDistributionServiceType`, the external providers of the assets. */
2
+ /** Like `useDamDistributionServiceType`, for external asset providers. */
3
3
  export declare function useDamExternalProviderAssetType(configName: string): {
4
4
  allExternalProviderAssetTypeOptions: import('vue').Ref<{
5
5
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DamExternalProviderAssetType.js","names":["useDamExternalProviderAssetType","damConfigStore","useDamConfigStoreOf","configName","all","providerName","value","allExternalProviderAssetTypeOptions","ref","item"],"sources":["../../../../../src/domains/dam/user/types/DamExternalProviderAssetType.ts"],"sourcesContent":["import { ref } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\n\n/** As `useDamDistributionServiceType`, the external providers of the assets. */\nexport function useDamExternalProviderAssetType(configName: string) {\n const damConfigStore = useDamConfigStoreOf(configName)\n const all = Object.entries(damConfigStore.damPrvConfig.assetExternalProviders).map(\n ([providerName, value]): ValueObjectOption<string> => {\n return {\n value: providerName,\n title: value.title,\n }\n }\n )\n\n const allExternalProviderAssetTypeOptions = ref<ValueObjectOption<string>[]>(all)\n\n const getExternalProviderAssetTypeOption = (value: string) => {\n return allExternalProviderAssetTypeOptions.value.find((item) => item.value === value)\n }\n\n return {\n allExternalProviderAssetTypeOptions,\n getExternalProviderAssetTypeOption,\n }\n}\n"],"mappings":";;;AAKA,SAAgBA,EAAgC,GAAoB;CAClE,IAAMC,IAAiBC,EAAoBC,CAAU,GAC/CC,IAAM,OAAO,QAAQH,EAAe,aAAa,sBAAsB,CAAC,CAAC,KAC5E,CAACI,GAAcC,QACP;EACL,OAAOD;EACP,OAAOC,EAAM;CACf,EAEJ,GAEMC,IAAsCC,EAAiCJ,CAAG;CAMhF,OAAO;EACL;EACA,qCAN0C,MACnCG,EAAoC,MAAM,MAAM,MAASE,EAAK,UAAUH,CAAK;CAMtF;AACF"}
1
+ {"version":3,"file":"DamExternalProviderAssetType.js","names":["useDamExternalProviderAssetType","damConfigStore","useDamConfigStoreOf","configName","all","providerName","value","allExternalProviderAssetTypeOptions","ref","item"],"sources":["../../../../../src/domains/dam/user/types/DamExternalProviderAssetType.ts"],"sourcesContent":["import { ref } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\n\n/** Like `useDamDistributionServiceType`, for external asset providers. */\nexport function useDamExternalProviderAssetType(configName: string) {\n const damConfigStore = useDamConfigStoreOf(configName)\n const all = Object.entries(damConfigStore.damPrvConfig.assetExternalProviders).map(\n ([providerName, value]): ValueObjectOption<string> => {\n return {\n value: providerName,\n title: value.title,\n }\n }\n )\n\n const allExternalProviderAssetTypeOptions = ref<ValueObjectOption<string>[]>(all)\n\n const getExternalProviderAssetTypeOption = (value: string) => {\n return allExternalProviderAssetTypeOptions.value.find((item) => item.value === value)\n }\n\n return {\n allExternalProviderAssetTypeOptions,\n getExternalProviderAssetTypeOption,\n }\n}\n"],"mappings":";;;AAKA,SAAgBA,EAAgC,GAAoB;CAClE,IAAMC,IAAiBC,EAAoBC,CAAU,GAC/CC,IAAM,OAAO,QAAQH,EAAe,aAAa,sBAAsB,CAAC,CAAC,KAC5E,CAACI,GAAcC,QACP;EACL,OAAOD;EACP,OAAOC,EAAM;CACf,EAEJ,GAEMC,IAAsCC,EAAiCJ,CAAG;CAMhF,OAAO;EACL;EACA,qCAN0C,MACnCG,EAAoC,MAAM,MAAM,MAASE,EAAK,UAAUH,CAAK;CAMtF;AACF"}