Sha256: abb4baadb241001eae55a96272a8e0562d6df7f340a6793aea90ed28004438d0

Contents?: true

Size: 928 Bytes

Versions: 6

Compression:

Stored size: 928 Bytes

Contents

require_relative '<%= classify(name) %>_action'

module Voom
  module Presenters
    module Plugins
      module <%= classify(name) %>
        # Event Actions are methods that appear inside an event block.
        # They do something on the (web) client and require code written for the client.
        # Name this actionJs method whatever you want
        # The data for this actionJs is rendered into the DOM using the file:
        #   web_client/components/actions/<%= classify(name) %>_data.rb
        # The javascript that performs the actionJs is defined in the file:
        #   views/js/components/actions/<%= classify(name) %>_action.js
        module DSLEventActions
          def <%= underscore(name) %>_action(text, **attributes, &block)
            self << <%= classify(name) %>::<%= classify(name) %>Action.new(text: text, parent: self, **attributes, &block)
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
voom-presenters-2.1.2 lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/actions/dsl.rb.tt
voom-presenters-2.1.0 lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/actions/dsl.rb.tt
voom-presenters-2.0.3 lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/actions/dsl.rb.tt
voom-presenters-2.0.2 lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/actions/dsl.rb.tt
voom-presenters-2.0.1 lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/actions/dsl.rb.tt
voom-presenters-2.0.0 lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/actions/dsl.rb.tt