@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":"UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","AssetDetailDialogFrame","_unref","_withCtx","_createElementBlock","_toDisplayString","_normalizeClass","_createVNode","UploadQueueButtonStop","UploadQueueItemErrorOverlay","_createCommentVNode","UploadQueueDialogSingleSidebar","AssetDetailDialogFrame_default","UploadQueueItemErrorOverlay_default","UploadQueueButtonStop_default","UploadQueueDialogSingleSidebar_default","_hoisted_1","_hoisted_2","_hoisted_3","UploadQueueDialogSingle_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","useAlerts","useI18n","assetDetailStore","useAssetDetailStore","assetDetail","storeToRefs","enableRoiTab","ref","uploadQueuesStore","useUploadQueuesStore","useUploadQueueDialog","items","computed","item","isDone","isNull","UploadQueueItemStatus","isFailed","useCommonAdminCoreDamOptions","view","assetDetailViewOfUploadItem","onStopConfirm","queueTotalCount","queueProcessedCount","isUploading","mainFileSingleUse","originalIsSingleUse","isDuplicate","saving","onSave","bulkUpdateAssetsMetadata","damClient","endPointAsset","showRecordWas","error","onSaveAndApply","assetsMetadataRes","mappedItems","customUploadMetadataToImageMap","mapUploadMetadataToImages","endPointAuthor","watch","done","assetId","row","res","fetchAsset","onMounted","AssetDetailTabImageWithRoi","openBlock","createBlock","unref","loading","withCtx","createElementBlock","toDisplayString","t","normalizeClass","createVNode","createCommentVNode","shown","DamAssetType"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { storeToRefs } from 'pinia'\nimport { useI18n } from 'vue-i18n'\nimport { AssetDetailTabImageWithRoi, useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\nimport AssetDetailDialogFrame from '@/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue'\nimport { assetDetailViewOfUploadItem } from '@/domains/dam/assetDetail/composables/assetDetailView'\nimport type { ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport {\n useUploadQueueDialog,\n useUploadQueueDialogDrawn,\n} from '@/domains/dam/uploadQueue/composables/useUploadQueueDialog'\nimport { type UploadQueueItem, UploadQueueItemStatus } from '@/domains/dam/types/UploadQueue'\nimport UploadQueueItemErrorOverlay from '@/domains/dam/uploadQueue/components/UploadQueueItemErrorOverlay.vue'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport {\n type AssetMetadataBulkItem,\n bulkUpdateAssetsMetadata,\n fetchAsset,\n showMetadataSaveError,\n} from '@/domains/dam/api/damAssetApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport UploadQueueDialogSingleSidebar from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue'\nimport UploadQueueButtonStop from '@/domains/dam/uploadQueue/components/UploadQueueButtonStop.vue'\nimport { isNull } from '@/shared/utils/common'\nimport { mapUploadMetadataToImages } from '@/domains/dam/imageWidget/utils/metadataToImageMap'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n licenceId: IntegerId\n fileInputKey: number\n accept: string | undefined\n maxSizes: Record<string, number> | undefined\n configName?: string\n disableDoneAnimation?: boolean\n }>(),\n {\n configName: undefined,\n disableDoneAnimation: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'apply', items: ImageCreateUpdateAware[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { showErrorsDefault, showRecordWas } = useAlerts()\n\nconst { t } = useI18n()\n\nconst assetDetailStore = useAssetDetailStore()\nconst { activeTab, loading, asset: assetDetail } = storeToRefs(assetDetailStore)\nconst enableRoiTab = ref(false)\n\nconst uploadQueuesStore = useUploadQueuesStore()\nconst { uploadQueueDialog } = useUploadQueueDialog()\n\nconst items = computed(() => {\n return uploadQueuesStore.getQueueItems(props.queueKey)\n})\n\nconst item = computed<UploadQueueItem | null>(() => {\n return items.value[0] ?? null\n})\n\nconst isDone = computed(() => {\n return !isNull(item.value) && item.value.status === UploadQueueItemStatus.Uploaded\n})\n\n// The title stays \"done\", in the colour of an error for a file refused or failed.\nconst isFailed = computed(() => item.value?.status === UploadQueueItemStatus.Failed)\n\nconst { damClient, endPointAsset, endPointAuthor, customUploadMetadataToImageMap, simpleAssetSidebarEnabled } =\n useCommonAdminCoreDamOptions(damConfigName)\n\nconst view = computed(() =>\n assetDetailViewOfUploadItem(item.value, assetDetail.value, {\n enableRoiTab: enableRoiTab.value,\n disableDoneAnimation: props.disableDoneAnimation,\n simpleAssetSidebarEnabled,\n })\n)\n\nconst onStopConfirm = async () => {\n uploadQueuesStore.stopUpload(props.queueKey)\n assetDetailStore.setAsset(null)\n uploadQueueDialog.value = null\n}\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nuseUploadQueueDialogDrawn(props.queueKey)\n\nconst queueTotalCount = computed(() => {\n return uploadQueuesStore.getQueueTotalCount(props.queueKey)\n})\n\nconst queueProcessedCount = computed(() => {\n return uploadQueuesStore.getQueueProcessedCount(props.queueKey)\n})\n\nconst isUploading = computed(() => {\n return queueTotalCount.value > queueProcessedCount.value\n})\n\n// The item's own switch: the store loads it with the item's metadata and leaves it to the user after that (a\n// duplicate takes over the original's). Not the asset detail's, which is set anew from the server when the item\n// turns uploaded, over what the user had chosen while the file was still on its way.\nconst mainFileSingleUse = computed(() => item.value?.mainFileSingleUse ?? false)\n\n// What the original of a duplicate is, as it was found: the notice is about that asset, and does not follow the\n// switch, which is the item's value from then on.\nconst originalIsSingleUse = ref(false)\nwatch(\n () => item.value?.isDuplicate,\n (isDuplicate) => {\n originalIsSingleUse.value = !!isDuplicate && item.value?.mainFileSingleUse === true\n },\n { immediate: true }\n)\n\n// Which of the two buttons saves, while it does: the other one waits, and neither sends a second request.\nconst saving = ref<'save' | 'saveAndApply' | null>(null)\n\nconst onSave = async () => {\n if (items.value.length === 0 || !isNull(saving.value)) return\n saving.value = 'save'\n try {\n await bulkUpdateAssetsMetadata(damClient, endPointAsset, items.value, mainFileSingleUse.value)\n showRecordWas('updated')\n } catch (error) {\n showMetadataSaveError(error, props.extSystem, damConfigName)\n } finally {\n saving.value = null\n }\n}\n\nconst onSaveAndApply = async () => {\n if (items.value.length === 0 || !isNull(saving.value)) return\n saving.value = 'saveAndApply'\n try {\n let assetsMetadataRes: AssetMetadataBulkItem[]\n try {\n assetsMetadataRes = await bulkUpdateAssetsMetadata(damClient, endPointAsset, items.value, mainFileSingleUse.value)\n if (!assetsMetadataRes[0]) {\n throw new Error('Fatal error updating asset metadata')\n }\n } catch (error) {\n showMetadataSaveError(error, props.extSystem, damConfigName)\n return\n }\n showRecordWas('updated')\n const mappedItems = customUploadMetadataToImageMap\n ? await customUploadMetadataToImageMap(\n items.value,\n assetsMetadataRes,\n damClient,\n props.extSystem,\n props.licenceId\n )\n : await mapUploadMetadataToImages(\n items.value,\n assetsMetadataRes,\n damClient,\n props.extSystem,\n props.licenceId,\n endPointAuthor\n )\n emit(\n 'apply',\n mappedItems.map((item) => ({\n ...item,\n position: 1,\n }))\n )\n await onStopConfirm()\n } catch (error) {\n // The save is said above. What follows it, the images made of its answer, is said as it was before.\n showErrorsDefault(error)\n } finally {\n saving.value = null\n }\n}\n\n// Read once the file is done, and again once the row has another asset: a row that turns out to be a duplicate becomes\n// the original of that duplicate only after the original asset has been read, and showed no \"File info\" then.\nwatch(\n [isDone, () => item.value?.assetId],\n async ([done, assetId]) => {\n if (!done || !assetId) return\n // The row it is read for: the queue of a dialog closed meanwhile is emptied, and the next upload of the widget is\n // a new row of the same queue.\n const row = item.value\n try {\n const res = await fetchAsset(damClient, endPointAsset, assetId)\n // Closed meanwhile, the dialog has emptied its queue. The detail store is shared: written now, the asset of\n // this file would be what the next dialog shows. Nor the asset of a row that has another one by now.\n if (item.value?.assetId !== assetId) return\n assetDetailStore.setAsset(res)\n enableRoiTab.value = true\n } catch (e) {\n // Closed meanwhile as well: the error would be shown over whatever the user has gone on to, the next upload of\n // the widget among it. A row that has become the original of a duplicate meanwhile is the same row, and its\n // failed read is said as any.\n if (item.value !== row) return\n showErrorsDefault(e)\n }\n },\n { immediate: true }\n)\n\nonMounted(() => {\n activeTab.value = AssetDetailTabImageWithRoi.Info\n})\n</script>\n\n<template>\n <AssetDetailDialogFrame\n :loading=\"loading || !item\"\n :view=\"view\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n @close=\"onStopConfirm\"\n >\n <template #title>\n <div\n v-if=\"isUploading\"\n class=\"text-label-large\"\n >\n {{ t('common.damImage.upload.title') }}\n </div>\n <div\n v-else\n class=\"text-label-large font-weight-bold\"\n :class=\"isFailed ? 'text-error' : 'text-green-darken-3'\"\n >\n {{ t('common.damImage.upload.titleDone') }}\n </div>\n </template>\n <template #toolbar-actions>\n <UploadQueueButtonStop\n data-cy=\"button-close\"\n :button-size=\"36\"\n :is-uploading=\"isUploading\"\n @confirm=\"onStopConfirm\"\n />\n </template>\n <template #image-overlay>\n <UploadQueueItemErrorOverlay\n v-if=\"item && item.error.hasError\"\n :error=\"item.error\"\n />\n </template>\n <template #sidebar=\"{ view: shown }\">\n <UploadQueueDialogSingleSidebar\n v-if=\"shown.id\"\n :key=\"shown.id\"\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n :enable-roi-tab=\"enableRoiTab\"\n :show-file-info=\"enableRoiTab\"\n :asset-id=\"shown.id\"\n :is-video=\"shown.assetType === DamAssetType.Video\"\n :is-audio=\"shown.assetType === DamAssetType.Audio\"\n :is-image=\"shown.assetType === DamAssetType.Image\"\n :is-document=\"shown.assetType === DamAssetType.Document\"\n :asset-status=\"shown.assetStatus\"\n :asset-type=\"shown.assetType\"\n :asset-main-file-status=\"shown.mainFile ? shown.mainFile.fileAttributes.status : undefined\"\n :asset-main-file-fail-reason=\"shown.mainFile ? shown.mainFile.fileAttributes.failReason : undefined\"\n :saving=\"saving\"\n @save=\"onSave\"\n @save-and-apply=\"onSaveAndApply\"\n >\n <template #prepend-sidebar>\n <div\n v-if=\"item?.isDuplicate\"\n class=\"text-body-small text-warning px-3 py-2\"\n >\n {{ t('common.damImage.asset.detail.info.status.duplicate') }}\n </div>\n <div\n v-if=\"item?.isDuplicate && originalIsSingleUse\"\n class=\"text-body-small text-error px-3 py-2\"\n >\n {{ t('common.damImage.asset.model.mainFileSingleUse') }}\n </div>\n </template>\n </UploadQueueDialogSingleSidebar>\n </template>\n </AssetDetailDialogFrame>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","AssetDetailDialogFrame","_unref","_withCtx","_createElementBlock","_toDisplayString","_normalizeClass","_createVNode","UploadQueueButtonStop","UploadQueueItemErrorOverlay","_createCommentVNode","UploadQueueDialogSingleSidebar","AssetDetailDialogFrame_default","UploadQueueItemErrorOverlay_default","UploadQueueButtonStop_default","UploadQueueDialogSingleSidebar_default","_hoisted_1","_hoisted_2","_hoisted_3","UploadQueueDialogSingle_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","useAlerts","useI18n","assetDetailStore","useAssetDetailStore","assetDetail","storeToRefs","enableRoiTab","ref","uploadQueuesStore","useUploadQueuesStore","useUploadQueueDialog","items","computed","item","isDone","isNull","UploadQueueItemStatus","isFailed","useCommonAdminCoreDamOptions","view","assetDetailViewOfUploadItem","onStopConfirm","queueTotalCount","queueProcessedCount","isUploading","mainFileSingleUse","originalIsSingleUse","isDuplicate","saving","onSave","bulkUpdateAssetsMetadata","damClient","endPointAsset","showRecordWas","error","onSaveAndApply","assetsMetadataRes","mappedItems","customUploadMetadataToImageMap","mapUploadMetadataToImages","endPointAuthor","watch","done","assetId","row","res","fetchAsset","onMounted","AssetDetailTabImageWithRoi","openBlock","createBlock","unref","loading","withCtx","createElementBlock","toDisplayString","t","normalizeClass","createVNode","createCommentVNode","shown","DamAssetType"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { storeToRefs } from 'pinia'\nimport { useI18n } from 'vue-i18n'\nimport { AssetDetailTabImageWithRoi, useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\nimport AssetDetailDialogFrame from '@/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue'\nimport { assetDetailViewOfUploadItem } from '@/domains/dam/assetDetail/composables/assetDetailView'\nimport type { ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport {\n useUploadQueueDialog,\n useUploadQueueDialogDrawn,\n} from '@/domains/dam/uploadQueue/composables/useUploadQueueDialog'\nimport { type UploadQueueItem, UploadQueueItemStatus } from '@/domains/dam/types/UploadQueue'\nimport UploadQueueItemErrorOverlay from '@/domains/dam/uploadQueue/components/UploadQueueItemErrorOverlay.vue'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport {\n type AssetMetadataBulkItem,\n bulkUpdateAssetsMetadata,\n fetchAsset,\n showMetadataSaveError,\n} from '@/domains/dam/api/damAssetApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport UploadQueueDialogSingleSidebar from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue'\nimport UploadQueueButtonStop from '@/domains/dam/uploadQueue/components/UploadQueueButtonStop.vue'\nimport { isNull } from '@/shared/utils/common'\nimport { mapUploadMetadataToImages } from '@/domains/dam/imageWidget/utils/metadataToImageMap'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n licenceId: IntegerId\n fileInputKey: number\n accept: string | undefined\n maxSizes: Record<string, number> | undefined\n configName?: string\n disableDoneAnimation?: boolean\n }>(),\n {\n configName: undefined,\n disableDoneAnimation: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'apply', items: ImageCreateUpdateAware[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { showErrorsDefault, showRecordWas } = useAlerts()\n\nconst { t } = useI18n()\n\nconst assetDetailStore = useAssetDetailStore()\nconst { activeTab, loading, asset: assetDetail } = storeToRefs(assetDetailStore)\nconst enableRoiTab = ref(false)\n\nconst uploadQueuesStore = useUploadQueuesStore()\nconst { uploadQueueDialog } = useUploadQueueDialog()\n\nconst items = computed(() => {\n return uploadQueuesStore.getQueueItems(props.queueKey)\n})\n\nconst item = computed<UploadQueueItem | null>(() => {\n return items.value[0] ?? null\n})\n\nconst isDone = computed(() => {\n return !isNull(item.value) && item.value.status === UploadQueueItemStatus.Uploaded\n})\n\n// The title stays \"done\", in the error colour for a refused or failed file.\nconst isFailed = computed(() => item.value?.status === UploadQueueItemStatus.Failed)\n\nconst { damClient, endPointAsset, endPointAuthor, customUploadMetadataToImageMap, simpleAssetSidebarEnabled } =\n useCommonAdminCoreDamOptions(damConfigName)\n\nconst view = computed(() =>\n assetDetailViewOfUploadItem(item.value, assetDetail.value, {\n enableRoiTab: enableRoiTab.value,\n disableDoneAnimation: props.disableDoneAnimation,\n simpleAssetSidebarEnabled,\n })\n)\n\nconst onStopConfirm = async () => {\n uploadQueuesStore.stopUpload(props.queueKey)\n assetDetailStore.setAsset(null)\n uploadQueueDialog.value = null\n}\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nuseUploadQueueDialogDrawn(props.queueKey)\n\nconst queueTotalCount = computed(() => {\n return uploadQueuesStore.getQueueTotalCount(props.queueKey)\n})\n\nconst queueProcessedCount = computed(() => {\n return uploadQueuesStore.getQueueProcessedCount(props.queueKey)\n})\n\nconst isUploading = computed(() => {\n return queueTotalCount.value > queueProcessedCount.value\n})\n\n// The item's own switch. The store loads it with the item's metadata,\n// then the user owns it. A duplicate takes the original's value.\n// Not the asset detail's value: that is reset from the server when the\n// item turns uploaded, overwriting the user's choice made during upload.\nconst mainFileSingleUse = computed(() => item.value?.mainFileSingleUse ?? false)\n\n// Whether the duplicate's original is single use, as found. The notice is about that\n// asset and does not follow the switch, which is the item's value from then on.\nconst originalIsSingleUse = ref(false)\nwatch(\n () => item.value?.isDuplicate,\n (isDuplicate) => {\n originalIsSingleUse.value = !!isDuplicate && item.value?.mainFileSingleUse === true\n },\n { immediate: true }\n)\n\n// Which button is saving. The other one waits, so no second request is sent.\nconst saving = ref<'save' | 'saveAndApply' | null>(null)\n\nconst onSave = async () => {\n if (items.value.length === 0 || !isNull(saving.value)) return\n saving.value = 'save'\n try {\n await bulkUpdateAssetsMetadata(damClient, endPointAsset, items.value, mainFileSingleUse.value)\n showRecordWas('updated')\n } catch (error) {\n showMetadataSaveError(error, props.extSystem, damConfigName)\n } finally {\n saving.value = null\n }\n}\n\nconst onSaveAndApply = async () => {\n if (items.value.length === 0 || !isNull(saving.value)) return\n saving.value = 'saveAndApply'\n try {\n let assetsMetadataRes: AssetMetadataBulkItem[]\n try {\n assetsMetadataRes = await bulkUpdateAssetsMetadata(damClient, endPointAsset, items.value, mainFileSingleUse.value)\n if (!assetsMetadataRes[0]) {\n throw new Error('Fatal error updating asset metadata')\n }\n } catch (error) {\n showMetadataSaveError(error, props.extSystem, damConfigName)\n return\n }\n showRecordWas('updated')\n const mappedItems = customUploadMetadataToImageMap\n ? await customUploadMetadataToImageMap(\n items.value,\n assetsMetadataRes,\n damClient,\n props.extSystem,\n props.licenceId\n )\n : await mapUploadMetadataToImages(\n items.value,\n assetsMetadataRes,\n damClient,\n props.extSystem,\n props.licenceId,\n endPointAuthor\n )\n emit(\n 'apply',\n mappedItems.map((item) => ({\n ...item,\n position: 1,\n }))\n )\n await onStopConfirm()\n } catch (error) {\n showErrorsDefault(error)\n } finally {\n saving.value = null\n }\n}\n\n// Read when the file is done and again when the row gets another asset.\n// A duplicate row becomes the original only after the original asset was read, so the first read showed no \"File info\".\nwatch(\n [isDone, () => item.value?.assetId],\n async ([done, assetId]) => {\n if (!done || !assetId) return\n // Capture the row being read. A dialog closed meanwhile empties its\n // queue, and the widget's next upload is a new row in the same queue.\n const row = item.value\n try {\n const res = await fetchAsset(damClient, endPointAsset, assetId)\n // If the dialog closed meanwhile, its queue is emptied. The detail store\n // is shared, so writing now would show this asset in the next dialog.\n // The same applies to a row that has another asset by now.\n if (item.value?.assetId !== assetId) return\n assetDetailStore.setAsset(res)\n enableRoiTab.value = true\n } catch (e) {\n // Skip the error if the dialog closed meanwhile. It would appear\n // over whatever the user moved on to, such as the next upload.\n // A row that became the original of a duplicate is the same row, so its failed read is reported normally.\n if (item.value !== row) return\n showErrorsDefault(e)\n }\n },\n { immediate: true }\n)\n\nonMounted(() => {\n activeTab.value = AssetDetailTabImageWithRoi.Info\n})\n</script>\n\n<template>\n <AssetDetailDialogFrame\n :loading=\"loading || !item\"\n :view=\"view\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n @close=\"onStopConfirm\"\n >\n <template #title>\n <div\n v-if=\"isUploading\"\n class=\"text-label-large\"\n >\n {{ t('common.damImage.upload.title') }}\n </div>\n <div\n v-else\n class=\"text-label-large font-weight-bold\"\n :class=\"isFailed ? 'text-error' : 'text-green-darken-3'\"\n >\n {{ t('common.damImage.upload.titleDone') }}\n </div>\n </template>\n <template #toolbar-actions>\n <UploadQueueButtonStop\n data-cy=\"button-close\"\n :button-size=\"36\"\n :is-uploading=\"isUploading\"\n @confirm=\"onStopConfirm\"\n />\n </template>\n <template #image-overlay>\n <UploadQueueItemErrorOverlay\n v-if=\"item && item.error.hasError\"\n :error=\"item.error\"\n />\n </template>\n <template #sidebar=\"{ view: shown }\">\n <UploadQueueDialogSingleSidebar\n v-if=\"shown.id\"\n :key=\"shown.id\"\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n :enable-roi-tab=\"enableRoiTab\"\n :show-file-info=\"enableRoiTab\"\n :asset-id=\"shown.id\"\n :is-video=\"shown.assetType === DamAssetType.Video\"\n :is-audio=\"shown.assetType === DamAssetType.Audio\"\n :is-image=\"shown.assetType === DamAssetType.Image\"\n :is-document=\"shown.assetType === DamAssetType.Document\"\n :asset-status=\"shown.assetStatus\"\n :asset-type=\"shown.assetType\"\n :asset-main-file-status=\"shown.mainFile ? shown.mainFile.fileAttributes.status : undefined\"\n :asset-main-file-fail-reason=\"shown.mainFile ? shown.mainFile.fileAttributes.failReason : undefined\"\n :saving=\"saving\"\n @save=\"onSave\"\n @save-and-apply=\"onSaveAndApply\"\n >\n <template #prepend-sidebar>\n <div\n v-if=\"item?.isDuplicate\"\n class=\"text-body-small text-warning px-3 py-2\"\n >\n {{ t('common.damImage.asset.detail.info.status.duplicate') }}\n </div>\n <div\n v-if=\"item?.isDuplicate && originalIsSingleUse\"\n class=\"text-body-small text-error px-3 py-2\"\n >\n {{ t('common.damImage.asset.model.mainFileSingleUse') }}\n </div>\n </template>\n </UploadQueueDialogSingleSidebar>\n </template>\n </AssetDetailDialogFrame>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueDialogSingleSidebar.js","names":["_sfc_main","UploadQueueDialogSingleSidebar_vue_vue_type_script_setup_true_lang_default","UploadQueueDialogSingleSidebar_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { DamAssetStatusType, DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType, AssetFileProcessStatusType } from '@/domains/dam/types/AssetFile'\nimport { computed, onUnmounted, ref, watch } from 'vue'\nimport AssetDetailSidebarFrame from '@/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue'\nimport UploadQueueDialogSingleSidebarMetadata from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { UploadQueueItemStatus } from '@/domains/dam/types/UploadQueue'\nimport {\n SHOW_REFRESH_AFTER_SECONDS,\n useUploadQueueItemRefresh,\n} from '@/domains/dam/uploadQueue/composables/uploadQueueItemRefresh'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport { isNull } from '@/shared/utils/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n assetId: DocId\n isVideo: boolean\n isAudio: boolean\n isImage: boolean\n isDocument: boolean\n enableRoiTab: boolean\n showFileInfo: boolean\n dataCy?: string\n assetStatus: DamAssetStatusType\n assetType: DamAssetTypeType\n assetMainFileStatus?: AssetFileProcessStatusType | undefined\n assetMainFileFailReason?: AssetFileFailReasonType | undefined\n configName?: string\n /** Which of the two buttons of the metadata saves, while it does. */\n saving?: 'save' | 'saveAndApply' | null\n }>(),\n {\n assetMainFileStatus: undefined,\n assetMainFileFailReason: undefined,\n dataCy: undefined,\n configName: undefined,\n saving: null,\n }\n)\nconst emit = defineEmits<{\n (e: 'save'): void\n (e: 'saveAndApply'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { simpleAssetSidebarEnabled } = useCommonAdminCoreDamOptions(damConfigName)\nconst simpleMode = computed(() => simpleAssetSidebarEnabled && props.isImage && props.enableRoiTab)\n\n// What the item still waits for from the server: its file to be processed, or, uploaded, its metadata. Until\n// then its form stays disabled, and both saves with it. Each wait is counted from its start, as the row of the\n// queue counts it. Here, not in the metadata tab: the wait goes on while the other tab is open.\nconst uploadQueuesStore = useUploadQueuesStore()\nconst item = computed(() => uploadQueuesStore.getQueueItems(props.queueKey)[0] ?? null)\nconst waitsFor = computed(() => {\n if (item.value?.status === UploadQueueItemStatus.Processing) return 'file'\n if (item.value?.status === UploadQueueItemStatus.Uploaded && !item.value.canEditMetadata) return 'metadata'\n return null\n})\nconst refreshDue = ref(false)\nlet refreshTimer: ReturnType<typeof setTimeout> | undefined\nwatch(\n waitsFor,\n (waits) => {\n clearTimeout(refreshTimer)\n refreshDue.value = false\n if (isNull(waits)) return\n refreshTimer = setTimeout(() => (refreshDue.value = true), SHOW_REFRESH_AFTER_SECONDS * 1000)\n },\n { immediate: true }\n)\nonUnmounted(() => clearTimeout(refreshTimer))\n// A failed item offers refresh, as the row of the queue does, while one may still change it: the store says so, and\n// the item has its asset.\nconst showRefresh = computed(() => {\n if (item.value?.status === UploadQueueItemStatus.Failed) {\n return uploadQueuesStore.refreshMayHelp(item.value) && !isNull(item.value.assetId)\n }\n return refreshDue.value\n})\n\nconst { refreshing, refreshItem } = useUploadQueueItemRefresh(damConfigName)\nconst refresh = () => {\n if (item.value?.assetId) refreshItem(item.value.assetId, item.value, props.queueKey)\n}\n</script>\n\n<template>\n <AssetDetailSidebarFrame\n :queue-key=\"queueKey\"\n :config-name=\"damConfigName\"\n :roi-tab=\"isImage && enableRoiTab\"\n :simple-mode=\"simpleMode\"\n >\n <template #prepend>\n <slot name=\"prepend-sidebar\" />\n </template>\n <template #info=\"{ isActive }\">\n <UploadQueueDialogSingleSidebarMetadata\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n :is-active=\"isActive\"\n :asset-type=\"assetType\"\n :show-refresh=\"showRefresh\"\n :refresh-disabled=\"refreshing\"\n :saving=\"saving\"\n @refresh=\"refresh\"\n @save=\"emit('save')\"\n @save-and-apply=\"emit('saveAndApply')\"\n />\n </template>\n </AssetDetailSidebarFrame>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"UploadQueueDialogSingleSidebar.js","names":["_sfc_main","UploadQueueDialogSingleSidebar_vue_vue_type_script_setup_true_lang_default","UploadQueueDialogSingleSidebar_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { DamAssetStatusType, DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType, AssetFileProcessStatusType } from '@/domains/dam/types/AssetFile'\nimport { computed, onUnmounted, ref, watch } from 'vue'\nimport AssetDetailSidebarFrame from '@/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue'\nimport UploadQueueDialogSingleSidebarMetadata from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { UploadQueueItemStatus } from '@/domains/dam/types/UploadQueue'\nimport {\n SHOW_REFRESH_AFTER_SECONDS,\n useUploadQueueItemRefresh,\n} from '@/domains/dam/uploadQueue/composables/uploadQueueItemRefresh'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport { isNull } from '@/shared/utils/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n assetId: DocId\n isVideo: boolean\n isAudio: boolean\n isImage: boolean\n isDocument: boolean\n enableRoiTab: boolean\n showFileInfo: boolean\n dataCy?: string\n assetStatus: DamAssetStatusType\n assetType: DamAssetTypeType\n assetMainFileStatus?: AssetFileProcessStatusType | undefined\n assetMainFileFailReason?: AssetFileFailReasonType | undefined\n configName?: string\n /** Which of the two metadata save buttons is saving. */\n saving?: 'save' | 'saveAndApply' | null\n }>(),\n {\n assetMainFileStatus: undefined,\n assetMainFileFailReason: undefined,\n dataCy: undefined,\n configName: undefined,\n saving: null,\n }\n)\nconst emit = defineEmits<{\n (e: 'save'): void\n (e: 'saveAndApply'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { simpleAssetSidebarEnabled } = useCommonAdminCoreDamOptions(damConfigName)\nconst simpleMode = computed(() => simpleAssetSidebarEnabled && props.isImage && props.enableRoiTab)\n\n// What the item still waits for from the server: file processing, or\n// metadata once uploaded. Until then the form and both saves are disabled.\n// Each wait counts from its start, as in the queue row.\n// Kept here, not in the metadata tab, because the wait continues while the other tab is open.\nconst uploadQueuesStore = useUploadQueuesStore()\nconst item = computed(() => uploadQueuesStore.getQueueItems(props.queueKey)[0] ?? null)\nconst waitsFor = computed(() => {\n if (item.value?.status === UploadQueueItemStatus.Processing) return 'file'\n if (item.value?.status === UploadQueueItemStatus.Uploaded && !item.value.canEditMetadata) return 'metadata'\n return null\n})\nconst refreshDue = ref(false)\nlet refreshTimer: ReturnType<typeof setTimeout> | undefined\nwatch(\n waitsFor,\n (waits) => {\n clearTimeout(refreshTimer)\n refreshDue.value = false\n if (isNull(waits)) return\n refreshTimer = setTimeout(() => (refreshDue.value = true), SHOW_REFRESH_AFTER_SECONDS * 1000)\n },\n { immediate: true }\n)\nonUnmounted(() => clearTimeout(refreshTimer))\n// A failed item offers refresh, like the queue row, only while a refresh\n// can still change it: the store says so and the item has its asset.\nconst showRefresh = computed(() => {\n if (item.value?.status === UploadQueueItemStatus.Failed) {\n return uploadQueuesStore.refreshMayHelp(item.value) && !isNull(item.value.assetId)\n }\n return refreshDue.value\n})\n\nconst { refreshing, refreshItem } = useUploadQueueItemRefresh(damConfigName)\nconst refresh = () => {\n if (item.value?.assetId) refreshItem(item.value.assetId, item.value, props.queueKey)\n}\n</script>\n\n<template>\n <AssetDetailSidebarFrame\n :queue-key=\"queueKey\"\n :config-name=\"damConfigName\"\n :roi-tab=\"isImage && enableRoiTab\"\n :simple-mode=\"simpleMode\"\n >\n <template #prepend>\n <slot name=\"prepend-sidebar\" />\n </template>\n <template #info=\"{ isActive }\">\n <UploadQueueDialogSingleSidebarMetadata\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n :is-active=\"isActive\"\n :asset-type=\"assetType\"\n :show-refresh=\"showRefresh\"\n :refresh-disabled=\"refreshing\"\n :saving=\"saving\"\n @refresh=\"refresh\"\n @save=\"emit('save')\"\n @save-and-apply=\"emit('saveAndApply')\"\n />\n </template>\n </AssetDetailSidebarFrame>\n</template>\n"],"mappings":""}
@@ -17,13 +17,15 @@ type __VLS_Props = {
17
17
  assetMainFileStatus?: AssetFileProcessStatusType | undefined;
18
18
  assetMainFileFailReason?: AssetFileFailReasonType | undefined;
19
19
  configName?: string;
20
- /** Which of the two buttons of the metadata saves, while it does. */
20
+ /** Which of the two metadata save buttons is saving. */
21
21
  saving?: 'save' | 'saveAndApply' | null;
22
22
  };
23
- declare var __VLS_8: {};
24
- type __VLS_Slots = {} & {
25
- 'prepend-sidebar'?: (props: typeof __VLS_8) => any;
23
+ declare const __VLS_template: () => {
24
+ __VLS_Slots: {
25
+ 'prepend-sidebar'?: (props: {}) => any;
26
+ };
26
27
  };
28
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
27
29
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
28
30
  save: () => any;
29
31
  saveAndApply: () => any;
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","AssetDetailSidebarFrame","_unref","_withCtx","_renderSlot","_createVNode","UploadQueueDialogSingleSidebarMetadata","AssetDetailSidebarFrame_default","UploadQueueDialogSingleSidebarMetadata_default","UploadQueueDialogSingleSidebar_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","useCommonAdminCoreDamOptions","simpleMode","computed","simpleAssetSidebarEnabled","uploadQueuesStore","useUploadQueuesStore","item","waitsFor","UploadQueueItemStatus","refreshDue","ref","refreshTimer","watch","waits","onUnmounted","showRefresh","isNull","useUploadQueueItemRefresh","refresh","refreshItem","openBlock","createBlock","unref","withCtx","renderSlot","_ctx","createVNode","isActive","refreshing","_cache"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { DamAssetStatusType, DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType, AssetFileProcessStatusType } from '@/domains/dam/types/AssetFile'\nimport { computed, onUnmounted, ref, watch } from 'vue'\nimport AssetDetailSidebarFrame from '@/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue'\nimport UploadQueueDialogSingleSidebarMetadata from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { UploadQueueItemStatus } from '@/domains/dam/types/UploadQueue'\nimport {\n SHOW_REFRESH_AFTER_SECONDS,\n useUploadQueueItemRefresh,\n} from '@/domains/dam/uploadQueue/composables/uploadQueueItemRefresh'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport { isNull } from '@/shared/utils/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n assetId: DocId\n isVideo: boolean\n isAudio: boolean\n isImage: boolean\n isDocument: boolean\n enableRoiTab: boolean\n showFileInfo: boolean\n dataCy?: string\n assetStatus: DamAssetStatusType\n assetType: DamAssetTypeType\n assetMainFileStatus?: AssetFileProcessStatusType | undefined\n assetMainFileFailReason?: AssetFileFailReasonType | undefined\n configName?: string\n /** Which of the two buttons of the metadata saves, while it does. */\n saving?: 'save' | 'saveAndApply' | null\n }>(),\n {\n assetMainFileStatus: undefined,\n assetMainFileFailReason: undefined,\n dataCy: undefined,\n configName: undefined,\n saving: null,\n }\n)\nconst emit = defineEmits<{\n (e: 'save'): void\n (e: 'saveAndApply'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { simpleAssetSidebarEnabled } = useCommonAdminCoreDamOptions(damConfigName)\nconst simpleMode = computed(() => simpleAssetSidebarEnabled && props.isImage && props.enableRoiTab)\n\n// What the item still waits for from the server: its file to be processed, or, uploaded, its metadata. Until\n// then its form stays disabled, and both saves with it. Each wait is counted from its start, as the row of the\n// queue counts it. Here, not in the metadata tab: the wait goes on while the other tab is open.\nconst uploadQueuesStore = useUploadQueuesStore()\nconst item = computed(() => uploadQueuesStore.getQueueItems(props.queueKey)[0] ?? null)\nconst waitsFor = computed(() => {\n if (item.value?.status === UploadQueueItemStatus.Processing) return 'file'\n if (item.value?.status === UploadQueueItemStatus.Uploaded && !item.value.canEditMetadata) return 'metadata'\n return null\n})\nconst refreshDue = ref(false)\nlet refreshTimer: ReturnType<typeof setTimeout> | undefined\nwatch(\n waitsFor,\n (waits) => {\n clearTimeout(refreshTimer)\n refreshDue.value = false\n if (isNull(waits)) return\n refreshTimer = setTimeout(() => (refreshDue.value = true), SHOW_REFRESH_AFTER_SECONDS * 1000)\n },\n { immediate: true }\n)\nonUnmounted(() => clearTimeout(refreshTimer))\n// A failed item offers refresh, as the row of the queue does, while one may still change it: the store says so, and\n// the item has its asset.\nconst showRefresh = computed(() => {\n if (item.value?.status === UploadQueueItemStatus.Failed) {\n return uploadQueuesStore.refreshMayHelp(item.value) && !isNull(item.value.assetId)\n }\n return refreshDue.value\n})\n\nconst { refreshing, refreshItem } = useUploadQueueItemRefresh(damConfigName)\nconst refresh = () => {\n if (item.value?.assetId) refreshItem(item.value.assetId, item.value, props.queueKey)\n}\n</script>\n\n<template>\n <AssetDetailSidebarFrame\n :queue-key=\"queueKey\"\n :config-name=\"damConfigName\"\n :roi-tab=\"isImage && enableRoiTab\"\n :simple-mode=\"simpleMode\"\n >\n <template #prepend>\n <slot name=\"prepend-sidebar\" />\n </template>\n <template #info=\"{ isActive }\">\n <UploadQueueDialogSingleSidebarMetadata\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n :is-active=\"isActive\"\n :asset-type=\"assetType\"\n :show-refresh=\"showRefresh\"\n :refresh-disabled=\"refreshing\"\n :saving=\"saving\"\n @refresh=\"refresh\"\n @save=\"emit('save')\"\n @save-and-apply=\"emit('saveAndApply')\"\n />\n </template>\n </AssetDetailSidebarFrame>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,IAAMY,IAAQC,GA4BRC,IAAOH,GAKPI,IAAgBC,EAAiBJ,EAAM,UAAU,GAEjD,EAAE,iCAA8BK,EAA6BF,CAAa,GAC1EG,IAAaC,QAAeC,KAA6BR,EAAM,WAAWA,EAAM,YAAY,GAK5FS,IAAoBC,EAAqB,GACzCC,IAAOJ,QAAeE,EAAkB,cAAcT,EAAM,QAAQ,CAAC,CAAC,MAAM,IAAI,GAChFY,IAAWL,QACXI,EAAK,OAAO,WAAWE,EAAsB,aAAmB,SAChEF,EAAK,OAAO,WAAWE,EAAsB,YAAY,CAACF,EAAK,MAAM,kBAAwB,aAC1F,IACR,GACKG,IAAaC,EAAI,EAAK,GACxBC;EAWJ,AAVAC,EACEL,IACC,MAAU;GAGT,AAFA,aAAaI,CAAY,GACzB,EAAW,QAAQ,IACf,GAAOE,CAAK,MAChB,IAAe,iBAAkB,EAAW,QAAQ,IAAA,GAAwC;EAC9F,GACA,EAAE,WAAW,GAAK,CACpB,GACAC,QAAkB,aAAaH,CAAY,CAAC;EAG5C,IAAMI,IAAcb,QACdI,EAAK,OAAO,WAAWE,EAAsB,SACxCJ,EAAkB,eAAeE,EAAK,KAAK,KAAK,CAACU,EAAOV,EAAK,MAAM,OAAO,IAE5EG,EAAW,KACnB,GAEK,EAAE,eAAY,mBAAgBQ,EAA0BnB,CAAa,GACrEoB,UAAgB;GACpB,AAAIZ,EAAK,OAAO,WAASa,EAAYb,EAAK,MAAM,SAASA,EAAK,OAAOX,EAAM,QAAQ;EACrF;E,kBAIEZ,EAAA,GAAAC,EAwB0BC,GAAA;GAvBvB,aAAWW,EAAA;GACX,eAAaV,EAAAY,CAAA;GACb,WAASF,EAAA,WAAWA,EAAA;GACpB,eAAaK,EAAA;;GAEH,SAAOd,QACe,CAA/BC,EAA+BqC,EAAA,QAAA,iBAAA,C;GAEtB,MAAItC,GAaX,EAbe,kBAAQ,CACzBE,EAYEC,GAAA;IAXC,aAAWM,EAAA;IACX,cAAYA,EAAA;IACZ,eAAaV,EAAAY,CAAA;IACb,aAAW6B;IACX,cAAY/B,EAAA;IACZ,gBAAcmB,EAAA;IACd,oBAAkB7B,EAAA0C,CAAA;IAClB,QAAQhC,EAAA;IACR,WAASsB;IACT,QAAI,AAAAW,EAAA,QAAA,MAAEhC,EAAI,MAAA;IACV,gBAAc,AAAAgC,EAAA,QAAA,MAAEhC,EAAI,cAAA"}
1
+ {"version":3,"file":"UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","AssetDetailSidebarFrame","_unref","_withCtx","_renderSlot","_createVNode","UploadQueueDialogSingleSidebarMetadata","AssetDetailSidebarFrame_default","UploadQueueDialogSingleSidebarMetadata_default","UploadQueueDialogSingleSidebar_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","useCommonAdminCoreDamOptions","simpleMode","computed","simpleAssetSidebarEnabled","uploadQueuesStore","useUploadQueuesStore","item","waitsFor","UploadQueueItemStatus","refreshDue","ref","refreshTimer","watch","waits","onUnmounted","showRefresh","isNull","useUploadQueueItemRefresh","refresh","refreshItem","openBlock","createBlock","unref","withCtx","renderSlot","_ctx","createVNode","isActive","refreshing","_cache"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { DamAssetStatusType, DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType, AssetFileProcessStatusType } from '@/domains/dam/types/AssetFile'\nimport { computed, onUnmounted, ref, watch } from 'vue'\nimport AssetDetailSidebarFrame from '@/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue'\nimport UploadQueueDialogSingleSidebarMetadata from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { UploadQueueItemStatus } from '@/domains/dam/types/UploadQueue'\nimport {\n SHOW_REFRESH_AFTER_SECONDS,\n useUploadQueueItemRefresh,\n} from '@/domains/dam/uploadQueue/composables/uploadQueueItemRefresh'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport { isNull } from '@/shared/utils/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n assetId: DocId\n isVideo: boolean\n isAudio: boolean\n isImage: boolean\n isDocument: boolean\n enableRoiTab: boolean\n showFileInfo: boolean\n dataCy?: string\n assetStatus: DamAssetStatusType\n assetType: DamAssetTypeType\n assetMainFileStatus?: AssetFileProcessStatusType | undefined\n assetMainFileFailReason?: AssetFileFailReasonType | undefined\n configName?: string\n /** Which of the two metadata save buttons is saving. */\n saving?: 'save' | 'saveAndApply' | null\n }>(),\n {\n assetMainFileStatus: undefined,\n assetMainFileFailReason: undefined,\n dataCy: undefined,\n configName: undefined,\n saving: null,\n }\n)\nconst emit = defineEmits<{\n (e: 'save'): void\n (e: 'saveAndApply'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { simpleAssetSidebarEnabled } = useCommonAdminCoreDamOptions(damConfigName)\nconst simpleMode = computed(() => simpleAssetSidebarEnabled && props.isImage && props.enableRoiTab)\n\n// What the item still waits for from the server: file processing, or\n// metadata once uploaded. Until then the form and both saves are disabled.\n// Each wait counts from its start, as in the queue row.\n// Kept here, not in the metadata tab, because the wait continues while the other tab is open.\nconst uploadQueuesStore = useUploadQueuesStore()\nconst item = computed(() => uploadQueuesStore.getQueueItems(props.queueKey)[0] ?? null)\nconst waitsFor = computed(() => {\n if (item.value?.status === UploadQueueItemStatus.Processing) return 'file'\n if (item.value?.status === UploadQueueItemStatus.Uploaded && !item.value.canEditMetadata) return 'metadata'\n return null\n})\nconst refreshDue = ref(false)\nlet refreshTimer: ReturnType<typeof setTimeout> | undefined\nwatch(\n waitsFor,\n (waits) => {\n clearTimeout(refreshTimer)\n refreshDue.value = false\n if (isNull(waits)) return\n refreshTimer = setTimeout(() => (refreshDue.value = true), SHOW_REFRESH_AFTER_SECONDS * 1000)\n },\n { immediate: true }\n)\nonUnmounted(() => clearTimeout(refreshTimer))\n// A failed item offers refresh, like the queue row, only while a refresh\n// can still change it: the store says so and the item has its asset.\nconst showRefresh = computed(() => {\n if (item.value?.status === UploadQueueItemStatus.Failed) {\n return uploadQueuesStore.refreshMayHelp(item.value) && !isNull(item.value.assetId)\n }\n return refreshDue.value\n})\n\nconst { refreshing, refreshItem } = useUploadQueueItemRefresh(damConfigName)\nconst refresh = () => {\n if (item.value?.assetId) refreshItem(item.value.assetId, item.value, props.queueKey)\n}\n</script>\n\n<template>\n <AssetDetailSidebarFrame\n :queue-key=\"queueKey\"\n :config-name=\"damConfigName\"\n :roi-tab=\"isImage && enableRoiTab\"\n :simple-mode=\"simpleMode\"\n >\n <template #prepend>\n <slot name=\"prepend-sidebar\" />\n </template>\n <template #info=\"{ isActive }\">\n <UploadQueueDialogSingleSidebarMetadata\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n :is-active=\"isActive\"\n :asset-type=\"assetType\"\n :show-refresh=\"showRefresh\"\n :refresh-disabled=\"refreshing\"\n :saving=\"saving\"\n @refresh=\"refresh\"\n @save=\"emit('save')\"\n @save-and-apply=\"emit('saveAndApply')\"\n />\n </template>\n </AssetDetailSidebarFrame>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,IAAMY,IAAQC,GA4BRC,IAAOH,GAKPI,IAAgBC,EAAiBJ,EAAM,UAAU,GAEjD,EAAE,iCAA8BK,EAA6BF,CAAa,GAC1EG,IAAaC,QAAeC,KAA6BR,EAAM,WAAWA,EAAM,YAAY,GAM5FS,IAAoBC,EAAqB,GACzCC,IAAOJ,QAAeE,EAAkB,cAAcT,EAAM,QAAQ,CAAC,CAAC,MAAM,IAAI,GAChFY,IAAWL,QACXI,EAAK,OAAO,WAAWE,EAAsB,aAAmB,SAChEF,EAAK,OAAO,WAAWE,EAAsB,YAAY,CAACF,EAAK,MAAM,kBAAwB,aAC1F,IACR,GACKG,IAAaC,EAAI,EAAK,GACxBC;EAWJ,AAVAC,EACEL,IACC,MAAU;GAGT,AAFA,aAAaI,CAAY,GACzB,EAAW,QAAQ,IACf,GAAOE,CAAK,MAChB,IAAe,iBAAkB,EAAW,QAAQ,IAAA,GAAwC;EAC9F,GACA,EAAE,WAAW,GAAK,CACpB,GACAC,QAAkB,aAAaH,CAAY,CAAC;EAG5C,IAAMI,IAAcb,QACdI,EAAK,OAAO,WAAWE,EAAsB,SACxCJ,EAAkB,eAAeE,EAAK,KAAK,KAAK,CAACU,EAAOV,EAAK,MAAM,OAAO,IAE5EG,EAAW,KACnB,GAEK,EAAE,eAAY,mBAAgBQ,EAA0BnB,CAAa,GACrEoB,UAAgB;GACpB,AAAIZ,EAAK,OAAO,WAASa,EAAYb,EAAK,MAAM,SAASA,EAAK,OAAOX,EAAM,QAAQ;EACrF;E,kBAIEZ,EAAA,GAAAC,EAwB0BC,GAAA;GAvBvB,aAAWW,EAAA;GACX,eAAaV,EAAAY,CAAA;GACb,WAASF,EAAA,WAAWA,EAAA;GACpB,eAAaK,EAAA;;GAEH,SAAOd,QACe,CAA/BC,EAA+BqC,EAAA,QAAA,iBAAA,C;GAEtB,MAAItC,GAaX,EAbe,kBAAQ,CACzBE,EAYEC,GAAA;IAXC,aAAWM,EAAA;IACX,cAAYA,EAAA;IACZ,eAAaV,EAAAY,CAAA;IACb,aAAW6B;IACX,cAAY/B,EAAA;IACZ,gBAAcmB,EAAA;IACd,oBAAkB7B,EAAA0C,CAAA;IAClB,QAAQhC,EAAA;IACR,WAASsB;IACT,QAAI,AAAAW,EAAA,QAAA,MAAEhC,EAAI,MAAA;IACV,gBAAc,AAAAgC,EAAA,QAAA,MAAEhC,EAAI,cAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueDialogSingleSidebarMetadata.js","names":["_sfc_main","UploadQueueDialogSingleSidebarMetadata_vue_vue_type_script_setup_true_lang_default","UploadQueueDialogSingleSidebarMetadata_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AssetDetailSidebarActionsWrapper from '@/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue'\nimport { useI18n } from 'vue-i18n'\nimport { computed } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport UploadQueueDialogSingleSidebarMetadataContent from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n isActive: boolean\n dataCy?: string\n assetType: DamAssetTypeType\n configName?: string\n showRefresh?: boolean\n refreshDisabled?: boolean\n /** Which of the two buttons saves, while it does. */\n saving?: 'save' | 'saveAndApply' | null\n }>(),\n {\n dataCy: undefined,\n configName: undefined,\n showRefresh: false,\n refreshDisabled: false,\n saving: null,\n }\n)\nconst emit = defineEmits<{\n (e: 'save'): void\n (e: 'saveAndApply'): void\n (e: 'refresh'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst canEditMetadata = computed(() => {\n const items = uploadQueuesStore.getQueueItems(props.queueKey)\n return items[0]?.canEditMetadata ?? false\n})\n\nconst v$ = useVuelidate({ $scope: ADamAssetMetadataValidationScopeSymbol })\n\nconst { showValidationError } = useAlerts()\n\nconst onSave = async () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n emit('save')\n}\n\nconst onSaveAndApply = async () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n emit('saveAndApply')\n}\n</script>\n\n<template>\n <AssetDetailSidebarActionsWrapper\n v-if=\"isActive\"\n :queue-key=\"queueKey\"\n >\n <ABtnTertiary\n v-if=\"showRefresh\"\n data-cy=\"button-refresh\"\n :disabled=\"refreshDisabled\"\n @click.stop=\"emit('refresh')\"\n >\n {{ t('common.button.refresh') }}\n </ABtnTertiary>\n <ABtnSecondary\n type=\"submit\"\n class=\"ml-2\"\n data-cy=\"button-save\"\n :loading=\"saving === 'save'\"\n :disabled=\"!canEditMetadata || saving === 'saveAndApply'\"\n @click.stop=\"onSave\"\n >\n {{ t('common.button.save') }}\n </ABtnSecondary>\n <ABtnPrimary\n type=\"submit\"\n class=\"mx-2\"\n data-cy=\"button-save-and-apply\"\n :loading=\"saving === 'saveAndApply'\"\n :disabled=\"!canEditMetadata || saving === 'save'\"\n @click.stop=\"onSaveAndApply\"\n >\n {{ t('common.damImage.upload.saveAndApply') }}\n </ABtnPrimary>\n </AssetDetailSidebarActionsWrapper>\n <UploadQueueDialogSingleSidebarMetadataContent\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"UploadQueueDialogSingleSidebarMetadata.js","names":["_sfc_main","UploadQueueDialogSingleSidebarMetadata_vue_vue_type_script_setup_true_lang_default","UploadQueueDialogSingleSidebarMetadata_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AssetDetailSidebarActionsWrapper from '@/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue'\nimport { useI18n } from 'vue-i18n'\nimport { computed } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport UploadQueueDialogSingleSidebarMetadataContent from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n isActive: boolean\n dataCy?: string\n assetType: DamAssetTypeType\n configName?: string\n showRefresh?: boolean\n refreshDisabled?: boolean\n /** Which of the two buttons is saving. */\n saving?: 'save' | 'saveAndApply' | null\n }>(),\n {\n dataCy: undefined,\n configName: undefined,\n showRefresh: false,\n refreshDisabled: false,\n saving: null,\n }\n)\nconst emit = defineEmits<{\n (e: 'save'): void\n (e: 'saveAndApply'): void\n (e: 'refresh'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst canEditMetadata = computed(() => {\n const items = uploadQueuesStore.getQueueItems(props.queueKey)\n return items[0]?.canEditMetadata ?? false\n})\n\nconst v$ = useVuelidate({ $scope: ADamAssetMetadataValidationScopeSymbol })\n\nconst { showValidationError } = useAlerts()\n\nconst onSave = async () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n emit('save')\n}\n\nconst onSaveAndApply = async () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n emit('saveAndApply')\n}\n</script>\n\n<template>\n <AssetDetailSidebarActionsWrapper\n v-if=\"isActive\"\n :queue-key=\"queueKey\"\n >\n <ABtnTertiary\n v-if=\"showRefresh\"\n data-cy=\"button-refresh\"\n :disabled=\"refreshDisabled\"\n @click.stop=\"emit('refresh')\"\n >\n {{ t('common.button.refresh') }}\n </ABtnTertiary>\n <ABtnSecondary\n type=\"submit\"\n class=\"ml-2\"\n data-cy=\"button-save\"\n :loading=\"saving === 'save'\"\n :disabled=\"!canEditMetadata || saving === 'saveAndApply'\"\n @click.stop=\"onSave\"\n >\n {{ t('common.button.save') }}\n </ABtnSecondary>\n <ABtnPrimary\n type=\"submit\"\n class=\"mx-2\"\n data-cy=\"button-save-and-apply\"\n :loading=\"saving === 'saveAndApply'\"\n :disabled=\"!canEditMetadata || saving === 'save'\"\n @click.stop=\"onSaveAndApply\"\n >\n {{ t('common.damImage.upload.saveAndApply') }}\n </ABtnPrimary>\n </AssetDetailSidebarActionsWrapper>\n <UploadQueueDialogSingleSidebarMetadataContent\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n />\n</template>\n"],"mappings":""}
@@ -9,7 +9,7 @@ type __VLS_Props = {
9
9
  configName?: string;
10
10
  showRefresh?: boolean;
11
11
  refreshDisabled?: boolean;
12
- /** Which of the two buttons saves, while it does. */
12
+ /** Which of the two buttons is saving. */
13
13
  saving?: 'save' | 'saveAndApply' | null;
14
14
  };
15
15
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createBlock","AssetDetailSidebarActionsWrapper","_withCtx","_withModifiers","_createTextVNode","_toDisplayString","_unref","_createCommentVNode","_createVNode","UploadQueueDialogSingleSidebarMetadataContent","AssetDetailSidebarActionsWrapper_default","UploadQueueDialogSingleSidebarMetadataContent_default","useVuelidate","UploadQueueDialogSingleSidebarMetadata_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","useI18n","uploadQueuesStore","useUploadQueuesStore","canEditMetadata","computed","v$","ADamAssetMetadataValidationScopeSymbol","useAlerts","onSave","showValidationError","onSaveAndApply","_component_ABtnTertiary","resolveComponent","_component_ABtnSecondary","_component_ABtnPrimary","openBlock","createElementBlock","Fragment","createBlock","withCtx","_cache","withModifiers","createTextVNode","toDisplayString","unref","t","createCommentVNode","createVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AssetDetailSidebarActionsWrapper from '@/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue'\nimport { useI18n } from 'vue-i18n'\nimport { computed } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport UploadQueueDialogSingleSidebarMetadataContent from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n isActive: boolean\n dataCy?: string\n assetType: DamAssetTypeType\n configName?: string\n showRefresh?: boolean\n refreshDisabled?: boolean\n /** Which of the two buttons saves, while it does. */\n saving?: 'save' | 'saveAndApply' | null\n }>(),\n {\n dataCy: undefined,\n configName: undefined,\n showRefresh: false,\n refreshDisabled: false,\n saving: null,\n }\n)\nconst emit = defineEmits<{\n (e: 'save'): void\n (e: 'saveAndApply'): void\n (e: 'refresh'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst canEditMetadata = computed(() => {\n const items = uploadQueuesStore.getQueueItems(props.queueKey)\n return items[0]?.canEditMetadata ?? false\n})\n\nconst v$ = useVuelidate({ $scope: ADamAssetMetadataValidationScopeSymbol })\n\nconst { showValidationError } = useAlerts()\n\nconst onSave = async () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n emit('save')\n}\n\nconst onSaveAndApply = async () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n emit('saveAndApply')\n}\n</script>\n\n<template>\n <AssetDetailSidebarActionsWrapper\n v-if=\"isActive\"\n :queue-key=\"queueKey\"\n >\n <ABtnTertiary\n v-if=\"showRefresh\"\n data-cy=\"button-refresh\"\n :disabled=\"refreshDisabled\"\n @click.stop=\"emit('refresh')\"\n >\n {{ t('common.button.refresh') }}\n </ABtnTertiary>\n <ABtnSecondary\n type=\"submit\"\n class=\"ml-2\"\n data-cy=\"button-save\"\n :loading=\"saving === 'save'\"\n :disabled=\"!canEditMetadata || saving === 'saveAndApply'\"\n @click.stop=\"onSave\"\n >\n {{ t('common.button.save') }}\n </ABtnSecondary>\n <ABtnPrimary\n type=\"submit\"\n class=\"mx-2\"\n data-cy=\"button-save-and-apply\"\n :loading=\"saving === 'saveAndApply'\"\n :disabled=\"!canEditMetadata || saving === 'save'\"\n @click.stop=\"onSaveAndApply\"\n >\n {{ t('common.damImage.upload.saveAndApply') }}\n </ABtnPrimary>\n </AssetDetailSidebarActionsWrapper>\n <UploadQueueDialogSingleSidebarMetadataContent\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaA,IAAMmB,IAAQC,GAqBRC,IAAOH,GAMPI,IAAgBC,EAAiBJ,EAAM,UAAU,GAEjD,EAAE,SAAMK,EAAQ,GAEhBC,IAAoBC,EAAqB,GAEzCC,IAAkBC,QACRH,EAAkB,cAAcN,EAAM,QAC7C,CAAA,CAAM,EAAE,EAAE,mBAAmB,EACrC,GAEKU,IAAKb,EAAa,EAAE,QAAQc,EAAuC,CAAC,GAEpE,EAAE,2BAAwBC,EAAU,GAEpCC,IAAS,YAAY;GAEzB,AADAH,EAAG,MAAM,OAAO,GACZA,EAAG,MAAM,WACXI,EAAoB,IAGtBZ,EAAK,MAAM;EACb,GAEMa,IAAiB,YAAY;GAEjC,AADAL,EAAG,MAAM,OAAO,GACZA,EAAG,MAAM,WACXI,EAAoB,IAGtBZ,EAAK,cAAc;EACrB;;;G,wBAKUD,EAAA,YADRnB,EAAA,GAAAG,EAgCmCC,GAAA;;IA9BhC,aAAWe,EAAA;;IAEZ,SAAAd,QAOe;KANPc,EAAA,eADRnB,EAAA,GAAAG,EAOe+B,GAAA;;MALb,WAAQ;MACP,UAAUf,EAAA;MACV,SAAK,AAAAwB,EAAA,OAAArC,GAAA,MAAOc,EAAI,SAAA,GAAA,CAAA,MAAA,CAAA;;MAEjB,SAAAf,QAAgC,CAA7BE,EAAAC,EAAAC,EAAAuC,CAAA,CAAC,CAAA,uBAAA,CAAA,GAAA,CAAA,C;;;KAENrC,EASgByB,GAAA;MARd,MAAK;MACL,OAAM;MACN,WAAQ;MACP,SAASjB,EAAA,WAAM;MACf,UAAQ,CAAGO,EAAA,SAAmBP,EAAA,WAAM;MACpC,SAAKb,EAAOyB,GAAM,CAAA,MAAA,CAAA;;MAEnB,SAAA1B,QAA6B,CAA1BE,EAAAC,EAAAC,EAAAuC,CAAA,CAAC,CAAA,oBAAA,CAAA,GAAA,CAAA,C;;;KAENrC,EASc0B,GAAA;MARZ,MAAK;MACL,OAAM;MACN,WAAQ;MACP,SAASlB,EAAA,WAAM;MACf,UAAQ,CAAGO,EAAA,SAAmBP,EAAA,WAAM;MACpC,SAAKb,EAAO2B,GAAc,CAAA,MAAA,CAAA;;MAE3B,SAAA5B,QAA8C,CAA3CE,EAAAC,EAAAC,EAAAuC,CAAA,CAAC,CAAA,qCAAA,CAAA,GAAA,CAAA,C;;;;;G,mCAGRrC,EAIEC,GAAA;IAHC,aAAWO,EAAA;IACX,cAAYA,EAAA;IACZ,eAAaV,EAAAY,CAAA"}
1
+ {"version":3,"file":"UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createBlock","AssetDetailSidebarActionsWrapper","_withCtx","_withModifiers","_createTextVNode","_toDisplayString","_unref","_createCommentVNode","_createVNode","UploadQueueDialogSingleSidebarMetadataContent","AssetDetailSidebarActionsWrapper_default","UploadQueueDialogSingleSidebarMetadataContent_default","useVuelidate","UploadQueueDialogSingleSidebarMetadata_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","useI18n","uploadQueuesStore","useUploadQueuesStore","canEditMetadata","computed","v$","ADamAssetMetadataValidationScopeSymbol","useAlerts","onSave","showValidationError","onSaveAndApply","_component_ABtnTertiary","resolveComponent","_component_ABtnSecondary","_component_ABtnPrimary","openBlock","createElementBlock","Fragment","createBlock","withCtx","_cache","withModifiers","createTextVNode","toDisplayString","unref","t","createCommentVNode","createVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AssetDetailSidebarActionsWrapper from '@/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue'\nimport { useI18n } from 'vue-i18n'\nimport { computed } from 'vue'\nimport useVuelidate from '@vuelidate/core'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport UploadQueueDialogSingleSidebarMetadataContent from '@/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n isActive: boolean\n dataCy?: string\n assetType: DamAssetTypeType\n configName?: string\n showRefresh?: boolean\n refreshDisabled?: boolean\n /** Which of the two buttons is saving. */\n saving?: 'save' | 'saveAndApply' | null\n }>(),\n {\n dataCy: undefined,\n configName: undefined,\n showRefresh: false,\n refreshDisabled: false,\n saving: null,\n }\n)\nconst emit = defineEmits<{\n (e: 'save'): void\n (e: 'saveAndApply'): void\n (e: 'refresh'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst canEditMetadata = computed(() => {\n const items = uploadQueuesStore.getQueueItems(props.queueKey)\n return items[0]?.canEditMetadata ?? false\n})\n\nconst v$ = useVuelidate({ $scope: ADamAssetMetadataValidationScopeSymbol })\n\nconst { showValidationError } = useAlerts()\n\nconst onSave = async () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n emit('save')\n}\n\nconst onSaveAndApply = async () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n emit('saveAndApply')\n}\n</script>\n\n<template>\n <AssetDetailSidebarActionsWrapper\n v-if=\"isActive\"\n :queue-key=\"queueKey\"\n >\n <ABtnTertiary\n v-if=\"showRefresh\"\n data-cy=\"button-refresh\"\n :disabled=\"refreshDisabled\"\n @click.stop=\"emit('refresh')\"\n >\n {{ t('common.button.refresh') }}\n </ABtnTertiary>\n <ABtnSecondary\n type=\"submit\"\n class=\"ml-2\"\n data-cy=\"button-save\"\n :loading=\"saving === 'save'\"\n :disabled=\"!canEditMetadata || saving === 'saveAndApply'\"\n @click.stop=\"onSave\"\n >\n {{ t('common.button.save') }}\n </ABtnSecondary>\n <ABtnPrimary\n type=\"submit\"\n class=\"mx-2\"\n data-cy=\"button-save-and-apply\"\n :loading=\"saving === 'saveAndApply'\"\n :disabled=\"!canEditMetadata || saving === 'save'\"\n @click.stop=\"onSaveAndApply\"\n >\n {{ t('common.damImage.upload.saveAndApply') }}\n </ABtnPrimary>\n </AssetDetailSidebarActionsWrapper>\n <UploadQueueDialogSingleSidebarMetadataContent\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n :config-name=\"damConfigName\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaA,IAAMmB,IAAQC,GAqBRC,IAAOH,GAMPI,IAAgBC,EAAiBJ,EAAM,UAAU,GAEjD,EAAE,SAAMK,EAAQ,GAEhBC,IAAoBC,EAAqB,GAEzCC,IAAkBC,QACRH,EAAkB,cAAcN,EAAM,QAC7C,CAAA,CAAM,EAAE,EAAE,mBAAmB,EACrC,GAEKU,IAAKb,EAAa,EAAE,QAAQc,EAAuC,CAAC,GAEpE,EAAE,2BAAwBC,EAAU,GAEpCC,IAAS,YAAY;GAEzB,AADAH,EAAG,MAAM,OAAO,GACZA,EAAG,MAAM,WACXI,EAAoB,IAGtBZ,EAAK,MAAM;EACb,GAEMa,IAAiB,YAAY;GAEjC,AADAL,EAAG,MAAM,OAAO,GACZA,EAAG,MAAM,WACXI,EAAoB,IAGtBZ,EAAK,cAAc;EACrB;;;G,wBAKUD,EAAA,YADRnB,EAAA,GAAAG,EAgCmCC,GAAA;;IA9BhC,aAAWe,EAAA;;IAEZ,SAAAd,QAOe;KANPc,EAAA,eADRnB,EAAA,GAAAG,EAOe+B,GAAA;;MALb,WAAQ;MACP,UAAUf,EAAA;MACV,SAAK,AAAAwB,EAAA,OAAArC,GAAA,MAAOc,EAAI,SAAA,GAAA,CAAA,MAAA,CAAA;;MAEjB,SAAAf,QAAgC,CAA7BE,EAAAC,EAAAC,EAAAuC,CAAA,CAAC,CAAA,uBAAA,CAAA,GAAA,CAAA,C;;;KAENrC,EASgByB,GAAA;MARd,MAAK;MACL,OAAM;MACN,WAAQ;MACP,SAASjB,EAAA,WAAM;MACf,UAAQ,CAAGO,EAAA,SAAmBP,EAAA,WAAM;MACpC,SAAKb,EAAOyB,GAAM,CAAA,MAAA,CAAA;;MAEnB,SAAA1B,QAA6B,CAA1BE,EAAAC,EAAAC,EAAAuC,CAAA,CAAC,CAAA,oBAAA,CAAA,GAAA,CAAA,C;;;KAENrC,EASc0B,GAAA;MARZ,MAAK;MACL,OAAM;MACN,WAAQ;MACP,SAASlB,EAAA,WAAM;MACf,UAAQ,CAAGO,EAAA,SAAmBP,EAAA,WAAM;MACpC,SAAKb,EAAO2B,GAAc,CAAA,MAAA,CAAA;;MAE3B,SAAA5B,QAA8C,CAA3CE,EAAAC,EAAAC,EAAAuC,CAAA,CAAC,CAAA,qCAAA,CAAA,GAAA,CAAA,C;;;;;G,mCAGRrC,EAIEC,GAAA;IAHC,aAAWO,EAAA;IACX,cAAYA,EAAA;IACZ,eAAaV,EAAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueDialogSingleSidebarMetadataContent.js","names":["_sfc_main","UploadQueueDialogSingleSidebarMetadataContent_vue_vue_type_script_setup_true_lang_default","UploadQueueDialogSingleSidebarMetadataContent_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, ref } from 'vue'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { storeToRefs } from 'pinia'\nimport AssetCustomMetadataForm from '@/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue'\nimport AssetFileInfoPanel from '@/domains/dam/assetDetail/components/AssetFileInfoPanel.vue'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { UploadQueueItem } from '@/domains/dam/types/UploadQueue'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useDamKeywordAssetTypeConfig } from '@/domains/dam/keyword/composables/damKeywordConfig'\nimport { useDamAuthorAssetTypeConfig } from '@/domains/dam/author/composables/damAuthorConfig'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n configName?: string\n }>(),\n {\n configName: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst panels = ref(['metadata', 'file'])\n\nconst assetDetailStore = useAssetDetailStore()\nconst { asset, metadataAreTouched } = storeToRefs(assetDetailStore)\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst items = computed(() => {\n return uploadQueuesStore.getQueueItems(props.queueKey)\n})\n\nconst item = computed<UploadQueueItem | null>(() => {\n return items.value[0] ?? null\n})\n\nconst assetType = computed(() => {\n return DamAssetType.Image\n})\n\nconst onAnyMetadataChange = () => {\n metadataAreTouched.value = true\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { keywordRequired, keywordEnabled } = useDamKeywordAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { authorRequired, authorEnabled } = useDamAuthorAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\nconst { mainFileSingleUseEnabled, showFileInfoEnabled } = useCommonAdminCoreDamOptions(damConfigName)\n</script>\n\n<template>\n <VExpansionPanels\n v-if=\"item\"\n v-model=\"panels\"\n multiple\n class=\"v-expansion-panels--compact\"\n >\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.metadata')\"\n value=\"metadata\"\n >\n <VExpansionPanelText>\n <VForm :disabled=\"!item.canEditMetadata\">\n <AssetCustomMetadataForm\n v-if=\"item\"\n v-model=\"item.customData\"\n :ext-system=\"extSystem\"\n :asset-type=\"assetType\"\n @any-change=\"onAnyMetadataChange\"\n >\n <template #after-pinned>\n <VRow\n v-if=\"keywordEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"keyword\"\n system=\"dam\"\n >\n <KeywordRemoteAutocompleteWithCached\n v-model=\"item.keywords\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n data-cy=\"custom-field-keywords\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :disabled=\"!item.canEditMetadata\"\n :required=\"keywordRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"authorEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"item.authors\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"item.authorConflicts\"\n data-cy=\"custom-field-authors\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :disabled=\"!item.canEditMetadata\"\n :required=\"authorRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"mainFileSingleUseEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <VSwitch\n v-model=\"item.mainFileSingleUse\"\n :label=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n />\n </VCol>\n </VRow>\n </template>\n </AssetCustomMetadataForm>\n </VForm>\n </VExpansionPanelText>\n </VExpansionPanel>\n <!-- Of the asset of this row only: the store is shared, and holds what was left in it until the dialog has\n read its own. -->\n <AssetFileInfoPanel\n v-if=\"asset && asset.id === item.assetId && showFileInfoEnabled\"\n :asset=\"asset\"\n :show-users=\"false\"\n />\n </VExpansionPanels>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"UploadQueueDialogSingleSidebarMetadataContent.js","names":["_sfc_main","UploadQueueDialogSingleSidebarMetadataContent_vue_vue_type_script_setup_true_lang_default","UploadQueueDialogSingleSidebarMetadataContent_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, ref } from 'vue'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { storeToRefs } from 'pinia'\nimport AssetCustomMetadataForm from '@/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue'\nimport AssetFileInfoPanel from '@/domains/dam/assetDetail/components/AssetFileInfoPanel.vue'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { UploadQueueItem } from '@/domains/dam/types/UploadQueue'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useDamKeywordAssetTypeConfig } from '@/domains/dam/keyword/composables/damKeywordConfig'\nimport { useDamAuthorAssetTypeConfig } from '@/domains/dam/author/composables/damAuthorConfig'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n configName?: string\n }>(),\n {\n configName: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst panels = ref(['metadata', 'file'])\n\nconst assetDetailStore = useAssetDetailStore()\nconst { asset, metadataAreTouched } = storeToRefs(assetDetailStore)\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst items = computed(() => {\n return uploadQueuesStore.getQueueItems(props.queueKey)\n})\n\nconst item = computed<UploadQueueItem | null>(() => {\n return items.value[0] ?? null\n})\n\nconst assetType = computed(() => {\n return DamAssetType.Image\n})\n\nconst onAnyMetadataChange = () => {\n metadataAreTouched.value = true\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { keywordRequired, keywordEnabled } = useDamKeywordAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { authorRequired, authorEnabled } = useDamAuthorAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\nconst { mainFileSingleUseEnabled, showFileInfoEnabled } = useCommonAdminCoreDamOptions(damConfigName)\n</script>\n\n<template>\n <VExpansionPanels\n v-if=\"item\"\n v-model=\"panels\"\n multiple\n class=\"v-expansion-panels--compact\"\n >\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.metadata')\"\n value=\"metadata\"\n >\n <VExpansionPanelText>\n <VForm :disabled=\"!item.canEditMetadata\">\n <AssetCustomMetadataForm\n v-if=\"item\"\n v-model=\"item.customData\"\n :ext-system=\"extSystem\"\n :asset-type=\"assetType\"\n @any-change=\"onAnyMetadataChange\"\n >\n <template #after-pinned>\n <VRow\n v-if=\"keywordEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"keyword\"\n system=\"dam\"\n >\n <KeywordRemoteAutocompleteWithCached\n v-model=\"item.keywords\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n data-cy=\"custom-field-keywords\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :disabled=\"!item.canEditMetadata\"\n :required=\"keywordRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"authorEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"item.authors\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"item.authorConflicts\"\n data-cy=\"custom-field-authors\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :disabled=\"!item.canEditMetadata\"\n :required=\"authorRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"mainFileSingleUseEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <VSwitch\n v-model=\"item.mainFileSingleUse\"\n :label=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n />\n </VCol>\n </VRow>\n </template>\n </AssetCustomMetadataForm>\n </VForm>\n </VExpansionPanelText>\n </VExpansionPanel>\n <!--\n Only for this row's asset. The store is shared and holds the previous asset until the dialog has read its own.\n -->\n <AssetFileInfoPanel\n v-if=\"asset && asset.id === item.assetId && showFileInfoEnabled\"\n :asset=\"asset\"\n :show-users=\"false\"\n />\n </VExpansionPanels>\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VExpansionPanels","_withCtx","_createVNode","_component_VExpansionPanel","_unref","_component_VExpansionPanelText","_component_VForm","AssetCustomMetadataForm","_component_VRow","_component_VCol","ASystemEntityScope","KeywordRemoteAutocompleteWithCached","_createCommentVNode","AuthorRemoteAutocompleteWithCached","_component_VSwitch","AssetFileInfoPanel","ASystemEntityScope_default","AssetCustomMetadataForm_default","AssetFileInfoPanel_default","AuthorRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteWithCached_default","UploadQueueDialogSingleSidebarMetadataContent_vue_vue_type_script_setup_true_lang_default","props","__props","damConfigName","useDamConfigName","useI18n","panels","ref","assetDetailStore","useAssetDetailStore","storeToRefs","uploadQueuesStore","useUploadQueuesStore","items","computed","item","assetType","DamAssetType","onAnyMetadataChange","useDamKeywordAssetTypeConfig","useDamAuthorAssetTypeConfig","useCommonAdminCoreDamOptions","openBlock","createBlock","VExpansionPanels","_cache","$event","withCtx","createVNode","VExpansionPanel","unref","t","VExpansionPanelText","VForm","keywordEnabled","VRow","VCol","keywordRequired","ADamAssetMetadataValidationScopeSymbol","createCommentVNode","authorEnabled","authorRequired","mainFileSingleUseEnabled","VSwitch","asset","showFileInfoEnabled"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, ref } from 'vue'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { storeToRefs } from 'pinia'\nimport AssetCustomMetadataForm from '@/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue'\nimport AssetFileInfoPanel from '@/domains/dam/assetDetail/components/AssetFileInfoPanel.vue'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { UploadQueueItem } from '@/domains/dam/types/UploadQueue'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useDamKeywordAssetTypeConfig } from '@/domains/dam/keyword/composables/damKeywordConfig'\nimport { useDamAuthorAssetTypeConfig } from '@/domains/dam/author/composables/damAuthorConfig'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n configName?: string\n }>(),\n {\n configName: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst panels = ref(['metadata', 'file'])\n\nconst assetDetailStore = useAssetDetailStore()\nconst { asset, metadataAreTouched } = storeToRefs(assetDetailStore)\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst items = computed(() => {\n return uploadQueuesStore.getQueueItems(props.queueKey)\n})\n\nconst item = computed<UploadQueueItem | null>(() => {\n return items.value[0] ?? null\n})\n\nconst assetType = computed(() => {\n return DamAssetType.Image\n})\n\nconst onAnyMetadataChange = () => {\n metadataAreTouched.value = true\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { keywordRequired, keywordEnabled } = useDamKeywordAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { authorRequired, authorEnabled } = useDamAuthorAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\nconst { mainFileSingleUseEnabled, showFileInfoEnabled } = useCommonAdminCoreDamOptions(damConfigName)\n</script>\n\n<template>\n <VExpansionPanels\n v-if=\"item\"\n v-model=\"panels\"\n multiple\n class=\"v-expansion-panels--compact\"\n >\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.metadata')\"\n value=\"metadata\"\n >\n <VExpansionPanelText>\n <VForm :disabled=\"!item.canEditMetadata\">\n <AssetCustomMetadataForm\n v-if=\"item\"\n v-model=\"item.customData\"\n :ext-system=\"extSystem\"\n :asset-type=\"assetType\"\n @any-change=\"onAnyMetadataChange\"\n >\n <template #after-pinned>\n <VRow\n v-if=\"keywordEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"keyword\"\n system=\"dam\"\n >\n <KeywordRemoteAutocompleteWithCached\n v-model=\"item.keywords\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n data-cy=\"custom-field-keywords\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :disabled=\"!item.canEditMetadata\"\n :required=\"keywordRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"authorEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"item.authors\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"item.authorConflicts\"\n data-cy=\"custom-field-authors\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :disabled=\"!item.canEditMetadata\"\n :required=\"authorRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"mainFileSingleUseEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <VSwitch\n v-model=\"item.mainFileSingleUse\"\n :label=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n />\n </VCol>\n </VRow>\n </template>\n </AssetCustomMetadataForm>\n </VForm>\n </VExpansionPanelText>\n </VExpansionPanel>\n <!-- Of the asset of this row only: the store is shared, and holds what was left in it until the dialog has\n read its own. -->\n <AssetFileInfoPanel\n v-if=\"asset && asset.id === item.assetId && showFileInfoEnabled\"\n :asset=\"asset\"\n :show-users=\"false\"\n />\n </VExpansionPanels>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBA,IAAMwB,IAAQC,GAWRC,IAAgBC,EAAiBH,EAAM,UAAU,GAEjD,EAAE,SAAMI,EAAQ,GAEhBC,IAASC,EAAI,CAAC,YAAY,MAAM,CAAC,GAEjCC,IAAmBC,EAAoB,GACvC,EAAE,UAAO,0BAAuBC,EAAYF,CAAgB,GAE5DG,IAAoBC,EAAqB,GAEzCC,IAAQC,QACLH,EAAkB,cAAcV,EAAM,QAAQ,CACtD,GAEKc,IAAOD,QACJD,EAAM,MAAM,MAAM,IAC1B,GAEKG,IAAYF,QACTG,EAAa,KACrB,GAEKC,UAA4B;GAChC,EAAmB,QAAQ;EAC7B,GAGM,EAAE,oBAAiB,sBAAmBC,EAE1CH,EAAU,OACVf,EAAM,WACNE,CACF,GAEM,EAAE,mBAAgB,qBAAkBiB,EAExCJ,EAAU,OACVf,EAAM,WACNE,CACF,GACM,EAAE,6BAA0B,2BAAwBkB,EAA6BlB,CAAa;E,iBAK1FY,EAAA,SADRtC,EAAA,GAAAC,EAgGmBC,GAAA;;GA9FR,YAAA2B,EAAA;GAAA,uBAAA,AAAAmB,EAAA,QAAA,MAAA,EAAM,QAAAC;GACf,UAAA;GACA,OAAM;;GAEN,SAAA9C,QAkFkB,CAlFlBC,EAkFkBC,GAAA;IAjFhB,WAAU;IACT,OAAOC,EAAAgD,CAAA,CAAC,CAAA,4CAAA;IACT,OAAM;;IAEN,SAAAnD,QA4EsB,CA5EtBC,EA4EsBG,GAAA,MAAA;KA3EpB,SAAAJ,QA0EQ,CA1ERC,EA0EQI,GAAA,EA1EA,UAAQ,CAAG8B,EAAA,MAAK,gB;MACtB,SAAAnC,QAwE0B,CAvElBmC,EAAA,SADRtC,EAAA,GAAAC,EAwE0BQ,GAAA;;OAtEf,YAAA6B,EAAA,MAAK;OAAL,uBAAA,AAAAU,EAAA,QAAA,MAAA,EAAA,MAAK,aAAUC;OACvB,cAAYxB,EAAA;OACZ,cAAYc,EAAA;OACZ,aAAYE;;OAEF,gBAAYtC,QAyBd;QAvBCG,EAAAmD,CAAA,KADRzD,EAAA,GAAAC,EAwBOS,GAAA;;SAtBL,SAAQ;SACR,OAAM;;SAEN,SAAAP,QAkBO,CAlBPC,EAkBOO,GAAA,MAAA;UAjBL,SAAAR,QAgBqB,CAhBrBC,EAgBqBQ,GAAA;WAfnB,SAAQ;WACR,QAAO;;WAEP,SAAAT,QAWE,CAXFC,EAWES,GAAA;YAVS,YAAAyB,EAAA,MAAK;Y,wBAAL,AAAAU,EAAA,QAAA,MAAA,EAAA,MAAK,WAAQC,GASDR,C;YARpB,OAAOnC,EAAAgD,CAAA,CAAC,CAAA,sCAAA;YACT,WAAQ;YACP,cAAY7B,EAAA;YACb,WAAA;YACA,UAAA;YACC,UAAQ,CAAGa,EAAA,MAAK;YAChB,UAAUhC,EAAAsD,CAAA;YACV,oBAAkBtD,EAAAuD,CAAA;;;;;;;;;;;;;;;QAOnBvD,EAAAyD,CAAA,KADR/D,EAAA,GAAAC,EAyBOS,GAAA;;SAvBL,SAAQ;SACR,OAAM;;SAEN,SAAAP,QAmBO,CAnBPC,EAmBOO,GAAA,MAAA;UAlBL,SAAAR,QAiBqB,CAjBrBC,EAiBqBQ,GAAA;WAhBnB,SAAQ;WACR,QAAO;;WAEP,SAAAT,QAYE,CAZFC,EAYEW,GAAA;YAXS,YAAAuB,EAAA,MAAK;Y,wBAAL,AAAAU,EAAA,QAAA,MAAA,EAAA,MAAK,UAAOC,GAUAR,C;YATpB,OAAOnC,EAAAgD,CAAA,CAAC,CAAA,qCAAA;YACR,oBAAkBhB,EAAA,MAAK;YACxB,WAAQ;YACP,cAAYb,EAAA;YACb,WAAA;YACA,UAAA;YACC,UAAQ,CAAGa,EAAA,MAAK;YAChB,UAAUhC,EAAA0D,CAAA;YACV,oBAAkB1D,EAAAuD,CAAA;;;;;;;;;;;;;;;;QAOnBvD,EAAA2D,CAAA,KADRjE,EAAA,GAAAC,EAWOS,GAAA;;SATL,SAAQ;SACR,OAAM;;SAEN,SAAAP,QAKO,CALPC,EAKOO,GAAA,MAAA;UAJL,SAAAR,QAGE,CAHFC,EAGEY,GAAA;WAFS,YAAAsB,EAAA,MAAK;WAAL,uBAAA,AAAAU,EAAA,QAAA,MAAA,EAAA,MAAK,oBAAiBC;WAC9B,OAAO3C,EAAAgD,CAAA,CAAC,CAAA,+CAAA;;;;;;;;;;;;;;;;;;G,kBAYjBhD,EAAA6D,CAAA,KAAS7D,EAAA6D,CAAA,CAAK,CAAC,OAAO7B,EAAA,MAAK,WAAWhC,EAAA8D,CAAA,KAD9CpE,EAAA,GAAAC,EAIEgB,GAAA;;IAFC,OAAOX,EAAA6D,CAAA;IACP,cAAY"}
1
+ {"version":3,"file":"UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VExpansionPanels","_withCtx","_createVNode","_component_VExpansionPanel","_unref","_component_VExpansionPanelText","_component_VForm","AssetCustomMetadataForm","_component_VRow","_component_VCol","ASystemEntityScope","KeywordRemoteAutocompleteWithCached","_createCommentVNode","AuthorRemoteAutocompleteWithCached","_component_VSwitch","AssetFileInfoPanel","ASystemEntityScope_default","AssetCustomMetadataForm_default","AssetFileInfoPanel_default","AuthorRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteWithCached_default","UploadQueueDialogSingleSidebarMetadataContent_vue_vue_type_script_setup_true_lang_default","props","__props","damConfigName","useDamConfigName","useI18n","panels","ref","assetDetailStore","useAssetDetailStore","storeToRefs","uploadQueuesStore","useUploadQueuesStore","items","computed","item","assetType","DamAssetType","onAnyMetadataChange","useDamKeywordAssetTypeConfig","useDamAuthorAssetTypeConfig","useCommonAdminCoreDamOptions","openBlock","createBlock","VExpansionPanels","_cache","$event","withCtx","createVNode","VExpansionPanel","unref","t","VExpansionPanelText","VForm","keywordEnabled","VRow","VCol","keywordRequired","ADamAssetMetadataValidationScopeSymbol","createCommentVNode","authorEnabled","authorRequired","mainFileSingleUseEnabled","VSwitch","asset","showFileInfoEnabled"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, ref } from 'vue'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { storeToRefs } from 'pinia'\nimport AssetCustomMetadataForm from '@/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue'\nimport AssetFileInfoPanel from '@/domains/dam/assetDetail/components/AssetFileInfoPanel.vue'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { UploadQueueItem } from '@/domains/dam/types/UploadQueue'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport { useDamKeywordAssetTypeConfig } from '@/domains/dam/keyword/composables/damKeywordConfig'\nimport { useDamAuthorAssetTypeConfig } from '@/domains/dam/author/composables/damAuthorConfig'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: string\n extSystem: IntegerId\n configName?: string\n }>(),\n {\n configName: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst panels = ref(['metadata', 'file'])\n\nconst assetDetailStore = useAssetDetailStore()\nconst { asset, metadataAreTouched } = storeToRefs(assetDetailStore)\n\nconst uploadQueuesStore = useUploadQueuesStore()\n\nconst items = computed(() => {\n return uploadQueuesStore.getQueueItems(props.queueKey)\n})\n\nconst item = computed<UploadQueueItem | null>(() => {\n return items.value[0] ?? null\n})\n\nconst assetType = computed(() => {\n return DamAssetType.Image\n})\n\nconst onAnyMetadataChange = () => {\n metadataAreTouched.value = true\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { keywordRequired, keywordEnabled } = useDamKeywordAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { authorRequired, authorEnabled } = useDamAuthorAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\nconst { mainFileSingleUseEnabled, showFileInfoEnabled } = useCommonAdminCoreDamOptions(damConfigName)\n</script>\n\n<template>\n <VExpansionPanels\n v-if=\"item\"\n v-model=\"panels\"\n multiple\n class=\"v-expansion-panels--compact\"\n >\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.metadata')\"\n value=\"metadata\"\n >\n <VExpansionPanelText>\n <VForm :disabled=\"!item.canEditMetadata\">\n <AssetCustomMetadataForm\n v-if=\"item\"\n v-model=\"item.customData\"\n :ext-system=\"extSystem\"\n :asset-type=\"assetType\"\n @any-change=\"onAnyMetadataChange\"\n >\n <template #after-pinned>\n <VRow\n v-if=\"keywordEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"keyword\"\n system=\"dam\"\n >\n <KeywordRemoteAutocompleteWithCached\n v-model=\"item.keywords\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n data-cy=\"custom-field-keywords\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :disabled=\"!item.canEditMetadata\"\n :required=\"keywordRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"authorEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"item.authors\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"item.authorConflicts\"\n data-cy=\"custom-field-authors\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :disabled=\"!item.canEditMetadata\"\n :required=\"authorRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"mainFileSingleUseEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <VSwitch\n v-model=\"item.mainFileSingleUse\"\n :label=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n />\n </VCol>\n </VRow>\n </template>\n </AssetCustomMetadataForm>\n </VForm>\n </VExpansionPanelText>\n </VExpansionPanel>\n <!--\n Only for this row's asset. The store is shared and holds the previous asset until the dialog has read its own.\n -->\n <AssetFileInfoPanel\n v-if=\"asset && asset.id === item.assetId && showFileInfoEnabled\"\n :asset=\"asset\"\n :show-users=\"false\"\n />\n </VExpansionPanels>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueEditable.js","names":["_sfc_main","UploadQueueEditable_vue_vue_type_script_setup_true_lang_default","UploadQueueEditable_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueEditable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, ref, onBeforeUnmount } from 'vue'\nimport type { UploadQueueItem, UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport UploadQueueItemEditable from '@/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue'\nimport AssetQueueSelectedSidebar from '@/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport {\n type UploadQueueListBinding,\n useLibraryUploadQueueListBinding,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { createUploadQueueItemRefresh } from '@/domains/dam/uploadQueue/composables/uploadQueueItemRefresh'\nimport { useEventListener } from '@vueuse/core'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n extSystem: IntegerId\n massOperations: boolean\n configName?: string\n disableDoneAnimation?: boolean\n /** What the list asks of its host; without it the library's store, caches, alerts and options. */\n queue?: UploadQueueListBinding\n /** From how many rows the mass operations are beside the list. */\n massOperationsFrom?: number\n /** The arrow keys, PageUp, PageDown, Home and End scroll the list. */\n keyboardScroll?: boolean\n }>(),\n {\n configName: undefined,\n disableDoneAnimation: false,\n queue: undefined,\n massOperationsFrom: 1,\n keyboardScroll: true,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'showDetail', data: DocId): void\n}>()\n\ndefineSlots<{\n /** Default: the library's row, its v-models on the item, as today. */\n item?(props: {\n item: UploadQueueItem\n index: number\n refreshDisabled: boolean\n refresh: () => void\n refreshMayHelp: boolean\n }): unknown\n /**\n * Default: the library's mass operations of `queueKey`, over the library's store even when `queue` is bound: a host\n * with its own store gives its sidebar here, as admin-dam does.\n */\n sidebar?(props: { queueKey: UploadQueueKey }): unknown\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\n// Created only when the host binds none: a list with its own binding touches nothing of the library's.\nconst queue = props.queue ?? useLibraryUploadQueueListBinding(() => props.queueKey, damConfigName)\n\nconst { refreshing, refreshItem } = createUploadQueueItemRefresh(queue)\n\nconst list = computed(() => {\n return queue.items()\n})\n\nconst scrollableContainer = ref<HTMLElement | null>(null)\n\n// Inputs that do nothing with these keys themselves, as a switch: on them the keys still scroll the list.\nconst KEYLESS_INPUT_TYPES = ['checkbox', 'button', 'submit', 'reset', 'image', 'file']\n\n// A key typed into a field of a row moves its caret or its value: it is left to the browser, and the list stays.\nconst isTypedIntoField = (target: EventTarget | null) =>\n (target instanceof HTMLInputElement && !KEYLESS_INPUT_TYPES.includes(target.type)) ||\n target instanceof HTMLTextAreaElement ||\n target instanceof HTMLSelectElement ||\n (target instanceof HTMLElement && target.isContentEditable)\n\n// So is one pressed in an open menu, as the one of a field: it moves through that menu. Other overlays, as the dialog\n// the list is in or a snackbar, leave the keys to the list.\nconst isInMenu = (target: EventTarget | null) => target instanceof Element && !!target.closest('.v-menu')\n\nconst handleKeyboardNavigation = (e: KeyboardEvent) => {\n if (!scrollableContainer.value || isTypedIntoField(e.target) || isInMenu(e.target)) return\n\n const container = scrollableContainer.value\n const scrollAmount = 100\n const pageScrollAmount = container.clientHeight - 50\n\n switch (e.key) {\n case 'ArrowDown':\n container.scrollTop += scrollAmount\n e.preventDefault()\n break\n case 'ArrowUp':\n container.scrollTop -= scrollAmount\n e.preventDefault()\n break\n case 'PageDown':\n container.scrollTop += pageScrollAmount\n e.preventDefault()\n break\n case 'PageUp':\n container.scrollTop -= pageScrollAmount\n e.preventDefault()\n break\n case 'Home':\n container.scrollTop = 0\n e.preventDefault()\n break\n case 'End':\n container.scrollTop = container.scrollHeight\n e.preventDefault()\n break\n }\n}\n\nlet cleanup: (() => void) | undefined\n\nonMounted(() => {\n queue.prime(list.value)\n\n if (props.keyboardScroll) cleanup = useEventListener(document, 'keydown', handleKeyboardNavigation)\n})\n\nonBeforeUnmount(() => {\n if (cleanup) {\n cleanup()\n }\n})\n</script>\n\n<template>\n <div\n class=\"asset-queue-editable\"\n :class=\"{ 'asset-queue-editable--sidebar-active': massOperations }\"\n >\n <div class=\"asset-queue-editable__left\">\n <div\n ref=\"scrollableContainer\"\n class=\"overflow-y-auto overflow-x-hidden h-100 mr-md-4\"\n style=\"outline: none\"\n >\n <VRow class=\"dam-upload-queue dam-upload-queue--editable pa-2 mb-5\">\n <template\n v-for=\"(item, index) in list\"\n :key=\"item.key\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"index\"\n :refresh-disabled=\"refreshing\"\n :refresh=\"() => refreshItem(item)\"\n :refresh-may-help=\"queue.refreshMayHelp(item)\"\n >\n <UploadQueueItemEditable\n v-model:custom-data=\"item.customData\"\n v-model:keywords=\"item.keywords\"\n v-model:authors=\"item.authors\"\n v-model:main-file-single-use=\"item.mainFileSingleUse\"\n :main-file-single-use-enabled=\"queue.mainFileSingleUseEnabled\"\n :ext-system=\"extSystem\"\n :item=\"item\"\n :index=\"index\"\n :queue-key=\"queueKey\"\n :disable-done-animation=\"disableDoneAnimation\"\n :refresh-disabled=\"refreshing\"\n :refresh-may-help=\"queue.refreshMayHelp(item)\"\n @cancel-item=\"queue.cancel($event.item, $event.index, $event.queueKey)\"\n @remove-item=\"queue.remove($event)\"\n @refresh-item=\"refreshItem(item)\"\n @show-detail=\"emit('showDetail', $event)\"\n />\n </slot>\n </template>\n </VRow>\n </div>\n </div>\n <div\n v-if=\"list.length >= massOperationsFrom\"\n class=\"asset-queue-editable__sidebar border-s\"\n >\n <slot\n name=\"sidebar\"\n :queue-key=\"queueKey\"\n >\n <AssetQueueSelectedSidebar\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n />\n </slot>\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"UploadQueueEditable.js","names":["_sfc_main","UploadQueueEditable_vue_vue_type_script_setup_true_lang_default","UploadQueueEditable_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueEditable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, ref, onBeforeUnmount } from 'vue'\nimport type { UploadQueueItem, UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport UploadQueueItemEditable from '@/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue'\nimport AssetQueueSelectedSidebar from '@/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport {\n type UploadQueueListBinding,\n useLibraryUploadQueueListBinding,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { createUploadQueueItemRefresh } from '@/domains/dam/uploadQueue/composables/uploadQueueItemRefresh'\nimport { useEventListener } from '@vueuse/core'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n extSystem: IntegerId\n massOperations: boolean\n configName?: string\n disableDoneAnimation?: boolean\n /** What the list needs from its host. Without it the library store, caches, alerts and options are used. */\n queue?: UploadQueueListBinding\n /** Minimum row count at which the mass operations are shown beside the list. */\n massOperationsFrom?: number\n /** Arrow keys, PageUp, PageDown, Home and End scroll the list. */\n keyboardScroll?: boolean\n }>(),\n {\n configName: undefined,\n disableDoneAnimation: false,\n queue: undefined,\n massOperationsFrom: 1,\n keyboardScroll: true,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'showDetail', data: DocId): void\n}>()\n\ndefineSlots<{\n /** Default: the library row, with its v-models on the item. */\n item?(props: {\n item: UploadQueueItem\n index: number\n refreshDisabled: boolean\n refresh: () => void\n refreshMayHelp: boolean\n }): unknown\n /**\n * Default: the library mass operations of `queueKey`, using the library store even when `queue` is bound.\n * A host with its own store passes its sidebar here, as admin-dam does.\n */\n sidebar?(props: { queueKey: UploadQueueKey }): unknown\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\n// Created only when the host binds none, so a list with its own binding touches nothing of the library.\nconst queue = props.queue ?? useLibraryUploadQueueListBinding(() => props.queueKey, damConfigName)\n\nconst { refreshing, refreshItem } = createUploadQueueItemRefresh(queue)\n\nconst list = computed(() => {\n return queue.items()\n})\n\nconst scrollableContainer = ref<HTMLElement | null>(null)\n\n// Inputs that ignore these keys, such as a switch. On them the keys still scroll the list.\nconst KEYLESS_INPUT_TYPES = ['checkbox', 'button', 'submit', 'reset', 'image', 'file']\n\n// A key typed into a row field moves its caret or value. It is left to the browser and the list does not scroll.\nconst isTypedIntoField = (target: EventTarget | null) =>\n (target instanceof HTMLInputElement && !KEYLESS_INPUT_TYPES.includes(target.type)) ||\n target instanceof HTMLTextAreaElement ||\n target instanceof HTMLSelectElement ||\n (target instanceof HTMLElement && target.isContentEditable)\n\n// The same for a key pressed in an open menu, such as a field's menu: it navigates that menu.\n// Other overlays, such as the containing dialog or a snackbar, leave the keys to the list.\nconst isInMenu = (target: EventTarget | null) => target instanceof Element && !!target.closest('.v-menu')\n\nconst handleKeyboardNavigation = (e: KeyboardEvent) => {\n if (!scrollableContainer.value || isTypedIntoField(e.target) || isInMenu(e.target)) return\n\n const container = scrollableContainer.value\n const scrollAmount = 100\n const pageScrollAmount = container.clientHeight - 50\n\n switch (e.key) {\n case 'ArrowDown':\n container.scrollTop += scrollAmount\n e.preventDefault()\n break\n case 'ArrowUp':\n container.scrollTop -= scrollAmount\n e.preventDefault()\n break\n case 'PageDown':\n container.scrollTop += pageScrollAmount\n e.preventDefault()\n break\n case 'PageUp':\n container.scrollTop -= pageScrollAmount\n e.preventDefault()\n break\n case 'Home':\n container.scrollTop = 0\n e.preventDefault()\n break\n case 'End':\n container.scrollTop = container.scrollHeight\n e.preventDefault()\n break\n }\n}\n\nlet cleanup: (() => void) | undefined\n\nonMounted(() => {\n queue.prime(list.value)\n\n if (props.keyboardScroll) cleanup = useEventListener(document, 'keydown', handleKeyboardNavigation)\n})\n\nonBeforeUnmount(() => {\n if (cleanup) {\n cleanup()\n }\n})\n</script>\n\n<template>\n <div\n class=\"asset-queue-editable\"\n :class=\"{ 'asset-queue-editable--sidebar-active': massOperations }\"\n >\n <div class=\"asset-queue-editable__left\">\n <div\n ref=\"scrollableContainer\"\n class=\"overflow-y-auto overflow-x-hidden h-100 mr-md-4\"\n style=\"outline: none\"\n >\n <VRow class=\"dam-upload-queue dam-upload-queue--editable pa-2 mb-5\">\n <template\n v-for=\"(item, index) in list\"\n :key=\"item.key\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"index\"\n :refresh-disabled=\"refreshing\"\n :refresh=\"() => refreshItem(item)\"\n :refresh-may-help=\"queue.refreshMayHelp(item)\"\n >\n <UploadQueueItemEditable\n v-model:custom-data=\"item.customData\"\n v-model:keywords=\"item.keywords\"\n v-model:authors=\"item.authors\"\n v-model:main-file-single-use=\"item.mainFileSingleUse\"\n :main-file-single-use-enabled=\"queue.mainFileSingleUseEnabled\"\n :ext-system=\"extSystem\"\n :item=\"item\"\n :index=\"index\"\n :queue-key=\"queueKey\"\n :disable-done-animation=\"disableDoneAnimation\"\n :refresh-disabled=\"refreshing\"\n :refresh-may-help=\"queue.refreshMayHelp(item)\"\n @cancel-item=\"queue.cancel($event.item, $event.index, $event.queueKey)\"\n @remove-item=\"queue.remove($event)\"\n @refresh-item=\"refreshItem(item)\"\n @show-detail=\"emit('showDetail', $event)\"\n />\n </slot>\n </template>\n </VRow>\n </div>\n </div>\n <div\n v-if=\"list.length >= massOperationsFrom\"\n class=\"asset-queue-editable__sidebar border-s\"\n >\n <slot\n name=\"sidebar\"\n :queue-key=\"queueKey\"\n >\n <AssetQueueSelectedSidebar\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n />\n </slot>\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -7,15 +7,15 @@ type __VLS_Props = {
7
7
  massOperations: boolean;
8
8
  configName?: string;
9
9
  disableDoneAnimation?: boolean;
10
- /** What the list asks of its host; without it the library's store, caches, alerts and options. */
10
+ /** What the list needs from its host. Without it the library store, caches, alerts and options are used. */
11
11
  queue?: UploadQueueListBinding;
12
- /** From how many rows the mass operations are beside the list. */
12
+ /** Minimum row count at which the mass operations are shown beside the list. */
13
13
  massOperationsFrom?: number;
14
- /** The arrow keys, PageUp, PageDown, Home and End scroll the list. */
14
+ /** Arrow keys, PageUp, PageDown, Home and End scroll the list. */
15
15
  keyboardScroll?: boolean;
16
16
  };
17
17
  type __VLS_Slots = {
18
- /** Default: the library's row, its v-models on the item, as today. */
18
+ /** Default: the library row, with its v-models on the item. */
19
19
  item?(props: {
20
20
  item: UploadQueueItem;
21
21
  index: number;
@@ -24,8 +24,8 @@ type __VLS_Slots = {
24
24
  refreshMayHelp: boolean;
25
25
  }): unknown;
26
26
  /**
27
- * Default: the library's mass operations of `queueKey`, over the library's store even when `queue` is bound: a host
28
- * with its own store gives its sidebar here, as admin-dam does.
27
+ * Default: the library mass operations of `queueKey`, using the library store even when `queue` is bound.
28
+ * A host with its own store passes its sidebar here, as admin-dam does.
29
29
  */
30
30
  sidebar?(props: {
31
31
  queueKey: UploadQueueKey;
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueEditable.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_createVNode","_component_VRow","_withCtx","_Fragment","_renderList","_renderSlot","_unref","UploadQueueItemEditable","AssetQueueSelectedSidebar","_createCommentVNode","UploadQueueItemEditable_default","AssetQueueSelectedSidebar_default","_hoisted_1","_hoisted_2","UploadQueueEditable_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","queue","useLibraryUploadQueueListBinding","createUploadQueueItemRefresh","list","computed","scrollableContainer","ref","KEYLESS_INPUT_TYPES","isTypedIntoField","target","isInMenu","handleKeyboardNavigation","container","pageScrollAmount","cleanup","onMounted","useEventListener","onBeforeUnmount","openBlock","createElementBlock","normalizeClass","createElementVNode","\"outline\"","createVNode","VRow","withCtx","Fragment","renderList","renderSlot","_ctx","unref","refreshing","refreshItem","item","$event","_cache","createCommentVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueEditable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, ref, onBeforeUnmount } from 'vue'\nimport type { UploadQueueItem, UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport UploadQueueItemEditable from '@/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue'\nimport AssetQueueSelectedSidebar from '@/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport {\n type UploadQueueListBinding,\n useLibraryUploadQueueListBinding,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { createUploadQueueItemRefresh } from '@/domains/dam/uploadQueue/composables/uploadQueueItemRefresh'\nimport { useEventListener } from '@vueuse/core'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n extSystem: IntegerId\n massOperations: boolean\n configName?: string\n disableDoneAnimation?: boolean\n /** What the list asks of its host; without it the library's store, caches, alerts and options. */\n queue?: UploadQueueListBinding\n /** From how many rows the mass operations are beside the list. */\n massOperationsFrom?: number\n /** The arrow keys, PageUp, PageDown, Home and End scroll the list. */\n keyboardScroll?: boolean\n }>(),\n {\n configName: undefined,\n disableDoneAnimation: false,\n queue: undefined,\n massOperationsFrom: 1,\n keyboardScroll: true,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'showDetail', data: DocId): void\n}>()\n\ndefineSlots<{\n /** Default: the library's row, its v-models on the item, as today. */\n item?(props: {\n item: UploadQueueItem\n index: number\n refreshDisabled: boolean\n refresh: () => void\n refreshMayHelp: boolean\n }): unknown\n /**\n * Default: the library's mass operations of `queueKey`, over the library's store even when `queue` is bound: a host\n * with its own store gives its sidebar here, as admin-dam does.\n */\n sidebar?(props: { queueKey: UploadQueueKey }): unknown\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\n// Created only when the host binds none: a list with its own binding touches nothing of the library's.\nconst queue = props.queue ?? useLibraryUploadQueueListBinding(() => props.queueKey, damConfigName)\n\nconst { refreshing, refreshItem } = createUploadQueueItemRefresh(queue)\n\nconst list = computed(() => {\n return queue.items()\n})\n\nconst scrollableContainer = ref<HTMLElement | null>(null)\n\n// Inputs that do nothing with these keys themselves, as a switch: on them the keys still scroll the list.\nconst KEYLESS_INPUT_TYPES = ['checkbox', 'button', 'submit', 'reset', 'image', 'file']\n\n// A key typed into a field of a row moves its caret or its value: it is left to the browser, and the list stays.\nconst isTypedIntoField = (target: EventTarget | null) =>\n (target instanceof HTMLInputElement && !KEYLESS_INPUT_TYPES.includes(target.type)) ||\n target instanceof HTMLTextAreaElement ||\n target instanceof HTMLSelectElement ||\n (target instanceof HTMLElement && target.isContentEditable)\n\n// So is one pressed in an open menu, as the one of a field: it moves through that menu. Other overlays, as the dialog\n// the list is in or a snackbar, leave the keys to the list.\nconst isInMenu = (target: EventTarget | null) => target instanceof Element && !!target.closest('.v-menu')\n\nconst handleKeyboardNavigation = (e: KeyboardEvent) => {\n if (!scrollableContainer.value || isTypedIntoField(e.target) || isInMenu(e.target)) return\n\n const container = scrollableContainer.value\n const scrollAmount = 100\n const pageScrollAmount = container.clientHeight - 50\n\n switch (e.key) {\n case 'ArrowDown':\n container.scrollTop += scrollAmount\n e.preventDefault()\n break\n case 'ArrowUp':\n container.scrollTop -= scrollAmount\n e.preventDefault()\n break\n case 'PageDown':\n container.scrollTop += pageScrollAmount\n e.preventDefault()\n break\n case 'PageUp':\n container.scrollTop -= pageScrollAmount\n e.preventDefault()\n break\n case 'Home':\n container.scrollTop = 0\n e.preventDefault()\n break\n case 'End':\n container.scrollTop = container.scrollHeight\n e.preventDefault()\n break\n }\n}\n\nlet cleanup: (() => void) | undefined\n\nonMounted(() => {\n queue.prime(list.value)\n\n if (props.keyboardScroll) cleanup = useEventListener(document, 'keydown', handleKeyboardNavigation)\n})\n\nonBeforeUnmount(() => {\n if (cleanup) {\n cleanup()\n }\n})\n</script>\n\n<template>\n <div\n class=\"asset-queue-editable\"\n :class=\"{ 'asset-queue-editable--sidebar-active': massOperations }\"\n >\n <div class=\"asset-queue-editable__left\">\n <div\n ref=\"scrollableContainer\"\n class=\"overflow-y-auto overflow-x-hidden h-100 mr-md-4\"\n style=\"outline: none\"\n >\n <VRow class=\"dam-upload-queue dam-upload-queue--editable pa-2 mb-5\">\n <template\n v-for=\"(item, index) in list\"\n :key=\"item.key\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"index\"\n :refresh-disabled=\"refreshing\"\n :refresh=\"() => refreshItem(item)\"\n :refresh-may-help=\"queue.refreshMayHelp(item)\"\n >\n <UploadQueueItemEditable\n v-model:custom-data=\"item.customData\"\n v-model:keywords=\"item.keywords\"\n v-model:authors=\"item.authors\"\n v-model:main-file-single-use=\"item.mainFileSingleUse\"\n :main-file-single-use-enabled=\"queue.mainFileSingleUseEnabled\"\n :ext-system=\"extSystem\"\n :item=\"item\"\n :index=\"index\"\n :queue-key=\"queueKey\"\n :disable-done-animation=\"disableDoneAnimation\"\n :refresh-disabled=\"refreshing\"\n :refresh-may-help=\"queue.refreshMayHelp(item)\"\n @cancel-item=\"queue.cancel($event.item, $event.index, $event.queueKey)\"\n @remove-item=\"queue.remove($event)\"\n @refresh-item=\"refreshItem(item)\"\n @show-detail=\"emit('showDetail', $event)\"\n />\n </slot>\n </template>\n </VRow>\n </div>\n </div>\n <div\n v-if=\"list.length >= massOperationsFrom\"\n class=\"asset-queue-editable__sidebar border-s\"\n >\n <slot\n name=\"sidebar\"\n :queue-key=\"queueKey\"\n >\n <AssetQueueSelectedSidebar\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n />\n </slot>\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcA,IAAMoB,IAAQC,GAuBRC,IAAOH,GAoBPI,IAAgBC,EAAiBJ,EAAM,UAAU,GAGjDK,IAAQL,EAAM,SAASM,QAAuCN,EAAM,UAAUG,CAAa,GAE3F,EAAE,eAAY,mBAAgBI,EAA6BF,CAAK,GAEhEG,IAAOC,QACJJ,EAAM,MAAM,CACpB,GAEKK,IAAsBC,EAAwB,IAAI,GAGlDC,IAAsB;GAAC;GAAY;GAAU;GAAU;GAAS;GAAS;EAAM,GAG/EC,KAAoB,MACvBC,aAAkB,oBAAoB,CAACF,EAAoB,SAASE,EAAO,IAAI,KAChFA,aAAkB,uBAClBA,aAAkB,qBACjBA,aAAkB,eAAeA,EAAO,mBAIrCC,KAAY,MAA+BD,aAAkB,WAAW,CAAC,CAACA,EAAO,QAAQ,SAAS,GAElGE,KAA4B,MAAqB;GACrD,IAAI,CAACN,EAAoB,SAASG,EAAiB,EAAE,MAAM,KAAKE,EAAS,EAAE,MAAM,GAAG;GAEpF,IAAME,IAAYP,EAAoB,OAEhCQ,IAAmBD,EAAU,eAAe;GAElD,QAAQ,EAAE,KAAV;IACE,KAAK;KAEH,AADA,EAAU,aAAa,KACvB,EAAE,eAAe;KACjB;IACF,KAAK;KAEH,AADA,EAAU,aAAa,KACvB,EAAE,eAAe;KACjB;IACF,KAAK;KAEH,AADA,EAAU,aAAaC,GACvB,EAAE,eAAe;KACjB;IACF,KAAK;KAEH,AADA,EAAU,aAAaA,GACvB,EAAE,eAAe;KACjB;IACF,KAAK;KAEH,AADA,EAAU,YAAY,GACtB,EAAE,eAAe;KACjB;IACF,KAAK,OAEH,AADA,EAAU,YAAYD,EAAU,cAChC,EAAE,eAAe;GAErB;EACF,GAEIE;E,OAEJC,QAAgB;GAGd,AAFAf,EAAM,MAAMG,EAAK,KAAK,GAElBR,EAAM,mBAAgB,IAAUqB,EAAiB,UAAU,WAAWL,CAAwB;EACpG,CAAC,GAEDM,QAAsB;GACpB,AAAIH,KACFA,EAAQ;EAEZ,CAAC,I,UAICvC,EAAA,GAAAC,EA4DM,OAAA,EA3DJ,OAAKC,EAAA,CAAC,wBAAsB,EAAA,wCACsBmB,EAAA,eAAc,CAAA,CAAA,E,IAEhElB,EAyCM,OAzCNa,GAyCM,CAxCJb,EAuCM,OAAA;GAtCA,SAAA;GAAJ,KAAI2B;GACJ,OAAM;GACN,OAAA,EAAAiB,SAAA,OAAA;E,IAEA3C,EAiCOC,GAAA,EAjCD,OAAM,wDAAuD,GAAA;GAE/D,SAAAC,QAA6B,EAD/BN,EAAA,EAAA,GAAAC,EA+BWM,GAAA,MAAAC,EA9BeoB,EAAA,QAAhB,GAAM,MAGdnB,EA0BO6C,EAAA,QAAA,QAAA;IAxBE;IACC;IACP,iBAAkB5C,EAAA8C,CAAA;IAClB,eAAe9C,EAAA+C,CAAA,CAAW,CAACC,CAAI;IAC/B,gBAAkBhD,EAAAe,CAAA,CAAK,CAAC,eAAeiC,CAAI;GAN9C,SA0BO,CAlBLtD,EAiBEO,GAAA;IAhBQ,eAAa+C,EAAK;IAAL,wBAAA,MAAA,EAAK,aAAUC;IAC5B,UAAUD,EAAK;IAAL,sBAAA,MAAA,EAAK,WAAQC;IACvB,SAASD,EAAK;IAAL,qBAAA,MAAA,EAAK,UAAOC;IACrB,wBAAsBD,EAAK;IAAL,+BAAA,MAAA,EAAK,oBAAiBC;IACnD,gCAA8BjD,EAAAe,CAAA,CAAK,CAAC;IACpC,cAAYJ,EAAA;IACN;IACC;IACP,aAAWA,EAAA;IACX,0BAAwBA,EAAA;IACxB,oBAAkBX,EAAA8C,CAAA;IAClB,oBAAkB9C,EAAAe,CAAA,CAAK,CAAC,eAAeiC,CAAI;IAC3C,eAAW,MAAEhD,EAAAe,CAAA,CAAK,CAAC,OAAOkC,EAAO,MAAMA,EAAO,OAAOA,EAAO,QAAQ;IACpE,cAAW,AAAAC,EAAA,QAAA,MAAElD,EAAAe,CAAA,CAAK,CAAC,OAAOkC,CAAM;IAChC,gBAAY,MAAEjD,EAAA+C,CAAA,CAAW,CAACC,CAAI;IAC9B,cAAW,AAAAE,EAAA,QAAA,MAAEtC,EAAI,cAAeqC,CAAM;;;;;;;;;;;;;;;;;;;;G,EA1BrC,GAAA,KAAA,GAAAD,EAAK,GAAG,C;;E,aAkCd9B,EAAA,MAAK,UAAUP,EAAA,sBADvBrB,EAAA,GAAAC,EAaM,OAbNgB,GAaM,CATJR,EAQO6C,EAAA,QAAA,WAAA,EANJ,UAAWjC,EAAA,SAAQ,SAMf,CAJLjB,EAGEQ,GAAA;GAFC,aAAWS,EAAA;GACX,cAAYA,EAAA"}
1
+ {"version":3,"file":"UploadQueueEditable.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_createVNode","_component_VRow","_withCtx","_Fragment","_renderList","_renderSlot","_unref","UploadQueueItemEditable","AssetQueueSelectedSidebar","_createCommentVNode","UploadQueueItemEditable_default","AssetQueueSelectedSidebar_default","_hoisted_1","_hoisted_2","UploadQueueEditable_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","queue","useLibraryUploadQueueListBinding","createUploadQueueItemRefresh","list","computed","scrollableContainer","ref","KEYLESS_INPUT_TYPES","isTypedIntoField","target","isInMenu","handleKeyboardNavigation","container","pageScrollAmount","cleanup","onMounted","useEventListener","onBeforeUnmount","openBlock","createElementBlock","normalizeClass","createElementVNode","\"outline\"","createVNode","VRow","withCtx","Fragment","renderList","renderSlot","_ctx","unref","refreshing","refreshItem","item","$event","_cache","createCommentVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueEditable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, ref, onBeforeUnmount } from 'vue'\nimport type { UploadQueueItem, UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport UploadQueueItemEditable from '@/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue'\nimport AssetQueueSelectedSidebar from '@/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport {\n type UploadQueueListBinding,\n useLibraryUploadQueueListBinding,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { createUploadQueueItemRefresh } from '@/domains/dam/uploadQueue/composables/uploadQueueItemRefresh'\nimport { useEventListener } from '@vueuse/core'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n extSystem: IntegerId\n massOperations: boolean\n configName?: string\n disableDoneAnimation?: boolean\n /** What the list needs from its host. Without it the library store, caches, alerts and options are used. */\n queue?: UploadQueueListBinding\n /** Minimum row count at which the mass operations are shown beside the list. */\n massOperationsFrom?: number\n /** Arrow keys, PageUp, PageDown, Home and End scroll the list. */\n keyboardScroll?: boolean\n }>(),\n {\n configName: undefined,\n disableDoneAnimation: false,\n queue: undefined,\n massOperationsFrom: 1,\n keyboardScroll: true,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'showDetail', data: DocId): void\n}>()\n\ndefineSlots<{\n /** Default: the library row, with its v-models on the item. */\n item?(props: {\n item: UploadQueueItem\n index: number\n refreshDisabled: boolean\n refresh: () => void\n refreshMayHelp: boolean\n }): unknown\n /**\n * Default: the library mass operations of `queueKey`, using the library store even when `queue` is bound.\n * A host with its own store passes its sidebar here, as admin-dam does.\n */\n sidebar?(props: { queueKey: UploadQueueKey }): unknown\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\n// Created only when the host binds none, so a list with its own binding touches nothing of the library.\nconst queue = props.queue ?? useLibraryUploadQueueListBinding(() => props.queueKey, damConfigName)\n\nconst { refreshing, refreshItem } = createUploadQueueItemRefresh(queue)\n\nconst list = computed(() => {\n return queue.items()\n})\n\nconst scrollableContainer = ref<HTMLElement | null>(null)\n\n// Inputs that ignore these keys, such as a switch. On them the keys still scroll the list.\nconst KEYLESS_INPUT_TYPES = ['checkbox', 'button', 'submit', 'reset', 'image', 'file']\n\n// A key typed into a row field moves its caret or value. It is left to the browser and the list does not scroll.\nconst isTypedIntoField = (target: EventTarget | null) =>\n (target instanceof HTMLInputElement && !KEYLESS_INPUT_TYPES.includes(target.type)) ||\n target instanceof HTMLTextAreaElement ||\n target instanceof HTMLSelectElement ||\n (target instanceof HTMLElement && target.isContentEditable)\n\n// The same for a key pressed in an open menu, such as a field's menu: it navigates that menu.\n// Other overlays, such as the containing dialog or a snackbar, leave the keys to the list.\nconst isInMenu = (target: EventTarget | null) => target instanceof Element && !!target.closest('.v-menu')\n\nconst handleKeyboardNavigation = (e: KeyboardEvent) => {\n if (!scrollableContainer.value || isTypedIntoField(e.target) || isInMenu(e.target)) return\n\n const container = scrollableContainer.value\n const scrollAmount = 100\n const pageScrollAmount = container.clientHeight - 50\n\n switch (e.key) {\n case 'ArrowDown':\n container.scrollTop += scrollAmount\n e.preventDefault()\n break\n case 'ArrowUp':\n container.scrollTop -= scrollAmount\n e.preventDefault()\n break\n case 'PageDown':\n container.scrollTop += pageScrollAmount\n e.preventDefault()\n break\n case 'PageUp':\n container.scrollTop -= pageScrollAmount\n e.preventDefault()\n break\n case 'Home':\n container.scrollTop = 0\n e.preventDefault()\n break\n case 'End':\n container.scrollTop = container.scrollHeight\n e.preventDefault()\n break\n }\n}\n\nlet cleanup: (() => void) | undefined\n\nonMounted(() => {\n queue.prime(list.value)\n\n if (props.keyboardScroll) cleanup = useEventListener(document, 'keydown', handleKeyboardNavigation)\n})\n\nonBeforeUnmount(() => {\n if (cleanup) {\n cleanup()\n }\n})\n</script>\n\n<template>\n <div\n class=\"asset-queue-editable\"\n :class=\"{ 'asset-queue-editable--sidebar-active': massOperations }\"\n >\n <div class=\"asset-queue-editable__left\">\n <div\n ref=\"scrollableContainer\"\n class=\"overflow-y-auto overflow-x-hidden h-100 mr-md-4\"\n style=\"outline: none\"\n >\n <VRow class=\"dam-upload-queue dam-upload-queue--editable pa-2 mb-5\">\n <template\n v-for=\"(item, index) in list\"\n :key=\"item.key\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :index=\"index\"\n :refresh-disabled=\"refreshing\"\n :refresh=\"() => refreshItem(item)\"\n :refresh-may-help=\"queue.refreshMayHelp(item)\"\n >\n <UploadQueueItemEditable\n v-model:custom-data=\"item.customData\"\n v-model:keywords=\"item.keywords\"\n v-model:authors=\"item.authors\"\n v-model:main-file-single-use=\"item.mainFileSingleUse\"\n :main-file-single-use-enabled=\"queue.mainFileSingleUseEnabled\"\n :ext-system=\"extSystem\"\n :item=\"item\"\n :index=\"index\"\n :queue-key=\"queueKey\"\n :disable-done-animation=\"disableDoneAnimation\"\n :refresh-disabled=\"refreshing\"\n :refresh-may-help=\"queue.refreshMayHelp(item)\"\n @cancel-item=\"queue.cancel($event.item, $event.index, $event.queueKey)\"\n @remove-item=\"queue.remove($event)\"\n @refresh-item=\"refreshItem(item)\"\n @show-detail=\"emit('showDetail', $event)\"\n />\n </slot>\n </template>\n </VRow>\n </div>\n </div>\n <div\n v-if=\"list.length >= massOperationsFrom\"\n class=\"asset-queue-editable__sidebar border-s\"\n >\n <slot\n name=\"sidebar\"\n :queue-key=\"queueKey\"\n >\n <AssetQueueSelectedSidebar\n :queue-key=\"queueKey\"\n :ext-system=\"extSystem\"\n />\n </slot>\n </div>\n </div>\n</template>\n"],"mappings":"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"}