finish off instruction view (+small rename)
This commit is contained in:
parent
c5a07be6ac
commit
7d214e7013
@ -30,7 +30,23 @@ class ListView < ElementView
|
|||||||
old.replace_with rendered
|
old.replace_with rendered
|
||||||
end
|
end
|
||||||
|
|
||||||
def append view
|
# remove the first child and element (from view)
|
||||||
|
def remove_first
|
||||||
|
remove_at 0
|
||||||
|
end
|
||||||
|
|
||||||
|
# remove both child and element at given position
|
||||||
|
def remove_at index
|
||||||
|
raise "insex out of bounds #{index} => #{@children.length}" if(index >= @children.length or index < 0)
|
||||||
|
@children.delete_at( index )
|
||||||
|
element = @elements.delete_at(index)
|
||||||
|
element.remove
|
||||||
|
end
|
||||||
|
|
||||||
|
# append a View instnace to the children array
|
||||||
|
# render it and append it to the html element
|
||||||
|
# and keep a copy in @elements
|
||||||
|
def append_view view
|
||||||
@children << view
|
@children << view
|
||||||
rendered = view.draw
|
rendered = view.draw
|
||||||
@elements << rendered # add to internal array
|
@elements << rendered # add to internal array
|
||||||
|
@ -17,8 +17,8 @@ class BlocksView < ListView
|
|||||||
def instruction_changed
|
def instruction_changed
|
||||||
return if @interpreter.block.name == active_block_name
|
return if @interpreter.block.name == active_block_name
|
||||||
@elements.last.at_css(".bright").remove_class("bright")
|
@elements.last.at_css(".bright").remove_class("bright")
|
||||||
append( BlockView.new(@interpreter.block) )
|
append_view( BlockView.new(@interpreter.block) )
|
||||||
remove_first if( @elements.length > 5)
|
remove_first if( @elements.length > 6)
|
||||||
new_name = method_name
|
new_name = method_name
|
||||||
return if new_name == @method_name
|
return if new_name == @method_name
|
||||||
@method_name = new_name
|
@method_name = new_name
|
||||||
|
@ -11,9 +11,9 @@ class InstructionView < ListView
|
|||||||
|
|
||||||
def instruction_changed
|
def instruction_changed
|
||||||
@element.at_css(".bright").remove_class("bright")
|
@element.at_css(".bright").remove_class("bright")
|
||||||
instruction = append( ConstantView.new( "span.bright" , instruction_text ) )
|
instruction = append_view( ConstantView.new( "span.bright" , instruction_text ) )
|
||||||
wrap_node_with instruction , div
|
wrap_node_with instruction , div
|
||||||
remove_first if( @elements.length > 5)
|
remove_first if( @elements.length > 6)
|
||||||
end
|
end
|
||||||
|
|
||||||
def draw
|
def draw
|
||||||
|
@ -31,7 +31,7 @@ class RefView < ListView
|
|||||||
|
|
||||||
def hover
|
def hover
|
||||||
puts "hovering #{@name}"
|
puts "hovering #{@name}"
|
||||||
append ObjectView.new(@value)
|
append_view ObjectView.new(@value)
|
||||||
@element.off("hover")
|
@element.off("hover")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user