diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 76d5d376f..509aa83e2 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -317,7 +317,7 @@ module ApplicationHelper end end - def data_attributes_for(record, prefix, attributes) + def data_attributes_for(record, prefix = "data", attributes = record.html_data_attributes) attributes.map do |attr| if attr.is_a?(Array) name = attr.map {|sym| sym.to_s.dasherize.delete("?")}.join('-') diff --git a/app/logical/table_builder.rb b/app/logical/table_builder.rb index 654c663f6..fa9082801 100644 --- a/app/logical/table_builder.rb +++ b/app/logical/table_builder.rb @@ -119,7 +119,7 @@ class TableBuilder { id: "#{item.model_name.singular.dasherize}-#{item.id}", **row_attributes, - **ApplicationController.helpers.data_attributes_for(item, "data", item.html_data_attributes) + **ApplicationController.helpers.data_attributes_for(item) } end end diff --git a/app/views/media_assets/_preview.html.erb b/app/views/media_assets/_preview.html.erb index eed999217..d5e61fb78 100644 --- a/app/views/media_assets/_preview.html.erb +++ b/app/views/media_assets/_preview.html.erb @@ -1,4 +1,4 @@ -<%= render(MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: media_asset)) do |preview| %> +<%= render(MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: media_asset, html: { **data_attributes_for(media_asset), "data-is-posted": media_asset.post.present? })) do |preview| %> <% preview.footer do %>
<% if media_asset.post.present? %> diff --git a/app/views/upload_media_assets/_preview.html.erb b/app/views/upload_media_assets/_preview.html.erb index 3eb46bfe4..38f6eebe1 100644 --- a/app/views/upload_media_assets/_preview.html.erb +++ b/app/views/upload_media_assets/_preview.html.erb @@ -1,6 +1,6 @@ <% media_asset = upload_media_asset.media_asset %> -<%= render MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: [upload_media_asset.upload, upload_media_asset], classes: ["upload-media-asset-preview", ("upload-media-asset-loading" if upload_media_asset.loading?)], html: { "data-id": upload_media_asset.id }) do |preview| %> +<%= render MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: [upload_media_asset.upload, upload_media_asset], classes: ["upload-media-asset-preview", ("upload-media-asset-loading" if upload_media_asset.loading?)], html: { **data_attributes_for(upload_media_asset), "data-is-posted": upload_media_asset.post.present? }) do |preview| %> <% preview.missing_image do %> <% if upload_media_asset.failed? %> Failed diff --git a/app/views/uploads/_preview.html.erb b/app/views/uploads/_preview.html.erb index 4d17d8da9..58d473acb 100644 --- a/app/views/uploads/_preview.html.erb +++ b/app/views/uploads/_preview.html.erb @@ -2,7 +2,7 @@ <% media_asset = upload_media_asset&.media_asset %> <% link_target = upload.media_asset_count > 1 ? [upload, UploadMediaAsset] : upload %> -<%= render(MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: link_target, save_data: CurrentUser.save_data)) do |preview| %> +<%= render(MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: link_target, save_data: CurrentUser.save_data, classes: "upload-preview", html: { **data_attributes_for(upload), "data-is-posted": upload.media_asset_count == upload.posts.length })) do |preview| %> <% preview.missing_image do %> <% if upload.is_errored? || upload_media_asset&.failed? %> Upload failed