@anzusystems/common-admin 2.0.0-rc.11 → 2.0.0-rc.12

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 (457) hide show
  1. package/dist/domains/anzuUser/components/AAnzuUserDatatable.js.map +1 -1
  2. package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  3. package/dist/domains/anzuUser/components/AAnzuUserFilter.js.map +1 -1
  4. package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  5. package/dist/domains/anzuUser/components/AAnzuUserForm.js.map +1 -1
  6. package/dist/domains/anzuUser/components/AAnzuUserForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  7. package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js.map +1 -1
  8. package/dist/domains/anzuUser/components/AUserBulkActionDialog.js.map +1 -1
  9. package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  10. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.js.map +1 -1
  11. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  12. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.js.map +1 -1
  13. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  14. package/dist/domains/anzuUser/components/AUserEnabledSwitch.js.map +1 -1
  15. package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  16. package/dist/domains/anzuUser/components/AUserManageButton.js.map +1 -1
  17. package/dist/domains/anzuUser/components/AUserMetadataForm.js.map +1 -1
  18. package/dist/domains/anzuUser/components/AUserMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  19. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js.map +1 -1
  20. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  21. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.js.map +1 -1
  22. package/dist/domains/anzuUser/components/AUserSystemOverview.js.map +1 -1
  23. package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js.map +1 -1
  24. package/dist/domains/anzuUser/components/AUserSystemPanel.js.map +1 -1
  25. package/dist/domains/anzuUser/components/AUserSystemPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  26. package/dist/domains/anzuUser/components/AUserSystemStatusChip.js.map +1 -1
  27. package/dist/domains/anzuUser/components/AUserTabsShell.js.map +1 -1
  28. package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  29. package/dist/domains/auth/components/Acl.js.map +1 -1
  30. package/dist/domains/auth/components/Acl.vue_vue_type_script_setup_true_lang.js.map +1 -1
  31. package/dist/domains/cached/components/ACachedChip.js.map +1 -1
  32. package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/domains/cached/components/ACachedUserChip.js.map +1 -1
  34. package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  35. package/dist/domains/collab/components/ACollabCountdown.js.map +1 -1
  36. package/dist/domains/collab/components/ACollabCountdown.vue_vue_type_script_setup_true_lang.js.map +1 -1
  37. package/dist/domains/collab/components/ACollabLockedByUser.js.map +1 -1
  38. package/dist/domains/collab/components/ACollabManagement.js.map +1 -1
  39. package/dist/domains/collab/components/ACollabManagement.vue_vue_type_script_setup_true_lang.js.map +1 -1
  40. package/dist/domains/customDataForm/components/ACustomDataForm.js.map +1 -1
  41. package/dist/domains/customDataForm/components/ACustomDataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  42. package/dist/domains/customDataForm/components/ACustomDataFormElement.js.map +1 -1
  43. package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js.map +1 -1
  44. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.js.map +1 -1
  45. package/dist/domains/dam/assetDetail/components/AColorBox.js.map +1 -1
  46. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js.map +1 -1
  47. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  48. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.js.map +1 -1
  49. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  50. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.js.map +1 -1
  51. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
  52. package/dist/domains/dam/assetDetail/components/AssetDetailDialogLoader.js.map +1 -1
  53. package/dist/domains/dam/assetDetail/components/AssetDetailDialogSidebar.js.map +1 -1
  54. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsTeleportTarget.js.map +1 -1
  55. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.js.map +1 -1
  56. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  57. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.js.map +1 -1
  58. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
  59. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.js.map +1 -1
  60. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  61. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.js.map +1 -1
  62. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js.map +1 -1
  63. package/dist/domains/dam/assetDetail/components/AssetFileFailReasonChip.js.map +1 -1
  64. package/dist/domains/dam/assetDetail/components/AssetFileFailReasonChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  65. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js.map +1 -1
  66. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  67. package/dist/domains/dam/assetDetail/components/AssetFileRotate.js.map +1 -1
  68. package/dist/domains/dam/assetDetail/components/AssetFileRotate.vue_vue_type_script_setup_true_lang.js.map +1 -1
  69. package/dist/domains/dam/assetDetail/components/AssetImage.js.map +1 -1
  70. package/dist/domains/dam/assetDetail/components/AssetImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  71. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.js.map +1 -1
  72. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js.map +1 -1
  73. package/dist/domains/dam/assetDetail/components/AssetInfobox.js.map +1 -1
  74. package/dist/domains/dam/assetDetail/components/AssetInfobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  75. package/dist/domains/dam/assetDetail/components/AssetMetadata.js.map +1 -1
  76. package/dist/domains/dam/assetDetail/components/AssetMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  77. package/dist/domains/dam/assetDetail/components/AssetMetadataImageAttributes.js.map +1 -1
  78. package/dist/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue_vue_type_script_setup_true_lang.js.map +1 -1
  79. package/dist/domains/dam/assetSelect/components/AAssetListInner.js.map +1 -1
  80. package/dist/domains/dam/assetSelect/components/AAssetListInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  81. package/dist/domains/dam/assetSelect/components/AAssetSelect.js.map +1 -1
  82. package/dist/domains/dam/assetSelect/components/AAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  83. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.js.map +1 -1
  84. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue_vue_type_script_setup_true_lang.js.map +1 -1
  85. package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.js.map +1 -1
  86. package/dist/domains/dam/assetSelect/components/AssetImagePreview.js.map +1 -1
  87. package/dist/domains/dam/assetSelect/components/AssetImagePreview.vue_vue_type_script_setup_true_lang.js.map +1 -1
  88. package/dist/domains/dam/assetSelect/components/AssetSelectFilter.js.map +1 -1
  89. package/dist/domains/dam/assetSelect/components/AssetSelectFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  90. package/dist/domains/dam/assetSelect/components/AssetSelectFilterForm.js.map +1 -1
  91. package/dist/domains/dam/assetSelect/components/AssetSelectFilterForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  92. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.js.map +1 -1
  93. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  94. package/dist/domains/dam/assetSelect/components/AssetSelectListTable.js.map +1 -1
  95. package/dist/domains/dam/assetSelect/components/AssetSelectListTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  96. package/dist/domains/dam/assetSelect/components/AssetSelectListTiles.js.map +1 -1
  97. package/dist/domains/dam/assetSelect/components/AssetSelectListTiles.vue_vue_type_script_setup_true_lang.js.map +1 -1
  98. package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.js.map +1 -1
  99. package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.js.map +1 -1
  100. package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  101. package/dist/domains/dam/assetSelect/components/FilterPodcastRemoteAutocomplete.js.map +1 -1
  102. package/dist/domains/dam/author/components/AuthorCreateButton.js.map +1 -1
  103. package/dist/domains/dam/author/components/AuthorCreateButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  104. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.js.map +1 -1
  105. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  106. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.js.map +1 -1
  107. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.vue_vue_type_script_setup_true_lang.js.map +1 -1
  108. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js.map +1 -1
  109. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
  110. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.js.map +1 -1
  111. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  112. package/dist/domains/dam/components/DamAdminAssetLink.js.map +1 -1
  113. package/dist/domains/dam/cropper/components/ACropper.js.map +1 -1
  114. package/dist/domains/dam/cropper/components/ACropper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  115. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.js.map +1 -1
  116. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  117. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelectLazy.js.map +1 -1
  118. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelectLazy.vue_vue_type_script_setup_true_lang.js.map +1 -1
  119. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.js.map +1 -1
  120. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
  121. package/dist/domains/dam/imageWidget/components/AImagePublicInput.js.map +1 -1
  122. package/dist/domains/dam/imageWidget/components/AImagePublicInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  123. package/dist/domains/dam/imageWidget/components/AImageWidget.js.map +1 -1
  124. package/dist/domains/dam/imageWidget/components/AImageWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
  125. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.js.map +1 -1
  126. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js.map +1 -1
  127. package/dist/domains/dam/imageWidget/components/AImageWidgetMultipleSimple.js.map +1 -1
  128. package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.js.map +1 -1
  129. package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue_vue_type_script_setup_true_lang.js.map +1 -1
  130. package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.js.map +1 -1
  131. package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue_vue_type_script_setup_true_lang.js.map +1 -1
  132. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js.map +1 -1
  133. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  134. package/dist/domains/dam/imageWidget/components/ImageMassOperations.js.map +1 -1
  135. package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
  136. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.js.map +1 -1
  137. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  138. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js.map +1 -1
  139. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  140. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.js.map +1 -1
  141. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  142. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.js.map +1 -1
  143. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  144. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.js.map +1 -1
  145. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  146. package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.js.map +1 -1
  147. package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  148. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js.map +1 -1
  149. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js.map +1 -1
  150. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  151. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js.map +1 -1
  152. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
  153. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js.map +1 -1
  154. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
  155. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.js.map +1 -1
  156. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  157. package/dist/domains/dam/uploadQueue/components/UploadQueueButtonStop.js.map +1 -1
  158. package/dist/domains/dam/uploadQueue/components/UploadQueueButtonStop.vue_vue_type_script_setup_true_lang.js.map +1 -1
  159. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.js.map +1 -1
  160. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  161. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.js.map +1 -1
  162. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  163. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.js.map +1 -1
  164. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.js.map +1 -1
  165. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  166. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.js.map +1 -1
  167. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  168. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.js.map +1 -1
  169. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  170. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.js.map +1 -1
  171. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  172. package/dist/domains/dam/uploadQueue/components/UploadQueueItemErrorOverlay.js.map +1 -1
  173. package/dist/domains/dam/user/components/DamAssetLicenceGroupRemoteAutocomplete.js.map +1 -1
  174. package/dist/domains/dam/user/components/DamAssetLicenceRemoteAutocomplete.js.map +1 -1
  175. package/dist/domains/dam/user/components/DamDistributionServiceSelect.js.map +1 -1
  176. package/dist/domains/dam/user/components/DamExtSystemRemoteAutocomplete.js.map +1 -1
  177. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js.map +1 -1
  178. package/dist/domains/dam/user/components/DamUserFilterRemoteAutocomplete.js.map +1 -1
  179. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js.map +1 -1
  180. package/dist/domains/filters/bookmarks/components/AFilterBookmarkButton.js.map +1 -1
  181. package/dist/domains/filters/bookmarks/components/AFilterBookmarkButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  182. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.js.map +1 -1
  183. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  184. package/dist/domains/filters/bookmarks/components/FilterBookmarks.js.map +1 -1
  185. package/dist/domains/filters/bookmarks/components/FilterBookmarks.vue_vue_type_script_setup_true_lang.js.map +1 -1
  186. package/dist/domains/filters/components/AFilterAdvancedButton.js.map +1 -1
  187. package/dist/domains/filters/components/AFilterBooleanSelect.js.map +1 -1
  188. package/dist/domains/filters/components/AFilterDatetimePicker.js.map +1 -1
  189. package/dist/domains/filters/components/AFilterEmpty.js.map +1 -1
  190. package/dist/domains/filters/components/AFilterInteger.js.map +1 -1
  191. package/dist/domains/filters/components/AFilterResetButton.js.map +1 -1
  192. package/dist/domains/filters/components/AFilterString.js.map +1 -1
  193. package/dist/domains/filters/components/AFilterString.vue.d.ts +3 -0
  194. package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js +8 -2
  195. package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js.map +1 -1
  196. package/dist/domains/filters/components/AFilterSubmitButton.js.map +1 -1
  197. package/dist/domains/filters/components/AFilterTimeInterval.js.map +1 -1
  198. package/dist/domains/filters/components/AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js.map +1 -1
  199. package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js.map +1 -1
  200. package/dist/domains/filters/components/AFilterWrapper.js.map +1 -1
  201. package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  202. package/dist/domains/filters/components/AFilterWrapperSidebar.js.map +1 -1
  203. package/dist/domains/filters/components/FilterDetailItem.js.map +1 -1
  204. package/dist/domains/filters/components/FiltersSelected.js.map +1 -1
  205. package/dist/domains/filters/datatable/components/ADatatableConfigButton.js.map +1 -1
  206. package/dist/domains/filters/datatable/components/ADatatableOrdering.js.map +1 -1
  207. package/dist/domains/filters/datatable/components/ADatatablePagination.js.map +1 -1
  208. package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  209. package/dist/domains/form/components/AFormDatetimePicker.js.map +1 -1
  210. package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  211. package/dist/domains/form/components/AFormFlagDatetimePicker.js.map +1 -1
  212. package/dist/domains/form/components/AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  213. package/dist/domains/form/components/AFormRemoteCheckbox.js.map +1 -1
  214. package/dist/domains/form/components/AFormRemoteCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  215. package/dist/domains/form/components/AFormRemoteSwitch.js.map +1 -1
  216. package/dist/domains/form/components/AFormRemoteSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  217. package/dist/domains/form/components/AFormSwitch.js.map +1 -1
  218. package/dist/domains/form/components/AFormSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  219. package/dist/domains/form/components/AFormTextField.js.map +1 -1
  220. package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  221. package/dist/domains/form/components/AFormTextarea.js.map +1 -1
  222. package/dist/domains/form/components/AFormTextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  223. package/dist/domains/form/components/AFormValueObjectOptionsSelect.js.map +1 -1
  224. package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  225. package/dist/domains/form/components/ASystemEntityScope.js.map +1 -1
  226. package/dist/domains/job/components/AJobBaseCreateForm.js.map +1 -1
  227. package/dist/domains/job/components/AJobBaseCreateForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  228. package/dist/domains/job/components/AJobDetailCommon.js.map +1 -1
  229. package/dist/domains/job/components/AJobPriorityChip.js.map +1 -1
  230. package/dist/domains/job/components/AJobStatusChip.js.map +1 -1
  231. package/dist/domains/listEditor/components/AListEditor.js.map +1 -1
  232. package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  233. package/dist/domains/listEditor/components/ANestedSortableListEditor.js.map +1 -1
  234. package/dist/domains/listEditor/components/ANestedSortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  235. package/dist/domains/listEditor/components/ASortableListEditor.js.map +1 -1
  236. package/dist/domains/listEditor/components/ASortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  237. package/dist/domains/listEditor/components/internal/LeChangeParentDialog.js.map +1 -1
  238. package/dist/domains/listEditor/components/internal/LeChangeParentDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  239. package/dist/domains/listEditor/components/internal/LeDeleteDialog.js.map +1 -1
  240. package/dist/domains/listEditor/components/internal/LeDeleteDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  241. package/dist/domains/listEditor/components/internal/LeDragHandle.js.map +1 -1
  242. package/dist/domains/listEditor/components/internal/LeEmptyState.js.map +1 -1
  243. package/dist/domains/listEditor/components/internal/LeEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
  244. package/dist/domains/listEditor/components/internal/LeMoveToPositionDialog.js.map +1 -1
  245. package/dist/domains/listEditor/components/internal/LeMoveToPositionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  246. package/dist/domains/listEditor/components/internal/LeNestedRow.js.map +1 -1
  247. package/dist/domains/listEditor/components/internal/LeNestedRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  248. package/dist/domains/listEditor/components/internal/LeStatus.js.map +1 -1
  249. package/dist/domains/listEditor/components/internal/LeStatus.vue_vue_type_script_setup_true_lang.js.map +1 -1
  250. package/dist/domains/listEditor/components/internal/LeUnsavedLabel.js.map +1 -1
  251. package/dist/domains/listEditor/components/internal/LeUnsavedLabel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  252. package/dist/domains/log/components/ALogDatatable.js.map +1 -1
  253. package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  254. package/dist/domains/log/components/ALogDetail.js.map +1 -1
  255. package/dist/domains/log/components/ALogDetailView.js.map +1 -1
  256. package/dist/domains/log/components/ALogDetailView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  257. package/dist/domains/log/components/ALogFilter.js.map +1 -1
  258. package/dist/domains/log/components/ALogLevelChip.js.map +1 -1
  259. package/dist/domains/log/components/ALogLevelChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  260. package/dist/domains/log/components/ALogListView.js.map +1 -1
  261. package/dist/domains/permission/components/APermissionEditor.js.map +1 -1
  262. package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  263. package/dist/domains/permission/components/APermissionGrantEditor.js.map +1 -1
  264. package/dist/domains/permission/components/APermissionValueChip.js.map +1 -1
  265. package/dist/domains/permission/components/APermissionValueChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  266. package/dist/domains/permission/group/components/APermissionGroupDatatable.js.map +1 -1
  267. package/dist/domains/permission/group/components/APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  268. package/dist/domains/permission/group/components/APermissionGroupDetail.js.map +1 -1
  269. package/dist/domains/permission/group/components/APermissionGroupFilter.js.map +1 -1
  270. package/dist/domains/permission/group/components/APermissionGroupManage.js.map +1 -1
  271. package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  272. package/dist/domains/permission/group/components/APermissionGroupRemoteAutocomplete.js.map +1 -1
  273. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js.map +1 -1
  274. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  275. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js.map +1 -1
  276. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js.map +1 -1
  277. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  278. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.js.map +1 -1
  279. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
  280. package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.js.map +1 -1
  281. package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  282. package/dist/domains/subjectSelect/components/ASubjectSelect.js.map +1 -1
  283. package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  284. package/dist/domains/system/appShell/components/AActionbar.js.map +1 -1
  285. package/dist/domains/system/appShell/components/AActionbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  286. package/dist/domains/system/appShell/components/AActionbarTarget.js.map +1 -1
  287. package/dist/domains/system/appShell/components/ALayoutLoader.js.map +1 -1
  288. package/dist/domains/system/appShell/components/ALayoutSwitch.js.map +1 -1
  289. package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  290. package/dist/domains/system/components/AAdminSwitcher.js.map +1 -1
  291. package/dist/domains/system/components/AAdminSwitcher.vue_vue_type_script_setup_true_lang.js.map +1 -1
  292. package/dist/domains/system/components/AAlerts.js.map +1 -1
  293. package/dist/domains/system/components/ALanguageSelect.js.map +1 -1
  294. package/dist/domains/system/components/AThemeSelect.js.map +1 -1
  295. package/dist/domains/system/components/AThemeSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  296. package/dist/domains/system/flags/components/FlagCountry.js.map +1 -1
  297. package/dist/domains/system/flags/components/FlagEn.js.map +1 -1
  298. package/dist/domains/system/flags/components/FlagSk.js.map +1 -1
  299. package/dist/domains/system/systemBar/components/ASystemBar.js.map +1 -1
  300. package/dist/domains/system/systemBar/components/ASystemBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  301. package/dist/domains/system/systemBar/components/ASystemBarNewVersion.js.map +1 -1
  302. package/dist/domains/system/systemBar/components/ASystemBarNewVersion.vue_vue_type_script_setup_true_lang.js.map +1 -1
  303. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js.map +1 -1
  304. package/dist/domains/ui/buttons/action/components/AActionCreateButton.js.map +1 -1
  305. package/dist/domains/ui/buttons/action/components/AActionCreateButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  306. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.js.map +1 -1
  307. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  308. package/dist/domains/ui/buttons/action/components/AActionEditButton.js.map +1 -1
  309. package/dist/domains/ui/buttons/action/components/AActionEditButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  310. package/dist/domains/ui/buttons/action/components/AActionSaveAndCloseButton.js.map +1 -1
  311. package/dist/domains/ui/buttons/action/components/AActionSaveAndCloseButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  312. package/dist/domains/ui/buttons/action/components/AActionSaveButton.js.map +1 -1
  313. package/dist/domains/ui/buttons/action/components/AActionSaveButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  314. package/dist/domains/ui/buttons/components/ABtnSplit.js.map +1 -1
  315. package/dist/domains/ui/buttons/components/ABtnSplit.vue_vue_type_script_setup_true_lang.js.map +1 -1
  316. package/dist/domains/ui/buttons/table/components/ATableCopyIdButton.js.map +1 -1
  317. package/dist/domains/ui/buttons/table/components/ATableCopyIdButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  318. package/dist/domains/ui/buttons/table/components/ATableDetailButton.js.map +1 -1
  319. package/dist/domains/ui/buttons/table/components/ATableDetailButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  320. package/dist/domains/ui/buttons/table/components/ATableEditButton.js.map +1 -1
  321. package/dist/domains/ui/buttons/table/components/ATableEditButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  322. package/dist/domains/ui/components/AAnzuUserAvatar.js.map +1 -1
  323. package/dist/domains/ui/components/AAnzuUserAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  324. package/dist/domains/ui/components/AAvatarColorPicker.js.map +1 -1
  325. package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  326. package/dist/domains/ui/components/ABooleanSelect.js.map +1 -1
  327. package/dist/domains/ui/components/ABooleanValue.js.map +1 -1
  328. package/dist/domains/ui/components/ACard.js.map +1 -1
  329. package/dist/domains/ui/components/ACardLoader.js.map +1 -1
  330. package/dist/domains/ui/components/AChipNoLink.js.map +1 -1
  331. package/dist/domains/ui/components/ACopyText.js.map +1 -1
  332. package/dist/domains/ui/components/ACopyText.vue_vue_type_script_setup_true_lang.js.map +1 -1
  333. package/dist/domains/ui/components/ACreateDialog.js.map +1 -1
  334. package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  335. package/dist/domains/ui/components/ACurrentUserDropdown.js.map +1 -1
  336. package/dist/domains/ui/components/ACurrentUserDropdown.vue_vue_type_script_setup_true_lang.js.map +1 -1
  337. package/dist/domains/ui/components/ADialogToolbar.js.map +1 -1
  338. package/dist/domains/ui/components/AIconGroup.js.map +1 -1
  339. package/dist/domains/ui/components/AProgress.js.map +1 -1
  340. package/dist/domains/ui/components/ARow.js.map +1 -1
  341. package/dist/domains/ui/components/ARow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  342. package/dist/domains/ui/components/ATimeTrackingFields.js.map +1 -1
  343. package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
  344. package/dist/domains/ui/components/AUserAndTimeTrackingFields.js.map +1 -1
  345. package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
  346. package/dist/domains/ui/datetime/components/ADatetime.js.map +1 -1
  347. package/dist/domains/ui/datetime/components/ADatetimePicker.js.map +1 -1
  348. package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  349. package/dist/domains/ui/datetime/components/TimePicker.js.map +1 -1
  350. package/dist/domains/ui/file/components/AFileDropzone.js.map +1 -1
  351. package/dist/domains/ui/file/components/AFileInput.js.map +1 -1
  352. package/dist/domains/ui/file/components/AFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  353. package/dist/domains/ui/file/components/AFileInputDialog.js.map +1 -1
  354. package/dist/domains/ui/file/components/AFileInputDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  355. package/dist/domains/ui/view/components/AGenericView.js.map +1 -1
  356. package/dist/domains/ui/view/components/AGenericView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  357. package/dist/domains/ui/view/components/ALoginView.js.map +1 -1
  358. package/dist/domains/ui/view/components/ALoginView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  359. package/dist/domains/ui/view/components/ALogoutView.js.map +1 -1
  360. package/dist/domains/ui/view/components/ANotFoundView.js.map +1 -1
  361. package/dist/domains/ui/view/components/AUnauthorizedView.js.map +1 -1
  362. package/dist/domains/ui/view/components/AUnauthorizedView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  363. package/dist/domains/unsavedGuard/components/AUnsavedConfirmDialog.js.map +1 -1
  364. package/dist/locales/cs/common/alert.js.map +1 -1
  365. package/dist/locales/cs/common/anzuUser.js.map +1 -1
  366. package/dist/locales/cs/common/assetSelect.js.map +1 -1
  367. package/dist/locales/cs/common/button.js.map +1 -1
  368. package/dist/locales/cs/common/collab.js.map +1 -1
  369. package/dist/locales/cs/common/confirmDialog.js.map +1 -1
  370. package/dist/locales/cs/common/customForm.js.map +1 -1
  371. package/dist/locales/cs/common/customFormElement.js.map +1 -1
  372. package/dist/locales/cs/common/damImage.js.map +1 -1
  373. package/dist/locales/cs/common/dayOfWeek.js.map +1 -1
  374. package/dist/locales/cs/common/filter.js.map +1 -1
  375. package/dist/locales/cs/common/job.js.map +1 -1
  376. package/dist/locales/cs/common/linkDto.js.map +1 -1
  377. package/dist/locales/cs/common/listItemDto.js.map +1 -1
  378. package/dist/locales/cs/common/log.js.map +1 -1
  379. package/dist/locales/cs/common/model.js.map +1 -1
  380. package/dist/locales/cs/common/permission.js.map +1 -1
  381. package/dist/locales/cs/common/permissionEditor.js.map +1 -1
  382. package/dist/locales/cs/common/permissionGroup.js.map +1 -1
  383. package/dist/locales/cs/common/routeSettings.js.map +1 -1
  384. package/dist/locales/cs/common/sortable.js.map +1 -1
  385. package/dist/locales/cs/common/subjectSelect.js.map +1 -1
  386. package/dist/locales/cs/common/system.js.map +1 -1
  387. package/dist/locales/cs/common/time.js.map +1 -1
  388. package/dist/locales/cs/common/userSystem.js.map +1 -1
  389. package/dist/locales/cs/error/apiDependencyExists.js.map +1 -1
  390. package/dist/locales/cs/error/apiForbiddenOperation.js.map +1 -1
  391. package/dist/locales/cs/error/apiTimedOut.js.map +1 -1
  392. package/dist/locales/cs/error/apiValidation.js.map +1 -1
  393. package/dist/locales/cs/error/jsValidation.js.map +1 -1
  394. package/dist/locales/cs/vuetify.js.map +1 -1
  395. package/dist/locales/en/common/alert.js.map +1 -1
  396. package/dist/locales/en/common/anzuUser.js.map +1 -1
  397. package/dist/locales/en/common/assetSelect.js.map +1 -1
  398. package/dist/locales/en/common/button.js.map +1 -1
  399. package/dist/locales/en/common/collab.js.map +1 -1
  400. package/dist/locales/en/common/confirmDialog.js.map +1 -1
  401. package/dist/locales/en/common/customForm.js.map +1 -1
  402. package/dist/locales/en/common/customFormElement.js.map +1 -1
  403. package/dist/locales/en/common/damImage.js.map +1 -1
  404. package/dist/locales/en/common/dayOfWeek.js.map +1 -1
  405. package/dist/locales/en/common/filter.js.map +1 -1
  406. package/dist/locales/en/common/job.js.map +1 -1
  407. package/dist/locales/en/common/linkDto.js.map +1 -1
  408. package/dist/locales/en/common/listItemDto.js.map +1 -1
  409. package/dist/locales/en/common/log.js.map +1 -1
  410. package/dist/locales/en/common/model.js.map +1 -1
  411. package/dist/locales/en/common/permission.js.map +1 -1
  412. package/dist/locales/en/common/permissionEditor.js.map +1 -1
  413. package/dist/locales/en/common/permissionGroup.js.map +1 -1
  414. package/dist/locales/en/common/routeSettings.js.map +1 -1
  415. package/dist/locales/en/common/sortable.js.map +1 -1
  416. package/dist/locales/en/common/subjectSelect.js.map +1 -1
  417. package/dist/locales/en/common/system.js.map +1 -1
  418. package/dist/locales/en/common/time.js.map +1 -1
  419. package/dist/locales/en/common/userSystem.js.map +1 -1
  420. package/dist/locales/en/error/apiDependencyExists.js.map +1 -1
  421. package/dist/locales/en/error/apiForbiddenOperation.js.map +1 -1
  422. package/dist/locales/en/error/apiTimedOut.js.map +1 -1
  423. package/dist/locales/en/error/apiValidation.js.map +1 -1
  424. package/dist/locales/en/error/jsValidation.js.map +1 -1
  425. package/dist/locales/en/vuetify.js.map +1 -1
  426. package/dist/locales/sk/common/alert.js.map +1 -1
  427. package/dist/locales/sk/common/anzuUser.js.map +1 -1
  428. package/dist/locales/sk/common/assetSelect.js.map +1 -1
  429. package/dist/locales/sk/common/button.js.map +1 -1
  430. package/dist/locales/sk/common/collab.js.map +1 -1
  431. package/dist/locales/sk/common/confirmDialog.js.map +1 -1
  432. package/dist/locales/sk/common/customForm.js.map +1 -1
  433. package/dist/locales/sk/common/customFormElement.js.map +1 -1
  434. package/dist/locales/sk/common/damImage.js.map +1 -1
  435. package/dist/locales/sk/common/dayOfWeek.js.map +1 -1
  436. package/dist/locales/sk/common/filter.js.map +1 -1
  437. package/dist/locales/sk/common/job.js.map +1 -1
  438. package/dist/locales/sk/common/linkDto.js.map +1 -1
  439. package/dist/locales/sk/common/listItemDto.js.map +1 -1
  440. package/dist/locales/sk/common/log.js.map +1 -1
  441. package/dist/locales/sk/common/model.js.map +1 -1
  442. package/dist/locales/sk/common/permission.js.map +1 -1
  443. package/dist/locales/sk/common/permissionEditor.js.map +1 -1
  444. package/dist/locales/sk/common/permissionGroup.js.map +1 -1
  445. package/dist/locales/sk/common/routeSettings.js.map +1 -1
  446. package/dist/locales/sk/common/sortable.js.map +1 -1
  447. package/dist/locales/sk/common/subjectSelect.js.map +1 -1
  448. package/dist/locales/sk/common/system.js.map +1 -1
  449. package/dist/locales/sk/common/time.js.map +1 -1
  450. package/dist/locales/sk/common/userSystem.js.map +1 -1
  451. package/dist/locales/sk/error/apiDependencyExists.js.map +1 -1
  452. package/dist/locales/sk/error/apiForbiddenOperation.js.map +1 -1
  453. package/dist/locales/sk/error/apiTimedOut.js.map +1 -1
  454. package/dist/locales/sk/error/apiValidation.js.map +1 -1
  455. package/dist/locales/sk/error/jsValidation.js.map +1 -1
  456. package/dist/locales/sk/vuetify.js.map +1 -1
  457. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createBlock","_component_VDialog","_withKeys","_withCtx","_component_VCard","_createVNode","ADialogToolbar","_createTextVNode","_toDisplayString","_unref","_component_VCardText","_createElementBlock","_createCommentVNode","_createElementVNode","_component_VCardActions","_component_VSpacer","_withModifiers","ADialogToolbar_default","_hoisted_1","_hoisted_2","_hoisted_3","MAX_UPLOAD_ITEMS","ImageWidgetMultipleLimitDialog_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","dialog","ref","uploadDialogLoader","fileCache","useI18n","imageWidgetUploadConfig","inject","ImageWidgetUploadConfigKey","isUndefined","uploadQueuesStore","useUploadQueuesStore","damConfigName","useDamConfigName","uploadQueueTotalCount","computed","alreadyAtUploadLimit","openDialog","onDialogConfirm","files","onDialogCancel","_component_ABtnTertiary","resolveComponent","_component_ABtnPrimary","openBlock","createBlock","VDialog","_cache","$event","withKeys","withCtx","VCard","createVNode","createTextVNode","toDisplayString","unref","t","VCardText","createElementBlock","createCommentVNode","createElementVNode","VCardActions","VSpacer","withModifiers"],"sources":["../../../../../src/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport { useI18n } from 'vue-i18n'\nimport { computed, inject, ref, type ShallowRef } from 'vue'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport type { DamConfigLicenceExtSystemReturnType } from '@/domains/dam/types/DamConfig'\nimport { isUndefined } from '@/shared/utils/common'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'afterAdd'): void\n}>()\n\nconst MAX_UPLOAD_ITEMS = 50\nconst dialog = ref(false)\nconst uploadDialogLoader = ref(false)\nconst fileCache = ref<File[]>([])\n\nconst { t } = useI18n()\n\nconst imageWidgetUploadConfig = inject<ShallowRef<DamConfigLicenceExtSystemReturnType | undefined> | undefined>(\n ImageWidgetUploadConfigKey,\n undefined\n)\n\nif (isUndefined(imageWidgetUploadConfig) || isUndefined(imageWidgetUploadConfig.value)) {\n throw new Error(\"Fatal error, parent component doesn't provide necessary config ext system config.\")\n}\n\nconst uploadQueuesStore = useUploadQueuesStore()\n// Uses the queue of this dialog's widget, so its files go where the widget's own files go.\nconst damConfigName = useDamConfigName()\n\nconst uploadQueueTotalCount = computed(() => {\n return uploadQueuesStore.getQueueTotalCount(props.queueKey)\n})\n\nconst alreadyAtUploadLimit = computed(() => {\n return uploadQueueTotalCount.value === MAX_UPLOAD_ITEMS\n})\n\nconst openDialog = () => {\n dialog.value = true\n}\n\nconst onDialogConfirm = async () => {\n if (isUndefined(imageWidgetUploadConfig) || isUndefined(imageWidgetUploadConfig.value)) {\n return\n }\n uploadDialogLoader.value = true\n const files = fileCache.value.slice(0, MAX_UPLOAD_ITEMS - uploadQueueTotalCount.value)\n await uploadQueuesStore.addByFiles(\n props.queueKey,\n imageWidgetUploadConfig.value.extSystem,\n imageWidgetUploadConfig.value.licence,\n files,\n damConfigName\n )\n fileCache.value = []\n uploadDialogLoader.value = false\n dialog.value = false\n emit('afterAdd')\n}\n\nconst onDialogCancel = () => {\n fileCache.value = []\n uploadQueuesStore.forceReloadFileInput(props.queueKey)\n dialog.value = false\n}\n\nconst checkForLimit = (files: File[]) => {\n fileCache.value = files\n if (files.length + uploadQueueTotalCount.value > MAX_UPLOAD_ITEMS) {\n openDialog()\n return\n }\n onDialogConfirm()\n}\n\ndefineExpose({\n check: checkForLimit,\n})\n</script>\n\n<template>\n <VDialog\n v-model=\"dialog\"\n :width=\"500\"\n @keydown.esc=\"onDialogCancel\"\n >\n <VCard\n v-if=\"dialog\"\n data-cy=\"delete-panel\"\n >\n <ADialogToolbar @cancel=\"onDialogCancel\">\n {{ t('common.damImage.upload.limits.uploadWarning') }}\n </ADialogToolbar>\n <VCardText>\n <p v-if=\"alreadyAtUploadLimit\">\n {{ t('common.damImage.upload.limits.onUploadLimit', { limit: MAX_UPLOAD_ITEMS }) }}\n </p>\n <p v-else>\n {{ t('common.damImage.upload.limits.addingOverLimit', { count: fileCache.length }) }}\n <span v-if=\"uploadQueueTotalCount > 0\">{{\n t('common.damImage.upload.limits.countAlreadyInProgress', {\n count: uploadQueueTotalCount,\n })\n }}</span>\n {{ t('common.damImage.upload.limits.onlyAllowedAtOnce', { count: MAX_UPLOAD_ITEMS }) }}<br /><br />\n {{\n t('common.damImage.upload.limits.cancelOrUploadFirst', {\n count: MAX_UPLOAD_ITEMS - uploadQueueTotalCount,\n })\n }}\n </p>\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click.stop=\"onDialogCancel\">\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <ABtnPrimary\n v-if=\"!alreadyAtUploadLimit\"\n :loading=\"uploadDialogLoader\"\n @click.stop=\"onDialogConfirm\"\n >\n {{\n t('common.damImage.upload.limits.actionAddFirstItems', {\n count: MAX_UPLOAD_ITEMS - uploadQueueTotalCount,\n })\n }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VDialog","_withKeys","_withCtx","_component_VCard","_createVNode","ADialogToolbar","_createTextVNode","_toDisplayString","_unref","_component_VCardText","_createElementBlock","_createElementVNode","_component_VCardActions","_component_VSpacer","_withModifiers","ADialogToolbar_default","_hoisted_1","_hoisted_2","_hoisted_3","MAX_UPLOAD_ITEMS","ImageWidgetMultipleLimitDialog_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","dialog","ref","uploadDialogLoader","fileCache","useI18n","imageWidgetUploadConfig","inject","ImageWidgetUploadConfigKey","isUndefined","uploadQueuesStore","useUploadQueuesStore","damConfigName","useDamConfigName","uploadQueueTotalCount","computed","alreadyAtUploadLimit","openDialog","onDialogConfirm","files","onDialogCancel","_component_ABtnTertiary","resolveComponent","_component_ABtnPrimary","openBlock","createBlock","VDialog","_cache","$event","withKeys","withCtx","VCard","createVNode","createTextVNode","toDisplayString","unref","t","VCardText","createElementBlock","createCommentVNode","createElementVNode","VCardActions","VSpacer","withModifiers"],"sources":["../../../../../src/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport { useI18n } from 'vue-i18n'\nimport { computed, inject, ref, type ShallowRef } from 'vue'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport type { DamConfigLicenceExtSystemReturnType } from '@/domains/dam/types/DamConfig'\nimport { isUndefined } from '@/shared/utils/common'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'afterAdd'): void\n}>()\n\nconst MAX_UPLOAD_ITEMS = 50\nconst dialog = ref(false)\nconst uploadDialogLoader = ref(false)\nconst fileCache = ref<File[]>([])\n\nconst { t } = useI18n()\n\nconst imageWidgetUploadConfig = inject<ShallowRef<DamConfigLicenceExtSystemReturnType | undefined> | undefined>(\n ImageWidgetUploadConfigKey,\n undefined\n)\n\nif (isUndefined(imageWidgetUploadConfig) || isUndefined(imageWidgetUploadConfig.value)) {\n throw new Error(\"Fatal error, parent component doesn't provide necessary config ext system config.\")\n}\n\nconst uploadQueuesStore = useUploadQueuesStore()\n// Uses the queue of this dialog's widget, so its files go where the widget's own files go.\nconst damConfigName = useDamConfigName()\n\nconst uploadQueueTotalCount = computed(() => {\n return uploadQueuesStore.getQueueTotalCount(props.queueKey)\n})\n\nconst alreadyAtUploadLimit = computed(() => {\n return uploadQueueTotalCount.value === MAX_UPLOAD_ITEMS\n})\n\nconst openDialog = () => {\n dialog.value = true\n}\n\nconst onDialogConfirm = async () => {\n if (isUndefined(imageWidgetUploadConfig) || isUndefined(imageWidgetUploadConfig.value)) {\n return\n }\n uploadDialogLoader.value = true\n const files = fileCache.value.slice(0, MAX_UPLOAD_ITEMS - uploadQueueTotalCount.value)\n await uploadQueuesStore.addByFiles(\n props.queueKey,\n imageWidgetUploadConfig.value.extSystem,\n imageWidgetUploadConfig.value.licence,\n files,\n damConfigName\n )\n fileCache.value = []\n uploadDialogLoader.value = false\n dialog.value = false\n emit('afterAdd')\n}\n\nconst onDialogCancel = () => {\n fileCache.value = []\n uploadQueuesStore.forceReloadFileInput(props.queueKey)\n dialog.value = false\n}\n\nconst checkForLimit = (files: File[]) => {\n fileCache.value = files\n if (files.length + uploadQueueTotalCount.value > MAX_UPLOAD_ITEMS) {\n openDialog()\n return\n }\n onDialogConfirm()\n}\n\ndefineExpose({\n check: checkForLimit,\n})\n</script>\n\n<template>\n <VDialog\n v-model=\"dialog\"\n :width=\"500\"\n @keydown.esc=\"onDialogCancel\"\n >\n <VCard\n v-if=\"dialog\"\n data-cy=\"delete-panel\"\n >\n <ADialogToolbar @cancel=\"onDialogCancel\">\n {{ t('common.damImage.upload.limits.uploadWarning') }}\n </ADialogToolbar>\n <VCardText>\n <p v-if=\"alreadyAtUploadLimit\">\n {{ t('common.damImage.upload.limits.onUploadLimit', { limit: MAX_UPLOAD_ITEMS }) }}\n </p>\n <p v-else>\n {{ t('common.damImage.upload.limits.addingOverLimit', { count: fileCache.length }) }}\n <span v-if=\"uploadQueueTotalCount > 0\">{{\n t('common.damImage.upload.limits.countAlreadyInProgress', {\n count: uploadQueueTotalCount,\n })\n }}</span>\n {{ t('common.damImage.upload.limits.onlyAllowedAtOnce', { count: MAX_UPLOAD_ITEMS }) }}<br /><br />\n {{\n t('common.damImage.upload.limits.cancelOrUploadFirst', {\n count: MAX_UPLOAD_ITEMS - uploadQueueTotalCount,\n })\n }}\n </p>\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click.stop=\"onDialogCancel\">\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <ABtnPrimary\n v-if=\"!alreadyAtUploadLimit\"\n :loading=\"uploadDialogLoader\"\n @click.stop=\"onDialogConfirm\"\n >\n {{\n t('common.damImage.upload.limits.actionAddFirstItems', {\n count: MAX_UPLOAD_ITEMS - uploadQueueTotalCount,\n })\n }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":";;;;;;;;;;;A,oDAsBMqB,IAAmB,I;;;;;EAXzB,IAAMI,IAAQC,GAORC,IAAOH,GAKPI,IAASC,EAAI,EAAK,GAClBC,IAAqBD,EAAI,EAAK,GAC9BE,IAAYF,EAAY,CAAC,CAAC,GAE1B,EAAE,SAAMG,EAAQ,GAEhBC,IAA0BC,EAC9BC,GACA,KAAA,CACF;EAEA,IAAIC,EAAYH,CAAuB,KAAKG,EAAYH,EAAwB,KAAK,GACnF,MAAU,MAAM,mFAAmF;EAGrG,IAAMI,IAAoBC,EAAqB,GAEzCC,IAAgBC,EAAiB,GAEjCC,IAAwBC,QACrBL,EAAkB,mBAAmBZ,EAAM,QAAQ,CAC3D,GAEKkB,IAAuBD,QACpBD,EAAsB,UAAUpB,CACxC,GAEKuB,UAAmB;GACvB,EAAO,QAAQ;EACjB,GAEMC,IAAkB,YAAY;GAClC,IAAIT,EAAYH,CAAuB,KAAKG,EAAYH,EAAwB,KAAK,GACnF;GAEF,EAAmB,QAAQ;GAC3B,IAAMa,IAAQf,EAAU,MAAM,MAAM,GAAGV,IAAmBoB,EAAsB,KAAK;GAWrF,AAVA,MAAMJ,EAAkB,WACtBZ,EAAM,UACNQ,EAAwB,MAAM,WAC9BA,EAAwB,MAAM,SAC9Ba,GACAP,CACF,GACA,EAAU,QAAQ,CAAC,GACnB,EAAmB,QAAQ,IAC3B,EAAO,QAAQ,IACfZ,EAAK,UAAU;EACjB,GAEMoB,UAAuB;GAG3B,AAFA,EAAU,QAAQ,CAAC,GACnBV,EAAkB,qBAAqBZ,EAAM,QAAQ,GACrD,EAAO,QAAQ;EACjB;E,OAWAF,EAAa,EACX,QAVqB,MAAkB;GAEvC,AADA,EAAU,QAAQuB,GACdA,EAAM,SAASL,EAAsB,QAAQpB,IAC/CuB,EAAW,IAGbC,EAAgB;EAClB,EAIA,CAAC,I;;GAIC,OAAA7C,EAAA,GAAAC,EAiDUC,GAAA;IAhDC,YAAA0B,EAAA;IAAA,uBAAA,AAAA0B,EAAA,QAAA,MAAA,EAAM,QAAAC;IACd,OAAO;IACP,WAAOpD,EAAM4C,GAAc,CAAA,KAAA,CAAA;;IAE5B,SAAA3C,QA2CQ,CA1CAwB,EAAA,SADR5B,EAAA,GAAAC,EA2CQI,GAAA;;KAzCN,WAAQ;;KAER,SAAAD,QAEiB;MAFjBE,EAEiBC,GAAA,EAFA,UAAQwC,EAAc,GAAA;OACrC,SAAA3C,QAAsD,CAAnDI,EAAAC,EAAAC,EAAAqD,CAAA,CAAC,CAAA,6CAAA,CAAA,GAAA,CAAA,C;;;MAENzD,EAkBYK,GAAA,MAAA;OAjBV,SAAAP,QAEI,CAFKuC,EAAA,SAAT3C,EAAA,GAAAY,EAEI,KAAAM,GAAAT,EADCC,EAAAqD,CAAA,CAAC,CAAA,+CAAA,EAAA,OAAyD1C,EAAgB,CAAA,CAAA,GAAA,CAAA,MAE/ErB,EAAA,GAAAY,EAaI,KAAAO,GAAA;QAZCX,EAAAC,EAAAC,EAAAqD,CAAA,CAAC,CAAA,iDAAA,EAAA,OAA2DhC,EAAA,MAAU,OAAM,CAAA,CAAA,IAAM,KACrF,CAAA;QAAYU,EAAA,QAAqB,KAAjCzC,EAAA,GAAAY,EAIS,QAAAQ,GAAAX,EAHPC,EAAAqD,CAAA,CAAC,CAAA,wDAAA,EAAgF,OAAAtB,EAAA,M;QAG1EjC,EAAA,MACTC,EAAGC,EAAAqD,CAAA,CAAC,CAAA,mDAAA,EAAA,OAA6D1C,EAAgB,CAAA,CAAA,GAAA,CAAA;QAAM,AAAAiC,EAAA,OAAAzC,EAAM,MAAA,MAAA,MAAA,EAAA;QAAA,AAAAyC,EAAA,OAAAzC,EAAM,MAAA,MAAA,MAAA,EAAA;QAAAL,EAAA,MACnGC,EACEC,EAAAqD,CAAA,CAAC,CAAA,qDAAA,EAA6E,OAAA1C,IAAmBoB,EAAA,M;;;;MAMvGnC,EAgBeQ,GAAA,MAAA;OAfb,SAAAV,QAAW;QAAXE,EAAWS,CAAA;QACXT,EAEe0C,GAAA,EAFA,SAAKhC,EAAO+B,GAAc,CAAA,MAAA,CAAA,E;SACvC,SAAA3C,QAA+B,CAA5BI,EAAAC,EAAAC,EAAAqD,CAAA,CAAC,CAAA,sBAAA,CAAA,GAAA,CAAA,C;;;QAGGpB,EAAA,Q,aADT3C,EAAA,GAAAC,EAUciD,GAAA;;SARX,SAASpB,EAAA;SACT,SAAKd,EAAO6B,GAAe,CAAA,MAAA,CAAA;;SAE5B,SAAAzC,QAIE,CAHAI,EAAAC,EAAAC,EAAAqD,CAAA,CAAC,CAAA,qDAAA,EAA6E,OAAA1C,IAAmBoB,EAAA,M"}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaWidgetSimpleDialog.js","names":["_sfc_main","MediaWidgetSimpleDialog_vue_vue_type_script_setup_true_lang_default","MediaWidgetSimpleDialog_default"],"sources":["../../../../../src/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport { useI18n } from 'vue-i18n'\nimport type { MediaAware } from '@/domains/dam/types/MediaAware'\n\nwithDefaults(\n defineProps<{\n modelValue: boolean\n media: null | MediaAware\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'close'): void\n}>()\n\nconst { t } = useI18n()\n\nconst onDialogModelUpdate = (newValue: boolean) => {\n if (newValue) return\n emit('close')\n}\n</script>\n\n<template>\n <VDialog\n :model-value=\"modelValue\"\n :max-width=\"500\"\n eager\n @update:model-value=\"onDialogModelUpdate\"\n >\n <VCard v-if=\"modelValue\">\n <ADialogToolbar @cancel=\"onDialogModelUpdate(false)\">\n {{ t('common.damImage.media.meta.preview') }}\n </ADialogToolbar>\n <VCardText>\n <slot\n name=\"preview\"\n :media=\"media\"\n />\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-close\"\n @click.stop=\"onDialogModelUpdate(false)\"\n >\n {{ t('common.button.close') }}\n </ABtnTertiary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"MediaWidgetSimpleDialog.js","names":["MediaWidgetSimpleDialog_vue_vue_type_script_setup_true_lang_default","MediaWidgetSimpleDialog_default"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaWidgetSimpleDialog.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createBlock","_component_VDialog","_withCtx","_component_VCard","_createVNode","ADialogToolbar","_createTextVNode","_toDisplayString","_unref","_component_VCardText","_renderSlot","_component_VCardActions","_component_VSpacer","_withModifiers","_createCommentVNode","ADialogToolbar_default","MediaWidgetSimpleDialog_vue_vue_type_script_setup_true_lang_default","__emit","emit","useI18n","onDialogModelUpdate","newValue","_component_ABtnTertiary","resolveComponent","openBlock","createBlock","VDialog","__props","withCtx","VCard","createVNode","_cache","createTextVNode","toDisplayString","unref","t","VCardText","renderSlot","_ctx","VCardActions","VSpacer","withModifiers","createCommentVNode"],"sources":["../../../../../src/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport { useI18n } from 'vue-i18n'\nimport type { MediaAware } from '@/domains/dam/types/MediaAware'\n\nwithDefaults(\n defineProps<{\n modelValue: boolean\n media: null | MediaAware\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'close'): void\n}>()\n\nconst { t } = useI18n()\n\nconst onDialogModelUpdate = (newValue: boolean) => {\n if (newValue) return\n emit('close')\n}\n</script>\n\n<template>\n <VDialog\n :model-value=\"modelValue\"\n :max-width=\"500\"\n eager\n @update:model-value=\"onDialogModelUpdate\"\n >\n <VCard v-if=\"modelValue\">\n <ADialogToolbar @cancel=\"onDialogModelUpdate(false)\">\n {{ t('common.damImage.media.meta.preview') }}\n </ADialogToolbar>\n <VCardText>\n <slot\n name=\"preview\"\n :media=\"media\"\n />\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-close\"\n @click.stop=\"onDialogModelUpdate(false)\"\n >\n {{ t('common.button.close') }}\n </ABtnTertiary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAaA,IAAMoB,IAAOD,GAIP,EAAE,SAAME,EAAQ,GAEhBC,KAAuB,MAAsB;GACjD,AAAIC,KACJH,EAAK,OAAO;EACd;;;GAIE,OAAAnB,EAAA,GAAAC,EA0BUC,GAAA;IAzBP,eAAa0B,EAAA;IACb,aAAW;IACZ,OAAA;IACC,uBAAoBP;;IAErB,SAAAlB,QAmBQ,CAnBKyB,EAAA,cAAb5B,EAAA,GAAAC,EAmBQG,GAAA,EAAA,KAAA,EAAA,GAAA;KAlBN,SAAAD,QAEiB;MAFjBE,EAEiBC,GAAA,EAFA,UAAM,AAAA0B,EAAA,QAAA,MAAEX,EAAmB,EAAA,E;OAC1C,SAAAlB,QAA6C,CAA1CI,EAAAC,EAAAC,EAAA2B,CAAA,CAAC,CAAA,oCAAA,CAAA,GAAA,CAAA,C;;;MAEN/B,EAKYK,GAAA,MAAA;OAJV,SAAAP,QAGE,CAHFQ,EAGE4B,EAAA,QAAA,WAAA,EADC,OAAOX,EAAA,MAAK,CAAA,C;;;MAGjBvB,EAQeO,GAAA,MAAA;OAPb,SAAAT,QAAW,CAAXE,EAAWQ,CAAA,GACXR,EAKekB,GAAA;QAJb,WAAQ;QACP,SAAK,AAAAS,EAAA,OAAAlB,GAAA,MAAOO,EAAmB,EAAA,GAAA,CAAA,MAAA,CAAA;;QAEhC,SAAAlB,QAA8B,CAA3BI,EAAAC,EAAAC,EAAA2B,CAAA,CAAC,CAAA,qBAAA,CAAA,GAAA,CAAA,C"}
1
+ {"version":3,"file":"MediaWidgetSimpleDialog.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VDialog","_withCtx","_component_VCard","_createVNode","ADialogToolbar","_createTextVNode","_toDisplayString","_unref","_component_VCardText","_renderSlot","_component_VCardActions","_component_VSpacer","_withModifiers","ADialogToolbar_default","MediaWidgetSimpleDialog_vue_vue_type_script_setup_true_lang_default","__emit","emit","useI18n","onDialogModelUpdate","newValue","_component_ABtnTertiary","resolveComponent","openBlock","createBlock","VDialog","__props","withCtx","VCard","createVNode","_cache","createTextVNode","toDisplayString","unref","t","VCardText","renderSlot","_ctx","VCardActions","VSpacer","withModifiers","createCommentVNode"],"sources":["../../../../../src/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport { useI18n } from 'vue-i18n'\nimport type { MediaAware } from '@/domains/dam/types/MediaAware'\n\nwithDefaults(\n defineProps<{\n modelValue: boolean\n media: null | MediaAware\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'close'): void\n}>()\n\nconst { t } = useI18n()\n\nconst onDialogModelUpdate = (newValue: boolean) => {\n if (newValue) return\n emit('close')\n}\n</script>\n\n<template>\n <VDialog\n :model-value=\"modelValue\"\n :max-width=\"500\"\n eager\n @update:model-value=\"onDialogModelUpdate\"\n >\n <VCard v-if=\"modelValue\">\n <ADialogToolbar @cancel=\"onDialogModelUpdate(false)\">\n {{ t('common.damImage.media.meta.preview') }}\n </ADialogToolbar>\n <VCardText>\n <slot\n name=\"preview\"\n :media=\"media\"\n />\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-close\"\n @click.stop=\"onDialogModelUpdate(false)\"\n >\n {{ t('common.button.close') }}\n </ABtnTertiary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAaA,IAAMkB,IAAOD,GAIP,EAAE,SAAME,EAAQ,GAEhBC,KAAuB,MAAsB;GACjD,AAAIC,KACJH,EAAK,OAAO;EACd;;;GAIE,OAAAlB,EAAA,GAAAC,EA0BUC,GAAA;IAzBP,eAAayB,EAAA;IACb,aAAW;IACZ,OAAA;IACC,uBAAoBP;;IAErB,SAAAjB,QAmBQ,CAnBKwB,EAAA,cAAb3B,EAAA,GAAAC,EAmBQG,GAAA,EAAA,KAAA,EAAA,GAAA;KAlBN,SAAAD,QAEiB;MAFjBE,EAEiBC,GAAA,EAFA,UAAM,AAAAyB,EAAA,QAAA,MAAEX,EAAmB,EAAA,E;OAC1C,SAAAjB,QAA6C,CAA1CI,EAAAC,EAAAC,EAAA0B,CAAA,CAAC,CAAA,oCAAA,CAAA,GAAA,CAAA,C;;;MAEN9B,EAKYK,GAAA,MAAA;OAJV,SAAAP,QAGE,CAHFQ,EAGE2B,EAAA,QAAA,WAAA,EADC,OAAOX,EAAA,MAAK,CAAA,C;;;MAGjBtB,EAQeO,GAAA,MAAA;OAPb,SAAAT,QAAW,CAAXE,EAAWQ,CAAA,GACXR,EAKeiB,GAAA;QAJb,WAAQ;QACP,SAAK,AAAAS,EAAA,OAAAjB,GAAA,MAAOM,EAAmB,EAAA,GAAA,CAAA,MAAA,CAAA;;QAEhC,SAAAjB,QAA8B,CAA3BI,EAAAC,EAAAC,EAAA0B,CAAA,CAAC,CAAA,qBAAA,CAAA,GAAA,CAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"DamKeywordFilterRemoteAutocomplete.js","names":["_sfc_main","DamKeywordFilterRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","DamKeywordFilterRemoteAutocomplete_default"],"sources":["../../../../../src/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useKeywordSelectActions } from '@/domains/dam/keyword/composables/keywordActions'\nimport { useKeywordInnerFilter } from '@/domains/dam/keyword/filter/KeywordFilter'\nimport AFilterRemoteAutocomplete from '@/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue'\nimport type { IntegerId } from '@/shared/types/common'\nimport { provide } from 'vue'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n name: string\n extSystem: IntegerId\n /** DAM configuration to use. Defaults to the parent component's, else `default`. */\n configName?: string\n }>(),\n {\n configName: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { fetchItems, fetchItemsByIds } = useKeywordSelectActions(props.extSystem, damConfigName)\n\nconst { filterData, filterConfig } = useKeywordInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n</script>\n\n<template>\n <AFilterRemoteAutocomplete\n :name=\"name\"\n :fetch-items=\"fetchItems\"\n :fetch-items-by-ids=\"fetchItemsByIds\"\n filter-by-field=\"text\"\n :filter-sort-by=\"null\"\n @change=\"emit('change')\"\n />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"DamKeywordFilterRemoteAutocomplete.js","names":["DamKeywordFilterRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","DamKeywordFilterRemoteAutocomplete_default"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"KeywordRemoteAutocompleteCachedKeywordChip.js","names":["_sfc_main","KeywordRemoteAutocompleteCachedKeywordChip_vue_vue_type_script_setup_true_lang_default","KeywordRemoteAutocompleteCachedKeywordChip_default"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport type { DocId } from '@/shared/types/common'\nimport { useDamCachedKeywords } from '@/domains/dam/keyword/composables/cachedKeywords'\nimport {\n libraryUploadQueueSuggestions,\n UploadQueueSuggestionsKey,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useCachedItem } from '@/domains/cached/composables/useCachedItem'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useI18n } from 'vue-i18n'\n\nconst props = withDefaults(\n defineProps<{\n id: null | DocId | undefined\n title?: string\n queueId?: string | undefined\n forceRounded?: boolean\n textOnly?: boolean\n size?: string\n containerClass?: undefined | string\n /**\n * Props of the autocomplete's chip slot. With them, closing a closable chip\n * removes its value from the autocomplete, as Vuetify's own chip does.\n * Without them the close only hides the chip.\n */\n chipProps?: Record<string, unknown>\n }>(),\n {\n queueId: undefined,\n title: '',\n forceRounded: false,\n textOnly: false,\n size: 'small',\n containerClass: 'd-inline-flex',\n chipProps: undefined,\n }\n)\n\nconst { getCachedKeyword, addToCachedKeywords, fetchCachedKeywords, pinCachedKeyword, unpinCachedKeyword } =\n useDamCachedKeywords(useDamConfigName())\n// Uses the application's queues when provided, else the library's store, created only when a chip needs it.\nconst suggestionsOf = inject(UploadQueueSuggestionsKey, null) ?? libraryUploadQueueSuggestions\n\nconst { cached, loaded, unresolved } = useCachedItem(() => getCachedKeyword(props.id), {\n // Pins the shown name in the cache. A chip given a title shows no cached name.\n id: () => (props.title.length > 0 ? null : props.id),\n pin: pinCachedKeyword,\n unpin: unpinCachedKeyword,\n askFor: (id) => {\n addToCachedKeywords([id])\n fetchCachedKeywords()\n },\n})\n\nconst displayNewIcon = computed(() => {\n if (!props.queueId || !cached.value) return undefined\n const suggestions = suggestionsOf(props.queueId)\n if (!suggestions) return undefined\n if (suggestions.newKeywordNames.has(cached.value.name)) return 'mdi-new-box'\n return undefined\n})\n\nconst displayTitle = computed(() => {\n if (props.title.length > 0) return props.title\n // A keyword the server did not return has only its id to show.\n if (unresolved.value) return '#' + props.id\n if (cached.value) {\n return cached.value.name\n }\n return ''\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <div :class=\"containerClass\">\n <template v-if=\"isNull(id) || isUndefined(id)\">\n <slot name=\"empty\">-</slot>\n </template>\n <div\n v-else-if=\"textOnly\"\n :title=\"unresolved ? t('common.model.cachedUnavailable') : undefined\"\n >\n {{ displayTitle }}\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </div>\n <VChip\n v-else\n v-bind=\"chipProps\"\n :size=\"size\"\n :append-icon=\"displayNewIcon\"\n :label=\"forceRounded ? undefined : true\"\n close-label=\"common.button.remove\"\n >\n {{ displayTitle }}\n <VTooltip\n v-if=\"unresolved\"\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.model.cachedUnavailable') }}\n </VTooltip>\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </VChip>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"KeywordRemoteAutocompleteCachedKeywordChip.js","names":["KeywordRemoteAutocompleteCachedKeywordChip_vue_vue_type_script_setup_true_lang_default","KeywordRemoteAutocompleteCachedKeywordChip_default"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot","_createTextVNode","_toDisplayString","_createBlock","_component_VProgressCircular","_createCommentVNode","_component_VChip","_mergeProps","_withCtx","_component_VTooltip","_hoisted_1","KeywordRemoteAutocompleteCachedKeywordChip_vue_vue_type_script_setup_true_lang_default","props","__props","useDamCachedKeywords","useDamConfigName","suggestionsOf","inject","UploadQueueSuggestionsKey","libraryUploadQueueSuggestions","useCachedItem","getCachedKeyword","pinCachedKeyword","unpinCachedKeyword","addToCachedKeywords","id","fetchCachedKeywords","displayNewIcon","computed","cached","suggestions","displayTitle","unresolved","useI18n","openBlock","createElementBlock","normalizeClass","unref","isNull","isUndefined","renderSlot","_ctx","_cache","createTextVNode","t","toDisplayString","loaded","createBlock","VProgressCircular","createCommentVNode","VChip","mergeProps","withCtx","VTooltip"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport type { DocId } from '@/shared/types/common'\nimport { useDamCachedKeywords } from '@/domains/dam/keyword/composables/cachedKeywords'\nimport {\n libraryUploadQueueSuggestions,\n UploadQueueSuggestionsKey,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useCachedItem } from '@/domains/cached/composables/useCachedItem'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useI18n } from 'vue-i18n'\n\nconst props = withDefaults(\n defineProps<{\n id: null | DocId | undefined\n title?: string\n queueId?: string | undefined\n forceRounded?: boolean\n textOnly?: boolean\n size?: string\n containerClass?: undefined | string\n /**\n * Props of the autocomplete's chip slot. With them, closing a closable chip\n * removes its value from the autocomplete, as Vuetify's own chip does.\n * Without them the close only hides the chip.\n */\n chipProps?: Record<string, unknown>\n }>(),\n {\n queueId: undefined,\n title: '',\n forceRounded: false,\n textOnly: false,\n size: 'small',\n containerClass: 'd-inline-flex',\n chipProps: undefined,\n }\n)\n\nconst { getCachedKeyword, addToCachedKeywords, fetchCachedKeywords, pinCachedKeyword, unpinCachedKeyword } =\n useDamCachedKeywords(useDamConfigName())\n// Uses the application's queues when provided, else the library's store, created only when a chip needs it.\nconst suggestionsOf = inject(UploadQueueSuggestionsKey, null) ?? libraryUploadQueueSuggestions\n\nconst { cached, loaded, unresolved } = useCachedItem(() => getCachedKeyword(props.id), {\n // Pins the shown name in the cache. A chip given a title shows no cached name.\n id: () => (props.title.length > 0 ? null : props.id),\n pin: pinCachedKeyword,\n unpin: unpinCachedKeyword,\n askFor: (id) => {\n addToCachedKeywords([id])\n fetchCachedKeywords()\n },\n})\n\nconst displayNewIcon = computed(() => {\n if (!props.queueId || !cached.value) return undefined\n const suggestions = suggestionsOf(props.queueId)\n if (!suggestions) return undefined\n if (suggestions.newKeywordNames.has(cached.value.name)) return 'mdi-new-box'\n return undefined\n})\n\nconst displayTitle = computed(() => {\n if (props.title.length > 0) return props.title\n // A keyword the server did not return has only its id to show.\n if (unresolved.value) return '#' + props.id\n if (cached.value) {\n return cached.value.name\n }\n return ''\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <div :class=\"containerClass\">\n <template v-if=\"isNull(id) || isUndefined(id)\">\n <slot name=\"empty\">-</slot>\n </template>\n <div\n v-else-if=\"textOnly\"\n :title=\"unresolved ? t('common.model.cachedUnavailable') : undefined\"\n >\n {{ displayTitle }}\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </div>\n <VChip\n v-else\n v-bind=\"chipProps\"\n :size=\"size\"\n :append-icon=\"displayNewIcon\"\n :label=\"forceRounded ? undefined : true\"\n close-label=\"common.button.remove\"\n >\n {{ displayTitle }}\n <VTooltip\n v-if=\"unresolved\"\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.model.cachedUnavailable') }}\n </VTooltip>\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </VChip>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaA,IAAMgB,IAAQC,GA2BR,EAAE,qBAAkB,wBAAqB,wBAAqB,qBAAkB,0BACpFC,EAAqBC,EAAiB,CAAC,GAEnCC,IAAgBC,EAAOC,GAA2B,IAAI,KAAKC,GAE3D,EAAE,WAAQ,WAAQ,kBAAeC,QAAoBC,EAAiBT,EAAM,EAAE,GAAG;GAErF,UAAWA,EAAM,MAAM,SAAS,IAAI,OAAOA,EAAM;GACjD,KAAKU;GACL,OAAOC;GACP,SAAS,MAAO;IAEd,AADAC,EAAoB,CAACC,CAAE,CAAC,GACxBC,EAAoB;GACtB;EACF,CAAC,GAEKC,IAAiBC,QAAe;GACpC,IAAI,CAAChB,EAAM,WAAW,CAACiB,EAAO,OAAO;GACrC,IAAMC,IAAcd,EAAcJ,EAAM,OAAO;GAC/C,IAAKkB,KACDA,EAAY,gBAAgB,IAAID,EAAO,MAAM,IAAI,GAAG,OAAO;EAEjE,CAAC,GAEKE,IAAeH,QACfhB,EAAM,MAAM,SAAS,IAAUA,EAAM,QAErCoB,EAAW,QAAc,MAAMpB,EAAM,KACrCiB,EAAO,QACFA,EAAO,MAAM,OAEf,EACR,GAEK,EAAE,SAAMI,EAAQ;E,kBAIpBrC,EAAA,GAAAC,EAyCM,OAAA,EAzCA,OAAKC,EAAEe,EAAA,cAAc,E,IACTd,EAAAuC,CAAA,CAAM,CAACzB,EAAA,EAAE,KAAKd,EAAAwC,CAAA,CAAW,CAAC1B,EAAA,EAAE,IAC1Cb,EAA2ByC,EAAA,QAAA,SAAA,CAAA,SAAA,CAAR,AAAAC,EAAA,OAAAzC,EAAA,KAAC,EAAA,C,gBAGTY,EAAA,YADbjB,EAAA,GAAAC,EAYM,OAAA;;GAVH,OAAOE,EAAAiC,CAAA,IAAajC,EAAA6C,CAAA,CAAC,CAAA,gCAAA,IAAqC,KAAA;E,IAExD3C,EAAAC,EAAA6B,EAAA,KAAY,IAAG,KAClB,CAAA,GACS,CAAAhC,EAAA+C,CAAA,KAAUjC,EAAA,MAAM,WAAM,KAD/BjB,EAAA,GAAAO,EAMEC,GAAA;;GAJC,MAAM;GACN,OAAO;GACR,eAAA;GACA,OAAM;E,4BAGVR,EAAA,GAAAO,EAuBQG,GAvBRC,EAuBQ,EAAA,KAAA,EAAA,GArBEM,EAAA,WAAS;GAChB,MAAMA,EAAA;GACN,eAAac,EAAA;GACb,OAAO,GAAA,gBAAe,KAAA;GACvB,eAAY;;GAEZ,SAAAnB,QAAkB;IAAfP,EAAAC,EAAA6B,EAAA,KAAY,IAAG,KAClB,CAAA;IACQhC,EAAAiC,CAAA,KADRpC,EAAA,GAAAO,EAMWM,GAAA;;KAJT,WAAU;KACV,UAAS;;KAET,SAAAD,QAAyC,CAAtCP,EAAAC,EAAAH,EAAA6C,CAAA,CAAC,CAAA,gCAAA,CAAA,GAAA,CAAA,C;;;IAGG,CAAA7C,EAAA+C,CAAA,KAAUjC,EAAA,MAAM,WAAM,KAD/BjB,EAAA,GAAAO,EAMEC,GAAA;;KAJC,MAAM;KACN,OAAO;KACR,eAAA;KACA,OAAM"}
1
+ {"version":3,"file":"KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot","_createTextVNode","_toDisplayString","_createBlock","_component_VProgressCircular","_component_VChip","_mergeProps","_withCtx","_component_VTooltip","_hoisted_1","KeywordRemoteAutocompleteCachedKeywordChip_vue_vue_type_script_setup_true_lang_default","props","__props","useDamCachedKeywords","useDamConfigName","suggestionsOf","inject","UploadQueueSuggestionsKey","libraryUploadQueueSuggestions","useCachedItem","getCachedKeyword","pinCachedKeyword","unpinCachedKeyword","addToCachedKeywords","id","fetchCachedKeywords","displayNewIcon","computed","cached","suggestions","displayTitle","unresolved","useI18n","openBlock","createElementBlock","normalizeClass","unref","isNull","isUndefined","renderSlot","_ctx","_cache","createTextVNode","t","toDisplayString","loaded","createBlock","VProgressCircular","createCommentVNode","VChip","mergeProps","withCtx","VTooltip"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport type { DocId } from '@/shared/types/common'\nimport { useDamCachedKeywords } from '@/domains/dam/keyword/composables/cachedKeywords'\nimport {\n libraryUploadQueueSuggestions,\n UploadQueueSuggestionsKey,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useCachedItem } from '@/domains/cached/composables/useCachedItem'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useI18n } from 'vue-i18n'\n\nconst props = withDefaults(\n defineProps<{\n id: null | DocId | undefined\n title?: string\n queueId?: string | undefined\n forceRounded?: boolean\n textOnly?: boolean\n size?: string\n containerClass?: undefined | string\n /**\n * Props of the autocomplete's chip slot. With them, closing a closable chip\n * removes its value from the autocomplete, as Vuetify's own chip does.\n * Without them the close only hides the chip.\n */\n chipProps?: Record<string, unknown>\n }>(),\n {\n queueId: undefined,\n title: '',\n forceRounded: false,\n textOnly: false,\n size: 'small',\n containerClass: 'd-inline-flex',\n chipProps: undefined,\n }\n)\n\nconst { getCachedKeyword, addToCachedKeywords, fetchCachedKeywords, pinCachedKeyword, unpinCachedKeyword } =\n useDamCachedKeywords(useDamConfigName())\n// Uses the application's queues when provided, else the library's store, created only when a chip needs it.\nconst suggestionsOf = inject(UploadQueueSuggestionsKey, null) ?? libraryUploadQueueSuggestions\n\nconst { cached, loaded, unresolved } = useCachedItem(() => getCachedKeyword(props.id), {\n // Pins the shown name in the cache. A chip given a title shows no cached name.\n id: () => (props.title.length > 0 ? null : props.id),\n pin: pinCachedKeyword,\n unpin: unpinCachedKeyword,\n askFor: (id) => {\n addToCachedKeywords([id])\n fetchCachedKeywords()\n },\n})\n\nconst displayNewIcon = computed(() => {\n if (!props.queueId || !cached.value) return undefined\n const suggestions = suggestionsOf(props.queueId)\n if (!suggestions) return undefined\n if (suggestions.newKeywordNames.has(cached.value.name)) return 'mdi-new-box'\n return undefined\n})\n\nconst displayTitle = computed(() => {\n if (props.title.length > 0) return props.title\n // A keyword the server did not return has only its id to show.\n if (unresolved.value) return '#' + props.id\n if (cached.value) {\n return cached.value.name\n }\n return ''\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <div :class=\"containerClass\">\n <template v-if=\"isNull(id) || isUndefined(id)\">\n <slot name=\"empty\">-</slot>\n </template>\n <div\n v-else-if=\"textOnly\"\n :title=\"unresolved ? t('common.model.cachedUnavailable') : undefined\"\n >\n {{ displayTitle }}\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </div>\n <VChip\n v-else\n v-bind=\"chipProps\"\n :size=\"size\"\n :append-icon=\"displayNewIcon\"\n :label=\"forceRounded ? undefined : true\"\n close-label=\"common.button.remove\"\n >\n {{ displayTitle }}\n <VTooltip\n v-if=\"unresolved\"\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.model.cachedUnavailable') }}\n </VTooltip>\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </VChip>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaA,IAAMe,IAAQC,GA2BR,EAAE,qBAAkB,wBAAqB,wBAAqB,qBAAkB,0BACpFC,EAAqBC,EAAiB,CAAC,GAEnCC,IAAgBC,EAAOC,GAA2B,IAAI,KAAKC,GAE3D,EAAE,WAAQ,WAAQ,kBAAeC,QAAoBC,EAAiBT,EAAM,EAAE,GAAG;GAErF,UAAWA,EAAM,MAAM,SAAS,IAAI,OAAOA,EAAM;GACjD,KAAKU;GACL,OAAOC;GACP,SAAS,MAAO;IAEd,AADAC,EAAoB,CAACC,CAAE,CAAC,GACxBC,EAAoB;GACtB;EACF,CAAC,GAEKC,IAAiBC,QAAe;GACpC,IAAI,CAAChB,EAAM,WAAW,CAACiB,EAAO,OAAO;GACrC,IAAMC,IAAcd,EAAcJ,EAAM,OAAO;GAC/C,IAAKkB,KACDA,EAAY,gBAAgB,IAAID,EAAO,MAAM,IAAI,GAAG,OAAO;EAEjE,CAAC,GAEKE,IAAeH,QACfhB,EAAM,MAAM,SAAS,IAAUA,EAAM,QAErCoB,EAAW,QAAc,MAAMpB,EAAM,KACrCiB,EAAO,QACFA,EAAO,MAAM,OAEf,EACR,GAEK,EAAE,SAAMI,EAAQ;E,kBAIpBpC,EAAA,GAAAC,EAyCM,OAAA,EAzCA,OAAKC,EAAEc,EAAA,cAAc,E,IACTb,EAAAsC,CAAA,CAAM,CAACzB,EAAA,EAAE,KAAKb,EAAAuC,CAAA,CAAW,CAAC1B,EAAA,EAAE,IAC1CZ,EAA2BwC,EAAA,QAAA,SAAA,CAAA,SAAA,CAAR,AAAAC,EAAA,OAAAxC,EAAA,KAAC,EAAA,C,gBAGTW,EAAA,YADbhB,EAAA,GAAAC,EAYM,OAAA;;GAVH,OAAOE,EAAAgC,CAAA,IAAahC,EAAA4C,CAAA,CAAC,CAAA,gCAAA,IAAqC,KAAA;E,IAExD1C,EAAAC,EAAA4B,EAAA,KAAY,IAAG,KAClB,CAAA,GACS,CAAA/B,EAAA8C,CAAA,KAAUjC,EAAA,MAAM,WAAM,KAD/BhB,EAAA,GAAAO,EAMEC,GAAA;;GAJC,MAAM;GACN,OAAO;GACR,eAAA;GACA,OAAM;E,4BAGVR,EAAA,GAAAO,EAuBQE,GAvBRC,EAuBQ,EAAA,KAAA,EAAA,GArBEM,EAAA,WAAS;GAChB,MAAMA,EAAA;GACN,eAAac,EAAA;GACb,OAAO,GAAA,gBAAe,KAAA;GACvB,eAAY;;GAEZ,SAAAnB,QAAkB;IAAfN,EAAAC,EAAA4B,EAAA,KAAY,IAAG,KAClB,CAAA;IACQ/B,EAAAgC,CAAA,KADRnC,EAAA,GAAAO,EAMWK,GAAA;;KAJT,WAAU;KACV,UAAS;;KAET,SAAAD,QAAyC,CAAtCN,EAAAC,EAAAH,EAAA4C,CAAA,CAAC,CAAA,gCAAA,CAAA,GAAA,CAAA,C;;;IAGG,CAAA5C,EAAA8C,CAAA,KAAUjC,EAAA,MAAM,WAAM,KAD/BhB,EAAA,GAAAO,EAMEC,GAAA;;KAJC,MAAM;KACN,OAAO;KACR,eAAA;KACA,OAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeywordRemoteAutocompleteWithCached.js","names":["_sfc_main","KeywordRemoteAutocompleteWithCached_vue_vue_type_script_setup_true_lang_default","_plugin_vue_export_helper_default","KeywordRemoteAutocompleteWithCached_default"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { computed, provide, ref } from 'vue'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport useVuelidate from '@vuelidate/core'\nimport { useKeywordSelectActions } from '@/domains/dam/keyword/composables/keywordActions'\nimport {\n useCachedKeywordsForRemoteAutocomplete,\n useDamCachedKeywords,\n} from '@/domains/dam/keyword/composables/cachedKeywords'\nimport type { DamKeyword } from '@/domains/dam/keyword/types/DamKeyword'\nimport { isArray, isUndefined } from '@/shared/utils/common'\nimport AFormRemoteAutocompleteWithCached from '@/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteCachedKeywordChip from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue'\nimport { createKeyword } from '@/domains/dam/keyword/api/keywordApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useDamKeywordFactory } from '@/domains/dam/keyword/factory/KeywordFactory'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useKeywordInnerFilter } from '@/domains/dam/keyword/filter/KeywordFilter'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { useAclAllowed } from '@/domains/auth/composables/aclAllowed'\nimport type { DamFieldsDisabledAs } from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DocId | null | DocId[] | any\n extSystem: IntegerId\n queueId?: string | undefined\n label?: string | undefined\n required?: boolean | null\n disabled?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n validationScope?: ValidationScope\n /** How it looks while disabled: keyword chips (current library behaviour), or the input switched off. */\n disabledAs?: DamFieldsDisabledAs\n /** DAM configuration to use. Defaults to the parent component's, else `default`. */\n configName?: string\n }>(),\n {\n label: undefined,\n queueId: undefined,\n required: null,\n disabled: undefined,\n multiple: false,\n clearable: false,\n dataCy: undefined,\n validationScope: undefined,\n disabledAs: 'chips',\n configName: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DocId | null | DocId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue) {\n emit('update:modelValue', [...newValue])\n },\n})\n\nconst search = ref<string>('')\nconst loadingLocal = ref(false)\nconst fetchedItemsMinimal = ref<Map<IntegerId | DocId, any>>(new Map())\n\nconst requiredComputed = computed(() => !!props.required)\n\nconst { requiredIf } = useValidate()\n\nconst rules = {\n modelValueComputed: {\n required: requiredIf(requiredComputed),\n },\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate(rules, { modelValueComputed }, { $scope: props.validationScope })\n\nconst { damClient, endPointKeyword, keywordCreateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst createAllowed = useAclAllowed(keywordCreateAcl ?? undefined)\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, damConfigName)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configExtSystem = getDamConfigExtSystem(props.extSystem)\nif (isUndefined(configExtSystem)) {\n throw new Error('KeywordRemoteAutocompleteWithCached: Ext system must be initialised.')\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { fetchItemsMinimal } = useKeywordSelectActions(props.extSystem, damConfigName)\n\nconst { filterData, filterConfig } = useKeywordInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n\nconst addNewKeywordText = ref('')\n\nconst searchChange = (newValue: string) => {\n if (newValue.length > 0) addNewKeywordText.value = removeLastComma(newValue)\n}\n\nconst { addManualToCachedKeywords } = useDamCachedKeywords(damConfigName)\n// The inner input reads this cache only once.\nconst useCachedOfName = () => useCachedKeywordsForRemoteAutocomplete(damConfigName)\n\nconst afterCreate = (keyword: DamKeyword) => {\n addManualToCachedKeywords(keyword)\n if (isArray(modelValueComputed.value)) {\n modelValueComputed.value = [...modelValueComputed.value, keyword.id]\n search.value = ''\n return\n }\n modelValueComputed.value = keyword.id\n search.value = ''\n}\n\nconst itemSlotIsSelected = (item: DocId) => {\n if (isArray(modelValueComputed.value)) {\n return modelValueComputed.value.includes(item)\n } else if (modelValueComputed.value) {\n return modelValueComputed.value === item\n }\n return false\n}\n\nconst { showErrorsDefault } = useAlerts()\nconst { createDefault } = useDamKeywordFactory()\n\nconst createOrSelectKeyword = async (name: string) => {\n const keywordCreate = createDefault(props.extSystem, true)\n keywordCreate.name = removeLastComma(name)\n if (keywordCreate.name.length < 2) return\n try {\n const keywordRes = await createKeyword(damClient, endPointKeyword, keywordCreate)\n afterCreate(keywordRes)\n } catch (error) {\n showErrorsDefault(error)\n }\n}\n\nconst removeLastComma = (value: string) => {\n if (value.endsWith(',')) return value.slice(0, -1)\n return value\n}\n\nconst onEnterKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst onCommaKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst showAdd = computed(() => {\n if (!createAllowed.value) return false\n if (loadingLocal.value) return false\n if (search.value.length < 2 || search.value.length > 255) return false\n if (fetchedItemsMinimal.value.size === 0) return true\n return ![...fetchedItemsMinimal.value.values()].some(\n (item) => item.name?.toLowerCase() === search.value!.toLowerCase()\n )\n})\n</script>\n\n<template>\n <div class=\"d-flex\">\n <ARow\n v-if=\"disabled && disabledAs === 'chips' && multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-for=\"id in modelValueComputed\"\n :id=\"id\"\n :key=\"id\"\n :queue-id=\"queueId\"\n force-rounded\n class=\"mr-1 mb-1\"\n />\n </ARow>\n <ARow\n v-else-if=\"disabled && disabledAs === 'chips' && !multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"modelValueComputed\"\n :key=\"modelValueComputed\"\n :queue-id=\"queueId\"\n force-rounded\n />\n </ARow>\n <AFormRemoteAutocompleteWithCached\n v-else\n v-model=\"modelValueComputed\"\n v-model:search=\"search\"\n v-model:loading-local=\"loadingLocal\"\n v-model:fetched-items-minimal=\"fetchedItemsMinimal\"\n :use-cached=\"useCachedOfName\"\n :v=\"v$\"\n :required=\"requiredComputed\"\n :label=\"label\"\n :fetch-items-minimal=\"fetchItemsMinimal\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :disabled=\"disabled || undefined\"\n filter-by-field=\"text\"\n :filter-sort-by=\"null\"\n item-title=\"name\"\n item-value=\"id\"\n :data-cy=\"dataCy\"\n :min-search-chars=\"2\"\n min-search-text=\"common.damImage.keyword.filterMinChars\"\n @search-change=\"searchChange\"\n @keyup.enter=\"onEnterKeyup\"\n @keyup.,=\"onCommaKeyup\"\n >\n <template #item=\"{ props: itemSlotProps, item: itemSlotItem }\">\n <VListItem\n v-if=\"itemSlotItem\"\n v-bind=\"itemSlotProps\"\n @click.prevent=\"\"\n >\n <template\n v-if=\"multiple\"\n #prepend\n >\n <VCheckboxBtn\n :model-value=\"itemSlotIsSelected(itemSlotItem.value)\"\n :ripple=\"false\"\n />\n </template>\n <template #title>\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"itemSlotItem.value\"\n :key=\"itemSlotItem.value\"\n :queue-id=\"queueId\"\n :title=\"itemSlotItem.title\"\n text-only\n />\n </template>\n </VListItem>\n </template>\n <!--\n Pass only the chip's close. Its other props (`onMousedown`)\n would stop a press on the chip from opening the list.\n -->\n <template #chip=\"{ props: chipSlotProps, item: chipSlotItem }\">\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-if=\"chipSlotItem\"\n :id=\"chipSlotItem.value\"\n :key=\"chipSlotItem.value\"\n :chip-props=\"{ 'onClick:close': chipSlotProps['onClick:close'] }\"\n :queue-id=\"queueId\"\n :title=\"chipSlotItem.title\"\n force-rounded\n />\n </template>\n <template #append-item>\n <VListItem\n v-if=\"showAdd\"\n class=\"a-keywords-append-item\"\n >\n <ABtnSecondary\n size=\"small\"\n :text=\"addNewKeywordText\"\n prepend-icon=\"mdi-plus-circle\"\n @click.stop=\"onCommaKeyup\"\n />\n </VListItem>\n </template>\n </AFormRemoteAutocompleteWithCached>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.a-keywords-append-item {\n position: sticky;\n bottom: 0;\n // Use the menu surface color. A white bar showed in the dark theme.\n background-color: rgb(var(--v-theme-surface));\n transform: translateY(8px);\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"KeywordRemoteAutocompleteWithCached.js","names":["KeywordRemoteAutocompleteWithCached_vue_vue_type_script_setup_true_lang_default","_plugin_vue_export_helper_default","KeywordRemoteAutocompleteWithCached_default"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createElementBlock","_createBlock","ARow","_withCtx","_Fragment","_renderList","KeywordRemoteAutocompleteCachedKeywordChip","AFormRemoteAutocompleteWithCached","_unref","_withKeys","_component_VListItem","_mergeProps","_withModifiers","_createSlots","_createVNode","_component_VCheckboxBtn","_createCommentVNode","AFormRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteCachedKeywordChip_default","ARow_default","useVuelidate","_hoisted_1","KeywordRemoteAutocompleteWithCached_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","modelValueComputed","computed","newValue","search","ref","loadingLocal","fetchedItemsMinimal","requiredComputed","useValidate","rules","requiredIf","v$","useCommonAdminCoreDamOptions","createAllowed","useAclAllowed","keywordCreateAcl","useDamConfigState","configExtSystem","getDamConfigExtSystem","isUndefined","useKeywordSelectActions","useKeywordInnerFilter","provide","FilterInnerConfigKey","filterConfig","FilterInnerDataKey","filterData","addNewKeywordText","searchChange","removeLastComma","useDamCachedKeywords","useCachedOfName","useCachedKeywordsForRemoteAutocomplete","afterCreate","addManualToCachedKeywords","keyword","isArray","itemSlotIsSelected","item","useAlerts","useDamKeywordFactory","createOrSelectKeyword","keywordCreate","createDefault","name","keywordRes","createKeyword","damClient","endPointKeyword","error","value","onEnterKeyup","onCommaKeyup","showAdd","_component_ABtnSecondary","resolveComponent","openBlock","createElementBlock","createBlock","withCtx","Fragment","renderList","id","_cache","$event","unref","fetchItemsMinimal","withKeys","itemSlotProps","itemSlotItem","VListItem","mergeProps","withModifiers","createSlots","createVNode","VCheckboxBtn","createCommentVNode","chipSlotProps","chipSlotItem"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { computed, provide, ref } from 'vue'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport useVuelidate from '@vuelidate/core'\nimport { useKeywordSelectActions } from '@/domains/dam/keyword/composables/keywordActions'\nimport {\n useCachedKeywordsForRemoteAutocomplete,\n useDamCachedKeywords,\n} from '@/domains/dam/keyword/composables/cachedKeywords'\nimport type { DamKeyword } from '@/domains/dam/keyword/types/DamKeyword'\nimport { isArray, isUndefined } from '@/shared/utils/common'\nimport AFormRemoteAutocompleteWithCached from '@/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteCachedKeywordChip from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue'\nimport { createKeyword } from '@/domains/dam/keyword/api/keywordApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useDamKeywordFactory } from '@/domains/dam/keyword/factory/KeywordFactory'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useKeywordInnerFilter } from '@/domains/dam/keyword/filter/KeywordFilter'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { useAclAllowed } from '@/domains/auth/composables/aclAllowed'\nimport type { DamFieldsDisabledAs } from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DocId | null | DocId[] | any\n extSystem: IntegerId\n queueId?: string | undefined\n label?: string | undefined\n required?: boolean | null\n disabled?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n validationScope?: ValidationScope\n /** How it looks while disabled: keyword chips (current library behaviour), or the input switched off. */\n disabledAs?: DamFieldsDisabledAs\n /** DAM configuration to use. Defaults to the parent component's, else `default`. */\n configName?: string\n }>(),\n {\n label: undefined,\n queueId: undefined,\n required: null,\n disabled: undefined,\n multiple: false,\n clearable: false,\n dataCy: undefined,\n validationScope: undefined,\n disabledAs: 'chips',\n configName: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DocId | null | DocId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue) {\n emit('update:modelValue', [...newValue])\n },\n})\n\nconst search = ref<string>('')\nconst loadingLocal = ref(false)\nconst fetchedItemsMinimal = ref<Map<IntegerId | DocId, any>>(new Map())\n\nconst requiredComputed = computed(() => !!props.required)\n\nconst { requiredIf } = useValidate()\n\nconst rules = {\n modelValueComputed: {\n required: requiredIf(requiredComputed),\n },\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate(rules, { modelValueComputed }, { $scope: props.validationScope })\n\nconst { damClient, endPointKeyword, keywordCreateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst createAllowed = useAclAllowed(keywordCreateAcl ?? undefined)\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, damConfigName)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configExtSystem = getDamConfigExtSystem(props.extSystem)\nif (isUndefined(configExtSystem)) {\n throw new Error('KeywordRemoteAutocompleteWithCached: Ext system must be initialised.')\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { fetchItemsMinimal } = useKeywordSelectActions(props.extSystem, damConfigName)\n\nconst { filterData, filterConfig } = useKeywordInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n\nconst addNewKeywordText = ref('')\n\nconst searchChange = (newValue: string) => {\n if (newValue.length > 0) addNewKeywordText.value = removeLastComma(newValue)\n}\n\nconst { addManualToCachedKeywords } = useDamCachedKeywords(damConfigName)\n// The inner input reads this cache only once.\nconst useCachedOfName = () => useCachedKeywordsForRemoteAutocomplete(damConfigName)\n\nconst afterCreate = (keyword: DamKeyword) => {\n addManualToCachedKeywords(keyword)\n if (isArray(modelValueComputed.value)) {\n modelValueComputed.value = [...modelValueComputed.value, keyword.id]\n search.value = ''\n return\n }\n modelValueComputed.value = keyword.id\n search.value = ''\n}\n\nconst itemSlotIsSelected = (item: DocId) => {\n if (isArray(modelValueComputed.value)) {\n return modelValueComputed.value.includes(item)\n } else if (modelValueComputed.value) {\n return modelValueComputed.value === item\n }\n return false\n}\n\nconst { showErrorsDefault } = useAlerts()\nconst { createDefault } = useDamKeywordFactory()\n\nconst createOrSelectKeyword = async (name: string) => {\n const keywordCreate = createDefault(props.extSystem, true)\n keywordCreate.name = removeLastComma(name)\n if (keywordCreate.name.length < 2) return\n try {\n const keywordRes = await createKeyword(damClient, endPointKeyword, keywordCreate)\n afterCreate(keywordRes)\n } catch (error) {\n showErrorsDefault(error)\n }\n}\n\nconst removeLastComma = (value: string) => {\n if (value.endsWith(',')) return value.slice(0, -1)\n return value\n}\n\nconst onEnterKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst onCommaKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst showAdd = computed(() => {\n if (!createAllowed.value) return false\n if (loadingLocal.value) return false\n if (search.value.length < 2 || search.value.length > 255) return false\n if (fetchedItemsMinimal.value.size === 0) return true\n return ![...fetchedItemsMinimal.value.values()].some(\n (item) => item.name?.toLowerCase() === search.value!.toLowerCase()\n )\n})\n</script>\n\n<template>\n <div class=\"d-flex\">\n <ARow\n v-if=\"disabled && disabledAs === 'chips' && multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-for=\"id in modelValueComputed\"\n :id=\"id\"\n :key=\"id\"\n :queue-id=\"queueId\"\n force-rounded\n class=\"mr-1 mb-1\"\n />\n </ARow>\n <ARow\n v-else-if=\"disabled && disabledAs === 'chips' && !multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"modelValueComputed\"\n :key=\"modelValueComputed\"\n :queue-id=\"queueId\"\n force-rounded\n />\n </ARow>\n <AFormRemoteAutocompleteWithCached\n v-else\n v-model=\"modelValueComputed\"\n v-model:search=\"search\"\n v-model:loading-local=\"loadingLocal\"\n v-model:fetched-items-minimal=\"fetchedItemsMinimal\"\n :use-cached=\"useCachedOfName\"\n :v=\"v$\"\n :required=\"requiredComputed\"\n :label=\"label\"\n :fetch-items-minimal=\"fetchItemsMinimal\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :disabled=\"disabled || undefined\"\n filter-by-field=\"text\"\n :filter-sort-by=\"null\"\n item-title=\"name\"\n item-value=\"id\"\n :data-cy=\"dataCy\"\n :min-search-chars=\"2\"\n min-search-text=\"common.damImage.keyword.filterMinChars\"\n @search-change=\"searchChange\"\n @keyup.enter=\"onEnterKeyup\"\n @keyup.,=\"onCommaKeyup\"\n >\n <template #item=\"{ props: itemSlotProps, item: itemSlotItem }\">\n <VListItem\n v-if=\"itemSlotItem\"\n v-bind=\"itemSlotProps\"\n @click.prevent=\"\"\n >\n <template\n v-if=\"multiple\"\n #prepend\n >\n <VCheckboxBtn\n :model-value=\"itemSlotIsSelected(itemSlotItem.value)\"\n :ripple=\"false\"\n />\n </template>\n <template #title>\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"itemSlotItem.value\"\n :key=\"itemSlotItem.value\"\n :queue-id=\"queueId\"\n :title=\"itemSlotItem.title\"\n text-only\n />\n </template>\n </VListItem>\n </template>\n <!--\n Pass only the chip's close. Its other props (`onMousedown`)\n would stop a press on the chip from opening the list.\n -->\n <template #chip=\"{ props: chipSlotProps, item: chipSlotItem }\">\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-if=\"chipSlotItem\"\n :id=\"chipSlotItem.value\"\n :key=\"chipSlotItem.value\"\n :chip-props=\"{ 'onClick:close': chipSlotProps['onClick:close'] }\"\n :queue-id=\"queueId\"\n :title=\"chipSlotItem.title\"\n force-rounded\n />\n </template>\n <template #append-item>\n <VListItem\n v-if=\"showAdd\"\n class=\"a-keywords-append-item\"\n >\n <ABtnSecondary\n size=\"small\"\n :text=\"addNewKeywordText\"\n prepend-icon=\"mdi-plus-circle\"\n @click.stop=\"onCommaKeyup\"\n />\n </VListItem>\n </template>\n </AFormRemoteAutocompleteWithCached>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.a-keywords-append-item {\n position: sticky;\n bottom: 0;\n // Use the menu surface color. A white bar showed in the dark theme.\n background-color: rgb(var(--v-theme-surface));\n transform: translateY(8px);\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_createBlock","ARow","_withCtx","_Fragment","_renderList","KeywordRemoteAutocompleteCachedKeywordChip","AFormRemoteAutocompleteWithCached","_unref","_withKeys","_component_VListItem","_mergeProps","_withModifiers","_createVNode","_component_VCheckboxBtn","AFormRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteCachedKeywordChip_default","ARow_default","useVuelidate","_hoisted_1","KeywordRemoteAutocompleteWithCached_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","modelValueComputed","computed","newValue","search","ref","loadingLocal","fetchedItemsMinimal","requiredComputed","useValidate","rules","requiredIf","v$","useCommonAdminCoreDamOptions","createAllowed","useAclAllowed","keywordCreateAcl","useDamConfigState","configExtSystem","getDamConfigExtSystem","isUndefined","useKeywordSelectActions","useKeywordInnerFilter","provide","FilterInnerConfigKey","filterConfig","FilterInnerDataKey","filterData","addNewKeywordText","searchChange","removeLastComma","useDamCachedKeywords","useCachedOfName","useCachedKeywordsForRemoteAutocomplete","afterCreate","addManualToCachedKeywords","keyword","isArray","itemSlotIsSelected","item","useAlerts","useDamKeywordFactory","createOrSelectKeyword","keywordCreate","createDefault","name","keywordRes","createKeyword","damClient","endPointKeyword","error","value","onEnterKeyup","onCommaKeyup","showAdd","_component_ABtnSecondary","resolveComponent","openBlock","createElementBlock","createBlock","withCtx","Fragment","renderList","id","_cache","$event","unref","fetchItemsMinimal","withKeys","itemSlotProps","itemSlotItem","VListItem","mergeProps","withModifiers","createSlots","createVNode","VCheckboxBtn","createCommentVNode","chipSlotProps","chipSlotItem"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { computed, provide, ref } from 'vue'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport useVuelidate from '@vuelidate/core'\nimport { useKeywordSelectActions } from '@/domains/dam/keyword/composables/keywordActions'\nimport {\n useCachedKeywordsForRemoteAutocomplete,\n useDamCachedKeywords,\n} from '@/domains/dam/keyword/composables/cachedKeywords'\nimport type { DamKeyword } from '@/domains/dam/keyword/types/DamKeyword'\nimport { isArray, isUndefined } from '@/shared/utils/common'\nimport AFormRemoteAutocompleteWithCached from '@/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteCachedKeywordChip from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue'\nimport { createKeyword } from '@/domains/dam/keyword/api/keywordApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useDamKeywordFactory } from '@/domains/dam/keyword/factory/KeywordFactory'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useKeywordInnerFilter } from '@/domains/dam/keyword/filter/KeywordFilter'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { useAclAllowed } from '@/domains/auth/composables/aclAllowed'\nimport type { DamFieldsDisabledAs } from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DocId | null | DocId[] | any\n extSystem: IntegerId\n queueId?: string | undefined\n label?: string | undefined\n required?: boolean | null\n disabled?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n validationScope?: ValidationScope\n /** How it looks while disabled: keyword chips (current library behaviour), or the input switched off. */\n disabledAs?: DamFieldsDisabledAs\n /** DAM configuration to use. Defaults to the parent component's, else `default`. */\n configName?: string\n }>(),\n {\n label: undefined,\n queueId: undefined,\n required: null,\n disabled: undefined,\n multiple: false,\n clearable: false,\n dataCy: undefined,\n validationScope: undefined,\n disabledAs: 'chips',\n configName: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DocId | null | DocId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue) {\n emit('update:modelValue', [...newValue])\n },\n})\n\nconst search = ref<string>('')\nconst loadingLocal = ref(false)\nconst fetchedItemsMinimal = ref<Map<IntegerId | DocId, any>>(new Map())\n\nconst requiredComputed = computed(() => !!props.required)\n\nconst { requiredIf } = useValidate()\n\nconst rules = {\n modelValueComputed: {\n required: requiredIf(requiredComputed),\n },\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate(rules, { modelValueComputed }, { $scope: props.validationScope })\n\nconst { damClient, endPointKeyword, keywordCreateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst createAllowed = useAclAllowed(keywordCreateAcl ?? undefined)\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, damConfigName)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configExtSystem = getDamConfigExtSystem(props.extSystem)\nif (isUndefined(configExtSystem)) {\n throw new Error('KeywordRemoteAutocompleteWithCached: Ext system must be initialised.')\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { fetchItemsMinimal } = useKeywordSelectActions(props.extSystem, damConfigName)\n\nconst { filterData, filterConfig } = useKeywordInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n\nconst addNewKeywordText = ref('')\n\nconst searchChange = (newValue: string) => {\n if (newValue.length > 0) addNewKeywordText.value = removeLastComma(newValue)\n}\n\nconst { addManualToCachedKeywords } = useDamCachedKeywords(damConfigName)\n// The inner input reads this cache only once.\nconst useCachedOfName = () => useCachedKeywordsForRemoteAutocomplete(damConfigName)\n\nconst afterCreate = (keyword: DamKeyword) => {\n addManualToCachedKeywords(keyword)\n if (isArray(modelValueComputed.value)) {\n modelValueComputed.value = [...modelValueComputed.value, keyword.id]\n search.value = ''\n return\n }\n modelValueComputed.value = keyword.id\n search.value = ''\n}\n\nconst itemSlotIsSelected = (item: DocId) => {\n if (isArray(modelValueComputed.value)) {\n return modelValueComputed.value.includes(item)\n } else if (modelValueComputed.value) {\n return modelValueComputed.value === item\n }\n return false\n}\n\nconst { showErrorsDefault } = useAlerts()\nconst { createDefault } = useDamKeywordFactory()\n\nconst createOrSelectKeyword = async (name: string) => {\n const keywordCreate = createDefault(props.extSystem, true)\n keywordCreate.name = removeLastComma(name)\n if (keywordCreate.name.length < 2) return\n try {\n const keywordRes = await createKeyword(damClient, endPointKeyword, keywordCreate)\n afterCreate(keywordRes)\n } catch (error) {\n showErrorsDefault(error)\n }\n}\n\nconst removeLastComma = (value: string) => {\n if (value.endsWith(',')) return value.slice(0, -1)\n return value\n}\n\nconst onEnterKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst onCommaKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst showAdd = computed(() => {\n if (!createAllowed.value) return false\n if (loadingLocal.value) return false\n if (search.value.length < 2 || search.value.length > 255) return false\n if (fetchedItemsMinimal.value.size === 0) return true\n return ![...fetchedItemsMinimal.value.values()].some(\n (item) => item.name?.toLowerCase() === search.value!.toLowerCase()\n )\n})\n</script>\n\n<template>\n <div class=\"d-flex\">\n <ARow\n v-if=\"disabled && disabledAs === 'chips' && multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-for=\"id in modelValueComputed\"\n :id=\"id\"\n :key=\"id\"\n :queue-id=\"queueId\"\n force-rounded\n class=\"mr-1 mb-1\"\n />\n </ARow>\n <ARow\n v-else-if=\"disabled && disabledAs === 'chips' && !multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"modelValueComputed\"\n :key=\"modelValueComputed\"\n :queue-id=\"queueId\"\n force-rounded\n />\n </ARow>\n <AFormRemoteAutocompleteWithCached\n v-else\n v-model=\"modelValueComputed\"\n v-model:search=\"search\"\n v-model:loading-local=\"loadingLocal\"\n v-model:fetched-items-minimal=\"fetchedItemsMinimal\"\n :use-cached=\"useCachedOfName\"\n :v=\"v$\"\n :required=\"requiredComputed\"\n :label=\"label\"\n :fetch-items-minimal=\"fetchItemsMinimal\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :disabled=\"disabled || undefined\"\n filter-by-field=\"text\"\n :filter-sort-by=\"null\"\n item-title=\"name\"\n item-value=\"id\"\n :data-cy=\"dataCy\"\n :min-search-chars=\"2\"\n min-search-text=\"common.damImage.keyword.filterMinChars\"\n @search-change=\"searchChange\"\n @keyup.enter=\"onEnterKeyup\"\n @keyup.,=\"onCommaKeyup\"\n >\n <template #item=\"{ props: itemSlotProps, item: itemSlotItem }\">\n <VListItem\n v-if=\"itemSlotItem\"\n v-bind=\"itemSlotProps\"\n @click.prevent=\"\"\n >\n <template\n v-if=\"multiple\"\n #prepend\n >\n <VCheckboxBtn\n :model-value=\"itemSlotIsSelected(itemSlotItem.value)\"\n :ripple=\"false\"\n />\n </template>\n <template #title>\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"itemSlotItem.value\"\n :key=\"itemSlotItem.value\"\n :queue-id=\"queueId\"\n :title=\"itemSlotItem.title\"\n text-only\n />\n </template>\n </VListItem>\n </template>\n <!--\n Pass only the chip's close. Its other props (`onMousedown`)\n would stop a press on the chip from opening the list.\n -->\n <template #chip=\"{ props: chipSlotProps, item: chipSlotItem }\">\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-if=\"chipSlotItem\"\n :id=\"chipSlotItem.value\"\n :key=\"chipSlotItem.value\"\n :chip-props=\"{ 'onClick:close': chipSlotProps['onClick:close'] }\"\n :queue-id=\"queueId\"\n :title=\"chipSlotItem.title\"\n force-rounded\n />\n </template>\n <template #append-item>\n <VListItem\n v-if=\"showAdd\"\n class=\"a-keywords-append-item\"\n >\n <ABtnSecondary\n size=\"small\"\n :text=\"addNewKeywordText\"\n prepend-icon=\"mdi-plus-circle\"\n @click.stop=\"onCommaKeyup\"\n />\n </VListItem>\n </template>\n </AFormRemoteAutocompleteWithCached>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.a-keywords-append-item {\n position: sticky;\n bottom: 0;\n // Use the menu surface color. A white bar showed in the dark theme.\n background-color: rgb(var(--v-theme-surface));\n transform: translateY(8px);\n}\n</style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetCustomMetadataFormMassOperations.js","names":["_sfc_main","AssetCustomMetadataFormMassOperations_vue_vue_type_script_setup_true_lang_default","AssetCustomMetadataFormMassOperations_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ACustomDataFormElement from '@/domains/customDataForm/components/ACustomDataFormElement.vue'\nimport { isUndefined } from '@/shared/utils/common'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n extSystem: IntegerId\n modelValue: { [key: string]: any }\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: any): void\n (e: 'fillEmptyField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n (e: 'replaceField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n}>()\n\nconst { t } = useI18n()\n\nconst updateModelValue = (data: { property: string; value: any }) => {\n const updated = {} as { [key: string]: any }\n updated[data.property] = data.value\n emit('update:modelValue', { ...props.modelValue, ...updated })\n}\n\nconst fillEmptyField = (elementProperty: string, value: any) => {\n emit('fillEmptyField', { assetType: props.assetType, elementProperty, value })\n}\nconst replaceField = (elementProperty: string, value: any) => {\n emit('replaceField', { assetType: props.assetType, elementProperty, value })\n}\n\nconst { getDamConfigAssetCustomFormElements } = useDamConfigState(undefined, useDamConfigName())\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configAssetCustomFormElements = getDamConfigAssetCustomFormElements(props.extSystem)\nif (isUndefined(configAssetCustomFormElements)) {\n throw new Error('Custom form elements must be initialised.')\n}\n// A type whose read failed while other reads succeeded is not loaded. The form shows that instead of its fields.\n// Throwing here would break the rest of the host panel.\nconst typeNotLoaded = computed(() => isUndefined(getDamConfigAssetCustomFormElements(props.extSystem, props.assetType)))\n\nconst elements = computed(() => {\n return configAssetCustomFormElements[props.assetType]\n})\n</script>\n\n<template>\n <div class=\"w-100\">\n <div\n v-if=\"typeNotLoaded\"\n class=\"text-error my-2\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n <VRow\n v-for=\"element in elements\"\n :key=\"element.id\"\n density=\"compact\"\n class=\"mt-1\"\n >\n <VCol>\n <div v-if=\"element.attributes.readonly\" />\n <div\n v-else\n class=\"d-flex\"\n >\n <ACustomDataFormElement\n :config=\"element\"\n :model-value=\"modelValue[element.property]\"\n :validation-scope=\"false\"\n @update:model-value=\"updateModelValue\"\n />\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.fillOneEmptyField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.replaceOneField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\n </VCol>\n </VRow>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AssetCustomMetadataFormMassOperations.js","names":["AssetCustomMetadataFormMassOperations_vue_vue_type_script_setup_true_lang_default","AssetCustomMetadataFormMassOperations_default"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_toDisplayString","_unref","_createCommentVNode","_Fragment","_renderList","_createBlock","_component_VRow","_withCtx","_createVNode","_component_VCol","ACustomDataFormElement","_component_VBtn","_withModifiers","_component_VIcon","_component_VTooltip","_createTextVNode","ACustomDataFormElement_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","AssetCustomMetadataFormMassOperations_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","useI18n","updateModelValue","updated","data","fillEmptyField","replaceField","useDamConfigState","useDamConfigName","configAssetCustomFormElements","getDamConfigAssetCustomFormElements","isUndefined","typeNotLoaded","computed","elements","openBlock","createElementBlock","toDisplayString","unref","t","createCommentVNode","Fragment","renderList","createBlock","VRow","element","withCtx","createVNode","VCol","VBtn","withModifiers","VIcon","VTooltip","createTextVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ACustomDataFormElement from '@/domains/customDataForm/components/ACustomDataFormElement.vue'\nimport { isUndefined } from '@/shared/utils/common'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n extSystem: IntegerId\n modelValue: { [key: string]: any }\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: any): void\n (e: 'fillEmptyField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n (e: 'replaceField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n}>()\n\nconst { t } = useI18n()\n\nconst updateModelValue = (data: { property: string; value: any }) => {\n const updated = {} as { [key: string]: any }\n updated[data.property] = data.value\n emit('update:modelValue', { ...props.modelValue, ...updated })\n}\n\nconst fillEmptyField = (elementProperty: string, value: any) => {\n emit('fillEmptyField', { assetType: props.assetType, elementProperty, value })\n}\nconst replaceField = (elementProperty: string, value: any) => {\n emit('replaceField', { assetType: props.assetType, elementProperty, value })\n}\n\nconst { getDamConfigAssetCustomFormElements } = useDamConfigState(undefined, useDamConfigName())\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configAssetCustomFormElements = getDamConfigAssetCustomFormElements(props.extSystem)\nif (isUndefined(configAssetCustomFormElements)) {\n throw new Error('Custom form elements must be initialised.')\n}\n// A type whose read failed while other reads succeeded is not loaded. The form shows that instead of its fields.\n// Throwing here would break the rest of the host panel.\nconst typeNotLoaded = computed(() => isUndefined(getDamConfigAssetCustomFormElements(props.extSystem, props.assetType)))\n\nconst elements = computed(() => {\n return configAssetCustomFormElements[props.assetType]\n})\n</script>\n\n<template>\n <div class=\"w-100\">\n <div\n v-if=\"typeNotLoaded\"\n class=\"text-error my-2\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n <VRow\n v-for=\"element in elements\"\n :key=\"element.id\"\n density=\"compact\"\n class=\"mt-1\"\n >\n <VCol>\n <div v-if=\"element.attributes.readonly\" />\n <div\n v-else\n class=\"d-flex\"\n >\n <ACustomDataFormElement\n :config=\"element\"\n :model-value=\"modelValue[element.property]\"\n :validation-scope=\"false\"\n @update:model-value=\"updateModelValue\"\n />\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.fillOneEmptyField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.replaceOneField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\n </VCol>\n </VRow>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA,IAAMyB,IAAQC,GASRC,IAAOH,GAMP,EAAE,SAAMI,EAAQ,GAEhBC,KAAoB,MAA2C;GACnE,IAAMC,IAAU,CAAC;GAEjB,AADA,EAAQC,EAAK,YAAYA,EAAK,OAC9BJ,EAAK,qBAAqB;IAAE,GAAGF,EAAM;IAAY,GAAGK;GAAQ,CAAC;EAC/D,GAEME,KAAkB,GAAyB,MAAe;GAC9D,EAAK,kBAAkB;IAAE,WAAWP,EAAM;IAAW;IAAiB;GAAM,CAAC;EAC/E,GACMQ,KAAgB,GAAyB,MAAe;GAC5D,EAAK,gBAAgB;IAAE,WAAWR,EAAM;IAAW;IAAiB;GAAM,CAAC;EAC7E,GAEM,EAAE,2CAAwCS,EAAkB,KAAA,GAAWC,EAAiB,CAAC,GAEzFC,IAAgCC,EAAoCZ,EAAM,SAAS;EACzF,IAAIa,EAAYF,CAA6B,GAC3C,MAAU,MAAM,2CAA2C;EAI7D,IAAMG,IAAgBC,QAAeF,EAAYD,EAAoCZ,EAAM,WAAWA,EAAM,SAAS,CAAC,CAAC,GAEjHgB,IAAWD,QACRJ,EAA8BX,EAAM,UAC5C;E,kBAICzB,EAAA,GAAAC,EA2DM,OA3DNkB,GA2DM,CAzDIoB,EAAA,SADRvC,EAAA,GAAAC,EAKM,OALNmB,GAKMlB,EADDC,EAAA2C,CAAA,CAAC,CAAA,qCAAA,CAAA,GAAA,CAAA,K,YAEN9C,EAAA,EAAA,GAAAC,EAmDOI,GAAA,MAAAC,EAlDamC,EAAA,QAAX,OADTzC,EAAA,GAAAO,EAmDOC,GAAA;GAjDJ,KAAK4C,EAAQ;GACd,SAAQ;GACR,OAAM;;GAEN,SAAA3C,QA4CO,CA5CPC,EA4COC,GAAA,MAAA;IA3CL,SAAAF,QAA0C,CAA/B2C,EAAQ,WAAW,YAA9BpD,EAAA,GAAAC,EAA0C,OAAAoB,CAAA,MAC1CrB,EAAA,GAAAC,EAyCM,OAzCNqB,GAyCM;KArCJZ,EAKEE,GAAA;MAJC,QAAQwC;MACR,eAAa1B,EAAA,WAAW0B,EAAQ;MAChC,oBAAkB;MAClB,uBAAoBvB;;KAEvBnB,EAeOG,GAAA;MAdJ,cAAYV,EAAA2C,CAAA,CAAC,CAAA,0DAAA,EAAA,OAAoEM,EAAQ,KAAI,CAAA;MAC9F,MAAA;MACA,MAAK;MACL,SAAQ;MACR,OAAM;MACL,SAAKtC,GAAA,MAAOkB,EAAeoB,EAAQ,UAAU1B,EAAA,WAAW0B,EAAQ,SAAQ,GAAA,CAAA,MAAA,CAAA;;MAEzE,SAAA3C,QAAkD,CAAlDC,EAAkDK,GAAA,EAA3C,MAAK,oCAAmC,CAAA,GAC/CL,EAKWM,GAAA;OAJT,WAAU;OACV,UAAS;;OAET,SAAAP,QAA4D,CAAzDQ,EAAAf,EAAAC,EAAA2C,CAAA,CAAC,CAAA,mDAAA,CAAA,GAAA,CAAA,C;;;;;KAGRpC,EAcOG,GAAA;MAbJ,cAAYV,EAAA2C,CAAA,CAAC,CAAA,wDAAA,EAAA,OAAkEM,EAAQ,KAAI,CAAA;MAC5F,MAAA;MACA,MAAK;MACL,SAAQ;MACP,SAAKtC,GAAA,MAAOmB,EAAamB,EAAQ,UAAU1B,EAAA,WAAW0B,EAAQ,SAAQ,GAAA,CAAA,MAAA,CAAA;;MAEvE,SAAA3C,QAAyC,CAAzCC,EAAyCK,GAAA,EAAlC,MAAK,2BAA0B,CAAA,GACtCL,EAKWM,GAAA;OAJT,WAAU;OACV,UAAS;;OAET,SAAAP,QAA0D,CAAvDQ,EAAAf,EAAAC,EAAA2C,CAAA,CAAC,CAAA,iDAAA,CAAA,GAAA,CAAA,C"}
1
+ {"version":3,"file":"AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_toDisplayString","_unref","_Fragment","_renderList","_createBlock","_component_VRow","_withCtx","_createVNode","_component_VCol","ACustomDataFormElement","_component_VBtn","_withModifiers","_component_VIcon","_component_VTooltip","_createTextVNode","ACustomDataFormElement_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","AssetCustomMetadataFormMassOperations_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","useI18n","updateModelValue","updated","data","fillEmptyField","replaceField","useDamConfigState","useDamConfigName","configAssetCustomFormElements","getDamConfigAssetCustomFormElements","isUndefined","typeNotLoaded","computed","elements","openBlock","createElementBlock","toDisplayString","unref","t","createCommentVNode","Fragment","renderList","createBlock","VRow","element","withCtx","createVNode","VCol","VBtn","withModifiers","VIcon","VTooltip","createTextVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ACustomDataFormElement from '@/domains/customDataForm/components/ACustomDataFormElement.vue'\nimport { isUndefined } from '@/shared/utils/common'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n extSystem: IntegerId\n modelValue: { [key: string]: any }\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: any): void\n (e: 'fillEmptyField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n (e: 'replaceField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n}>()\n\nconst { t } = useI18n()\n\nconst updateModelValue = (data: { property: string; value: any }) => {\n const updated = {} as { [key: string]: any }\n updated[data.property] = data.value\n emit('update:modelValue', { ...props.modelValue, ...updated })\n}\n\nconst fillEmptyField = (elementProperty: string, value: any) => {\n emit('fillEmptyField', { assetType: props.assetType, elementProperty, value })\n}\nconst replaceField = (elementProperty: string, value: any) => {\n emit('replaceField', { assetType: props.assetType, elementProperty, value })\n}\n\nconst { getDamConfigAssetCustomFormElements } = useDamConfigState(undefined, useDamConfigName())\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configAssetCustomFormElements = getDamConfigAssetCustomFormElements(props.extSystem)\nif (isUndefined(configAssetCustomFormElements)) {\n throw new Error('Custom form elements must be initialised.')\n}\n// A type whose read failed while other reads succeeded is not loaded. The form shows that instead of its fields.\n// Throwing here would break the rest of the host panel.\nconst typeNotLoaded = computed(() => isUndefined(getDamConfigAssetCustomFormElements(props.extSystem, props.assetType)))\n\nconst elements = computed(() => {\n return configAssetCustomFormElements[props.assetType]\n})\n</script>\n\n<template>\n <div class=\"w-100\">\n <div\n v-if=\"typeNotLoaded\"\n class=\"text-error my-2\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n <VRow\n v-for=\"element in elements\"\n :key=\"element.id\"\n density=\"compact\"\n class=\"mt-1\"\n >\n <VCol>\n <div v-if=\"element.attributes.readonly\" />\n <div\n v-else\n class=\"d-flex\"\n >\n <ACustomDataFormElement\n :config=\"element\"\n :model-value=\"modelValue[element.property]\"\n :validation-scope=\"false\"\n @update:model-value=\"updateModelValue\"\n />\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.fillOneEmptyField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.replaceOneField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\n </VCol>\n </VRow>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA,IAAMwB,IAAQC,GASRC,IAAOH,GAMP,EAAE,SAAMI,EAAQ,GAEhBC,KAAoB,MAA2C;GACnE,IAAMC,IAAU,CAAC;GAEjB,AADA,EAAQC,EAAK,YAAYA,EAAK,OAC9BJ,EAAK,qBAAqB;IAAE,GAAGF,EAAM;IAAY,GAAGK;GAAQ,CAAC;EAC/D,GAEME,KAAkB,GAAyB,MAAe;GAC9D,EAAK,kBAAkB;IAAE,WAAWP,EAAM;IAAW;IAAiB;GAAM,CAAC;EAC/E,GACMQ,KAAgB,GAAyB,MAAe;GAC5D,EAAK,gBAAgB;IAAE,WAAWR,EAAM;IAAW;IAAiB;GAAM,CAAC;EAC7E,GAEM,EAAE,2CAAwCS,EAAkB,KAAA,GAAWC,EAAiB,CAAC,GAEzFC,IAAgCC,EAAoCZ,EAAM,SAAS;EACzF,IAAIa,EAAYF,CAA6B,GAC3C,MAAU,MAAM,2CAA2C;EAI7D,IAAMG,IAAgBC,QAAeF,EAAYD,EAAoCZ,EAAM,WAAWA,EAAM,SAAS,CAAC,CAAC,GAEjHgB,IAAWD,QACRJ,EAA8BX,EAAM,UAC5C;E,kBAICxB,EAAA,GAAAC,EA2DM,OA3DNiB,GA2DM,CAzDIoB,EAAA,SADRtC,EAAA,GAAAC,EAKM,OALNkB,GAKMjB,EADDC,EAAA0C,CAAA,CAAC,CAAA,qCAAA,CAAA,GAAA,CAAA,K,YAEN7C,EAAA,EAAA,GAAAC,EAmDOG,GAAA,MAAAC,EAlDamC,EAAA,QAAX,OADTxC,EAAA,GAAAM,EAmDOC,GAAA;GAjDJ,KAAK4C,EAAQ;GACd,SAAQ;GACR,OAAM;;GAEN,SAAA3C,QA4CO,CA5CPC,EA4COC,GAAA,MAAA;IA3CL,SAAAF,QAA0C,CAA/B2C,EAAQ,WAAW,YAA9BnD,EAAA,GAAAC,EAA0C,OAAAmB,CAAA,MAC1CpB,EAAA,GAAAC,EAyCM,OAzCNoB,GAyCM;KArCJZ,EAKEE,GAAA;MAJC,QAAQwC;MACR,eAAa1B,EAAA,WAAW0B,EAAQ;MAChC,oBAAkB;MAClB,uBAAoBvB;;KAEvBnB,EAeOG,GAAA;MAdJ,cAAYT,EAAA0C,CAAA,CAAC,CAAA,0DAAA,EAAA,OAAoEM,EAAQ,KAAI,CAAA;MAC9F,MAAA;MACA,MAAK;MACL,SAAQ;MACR,OAAM;MACL,SAAKtC,GAAA,MAAOkB,EAAeoB,EAAQ,UAAU1B,EAAA,WAAW0B,EAAQ,SAAQ,GAAA,CAAA,MAAA,CAAA;;MAEzE,SAAA3C,QAAkD,CAAlDC,EAAkDK,GAAA,EAA3C,MAAK,oCAAmC,CAAA,GAC/CL,EAKWM,GAAA;OAJT,WAAU;OACV,UAAS;;OAET,SAAAP,QAA4D,CAAzDQ,EAAAd,EAAAC,EAAA0C,CAAA,CAAC,CAAA,mDAAA,CAAA,GAAA,CAAA,C;;;;;KAGRpC,EAcOG,GAAA;MAbJ,cAAYT,EAAA0C,CAAA,CAAC,CAAA,wDAAA,EAAA,OAAkEM,EAAQ,KAAI,CAAA;MAC5F,MAAA;MACA,MAAK;MACL,SAAQ;MACP,SAAKtC,GAAA,MAAOmB,EAAamB,EAAQ,UAAU1B,EAAA,WAAW0B,EAAQ,SAAQ,GAAA,CAAA,MAAA,CAAA;;MAEvE,SAAA3C,QAAyC,CAAzCC,EAAyCK,GAAA,EAAlC,MAAK,2BAA0B,CAAA,GACtCL,EAKWM,GAAA;OAJT,WAAU;OACV,UAAS;;OAET,SAAAP,QAA0D,CAAvDQ,EAAAd,EAAAC,EAAA0C,CAAA,CAAC,CAAA,iDAAA,CAAA,GAAA,CAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetQueueSelectedSidebar.js","names":["_sfc_main","AssetQueueSelectedSidebar_vue_vue_type_script_setup_true_lang_default","AssetQueueSelectedSidebar_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport AssetCustomMetadataFormMassOperations from '@/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { CustomDataValue } from '@/domains/customDataForm/types/CustomDataForm'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport {\n type UploadQueueMassOperationsBinding,\n useLibraryUploadQueueMassOperationsBinding,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n extSystem: IntegerId\n /** What the mass operations need from their host. Without it they use the library store. */\n operations?: UploadQueueMassOperationsBinding\n /** The DAM configuration whose rules the operations follow. Inherited when not given. */\n configName?: string\n }>(),\n {\n operations: undefined,\n configName: undefined,\n }\n)\n\nconst massOperationsData = ref<Record<'image' | 'video' | 'audio' | 'document', Record<string, CustomDataValue>>>({\n image: {},\n video: {},\n audio: {},\n document: {},\n})\nconst massOperationsKeywords = ref([])\nconst massOperationsAuthors = ref([])\n\nconst { t } = useI18n()\n\n// Accessible names for the two icon buttons beside a field: the action and the field.\nconst fillEmptyName = (field: string) => t('common.damImage.asset.massOperations.fillOneEmptyField', { field })\nconst replaceName = (field: string) => t('common.damImage.asset.massOperations.replaceOneField', { field })\n\nconst panels = ref<Array<string>>(['general'])\n\n// Created only when the host binds none.\nconst operations = props.operations ?? useLibraryUploadQueueMassOperationsBinding(() => props.queueKey)\n\nconst fillEmptyField = (data: { assetType: DamAssetTypeType; elementProperty: string; value: any }) => {\n operations.fillCustomDataValue(data)\n}\nconst replaceField = (data: { assetType: DamAssetTypeType; elementProperty: string; value: any }) => {\n operations.fillCustomDataValue(data, true)\n}\nconst fillEmptyKeywords = () => {\n operations.fillKeywords(massOperationsKeywords.value)\n}\nconst replaceKeywords = () => {\n operations.fillKeywords(massOperationsKeywords.value, true)\n}\nconst fillEmptyAuthors = () => {\n operations.fillAuthors(massOperationsAuthors.value)\n}\nconst replaceAuthors = () => {\n operations.fillAuthors(massOperationsAuthors.value, true)\n}\nconst fillAll = (forceReplace = false) => {\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.image)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Image,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.video)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Video,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.audio)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Audio,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.document)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Document,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n if (authorEnabled.value) {\n forceReplace ? replaceAuthors() : fillEmptyAuthors()\n }\n if (keywordEnabled.value) {\n forceReplace ? replaceKeywords() : fillEmptyKeywords()\n }\n}\nconst clearForm = () => {\n massOperationsData.value = { image: {}, video: {}, audio: {}, document: {} }\n massOperationsAuthors.value = []\n massOperationsKeywords.value = []\n}\n\nconst assetTypes = computed(() => {\n return operations.assetTypes()\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, useDamConfigName(props.configName))\n\nconst keywordEnabled = computed(() => {\n const config = getDamConfigExtSystem(props.extSystem)\n if (!config) return false\n return assetTypes.value.some((type) => !!config[type]?.keywords?.enabled)\n})\n\nconst authorEnabled = computed(() => {\n const config = getDamConfigExtSystem(props.extSystem)\n if (!config) return false\n return assetTypes.value.some((type) => !!config[type]?.authors?.enabled)\n})\n\nonMounted(() => {\n if (assetTypes.value[0]) {\n panels.value.push(assetTypes.value[0])\n }\n})\n</script>\n\n<template>\n <div class=\"sidebar-info d-flex w-100 h-100 flex-column\">\n <div class=\"w-100 d-flex flex-column\">\n <VTabs class=\"sidebar-info__tabs\">\n <VTab>{{ t('common.damImage.asset.massOperations.title') }}</VTab>\n </VTabs>\n <div class=\"sidebar-info__content\">\n <div class=\"text-body-small pa-3\">\n {{ t('common.damImage.asset.massOperations.description') }}\n </div>\n <VExpansionPanels\n v-model=\"panels\"\n multiple\n class=\"v-expansion-panels--compact\"\n >\n <VExpansionPanel\n v-if=\"keywordEnabled || authorEnabled\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.massOperations.general')\"\n value=\"general\"\n >\n <VExpansionPanelText>\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 <div class=\"d-flex\">\n <div style=\"min-width: 286px\">\n <KeywordRemoteAutocompleteWithCached\n v-model=\"massOperationsKeywords\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n clearable\n :ext-system=\"extSystem\"\n multiple\n :validation-scope=\"false\"\n />\n </div>\n <VBtn\n :aria-label=\"fillEmptyName(t('common.damImage.asset.model.keywords'))\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyKeywords\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"replaceName(t('common.damImage.asset.model.keywords'))\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceKeywords\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\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 <div class=\"d-flex\">\n <div style=\"min-width: 286px\">\n <AuthorRemoteAutocompleteWithCached\n v-model=\"massOperationsAuthors\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :validation-scope=\"false\"\n />\n </div>\n <VBtn\n :aria-label=\"fillEmptyName(t('common.damImage.asset.model.authors'))\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyAuthors\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"replaceName(t('common.damImage.asset.model.authors'))\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceAuthors\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\n </ASystemEntityScope>\n </VCol>\n </VRow>\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Image)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.image')\"\n :value=\"DamAssetType.Image\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.image\"\n :asset-type=\"DamAssetType.Image\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Video)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.video')\"\n :value=\"DamAssetType.Video\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.video\"\n :asset-type=\"DamAssetType.Video\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Audio)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.audio')\"\n :value=\"DamAssetType.Audio\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.audio\"\n :asset-type=\"DamAssetType.Audio\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Document)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.document')\"\n :value=\"DamAssetType.Document\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.document\"\n :asset-type=\"DamAssetType.Document\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n </VExpansionPanels>\n </div>\n <div class=\"sidebar-info__actions pa-2 d-flex align-center justify-center\">\n <VBtn\n class=\"mr-2\"\n variant=\"text\"\n size=\"small\"\n @click.stop=\"fillAll(false)\"\n >\n {{ t('common.damImage.asset.massOperations.fillAllEmpty') }}\n </VBtn>\n <VBtn\n class=\"mr-2\"\n variant=\"text\"\n size=\"small\"\n @click.stop=\"fillAll(true)\"\n >\n {{ t('common.damImage.asset.massOperations.replaceAll') }}\n </VBtn>\n <VBtn\n variant=\"text\"\n size=\"small\"\n @click.stop=\"clearForm\"\n >\n {{ t('common.damImage.asset.massOperations.clearForm') }}\n </VBtn>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AssetQueueSelectedSidebar.js","names":["AssetQueueSelectedSidebar_vue_vue_type_script_setup_true_lang_default","AssetQueueSelectedSidebar_default"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_createElementVNode","_createVNode","_component_VTabs","_withCtx","_component_VTab","_createTextVNode","_toDisplayString","_unref","_component_VExpansionPanels","_createBlock","_component_VExpansionPanel","_component_VExpansionPanelText","_component_VRow","_component_VCol","ASystemEntityScope","KeywordRemoteAutocompleteWithCached","_component_VBtn","_withModifiers","_component_VIcon","_component_VTooltip","_createCommentVNode","AuthorRemoteAutocompleteWithCached","AssetCustomMetadataFormMassOperations","ASystemEntityScope_default","AssetCustomMetadataFormMassOperations_default","AuthorRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteWithCached_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","AssetQueueSelectedSidebar_vue_vue_type_script_setup_true_lang_default","props","__props","massOperationsData","ref","massOperationsKeywords","massOperationsAuthors","useI18n","fillEmptyName","t","replaceName","panels","operations","useLibraryUploadQueueMassOperationsBinding","fillEmptyField","data","replaceField","fillEmptyKeywords","replaceKeywords","fillEmptyAuthors","replaceAuthors","fillAll","elementProperty","value","DamAssetType","forceReplace","authorEnabled","keywordEnabled","clearForm","assetTypes","computed","useDamConfigState","useDamConfigName","config","getDamConfigExtSystem","type","onMounted","openBlock","createElementBlock","createElementVNode","createVNode","VTabs","withCtx","VTab","createTextVNode","toDisplayString","unref","VExpansionPanels","_cache","$event","createBlock","VExpansionPanel","VExpansionPanelText","VRow","VCol","VBtn","withModifiers","VIcon","VTooltip","createCommentVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport AssetCustomMetadataFormMassOperations from '@/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { CustomDataValue } from '@/domains/customDataForm/types/CustomDataForm'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport {\n type UploadQueueMassOperationsBinding,\n useLibraryUploadQueueMassOperationsBinding,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n extSystem: IntegerId\n /** What the mass operations need from their host. Without it they use the library store. */\n operations?: UploadQueueMassOperationsBinding\n /** The DAM configuration whose rules the operations follow. Inherited when not given. */\n configName?: string\n }>(),\n {\n operations: undefined,\n configName: undefined,\n }\n)\n\nconst massOperationsData = ref<Record<'image' | 'video' | 'audio' | 'document', Record<string, CustomDataValue>>>({\n image: {},\n video: {},\n audio: {},\n document: {},\n})\nconst massOperationsKeywords = ref([])\nconst massOperationsAuthors = ref([])\n\nconst { t } = useI18n()\n\n// Accessible names for the two icon buttons beside a field: the action and the field.\nconst fillEmptyName = (field: string) => t('common.damImage.asset.massOperations.fillOneEmptyField', { field })\nconst replaceName = (field: string) => t('common.damImage.asset.massOperations.replaceOneField', { field })\n\nconst panels = ref<Array<string>>(['general'])\n\n// Created only when the host binds none.\nconst operations = props.operations ?? useLibraryUploadQueueMassOperationsBinding(() => props.queueKey)\n\nconst fillEmptyField = (data: { assetType: DamAssetTypeType; elementProperty: string; value: any }) => {\n operations.fillCustomDataValue(data)\n}\nconst replaceField = (data: { assetType: DamAssetTypeType; elementProperty: string; value: any }) => {\n operations.fillCustomDataValue(data, true)\n}\nconst fillEmptyKeywords = () => {\n operations.fillKeywords(massOperationsKeywords.value)\n}\nconst replaceKeywords = () => {\n operations.fillKeywords(massOperationsKeywords.value, true)\n}\nconst fillEmptyAuthors = () => {\n operations.fillAuthors(massOperationsAuthors.value)\n}\nconst replaceAuthors = () => {\n operations.fillAuthors(massOperationsAuthors.value, true)\n}\nconst fillAll = (forceReplace = false) => {\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.image)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Image,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.video)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Video,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.audio)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Audio,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.document)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Document,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n if (authorEnabled.value) {\n forceReplace ? replaceAuthors() : fillEmptyAuthors()\n }\n if (keywordEnabled.value) {\n forceReplace ? replaceKeywords() : fillEmptyKeywords()\n }\n}\nconst clearForm = () => {\n massOperationsData.value = { image: {}, video: {}, audio: {}, document: {} }\n massOperationsAuthors.value = []\n massOperationsKeywords.value = []\n}\n\nconst assetTypes = computed(() => {\n return operations.assetTypes()\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, useDamConfigName(props.configName))\n\nconst keywordEnabled = computed(() => {\n const config = getDamConfigExtSystem(props.extSystem)\n if (!config) return false\n return assetTypes.value.some((type) => !!config[type]?.keywords?.enabled)\n})\n\nconst authorEnabled = computed(() => {\n const config = getDamConfigExtSystem(props.extSystem)\n if (!config) return false\n return assetTypes.value.some((type) => !!config[type]?.authors?.enabled)\n})\n\nonMounted(() => {\n if (assetTypes.value[0]) {\n panels.value.push(assetTypes.value[0])\n }\n})\n</script>\n\n<template>\n <div class=\"sidebar-info d-flex w-100 h-100 flex-column\">\n <div class=\"w-100 d-flex flex-column\">\n <VTabs class=\"sidebar-info__tabs\">\n <VTab>{{ t('common.damImage.asset.massOperations.title') }}</VTab>\n </VTabs>\n <div class=\"sidebar-info__content\">\n <div class=\"text-body-small pa-3\">\n {{ t('common.damImage.asset.massOperations.description') }}\n </div>\n <VExpansionPanels\n v-model=\"panels\"\n multiple\n class=\"v-expansion-panels--compact\"\n >\n <VExpansionPanel\n v-if=\"keywordEnabled || authorEnabled\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.massOperations.general')\"\n value=\"general\"\n >\n <VExpansionPanelText>\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 <div class=\"d-flex\">\n <div style=\"min-width: 286px\">\n <KeywordRemoteAutocompleteWithCached\n v-model=\"massOperationsKeywords\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n clearable\n :ext-system=\"extSystem\"\n multiple\n :validation-scope=\"false\"\n />\n </div>\n <VBtn\n :aria-label=\"fillEmptyName(t('common.damImage.asset.model.keywords'))\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyKeywords\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"replaceName(t('common.damImage.asset.model.keywords'))\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceKeywords\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\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 <div class=\"d-flex\">\n <div style=\"min-width: 286px\">\n <AuthorRemoteAutocompleteWithCached\n v-model=\"massOperationsAuthors\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :validation-scope=\"false\"\n />\n </div>\n <VBtn\n :aria-label=\"fillEmptyName(t('common.damImage.asset.model.authors'))\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyAuthors\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"replaceName(t('common.damImage.asset.model.authors'))\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceAuthors\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\n </ASystemEntityScope>\n </VCol>\n </VRow>\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Image)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.image')\"\n :value=\"DamAssetType.Image\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.image\"\n :asset-type=\"DamAssetType.Image\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Video)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.video')\"\n :value=\"DamAssetType.Video\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.video\"\n :asset-type=\"DamAssetType.Video\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Audio)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.audio')\"\n :value=\"DamAssetType.Audio\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.audio\"\n :asset-type=\"DamAssetType.Audio\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Document)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.document')\"\n :value=\"DamAssetType.Document\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.document\"\n :asset-type=\"DamAssetType.Document\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n </VExpansionPanels>\n </div>\n <div class=\"sidebar-info__actions pa-2 d-flex align-center justify-center\">\n <VBtn\n class=\"mr-2\"\n variant=\"text\"\n size=\"small\"\n @click.stop=\"fillAll(false)\"\n >\n {{ t('common.damImage.asset.massOperations.fillAllEmpty') }}\n </VBtn>\n <VBtn\n class=\"mr-2\"\n variant=\"text\"\n size=\"small\"\n @click.stop=\"fillAll(true)\"\n >\n {{ t('common.damImage.asset.massOperations.replaceAll') }}\n </VBtn>\n <VBtn\n variant=\"text\"\n size=\"small\"\n @click.stop=\"clearForm\"\n >\n {{ t('common.damImage.asset.massOperations.clearForm') }}\n </VBtn>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_createElementVNode","_createVNode","_component_VTabs","_withCtx","_component_VTab","_createTextVNode","_toDisplayString","_unref","_component_VExpansionPanels","_createBlock","_component_VExpansionPanel","_component_VExpansionPanelText","_component_VRow","_component_VCol","ASystemEntityScope","KeywordRemoteAutocompleteWithCached","_component_VBtn","_withModifiers","_component_VIcon","_component_VTooltip","AuthorRemoteAutocompleteWithCached","AssetCustomMetadataFormMassOperations","ASystemEntityScope_default","AssetCustomMetadataFormMassOperations_default","AuthorRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteWithCached_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","AssetQueueSelectedSidebar_vue_vue_type_script_setup_true_lang_default","props","__props","massOperationsData","ref","massOperationsKeywords","massOperationsAuthors","useI18n","fillEmptyName","t","replaceName","panels","operations","useLibraryUploadQueueMassOperationsBinding","fillEmptyField","data","replaceField","fillEmptyKeywords","replaceKeywords","fillEmptyAuthors","replaceAuthors","fillAll","elementProperty","value","DamAssetType","forceReplace","authorEnabled","keywordEnabled","clearForm","assetTypes","computed","useDamConfigState","useDamConfigName","config","getDamConfigExtSystem","type","onMounted","openBlock","createElementBlock","createElementVNode","createVNode","VTabs","withCtx","VTab","createTextVNode","toDisplayString","unref","VExpansionPanels","_cache","$event","createBlock","VExpansionPanel","VExpansionPanelText","VRow","VCol","VBtn","withModifiers","VIcon","VTooltip","createCommentVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport AssetCustomMetadataFormMassOperations from '@/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { CustomDataValue } from '@/domains/customDataForm/types/CustomDataForm'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport {\n type UploadQueueMassOperationsBinding,\n useLibraryUploadQueueMassOperationsBinding,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n extSystem: IntegerId\n /** What the mass operations need from their host. Without it they use the library store. */\n operations?: UploadQueueMassOperationsBinding\n /** The DAM configuration whose rules the operations follow. Inherited when not given. */\n configName?: string\n }>(),\n {\n operations: undefined,\n configName: undefined,\n }\n)\n\nconst massOperationsData = ref<Record<'image' | 'video' | 'audio' | 'document', Record<string, CustomDataValue>>>({\n image: {},\n video: {},\n audio: {},\n document: {},\n})\nconst massOperationsKeywords = ref([])\nconst massOperationsAuthors = ref([])\n\nconst { t } = useI18n()\n\n// Accessible names for the two icon buttons beside a field: the action and the field.\nconst fillEmptyName = (field: string) => t('common.damImage.asset.massOperations.fillOneEmptyField', { field })\nconst replaceName = (field: string) => t('common.damImage.asset.massOperations.replaceOneField', { field })\n\nconst panels = ref<Array<string>>(['general'])\n\n// Created only when the host binds none.\nconst operations = props.operations ?? useLibraryUploadQueueMassOperationsBinding(() => props.queueKey)\n\nconst fillEmptyField = (data: { assetType: DamAssetTypeType; elementProperty: string; value: any }) => {\n operations.fillCustomDataValue(data)\n}\nconst replaceField = (data: { assetType: DamAssetTypeType; elementProperty: string; value: any }) => {\n operations.fillCustomDataValue(data, true)\n}\nconst fillEmptyKeywords = () => {\n operations.fillKeywords(massOperationsKeywords.value)\n}\nconst replaceKeywords = () => {\n operations.fillKeywords(massOperationsKeywords.value, true)\n}\nconst fillEmptyAuthors = () => {\n operations.fillAuthors(massOperationsAuthors.value)\n}\nconst replaceAuthors = () => {\n operations.fillAuthors(massOperationsAuthors.value, true)\n}\nconst fillAll = (forceReplace = false) => {\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.image)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Image,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.video)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Video,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.audio)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Audio,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n for (const [elementProperty, value] of Object.entries(massOperationsData.value.document)) {\n operations.fillCustomDataValue(\n {\n assetType: DamAssetType.Document,\n elementProperty,\n value,\n },\n forceReplace\n )\n }\n if (authorEnabled.value) {\n forceReplace ? replaceAuthors() : fillEmptyAuthors()\n }\n if (keywordEnabled.value) {\n forceReplace ? replaceKeywords() : fillEmptyKeywords()\n }\n}\nconst clearForm = () => {\n massOperationsData.value = { image: {}, video: {}, audio: {}, document: {} }\n massOperationsAuthors.value = []\n massOperationsKeywords.value = []\n}\n\nconst assetTypes = computed(() => {\n return operations.assetTypes()\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, useDamConfigName(props.configName))\n\nconst keywordEnabled = computed(() => {\n const config = getDamConfigExtSystem(props.extSystem)\n if (!config) return false\n return assetTypes.value.some((type) => !!config[type]?.keywords?.enabled)\n})\n\nconst authorEnabled = computed(() => {\n const config = getDamConfigExtSystem(props.extSystem)\n if (!config) return false\n return assetTypes.value.some((type) => !!config[type]?.authors?.enabled)\n})\n\nonMounted(() => {\n if (assetTypes.value[0]) {\n panels.value.push(assetTypes.value[0])\n }\n})\n</script>\n\n<template>\n <div class=\"sidebar-info d-flex w-100 h-100 flex-column\">\n <div class=\"w-100 d-flex flex-column\">\n <VTabs class=\"sidebar-info__tabs\">\n <VTab>{{ t('common.damImage.asset.massOperations.title') }}</VTab>\n </VTabs>\n <div class=\"sidebar-info__content\">\n <div class=\"text-body-small pa-3\">\n {{ t('common.damImage.asset.massOperations.description') }}\n </div>\n <VExpansionPanels\n v-model=\"panels\"\n multiple\n class=\"v-expansion-panels--compact\"\n >\n <VExpansionPanel\n v-if=\"keywordEnabled || authorEnabled\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.massOperations.general')\"\n value=\"general\"\n >\n <VExpansionPanelText>\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 <div class=\"d-flex\">\n <div style=\"min-width: 286px\">\n <KeywordRemoteAutocompleteWithCached\n v-model=\"massOperationsKeywords\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n clearable\n :ext-system=\"extSystem\"\n multiple\n :validation-scope=\"false\"\n />\n </div>\n <VBtn\n :aria-label=\"fillEmptyName(t('common.damImage.asset.model.keywords'))\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyKeywords\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"replaceName(t('common.damImage.asset.model.keywords'))\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceKeywords\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\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 <div class=\"d-flex\">\n <div style=\"min-width: 286px\">\n <AuthorRemoteAutocompleteWithCached\n v-model=\"massOperationsAuthors\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :ext-system=\"extSystem\"\n clearable\n multiple\n :validation-scope=\"false\"\n />\n </div>\n <VBtn\n :aria-label=\"fillEmptyName(t('common.damImage.asset.model.authors'))\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyAuthors\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"replaceName(t('common.damImage.asset.model.authors'))\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceAuthors\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\n </ASystemEntityScope>\n </VCol>\n </VRow>\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Image)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.image')\"\n :value=\"DamAssetType.Image\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.image\"\n :asset-type=\"DamAssetType.Image\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Video)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.video')\"\n :value=\"DamAssetType.Video\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.video\"\n :asset-type=\"DamAssetType.Video\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Audio)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.audio')\"\n :value=\"DamAssetType.Audio\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.audio\"\n :asset-type=\"DamAssetType.Audio\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n <VExpansionPanel\n v-if=\"assetTypes.includes(DamAssetType.Document)\"\n elevation=\"0\"\n :title=\"t('common.damImage.asset.assetType.document')\"\n :value=\"DamAssetType.Document\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataFormMassOperations\n v-model=\"massOperationsData.document\"\n :asset-type=\"DamAssetType.Document\"\n :ext-system=\"extSystem\"\n @fill-empty-field=\"fillEmptyField\"\n @replace-field=\"replaceField\"\n />\n </VExpansionPanelText>\n </VExpansionPanel>\n </VExpansionPanels>\n </div>\n <div class=\"sidebar-info__actions pa-2 d-flex align-center justify-center\">\n <VBtn\n class=\"mr-2\"\n variant=\"text\"\n size=\"small\"\n @click.stop=\"fillAll(false)\"\n >\n {{ t('common.damImage.asset.massOperations.fillAllEmpty') }}\n </VBtn>\n <VBtn\n class=\"mr-2\"\n variant=\"text\"\n size=\"small\"\n @click.stop=\"fillAll(true)\"\n >\n {{ t('common.damImage.asset.massOperations.replaceAll') }}\n </VBtn>\n <VBtn\n variant=\"text\"\n size=\"small\"\n @click.stop=\"clearForm\"\n >\n {{ t('common.damImage.asset.massOperations.clearForm') }}\n </VBtn>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueButtonStop.js","names":["_sfc_main","UploadQueueButtonStop_vue_vue_type_script_setup_true_lang_default","UploadQueueButtonStop_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueButtonStop.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { eventClickBlur } from '@/shared/utils/event'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\n\nconst props = withDefaults(\n defineProps<{\n isUploading: boolean\n buttonSize?: number\n dataCy?: string\n }>(),\n {\n buttonSize: 26,\n dataCy: 'button-stop',\n }\n)\nconst emit = defineEmits<{\n (e: 'confirm'): void\n}>()\n\nconst dialog = ref(false)\n\nconst onClick = (event: Event) => {\n eventClickBlur(event)\n if (!props.isUploading) {\n emit('confirm')\n return\n }\n dialog.value = true\n}\nconst onConfirm = () => {\n emit('confirm')\n dialog.value = false\n}\n\nconst onCancel = () => {\n dialog.value = false\n}\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <VBtn\n :aria-label=\"t('common.damImage.upload.stop')\"\n variant=\"flat\"\n :data-cy=\"dataCy\"\n icon\n :width=\"buttonSize\"\n :height=\"buttonSize\"\n @click.stop=\"onClick\"\n >\n <VIcon icon=\"mdi-close\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.upload.stop') }}\n </VTooltip>\n </VBtn>\n <VDialog\n v-model=\"dialog\"\n :width=\"500\"\n @keydown.esc=\"onCancel\"\n >\n <VCard\n v-if=\"dialog\"\n data-cy=\"delete-panel\"\n >\n <ADialogToolbar @cancel=\"onCancel\">\n {{ t('common.damImage.upload.stopConfirmQuestion') }}\n </ADialogToolbar>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-cancel\"\n @click.stop=\"onCancel\"\n >\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <ABtnPrimary\n data-cy=\"button-confirm\"\n @click.stop=\"onConfirm\"\n >\n {{ t('common.damImage.upload.stopConfirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"UploadQueueButtonStop.js","names":["UploadQueueButtonStop_vue_vue_type_script_setup_true_lang_default","UploadQueueButtonStop_default"],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadQueueButtonStop.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createVNode","_component_VBtn","_unref","_withModifiers","_withCtx","_component_VIcon","_component_VTooltip","_createTextVNode","_toDisplayString","_component_VDialog","_withKeys","_createBlock","_component_VCard","ADialogToolbar","_component_VCardActions","_component_VSpacer","_createCommentVNode","ADialogToolbar_default","UploadQueueButtonStop_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","dialog","ref","onClick","eventClickBlur","event","onConfirm","onCancel","useI18n","_component_ABtnTertiary","resolveComponent","_component_ABtnPrimary","openBlock","createElementBlock","Fragment","createVNode","VBtn","unref","t","withModifiers","withCtx","VIcon","VTooltip","createTextVNode","toDisplayString","VDialog","_cache","$event","withKeys","createBlock","VCard","VCardActions","VSpacer","createCommentVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueButtonStop.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { eventClickBlur } from '@/shared/utils/event'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\n\nconst props = withDefaults(\n defineProps<{\n isUploading: boolean\n buttonSize?: number\n dataCy?: string\n }>(),\n {\n buttonSize: 26,\n dataCy: 'button-stop',\n }\n)\nconst emit = defineEmits<{\n (e: 'confirm'): void\n}>()\n\nconst dialog = ref(false)\n\nconst onClick = (event: Event) => {\n eventClickBlur(event)\n if (!props.isUploading) {\n emit('confirm')\n return\n }\n dialog.value = true\n}\nconst onConfirm = () => {\n emit('confirm')\n dialog.value = false\n}\n\nconst onCancel = () => {\n dialog.value = false\n}\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <VBtn\n :aria-label=\"t('common.damImage.upload.stop')\"\n variant=\"flat\"\n :data-cy=\"dataCy\"\n icon\n :width=\"buttonSize\"\n :height=\"buttonSize\"\n @click.stop=\"onClick\"\n >\n <VIcon icon=\"mdi-close\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.upload.stop') }}\n </VTooltip>\n </VBtn>\n <VDialog\n v-model=\"dialog\"\n :width=\"500\"\n @keydown.esc=\"onCancel\"\n >\n <VCard\n v-if=\"dialog\"\n data-cy=\"delete-panel\"\n >\n <ADialogToolbar @cancel=\"onCancel\">\n {{ t('common.damImage.upload.stopConfirmQuestion') }}\n </ADialogToolbar>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-cancel\"\n @click.stop=\"onCancel\"\n >\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <ABtnPrimary\n data-cy=\"button-confirm\"\n @click.stop=\"onConfirm\"\n >\n {{ t('common.damImage.upload.stopConfirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAMA,IAAMwB,IAAQC,GAWRC,IAAOH,GAIPI,IAASC,EAAI,EAAK,GAElBC,KAAW,MAAiB;GAEhC,AADAC,EAAeC,CAAK,GACfP,EAAM,cAIX,EAAO,QAAQ,KAHbE,EAAK,SAAS;EAIlB,GACMM,UAAkB;GAEtB,AADAN,EAAK,SAAS,GACd,EAAO,QAAQ;EACjB,GAEMO,UAAiB;GACrB,EAAO,QAAQ;EACjB,GAEM,EAAE,SAAMC,EAAQ;;;G,wBAIpB9B,EAgBOC,GAAA;IAfJ,cAAYC,EAAAsC,CAAA,CAAC,CAAA,6BAAA;IACd,SAAQ;IACP,WAASnB,EAAA;IACV,MAAA;IACC,OAAOA,EAAA;IACP,QAAQA,EAAA;IACR,SAAKlB,EAAOsB,GAAO,CAAA,MAAA,CAAA;;IAEpB,SAAArB,QAA0B,CAA1BJ,EAA0BK,GAAA,EAAnB,MAAK,YAAW,CAAA,GACvBL,EAKWM,GAAA;KAJT,WAAU;KACV,UAAS;;KAET,SAAAF,QAAsC,CAAnCG,EAAAC,EAAAN,EAAAsC,CAAA,CAAC,CAAA,6BAAA,CAAA,GAAA,CAAA,C;;;;;;;;;G,IAGRxC,EA4BUS,GAAA;IA3BC,YAAAc,EAAA;IAAA,uBAAA,AAAAyB,EAAA,QAAA,MAAA,EAAM,QAAAC;IACd,OAAO;IACP,WAAOvC,EAAMmB,GAAQ,CAAA,KAAA,CAAA;;IAEtB,SAAAzB,QAsBQ,CArBAmB,EAAA,SADR1B,EAAA,GAAAc,EAsBQC,GAAA;;KApBN,WAAQ;;KAER,SAAAR,QAEiB,CAFjBJ,EAEiBa,GAAA,EAFQ,YAAQ,GAAA;MAC/B,SAAAT,QAAqD,CAAlDG,EAAAC,EAAAN,EAAAsC,CAAA,CAAC,CAAA,4CAAA,CAAA,GAAA,CAAA,C;;K,IAENxC,EAcec,GAAA,MAAA;MAbb,SAAAV,QAAW;OAAXJ,EAAWe,CAAA;OACXf,EAKe+B,GAAA;QAJb,WAAQ;QACP,SAAK5B,EAAO0B,GAAQ,CAAA,MAAA,CAAA;;QAErB,SAAAzB,QAA+B,CAA5BG,EAAAC,EAAAN,EAAAsC,CAAA,CAAC,CAAA,sBAAA,CAAA,GAAA,CAAA,C;;;OAENxC,EAKciC,GAAA;QAJZ,WAAQ;QACP,SAAK9B,EAAOyB,GAAS,CAAA,MAAA,CAAA;;QAEtB,SAAAxB,QAA6C,CAA1CG,EAAAC,EAAAN,EAAAsC,CAAA,CAAC,CAAA,oCAAA,CAAA,GAAA,CAAA,C"}
1
+ {"version":3,"file":"UploadQueueButtonStop.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createVNode","_component_VBtn","_unref","_withModifiers","_withCtx","_component_VIcon","_component_VTooltip","_createTextVNode","_toDisplayString","_component_VDialog","_withKeys","_createBlock","_component_VCard","ADialogToolbar","_component_VCardActions","_component_VSpacer","ADialogToolbar_default","UploadQueueButtonStop_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","dialog","ref","onClick","eventClickBlur","event","onConfirm","onCancel","useI18n","_component_ABtnTertiary","resolveComponent","_component_ABtnPrimary","openBlock","createElementBlock","Fragment","createVNode","VBtn","unref","t","withModifiers","withCtx","VIcon","VTooltip","createTextVNode","toDisplayString","VDialog","_cache","$event","withKeys","createBlock","VCard","VCardActions","VSpacer","createCommentVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/UploadQueueButtonStop.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { eventClickBlur } from '@/shared/utils/event'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\n\nconst props = withDefaults(\n defineProps<{\n isUploading: boolean\n buttonSize?: number\n dataCy?: string\n }>(),\n {\n buttonSize: 26,\n dataCy: 'button-stop',\n }\n)\nconst emit = defineEmits<{\n (e: 'confirm'): void\n}>()\n\nconst dialog = ref(false)\n\nconst onClick = (event: Event) => {\n eventClickBlur(event)\n if (!props.isUploading) {\n emit('confirm')\n return\n }\n dialog.value = true\n}\nconst onConfirm = () => {\n emit('confirm')\n dialog.value = false\n}\n\nconst onCancel = () => {\n dialog.value = false\n}\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <VBtn\n :aria-label=\"t('common.damImage.upload.stop')\"\n variant=\"flat\"\n :data-cy=\"dataCy\"\n icon\n :width=\"buttonSize\"\n :height=\"buttonSize\"\n @click.stop=\"onClick\"\n >\n <VIcon icon=\"mdi-close\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.upload.stop') }}\n </VTooltip>\n </VBtn>\n <VDialog\n v-model=\"dialog\"\n :width=\"500\"\n @keydown.esc=\"onCancel\"\n >\n <VCard\n v-if=\"dialog\"\n data-cy=\"delete-panel\"\n >\n <ADialogToolbar @cancel=\"onCancel\">\n {{ t('common.damImage.upload.stopConfirmQuestion') }}\n </ADialogToolbar>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-cancel\"\n @click.stop=\"onCancel\"\n >\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <ABtnPrimary\n data-cy=\"button-confirm\"\n @click.stop=\"onConfirm\"\n >\n {{ t('common.damImage.upload.stopConfirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAMA,IAAMoB,IAAQC,GAWRC,IAAOH,GAIPI,IAASC,EAAI,EAAK,GAElBC,KAAW,MAAiB;GAEhC,AADAC,EAAeC,CAAK,GACfP,EAAM,cAIX,EAAO,QAAQ,KAHbE,EAAK,SAAS;EAIlB,GACMM,UAAkB;GAEtB,AADAN,EAAK,SAAS,GACd,EAAO,QAAQ;EACjB,GAEMO,UAAiB;GACrB,EAAO,QAAQ;EACjB,GAEM,EAAE,SAAMC,EAAQ;;;G,wBAIpB7B,EAgBOC,GAAA;IAfJ,cAAYC,EAAAqC,CAAA,CAAC,CAAA,6BAAA;IACd,SAAQ;IACP,WAASnB,EAAA;IACV,MAAA;IACC,OAAOA,EAAA;IACP,QAAQA,EAAA;IACR,SAAKjB,EAAOqB,GAAO,CAAA,MAAA,CAAA;;IAEpB,SAAApB,QAA0B,CAA1BJ,EAA0BK,GAAA,EAAnB,MAAK,YAAW,CAAA,GACvBL,EAKWM,GAAA;KAJT,WAAU;KACV,UAAS;;KAET,SAAAF,QAAsC,CAAnCG,EAAAC,EAAAN,EAAAqC,CAAA,CAAC,CAAA,6BAAA,CAAA,GAAA,CAAA,C;;;;;;;;;G,IAGRvC,EA4BUS,GAAA;IA3BC,YAAAa,EAAA;IAAA,uBAAA,AAAAyB,EAAA,QAAA,MAAA,EAAM,QAAAC;IACd,OAAO;IACP,WAAOtC,EAAMkB,GAAQ,CAAA,KAAA,CAAA;;IAEtB,SAAAxB,QAsBQ,CArBAkB,EAAA,SADRvB,EAAA,GAAAY,EAsBQC,GAAA;;KApBN,WAAQ;;KAER,SAAAR,QAEiB,CAFjBJ,EAEiBa,GAAA,EAFQ,YAAQ,GAAA;MAC/B,SAAAT,QAAqD,CAAlDG,EAAAC,EAAAN,EAAAqC,CAAA,CAAC,CAAA,4CAAA,CAAA,GAAA,CAAA,C;;K,IAENvC,EAcec,GAAA,MAAA;MAbb,SAAAV,QAAW;OAAXJ,EAAWe,CAAA;OACXf,EAKe8B,GAAA;QAJb,WAAQ;QACP,SAAK3B,EAAOyB,GAAQ,CAAA,MAAA,CAAA;;QAErB,SAAAxB,QAA+B,CAA5BG,EAAAC,EAAAN,EAAAqC,CAAA,CAAC,CAAA,sBAAA,CAAA,GAAA,CAAA,C;;;OAENvC,EAKcgC,GAAA;QAJZ,WAAQ;QACP,SAAK7B,EAAOwB,GAAS,CAAA,MAAA,CAAA;;QAEtB,SAAAvB,QAA6C,CAA1CG,EAAAC,EAAAN,EAAAqC,CAAA,CAAC,CAAA,oCAAA,CAAA,GAAA,CAAA,C"}