Class: Glib::JsonUi::ViewBuilder::Fields::MultiUpload

Inherits:
AbstractField show all
Includes:
Default, FileUploadErrorHandler, Upload
Defined in:
app/helpers/glib/json_ui/view_builder/fields.rb

Overview

deprecated

Instance Attribute Summary

Attributes inherited from JsonUiElement

#json, #page

Instance Method Summary collapse

Methods included from Default

#default_accepts

Methods inherited from AbstractField

#autoValidate, #context, #default_url_options, #determine_value, #disableDirtyCheck, #hint, #hint_args, #label, #label_args, #name, #placeholder, #placeholder_args, #prop, #validation, #value

Methods inherited from View

component_name

Methods inherited from JsonUiElement

action, any, array, badgeable, bool, color, component_name, date, date_time, enum, float, hash, icon, #initialize, int, length, menu, panels_builder, #props, required, singleton_array, string, text, url, views

Constructor Details

This class inherits a constructor from Glib::JsonUi::JsonUiElement

Instance Method Details

#createdObject



746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 746

def created
  super
  file_upload_error_handler_on_create

  @placeholder ||= I18n.t('glib.multi_upload.placeholder', default: nil)
  @hint ||= I18n.t('glib.multi_upload.hint', default: nil)

  ['200', '403', '401', 'else'].each do |status|
    key = "glib.multi_upload.responseMessages.#{status}"
    @responseMessages[status] = I18n.t(key) if I18n.exists?(key)
  end
  json.responseMessages(
    (@responseMessages || {}).reverse_merge(
      '200' => 'Completed',
      '403' => 'Forbidden',
      '401' => 'Session expired',
      'else' => 'Failed'
    )
  )

  json.placeholder @placeholder if @placeholder
  json.hint @hint if @hint

  if @prop && context
    # association = form.nested_associations.last
    # context = association || form

    @files ||= context.field_value(@prop, collect_ids: false).to_a.map { |file| { name: file.blob&.filename, signed_id: file.signed_id, url: url_for(file) } }
  end

  json.files @files if @files.present?
end

#files(values) ⇒ Object



738
739
740
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 738

def files(values)
  @files = values
end

#responseMessages(values) ⇒ Object



742
743
744
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 742

def responseMessages(values)
  @responseMessages = values
end