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

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

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

#initialize, #props

Constructor Details

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

Instance Method Details

#accepts(value) ⇒ Object



391
392
393
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 391

def accepts(value)
  @accepts = value
end

#createdObject



403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 403

def created
  super

  @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

  json.accepts default_accepts(@accepts)

  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



395
396
397
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 395

def files(values)
  @files = values
end

#responseMessages(values) ⇒ Object



399
400
401
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 399

def responseMessages(values)
  @responseMessages = values
end