/GeneralStudy/TypeScriptHTMLApp1/DefinitelyTyped/backbone/backbone-tests.ts
http://mypet.codeplex.com · TypeScript · 113 lines · 79 code · 30 blank · 4 comment · 1 complexity · cababffb0a528ed72df612de1d3107d2 MD5 · raw file
- /// <reference path="backbone-0.9.d.ts" />
-
- declare var _, $;
-
- function test_events() {
-
- var object = new Backbone.Events();
- object.on("alert", (msg) => alert("Triggered " + msg));
-
- object.trigger("alert", "an event");
-
- var onChange = () => alert('whatever');
- var context: any;
-
- object.off("change", onChange);
- object.off("change");
- object.off(null, onChange);
- object.off(null, null, context);
- object.off();
- }
-
- function test_models() {
-
- var Sidebar = Backbone.Model.extend({
- promptColor: function () {
- var cssColor = prompt("Please enter a CSS color:");
- this.set({ color: cssColor });
- }
- });
-
- var sidebar = new Sidebar();
- sidebar.on('change:color', (model, color) => $('#sidebar').css({ background: color }));
- sidebar.set({ color: 'white' });
- sidebar.promptColor();
-
- ////////
-
- var Note = Backbone.Model.extend({
- initialize: () => { },
- author: () => { },
- coordinates: () => { },
- allowedToEdit: (account) => {
- return true;
- }
- });
-
- var PrivateNote = Note.extend({
-
- allowedToEdit: function (account) {
- return account.owns(this);
- }
-
- });
-
- //////////
-
- var note = Backbone.Model.extend({
- set: function (attributes, options) {
- Backbone.Model.prototype.set.call(this, attributes, options);
- }
- });
-
- note.get("title")
-
- note.set({ title: "March 20", content: "In his eyes she eclipses..." });
-
- note.set("title", "A Scandal in Bohemia");
- }
-
- class Employee extends Backbone.Model {
- reports: EmployeeCollection;
-
- constructor (options? ) {
- super(options);
- this.reports = new EmployeeCollection();
- this.reports.url = '../api/employees/' + this.id + '/reports';
- }
-
- more() {
- this.reports.reset();
- }
- }
-
- class EmployeeCollection extends Backbone.Collection {
- url: string = "../api/employees";
- findByName(key) { }
- }
- function test_collection() {
- var Book: Backbone.Model;
- var Library = Backbone.Collection.extend({
- model: Book
- });
-
- var Books: Backbone.Collection;
-
- Books.each(function (book) {
- });
-
- var titles = Books.map(function (book) {
- return book.get("title");
- });
-
- var publishedBooks = Books.filter(function (book) {
- return book.get("published") === true;
- });
-
- var alphabetical = Books.sortBy(function (book) {
- });
- }
-
- //////////
-
- Backbone.history.start();