Sha256: ee095b6b7b564ca473e7a2c439cd415b3fcef98f673be5c7bee4286d75290036
Contents?: true
Size: 1.98 KB
Versions: 4
Compression:
Stored size: 1.98 KB
Contents
require 'rails_admin/config/fields/types/string' module RailsAdmin module Config module Fields module Types class FileUpload < RailsAdmin::Config::Fields::Base RailsAdmin::Config::Fields::Types.register(self) register_instance_option :partial do :form_file_upload end register_instance_option :thumb_method do nil end register_instance_option :delete_method do nil end register_instance_option :cache_method do nil end register_instance_option :cache_value do bindings[:object].public_send(cache_method) if cache_method end register_instance_option :export_value do resource_url.to_s end register_instance_option :pretty_value do if value.presence v = bindings[:view] url = resource_url if image thumb_url = resource_url(thumb_method) image_html = v.image_tag(thumb_url, class: 'img-thumbnail') url != thumb_url ? v.link_to(image_html, url, target: '_blank', rel: 'noopener noreferrer') : image_html else v.link_to(value, url, target: '_blank', rel: 'noopener noreferrer') end end end register_instance_option :image? do (url = resource_url.to_s) && url.split('.').last =~ /jpg|jpeg|png|gif|svg/i end register_instance_option :allowed_methods do [method_name, delete_method, cache_method].compact end register_instance_option :html_attributes do { required: required? && !value.present?, } end # virtual class def resource_url raise('not implemented') end def virtual? true end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems