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
# 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
clears(*ids, **params, &block)
Alias for: clear
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
creates(path, input_tag: nil, headers: nil, **params, &block)
Alias for: posts
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
navigate(direction, **params, &block)
Alias for: navigates
navigates(direction, **params, &block) click to toggle source
Also aliased as: navigate
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
removes(*ids, **params, &block)
Alias for: remove
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