Class: DisplayList
- Inherits:
-
React::Component::Base
- Object
- React::Component::Base
- DisplayList
- Defined in:
- lib/bull/ui_core.rb
Instance Method Summary collapse
Instance Method Details
#clear ⇒ Object
56 57 58 |
# File 'lib/bull/ui_core.rb', line 56 def clear state.docs! [] end |
#consume(data) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# 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) ⇒ Object
60 61 62 |
# File 'lib/bull/ui_core.rb', line 60 def sort docs docs end |
#watch_(name, *args) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# 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 |