Class: Avo::Fields::RhinoField::EditComponent
- Inherits:
-
EditComponent
- Object
- EditComponent
- Avo::Fields::RhinoField::EditComponent
- Defined in:
- app/components/avo/fields/rhino_field/edit_component.rb
Instance Attribute Summary collapse
-
#resource ⇒ Object
readonly
Returns the value of attribute resource.
Instance Method Summary collapse
- #data ⇒ Object
-
#initialize(**args) ⇒ EditComponent
constructor
A new instance of EditComponent.
- #unique_id ⇒ Object
- #unique_selector ⇒ Object
Constructor Details
#initialize(**args) ⇒ EditComponent
Returns a new instance of EditComponent.
6 7 8 9 10 11 12 13 14 |
# File 'app/components/avo/fields/rhino_field/edit_component.rb', line 6 def initialize(**args) @resource = args[:resource] @resource_id = args[:resource_id] || @resource&.record&.to_param @resource_name = args[:resource_name] || @resource&.singular_route_key super(**args) @unique_random_id = SecureRandom.hex(4) end |
Instance Attribute Details
#resource ⇒ Object (readonly)
Returns the value of attribute resource.
4 5 6 |
# File 'app/components/avo/fields/rhino_field/edit_component.rb', line 4 def resource @resource end |
Instance Method Details
#data ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/components/avo/fields/rhino_field/edit_component.rb', line 26 def data { controller: "rhino-field", rhino_field_unique_selector_value: unique_selector, # mandatory rhino_field_resource_name_value: @resource_name, rhino_field_resource_id_value: @resource_id, blob_url_template: helpers.main_app.rails_service_blob_url(":signed_id", ":filename"), direct_upload_url: helpers.main_app.rails_direct_uploads_url, action: "rhino-before-initialize->rhino-field#onRhinoBeforeInitialize rhino-initialize->rhino-field#onRhinoInitialize rhino-change->rhino-field#onRhinoChange rhino-paste->rhino-field#onRhinoPaste rhino-selection-change->rhino-field#onRhinoSelectionChange rhino-focus->rhino-field#onRhinoFocus rhino-blur->rhino-field#onRhinoBlur rhino-file-accept->rhino-field#onRhinoFileAccept rhino-attachment-add->rhino-field#onRhinoAttachmentAdd rhino-attachment-remove->rhino-field#onRhinoAttachmentRemove", **@field.get_html(:data, view: view, element: :input) } end |
#unique_id ⇒ Object
16 17 18 19 20 21 22 |
# File 'app/components/avo/fields/rhino_field/edit_component.rb', line 16 def unique_id if @resource_name.present? "rhino_#{@resource_name}_#{@field.id}_#{@unique_random_id}" elsif form.present? "rhino_#{form.index}_#{@field.id}_#{@unique_random_id}" end end |
#unique_selector ⇒ Object
24 |
# File 'app/components/avo/fields/rhino_field/edit_component.rb', line 24 def unique_selector = ".#{unique_id}" |