@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":"AssetDetailSidebarROI.js","names":["_sfc_main","AssetDetailSidebarROI_vue_vue_type_script_setup_true_lang_default","AssetDetailSidebarROI_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { useImageRoiStore } from '@/domains/dam/cropper/store/imageRoiStore'\nimport { useI18n } from 'vue-i18n'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport { assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport { cloneDeep, isNull } from '@/shared/utils/common'\nimport { computed, onMounted } from 'vue'\nimport AssetDetailSidebarActionsWrapper from '@/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue'\nimport AssetFileRotate from '@/domains/dam/assetDetail/components/AssetFileRotate.vue'\nimport { ENTITY, fetchRoi, useFetchImageRoiList } from '@/domains/dam/api/damImageRoiApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { createFilter, createFilterStore, type MakeFilterOption } from '@/domains/filters/composables/filterFactory'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport { fetchImageFile } from '@/domains/dam/api/damImageApi'\nimport type { DocId } from '@/shared/types/common'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useAuthHelpers } from '@/domains/auth/composables/defineAuth'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n isActive: boolean\n queueKey: UploadQueueKey\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()\nconst { showErrorsDefault } = useAlerts()\n\nconst imageRoiStore = useImageRoiStore()\nconst assetDetailStore = useAssetDetailStore()\n\nconst { pagination } = usePagination(SORT_BY_ID)\n\nconst { damClient, endPointImage, endPointRoi, imageRotateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst { canSafeHelper } = useAuthHelpers()\n// The endpoint refuses the rotation without it.\nconst rotateAllowed = computed(() => isNull(imageRotateAcl) || canSafeHelper(imageRotateAcl, undefined, 'rotate'))\nconst filterFieldsInner = [] satisfies readonly MakeFilterOption[]\nconst { filterConfig, filterData } = createFilter(filterFieldsInner, createFilterStore(filterFieldsInner), {\n system: SYSTEM_CORE_DAM,\n subject: ENTITY,\n})\n\nconst loadImageFile = async (id: DocId) => {\n const res = await fetchImageFile(damClient, endPointImage, id)\n imageRoiStore.setImageFile(res)\n}\n\nconst loadRois = async (forceReloadFile = false) => {\n imageRoiStore.showLoader()\n try {\n if (imageRoiStore.imageFile) {\n const { execute } = useFetchImageRoiList(damClient, endPointImage, imageRoiStore.imageFile.id)\n const res = await execute(pagination, filterData, filterConfig)\n if (res.length > 0 && res[0].id) {\n const roi = await fetchRoi(damClient, endPointRoi, res[0].id)\n if (forceReloadFile) {\n await loadImageFile(imageRoiStore.imageFile.id)\n }\n imageRoiStore.setRoi(roi)\n return\n }\n }\n imageRoiStore.setRoi(null)\n } catch (error) {\n showErrorsDefault(error)\n } finally {\n imageRoiStore.hideLoader()\n }\n}\n\n// Not while the cropper beside it saves a region and reads the file the DAM redraws (`cropperBusy`): read before the\n// redraw, the file of the refresh took the place of the cropper's, and both stayed on the old drawing.\nconst refreshOffered = computed(() => !imageRoiStore.loader && !imageRoiStore.cropperBusy)\nconst refresh = () => {\n if (!refreshOffered.value) return\n void loadRois(true)\n}\n\nconst afterRotate = async () => {\n await loadRois(true)\n}\n\nonMounted(async () => {\n imageRoiStore.reset()\n imageRoiStore.showLoader()\n if (\n assetDetailStore.asset &&\n assetDetailStore.asset.mainFile &&\n assetFileIsImageFile(assetDetailStore.asset.mainFile)\n ) {\n imageRoiStore.setImageFile(cloneDeep(assetDetailStore.asset.mainFile))\n await loadRois()\n }\n imageRoiStore.hideLoader()\n})\n</script>\n\n<template>\n <AssetDetailSidebarActionsWrapper\n v-if=\"isActive\"\n :queue-key=\"queueKey\"\n >\n <ABtnTertiary\n v-if=\"refreshOffered\"\n class=\"d-none d-md-flex\"\n @click.stop=\"refresh\"\n >\n {{ t('common.damImage.asset.detail.roi.refresh') }}\n </ABtnTertiary>\n <VBtn\n v-if=\"refreshOffered\"\n icon\n variant=\"text\"\n size=\"small\"\n class=\"d-flex d-md-none\"\n :title=\"t('common.damImage.asset.detail.roi.refresh')\"\n @click.stop=\"refresh\"\n >\n <VIcon icon=\"mdi-refresh\" />\n </VBtn>\n </AssetDetailSidebarActionsWrapper>\n <div class=\"px-3\">\n <div class=\"v-expansion-panel-title px-0\">\n {{ t('common.damImage.asset.detail.roi.title') }}\n </div>\n <div class=\"text-body-small\">\n {{ t('common.damImage.asset.detail.roi.description') }}\n </div>\n </div>\n <div\n v-if=\"imageRoiStore.loader\"\n class=\"w-100 h-100 d-flex align-center justify-center\"\n >\n <VProgressCircular\n indeterminate\n color=\"primary\"\n />\n </div>\n <div\n v-else-if=\"imageRoiStore.roi\"\n class=\"crop-preview pa-2\"\n >\n <div\n v-for=\"item in imageRoiStore.roi?.links.image_roi_example\"\n :key=\"item.url\"\n class=\"pb-2\"\n >\n <div class=\"text-label-large\">\n {{ item.title }}\n </div>\n <img\n v-if=\"imageRoiStore.imageFile\"\n :src=\"item.url + '?manipulated=' + imageRoiStore.imageFile.manipulatedAt\"\n :width=\"item.width\"\n :height=\"item.height\"\n alt=\"\"\n />\n </div>\n </div>\n <AssetFileRotate\n v-if=\"imageRoiStore.imageFile && rotateAllowed\"\n :image-id=\"imageRoiStore.imageFile.id\"\n :config-name=\"damConfigName\"\n class=\"mx-2\"\n @after-rotate=\"afterRotate\"\n />\n</template>\n\n<style lang=\"scss\">\n.crop-preview {\n width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"AssetDetailSidebarROI.js","names":["_sfc_main","AssetDetailSidebarROI_vue_vue_type_script_setup_true_lang_default","AssetDetailSidebarROI_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { useImageRoiStore } from '@/domains/dam/cropper/store/imageRoiStore'\nimport { useI18n } from 'vue-i18n'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport { assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport { cloneDeep, isNull } from '@/shared/utils/common'\nimport { computed, onMounted } from 'vue'\nimport AssetDetailSidebarActionsWrapper from '@/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue'\nimport AssetFileRotate from '@/domains/dam/assetDetail/components/AssetFileRotate.vue'\nimport { ENTITY, fetchRoi, useFetchImageRoiList } from '@/domains/dam/api/damImageRoiApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { createFilter, createFilterStore, type MakeFilterOption } from '@/domains/filters/composables/filterFactory'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport { fetchImageFile } from '@/domains/dam/api/damImageApi'\nimport type { DocId } from '@/shared/types/common'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useAuthHelpers } from '@/domains/auth/composables/defineAuth'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n isActive: boolean\n queueKey: UploadQueueKey\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()\nconst { showErrorsDefault } = useAlerts()\n\nconst imageRoiStore = useImageRoiStore()\nconst assetDetailStore = useAssetDetailStore()\n\nconst { pagination } = usePagination(SORT_BY_ID)\n\nconst { damClient, endPointImage, endPointRoi, imageRotateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst { canSafeHelper } = useAuthHelpers()\n// The endpoint refuses the rotation without it.\nconst rotateAllowed = computed(() => isNull(imageRotateAcl) || canSafeHelper(imageRotateAcl, undefined, 'rotate'))\nconst filterFieldsInner = [] satisfies readonly MakeFilterOption[]\nconst { filterConfig, filterData } = createFilter(filterFieldsInner, createFilterStore(filterFieldsInner), {\n system: SYSTEM_CORE_DAM,\n subject: ENTITY,\n})\n\nconst loadImageFile = async (id: DocId) => {\n const res = await fetchImageFile(damClient, endPointImage, id)\n imageRoiStore.setImageFile(res)\n}\n\nconst loadRois = async (forceReloadFile = false) => {\n imageRoiStore.showLoader()\n try {\n if (imageRoiStore.imageFile) {\n const { execute } = useFetchImageRoiList(damClient, endPointImage, imageRoiStore.imageFile.id)\n const res = await execute(pagination, filterData, filterConfig)\n if (res.length > 0 && res[0].id) {\n const roi = await fetchRoi(damClient, endPointRoi, res[0].id)\n if (forceReloadFile) {\n await loadImageFile(imageRoiStore.imageFile.id)\n }\n imageRoiStore.setRoi(roi)\n return\n }\n }\n imageRoiStore.setRoi(null)\n } catch (error) {\n showErrorsDefault(error)\n } finally {\n imageRoiStore.hideLoader()\n }\n}\n\n// Hidden while the cropper saves a region and reloads the redrawn file (`cropperBusy`).\n// A refresh read before the redraw replaced the cropper's file, and both showed the old image.\nconst refreshOffered = computed(() => !imageRoiStore.loader && !imageRoiStore.cropperBusy)\nconst refresh = () => {\n if (!refreshOffered.value) return\n void loadRois(true)\n}\n\nconst afterRotate = async () => {\n await loadRois(true)\n}\n\nonMounted(async () => {\n imageRoiStore.reset()\n imageRoiStore.showLoader()\n if (\n assetDetailStore.asset &&\n assetDetailStore.asset.mainFile &&\n assetFileIsImageFile(assetDetailStore.asset.mainFile)\n ) {\n imageRoiStore.setImageFile(cloneDeep(assetDetailStore.asset.mainFile))\n await loadRois()\n }\n imageRoiStore.hideLoader()\n})\n</script>\n\n<template>\n <AssetDetailSidebarActionsWrapper\n v-if=\"isActive\"\n :queue-key=\"queueKey\"\n >\n <ABtnTertiary\n v-if=\"refreshOffered\"\n class=\"d-none d-md-flex\"\n @click.stop=\"refresh\"\n >\n {{ t('common.damImage.asset.detail.roi.refresh') }}\n </ABtnTertiary>\n <VBtn\n v-if=\"refreshOffered\"\n icon\n variant=\"text\"\n size=\"small\"\n class=\"d-flex d-md-none\"\n :title=\"t('common.damImage.asset.detail.roi.refresh')\"\n @click.stop=\"refresh\"\n >\n <VIcon icon=\"mdi-refresh\" />\n </VBtn>\n </AssetDetailSidebarActionsWrapper>\n <div class=\"px-3\">\n <div class=\"v-expansion-panel-title px-0\">\n {{ t('common.damImage.asset.detail.roi.title') }}\n </div>\n <div class=\"text-body-small\">\n {{ t('common.damImage.asset.detail.roi.description') }}\n </div>\n </div>\n <div\n v-if=\"imageRoiStore.loader\"\n class=\"w-100 h-100 d-flex align-center justify-center\"\n >\n <VProgressCircular\n indeterminate\n color=\"primary\"\n />\n </div>\n <div\n v-else-if=\"imageRoiStore.roi\"\n class=\"crop-preview pa-2\"\n >\n <div\n v-for=\"item in imageRoiStore.roi?.links.image_roi_example\"\n :key=\"item.url\"\n class=\"pb-2\"\n >\n <div class=\"text-label-large\">\n {{ item.title }}\n </div>\n <img\n v-if=\"imageRoiStore.imageFile\"\n :src=\"item.url + '?manipulated=' + imageRoiStore.imageFile.manipulatedAt\"\n :width=\"item.width\"\n :height=\"item.height\"\n alt=\"\"\n />\n </div>\n </div>\n <AssetFileRotate\n v-if=\"imageRoiStore.imageFile && rotateAllowed\"\n :image-id=\"imageRoiStore.imageFile.id\"\n :config-name=\"damConfigName\"\n class=\"mx-2\"\n @after-rotate=\"afterRotate\"\n />\n</template>\n\n<style lang=\"scss\">\n.crop-preview {\n width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n}\n</style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js","names":["props","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createBlock","AssetDetailSidebarActionsWrapper","_withCtx","_withModifiers","_createTextVNode","_toDisplayString","_unref","_createCommentVNode","_component_VBtn","_createVNode","_component_VIcon","_createElementVNode","_component_VProgressCircular","_renderList","AssetFileRotate","AssetDetailSidebarActionsWrapper_default","AssetFileRotate_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","AssetDetailSidebarROI_vue_vue_type_script_setup_true_lang_default","damConfigName","useDamConfigName","__props","useI18n","useAlerts","imageRoiStore","useImageRoiStore","assetDetailStore","useAssetDetailStore","usePagination","useCommonAdminCoreDamOptions","useAuthHelpers","rotateAllowed","computed","isNull","imageRotateAcl","canSafeHelper","filterFieldsInner","createFilter","createFilterStore","SYSTEM_CORE_DAM","ENTITY","loadImageFile","res","fetchImageFile","damClient","endPointImage","id","loadRois","useFetchImageRoiList","execute","pagination","filterData","filterConfig","roi","fetchRoi","endPointRoi","forceReloadFile","error","refreshOffered","refresh","afterRotate","onMounted","assetFileIsImageFile","cloneDeep","_component_ABtnTertiary","resolveComponent","openBlock","createElementBlock","Fragment","createBlock","withCtx","withModifiers","createTextVNode","toDisplayString","unref","t","createCommentVNode","VBtn","createVNode","VIcon","createElementVNode","VProgressCircular","renderList","item"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { useImageRoiStore } from '@/domains/dam/cropper/store/imageRoiStore'\nimport { useI18n } from 'vue-i18n'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport { assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport { cloneDeep, isNull } from '@/shared/utils/common'\nimport { computed, onMounted } from 'vue'\nimport AssetDetailSidebarActionsWrapper from '@/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue'\nimport AssetFileRotate from '@/domains/dam/assetDetail/components/AssetFileRotate.vue'\nimport { ENTITY, fetchRoi, useFetchImageRoiList } from '@/domains/dam/api/damImageRoiApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { createFilter, createFilterStore, type MakeFilterOption } from '@/domains/filters/composables/filterFactory'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport { fetchImageFile } from '@/domains/dam/api/damImageApi'\nimport type { DocId } from '@/shared/types/common'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useAuthHelpers } from '@/domains/auth/composables/defineAuth'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n isActive: boolean\n queueKey: UploadQueueKey\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()\nconst { showErrorsDefault } = useAlerts()\n\nconst imageRoiStore = useImageRoiStore()\nconst assetDetailStore = useAssetDetailStore()\n\nconst { pagination } = usePagination(SORT_BY_ID)\n\nconst { damClient, endPointImage, endPointRoi, imageRotateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst { canSafeHelper } = useAuthHelpers()\n// The endpoint refuses the rotation without it.\nconst rotateAllowed = computed(() => isNull(imageRotateAcl) || canSafeHelper(imageRotateAcl, undefined, 'rotate'))\nconst filterFieldsInner = [] satisfies readonly MakeFilterOption[]\nconst { filterConfig, filterData } = createFilter(filterFieldsInner, createFilterStore(filterFieldsInner), {\n system: SYSTEM_CORE_DAM,\n subject: ENTITY,\n})\n\nconst loadImageFile = async (id: DocId) => {\n const res = await fetchImageFile(damClient, endPointImage, id)\n imageRoiStore.setImageFile(res)\n}\n\nconst loadRois = async (forceReloadFile = false) => {\n imageRoiStore.showLoader()\n try {\n if (imageRoiStore.imageFile) {\n const { execute } = useFetchImageRoiList(damClient, endPointImage, imageRoiStore.imageFile.id)\n const res = await execute(pagination, filterData, filterConfig)\n if (res.length > 0 && res[0].id) {\n const roi = await fetchRoi(damClient, endPointRoi, res[0].id)\n if (forceReloadFile) {\n await loadImageFile(imageRoiStore.imageFile.id)\n }\n imageRoiStore.setRoi(roi)\n return\n }\n }\n imageRoiStore.setRoi(null)\n } catch (error) {\n showErrorsDefault(error)\n } finally {\n imageRoiStore.hideLoader()\n }\n}\n\n// Not while the cropper beside it saves a region and reads the file the DAM redraws (`cropperBusy`): read before the\n// redraw, the file of the refresh took the place of the cropper's, and both stayed on the old drawing.\nconst refreshOffered = computed(() => !imageRoiStore.loader && !imageRoiStore.cropperBusy)\nconst refresh = () => {\n if (!refreshOffered.value) return\n void loadRois(true)\n}\n\nconst afterRotate = async () => {\n await loadRois(true)\n}\n\nonMounted(async () => {\n imageRoiStore.reset()\n imageRoiStore.showLoader()\n if (\n assetDetailStore.asset &&\n assetDetailStore.asset.mainFile &&\n assetFileIsImageFile(assetDetailStore.asset.mainFile)\n ) {\n imageRoiStore.setImageFile(cloneDeep(assetDetailStore.asset.mainFile))\n await loadRois()\n }\n imageRoiStore.hideLoader()\n})\n</script>\n\n<template>\n <AssetDetailSidebarActionsWrapper\n v-if=\"isActive\"\n :queue-key=\"queueKey\"\n >\n <ABtnTertiary\n v-if=\"refreshOffered\"\n class=\"d-none d-md-flex\"\n @click.stop=\"refresh\"\n >\n {{ t('common.damImage.asset.detail.roi.refresh') }}\n </ABtnTertiary>\n <VBtn\n v-if=\"refreshOffered\"\n icon\n variant=\"text\"\n size=\"small\"\n class=\"d-flex d-md-none\"\n :title=\"t('common.damImage.asset.detail.roi.refresh')\"\n @click.stop=\"refresh\"\n >\n <VIcon icon=\"mdi-refresh\" />\n </VBtn>\n </AssetDetailSidebarActionsWrapper>\n <div class=\"px-3\">\n <div class=\"v-expansion-panel-title px-0\">\n {{ t('common.damImage.asset.detail.roi.title') }}\n </div>\n <div class=\"text-body-small\">\n {{ t('common.damImage.asset.detail.roi.description') }}\n </div>\n </div>\n <div\n v-if=\"imageRoiStore.loader\"\n class=\"w-100 h-100 d-flex align-center justify-center\"\n >\n <VProgressCircular\n indeterminate\n color=\"primary\"\n />\n </div>\n <div\n v-else-if=\"imageRoiStore.roi\"\n class=\"crop-preview pa-2\"\n >\n <div\n v-for=\"item in imageRoiStore.roi?.links.image_roi_example\"\n :key=\"item.url\"\n class=\"pb-2\"\n >\n <div class=\"text-label-large\">\n {{ item.title }}\n </div>\n <img\n v-if=\"imageRoiStore.imageFile\"\n :src=\"item.url + '?manipulated=' + imageRoiStore.imageFile.manipulatedAt\"\n :width=\"item.width\"\n :height=\"item.height\"\n alt=\"\"\n />\n </div>\n </div>\n <AssetFileRotate\n v-if=\"imageRoiStore.imageFile && rotateAllowed\"\n :image-id=\"imageRoiStore.imageFile.id\"\n :config-name=\"damConfigName\"\n class=\"mx-2\"\n @after-rotate=\"afterRotate\"\n />\n</template>\n\n<style lang=\"scss\">\n.crop-preview {\n width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js","names":["props","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createBlock","AssetDetailSidebarActionsWrapper","_withCtx","_withModifiers","_createTextVNode","_toDisplayString","_unref","_createCommentVNode","_component_VBtn","_createVNode","_component_VIcon","_createElementVNode","_component_VProgressCircular","_renderList","AssetFileRotate","AssetDetailSidebarActionsWrapper_default","AssetFileRotate_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","AssetDetailSidebarROI_vue_vue_type_script_setup_true_lang_default","damConfigName","useDamConfigName","__props","useI18n","useAlerts","imageRoiStore","useImageRoiStore","assetDetailStore","useAssetDetailStore","usePagination","useCommonAdminCoreDamOptions","useAuthHelpers","rotateAllowed","computed","isNull","imageRotateAcl","canSafeHelper","filterFieldsInner","createFilter","createFilterStore","SYSTEM_CORE_DAM","ENTITY","loadImageFile","res","fetchImageFile","damClient","endPointImage","id","loadRois","useFetchImageRoiList","execute","pagination","filterData","filterConfig","roi","fetchRoi","endPointRoi","forceReloadFile","error","refreshOffered","refresh","afterRotate","onMounted","assetFileIsImageFile","cloneDeep","_component_ABtnTertiary","resolveComponent","openBlock","createElementBlock","Fragment","createBlock","withCtx","withModifiers","createTextVNode","toDisplayString","unref","t","createCommentVNode","VBtn","createVNode","VIcon","createElementVNode","VProgressCircular","renderList","item"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { useImageRoiStore } from '@/domains/dam/cropper/store/imageRoiStore'\nimport { useI18n } from 'vue-i18n'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport { assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport { cloneDeep, isNull } from '@/shared/utils/common'\nimport { computed, onMounted } from 'vue'\nimport AssetDetailSidebarActionsWrapper from '@/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue'\nimport AssetFileRotate from '@/domains/dam/assetDetail/components/AssetFileRotate.vue'\nimport { ENTITY, fetchRoi, useFetchImageRoiList } from '@/domains/dam/api/damImageRoiApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { createFilter, createFilterStore, type MakeFilterOption } from '@/domains/filters/composables/filterFactory'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport { fetchImageFile } from '@/domains/dam/api/damImageApi'\nimport type { DocId } from '@/shared/types/common'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useAuthHelpers } from '@/domains/auth/composables/defineAuth'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n isActive: boolean\n queueKey: UploadQueueKey\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()\nconst { showErrorsDefault } = useAlerts()\n\nconst imageRoiStore = useImageRoiStore()\nconst assetDetailStore = useAssetDetailStore()\n\nconst { pagination } = usePagination(SORT_BY_ID)\n\nconst { damClient, endPointImage, endPointRoi, imageRotateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst { canSafeHelper } = useAuthHelpers()\n// The endpoint refuses the rotation without it.\nconst rotateAllowed = computed(() => isNull(imageRotateAcl) || canSafeHelper(imageRotateAcl, undefined, 'rotate'))\nconst filterFieldsInner = [] satisfies readonly MakeFilterOption[]\nconst { filterConfig, filterData } = createFilter(filterFieldsInner, createFilterStore(filterFieldsInner), {\n system: SYSTEM_CORE_DAM,\n subject: ENTITY,\n})\n\nconst loadImageFile = async (id: DocId) => {\n const res = await fetchImageFile(damClient, endPointImage, id)\n imageRoiStore.setImageFile(res)\n}\n\nconst loadRois = async (forceReloadFile = false) => {\n imageRoiStore.showLoader()\n try {\n if (imageRoiStore.imageFile) {\n const { execute } = useFetchImageRoiList(damClient, endPointImage, imageRoiStore.imageFile.id)\n const res = await execute(pagination, filterData, filterConfig)\n if (res.length > 0 && res[0].id) {\n const roi = await fetchRoi(damClient, endPointRoi, res[0].id)\n if (forceReloadFile) {\n await loadImageFile(imageRoiStore.imageFile.id)\n }\n imageRoiStore.setRoi(roi)\n return\n }\n }\n imageRoiStore.setRoi(null)\n } catch (error) {\n showErrorsDefault(error)\n } finally {\n imageRoiStore.hideLoader()\n }\n}\n\n// Hidden while the cropper saves a region and reloads the redrawn file (`cropperBusy`).\n// A refresh read before the redraw replaced the cropper's file, and both showed the old image.\nconst refreshOffered = computed(() => !imageRoiStore.loader && !imageRoiStore.cropperBusy)\nconst refresh = () => {\n if (!refreshOffered.value) return\n void loadRois(true)\n}\n\nconst afterRotate = async () => {\n await loadRois(true)\n}\n\nonMounted(async () => {\n imageRoiStore.reset()\n imageRoiStore.showLoader()\n if (\n assetDetailStore.asset &&\n assetDetailStore.asset.mainFile &&\n assetFileIsImageFile(assetDetailStore.asset.mainFile)\n ) {\n imageRoiStore.setImageFile(cloneDeep(assetDetailStore.asset.mainFile))\n await loadRois()\n }\n imageRoiStore.hideLoader()\n})\n</script>\n\n<template>\n <AssetDetailSidebarActionsWrapper\n v-if=\"isActive\"\n :queue-key=\"queueKey\"\n >\n <ABtnTertiary\n v-if=\"refreshOffered\"\n class=\"d-none d-md-flex\"\n @click.stop=\"refresh\"\n >\n {{ t('common.damImage.asset.detail.roi.refresh') }}\n </ABtnTertiary>\n <VBtn\n v-if=\"refreshOffered\"\n icon\n variant=\"text\"\n size=\"small\"\n class=\"d-flex d-md-none\"\n :title=\"t('common.damImage.asset.detail.roi.refresh')\"\n @click.stop=\"refresh\"\n >\n <VIcon icon=\"mdi-refresh\" />\n </VBtn>\n </AssetDetailSidebarActionsWrapper>\n <div class=\"px-3\">\n <div class=\"v-expansion-panel-title px-0\">\n {{ t('common.damImage.asset.detail.roi.title') }}\n </div>\n <div class=\"text-body-small\">\n {{ t('common.damImage.asset.detail.roi.description') }}\n </div>\n </div>\n <div\n v-if=\"imageRoiStore.loader\"\n class=\"w-100 h-100 d-flex align-center justify-center\"\n >\n <VProgressCircular\n indeterminate\n color=\"primary\"\n />\n </div>\n <div\n v-else-if=\"imageRoiStore.roi\"\n class=\"crop-preview pa-2\"\n >\n <div\n v-for=\"item in imageRoiStore.roi?.links.image_roi_example\"\n :key=\"item.url\"\n class=\"pb-2\"\n >\n <div class=\"text-label-large\">\n {{ item.title }}\n </div>\n <img\n v-if=\"imageRoiStore.imageFile\"\n :src=\"item.url + '?manipulated=' + imageRoiStore.imageFile.manipulatedAt\"\n :width=\"item.width\"\n :height=\"item.height\"\n alt=\"\"\n />\n </div>\n </div>\n <AssetFileRotate\n v-if=\"imageRoiStore.imageFile && rotateAllowed\"\n :image-id=\"imageRoiStore.imageFile.id\"\n :config-name=\"damConfigName\"\n class=\"mx-2\"\n @after-rotate=\"afterRotate\"\n />\n</template>\n\n<style lang=\"scss\">\n.crop-preview {\n width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetFileInfoPanel.js","names":["_sfc_main","AssetFileInfoPanel_vue_vue_type_script_setup_true_lang_default","AssetFileInfoPanel_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetFileInfoPanel.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetDetailItemDto, DamAssetType, DamAssetTypeDefault } from '@/domains/dam/types/Asset'\nimport { assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport ACopyText from '@/domains/ui/components/ACopyText.vue'\nimport { prettyBytes } from '@/shared/utils/file'\nimport AssetMetadataImageAttributes from '@/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue'\nimport { dateTimePretty } from '@/shared/utils/datetime'\nimport ACachedUserChip from '@/domains/cached/components/ACachedUserChip.vue'\nimport { useDamCachedUsers } from '@/domains/dam/author/composables/cachedUsers'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\n// The panel \"file\" of the metadata of the detail of an asset and of the dialog of a single upload. No overflow-wrap\n// of its own: the detail passes `style=\"overflow-wrap: normal\"`, which falls through to its root.\n\nconst props = defineProps<{\n asset: AssetDetailItemDto\n /** Who created and who changed the asset, by their chips. */\n showUsers: boolean\n}>()\n\nconst { t } = useI18n()\n\nconst isTypeImage = computed(() => (props.asset.attributes.assetType || DamAssetTypeDefault) === DamAssetType.Image)\n\nconst { getCachedUser } = useDamCachedUsers(useDamConfigName())\n</script>\n\n<template>\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.file')\"\n value=\"file\"\n >\n <VExpansionPanelText class=\"text-body-small\">\n <!-- all types -->\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.id') }}\n </VCol>\n <VCol cols=\"9\">\n <ACopyText :value=\"asset.id\" />\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.type') }}\n </VCol>\n <VCol cols=\"9\">\n {{ asset.attributes.assetType }}\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.model.tracking.created') }}\n </VCol>\n <VCol cols=\"9\">\n {{ dateTimePretty(asset.createdAt) }}\n <template v-if=\"showUsers\">\n <br />\n <ACachedUserChip\n :id=\"asset.createdBy\"\n :get-cached-fn=\"getCachedUser\"\n />\n </template>\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.model.tracking.modified') }}\n </VCol>\n <VCol cols=\"9\">\n {{ dateTimePretty(asset.modifiedAt) }}\n <template v-if=\"showUsers\">\n <br />\n <ACachedUserChip\n :id=\"asset.modifiedBy\"\n :get-cached-fn=\"getCachedUser\"\n />\n </template>\n </VCol>\n </VRow>\n <template v-if=\"asset.mainFile\">\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.mainFileId') }}\n </VCol>\n <VCol cols=\"9\">\n <ACopyText :value=\"asset.mainFile.id\" />\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.mimeType') }}\n </VCol>\n <VCol cols=\"9\">\n {{ asset.mainFile.fileAttributes.mimeType }}\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.size') }}\n </VCol>\n <VCol cols=\"9\">\n {{ prettyBytes(asset.mainFile.fileAttributes.size) }}\n </VCol>\n </VRow>\n <AssetMetadataImageAttributes\n v-if=\"isTypeImage && assetFileIsImageFile(asset.mainFile)\"\n :file=\"asset.mainFile\"\n />\n </template>\n </VExpansionPanelText>\n </VExpansionPanel>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AssetFileInfoPanel.js","names":["_sfc_main","AssetFileInfoPanel_vue_vue_type_script_setup_true_lang_default","AssetFileInfoPanel_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetFileInfoPanel.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetDetailItemDto, DamAssetType, DamAssetTypeDefault } from '@/domains/dam/types/Asset'\nimport { assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport ACopyText from '@/domains/ui/components/ACopyText.vue'\nimport { prettyBytes } from '@/shared/utils/file'\nimport AssetMetadataImageAttributes from '@/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue'\nimport { dateTimePretty } from '@/shared/utils/datetime'\nimport ACachedUserChip from '@/domains/cached/components/ACachedUserChip.vue'\nimport { useDamCachedUsers } from '@/domains/dam/author/composables/cachedUsers'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\n// \"File\" metadata panel of the asset detail and the single-upload dialog.\n// It sets no overflow-wrap itself. The detail passes `style=\"overflow-wrap: normal\"`, which falls through to the root.\n\nconst props = defineProps<{\n asset: AssetDetailItemDto\n /** Shows creator and last modifier chips. */\n showUsers: boolean\n}>()\n\nconst { t } = useI18n()\n\nconst isTypeImage = computed(() => (props.asset.attributes.assetType || DamAssetTypeDefault) === DamAssetType.Image)\n\nconst { getCachedUser } = useDamCachedUsers(useDamConfigName())\n</script>\n\n<template>\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.file')\"\n value=\"file\"\n >\n <VExpansionPanelText class=\"text-body-small\">\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.id') }}\n </VCol>\n <VCol cols=\"9\">\n <ACopyText :value=\"asset.id\" />\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.type') }}\n </VCol>\n <VCol cols=\"9\">\n {{ asset.attributes.assetType }}\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.model.tracking.created') }}\n </VCol>\n <VCol cols=\"9\">\n {{ dateTimePretty(asset.createdAt) }}\n <template v-if=\"showUsers\">\n <br />\n <ACachedUserChip\n :id=\"asset.createdBy\"\n :get-cached-fn=\"getCachedUser\"\n />\n </template>\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.model.tracking.modified') }}\n </VCol>\n <VCol cols=\"9\">\n {{ dateTimePretty(asset.modifiedAt) }}\n <template v-if=\"showUsers\">\n <br />\n <ACachedUserChip\n :id=\"asset.modifiedBy\"\n :get-cached-fn=\"getCachedUser\"\n />\n </template>\n </VCol>\n </VRow>\n <template v-if=\"asset.mainFile\">\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.mainFileId') }}\n </VCol>\n <VCol cols=\"9\">\n <ACopyText :value=\"asset.mainFile.id\" />\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.mimeType') }}\n </VCol>\n <VCol cols=\"9\">\n {{ asset.mainFile.fileAttributes.mimeType }}\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.size') }}\n </VCol>\n <VCol cols=\"9\">\n {{ prettyBytes(asset.mainFile.fileAttributes.size) }}\n </VCol>\n </VRow>\n <AssetMetadataImageAttributes\n v-if=\"isTypeImage && assetFileIsImageFile(asset.mainFile)\"\n :file=\"asset.mainFile\"\n />\n </template>\n </VExpansionPanelText>\n </VExpansionPanel>\n</template>\n"],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  import { AssetDetailItemDto } from '../../types/Asset';
2
2
  type __VLS_Props = {
3
3
  asset: AssetDetailItemDto;
4
- /** Who created and who changed the asset, by their chips. */
4
+ /** Shows creator and last modifier chips. */
5
5
  showUsers: boolean;
6
6
  };
7
7
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VExpansionPanel","_unref","_withCtx","_createVNode","_component_VExpansionPanelText","_component_VRow","_component_VCol","_createTextVNode","_toDisplayString","ACopyText","_createElementBlock","_Fragment","_createElementVNode","ACachedUserChip","_createCommentVNode","AssetMetadataImageAttributes","ACachedUserChip_default","ACopyText_default","AssetMetadataImageAttributes_default","AssetFileInfoPanel_vue_vue_type_script_setup_true_lang_default","props","__props","useI18n","isTypeImage","computed","DamAssetTypeDefault","DamAssetType","useDamCachedUsers","useDamConfigName","openBlock","createBlock","VExpansionPanel","unref","t","withCtx","createVNode","VExpansionPanelText","VRow","VCol","createTextVNode","toDisplayString","dateTimePretty","createElementBlock","Fragment","_cache","createElementVNode","getCachedUser","createCommentVNode","prettyBytes","assetFileIsImageFile"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetFileInfoPanel.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetDetailItemDto, DamAssetType, DamAssetTypeDefault } from '@/domains/dam/types/Asset'\nimport { assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport ACopyText from '@/domains/ui/components/ACopyText.vue'\nimport { prettyBytes } from '@/shared/utils/file'\nimport AssetMetadataImageAttributes from '@/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue'\nimport { dateTimePretty } from '@/shared/utils/datetime'\nimport ACachedUserChip from '@/domains/cached/components/ACachedUserChip.vue'\nimport { useDamCachedUsers } from '@/domains/dam/author/composables/cachedUsers'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\n// The panel \"file\" of the metadata of the detail of an asset and of the dialog of a single upload. No overflow-wrap\n// of its own: the detail passes `style=\"overflow-wrap: normal\"`, which falls through to its root.\n\nconst props = defineProps<{\n asset: AssetDetailItemDto\n /** Who created and who changed the asset, by their chips. */\n showUsers: boolean\n}>()\n\nconst { t } = useI18n()\n\nconst isTypeImage = computed(() => (props.asset.attributes.assetType || DamAssetTypeDefault) === DamAssetType.Image)\n\nconst { getCachedUser } = useDamCachedUsers(useDamConfigName())\n</script>\n\n<template>\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.file')\"\n value=\"file\"\n >\n <VExpansionPanelText class=\"text-body-small\">\n <!-- all types -->\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.id') }}\n </VCol>\n <VCol cols=\"9\">\n <ACopyText :value=\"asset.id\" />\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.type') }}\n </VCol>\n <VCol cols=\"9\">\n {{ asset.attributes.assetType }}\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.model.tracking.created') }}\n </VCol>\n <VCol cols=\"9\">\n {{ dateTimePretty(asset.createdAt) }}\n <template v-if=\"showUsers\">\n <br />\n <ACachedUserChip\n :id=\"asset.createdBy\"\n :get-cached-fn=\"getCachedUser\"\n />\n </template>\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.model.tracking.modified') }}\n </VCol>\n <VCol cols=\"9\">\n {{ dateTimePretty(asset.modifiedAt) }}\n <template v-if=\"showUsers\">\n <br />\n <ACachedUserChip\n :id=\"asset.modifiedBy\"\n :get-cached-fn=\"getCachedUser\"\n />\n </template>\n </VCol>\n </VRow>\n <template v-if=\"asset.mainFile\">\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.mainFileId') }}\n </VCol>\n <VCol cols=\"9\">\n <ACopyText :value=\"asset.mainFile.id\" />\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.mimeType') }}\n </VCol>\n <VCol cols=\"9\">\n {{ asset.mainFile.fileAttributes.mimeType }}\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.size') }}\n </VCol>\n <VCol cols=\"9\">\n {{ prettyBytes(asset.mainFile.fileAttributes.size) }}\n </VCol>\n </VRow>\n <AssetMetadataImageAttributes\n v-if=\"isTypeImage && assetFileIsImageFile(asset.mainFile)\"\n :file=\"asset.mainFile\"\n />\n </template>\n </VExpansionPanelText>\n </VExpansionPanel>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VExpansionPanel","_unref","_withCtx","_createVNode","_component_VExpansionPanelText","_component_VRow","_component_VCol","_createTextVNode","_toDisplayString","ACopyText","_createElementBlock","_Fragment","_createElementVNode","ACachedUserChip","_createCommentVNode","AssetMetadataImageAttributes","ACachedUserChip_default","ACopyText_default","AssetMetadataImageAttributes_default","AssetFileInfoPanel_vue_vue_type_script_setup_true_lang_default","props","__props","useI18n","isTypeImage","computed","DamAssetTypeDefault","DamAssetType","useDamCachedUsers","useDamConfigName","openBlock","createBlock","VExpansionPanel","unref","t","withCtx","createVNode","VExpansionPanelText","VRow","VCol","createTextVNode","toDisplayString","dateTimePretty","createElementBlock","Fragment","_cache","createElementVNode","getCachedUser","createCommentVNode","prettyBytes","assetFileIsImageFile"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetFileInfoPanel.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetDetailItemDto, DamAssetType, DamAssetTypeDefault } from '@/domains/dam/types/Asset'\nimport { assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport ACopyText from '@/domains/ui/components/ACopyText.vue'\nimport { prettyBytes } from '@/shared/utils/file'\nimport AssetMetadataImageAttributes from '@/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue'\nimport { dateTimePretty } from '@/shared/utils/datetime'\nimport ACachedUserChip from '@/domains/cached/components/ACachedUserChip.vue'\nimport { useDamCachedUsers } from '@/domains/dam/author/composables/cachedUsers'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\n// \"File\" metadata panel of the asset detail and the single-upload dialog.\n// It sets no overflow-wrap itself. The detail passes `style=\"overflow-wrap: normal\"`, which falls through to the root.\n\nconst props = defineProps<{\n asset: AssetDetailItemDto\n /** Shows creator and last modifier chips. */\n showUsers: boolean\n}>()\n\nconst { t } = useI18n()\n\nconst isTypeImage = computed(() => (props.asset.attributes.assetType || DamAssetTypeDefault) === DamAssetType.Image)\n\nconst { getCachedUser } = useDamCachedUsers(useDamConfigName())\n</script>\n\n<template>\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.file')\"\n value=\"file\"\n >\n <VExpansionPanelText class=\"text-body-small\">\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.id') }}\n </VCol>\n <VCol cols=\"9\">\n <ACopyText :value=\"asset.id\" />\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.type') }}\n </VCol>\n <VCol cols=\"9\">\n {{ asset.attributes.assetType }}\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.model.tracking.created') }}\n </VCol>\n <VCol cols=\"9\">\n {{ dateTimePretty(asset.createdAt) }}\n <template v-if=\"showUsers\">\n <br />\n <ACachedUserChip\n :id=\"asset.createdBy\"\n :get-cached-fn=\"getCachedUser\"\n />\n </template>\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.model.tracking.modified') }}\n </VCol>\n <VCol cols=\"9\">\n {{ dateTimePretty(asset.modifiedAt) }}\n <template v-if=\"showUsers\">\n <br />\n <ACachedUserChip\n :id=\"asset.modifiedBy\"\n :get-cached-fn=\"getCachedUser\"\n />\n </template>\n </VCol>\n </VRow>\n <template v-if=\"asset.mainFile\">\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.mainFileId') }}\n </VCol>\n <VCol cols=\"9\">\n <ACopyText :value=\"asset.mainFile.id\" />\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.mimeType') }}\n </VCol>\n <VCol cols=\"9\">\n {{ asset.mainFile.fileAttributes.mimeType }}\n </VCol>\n </VRow>\n <VRow>\n <VCol cols=\"3\">\n {{ t('common.damImage.asset.detail.info.field.size') }}\n </VCol>\n <VCol cols=\"9\">\n {{ prettyBytes(asset.mainFile.fileAttributes.size) }}\n </VCol>\n </VRow>\n <AssetMetadataImageAttributes\n v-if=\"isTypeImage && assetFileIsImageFile(asset.mainFile)\"\n :file=\"asset.mainFile\"\n />\n </template>\n </VExpansionPanelText>\n </VExpansionPanel>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetImage.js","names":["_sfc_main","AssetImage_vue_vue_type_script_setup_true_lang_default","AssetImage_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetImage.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport placeholder16x9 from '@/assets/image/placeholder16x9.svg'\nimport {\n type AssetFileProperties,\n DamAssetStatus,\n type DamAssetStatusType,\n DamAssetType,\n type DamAssetTypeType,\n} from '@/domains/dam/types/Asset'\nimport { isUndefined } from '@/shared/utils/common'\nimport { useRemainingTime } from '@/domains/ui/datetime/composables/remainingTime'\nimport AssetImageMetaIcons from '@/domains/dam/assetDetail/components/AssetImageMetaIcons.vue'\n\nconst props = withDefaults(\n defineProps<{\n src?: string\n assetType?: DamAssetTypeType\n assetStatus?: DamAssetStatusType\n backgroundColor?: string\n width?: number\n height?: number\n fallbackHeight?: number\n iconSize?: number\n useComponent?: boolean\n cover?: boolean\n aspectRatio?: number\n showUploading?: boolean\n showProcessing?: boolean\n showWaiting?: boolean\n showDone?: boolean\n uploadingColor?: string\n processingColor?: string\n disableProcessingText?: boolean\n uploadingProgress?: number | null\n remainingTime?: number | null\n hideIcon?: boolean\n showMetaIcons?: boolean\n assetFileProperties?: AssetFileProperties | undefined\n /** Handed to the meta icons: the icon of a synthesized audio (TTS). */\n showTts?: boolean\n }>(),\n {\n assetType: DamAssetType.Image,\n assetStatus: DamAssetStatus.WithFile,\n src: undefined,\n backgroundColor: '#ccc',\n width: undefined,\n height: undefined,\n fallbackHeight: 200,\n iconSize: 80,\n useComponent: false,\n cover: false,\n aspectRatio: undefined,\n showUploading: false,\n showProcessing: false,\n showWaiting: false,\n showDone: false,\n uploadingColor: 'primary',\n processingColor: 'primary',\n disableProcessingText: false,\n uploadingProgress: null,\n remainingTime: null,\n hideIcon: false,\n showMetaIcons: false,\n assetFileProperties: undefined,\n showTts: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'load'): void\n (e: 'error'): void\n}>()\n\nconst { t } = useI18n()\n\nconst onLoad = () => {\n emit('load')\n}\nconst onError = () => {\n emit('error')\n}\n\nconst icon = computed(() => {\n if (props.assetStatus === DamAssetStatus.Deleting) return 'mdi-trash-can'\n switch (props.assetType) {\n case DamAssetType.Audio:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-music' : 'mdi-music-off'\n case DamAssetType.Document:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-note' : 'mdi-note-off'\n case DamAssetType.Video:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-video' : 'mdi-video-off'\n case DamAssetType.Image:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-image' : 'mdi-image-off'\n default:\n return ''\n }\n})\n\nconst uploadingPercentage = computed(() => {\n if (!props.uploadingProgress) return '0%'\n const value = Math.ceil(props.uploadingProgress)\n return value > 100 ? '100%' : value + '%'\n})\n\nconst backgroundColorComputed = computed(() => {\n const grayBackgroundStatuses: readonly DamAssetStatusType[] = [DamAssetStatus.Deleting, DamAssetStatus.Draft]\n return grayBackgroundStatuses.includes(props.assetStatus) ? '#ccc' : props.backgroundColor\n})\n\nconst iconColor = computed(() => {\n return props.assetStatus === DamAssetStatus.WithFile ? '#505050' : '#8f8f8f'\n})\n\nconst srcComputed = computed(() => {\n return isUndefined(props.src) ? placeholder16x9 : props.src\n})\n\nconst showIconComputed = computed(() => {\n if (props.hideIcon) return false\n else if (props.assetType === DamAssetType.Image && props.src) return false\n return true\n})\n\nconst { remainingTimeShort } = useRemainingTime()\n</script>\n\n<template>\n <VImg\n v-if=\"showUploading || showProcessing || showWaiting\"\n :aspect-ratio=\"aspectRatio\"\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n :cover=\"cover\"\n class=\"asset-image asset-image--loading-bg\"\n @error=\"onError\"\n @load=\"onLoad\"\n >\n <template #placeholder />\n <template #default>\n <div\n v-if=\"showWaiting\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n indeterminate\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.waiting') }}\n </div>\n </div>\n <div\n v-if=\"showProcessing\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n :color=\"processingColor\"\n indeterminate\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n class=\"ml-auto mr-auto\"\n />\n <div\n v-if=\"!disableProcessingText\"\n class=\"text-body-small text-center\"\n >\n {{ t('common.damImage.upload.processing') }}\n </div>\n </div>\n <div\n v-else-if=\"showUploading\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n :color=\"uploadingColor\"\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n class=\"ml-auto mr-auto\"\n :model-value=\"uploadingProgress === null ? undefined : uploadingProgress\"\n >\n {{ uploadingPercentage }}\n </VProgressCircular>\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.uploading') }}\n <span\n v-if=\"remainingTime\"\n class=\"font-weight-bold\"\n >\n {{ remainingTimeShort(remainingTime) }}\n </span>\n </div>\n </div>\n </template>\n </VImg>\n <VImg\n v-else-if=\"assetStatus === DamAssetStatus.WithFile && src && useComponent\"\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n class=\"asset-image asset-image--component position-relative\"\n :cover=\"cover\"\n :aspect-ratio=\"aspectRatio\"\n @load=\"onLoad\"\n @error=\"onError\"\n >\n <template #placeholder />\n <template #default>\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n />\n </div>\n </div>\n <div\n v-if=\"showDone\"\n class=\"asset-image__progress asset-image__progress--animate-done\"\n >\n <VIcon\n icon=\"mdi-check-circle\"\n color=\"success\"\n :size=\"iconSize\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.done') }}\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </template>\n </VImg>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.WithFile && src\"\n class=\"asset-image asset-image--img position-relative\"\n >\n <img\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n alt=\"\"\n :style=\"'background-color:' + backgroundColorComputed\"\n @onerror=\"onError\"\n />\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n class=\"asset-image__icon\"\n />\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </div>\n <div\n v-else\n :style=\"{\n height: fallbackHeight + 'px',\n backgroundColor: backgroundColorComputed,\n width: width + 'px',\n }\"\n class=\"asset-image asset-image--placeholder d-flex align-center justify-center\"\n >\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n class=\"asset-image__icon\"\n />\n </div>\n </div>\n <div\n v-if=\"showDone\"\n class=\"asset-image__progress asset-image__progress--animate-done\"\n >\n <VIcon\n icon=\"mdi-check-circle\"\n color=\"success\"\n :size=\"iconSize\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.done') }}\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AssetImage.js","names":["_sfc_main","AssetImage_vue_vue_type_script_setup_true_lang_default","AssetImage_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetImage.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport placeholder16x9 from '@/assets/image/placeholder16x9.svg'\nimport {\n type AssetFileProperties,\n DamAssetStatus,\n type DamAssetStatusType,\n DamAssetType,\n type DamAssetTypeType,\n} from '@/domains/dam/types/Asset'\nimport { isUndefined } from '@/shared/utils/common'\nimport { useRemainingTime } from '@/domains/ui/datetime/composables/remainingTime'\nimport AssetImageMetaIcons from '@/domains/dam/assetDetail/components/AssetImageMetaIcons.vue'\n\nconst props = withDefaults(\n defineProps<{\n src?: string\n assetType?: DamAssetTypeType\n assetStatus?: DamAssetStatusType\n backgroundColor?: string\n width?: number\n height?: number\n fallbackHeight?: number\n iconSize?: number\n useComponent?: boolean\n cover?: boolean\n aspectRatio?: number\n showUploading?: boolean\n showProcessing?: boolean\n showWaiting?: boolean\n showDone?: boolean\n uploadingColor?: string\n processingColor?: string\n disableProcessingText?: boolean\n uploadingProgress?: number | null\n remainingTime?: number | null\n hideIcon?: boolean\n showMetaIcons?: boolean\n assetFileProperties?: AssetFileProperties | undefined\n /** Passed to the meta icons: shows the synthesized audio (TTS) icon. */\n showTts?: boolean\n }>(),\n {\n assetType: DamAssetType.Image,\n assetStatus: DamAssetStatus.WithFile,\n src: undefined,\n backgroundColor: '#ccc',\n width: undefined,\n height: undefined,\n fallbackHeight: 200,\n iconSize: 80,\n useComponent: false,\n cover: false,\n aspectRatio: undefined,\n showUploading: false,\n showProcessing: false,\n showWaiting: false,\n showDone: false,\n uploadingColor: 'primary',\n processingColor: 'primary',\n disableProcessingText: false,\n uploadingProgress: null,\n remainingTime: null,\n hideIcon: false,\n showMetaIcons: false,\n assetFileProperties: undefined,\n showTts: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'load'): void\n (e: 'error'): void\n}>()\n\nconst { t } = useI18n()\n\nconst onLoad = () => {\n emit('load')\n}\nconst onError = () => {\n emit('error')\n}\n\nconst icon = computed(() => {\n if (props.assetStatus === DamAssetStatus.Deleting) return 'mdi-trash-can'\n switch (props.assetType) {\n case DamAssetType.Audio:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-music' : 'mdi-music-off'\n case DamAssetType.Document:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-note' : 'mdi-note-off'\n case DamAssetType.Video:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-video' : 'mdi-video-off'\n case DamAssetType.Image:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-image' : 'mdi-image-off'\n default:\n return ''\n }\n})\n\nconst uploadingPercentage = computed(() => {\n if (!props.uploadingProgress) return '0%'\n const value = Math.ceil(props.uploadingProgress)\n return value > 100 ? '100%' : value + '%'\n})\n\nconst backgroundColorComputed = computed(() => {\n const grayBackgroundStatuses: readonly DamAssetStatusType[] = [DamAssetStatus.Deleting, DamAssetStatus.Draft]\n return grayBackgroundStatuses.includes(props.assetStatus) ? '#ccc' : props.backgroundColor\n})\n\nconst iconColor = computed(() => {\n return props.assetStatus === DamAssetStatus.WithFile ? '#505050' : '#8f8f8f'\n})\n\nconst srcComputed = computed(() => {\n return isUndefined(props.src) ? placeholder16x9 : props.src\n})\n\nconst showIconComputed = computed(() => {\n if (props.hideIcon) return false\n else if (props.assetType === DamAssetType.Image && props.src) return false\n return true\n})\n\nconst { remainingTimeShort } = useRemainingTime()\n</script>\n\n<template>\n <VImg\n v-if=\"showUploading || showProcessing || showWaiting\"\n :aspect-ratio=\"aspectRatio\"\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n :cover=\"cover\"\n class=\"asset-image asset-image--loading-bg\"\n @error=\"onError\"\n @load=\"onLoad\"\n >\n <template #placeholder />\n <template #default>\n <div\n v-if=\"showWaiting\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n indeterminate\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.waiting') }}\n </div>\n </div>\n <div\n v-if=\"showProcessing\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n :color=\"processingColor\"\n indeterminate\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n class=\"ml-auto mr-auto\"\n />\n <div\n v-if=\"!disableProcessingText\"\n class=\"text-body-small text-center\"\n >\n {{ t('common.damImage.upload.processing') }}\n </div>\n </div>\n <div\n v-else-if=\"showUploading\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n :color=\"uploadingColor\"\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n class=\"ml-auto mr-auto\"\n :model-value=\"uploadingProgress === null ? undefined : uploadingProgress\"\n >\n {{ uploadingPercentage }}\n </VProgressCircular>\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.uploading') }}\n <span\n v-if=\"remainingTime\"\n class=\"font-weight-bold\"\n >\n {{ remainingTimeShort(remainingTime) }}\n </span>\n </div>\n </div>\n </template>\n </VImg>\n <VImg\n v-else-if=\"assetStatus === DamAssetStatus.WithFile && src && useComponent\"\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n class=\"asset-image asset-image--component position-relative\"\n :cover=\"cover\"\n :aspect-ratio=\"aspectRatio\"\n @load=\"onLoad\"\n @error=\"onError\"\n >\n <template #placeholder />\n <template #default>\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n />\n </div>\n </div>\n <div\n v-if=\"showDone\"\n class=\"asset-image__progress asset-image__progress--animate-done\"\n >\n <VIcon\n icon=\"mdi-check-circle\"\n color=\"success\"\n :size=\"iconSize\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.done') }}\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </template>\n </VImg>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.WithFile && src\"\n class=\"asset-image asset-image--img position-relative\"\n >\n <img\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n alt=\"\"\n :style=\"'background-color:' + backgroundColorComputed\"\n @onerror=\"onError\"\n />\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n class=\"asset-image__icon\"\n />\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </div>\n <div\n v-else\n :style=\"{\n height: fallbackHeight + 'px',\n backgroundColor: backgroundColorComputed,\n width: width + 'px',\n }\"\n class=\"asset-image asset-image--placeholder d-flex align-center justify-center\"\n >\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n class=\"asset-image__icon\"\n />\n </div>\n </div>\n <div\n v-if=\"showDone\"\n class=\"asset-image__progress asset-image__progress--animate-done\"\n >\n <VIcon\n icon=\"mdi-check-circle\"\n color=\"success\"\n :size=\"iconSize\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.done') }}\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </div>\n</template>\n"],"mappings":""}
@@ -23,7 +23,7 @@ type __VLS_Props = {
23
23
  hideIcon?: boolean;
24
24
  showMetaIcons?: boolean;
25
25
  assetFileProperties?: AssetFileProperties | undefined;
26
- /** Handed to the meta icons: the icon of a synthesized audio (TTS). */
26
+ /** Passed to the meta icons: shows the synthesized audio (TTS) icon. */
27
27
  showTts?: boolean;
28
28
  };
29
29
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
@@ -1 +1 @@
1
- {"version":3,"file":"AssetImage.vue_vue_type_script_setup_true_lang.js","names":["placeholder16x9","_openBlock","_createBlock","_component_VImg","_withCtx","_createElementBlock","_createVNode","_component_VProgressCircular","_createElementVNode","_toDisplayString","_unref","_createCommentVNode","_createTextVNode","_normalizeStyle","_component_VIcon","AssetImageMetaIcons","placeholder16x9_default","AssetImageMetaIcons_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","AssetImage_vue_vue_type_script_setup_true_lang_default","DamAssetType","DamAssetStatus","__emit","props","__props","emit","useI18n","onLoad","onError","icon","computed","uploadingPercentage","value","backgroundColorComputed","iconColor","srcComputed","isUndefined","showIconComputed","useRemainingTime","openBlock","createBlock","VImg","withCtx","_cache","createElementBlock","createVNode","VProgressCircular","createElementVNode","toDisplayString","unref","t","createCommentVNode","createTextVNode","remainingTimeShort","normalizeStyle","VIcon"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetImage.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport placeholder16x9 from '@/assets/image/placeholder16x9.svg'\nimport {\n type AssetFileProperties,\n DamAssetStatus,\n type DamAssetStatusType,\n DamAssetType,\n type DamAssetTypeType,\n} from '@/domains/dam/types/Asset'\nimport { isUndefined } from '@/shared/utils/common'\nimport { useRemainingTime } from '@/domains/ui/datetime/composables/remainingTime'\nimport AssetImageMetaIcons from '@/domains/dam/assetDetail/components/AssetImageMetaIcons.vue'\n\nconst props = withDefaults(\n defineProps<{\n src?: string\n assetType?: DamAssetTypeType\n assetStatus?: DamAssetStatusType\n backgroundColor?: string\n width?: number\n height?: number\n fallbackHeight?: number\n iconSize?: number\n useComponent?: boolean\n cover?: boolean\n aspectRatio?: number\n showUploading?: boolean\n showProcessing?: boolean\n showWaiting?: boolean\n showDone?: boolean\n uploadingColor?: string\n processingColor?: string\n disableProcessingText?: boolean\n uploadingProgress?: number | null\n remainingTime?: number | null\n hideIcon?: boolean\n showMetaIcons?: boolean\n assetFileProperties?: AssetFileProperties | undefined\n /** Handed to the meta icons: the icon of a synthesized audio (TTS). */\n showTts?: boolean\n }>(),\n {\n assetType: DamAssetType.Image,\n assetStatus: DamAssetStatus.WithFile,\n src: undefined,\n backgroundColor: '#ccc',\n width: undefined,\n height: undefined,\n fallbackHeight: 200,\n iconSize: 80,\n useComponent: false,\n cover: false,\n aspectRatio: undefined,\n showUploading: false,\n showProcessing: false,\n showWaiting: false,\n showDone: false,\n uploadingColor: 'primary',\n processingColor: 'primary',\n disableProcessingText: false,\n uploadingProgress: null,\n remainingTime: null,\n hideIcon: false,\n showMetaIcons: false,\n assetFileProperties: undefined,\n showTts: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'load'): void\n (e: 'error'): void\n}>()\n\nconst { t } = useI18n()\n\nconst onLoad = () => {\n emit('load')\n}\nconst onError = () => {\n emit('error')\n}\n\nconst icon = computed(() => {\n if (props.assetStatus === DamAssetStatus.Deleting) return 'mdi-trash-can'\n switch (props.assetType) {\n case DamAssetType.Audio:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-music' : 'mdi-music-off'\n case DamAssetType.Document:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-note' : 'mdi-note-off'\n case DamAssetType.Video:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-video' : 'mdi-video-off'\n case DamAssetType.Image:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-image' : 'mdi-image-off'\n default:\n return ''\n }\n})\n\nconst uploadingPercentage = computed(() => {\n if (!props.uploadingProgress) return '0%'\n const value = Math.ceil(props.uploadingProgress)\n return value > 100 ? '100%' : value + '%'\n})\n\nconst backgroundColorComputed = computed(() => {\n const grayBackgroundStatuses: readonly DamAssetStatusType[] = [DamAssetStatus.Deleting, DamAssetStatus.Draft]\n return grayBackgroundStatuses.includes(props.assetStatus) ? '#ccc' : props.backgroundColor\n})\n\nconst iconColor = computed(() => {\n return props.assetStatus === DamAssetStatus.WithFile ? '#505050' : '#8f8f8f'\n})\n\nconst srcComputed = computed(() => {\n return isUndefined(props.src) ? placeholder16x9 : props.src\n})\n\nconst showIconComputed = computed(() => {\n if (props.hideIcon) return false\n else if (props.assetType === DamAssetType.Image && props.src) return false\n return true\n})\n\nconst { remainingTimeShort } = useRemainingTime()\n</script>\n\n<template>\n <VImg\n v-if=\"showUploading || showProcessing || showWaiting\"\n :aspect-ratio=\"aspectRatio\"\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n :cover=\"cover\"\n class=\"asset-image asset-image--loading-bg\"\n @error=\"onError\"\n @load=\"onLoad\"\n >\n <template #placeholder />\n <template #default>\n <div\n v-if=\"showWaiting\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n indeterminate\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.waiting') }}\n </div>\n </div>\n <div\n v-if=\"showProcessing\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n :color=\"processingColor\"\n indeterminate\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n class=\"ml-auto mr-auto\"\n />\n <div\n v-if=\"!disableProcessingText\"\n class=\"text-body-small text-center\"\n >\n {{ t('common.damImage.upload.processing') }}\n </div>\n </div>\n <div\n v-else-if=\"showUploading\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n :color=\"uploadingColor\"\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n class=\"ml-auto mr-auto\"\n :model-value=\"uploadingProgress === null ? undefined : uploadingProgress\"\n >\n {{ uploadingPercentage }}\n </VProgressCircular>\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.uploading') }}\n <span\n v-if=\"remainingTime\"\n class=\"font-weight-bold\"\n >\n {{ remainingTimeShort(remainingTime) }}\n </span>\n </div>\n </div>\n </template>\n </VImg>\n <VImg\n v-else-if=\"assetStatus === DamAssetStatus.WithFile && src && useComponent\"\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n class=\"asset-image asset-image--component position-relative\"\n :cover=\"cover\"\n :aspect-ratio=\"aspectRatio\"\n @load=\"onLoad\"\n @error=\"onError\"\n >\n <template #placeholder />\n <template #default>\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n />\n </div>\n </div>\n <div\n v-if=\"showDone\"\n class=\"asset-image__progress asset-image__progress--animate-done\"\n >\n <VIcon\n icon=\"mdi-check-circle\"\n color=\"success\"\n :size=\"iconSize\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.done') }}\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </template>\n </VImg>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.WithFile && src\"\n class=\"asset-image asset-image--img position-relative\"\n >\n <img\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n alt=\"\"\n :style=\"'background-color:' + backgroundColorComputed\"\n @onerror=\"onError\"\n />\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n class=\"asset-image__icon\"\n />\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </div>\n <div\n v-else\n :style=\"{\n height: fallbackHeight + 'px',\n backgroundColor: backgroundColorComputed,\n width: width + 'px',\n }\"\n class=\"asset-image asset-image--placeholder d-flex align-center justify-center\"\n >\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n class=\"asset-image__icon\"\n />\n </div>\n </div>\n <div\n v-if=\"showDone\"\n class=\"asset-image__progress asset-image__progress--animate-done\"\n >\n <VIcon\n icon=\"mdi-check-circle\"\n color=\"success\"\n :size=\"iconSize\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.done') }}\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"AssetImage.vue_vue_type_script_setup_true_lang.js","names":["placeholder16x9","_openBlock","_createBlock","_component_VImg","_withCtx","_createElementBlock","_createVNode","_component_VProgressCircular","_createElementVNode","_toDisplayString","_unref","_createCommentVNode","_createTextVNode","_normalizeStyle","_component_VIcon","AssetImageMetaIcons","placeholder16x9_default","AssetImageMetaIcons_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","AssetImage_vue_vue_type_script_setup_true_lang_default","DamAssetType","DamAssetStatus","__emit","props","__props","emit","useI18n","onLoad","onError","icon","computed","uploadingPercentage","value","backgroundColorComputed","iconColor","srcComputed","isUndefined","showIconComputed","useRemainingTime","openBlock","createBlock","VImg","withCtx","_cache","createElementBlock","createVNode","VProgressCircular","createElementVNode","toDisplayString","unref","t","createCommentVNode","createTextVNode","remainingTimeShort","normalizeStyle","VIcon"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetImage.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport placeholder16x9 from '@/assets/image/placeholder16x9.svg'\nimport {\n type AssetFileProperties,\n DamAssetStatus,\n type DamAssetStatusType,\n DamAssetType,\n type DamAssetTypeType,\n} from '@/domains/dam/types/Asset'\nimport { isUndefined } from '@/shared/utils/common'\nimport { useRemainingTime } from '@/domains/ui/datetime/composables/remainingTime'\nimport AssetImageMetaIcons from '@/domains/dam/assetDetail/components/AssetImageMetaIcons.vue'\n\nconst props = withDefaults(\n defineProps<{\n src?: string\n assetType?: DamAssetTypeType\n assetStatus?: DamAssetStatusType\n backgroundColor?: string\n width?: number\n height?: number\n fallbackHeight?: number\n iconSize?: number\n useComponent?: boolean\n cover?: boolean\n aspectRatio?: number\n showUploading?: boolean\n showProcessing?: boolean\n showWaiting?: boolean\n showDone?: boolean\n uploadingColor?: string\n processingColor?: string\n disableProcessingText?: boolean\n uploadingProgress?: number | null\n remainingTime?: number | null\n hideIcon?: boolean\n showMetaIcons?: boolean\n assetFileProperties?: AssetFileProperties | undefined\n /** Passed to the meta icons: shows the synthesized audio (TTS) icon. */\n showTts?: boolean\n }>(),\n {\n assetType: DamAssetType.Image,\n assetStatus: DamAssetStatus.WithFile,\n src: undefined,\n backgroundColor: '#ccc',\n width: undefined,\n height: undefined,\n fallbackHeight: 200,\n iconSize: 80,\n useComponent: false,\n cover: false,\n aspectRatio: undefined,\n showUploading: false,\n showProcessing: false,\n showWaiting: false,\n showDone: false,\n uploadingColor: 'primary',\n processingColor: 'primary',\n disableProcessingText: false,\n uploadingProgress: null,\n remainingTime: null,\n hideIcon: false,\n showMetaIcons: false,\n assetFileProperties: undefined,\n showTts: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'load'): void\n (e: 'error'): void\n}>()\n\nconst { t } = useI18n()\n\nconst onLoad = () => {\n emit('load')\n}\nconst onError = () => {\n emit('error')\n}\n\nconst icon = computed(() => {\n if (props.assetStatus === DamAssetStatus.Deleting) return 'mdi-trash-can'\n switch (props.assetType) {\n case DamAssetType.Audio:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-music' : 'mdi-music-off'\n case DamAssetType.Document:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-note' : 'mdi-note-off'\n case DamAssetType.Video:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-video' : 'mdi-video-off'\n case DamAssetType.Image:\n return props.assetStatus === DamAssetStatus.WithFile ? 'mdi-image' : 'mdi-image-off'\n default:\n return ''\n }\n})\n\nconst uploadingPercentage = computed(() => {\n if (!props.uploadingProgress) return '0%'\n const value = Math.ceil(props.uploadingProgress)\n return value > 100 ? '100%' : value + '%'\n})\n\nconst backgroundColorComputed = computed(() => {\n const grayBackgroundStatuses: readonly DamAssetStatusType[] = [DamAssetStatus.Deleting, DamAssetStatus.Draft]\n return grayBackgroundStatuses.includes(props.assetStatus) ? '#ccc' : props.backgroundColor\n})\n\nconst iconColor = computed(() => {\n return props.assetStatus === DamAssetStatus.WithFile ? '#505050' : '#8f8f8f'\n})\n\nconst srcComputed = computed(() => {\n return isUndefined(props.src) ? placeholder16x9 : props.src\n})\n\nconst showIconComputed = computed(() => {\n if (props.hideIcon) return false\n else if (props.assetType === DamAssetType.Image && props.src) return false\n return true\n})\n\nconst { remainingTimeShort } = useRemainingTime()\n</script>\n\n<template>\n <VImg\n v-if=\"showUploading || showProcessing || showWaiting\"\n :aspect-ratio=\"aspectRatio\"\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n :cover=\"cover\"\n class=\"asset-image asset-image--loading-bg\"\n @error=\"onError\"\n @load=\"onLoad\"\n >\n <template #placeholder />\n <template #default>\n <div\n v-if=\"showWaiting\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n indeterminate\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.waiting') }}\n </div>\n </div>\n <div\n v-if=\"showProcessing\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n :color=\"processingColor\"\n indeterminate\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n class=\"ml-auto mr-auto\"\n />\n <div\n v-if=\"!disableProcessingText\"\n class=\"text-body-small text-center\"\n >\n {{ t('common.damImage.upload.processing') }}\n </div>\n </div>\n <div\n v-else-if=\"showUploading\"\n class=\"asset-image__progress\"\n >\n <VProgressCircular\n :color=\"uploadingColor\"\n :size=\"iconSize\"\n :width=\"iconSize / 10\"\n class=\"ml-auto mr-auto\"\n :model-value=\"uploadingProgress === null ? undefined : uploadingProgress\"\n >\n {{ uploadingPercentage }}\n </VProgressCircular>\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.uploading') }}\n <span\n v-if=\"remainingTime\"\n class=\"font-weight-bold\"\n >\n {{ remainingTimeShort(remainingTime) }}\n </span>\n </div>\n </div>\n </template>\n </VImg>\n <VImg\n v-else-if=\"assetStatus === DamAssetStatus.WithFile && src && useComponent\"\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n class=\"asset-image asset-image--component position-relative\"\n :cover=\"cover\"\n :aspect-ratio=\"aspectRatio\"\n @load=\"onLoad\"\n @error=\"onError\"\n >\n <template #placeholder />\n <template #default>\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n />\n </div>\n </div>\n <div\n v-if=\"showDone\"\n class=\"asset-image__progress asset-image__progress--animate-done\"\n >\n <VIcon\n icon=\"mdi-check-circle\"\n color=\"success\"\n :size=\"iconSize\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.done') }}\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </template>\n </VImg>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.WithFile && src\"\n class=\"asset-image asset-image--img position-relative\"\n >\n <img\n :src=\"srcComputed\"\n :width=\"width\"\n :height=\"height\"\n alt=\"\"\n :style=\"'background-color:' + backgroundColorComputed\"\n @onerror=\"onError\"\n />\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n class=\"asset-image__icon\"\n />\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </div>\n <div\n v-else\n :style=\"{\n height: fallbackHeight + 'px',\n backgroundColor: backgroundColorComputed,\n width: width + 'px',\n }\"\n class=\"asset-image asset-image--placeholder d-flex align-center justify-center\"\n >\n <div\n v-if=\"showIconComputed\"\n class=\"asset-image__icon-wrapper\"\n >\n <div\n class=\"asset-image__icon-circle\"\n :style=\"{ padding: iconSize / 4 + 'px' }\"\n >\n <VIcon\n v-if=\"icon.length\"\n :size=\"iconSize\"\n :icon=\"icon\"\n :color=\"iconColor\"\n class=\"asset-image__icon\"\n />\n </div>\n </div>\n <div\n v-if=\"showDone\"\n class=\"asset-image__progress asset-image__progress--animate-done\"\n >\n <VIcon\n icon=\"mdi-check-circle\"\n color=\"success\"\n :size=\"iconSize\"\n />\n <div class=\"text-body-small text-center\">\n {{ t('common.damImage.upload.done') }}\n </div>\n </div>\n <AssetImageMetaIcons\n v-if=\"showMetaIcons && assetFileProperties\"\n :asset-file-properties=\"assetFileProperties\"\n :asset-type=\"assetType\"\n :show-tts=\"showTts\"\n />\n </div>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetImageMetaIcons.js","names":["_sfc_main","AssetImageMetaIcons_vue_vue_type_script_setup_true_lang_default","AssetImageMetaIcons_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetImageMetaIcons.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetFileProperties, DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport {\n DIMENSIONS_CONFIG,\n ICON_LOW,\n ICON_RSS,\n ICON_SLOTS,\n ICON_TTS,\n LOW_DIMENSION,\n} from '@/domains/dam/assetDetail/utils/assetImageIconsConfig'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n assetFileProperties: AssetFileProperties\n disableAbsolute?: boolean\n /** The icon of a synthesized audio (TTS); off by default, as the backend says it to every admin. */\n showTts?: boolean\n /** The DAM configuration whose distribution services name the icons; inherited when not given. */\n configName?: string\n }>(),\n {\n disableAbsolute: false,\n showTts: false,\n configName: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigStore = useDamConfigStoreOf(useDamConfigName(props.configName))\n\nconst { t } = useI18n()\n\nconst checkDimensions = (icons: string[], titles: string[]) => {\n if (props.assetFileProperties.width === 0 || props.assetFileProperties.height === 0) {\n return\n }\n if (props.assetFileProperties.width < LOW_DIMENSION || props.assetFileProperties.height < LOW_DIMENSION) {\n icons.push(ICON_LOW)\n titles.push(t('common.damImage.asset.metaIcons.low'))\n return\n }\n if (props.assetType !== DamAssetType.Video) return\n for (const dimension of DIMENSIONS_CONFIG) {\n if (props.assetFileProperties.width === dimension.width && props.assetFileProperties.height === dimension.height) {\n icons.push(dimension.svgSrc)\n titles.push(t(dimension.titleT))\n break\n }\n }\n}\n\nconst checkDistributions = (icons: string[], titles: string[]) => {\n for (const serviceName of props.assetFileProperties.distributesInServices) {\n const service = damConfigStore.damPrvConfig.distributionServices[serviceName]\n const iconPath = service?.iconPath\n if (service && iconPath && iconPath.length > 0 && !icons.includes(iconPath)) {\n icons.push(iconPath)\n titles.push(service.title)\n }\n }\n}\n\nconst data = computed(() => {\n const icons: string[] = []\n const titles: string[] = []\n\n if (props.assetFileProperties.slotNames.length > 1) {\n icons.push(ICON_SLOTS)\n titles.push(t('common.damImage.asset.metaIcons.slots'))\n }\n if (props.assetFileProperties.fromRss) {\n icons.push(ICON_RSS)\n titles.push(t('common.damImage.asset.metaIcons.rss'))\n }\n if (props.showTts && props.assetFileProperties.ttsAudio) {\n icons.push(ICON_TTS)\n titles.push(t('common.damImage.asset.metaIcons.tts'))\n }\n checkDimensions(icons, titles)\n checkDistributions(icons, titles)\n\n return { icons, titles }\n})\n</script>\n\n<template>\n <div\n v-show=\"data.icons.length > 0\"\n class=\"asset-image__meta-icons\"\n :class=\"{ 'asset-image__meta-icons-absolute': !disableAbsolute }\"\n >\n <img\n v-for=\"(item, index) in data.icons\"\n :key=\"item\"\n class=\"img-svg\"\n :src=\"item\"\n alt=\"\"\n :title=\"data.titles[index] || ''\"\n />\n </div>\n</template>\n\n<style lang=\"scss\">\n.asset-image__meta-icons-absolute {\n position: absolute;\n left: 6px;\n top: 163px;\n}\n\n.asset-image__meta-icons {\n display: flex;\n\n img.img-svg {\n height: 30px;\n padding: 2px;\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"AssetImageMetaIcons.js","names":["_sfc_main","AssetImageMetaIcons_vue_vue_type_script_setup_true_lang_default","AssetImageMetaIcons_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetImageMetaIcons.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetFileProperties, DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport {\n DIMENSIONS_CONFIG,\n ICON_LOW,\n ICON_RSS,\n ICON_SLOTS,\n ICON_TTS,\n LOW_DIMENSION,\n} from '@/domains/dam/assetDetail/utils/assetImageIconsConfig'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n assetFileProperties: AssetFileProperties\n disableAbsolute?: boolean\n /** Shows the synthesized audio (TTS) icon. Off by default because the backend reports it to every admin. */\n showTts?: boolean\n /** DAM configuration whose distribution services name the icons. Inherited when not given. */\n configName?: string\n }>(),\n {\n disableAbsolute: false,\n showTts: false,\n configName: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigStore = useDamConfigStoreOf(useDamConfigName(props.configName))\n\nconst { t } = useI18n()\n\nconst checkDimensions = (icons: string[], titles: string[]) => {\n if (props.assetFileProperties.width === 0 || props.assetFileProperties.height === 0) {\n return\n }\n if (props.assetFileProperties.width < LOW_DIMENSION || props.assetFileProperties.height < LOW_DIMENSION) {\n icons.push(ICON_LOW)\n titles.push(t('common.damImage.asset.metaIcons.low'))\n return\n }\n if (props.assetType !== DamAssetType.Video) return\n for (const dimension of DIMENSIONS_CONFIG) {\n if (props.assetFileProperties.width === dimension.width && props.assetFileProperties.height === dimension.height) {\n icons.push(dimension.svgSrc)\n titles.push(t(dimension.titleT))\n break\n }\n }\n}\n\nconst checkDistributions = (icons: string[], titles: string[]) => {\n for (const serviceName of props.assetFileProperties.distributesInServices) {\n const service = damConfigStore.damPrvConfig.distributionServices[serviceName]\n const iconPath = service?.iconPath\n if (service && iconPath && iconPath.length > 0 && !icons.includes(iconPath)) {\n icons.push(iconPath)\n titles.push(service.title)\n }\n }\n}\n\nconst data = computed(() => {\n const icons: string[] = []\n const titles: string[] = []\n\n if (props.assetFileProperties.slotNames.length > 1) {\n icons.push(ICON_SLOTS)\n titles.push(t('common.damImage.asset.metaIcons.slots'))\n }\n if (props.assetFileProperties.fromRss) {\n icons.push(ICON_RSS)\n titles.push(t('common.damImage.asset.metaIcons.rss'))\n }\n if (props.showTts && props.assetFileProperties.ttsAudio) {\n icons.push(ICON_TTS)\n titles.push(t('common.damImage.asset.metaIcons.tts'))\n }\n checkDimensions(icons, titles)\n checkDistributions(icons, titles)\n\n return { icons, titles }\n})\n</script>\n\n<template>\n <div\n v-show=\"data.icons.length > 0\"\n class=\"asset-image__meta-icons\"\n :class=\"{ 'asset-image__meta-icons-absolute': !disableAbsolute }\"\n >\n <img\n v-for=\"(item, index) in data.icons\"\n :key=\"item\"\n class=\"img-svg\"\n :src=\"item\"\n alt=\"\"\n :title=\"data.titles[index] || ''\"\n />\n </div>\n</template>\n\n<style lang=\"scss\">\n.asset-image__meta-icons-absolute {\n position: absolute;\n left: 6px;\n top: 163px;\n}\n\n.asset-image__meta-icons {\n display: flex;\n\n img.img-svg {\n height: 30px;\n padding: 2px;\n }\n}\n</style>\n"],"mappings":""}
@@ -3,9 +3,9 @@ type __VLS_Props = {
3
3
  assetType: DamAssetTypeType;
4
4
  assetFileProperties: AssetFileProperties;
5
5
  disableAbsolute?: boolean;
6
- /** The icon of a synthesized audio (TTS); off by default, as the backend says it to every admin. */
6
+ /** Shows the synthesized audio (TTS) icon. Off by default because the backend reports it to every admin. */
7
7
  showTts?: boolean;
8
- /** The DAM configuration whose distribution services name the icons; inherited when not given. */
8
+ /** DAM configuration whose distribution services name the icons. Inherited when not given. */
9
9
  configName?: string;
10
10
  };
11
11
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
@@ -1 +1 @@
1
- {"version":3,"file":"AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js","names":["_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_vShow","_hoisted_1","AssetImageMetaIcons_vue_vue_type_script_setup_true_lang_default","props","__props","damConfigStore","useDamConfigStoreOf","useDamConfigName","useI18n","checkDimensions","icons","ICON_LOW","titles","t","DamAssetType","dimension","DIMENSIONS_CONFIG","checkDistributions","serviceName","service","iconPath","data","computed","ICON_SLOTS","ICON_RSS","ICON_TTS","withDirectives","openBlock","createElementBlock","normalizeClass","Fragment","renderList","item","index","vShow"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetImageMetaIcons.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetFileProperties, DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport {\n DIMENSIONS_CONFIG,\n ICON_LOW,\n ICON_RSS,\n ICON_SLOTS,\n ICON_TTS,\n LOW_DIMENSION,\n} from '@/domains/dam/assetDetail/utils/assetImageIconsConfig'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n assetFileProperties: AssetFileProperties\n disableAbsolute?: boolean\n /** The icon of a synthesized audio (TTS); off by default, as the backend says it to every admin. */\n showTts?: boolean\n /** The DAM configuration whose distribution services name the icons; inherited when not given. */\n configName?: string\n }>(),\n {\n disableAbsolute: false,\n showTts: false,\n configName: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigStore = useDamConfigStoreOf(useDamConfigName(props.configName))\n\nconst { t } = useI18n()\n\nconst checkDimensions = (icons: string[], titles: string[]) => {\n if (props.assetFileProperties.width === 0 || props.assetFileProperties.height === 0) {\n return\n }\n if (props.assetFileProperties.width < LOW_DIMENSION || props.assetFileProperties.height < LOW_DIMENSION) {\n icons.push(ICON_LOW)\n titles.push(t('common.damImage.asset.metaIcons.low'))\n return\n }\n if (props.assetType !== DamAssetType.Video) return\n for (const dimension of DIMENSIONS_CONFIG) {\n if (props.assetFileProperties.width === dimension.width && props.assetFileProperties.height === dimension.height) {\n icons.push(dimension.svgSrc)\n titles.push(t(dimension.titleT))\n break\n }\n }\n}\n\nconst checkDistributions = (icons: string[], titles: string[]) => {\n for (const serviceName of props.assetFileProperties.distributesInServices) {\n const service = damConfigStore.damPrvConfig.distributionServices[serviceName]\n const iconPath = service?.iconPath\n if (service && iconPath && iconPath.length > 0 && !icons.includes(iconPath)) {\n icons.push(iconPath)\n titles.push(service.title)\n }\n }\n}\n\nconst data = computed(() => {\n const icons: string[] = []\n const titles: string[] = []\n\n if (props.assetFileProperties.slotNames.length > 1) {\n icons.push(ICON_SLOTS)\n titles.push(t('common.damImage.asset.metaIcons.slots'))\n }\n if (props.assetFileProperties.fromRss) {\n icons.push(ICON_RSS)\n titles.push(t('common.damImage.asset.metaIcons.rss'))\n }\n if (props.showTts && props.assetFileProperties.ttsAudio) {\n icons.push(ICON_TTS)\n titles.push(t('common.damImage.asset.metaIcons.tts'))\n }\n checkDimensions(icons, titles)\n checkDistributions(icons, titles)\n\n return { icons, titles }\n})\n</script>\n\n<template>\n <div\n v-show=\"data.icons.length > 0\"\n class=\"asset-image__meta-icons\"\n :class=\"{ 'asset-image__meta-icons-absolute': !disableAbsolute }\"\n >\n <img\n v-for=\"(item, index) in data.icons\"\n :key=\"item\"\n class=\"img-svg\"\n :src=\"item\"\n alt=\"\"\n :title=\"data.titles[index] || ''\"\n />\n </div>\n</template>\n\n<style lang=\"scss\">\n.asset-image__meta-icons-absolute {\n position: absolute;\n left: 6px;\n top: 163px;\n}\n\n.asset-image__meta-icons {\n display: flex;\n\n img.img-svg {\n height: 30px;\n padding: 2px;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;EAeA,IAAMS,IAAQC,GAiBRC,IAAiBC,EAAoBC,EAAiBJ,EAAM,UAAU,CAAC,GAEvE,EAAE,SAAMK,EAAQ,GAEhBC,KAAmB,GAAiB,MAAqB;GAC7D,IAAIN,EAAM,oBAAoB,UAAU,KAAKA,EAAM,oBAAoB,WAAW,GAGlF;QAAIA,EAAM,oBAAoB,QAAA,OAAyBA,EAAM,oBAAoB,SAAA,KAE/E,AADAO,EAAM,KAAKC,CAAQ,GACnBC,EAAO,KAAKC,EAAE,qCAAqC,CAAC;SAGtD,IAAIV,EAAM,cAAcW,EAAa,OACrC;UAAK,IAAMC,KAAaC,GACtB,IAAIb,EAAM,oBAAoB,UAAUY,EAAU,SAASZ,EAAM,oBAAoB,WAAWY,EAAU,QAAQ;MAEhH,AADAL,EAAM,KAAKK,EAAU,MAAM,GAC3BH,EAAO,KAAKC,EAAEE,EAAU,MAAM,CAAC;MAC/B;KACF;;GAPF;EASF,GAEME,KAAsB,GAAiB,MAAqB;GAChE,KAAK,IAAMC,KAAef,EAAM,oBAAoB,uBAAuB;IACzE,IAAMgB,IAAUd,EAAe,aAAa,qBAAqBa,IAC3DE,IAAWD,GAAS;IAC1B,AAAIA,KAAWC,KAAYA,EAAS,SAAS,KAAK,CAACV,EAAM,SAASU,CAAQ,MACxEV,EAAM,KAAKU,CAAQ,GACnBR,EAAO,KAAKO,EAAQ,KAAK;GAE7B;EACF,GAEME,IAAOC,QAAe;GAC1B,IAAMZ,IAAkB,CAAC,GACnBE,IAAmB,CAAC;GAiB1B,OAfIT,EAAM,oBAAoB,UAAU,SAAS,MAC/CO,EAAM,KAAKa,CAAU,GACrBX,EAAO,KAAKC,EAAE,uCAAuC,CAAC,IAEpDV,EAAM,oBAAoB,YAC5BO,EAAM,KAAKc,CAAQ,GACnBZ,EAAO,KAAKC,EAAE,qCAAqC,CAAC,IAElDV,EAAM,WAAWA,EAAM,oBAAoB,aAC7CO,EAAM,KAAKe,CAAQ,GACnBb,EAAO,KAAKC,EAAE,qCAAqC,CAAC,IAEtDJ,EAAgBC,GAAOE,CAAM,GAC7BK,EAAmBP,GAAOE,CAAM,GAEzB;IAAE;IAAO;GAAO;EACzB,CAAC;E,iBAIClB,GAAAC,EAAA,GAAAC,EAaM,OAAA,EAXJ,OAAKC,EAAA,CAAC,2BAAyB,EAAA,oCAAA,CACgBO,EAAA,gBAAe,CAAA,CAAA,E,KAE9DT,EAAA,EAAA,GAAAC,EAOEE,GAAA,MAAAC,EANwBsB,EAAA,MAAK,QAArB,GAAM,OADhB1B,EAAA,GAAAC,EAOE,OAAA;GALC,KAAKoC;GACN,OAAM;GACL,KAAKA;GACN,KAAI;GACH,OAAOX,EAAA,MAAK,OAAOY,MAAK;E,gCAVnB,CAAAjC,GAAAqB,EAAA,MAAK,MAAM,SAAM,CAAA,C"}
1
+ {"version":3,"file":"AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js","names":["_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_vShow","_hoisted_1","AssetImageMetaIcons_vue_vue_type_script_setup_true_lang_default","props","__props","damConfigStore","useDamConfigStoreOf","useDamConfigName","useI18n","checkDimensions","icons","ICON_LOW","titles","t","DamAssetType","dimension","DIMENSIONS_CONFIG","checkDistributions","serviceName","service","iconPath","data","computed","ICON_SLOTS","ICON_RSS","ICON_TTS","withDirectives","openBlock","createElementBlock","normalizeClass","Fragment","renderList","item","index","vShow"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetImageMetaIcons.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetFileProperties, DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport {\n DIMENSIONS_CONFIG,\n ICON_LOW,\n ICON_RSS,\n ICON_SLOTS,\n ICON_TTS,\n LOW_DIMENSION,\n} from '@/domains/dam/assetDetail/utils/assetImageIconsConfig'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n assetFileProperties: AssetFileProperties\n disableAbsolute?: boolean\n /** Shows the synthesized audio (TTS) icon. Off by default because the backend reports it to every admin. */\n showTts?: boolean\n /** DAM configuration whose distribution services name the icons. Inherited when not given. */\n configName?: string\n }>(),\n {\n disableAbsolute: false,\n showTts: false,\n configName: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigStore = useDamConfigStoreOf(useDamConfigName(props.configName))\n\nconst { t } = useI18n()\n\nconst checkDimensions = (icons: string[], titles: string[]) => {\n if (props.assetFileProperties.width === 0 || props.assetFileProperties.height === 0) {\n return\n }\n if (props.assetFileProperties.width < LOW_DIMENSION || props.assetFileProperties.height < LOW_DIMENSION) {\n icons.push(ICON_LOW)\n titles.push(t('common.damImage.asset.metaIcons.low'))\n return\n }\n if (props.assetType !== DamAssetType.Video) return\n for (const dimension of DIMENSIONS_CONFIG) {\n if (props.assetFileProperties.width === dimension.width && props.assetFileProperties.height === dimension.height) {\n icons.push(dimension.svgSrc)\n titles.push(t(dimension.titleT))\n break\n }\n }\n}\n\nconst checkDistributions = (icons: string[], titles: string[]) => {\n for (const serviceName of props.assetFileProperties.distributesInServices) {\n const service = damConfigStore.damPrvConfig.distributionServices[serviceName]\n const iconPath = service?.iconPath\n if (service && iconPath && iconPath.length > 0 && !icons.includes(iconPath)) {\n icons.push(iconPath)\n titles.push(service.title)\n }\n }\n}\n\nconst data = computed(() => {\n const icons: string[] = []\n const titles: string[] = []\n\n if (props.assetFileProperties.slotNames.length > 1) {\n icons.push(ICON_SLOTS)\n titles.push(t('common.damImage.asset.metaIcons.slots'))\n }\n if (props.assetFileProperties.fromRss) {\n icons.push(ICON_RSS)\n titles.push(t('common.damImage.asset.metaIcons.rss'))\n }\n if (props.showTts && props.assetFileProperties.ttsAudio) {\n icons.push(ICON_TTS)\n titles.push(t('common.damImage.asset.metaIcons.tts'))\n }\n checkDimensions(icons, titles)\n checkDistributions(icons, titles)\n\n return { icons, titles }\n})\n</script>\n\n<template>\n <div\n v-show=\"data.icons.length > 0\"\n class=\"asset-image__meta-icons\"\n :class=\"{ 'asset-image__meta-icons-absolute': !disableAbsolute }\"\n >\n <img\n v-for=\"(item, index) in data.icons\"\n :key=\"item\"\n class=\"img-svg\"\n :src=\"item\"\n alt=\"\"\n :title=\"data.titles[index] || ''\"\n />\n </div>\n</template>\n\n<style lang=\"scss\">\n.asset-image__meta-icons-absolute {\n position: absolute;\n left: 6px;\n top: 163px;\n}\n\n.asset-image__meta-icons {\n display: flex;\n\n img.img-svg {\n height: 30px;\n padding: 2px;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;EAeA,IAAMS,IAAQC,GAiBRC,IAAiBC,EAAoBC,EAAiBJ,EAAM,UAAU,CAAC,GAEvE,EAAE,SAAMK,EAAQ,GAEhBC,KAAmB,GAAiB,MAAqB;GAC7D,IAAIN,EAAM,oBAAoB,UAAU,KAAKA,EAAM,oBAAoB,WAAW,GAGlF;QAAIA,EAAM,oBAAoB,QAAA,OAAyBA,EAAM,oBAAoB,SAAA,KAE/E,AADAO,EAAM,KAAKC,CAAQ,GACnBC,EAAO,KAAKC,EAAE,qCAAqC,CAAC;SAGtD,IAAIV,EAAM,cAAcW,EAAa,OACrC;UAAK,IAAMC,KAAaC,GACtB,IAAIb,EAAM,oBAAoB,UAAUY,EAAU,SAASZ,EAAM,oBAAoB,WAAWY,EAAU,QAAQ;MAEhH,AADAL,EAAM,KAAKK,EAAU,MAAM,GAC3BH,EAAO,KAAKC,EAAEE,EAAU,MAAM,CAAC;MAC/B;KACF;;GAPF;EASF,GAEME,KAAsB,GAAiB,MAAqB;GAChE,KAAK,IAAMC,KAAef,EAAM,oBAAoB,uBAAuB;IACzE,IAAMgB,IAAUd,EAAe,aAAa,qBAAqBa,IAC3DE,IAAWD,GAAS;IAC1B,AAAIA,KAAWC,KAAYA,EAAS,SAAS,KAAK,CAACV,EAAM,SAASU,CAAQ,MACxEV,EAAM,KAAKU,CAAQ,GACnBR,EAAO,KAAKO,EAAQ,KAAK;GAE7B;EACF,GAEME,IAAOC,QAAe;GAC1B,IAAMZ,IAAkB,CAAC,GACnBE,IAAmB,CAAC;GAiB1B,OAfIT,EAAM,oBAAoB,UAAU,SAAS,MAC/CO,EAAM,KAAKa,CAAU,GACrBX,EAAO,KAAKC,EAAE,uCAAuC,CAAC,IAEpDV,EAAM,oBAAoB,YAC5BO,EAAM,KAAKc,CAAQ,GACnBZ,EAAO,KAAKC,EAAE,qCAAqC,CAAC,IAElDV,EAAM,WAAWA,EAAM,oBAAoB,aAC7CO,EAAM,KAAKe,CAAQ,GACnBb,EAAO,KAAKC,EAAE,qCAAqC,CAAC,IAEtDJ,EAAgBC,GAAOE,CAAM,GAC7BK,EAAmBP,GAAOE,CAAM,GAEzB;IAAE;IAAO;GAAO;EACzB,CAAC;E,iBAIClB,GAAAC,EAAA,GAAAC,EAaM,OAAA,EAXJ,OAAKC,EAAA,CAAC,2BAAyB,EAAA,oCAAA,CACgBO,EAAA,gBAAe,CAAA,CAAA,E,KAE9DT,EAAA,EAAA,GAAAC,EAOEE,GAAA,MAAAC,EANwBsB,EAAA,MAAK,QAArB,GAAM,OADhB1B,EAAA,GAAAC,EAOE,OAAA;GALC,KAAKoC;GACN,OAAM;GACL,KAAKA;GACN,KAAI;GACH,OAAOX,EAAA,MAAK,OAAOY,MAAK;E,gCAVnB,CAAAjC,GAAAqB,EAAA,MAAK,MAAM,SAAM,CAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetInfobox.js","names":["_sfc_main","AssetInfobox_vue_vue_type_script_setup_true_lang_default","AssetInfobox_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetInfobox.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport {\n AssetFileFailReason,\n type AssetFileFailReasonType,\n AssetFileProcessStatus,\n type AssetFileProcessStatusType,\n} from '@/domains/dam/types/AssetFile'\nimport { DamAssetStatus, type DamAssetStatusType } from '@/domains/dam/types/Asset'\nimport AssetFileFailReasonChip from '@/domains/dam/assetDetail/components/AssetFileFailReasonChip.vue'\n\nwithDefaults(\n defineProps<{\n assetStatus: DamAssetStatusType\n assetMainFileStatus?: AssetFileProcessStatusType | undefined\n assetMainFileFailReason?: AssetFileFailReasonType | undefined\n }>(),\n {\n assetMainFileStatus: undefined,\n assetMainFileFailReason: undefined,\n }\n)\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <div\n v-if=\"assetMainFileStatus && assetMainFileStatus === AssetFileProcessStatus.Duplicate\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"warning\">\n {{ t('common.damImage.asset.detail.info.status.duplicate') }}\n </VAlert>\n </div>\n <div\n v-if=\"assetMainFileStatus && assetMainFileStatus === AssetFileProcessStatus.Failed\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"error\">\n {{ t('common.damImage.asset.detail.info.status.failed') }}\n <!-- As the row of the queue: no chip for the reason that is none. -->\n <div v-if=\"assetMainFileFailReason && assetMainFileFailReason !== AssetFileFailReason.None\">\n <br />\n <AssetFileFailReasonChip :reason=\"assetMainFileFailReason\" />\n </div>\n </VAlert>\n </div>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.Deleting\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"error\">\n {{ t('common.damImage.asset.detail.info.status.deleting') }}\n </VAlert>\n </div>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.Draft\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"warning\">\n {{ t('common.damImage.asset.detail.info.status.draft') }}\n </VAlert>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AssetInfobox.js","names":["_sfc_main","AssetInfobox_vue_vue_type_script_setup_true_lang_default","AssetInfobox_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetInfobox.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport {\n AssetFileFailReason,\n type AssetFileFailReasonType,\n AssetFileProcessStatus,\n type AssetFileProcessStatusType,\n} from '@/domains/dam/types/AssetFile'\nimport { DamAssetStatus, type DamAssetStatusType } from '@/domains/dam/types/Asset'\nimport AssetFileFailReasonChip from '@/domains/dam/assetDetail/components/AssetFileFailReasonChip.vue'\n\nwithDefaults(\n defineProps<{\n assetStatus: DamAssetStatusType\n assetMainFileStatus?: AssetFileProcessStatusType | undefined\n assetMainFileFailReason?: AssetFileFailReasonType | undefined\n }>(),\n {\n assetMainFileStatus: undefined,\n assetMainFileFailReason: undefined,\n }\n)\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <div\n v-if=\"assetMainFileStatus && assetMainFileStatus === AssetFileProcessStatus.Duplicate\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"warning\">\n {{ t('common.damImage.asset.detail.info.status.duplicate') }}\n </VAlert>\n </div>\n <div\n v-if=\"assetMainFileStatus && assetMainFileStatus === AssetFileProcessStatus.Failed\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"error\">\n {{ t('common.damImage.asset.detail.info.status.failed') }}\n <!-- Like the queue row: no chip for the `None` reason. -->\n <div v-if=\"assetMainFileFailReason && assetMainFileFailReason !== AssetFileFailReason.None\">\n <br />\n <AssetFileFailReasonChip :reason=\"assetMainFileFailReason\" />\n </div>\n </VAlert>\n </div>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.Deleting\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"error\">\n {{ t('common.damImage.asset.detail.info.status.deleting') }}\n </VAlert>\n </div>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.Draft\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"warning\">\n {{ t('common.damImage.asset.detail.info.status.draft') }}\n </VAlert>\n </div>\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetInfobox.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_unref","_createVNode","_component_VAlert","_withCtx","_createTextVNode","_toDisplayString","_createCommentVNode","_createElementVNode","AssetFileFailReasonChip","AssetFileFailReasonChip_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","AssetInfobox_vue_vue_type_script_setup_true_lang_default","useI18n","openBlock","createElementBlock","Fragment","__props","unref","AssetFileProcessStatus","createVNode","VAlert","withCtx","createTextVNode","toDisplayString","t","createCommentVNode","AssetFileFailReason","_cache","createElementVNode","DamAssetStatus"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetInfobox.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport {\n AssetFileFailReason,\n type AssetFileFailReasonType,\n AssetFileProcessStatus,\n type AssetFileProcessStatusType,\n} from '@/domains/dam/types/AssetFile'\nimport { DamAssetStatus, type DamAssetStatusType } from '@/domains/dam/types/Asset'\nimport AssetFileFailReasonChip from '@/domains/dam/assetDetail/components/AssetFileFailReasonChip.vue'\n\nwithDefaults(\n defineProps<{\n assetStatus: DamAssetStatusType\n assetMainFileStatus?: AssetFileProcessStatusType | undefined\n assetMainFileFailReason?: AssetFileFailReasonType | undefined\n }>(),\n {\n assetMainFileStatus: undefined,\n assetMainFileFailReason: undefined,\n }\n)\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <div\n v-if=\"assetMainFileStatus && assetMainFileStatus === AssetFileProcessStatus.Duplicate\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"warning\">\n {{ t('common.damImage.asset.detail.info.status.duplicate') }}\n </VAlert>\n </div>\n <div\n v-if=\"assetMainFileStatus && assetMainFileStatus === AssetFileProcessStatus.Failed\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"error\">\n {{ t('common.damImage.asset.detail.info.status.failed') }}\n <!-- As the row of the queue: no chip for the reason that is none. -->\n <div v-if=\"assetMainFileFailReason && assetMainFileFailReason !== AssetFileFailReason.None\">\n <br />\n <AssetFileFailReasonChip :reason=\"assetMainFileFailReason\" />\n </div>\n </VAlert>\n </div>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.Deleting\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"error\">\n {{ t('common.damImage.asset.detail.info.status.deleting') }}\n </VAlert>\n </div>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.Draft\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"warning\">\n {{ t('common.damImage.asset.detail.info.status.draft') }}\n </VAlert>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBA,IAAM,EAAE,SAAMmB,EAAQ;E,mCAKZI,EAAA,uBAAuBA,EAAA,wBAAwBpB,EAAAsB,CAAA,CAAsB,CAAC,aAD9EzB,EAAA,GAAAC,EAOM,OAPNY,GAOM,CAHJT,EAESC,GAAA,EAFD,MAAK,UAAS,GAAA;GACpB,SAAAC,QAA6D,CAA1DC,EAAAC,EAAAL,EAAA4B,CAAA,CAAC,CAAA,oDAAA,CAAA,GAAA,CAAA,C;;E,mBAIAR,EAAA,uBAAuBA,EAAA,wBAAwBpB,EAAAsB,CAAA,CAAsB,CAAC,UAD9EzB,EAAA,GAAAC,EAYM,OAZNa,GAYM,CARJV,EAOSC,GAAA,EAPD,MAAK,QAAO,GAAA;GAClB,SAAAC,QAA0D,CAAvDC,EAAAC,EAAAL,EAAA4B,CAAA,CAAC,CAAA,iDAAA,CAAA,IAAsD,KAE1D,CAAA,GAAWR,EAAA,2BAA2BA,EAAA,4BAA4BpB,EAAA8B,CAAA,CAAmB,CAAC,QAAtFjC,EAAA,GAAAC,EAGM,OAAAc,GAAA,CAFJ,AAAAmB,EAAA,OAAAxB,EAAM,MAAA,MAAA,MAAA,EAAA,GACNN,EAA6DO,GAAA,EAAnC,QAAQY,EAAA,wBAAuB,GAAA,MAAA,GAAA,CAAA,QAAA,CAAA,C;;E,QAKlDA,EAAA,gBAAgBpB,EAAAiC,CAAA,CAAc,CAAC,YAD5CpC,EAAA,GAAAC,EAOM,OAPNe,GAOM,CAHJZ,EAESC,GAAA,EAFD,MAAK,QAAO,GAAA;GAClB,SAAAC,QAA4D,CAAzDC,EAAAC,EAAAL,EAAA4B,CAAA,CAAC,CAAA,mDAAA,CAAA,GAAA,CAAA,C;;E,QAIKR,EAAA,gBAAgBpB,EAAAiC,CAAA,CAAc,CAAC,SAD5CpC,EAAA,GAAAC,EAOM,OAPNgB,GAOM,CAHJb,EAESC,GAAA,EAFD,MAAK,UAAS,GAAA;GACpB,SAAAC,QAAyD,CAAtDC,EAAAC,EAAAL,EAAA4B,CAAA,CAAC,CAAA,gDAAA,CAAA,GAAA,CAAA,C"}
1
+ {"version":3,"file":"AssetInfobox.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_unref","_createVNode","_component_VAlert","_withCtx","_createTextVNode","_toDisplayString","_createCommentVNode","_createElementVNode","AssetFileFailReasonChip","AssetFileFailReasonChip_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","AssetInfobox_vue_vue_type_script_setup_true_lang_default","useI18n","openBlock","createElementBlock","Fragment","__props","unref","AssetFileProcessStatus","createVNode","VAlert","withCtx","createTextVNode","toDisplayString","t","createCommentVNode","AssetFileFailReason","_cache","createElementVNode","DamAssetStatus"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetInfobox.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport {\n AssetFileFailReason,\n type AssetFileFailReasonType,\n AssetFileProcessStatus,\n type AssetFileProcessStatusType,\n} from '@/domains/dam/types/AssetFile'\nimport { DamAssetStatus, type DamAssetStatusType } from '@/domains/dam/types/Asset'\nimport AssetFileFailReasonChip from '@/domains/dam/assetDetail/components/AssetFileFailReasonChip.vue'\n\nwithDefaults(\n defineProps<{\n assetStatus: DamAssetStatusType\n assetMainFileStatus?: AssetFileProcessStatusType | undefined\n assetMainFileFailReason?: AssetFileFailReasonType | undefined\n }>(),\n {\n assetMainFileStatus: undefined,\n assetMainFileFailReason: undefined,\n }\n)\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <div\n v-if=\"assetMainFileStatus && assetMainFileStatus === AssetFileProcessStatus.Duplicate\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"warning\">\n {{ t('common.damImage.asset.detail.info.status.duplicate') }}\n </VAlert>\n </div>\n <div\n v-if=\"assetMainFileStatus && assetMainFileStatus === AssetFileProcessStatus.Failed\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"error\">\n {{ t('common.damImage.asset.detail.info.status.failed') }}\n <!-- Like the queue row: no chip for the `None` reason. -->\n <div v-if=\"assetMainFileFailReason && assetMainFileFailReason !== AssetFileFailReason.None\">\n <br />\n <AssetFileFailReasonChip :reason=\"assetMainFileFailReason\" />\n </div>\n </VAlert>\n </div>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.Deleting\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"error\">\n {{ t('common.damImage.asset.detail.info.status.deleting') }}\n </VAlert>\n </div>\n <div\n v-else-if=\"assetStatus === DamAssetStatus.Draft\"\n class=\"w-100 pa-2 text-body-small\"\n >\n <VAlert type=\"warning\">\n {{ t('common.damImage.asset.detail.info.status.draft') }}\n </VAlert>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBA,IAAM,EAAE,SAAMmB,EAAQ;E,mCAKZI,EAAA,uBAAuBA,EAAA,wBAAwBpB,EAAAsB,CAAA,CAAsB,CAAC,aAD9EzB,EAAA,GAAAC,EAOM,OAPNY,GAOM,CAHJT,EAESC,GAAA,EAFD,MAAK,UAAS,GAAA;GACpB,SAAAC,QAA6D,CAA1DC,EAAAC,EAAAL,EAAA4B,CAAA,CAAC,CAAA,oDAAA,CAAA,GAAA,CAAA,C;;E,mBAIAR,EAAA,uBAAuBA,EAAA,wBAAwBpB,EAAAsB,CAAA,CAAsB,CAAC,UAD9EzB,EAAA,GAAAC,EAYM,OAZNa,GAYM,CARJV,EAOSC,GAAA,EAPD,MAAK,QAAO,GAAA;GAClB,SAAAC,QAA0D,CAAvDC,EAAAC,EAAAL,EAAA4B,CAAA,CAAC,CAAA,iDAAA,CAAA,IAAsD,KAE1D,CAAA,GAAWR,EAAA,2BAA2BA,EAAA,4BAA4BpB,EAAA8B,CAAA,CAAmB,CAAC,QAAtFjC,EAAA,GAAAC,EAGM,OAAAc,GAAA,CAFJ,AAAAmB,EAAA,OAAAxB,EAAM,MAAA,MAAA,MAAA,EAAA,GACNN,EAA6DO,GAAA,EAAnC,QAAQY,EAAA,wBAAuB,GAAA,MAAA,GAAA,CAAA,QAAA,CAAA,C;;E,QAKlDA,EAAA,gBAAgBpB,EAAAiC,CAAA,CAAc,CAAC,YAD5CpC,EAAA,GAAAC,EAOM,OAPNe,GAOM,CAHJZ,EAESC,GAAA,EAFD,MAAK,QAAO,GAAA;GAClB,SAAAC,QAA4D,CAAzDC,EAAAC,EAAAL,EAAA4B,CAAA,CAAC,CAAA,mDAAA,CAAA,GAAA,CAAA,C;;E,QAIKR,EAAA,gBAAgBpB,EAAAiC,CAAA,CAAc,CAAC,SAD5CpC,EAAA,GAAAC,EAOM,OAPNgB,GAOM,CAHJb,EAESC,GAAA,EAFD,MAAK,UAAS,GAAA;GACpB,SAAAC,QAAyD,CAAtDC,EAAAC,EAAAL,EAAA4B,CAAA,CAAC,CAAA,gDAAA,CAAA,GAAA,CAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetMetadata.js","names":["_sfc_main","AssetMetadata_vue_vue_type_script_setup_true_lang_default","AssetMetadata_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetMetadata.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, ref, watch } from 'vue'\nimport { DamAssetTypeDefault } 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 ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport { useDamKeywordAssetTypeConfig } from '@/domains/dam/keyword/composables/damKeywordConfig'\nimport { useDamAuthorAssetTypeConfig } from '@/domains/dam/author/composables/damAuthorConfig'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport ABooleanValue from '@/domains/ui/components/ABooleanValue.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useAssetSuggestions } from '@/domains/dam/uploadQueue/composables/assetSuggestions'\nimport { useDamCachedAuthors } from '@/domains/dam/author/composables/cachedAuthors'\nimport { useDamCachedUsers } from '@/domains/dam/author/composables/cachedUsers'\n\nconst props = withDefaults(\n defineProps<{\n extSystem: IntegerId\n readonly?: boolean\n configName?: string\n showEditButton?: boolean\n }>(),\n {\n readonly: false,\n configName: undefined,\n showEditButton: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'editInDam'): void\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, mainFileSingleUse } = storeToRefs(assetDetailStore)\n\nconst assetType = computed(() => {\n return asset.value?.attributes.assetType || DamAssetTypeDefault\n})\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)\n\nconst { getAuthorConflicts } = useAssetSuggestions()\nconst { addToCachedAuthors, fetchCachedAuthors } = useDamCachedAuthors(damConfigName)\n\n// The DAM authors of one name read from the file, as the card of a row of the queue offers them: taken from the asset\n// itself, as the field of the store is written by nobody. A side panel, read-only, offers none, nor does a detail\n// without the field of authors, whose asset may still carry suggestions from before the authors were switched off.\nconst authorConflicts = computed<DocId[]>(() =>\n props.readonly || !authorEnabled.value || !asset.value\n ? []\n : getAuthorConflicts(asset.value.metadata.authorSuggestions ?? {})\n)\n// Their chips show the names from the cache of its configuration, as those of the row do: without them a chip spins with none.\nwatch(\n authorConflicts,\n (conflicts) => {\n if (conflicts.length === 0) return\n addToCachedAuthors(conflicts)\n fetchCachedAuthors()\n },\n { immediate: true }\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\nconst { mainFileSingleUseEnabled, showFileInfoEnabled, editAssetLabel } = useCommonAdminCoreDamOptions(damConfigName)\n\nconst { addToCachedUsers, fetchCachedUsers } = useDamCachedUsers(damConfigName)\n// The chips of the panel \"file\" show who created and who changed the asset by the cache of users of its configuration.\n// A click into a picker fills it for the asset clicked, and only then: the detail of \"edit asset\" of a widget, or of a\n// row of the queue, showed two chips that spun with none.\nwatch(\n [() => asset.value?.createdBy, () => asset.value?.modifiedBy],\n ([createdBy, modifiedBy]) => {\n if (!showFileInfoEnabled || (!createdBy && !modifiedBy)) return\n addToCachedUsers(createdBy, modifiedBy)\n fetchCachedUsers()\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <VBtn\n v-if=\"showEditButton && asset\"\n size=\"small\"\n class=\"ma-2\"\n @click=\"emit('editInDam')\"\n >\n {{ editAssetLabel }}\n </VBtn>\n <VExpansionPanels\n v-if=\"asset\"\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 <AssetCustomMetadataForm\n v-if=\"asset\"\n v-model=\"asset.metadata.customData\"\n :ext-system=\"extSystem\"\n :asset-type=\"assetType\"\n :readonly=\"readonly\"\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=\"asset.keywords\"\n :ext-system=\"extSystem\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n data-cy=\"custom-field-keywords\"\n clearable\n multiple\n :disabled=\"readonly\"\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=\"asset.authors\"\n :ext-system=\"extSystem\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :disabled=\"readonly\"\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 <ARow\n v-if=\"readonly\"\n :title=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n >\n <ABooleanValue :value=\"mainFileSingleUse\" />\n </ARow>\n <VSwitch\n v-else\n v-model=\"mainFileSingleUse\"\n :label=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n />\n </VCol>\n </VRow>\n </template>\n </AssetCustomMetadataForm>\n </VExpansionPanelText>\n </VExpansionPanel>\n <!-- The detail breaks its texts only between words, unlike the card it is in (design 1.10, JS29). -->\n <AssetFileInfoPanel\n v-if=\"showFileInfoEnabled\"\n :asset=\"asset\"\n show-users\n style=\"overflow-wrap: normal\"\n />\n </VExpansionPanels>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AssetMetadata.js","names":["_sfc_main","AssetMetadata_vue_vue_type_script_setup_true_lang_default","AssetMetadata_default"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetMetadata.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, ref, watch } from 'vue'\nimport { DamAssetTypeDefault } 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 ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport { useDamKeywordAssetTypeConfig } from '@/domains/dam/keyword/composables/damKeywordConfig'\nimport { useDamAuthorAssetTypeConfig } from '@/domains/dam/author/composables/damAuthorConfig'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport ABooleanValue from '@/domains/ui/components/ABooleanValue.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useAssetSuggestions } from '@/domains/dam/uploadQueue/composables/assetSuggestions'\nimport { useDamCachedAuthors } from '@/domains/dam/author/composables/cachedAuthors'\nimport { useDamCachedUsers } from '@/domains/dam/author/composables/cachedUsers'\n\nconst props = withDefaults(\n defineProps<{\n extSystem: IntegerId\n readonly?: boolean\n configName?: string\n showEditButton?: boolean\n }>(),\n {\n readonly: false,\n configName: undefined,\n showEditButton: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'editInDam'): void\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, mainFileSingleUse } = storeToRefs(assetDetailStore)\n\nconst assetType = computed(() => {\n return asset.value?.attributes.assetType || DamAssetTypeDefault\n})\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)\n\nconst { getAuthorConflicts } = useAssetSuggestions()\nconst { addToCachedAuthors, fetchCachedAuthors } = useDamCachedAuthors(damConfigName)\n\n// DAM author suggestions for names read from the file, as the queue row card offers them.\n// Taken from the asset itself, because nothing writes the store field.\n// None in a read-only side panel, or when the authors field is disabled. Such an asset may still carry old suggestions.\nconst authorConflicts = computed<DocId[]>(() =>\n props.readonly || !authorEnabled.value || !asset.value\n ? []\n : getAuthorConflicts(asset.value.metadata.authorSuggestions ?? {})\n)\n// The chips show names from the configuration's cache, as the row's do. Without it a chip spins forever.\nwatch(\n authorConflicts,\n (conflicts) => {\n if (conflicts.length === 0) return\n addToCachedAuthors(conflicts)\n fetchCachedAuthors()\n },\n { immediate: true }\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\nconst { mainFileSingleUseEnabled, showFileInfoEnabled, editAssetLabel } = useCommonAdminCoreDamOptions(damConfigName)\n\nconst { addToCachedUsers, fetchCachedUsers } = useDamCachedUsers(damConfigName)\n// The \"file\" panel chips show creator and modifier from the configuration's user cache.\n// A picker click fills it only for the clicked asset.\n// The \"edit asset\" detail of a widget or a queue row showed two chips spinning forever.\nwatch(\n [() => asset.value?.createdBy, () => asset.value?.modifiedBy],\n ([createdBy, modifiedBy]) => {\n if (!showFileInfoEnabled || (!createdBy && !modifiedBy)) return\n addToCachedUsers(createdBy, modifiedBy)\n fetchCachedUsers()\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <VBtn\n v-if=\"showEditButton && asset\"\n size=\"small\"\n class=\"ma-2\"\n @click=\"emit('editInDam')\"\n >\n {{ editAssetLabel }}\n </VBtn>\n <VExpansionPanels\n v-if=\"asset\"\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 <AssetCustomMetadataForm\n v-if=\"asset\"\n v-model=\"asset.metadata.customData\"\n :ext-system=\"extSystem\"\n :asset-type=\"assetType\"\n :readonly=\"readonly\"\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=\"asset.keywords\"\n :ext-system=\"extSystem\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n data-cy=\"custom-field-keywords\"\n clearable\n multiple\n :disabled=\"readonly\"\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=\"asset.authors\"\n :ext-system=\"extSystem\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :disabled=\"readonly\"\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 <ARow\n v-if=\"readonly\"\n :title=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n >\n <ABooleanValue :value=\"mainFileSingleUse\" />\n </ARow>\n <VSwitch\n v-else\n v-model=\"mainFileSingleUse\"\n :label=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n />\n </VCol>\n </VRow>\n </template>\n </AssetCustomMetadataForm>\n </VExpansionPanelText>\n </VExpansionPanel>\n <!-- The detail wraps text only between words, unlike its card (design 1.10, JS29). -->\n <AssetFileInfoPanel\n v-if=\"showFileInfoEnabled\"\n :asset=\"asset\"\n show-users\n style=\"overflow-wrap: normal\"\n />\n </VExpansionPanels>\n</template>\n"],"mappings":""}