Sha256: d001028f294591caa842512d2eb2a229038b344341518a93779c0afb6d0b7eb3

Contents?: true

Size: 1.14 KB

Versions: 5

Compression:

Stored size: 1.14 KB

Contents

module SimpleForm
  module Inputs

    class AssetManagerInput < SimpleForm::Inputs::Base
      def input
        template.content_tag(:div, class: 'asset_manager_container') do
          template.concat select_link
          template.concat dynamic_preview
        end
      end

      def select_link
        template.controller.view_context.am_select_link(object, attribute_name)
      end

      def dynamic_preview
        no_items_label = I18n.t('not_available', scope: [object.class.i18n_scope, object.class.name.demodulize.tableize, :show], default: 'N/A')
        template.content_tag(:div, id: "dinamyc_assets_#{attribute_name}", no_items_label: no_items_label) do
          cr = object.send(attribute_name)
          unless cr.blank?
            if cr.kind_of?(Array)
              template.controller.view_context.render(partial: '/admin/asset_manager/assets/assets', locals: { collection: cr })
            else
              template.controller.view_context.render(partial: '/admin/asset_manager/assets/asset', locals: { resource: cr })
            end
          else
            no_items_label
          end
        end
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
intesys_asset_manager-1.2.4 lib/simple_form/inputs/asset_manager_input.rb
intesys_asset_manager-1.2.3 lib/simple_form/inputs/asset_manager_input.rb
intesys_asset_manager-1.2.2 lib/simple_form/inputs/asset_manager_input.rb
intesys_asset_manager-1.2.1 lib/simple_form/inputs/asset_manager_input.rb
intesys_asset_manager-1.2.0 lib/simple_form/inputs/asset_manager_input.rb