diff --git a/app/components/avo/media_library/list_component.rb b/app/components/avo/media_library/list_component.rb index b9b06a7ae..c08547391 100644 --- a/app/components/avo/media_library/list_component.rb +++ b/app/components/avo/media_library/list_component.rb @@ -18,7 +18,7 @@ def controller = Avo::Current.view_context.controller def query ActiveStorage::Blob.includes(:attachments) # ignore blobs who are just a variant to avoid "n+1" blob creation - .where.not(id: ActiveStorage::Attachment.where(record_type: "ActiveStorage::VariantRecord").pluck(:blob_id)) + .where.not(id: ActiveStorage::Attachment.where(record_type: "ActiveStorage::VariantRecord").select(:blob_id)) .order(created_at: :desc) end diff --git a/app/components/avo/media_library/list_item_component.rb b/app/components/avo/media_library/list_item_component.rb index 872b270fa..5342f8c8e 100644 --- a/app/components/avo/media_library/list_item_component.rb +++ b/app/components/avo/media_library/list_item_component.rb @@ -15,7 +15,8 @@ def data component: component_name, blob_id: blob.id, media_library_blob_param: blob.as_json, - media_library_path_param: helpers.main_app.url_for(blob), + media_library_path_param: helpers.main_app.rails_blob_path(blob), + media_library_url_param: helpers.main_app.url_for(blob), media_library_attaching_param: @attaching, media_library_multiple_param: @multiple, media_library_selected_item: params[:controller_selector], diff --git a/app/javascript/js/controllers/media_library_controller.js b/app/javascript/js/controllers/media_library_controller.js index b6746c4d0..21cdab5a7 100644 --- a/app/javascript/js/controllers/media_library_controller.js +++ b/app/javascript/js/controllers/media_library_controller.js @@ -67,7 +67,7 @@ export default class extends Controller { insertAttachments(attachments, event) { // show an error if the controller is not found if (!this.otherController) { - console.error('[Avo->] The Media Library failed to find any field outlets to inject the asset.') + console.error(`[Avo->] The Media Library failed to find any field outlets to inject the asset. Tried selector: ${this.controllerSelectorValue} and name: ${this.controllerNameValue}`) return } @@ -82,7 +82,8 @@ export default class extends Controller { #extractMetadataFromItem(item) { const blob = JSON.parse(item.dataset.mediaLibraryBlobParam) const path = item.dataset.mediaLibraryPathParam + const url = item.dataset.mediaLibraryUrlParam - return { blob, path } + return { blob, path, url } } }