class Voom::Presenters::DSL::Components::Event
Constants
- EVENT_MAP
Alias common event names
Attributes
actions[RW]
event[RW]
Public Class Methods
new(**attribs_, &block)
click to toggle source
Calls superclass method
Voom::Presenters::DSL::Components::Base::new
# File lib/voom/presenters/dsl/components/event.rb, line 10 def initialize(**attribs_, &block) super(type: :event, **attribs_, &block) @event = alias_event(attribs.delete(:event)) @actions = [] expand! end
Public Instance Methods
<<(comp)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 17 def <<(comp) @actions << comp end
autocomplete(path, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 118 def autocomplete(path, **params, &block) @actions << Actions::Autocomplete.new(parent: self, type: :autocomplete, path: path, target: "#{parent(:text_field).id}-list", params: params, &block) end
clear(*ids, **params, &block)
click to toggle source
Clears or blanks out a control or form. Takes either an id or a list of ids. If the id is that of a form then all the clearable inputs on the form will be cleared.
# File lib/voom/presenters/dsl/components/event.rb, line 136 def clear(*ids, **params, &block) self << Actions::Clear.new(parent: self, params: params.merge(ids: ids), &block) end
Also aliased as: clears
close_dialog(component_id, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 142 def close_dialog(component_id, **params, &block) self << Actions::CloseDialog.new(parent: self, target: component_id, params: params, &block) end
deletes(path, input_tag: nil, headers: nil, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 59 def deletes(path, input_tag: nil, headers: nil, **params, &block) self << Actions::Deletes.new(parent: self, path: path, input_tag: input_tag, headers: headers, params: params, &block) end
dialog(dialog_id, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 67 def dialog(dialog_id, **params, &block) self << Actions::Dialog.new(parent: self, target: dialog_id, params: params, &block) end
hide(component_id, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 107 def hide(component_id, **params, &block) self << Actions::ToggleVisibility.new(parent: self, target: component_id, params: params.merge(action: :hide), &block) end
loads(presenter = nil, path: nil, target: nil, input_tag: nil, wait_for_download: nil, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 21 def loads(presenter = nil, path: nil, target: nil, input_tag: nil, wait_for_download: nil, **params, &block) self << Actions::Loads.new(parent: self, presenter: presenter, path: path, target: target, input_tag: input_tag, wait_for_download: wait_for_download, params: params, &block) end
post_message(msg, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 148 def post_message(msg, **params, &block) self << Actions::PostMessage.new(parent: self, params: params.merge(message: msg), &block) end
posts(path, input_tag: nil, headers: nil, **params, &block)
click to toggle source
Method can be one of :post, :put, :delete or :patch
# File lib/voom/presenters/dsl/components/event.rb, line 41 def posts(path, input_tag: nil, headers: nil, **params, &block) self << Actions::Posts.new(parent: self, path: path, input_tag: input_tag, headers: headers, params: params, &block) end
Also aliased as: creates
prompt_if_dirty(dialog_id, input_tag: nil, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 85 def prompt_if_dirty(dialog_id, input_tag: nil, **params, &block) self << Actions::PromptIfDirty.new(parent: self, target: dialog_id, input_tag: input_tag, params: params, &block) end
remove(*ids, **params, &block)
click to toggle source
Removes the component and all its children Takes either an id or a list of ids.
# File lib/voom/presenters/dsl/components/event.rb, line 94 def remove(*ids, **params, &block) self << Actions::Remove.new(parent: self, params: params.merge(ids: ids), &block) end
Also aliased as: removes
replaces(target, presenter, input_tag: nil, ignore_input_values: [], **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 31 def replaces(target, presenter, input_tag: nil, ignore_input_values: [], **params, &block) self << Actions::Replaces.new(parent: self, target: target, presenter: presenter, input_tag: input_tag, ignore_input_values: Array(ignore_input_values), params: params, &block) end
show(component_id, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 101 def show(component_id, **params, &block) self << Actions::ToggleVisibility.new(parent: self, target: component_id, params: params.merge(action: :show), &block) end
snackbar(text, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 113 def snackbar(text, **params, &block) self << Actions::Snackbar.new(parent: self, params: params.merge(text: text), &block) end
stepper(navigate, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 153 def stepper(navigate, **params, &block) self << Actions::Stepper.new(parent: self, params: params.merge(navigate: navigate, stepper_id: parent(:stepper).id), &block) end
toggle_disabled(component_id, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 79 def toggle_disabled(component_id, **params, &block) self << Actions::ToggleDisabled.new(parent: self, target: component_id, params: params, &block) end
toggle_visibility(component_id, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 73 def toggle_visibility(component_id, **params, &block) self << Actions::ToggleVisibility.new(parent: self, target: component_id, params: params, &block) end
updates(path, input_tag: nil, headers: nil, **params, &block)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 51 def updates(path, input_tag: nil, headers: nil, **params, &block) self << Actions::Updates.new(parent: self, path: path, input_tag: input_tag, headers: headers, params: params, &block) end
Private Instance Methods
_plugins_()
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 168 def _plugins_ @parent.send(:_plugins_) if @parent end
alias_event(event)
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 160 def alias_event(event) EVENT_MAP.fetch(event.to_sym) {event.to_sym} end
initialize_plugins()
click to toggle source
# File lib/voom/presenters/dsl/components/event.rb, line 164 def initialize_plugins self.class.include_plugins(:DSLEventActions, :DSLHelpers, plugins: _plugins_) end