Sha256: ab705c8b6f6eb1ce56be6847ddf5db365f2c60737a7e5743f7c2d0955222da02

Contents?: true

Size: 554 Bytes

Versions: 1

Compression:

Stored size: 554 Bytes

Contents

module VirtualDOM
  class NodeFactory
    def component(comp)
      fail "Component is nil in #{@parent.class} class" if comp.nil?
      @nodes << comp.with_parent(@parent).setup_and_render
    end

    def a(params, &block)
      params = { onclick: -> { Inesita::Router.handle_link(params[:href], @parent) } }.merge(params) if params[:href] && Inesita::Router.handle_browser_history
      @nodes << VirtualNode.new(
        'a',
        process_params(params),
        block ? NodeFactory.new(block, @parent).nodes : []
      ).vnode
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
inesita-0.0.12 opal/virtual_dom_extension.rb