Sha256: d86b256fbca76289c821cc2f5c7d933a3619fc4b0e8c87eb87ab991ba7248ff8
Contents?: true
Size: 986 Bytes
Versions: 12
Compression:
Stored size: 986 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
12 entries across 12 versions & 1 rubygems