Sha256: e371759ff24f9c7ae5f1f532570bb05c2e675985e0d597b835b03f2543627815
Contents?: true
Size: 984 Bytes
Versions: 9
Compression:
Stored size: 984 Bytes
Contents
require 'glimmer/dsl/parent_expression' require 'glimmer/web/component' module Glimmer module DSL module Web class ComponentExpression < Expression include ParentExpression def can_interpret?(parent, keyword, *args, &block) Glimmer::Web::Component.for(keyword) end def interpret(parent, keyword, *args, &block) custom_widget_class = Glimmer::Web::Component.for(keyword) custom_widget_class.new(parent, args, {}, &block) end def add_content(parent, keyword, *args, &block) # TODO consider avoiding source_location since it does not work in Opal if block.source_location && (block.source_location == parent.content&.__getobj__&.source_location) parent.content.call(parent) unless parent.content.called? else super(parent, keyword, *args, &block) end parent.post_add_content end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems