Skip to content

Add special handling of checkboxes by datalink. #87

Open
@ylg

Description

@ylg

There are a few pull requests handling checkboxes in ways specific to the author's needs: #24, #27, #56. I started working on a branch (here: https://github.com/ylg/backbone-rails/compare/master...checkbox_handling) building on their ideas to more generically handle checkboxes and wanted to get some thoughts before submitting a patch.

So far, what I've done is (given type === "checkbox"):

if the model's attribute holds a real Javascript array
  add or remove all occurrences of the checkbox's value attribute to or from the array

else if the checkbox's value is boolean-like, e.g., true, yes, on, or 1
  set the model's attribute to a boolean based on the checked status (or inverse in the case of a false value)

else
  copy or clear the checkbox's value to the model's attribute

Some open questions:

  1. Is this even something the gem should address OTS?
  2. Is removing all the matched values from the array really the least surprising? (Am leaning towards just popping one occurrence)
  3. Should we also handle Backbone collections here? (Seems like it.)
  4. What's the thinking about writing tests for the datalink code?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions