UNPKG

todomvc

Version:

> Helping you select an MV\* framework

45 lines (33 loc) 1.2 kB
/*global Thorax, Store*/ (function () { 'use strict'; // Todo Collection // --------------- // The collection of todos is backed by *localStorage* instead of a remote // server. var TodoList = Thorax.Collection.extend({ // Reference to this collection's model. model: window.app.Todo, // Save all of the todo items under the `"todos"` namespace. localStorage: new Store('todos-backbone-thorax'), // Filter down the list of all todo items that are finished. completed: function () { return this.where({completed: true}); }, // Filter down the list to only todo items that are still not finished. remaining: function () { return this.where({completed: false}); }, // We keep the Todos in sequential order, despite being saved by unordered // GUID in the database. This generates the next order number for new items. nextOrder: function () { return this.length ? this.last().get('order') + 1 : 1; }, // Todos are sorted by their original insertion order. comparator: 'order' }); // Create our global collection of **Todos**. window.app.Todos = new TodoList(); // Ensure that we always have data available window.app.Todos.fetch(); }());