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

Inherits:
AbstractField show all
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 inherited from AbstractField

#context, #default_url_options, #determine_value, #hint, #hint_args, #label, #label_args, #name, #placeholder, #placeholder_args, #prop, #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

#createdObject



346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 346

def created
  super

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

  ['200', '403', '401', 'else'].each do |status|
    key = "common.multi_upload.responseMessages.#{status}"
    @responseMessages[status] = I18n.t(key) if I18n.exists?(key)
  end
  json.responseMessages (@responseMessages || {}).reverse_merge({
    '200' => 'File uploaded',
    '403' => 'Forbidden',
    '401' => 'Session expired',
    'else' => 'Upload 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



338
339
340
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 338

def files(values)
  @files = values
end

#responseMessages(values) ⇒ Object



342
343
344
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 342

def responseMessages(values)
  @responseMessages = values
end

#subtitle(value) ⇒ Object

deprecated



334
335
336
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 334

def subtitle(value)
  @hint = value
end

#title(value) ⇒ Object

deprecated



329
330
331
# File 'app/helpers/glib/json_ui/view_builder/fields.rb', line 329

def title(value)
  @placeholder = value
end