mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-20 06:35:56 +08:00
Fix displaying of file previews, refactor file analyzer [SCI-8892] (#5818)
This commit is contained in:
parent
c4d6fc55af
commit
31880521ef
|
@ -1,7 +0,0 @@
|
|||
/* global ActiveStoragePreviews */
|
||||
|
||||
(function() {
|
||||
$('.attachment-preview, .asset-inline-image')
|
||||
.on('load', (event) => ActiveStoragePreviews.showPreview(event))
|
||||
.on('error', (event) => ActiveStoragePreviews.reCheckPreview(event));
|
||||
}());
|
|
@ -1,7 +0,0 @@
|
|||
/* global ActiveStoragePreviews */
|
||||
|
||||
(function() {
|
||||
$('.attachment-preview .asset-thumbnail-image')
|
||||
.on('load', (event) => ActiveStoragePreviews.showPreview(event))
|
||||
.on('error', (event) => ActiveStoragePreviews.reCheckPreview(event));
|
||||
}());
|
|
@ -30,3 +30,16 @@ var ActiveStoragePreviews = (function() {
|
|||
}
|
||||
});
|
||||
}());
|
||||
|
||||
$(document).on('turbolinks:load', function() {
|
||||
$('.asset-preview-image')
|
||||
.one('load', (event) => ActiveStoragePreviews.showPreview(event))
|
||||
.one('error', (event) => ActiveStoragePreviews.reCheckPreview(event))
|
||||
.each(function() {
|
||||
if (this.complete) {
|
||||
$(this).load();
|
||||
} else if (this.error) {
|
||||
$(this).error();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -200,7 +200,7 @@ class RepositoriesController < ApplicationController
|
|||
name: @repository.name
|
||||
)
|
||||
render json: {
|
||||
html: render_to_string(partial: 'copy_repository_modal')
|
||||
html: render_to_string(partial: 'copy_repository_modal', formats: :html)
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ class ResultAssetsController < ApplicationController
|
|||
html: render_to_string(
|
||||
partial: 'my_modules/result', locals: { result: @result }, formats: :html
|
||||
)
|
||||
}, status: :ok
|
||||
}
|
||||
end
|
||||
else
|
||||
format.json do
|
||||
|
|
|
@ -43,10 +43,9 @@
|
|||
<% elsif asset.previewable? %>
|
||||
<div class="image-container">
|
||||
<%= image_tag asset.large_preview,
|
||||
class: 'asset-inline-image',
|
||||
class: 'asset-preview-image',
|
||||
style: 'opacity: 0' %>
|
||||
</div>
|
||||
<%= javascript_include_tag 'assets/asset_inline' %>
|
||||
<% else %>
|
||||
<div class="general-file-container">
|
||||
<i class="fas <%= file_fa_icon_class(asset) if asset.file_name %>"></i>
|
||||
|
|
|
@ -16,9 +16,8 @@
|
|||
<div class="attachment-preview <%= asset.file.attached? ? asset.file.metadata['asset_type'] : '' %>">
|
||||
<% if asset.previewable? %>
|
||||
<%= image_tag asset.medium_preview,
|
||||
class: 'asset-thumbnail-image',
|
||||
class: 'asset-preview-image',
|
||||
style: 'opacity: 0' %>
|
||||
<%= javascript_include_tag 'assets/asset_thumbnail' %>
|
||||
<% else %>
|
||||
<i class="fas <%= file_fa_icon_class(asset) if asset.file_name %>"></i>
|
||||
<% end %>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'active_storage/previewer/libreoffice_previewer'
|
||||
require 'active_storage/analyzer/custom_image_analyzer'
|
||||
require 'active_storage/analyzer/image_analyzer/custom_image_magick'
|
||||
require 'active_storage/downloader'
|
||||
|
||||
# Enable PDF previews for files
|
||||
|
@ -10,7 +10,7 @@ Rails.application.config.x.enable_pdf_previews = ENV['ACTIVESTORAGE_ENABLE_PDF_P
|
|||
Rails.application.config.active_storage.previewers = [ActiveStorage::Previewer::PopplerPDFPreviewer,
|
||||
ActiveStorage::Previewer::LibreofficePreviewer]
|
||||
|
||||
Rails.application.config.active_storage.analyzers.prepend(ActiveStorage::Analyzer::CustomImageAnalyzer)
|
||||
Rails.application.config.active_storage.analyzers.prepend(ActiveStorage::Analyzer::ImageAnalyzer::CustomImageMagick)
|
||||
|
||||
Rails.application.config.active_storage.variable_content_types << 'image/svg+xml'
|
||||
|
||||
|
|
|
@ -112,8 +112,6 @@ Rails.application.config.assets.precompile += %w(users/registrations/new_with_pr
|
|||
Rails.application.config.assets.precompile += %w(team_zip_exports/load_handson.js)
|
||||
Rails.application.config.assets.precompile += %w(repository_columns/manage_column_partials/number.js)
|
||||
Rails.application.config.assets.precompile += %w(repository_columns/manage_column_partials/stock.js)
|
||||
Rails.application.config.assets.precompile += %w(assets/asset_inline.js)
|
||||
Rails.application.config.assets.precompile += %w(assets/asset_thumbnail.js)
|
||||
Rails.application.config.assets.precompile += %w(results/result_assets/new.js)
|
||||
Rails.application.config.assets.precompile += %w(results/result_assets/edit.js)
|
||||
Rails.application.config.assets.precompile += %w(results/result_tables/new.js)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module ActiveStorage
|
||||
class Analyzer::CustomImageAnalyzer < Analyzer::ImageAnalyzer
|
||||
class Analyzer::ImageAnalyzer::CustomImageMagick < Analyzer::ImageAnalyzer::ImageMagick
|
||||
JPEG_MIME_TYPES = ['image/jpeg', 'image/pjpeg'].freeze
|
||||
|
||||
def self.accept?(blob)
|
Loading…
Reference in a new issue