Sha256: d28c598fcd51482831d16db7fe794798adbac6f511bbc6b9d123eb013b9ca503

Contents?: true

Size: 674 Bytes

Versions: 52

Compression:

Stored size: 674 Bytes

Contents

class TodoList
  include React::Component
  
  def toggle_all
    distinct_status = Todo.all.map {|t| t.completed }.uniq
    
    if distinct_status.count == 1
      Todo.all.each {|t| t.update(:completed => !distinct_status[0]) }
    else # toggle all as completed
      Todo.all.each {|t| t.update(:completed => true) }
    end
  end
  
  def render
    section(id: "main") do
      input(id: "toggle-all", type: "checkbox").on(:click) { toggle_all }
      label(htmlFor: "toggle-all") { "Mark all as complete" }
      ul(id: "todo-list") do
        params[:todos].map do |todo|
          present TodoItem, todo: todo , key: todo.id
        end
      end
    end
  end
end

Version data entries

52 entries across 52 versions & 3 rubygems

Version Path
reactrb-0.8.8 example/todos/app/components/todo_list.react.rb
reactrb-0.8.7 example/todos/app/components/todo_list.react.rb
reactrb-0.8.6 example/todos/app/components/todo_list.react.rb
reactrb-0.8.5 example/todos/app/components/todo_list.react.rb
reactrb-0.8.4 example/todos/app/components/todo_list.react.rb
reactrb-0.8.3 example/todos/app/components/todo_list.react.rb
reactrb-0.8.1 example/todos/app/components/todo_list.react.rb
reactrb-0.8.0 example/todos/app/components/todo_list.react.rb
reactrb-0.7.42 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.41 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.40 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.39 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.38 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.36 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.35 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.34 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.33 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.32 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.31 example/todos/app/components/todo_list.react.rb
reactive-ruby-0.7.30 example/todos/app/components/todo_list.react.rb