Sha256: fce41ebf4988d156cd8bf1953e836ec902fd97cfcbff0d73b6adc4bc82060a16

Contents?: true

Size: 633 Bytes

Versions: 17

Compression:

Stored size: 633 Bytes

Contents

module Inesita
  module Component
    module Render
      def render
        raise Error, "Implement #render in #{self.class} component"
      end

      def render_if_root
        return unless @virtual_dom && @root_node
        new_virtual_dom = render_virtual_dom
        diff = VirtualDOM.diff(@virtual_dom, new_virtual_dom)
        VirtualDOM.patch(@root_node, diff)
        @virtual_dom = new_virtual_dom
      end

      def before_render; end;

      def render_virtual_dom
        before_render
        @cache_component_counter = 0
        @__virtual_nodes__ = []
        render
        to_vnode
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
inesita-1.0.pre.9 opal/inesita/component/render.rb
inesita-1.0.pre.8 opal/inesita/component/render.rb
inesita-1.0.pre.7 opal/inesita/component/render.rb
inesita-1.0.pre.6 opal/inesita/component/render.rb
inesita-1.0.pre.5 opal/inesita/component/render.rb
inesita-1.0.pre.4 opal/inesita/component/render.rb
inesita-1.0.pre.3 opal/inesita/component/render.rb
inesita-1.0.pre.2 opal/inesita/component/render.rb
inesita-1.0.pre.1 opal/inesita/component/render.rb
inesita-0.9.2 opal/inesita/component/render.rb
inesita-0.9.1 opal/inesita/component/render.rb
inesita-0.9.0 opal/inesita/component/render.rb
inesita-0.8.2 opal/inesita/component/render.rb
inesita-0.8.1 opal/inesita/component/render.rb
inesita-0.7.0 opal/inesita/component/render.rb
inesita-0.6.1 opal/inesita/component/render.rb
inesita-0.6.0 opal/inesita/component/render.rb