js/models/todo.js (23 lines of code) (raw):

/*global Backbone */ var app = app || {}; (function () { 'use strict'; // Todo Model // ---------- // Our basic **Todo** model has `title`, `order`, and `completed` attributes. app.Todo = Backbone.Model.extend({ // Default attributes for the todo // and ensure that each todo created has `title` and `completed` keys. defaults: { title: '', completed: false }, idAttribute: "url", url: function() { if( this.isNew() ){ return this.collection.url; }else{ return this.get('url'); } }, // Toggle the `completed` state of this todo item. toggle: function () { this.save({ completed: !this.get('completed') },{patch:true}); } }); })();