class DisplayList
Public Instance Methods
clear()
click to toggle source
# File lib/bull/ui_core.rb, line 56 def clear state.docs! [] end
consume(data)
click to toggle source
# File lib/bull/ui_core.rb, line 37 def consume data if data.nil? clear return end docs = state.docs.dup if data['new_val'] == nil index = docs.index {|x| x['id'] == data['old_val']['id']} docs.delete_at index elsif data['old_val'] == nil docs << data['new_val'] else index = docs.index {|x| x['id'] == data['old_val']['id']} doc = docs.fetch index doc.merge! data['new_val'] end state.docs! sort(docs) end
sort(docs)
click to toggle source
# File lib/bull/ui_core.rb, line 60 def sort docs docs end
watch_(name, *args)
click to toggle source
# File lib/bull/ui_core.rb, line 16 def watch_(name, *args) #reactives = args.pop reactives = args.select{|v| v.is_a? RVar} @rvs = reactive(*reactives) do clear $controller.stop_watch(@predicate_id) if @predicate_id != nil args_ = args.collect do |arg| if arg.is_a? RVar arg.value else arg end end #if args_.empty? # @predicate_id = $controller.watch(name) {|data| consume data} #else @predicate_id = $controller.watch(name, *args_) {|data| consume data} #end end end