├── .gitignore
├── .npmignore
├── .travis.yml
├── README.md
├── app
└── bower_components
│ ├── backbone.localStorage
│ ├── .bower.json
│ ├── .documentup.json
│ ├── .gitignore
│ ├── .travis.yml
│ ├── CHANGELOG.md
│ ├── CNAME
│ ├── Makefile
│ ├── README.md
│ ├── backbone.localStorage-min.js
│ ├── backbone.localStorage.js
│ ├── bower.json
│ ├── component.json
│ ├── examples
│ │ └── todos
│ │ │ ├── destroy.png
│ │ │ ├── index.html
│ │ │ ├── todos.css
│ │ │ └── todos.js
│ ├── package.json
│ └── spec
│ │ ├── localStorage_commonjs_spec.js
│ │ ├── localStorage_spec.js
│ │ ├── runner.html
│ │ ├── runner_commonjs.html
│ │ └── support
│ │ ├── backbone.js
│ │ ├── chai.js
│ │ ├── jquery.js
│ │ ├── mocha.css
│ │ ├── mocha.js
│ │ ├── require.js
│ │ └── underscore.js
│ ├── backbone
│ ├── .bower.json
│ ├── .gitignore
│ ├── .npmignore
│ ├── CNAME
│ ├── CONTRIBUTING.md
│ ├── LICENSE
│ ├── README.md
│ ├── backbone.js
│ ├── bower.json
│ ├── component.json
│ ├── index.html
│ ├── index.js
│ └── package.json
│ ├── es6-module-loader
│ ├── .bower.json
│ ├── .gitignore
│ ├── .jshintrc
│ ├── Gruntfile.js
│ ├── LICENSE-MIT
│ ├── README.md
│ ├── bower.json
│ └── dist
│ │ ├── es6-module-loader.js
│ │ ├── traceur-runtime.js
│ │ └── traceur.js
│ ├── jquery
│ ├── .bower.json
│ ├── MIT-LICENSE.txt
│ ├── bower.json
│ ├── dist
│ │ ├── jquery.js
│ │ ├── jquery.min.js
│ │ └── jquery.min.map
│ └── src
│ │ ├── ajax.js
│ │ ├── ajax
│ │ ├── jsonp.js
│ │ ├── load.js
│ │ ├── parseJSON.js
│ │ ├── parseXML.js
│ │ ├── script.js
│ │ ├── var
│ │ │ ├── nonce.js
│ │ │ └── rquery.js
│ │ └── xhr.js
│ │ ├── attributes.js
│ │ ├── attributes
│ │ ├── attr.js
│ │ ├── classes.js
│ │ ├── prop.js
│ │ ├── support.js
│ │ └── val.js
│ │ ├── callbacks.js
│ │ ├── core.js
│ │ ├── core
│ │ ├── access.js
│ │ ├── init.js
│ │ ├── parseHTML.js
│ │ ├── ready.js
│ │ └── var
│ │ │ └── rsingleTag.js
│ │ ├── css.js
│ │ ├── css
│ │ ├── addGetHookIf.js
│ │ ├── curCSS.js
│ │ ├── defaultDisplay.js
│ │ ├── hiddenVisibleSelectors.js
│ │ ├── support.js
│ │ ├── swap.js
│ │ └── var
│ │ │ ├── cssExpand.js
│ │ │ ├── getStyles.js
│ │ │ ├── isHidden.js
│ │ │ ├── rmargin.js
│ │ │ └── rnumnonpx.js
│ │ ├── data.js
│ │ ├── data
│ │ ├── Data.js
│ │ ├── accepts.js
│ │ └── var
│ │ │ ├── data_priv.js
│ │ │ └── data_user.js
│ │ ├── deferred.js
│ │ ├── deprecated.js
│ │ ├── dimensions.js
│ │ ├── effects.js
│ │ ├── effects
│ │ ├── Tween.js
│ │ └── animatedSelector.js
│ │ ├── event.js
│ │ ├── event
│ │ ├── alias.js
│ │ └── support.js
│ │ ├── exports
│ │ ├── amd.js
│ │ └── global.js
│ │ ├── intro.js
│ │ ├── jquery.js
│ │ ├── manipulation.js
│ │ ├── manipulation
│ │ ├── _evalUrl.js
│ │ ├── support.js
│ │ └── var
│ │ │ └── rcheckableType.js
│ │ ├── offset.js
│ │ ├── outro.js
│ │ ├── queue.js
│ │ ├── queue
│ │ └── delay.js
│ │ ├── selector-native.js
│ │ ├── selector-sizzle.js
│ │ ├── selector.js
│ │ ├── serialize.js
│ │ ├── sizzle
│ │ └── dist
│ │ │ ├── sizzle.js
│ │ │ ├── sizzle.min.js
│ │ │ └── sizzle.min.map
│ │ ├── traversing.js
│ │ ├── traversing
│ │ ├── findFilter.js
│ │ └── var
│ │ │ └── rneedsContext.js
│ │ ├── var
│ │ ├── arr.js
│ │ ├── class2type.js
│ │ ├── concat.js
│ │ ├── hasOwn.js
│ │ ├── indexOf.js
│ │ ├── pnum.js
│ │ ├── push.js
│ │ ├── rnotwhite.js
│ │ ├── slice.js
│ │ ├── strundefined.js
│ │ ├── support.js
│ │ ├── toString.js
│ │ └── trim.js
│ │ └── wrap.js
│ ├── lodash
│ ├── .bower.json
│ ├── LICENSE.txt
│ ├── bower.json
│ └── dist
│ │ ├── lodash.compat.js
│ │ ├── lodash.compat.min.js
│ │ ├── lodash.js
│ │ ├── lodash.min.js
│ │ ├── lodash.underscore.js
│ │ └── lodash.underscore.min.js
│ ├── todomvc-common
│ ├── .bower.json
│ ├── base.css
│ ├── base.js
│ ├── bg.png
│ ├── bower.json
│ └── readme.md
│ └── underscore
│ ├── .bower.json
│ ├── .editorconfig
│ ├── .gitignore
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── component.json
│ ├── package.json
│ └── underscore.js
├── bower.json
├── bower_components
├── backbone.localStorage
│ └── backbone.localStorage.js
├── backbone
│ └── backbone.js
├── es6-module-loader
│ ├── .bower.json
│ ├── .gitignore
│ ├── .jshintrc
│ └── dist
│ │ ├── es6-module-loader.js
│ │ └── traceur.js
├── jquery
│ └── jquery.js
├── lodash
│ └── dist
│ │ └── lodash.js
└── todomvc-common
│ ├── base.css
│ ├── base.js
│ └── bg.png
├── docs
├── app.html
├── docco.css
├── public
│ ├── fonts
│ │ ├── aller-bold.eot
│ │ ├── aller-bold.ttf
│ │ ├── aller-bold.woff
│ │ ├── aller-light.eot
│ │ ├── aller-light.ttf
│ │ ├── aller-light.woff
│ │ ├── novecento-bold.eot
│ │ ├── novecento-bold.ttf
│ │ └── novecento-bold.woff
│ └── stylesheets
│ │ └── normalize.css
└── todo-app.html
├── index.html
└── js
├── app.js
└── todo-app.js
/.gitignore:
--------------------------------------------------------------------------------
1 | out
2 | .svn
3 | *.swp
4 | .DS_Store
5 | *.sublime-project
6 | *.sublime-workspace
7 | node_modules
8 | build/dep.mk
9 | build/local.mk
10 | bin/traceur.min.js
11 | bin/traceur.ugly.js
12 | src/syntax/trees/ParseTreeType.js
13 | src/syntax/trees/ParseTrees.js
14 | src/syntax/ParseTreeVisitor.js
15 | src/codegeneration/ParseTreeTransformer.js
16 | src/outputgeneration/SourceMapIntegration.js
17 | test/errsfile.json
18 | test/bench/esprima
19 | test/test-list.js
20 | *.dep
21 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | *
2 | !src/runtime/runtime.js
3 | !src/node/*.js
4 | !bin/traceur.js
5 | !traceur
6 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.8
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Backbone TodoMVC + ECMAScript 6
2 |
3 | This repo contains an implementation of the Backbone TodoMVC app rewritten to use ES6 modules, classes and other features. Using the [Traceur compiler](https://github.com/google/traceur-compiler), we're able to use these features in today's browsers with it being dynamically interpreted at runtime.
4 |
5 | * [Demo](http://tastejs.com/todomvc-backbone-es6/)
6 | * Documentation: [app.js](http://tastejs.com/todomvc-backbone-es6/docs/app.html) and [todo-app.js](http://tastejs.com/todomvc-backbone-es6/docs/todo-app.html).
7 |
8 | Run `index.html` on a server to try out the app, or read `docs/app.html` for the literate Docco version.
9 |
10 | ## Preview
11 |
12 |
13 |
14 | ## Bower
15 |
16 | This repository uses [Bower](http://bower.io) and a checked in version of `bower_components` for dependencies. To update dependencies to the latest version run `bower update`.
17 |
18 | ## Docco compilation
19 |
20 | * `npm install -g docco`
21 | * `docco js/todo-app.js js/app.js`
22 | * Update the `docs` directory
23 |
24 |
25 | ## License
26 |
27 | MIT
28 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "backbone.localStorage",
3 | "version": "1.1.7",
4 | "main": "./backbone.localStorage.js",
5 | "dependencies": {},
6 | "homepage": "https://github.com/jeromegn/Backbone.localStorage",
7 | "_release": "1.1.7",
8 | "_resolution": {
9 | "type": "version",
10 | "tag": "v1.1.7",
11 | "commit": "363a7c38e0903d29ee978f0987d4456065db27dc"
12 | },
13 | "_source": "git://github.com/jeromegn/Backbone.localStorage.git",
14 | "_target": "~1.1.7",
15 | "_originalSource": "backbone.localStorage"
16 | }
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/.documentup.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Backbone.localStorage",
3 | "twitter": "jeromegn"
4 | }
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/.gitignore:
--------------------------------------------------------------------------------
1 | spec/localStorage_commonjs_spec.bundled.js
2 | node_modules
3 | \.DS_Store
4 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 0.8
4 | before_script:
5 | - "export DISPLAY=:99.0"
6 | - "sh -e /etc/init.d/xvfb start"
7 | script: make test
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 1.1.7 - October 4, 2013
4 |
5 | - Fix CommonJS requiring (Brandon Dimcheff)
6 |
7 | ## 1.1.6 - July 2, 2013
8 |
9 | - Don't assume `require` is defined when `exports` is defined (#100)
10 |
11 | ## 1.1.5 - At some point...
12 |
13 | - Can't remember...
14 |
15 | ## 1.1.4 - May 19, 2013
16 |
17 | - #90 Check for localStorage (throw an error if not available)
18 |
19 | ## 1.1.3 - May 12, 2013
20 |
21 | - #79 Added CommonJS support
22 |
23 | ## 1.1.2 - May 12, 2013
24 |
25 | - #82 Upgraded Backbone to version 1.0 in test suite
26 | - Fixed a few bugs after upgrading to 1.0... looks like Backbone is now triggering the events we were previously manually triggering.
27 |
28 | ## 1.1.1 - May 11, 2013
29 |
30 | - #87 Fixes Lodash v1.0.0-rc.1 removal of _#chain
31 | - #86 Fix for when developer has specified in backbone which jQuery version to use by setting Backbone.$
32 |
33 | ## 1.1.0 - prior to May 11, 2013
34 |
35 | - localStorage adapter for Backbone.js
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/CNAME:
--------------------------------------------------------------------------------
1 | localtodos.com
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/Makefile:
--------------------------------------------------------------------------------
1 | bin = ./node_modules/.bin
2 |
3 | test: test-globals-amd test-commonjs
4 |
5 | test-globals-amd:
6 | $(bin)/mocha-phantomjs ./spec/runner.html
7 |
8 | test-commonjs: install ./spec/localStorage_commonjs_spec.bundled.js
9 | $(bin)/mocha-phantomjs ./spec/runner_commonjs.html
10 |
11 | link install:
12 | @npm $@
13 |
14 | clean:
15 | rm -rf node_modules ./spec/localStorage_commonjs_spec.bundled.js
16 |
17 | ./spec/localStorage_commonjs_spec.bundled.js: ./spec/localStorage_commonjs_spec.js
18 | $(bin)/browserify -e $< -o $@
19 |
20 | minify:
21 | $(bin)/uglifyjs -o backbone.localStorage-min.js backbone.localStorage.js
22 |
23 | # Get version number from package.json, need this for tagging.
24 | version = $(shell node -e "console.log(JSON.parse(require('fs').readFileSync('package.json')).version)")
25 |
26 | # npm publish, public-docs and tag
27 | publish :
28 | npm publish
29 | git push
30 | git tag v$(version)
31 | git push --tags origin master
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/README.md:
--------------------------------------------------------------------------------
1 | # Backbone localStorage Adapter v1.1.7
2 |
3 | [](http://travis-ci.org/jeromegn/Backbone.localStorage)
4 |
5 | Quite simply a localStorage adapter for Backbone. It's a drop-in replacement for Backbone.Sync() to handle saving to a localStorage database.
6 |
7 | [](https://www.gittip.com/jeromegn/)
8 |
9 | ## Usage
10 |
11 | Include Backbone.localStorage after having included Backbone.js:
12 |
13 | ```html
14 |
15 |
16 | ```
17 |
18 | Create your collections like so:
19 |
20 | ```javascript
21 | window.SomeCollection = Backbone.Collection.extend({
22 |
23 | localStorage: new Backbone.LocalStorage("SomeCollection"), // Unique name within your app.
24 |
25 | // ... everything else is normal.
26 |
27 | });
28 | ```
29 | ### RequireJS
30 |
31 | Include [RequireJS](http://requirejs.org):
32 |
33 | ```html
34 |
35 | ```
36 |
37 | RequireJS config:
38 | ```javascript
39 | require.config({
40 | paths: {
41 | jquery: "lib/jquery",
42 | underscore: "lib/underscore",
43 | backbone: "lib/backbone",
44 | localstorage: "lib/backbone.localStorage"
45 | }
46 | });
47 | ```
48 |
49 | Define your collection as a module:
50 | ```javascript
51 | define("someCollection", ["localstorage"], function() {
52 | var SomeCollection = Backbone.Collection.extend({
53 | localStorage: new Backbone.LocalStorage("SomeCollection") // Unique name within your app.
54 | });
55 |
56 | return new SomeCollection();
57 | });
58 | ```
59 |
60 | Require your collection:
61 | ```javascript
62 | require(["someCollection"], function(someCollection) {
63 | // ready to use someCollection
64 | });
65 | ```
66 |
67 | ### CommonJS
68 |
69 | If you're using [browserify](https://github.com/substack/node-browserify).
70 |
71 | ```javascript
72 | Backbone.LocalStorage = require("backbone.localstorage");
73 | ```
74 |
75 | ##Support
76 |
77 | If you're having a problem with using the project, get help at CodersClan.
78 |
79 |
80 |
81 | ## Contributing
82 |
83 | You'll need node and to `npm install` before being able to run the minification script.
84 |
85 | 1. Fork;
86 | 2. Write code, with tests;
87 | 3. `make test` or `open spec/runner.html`;
88 | 4. Create a pull request.
89 |
90 | Have fun!
91 |
92 | ## Acknowledgments
93 |
94 | - [Mark Woodall](https://github.com/llad): initial tests (now refactored);
95 | - [Martin Häcker](https://github.com/dwt): many fixes and the test isolation.
96 |
97 | ## License
98 |
99 | Licensed under MIT license
100 |
101 | Copyright (c) 2010 Jerome Gravel-Niquet
102 |
103 | Permission is hereby granted, free of charge, to any person obtaining
104 | a copy of this software and associated documentation files (the
105 | "Software"), to deal in the Software without restriction, including
106 | without limitation the rights to use, copy, modify, merge, publish,
107 | distribute, sublicense, and/or sell copies of the Software, and to
108 | permit persons to whom the Software is furnished to do so, subject to
109 | the following conditions:
110 |
111 | The above copyright notice and this permission notice shall be
112 | included in all copies or substantial portions of the Software.
113 |
114 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
115 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
116 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
117 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
118 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
119 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
120 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
121 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/backbone.localStorage-min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Backbone localStorage Adapter
3 | * Version 1.1.7
4 | *
5 | * https://github.com/jeromegn/Backbone.localStorage
6 | */(function(a,b){typeof exports=="object"&&typeof require=="function"?module.exports=b(require("underscore"),require("backbone")):typeof define=="function"&&define.amd?define(["underscore","backbone"],function(c,d){return b(c||a._,d||a.Backbone)}):b(_,Backbone)})(this,function(a,b){function c(){return((1+Math.random())*65536|0).toString(16).substring(1)}function d(){return c()+c()+"-"+c()+"-"+c()+"-"+c()+"-"+c()+c()+c()}return b.LocalStorage=window.Store=function(a){if(!this.localStorage)throw"Backbone.localStorage: Environment does not support localStorage.";this.name=a;var b=this.localStorage().getItem(this.name);this.records=b&&b.split(",")||[]},a.extend(b.LocalStorage.prototype,{save:function(){this.localStorage().setItem(this.name,this.records.join(","))},create:function(a){return a.id||(a.id=d(),a.set(a.idAttribute,a.id)),this.localStorage().setItem(this.name+"-"+a.id,JSON.stringify(a)),this.records.push(a.id.toString()),this.save(),this.find(a)},update:function(b){return this.localStorage().setItem(this.name+"-"+b.id,JSON.stringify(b)),a.include(this.records,b.id.toString())||this.records.push(b.id.toString()),this.save(),this.find(b)},find:function(a){return this.jsonData(this.localStorage().getItem(this.name+"-"+a.id))},findAll:function(){return(a.chain||a)(this.records).map(function(a){return this.jsonData(this.localStorage().getItem(this.name+"-"+a))},this).compact().value()},destroy:function(b){return b.isNew()?!1:(this.localStorage().removeItem(this.name+"-"+b.id),this.records=a.reject(this.records,function(a){return a===b.id.toString()}),this.save(),b)},localStorage:function(){return localStorage},jsonData:function(a){return a&&JSON.parse(a)},_clear:function(){var b=this.localStorage(),c=new RegExp("^"+this.name+"-");b.removeItem(this.name),(a.chain||a)(b).keys().filter(function(a){return c.test(a)}).each(function(a){b.removeItem(a)}),this.records.length=0},_storageSize:function(){return this.localStorage().length}}),b.LocalStorage.sync=window.Store.sync=b.localSync=function(a,c,d){var e=c.localStorage||c.collection.localStorage,f,g,h=b.$.Deferred&&b.$.Deferred();try{switch(a){case"read":f=c.id!=undefined?e.find(c):e.findAll();break;case"create":f=e.create(c);break;case"update":f=e.update(c);break;case"delete":f=e.destroy(c)}}catch(i){i.code===22&&e._storageSize()===0?g="Private browsing is unsupported":g=i.message}return f?(d&&d.success&&(b.VERSION==="0.9.10"?d.success(c,f,d):d.success(f)),h&&h.resolve(f)):(g=g?g:"Record Not Found",d&&d.error&&(b.VERSION==="0.9.10"?d.error(c,g,d):d.error(g)),h&&h.reject(g)),d&&d.complete&&d.complete(f),h&&h.promise()},b.ajaxSync=b.sync,b.getSyncMethod=function(a){return a.localStorage||a.collection&&a.collection.localStorage?b.localSync:b.ajaxSync},b.sync=function(a,c,d){return b.getSyncMethod(c).apply(this,[a,c,d])},b.LocalStorage});
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "backbone.localStorage",
3 | "version": "1.1.7",
4 | "main": "./backbone.localStorage.js",
5 | "dependencies": {}
6 | }
7 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "backbone.localStorage",
3 | "version": "1.1.7",
4 | "main": "./backbone.localStorage.js",
5 | "dependencies": {}
6 | }
7 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/examples/todos/destroy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tastejs/todomvc-backbone-es6/30bd0a384c3bfbd04e49746cd73a1f13d00463be/app/bower_components/backbone.localStorage/examples/todos/destroy.png
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/examples/todos/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Backbone.js Todos
7 |
8 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
32 |
33 |
38 |
39 |
43 |
44 |
45 |
46 |
47 | Double-click to edit a todo.
48 |
49 |
50 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
73 |
74 |
80 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/examples/todos/todos.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | margin: 0;
4 | padding: 0;
5 | }
6 |
7 | body {
8 | font: 14px "Helvetica Neue", Helvetica, Arial, sans-serif;
9 | line-height: 1.4em;
10 | background: #eeeeee;
11 | color: #333333;
12 | width: 520px;
13 | margin: 0 auto;
14 | -webkit-font-smoothing: antialiased;
15 | }
16 |
17 | #todoapp {
18 | background: #fff;
19 | padding: 20px;
20 | margin-bottom: 40px;
21 | -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 6px 0;
22 | -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 6px 0;
23 | -ms-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 6px 0;
24 | -o-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 6px 0;
25 | box-shadow: rgba(0, 0, 0, 0.2) 0 2px 6px 0;
26 | -webkit-border-radius: 0 0 5px 5px;
27 | -moz-border-radius: 0 0 5px 5px;
28 | -ms-border-radius: 0 0 5px 5px;
29 | -o-border-radius: 0 0 5px 5px;
30 | border-radius: 0 0 5px 5px;
31 | }
32 |
33 | #todoapp h1 {
34 | font-size: 36px;
35 | font-weight: bold;
36 | text-align: center;
37 | padding: 0 0 10px 0;
38 | }
39 |
40 | #todoapp input[type="text"] {
41 | width: 466px;
42 | font-size: 24px;
43 | font-family: inherit;
44 | line-height: 1.4em;
45 | border: 0;
46 | outline: none;
47 | padding: 6px;
48 | border: 1px solid #999999;
49 | -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px 0 inset;
50 | -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px 0 inset;
51 | -ms-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px 0 inset;
52 | -o-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px 0 inset;
53 | box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px 0 inset;
54 | }
55 |
56 | #todoapp input::-webkit-input-placeholder {
57 | font-style: italic;
58 | }
59 |
60 | #main {
61 | display: none;
62 | }
63 |
64 | #todo-list {
65 | margin: 10px 0;
66 | padding: 0;
67 | list-style: none;
68 | }
69 |
70 | #todo-list li {
71 | padding: 18px 20px 18px 0;
72 | position: relative;
73 | font-size: 24px;
74 | border-bottom: 1px solid #cccccc;
75 | }
76 |
77 | #todo-list li:last-child {
78 | border-bottom: none;
79 | }
80 |
81 | #todo-list li.done label {
82 | color: #777777;
83 | text-decoration: line-through;
84 | }
85 |
86 | #todo-list .destroy {
87 | position: absolute;
88 | right: 5px;
89 | top: 20px;
90 | display: none;
91 | cursor: pointer;
92 | width: 20px;
93 | height: 20px;
94 | background: url(destroy.png) no-repeat;
95 | }
96 |
97 | #todo-list li:hover .destroy {
98 | display: block;
99 | }
100 |
101 | #todo-list .destroy:hover {
102 | background-position: 0 -20px;
103 | }
104 |
105 | #todo-list li.editing {
106 | border-bottom: none;
107 | margin-top: -1px;
108 | padding: 0;
109 | }
110 |
111 | #todo-list li.editing:last-child {
112 | margin-bottom: -1px;
113 | }
114 |
115 | #todo-list li.editing .edit {
116 | display: block;
117 | width: 444px;
118 | padding: 13px 15px 14px 20px;
119 | margin: 0;
120 | }
121 |
122 | #todo-list li.editing .view {
123 | display: none;
124 | }
125 |
126 | #todo-list li .view label {
127 | word-break: break-word;
128 | }
129 |
130 | #todo-list li .edit {
131 | display: none;
132 | }
133 |
134 | #todoapp footer {
135 | display: none;
136 | margin: 0 -20px -20px -20px;
137 | overflow: hidden;
138 | color: #555555;
139 | background: #f4fce8;
140 | border-top: 1px solid #ededed;
141 | padding: 0 20px;
142 | line-height: 37px;
143 | -webkit-border-radius: 0 0 5px 5px;
144 | -moz-border-radius: 0 0 5px 5px;
145 | -ms-border-radius: 0 0 5px 5px;
146 | -o-border-radius: 0 0 5px 5px;
147 | border-radius: 0 0 5px 5px;
148 | }
149 |
150 | #clear-completed {
151 | float: right;
152 | line-height: 20px;
153 | text-decoration: none;
154 | background: rgba(0, 0, 0, 0.1);
155 | color: #555555;
156 | font-size: 11px;
157 | margin-top: 8px;
158 | margin-bottom: 8px;
159 | padding: 0 10px 1px;
160 | cursor: pointer;
161 | -webkit-border-radius: 12px;
162 | -moz-border-radius: 12px;
163 | -ms-border-radius: 12px;
164 | -o-border-radius: 12px;
165 | border-radius: 12px;
166 | -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 0 0;
167 | -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 0 0;
168 | -ms-box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 0 0;
169 | -o-box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 0 0;
170 | box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 0 0;
171 | }
172 |
173 | #clear-completed:hover {
174 | background: rgba(0, 0, 0, 0.15);
175 | -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0 0;
176 | -moz-box-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0 0;
177 | -ms-box-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0 0;
178 | -o-box-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0 0;
179 | box-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0 0;
180 | }
181 |
182 | #clear-completed:active {
183 | position: relative;
184 | top: 1px;
185 | }
186 |
187 | #todo-count span {
188 | font-weight: bold;
189 | }
190 |
191 | #instructions {
192 | margin: 10px auto;
193 | color: #777777;
194 | text-shadow: rgba(255, 255, 255, 0.8) 0 1px 0;
195 | text-align: center;
196 | }
197 |
198 | #instructions a {
199 | color: #336699;
200 | }
201 |
202 | #credits {
203 | margin: 30px auto;
204 | color: #999;
205 | text-shadow: rgba(255, 255, 255, 0.8) 0 1px 0;
206 | text-align: center;
207 | }
208 |
209 | #credits a {
210 | color: #888;
211 | }
212 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "author": "Jerome Gravel-Niquet (http://jgn.me)",
3 | "name": "backbone.localstorage",
4 | "version": "1.1.7",
5 | "repository": {
6 | "type": "git",
7 | "url": "git://github.com/jeromegn/Backbone.localStorage.git"
8 | },
9 | "dependencies": {
10 | "backbone": "~1.x.x",
11 | "underscore": "~1.4.x"
12 | },
13 | "devDependencies": {
14 | "uglify-js": "~1.2.6",
15 | "mocha-phantomjs": "~1.1.2",
16 | "browserify": "~2.x.x"
17 | },
18 | "main": "./backbone.localStorage.js",
19 | "engines": {
20 | "node": "*"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/spec/localStorage_commonjs_spec.js:
--------------------------------------------------------------------------------
1 | describe("Backbone.localStorage in CommonJS environment", function() {
2 |
3 | var LocalStorage = require("../backbone.localStorage");
4 | var Backbone = require("backbone");
5 |
6 | it("should be the same as the non-CommonJS usage", function(){
7 | assert.equal(Backbone.LocalStorage, LocalStorage);
8 | });
9 | });
10 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/spec/runner.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Backbone.localStorage Test Suite
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
35 |
36 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/spec/runner_commonjs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Backbone.localStorage Test Suite (CommonJS environment)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
21 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/bower_components/backbone.localStorage/spec/support/mocha.css:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 |
3 | body {
4 | font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
5 | padding: 60px 50px;
6 | }
7 |
8 | #mocha ul, #mocha li {
9 | margin: 0;
10 | padding: 0;
11 | }
12 |
13 | #mocha ul {
14 | list-style: none;
15 | }
16 |
17 | #mocha h1, #mocha h2 {
18 | margin: 0;
19 | }
20 |
21 | #mocha h1 {
22 | margin-top: 15px;
23 | font-size: 1em;
24 | font-weight: 200;
25 | }
26 |
27 | #mocha h1 a {
28 | text-decoration: none;
29 | color: inherit;
30 | }
31 |
32 | #mocha h1 a:hover {
33 | text-decoration: underline;
34 | }
35 |
36 | #mocha .suite .suite h1 {
37 | margin-top: 0;
38 | font-size: .8em;
39 | }
40 |
41 | .hidden {
42 | display: none;
43 | }
44 |
45 | #mocha h2 {
46 | font-size: 12px;
47 | font-weight: normal;
48 | cursor: pointer;
49 | }
50 |
51 | #mocha .suite {
52 | margin-left: 15px;
53 | }
54 |
55 | #mocha .test {
56 | margin-left: 15px;
57 | overflow: hidden;
58 | }
59 |
60 | #mocha .test.pending:hover h2::after {
61 | content: '(pending)';
62 | font-family: arial;
63 | }
64 |
65 | #mocha .test.pass.medium .duration {
66 | background: #C09853;
67 | }
68 |
69 | #mocha .test.pass.slow .duration {
70 | background: #B94A48;
71 | }
72 |
73 | #mocha .test.pass::before {
74 | content: '✓';
75 | font-size: 12px;
76 | display: block;
77 | float: left;
78 | margin-right: 5px;
79 | color: #00d6b2;
80 | }
81 |
82 | #mocha .test.pass .duration {
83 | font-size: 9px;
84 | margin-left: 5px;
85 | padding: 2px 5px;
86 | color: white;
87 | -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
88 | -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
89 | box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
90 | -webkit-border-radius: 5px;
91 | -moz-border-radius: 5px;
92 | -ms-border-radius: 5px;
93 | -o-border-radius: 5px;
94 | border-radius: 5px;
95 | }
96 |
97 | #mocha .test.pass.fast .duration {
98 | display: none;
99 | }
100 |
101 | #mocha .test.pending {
102 | color: #0b97c4;
103 | }
104 |
105 | #mocha .test.pending::before {
106 | content: '◦';
107 | color: #0b97c4;
108 | }
109 |
110 | #mocha .test.fail {
111 | color: #c00;
112 | }
113 |
114 | #mocha .test.fail pre {
115 | color: black;
116 | }
117 |
118 | #mocha .test.fail::before {
119 | content: '✖';
120 | font-size: 12px;
121 | display: block;
122 | float: left;
123 | margin-right: 5px;
124 | color: #c00;
125 | }
126 |
127 | #mocha .test pre.error {
128 | color: #c00;
129 | max-height: 300px;
130 | overflow: auto;
131 | }
132 |
133 | #mocha .test pre {
134 | display: block;
135 | float: left;
136 | clear: left;
137 | font: 12px/1.5 monaco, monospace;
138 | margin: 5px;
139 | padding: 15px;
140 | border: 1px solid #eee;
141 | border-bottom-color: #ddd;
142 | -webkit-border-radius: 3px;
143 | -webkit-box-shadow: 0 1px 3px #eee;
144 | -moz-border-radius: 3px;
145 | -moz-box-shadow: 0 1px 3px #eee;
146 | }
147 |
148 | #mocha .test h2 {
149 | position: relative;
150 | }
151 |
152 | #mocha .test a.replay {
153 | position: absolute;
154 | top: 3px;
155 | right: 0;
156 | text-decoration: none;
157 | vertical-align: middle;
158 | display: block;
159 | width: 15px;
160 | height: 15px;
161 | line-height: 15px;
162 | text-align: center;
163 | background: #eee;
164 | font-size: 15px;
165 | -moz-border-radius: 15px;
166 | border-radius: 15px;
167 | -webkit-transition: opacity 200ms;
168 | -moz-transition: opacity 200ms;
169 | transition: opacity 200ms;
170 | opacity: 0.3;
171 | color: #888;
172 | }
173 |
174 | #mocha .test:hover a.replay {
175 | opacity: 1;
176 | }
177 |
178 | #mocha-report.pass .test.fail {
179 | display: none;
180 | }
181 |
182 | #mocha-report.fail .test.pass {
183 | display: none;
184 | }
185 |
186 | #mocha-error {
187 | color: #c00;
188 | font-size: 1.5 em;
189 | font-weight: 100;
190 | letter-spacing: 1px;
191 | }
192 |
193 | #mocha-stats {
194 | position: fixed;
195 | top: 15px;
196 | right: 10px;
197 | font-size: 12px;
198 | margin: 0;
199 | color: #888;
200 | }
201 |
202 | #mocha-stats .progress {
203 | float: right;
204 | padding-top: 0;
205 | }
206 |
207 | #mocha-stats em {
208 | color: black;
209 | }
210 |
211 | #mocha-stats a {
212 | text-decoration: none;
213 | color: inherit;
214 | }
215 |
216 | #mocha-stats a:hover {
217 | border-bottom: 1px solid #eee;
218 | }
219 |
220 | #mocha-stats li {
221 | display: inline-block;
222 | margin: 0 5px;
223 | list-style: none;
224 | padding-top: 11px;
225 | }
226 |
227 | code .comment { color: #ddd }
228 | code .init { color: #2F6FAD }
229 | code .string { color: #5890AD }
230 | code .keyword { color: #8A6343 }
231 | code .number { color: #2F6FAD }
232 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "backbone",
3 | "version": "1.1.2",
4 | "main": "backbone.js",
5 | "dependencies": {
6 | "underscore": ">=1.5.0"
7 | },
8 | "ignore": [
9 | "backbone-min.js",
10 | "docs",
11 | "examples",
12 | "test",
13 | "*.yml",
14 | "*.map",
15 | ".html",
16 | "*.ico"
17 | ],
18 | "homepage": "https://github.com/jashkenas/backbone",
19 | "_release": "1.1.2",
20 | "_resolution": {
21 | "type": "version",
22 | "tag": "1.1.2",
23 | "commit": "53f77901a4ea9c7cf75d3db93ddddf491998d90f"
24 | },
25 | "_source": "git://github.com/jashkenas/backbone.git",
26 | "_target": "~1.1.0",
27 | "_originalSource": "backbone"
28 | }
--------------------------------------------------------------------------------
/app/bower_components/backbone/.gitignore:
--------------------------------------------------------------------------------
1 | raw
2 | *.sw?
3 | .DS_Store
4 | node_modules
5 | bower_components
6 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/.npmignore:
--------------------------------------------------------------------------------
1 | test/
2 | Rakefile
3 | docs/
4 | raw/
5 | examples/
6 | index.html
7 | .jshintrc
8 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/CNAME:
--------------------------------------------------------------------------------
1 | backbonejs.org
2 |
3 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ## How to Open a Backbone.js Ticket
2 |
3 | * Do not use tickets to ask for help with (debugging) your application. Ask on
4 | the [mailing list](https://groups.google.com/forum/#!forum/backbonejs),
5 | in the IRC channel (`#documentcloud` on Freenode), or if you understand your
6 | specific problem, on [StackOverflow](http://stackoverflow.com/questions/tagged/backbone.js).
7 |
8 | * Before you open a ticket or send a pull request,
9 | [search](https://github.com/jashkenas/backbone/issues) for previous
10 | discussions about the same feature or issue. Add to the earlier ticket if you
11 | find one.
12 |
13 | * Before sending a pull request for a feature or bug fix, be sure to have
14 | [tests](http://backbonejs.org/test/).
15 |
16 | * Use the same coding style as the rest of the
17 | [codebase](https://github.com/jashkenas/backbone/blob/master/backbone.js).
18 |
19 | * In your pull request, do not add documentation or rebuild the minified
20 | `backbone-min.js` file. We'll do that before cutting a new release.
21 |
22 | * All pull requests should be made to the `master` branch.
23 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2010-2014 Jeremy Ashkenas, DocumentCloud
2 |
3 | Permission is hereby granted, free of charge, to any person
4 | obtaining a copy of this software and associated documentation
5 | files (the "Software"), to deal in the Software without
6 | restriction, including without limitation the rights to use,
7 | copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the
9 | Software is furnished to do so, subject to the following
10 | conditions:
11 |
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/README.md:
--------------------------------------------------------------------------------
1 | ____ __ __
2 | /\ _`\ /\ \ /\ \ __
3 | \ \ \ \ \ __ ___\ \ \/'\\ \ \____ ___ ___ __ /\_\ ____
4 | \ \ _ <' /'__`\ /'___\ \ , < \ \ '__`\ / __`\ /' _ `\ /'__`\ \/\ \ /',__\
5 | \ \ \ \ \/\ \ \.\_/\ \__/\ \ \\`\\ \ \ \ \/\ \ \ \/\ \/\ \/\ __/ __ \ \ \/\__, `\
6 | \ \____/\ \__/.\_\ \____\\ \_\ \_\ \_,__/\ \____/\ \_\ \_\ \____\/\_\_\ \ \/\____/
7 | \/___/ \/__/\/_/\/____/ \/_/\/_/\/___/ \/___/ \/_/\/_/\/____/\/_/\ \_\ \/___/
8 | \ \____/
9 | \/___/
10 | (_'_______________________________________________________________________________'_)
11 | (_.———————————————————————————————————————————————————————————————————————————————._)
12 |
13 |
14 | Backbone supplies structure to JavaScript-heavy applications by providing models key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.
15 |
16 | For Docs, License, Tests, pre-packed downloads, and everything else, really, see:
17 | http://backbonejs.org
18 |
19 | To suggest a feature, report a bug, or general discussion:
20 | http://github.com/jashkenas/backbone/issues
21 |
22 | Backbone is an open-sourced component of DocumentCloud:
23 | https://github.com/documentcloud
24 |
25 | Many thanks to our contributors:
26 | http://github.com/jashkenas/backbone/contributors
27 |
28 | Special thanks to Robert Kieffer for the original philosophy behind Backbone.
29 | http://github.com/broofa
30 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name" : "backbone",
3 | "version" : "1.1.2",
4 | "main" : "backbone.js",
5 | "dependencies" : {
6 | "underscore" : ">=1.5.0"
7 | },
8 | "ignore" : ["backbone-min.js", "docs", "examples", "test", "*.yml", "*.map", ".html", "*.ico"]
9 | }
10 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name" : "backbone",
3 | "version" : "1.1.2",
4 | "description" : "Give your JS App some Backbone with Models, Views, Collections, and Events.",
5 | "keywords" : ["model", "view", "controller", "router", "server", "client", "browser"],
6 | "repo" : "jashkenas/backbone",
7 | "dependencies" : {
8 | "jashkenas/underscore" : "*"
9 | },
10 | "main" : "backbone.js",
11 | "scripts" : ["backbone.js"],
12 | "license" : "MIT"
13 | }
14 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/index.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./backbone');
2 |
--------------------------------------------------------------------------------
/app/bower_components/backbone/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name" : "backbone",
3 | "description" : "Give your JS App some Backbone with Models, Views, Collections, and Events.",
4 | "url" : "http://backbonejs.org",
5 | "keywords" : ["model", "view", "controller", "router", "server", "client", "browser"],
6 | "author" : "Jeremy Ashkenas ",
7 | "dependencies" : {
8 | "underscore" : ">=1.5.0"
9 | },
10 | "devDependencies": {
11 | "phantomjs": "1.9.0-1",
12 | "docco": "0.6.1",
13 | "coffee-script": "1.6.1"
14 | },
15 | "scripts": {
16 | "test": "phantomjs test/vendor/runner.js test/index.html?noglobals=true && coffee test/model.coffee",
17 | "build": "uglifyjs backbone.js --mangle --source-map backbone-min.map -o backbone-min.js",
18 | "doc": "docco backbone.js && docco examples/todos/todos.js examples/backbone.localstorage.js",
19 | "lint": "jsl -nofilelisting -nologo -conf docs/jsl.conf -process backbone.js"
20 | },
21 | "main" : "backbone.js",
22 | "version" : "1.1.2",
23 | "license" : "MIT",
24 | "repository": {
25 | "type": "git",
26 | "url": "https://github.com/jashkenas/backbone.git"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/bower_components/es6-module-loader/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "es6-module-loader",
3 | "version": "0.4.3",
4 | "description": "An ES6 Module Loader polyfill based on the latest spec.",
5 | "homepage": "https://github.com/ModuleLoader/es6-module-loader",
6 | "main": "dist/es6-module-loader.js",
7 | "keywords": [
8 | "es6",
9 | "harmony",
10 | "polyfill",
11 | "modules"
12 | ],
13 | "ignore": [
14 | "demo",
15 | "lib",
16 | "test",
17 | "grunt.js",
18 | "package.json"
19 | ],
20 | "repository": {
21 | "type": "git",
22 | "url": "https://github.com/ModuleLoader/es6-module-loader.git"
23 | },
24 | "licenses": [
25 | {
26 | "type": "MIT"
27 | }
28 | ],
29 | "_release": "0.4.3",
30 | "_resolution": {
31 | "type": "version",
32 | "tag": "v0.4.3",
33 | "commit": "52b67e3afa5a26568ac2e9d15c8d742bdd50c78c"
34 | },
35 | "_source": "git://github.com/ModuleLoader/es6-module-loader.git",
36 | "_target": "~0.4.2",
37 | "_originalSource": "es6-module-loader"
38 | }
--------------------------------------------------------------------------------
/app/bower_components/es6-module-loader/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/app/bower_components/es6-module-loader/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "curly": true,
3 | "eqeqeq": true,
4 | "immed": true,
5 | "latedef": true,
6 | "newcap": true,
7 | "noarg": true,
8 | "sub": true,
9 | "undef": true,
10 | "boss": true,
11 | "eqnull": true
12 | }
13 |
--------------------------------------------------------------------------------
/app/bower_components/es6-module-loader/Gruntfile.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = function (grunt) {
3 | grunt.initConfig({
4 | pkg: grunt.file.readJSON('package.json'),
5 | meta: {
6 | banner: '/*\n * <%= pkg.name %> v<%= pkg.version %>\n' +
7 | '<%= pkg.homepage ? " * " + pkg.homepage + "\\n" : "" %>' +
8 | ' * Implemented to the 2013-12-02 ES6 module specification draft\n' +
9 | ' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
10 | ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %>\n */\n'
11 | },
12 | uglify: {
13 | options: {
14 | banner: '<%= meta.banner %>'
15 | },
16 | dist: {
17 | src: 'lib/<%= pkg.name %>.js',
18 | dest: 'dist/<%= pkg.name %>.js'
19 | },
20 | traceur: {
21 | options: {
22 | banner: '/*\n Traceur Compiler 0.0.9 - https://github.com/google/traceur-compiler \n*/\n'
23 | },
24 | src: 'lib/traceur.js',
25 | dest: 'dist/traceur.js'
26 | }
27 | },
28 | jshint: {
29 | options: {
30 | jshintrc: '.jshintrc'
31 | },
32 | dist: [
33 | 'lib/es6-module-loader.js',
34 | 'test/es6-module-loader_test.js'
35 | ]
36 | }
37 | });
38 |
39 | grunt.loadNpmTasks('grunt-contrib-jshint');
40 | grunt.loadNpmTasks('grunt-contrib-uglify');
41 |
42 | grunt.registerTask('default', [/*'jshint', */'uglify']);
43 | };
44 |
--------------------------------------------------------------------------------
/app/bower_components/es6-module-loader/LICENSE-MIT:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013 Guy Bedford, Luke Hoban, Addy Osmani
2 |
3 | Permission is hereby granted, free of charge, to any person
4 | obtaining a copy of this software and associated documentation
5 | files (the "Software"), to deal in the Software without
6 | restriction, including without limitation the rights to use,
7 | copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the
9 | Software is furnished to do so, subject to the following
10 | conditions:
11 |
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/app/bower_components/es6-module-loader/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "es6-module-loader",
3 | "version": "0.4.3",
4 | "description": "An ES6 Module Loader polyfill based on the latest spec.",
5 | "homepage": "https://github.com/ModuleLoader/es6-module-loader",
6 | "main": "dist/es6-module-loader.js",
7 | "keywords": [
8 | "es6",
9 | "harmony",
10 | "polyfill",
11 | "modules"
12 | ],
13 | "ignore": [
14 | "demo",
15 | "lib",
16 | "test",
17 | "grunt.js",
18 | "package.json"
19 | ],
20 | "repository": {
21 | "type": "git",
22 | "url": "https://github.com/ModuleLoader/es6-module-loader.git"
23 | },
24 | "licenses": [
25 | {
26 | "type": "MIT"
27 | }
28 | ]
29 | }
30 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery",
3 | "version": "2.1.0",
4 | "main": "dist/jquery.js",
5 | "license": "MIT",
6 | "ignore": [
7 | "**/.*",
8 | "build",
9 | "speed",
10 | "test",
11 | "*.md",
12 | "AUTHORS.txt",
13 | "Gruntfile.js",
14 | "package.json"
15 | ],
16 | "devDependencies": {
17 | "sizzle": "1.10.16",
18 | "requirejs": "~2.1.8",
19 | "qunit": "~1.12.0",
20 | "sinon": "~1.7.3"
21 | },
22 | "keywords": [
23 | "jquery",
24 | "javascript",
25 | "library"
26 | ],
27 | "homepage": "https://github.com/jquery/jquery",
28 | "_release": "2.1.0",
29 | "_resolution": {
30 | "type": "version",
31 | "tag": "2.1.0",
32 | "commit": "9434e03193c45d51bbd063a0edd1a07a6178d33f"
33 | },
34 | "_source": "git://github.com/jquery/jquery.git",
35 | "_target": "~2.1.0",
36 | "_originalSource": "jquery"
37 | }
--------------------------------------------------------------------------------
/app/bower_components/jquery/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2014 jQuery Foundation and other contributors
2 | http://jquery.com/
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining
5 | a copy of this software and associated documentation files (the
6 | "Software"), to deal in the Software without restriction, including
7 | without limitation the rights to use, copy, modify, merge, publish,
8 | distribute, sublicense, and/or sell copies of the Software, and to
9 | permit persons to whom the Software is furnished to do so, subject to
10 | the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery",
3 | "version": "2.1.0",
4 | "main": "dist/jquery.js",
5 | "license": "MIT",
6 | "ignore": [
7 | "**/.*",
8 | "build",
9 | "speed",
10 | "test",
11 | "*.md",
12 | "AUTHORS.txt",
13 | "Gruntfile.js",
14 | "package.json"
15 | ],
16 | "devDependencies": {
17 | "sizzle": "1.10.16",
18 | "requirejs": "~2.1.8",
19 | "qunit": "~1.12.0",
20 | "sinon": "~1.7.3"
21 | },
22 | "keywords": [
23 | "jquery",
24 | "javascript",
25 | "library"
26 | ]
27 | }
28 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/jsonp.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core",
3 | "./var/nonce",
4 | "./var/rquery",
5 | "../ajax"
6 | ], function( jQuery, nonce, rquery ) {
7 |
8 | var oldCallbacks = [],
9 | rjsonp = /(=)\?(?=&|$)|\?\?/;
10 |
11 | // Default jsonp settings
12 | jQuery.ajaxSetup({
13 | jsonp: "callback",
14 | jsonpCallback: function() {
15 | var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
16 | this[ callback ] = true;
17 | return callback;
18 | }
19 | });
20 |
21 | // Detect, normalize options and install callbacks for jsonp requests
22 | jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
23 |
24 | var callbackName, overwritten, responseContainer,
25 | jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
26 | "url" :
27 | typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data"
28 | );
29 |
30 | // Handle iff the expected data type is "jsonp" or we have a parameter to set
31 | if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
32 |
33 | // Get callback name, remembering preexisting value associated with it
34 | callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
35 | s.jsonpCallback() :
36 | s.jsonpCallback;
37 |
38 | // Insert callback into url or form data
39 | if ( jsonProp ) {
40 | s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
41 | } else if ( s.jsonp !== false ) {
42 | s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
43 | }
44 |
45 | // Use data converter to retrieve json after script execution
46 | s.converters["script json"] = function() {
47 | if ( !responseContainer ) {
48 | jQuery.error( callbackName + " was not called" );
49 | }
50 | return responseContainer[ 0 ];
51 | };
52 |
53 | // force json dataType
54 | s.dataTypes[ 0 ] = "json";
55 |
56 | // Install callback
57 | overwritten = window[ callbackName ];
58 | window[ callbackName ] = function() {
59 | responseContainer = arguments;
60 | };
61 |
62 | // Clean-up function (fires after converters)
63 | jqXHR.always(function() {
64 | // Restore preexisting value
65 | window[ callbackName ] = overwritten;
66 |
67 | // Save back as free
68 | if ( s[ callbackName ] ) {
69 | // make sure that re-using the options doesn't screw things around
70 | s.jsonpCallback = originalSettings.jsonpCallback;
71 |
72 | // save the callback name for future use
73 | oldCallbacks.push( callbackName );
74 | }
75 |
76 | // Call if it was a function and we have a response
77 | if ( responseContainer && jQuery.isFunction( overwritten ) ) {
78 | overwritten( responseContainer[ 0 ] );
79 | }
80 |
81 | responseContainer = overwritten = undefined;
82 | });
83 |
84 | // Delegate to script
85 | return "script";
86 | }
87 | });
88 |
89 | });
90 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/load.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core",
3 | "../core/parseHTML",
4 | "../ajax",
5 | "../traversing",
6 | "../manipulation",
7 | "../selector",
8 | // Optional event/alias dependency
9 | "../event/alias"
10 | ], function( jQuery ) {
11 |
12 | // Keep a copy of the old load method
13 | var _load = jQuery.fn.load;
14 |
15 | /**
16 | * Load a url into a page
17 | */
18 | jQuery.fn.load = function( url, params, callback ) {
19 | if ( typeof url !== "string" && _load ) {
20 | return _load.apply( this, arguments );
21 | }
22 |
23 | var selector, type, response,
24 | self = this,
25 | off = url.indexOf(" ");
26 |
27 | if ( off >= 0 ) {
28 | selector = url.slice( off );
29 | url = url.slice( 0, off );
30 | }
31 |
32 | // If it's a function
33 | if ( jQuery.isFunction( params ) ) {
34 |
35 | // We assume that it's the callback
36 | callback = params;
37 | params = undefined;
38 |
39 | // Otherwise, build a param string
40 | } else if ( params && typeof params === "object" ) {
41 | type = "POST";
42 | }
43 |
44 | // If we have elements to modify, make the request
45 | if ( self.length > 0 ) {
46 | jQuery.ajax({
47 | url: url,
48 |
49 | // if "type" variable is undefined, then "GET" method will be used
50 | type: type,
51 | dataType: "html",
52 | data: params
53 | }).done(function( responseText ) {
54 |
55 | // Save response for use in complete callback
56 | response = arguments;
57 |
58 | self.html( selector ?
59 |
60 | // If a selector was specified, locate the right elements in a dummy div
61 | // Exclude scripts to avoid IE 'Permission Denied' errors
62 | jQuery("").append( jQuery.parseHTML( responseText ) ).find( selector ) :
63 |
64 | // Otherwise use the full result
65 | responseText );
66 |
67 | }).complete( callback && function( jqXHR, status ) {
68 | self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );
69 | });
70 | }
71 |
72 | return this;
73 | };
74 |
75 | });
76 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/parseJSON.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | // Support: Android 2.3
6 | // Workaround failure to string-cast null input
7 | jQuery.parseJSON = function( data ) {
8 | return JSON.parse( data + "" );
9 | };
10 |
11 | return jQuery.parseJSON;
12 |
13 | });
14 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/parseXML.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core"
3 | ], function( jQuery ) {
4 |
5 | // Cross-browser xml parsing
6 | jQuery.parseXML = function( data ) {
7 | var xml, tmp;
8 | if ( !data || typeof data !== "string" ) {
9 | return null;
10 | }
11 |
12 | // Support: IE9
13 | try {
14 | tmp = new DOMParser();
15 | xml = tmp.parseFromString( data, "text/xml" );
16 | } catch ( e ) {
17 | xml = undefined;
18 | }
19 |
20 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
21 | jQuery.error( "Invalid XML: " + data );
22 | }
23 | return xml;
24 | };
25 |
26 | return jQuery.parseXML;
27 |
28 | });
29 |
--------------------------------------------------------------------------------
/app/bower_components/jquery/src/ajax/script.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core",
3 | "../ajax"
4 | ], function( jQuery ) {
5 |
6 | // Install script dataType
7 | jQuery.ajaxSetup({
8 | accepts: {
9 | script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
10 | },
11 | contents: {
12 | script: /(?:java|ecma)script/
13 | },
14 | converters: {
15 | "text script": function( text ) {
16 | jQuery.globalEval( text );
17 | return text;
18 | }
19 | }
20 | });
21 |
22 | // Handle cache's special case and crossDomain
23 | jQuery.ajaxPrefilter( "script", function( s ) {
24 | if ( s.cache === undefined ) {
25 | s.cache = false;
26 | }
27 | if ( s.crossDomain ) {
28 | s.type = "GET";
29 | }
30 | });
31 |
32 | // Bind script tag hack transport
33 | jQuery.ajaxTransport( "script", function( s ) {
34 | // This transport only deals with cross domain requests
35 | if ( s.crossDomain ) {
36 | var script, callback;
37 | return {
38 | send: function( _, complete ) {
39 | script = jQuery("
35 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |