├── .gitignore ├── LICENSE ├── README.md ├── chapter-2 ├── example1 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── inheritance.js │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ ├── robots.txt │ │ └── test.js │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example10 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── prototype.js │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example2 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── inheritance2.js │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example3 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── inheritance3.js │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example4 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── mixins │ │ │ ├── focusable.js │ │ │ └── valid_number.js │ │ ├── models │ │ │ └── .gitkeep │ │ ├── numeric_box.js │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example5 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ ├── user.js │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example6 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ ├── user.js │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example7 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ ├── user.js │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example8 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ ├── time_manager.js │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep └── example9 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ ├── app.js │ ├── child.js │ ├── components │ │ └── .gitkeep │ ├── controllers │ │ └── .gitkeep │ ├── father.js │ ├── helpers │ │ └── .gitkeep │ ├── index.html │ ├── models │ │ └── .gitkeep │ ├── router.js │ ├── routes │ │ └── .gitkeep │ ├── styles │ │ └── app.css │ ├── templates │ │ ├── application.hbs │ │ └── components │ │ │ └── .gitkeep │ └── views │ │ └── .gitkeep │ ├── bower.json │ ├── config │ └── environment.js │ ├── package.json │ ├── public │ ├── crossdomain.xml │ └── robots.txt │ ├── testem.json │ ├── tests │ ├── .jshintrc │ ├── helpers │ │ ├── resolver.js │ │ └── start-app.js │ ├── index.html │ ├── test-helper.js │ └── unit │ │ └── .gitkeep │ └── vendor │ └── .gitkeep ├── chapter-3 ├── example1 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ ├── .gitkeep │ │ │ └── index.js │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ ├── .gitkeep │ │ │ └── index.js │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ ├── components │ │ │ │ └── .gitkeep │ │ │ └── index.hbs │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example2 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ ├── .gitkeep │ │ │ └── index.js │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ ├── .gitkeep │ │ │ └── index.js │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ ├── components │ │ │ │ └── .gitkeep │ │ │ └── index.hbs │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example3 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ ├── .gitkeep │ │ │ └── index.js │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ ├── components │ │ │ │ └── .gitkeep │ │ │ └── index.hbs │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── dist │ │ ├── assets │ │ │ ├── ember-data.js.map │ │ │ ├── example3.css │ │ │ ├── example3.js │ │ │ ├── example3.map │ │ │ ├── failed.png │ │ │ ├── passed.png │ │ │ ├── test-loader.js │ │ │ ├── test-support.css │ │ │ ├── test-support.js │ │ │ ├── test-support.map │ │ │ ├── vendor.css │ │ │ ├── vendor.js │ │ │ └── vendor.map │ │ ├── crossdomain.xml │ │ ├── index.html │ │ ├── robots.txt │ │ ├── testem.js │ │ └── tests │ │ │ └── index.html │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example4 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ ├── .gitkeep │ │ │ └── index.js │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ ├── .gitkeep │ │ │ └── index.js │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ ├── components │ │ │ │ └── .gitkeep │ │ │ └── index.hbs │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example5 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ ├── .gitkeep │ │ │ ├── application.js │ │ │ └── index.js │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ ├── .gitkeep │ │ │ ├── application.js │ │ │ └── index.js │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ ├── components │ │ │ │ └── .gitkeep │ │ │ └── index.hbs │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example6 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ ├── .gitkeep │ │ │ └── index.js │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ ├── components │ │ │ │ └── .gitkeep │ │ │ └── index.hbs │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example7 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ ├── .gitkeep │ │ │ └── truncate.js │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── application.hbs │ │ │ ├── components │ │ │ │ └── .gitkeep │ │ │ └── index.hbs │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep └── example8 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ ├── app.js │ ├── components │ │ └── .gitkeep │ ├── controllers │ │ └── .gitkeep │ ├── helpers │ │ └── .gitkeep │ ├── index.html │ ├── models │ │ └── .gitkeep │ ├── router.js │ ├── routes │ │ └── .gitkeep │ ├── styles │ │ └── app.css │ ├── templates │ │ ├── application.emblem │ │ ├── components │ │ │ └── .gitkeep │ │ └── index.emblem │ └── views │ │ └── .gitkeep │ ├── bower.json │ ├── config │ └── environment.js │ ├── package.json │ ├── public │ ├── crossdomain.xml │ └── robots.txt │ ├── testem.json │ ├── tests │ ├── .jshintrc │ ├── helpers │ │ ├── resolver.js │ │ └── start-app.js │ ├── index.html │ ├── test-helper.js │ └── unit │ │ └── .gitkeep │ └── vendor │ └── .gitkeep ├── chapter-4 ├── example1 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── about.hbs │ │ │ ├── application.hbs │ │ │ ├── components │ │ │ │ └── .gitkeep │ │ │ └── products.hbs │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── .gitkeep │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example2 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ └── .gitkeep │ │ ├── styles │ │ │ └── app.css │ │ ├── templates │ │ │ ├── about.hbs │ │ │ ├── application.hbs │ │ │ ├── components │ │ │ │ └── .gitkeep │ │ │ ├── products.hbs │ │ │ └── products │ │ │ │ └── new.hbs │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── .gitkeep │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep ├── example3 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ │ ├── app.js │ │ ├── components │ │ │ └── .gitkeep │ │ ├── controllers │ │ │ └── .gitkeep │ │ ├── helpers │ │ │ └── .gitkeep │ │ ├── index.html │ │ ├── models │ │ │ └── .gitkeep │ │ ├── router.js │ │ ├── routes │ │ │ ├── .gitkeep │ │ │ ├── commits │ │ │ │ ├── commit.js │ │ │ │ └── index.js │ │ │ └── index.js │ │ ├── styles │ │ │ ├── .gitkeep │ │ │ └── app.css │ │ ├── templates │ │ │ ├── .gitkeep │ │ │ ├── application.hbs │ │ │ ├── commits │ │ │ │ ├── commit.hbs │ │ │ │ └── index.hbs │ │ │ └── components │ │ │ │ └── .gitkeep │ │ └── views │ │ │ └── .gitkeep │ ├── bower.json │ ├── config │ │ └── environment.js │ ├── package.json │ ├── public │ │ ├── .gitkeep │ │ ├── crossdomain.xml │ │ └── robots.txt │ ├── testem.json │ ├── tests │ │ ├── .jshintrc │ │ ├── helpers │ │ │ ├── resolver.js │ │ │ └── start-app.js │ │ ├── index.html │ │ ├── test-helper.js │ │ └── unit │ │ │ └── .gitkeep │ └── vendor │ │ └── .gitkeep └── example4 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ ├── app.js │ ├── components │ │ └── .gitkeep │ ├── controllers │ │ ├── .gitkeep │ │ └── application.js │ ├── helpers │ │ └── .gitkeep │ ├── index.html │ ├── models │ │ └── .gitkeep │ ├── router.js │ ├── routes │ │ ├── .gitkeep │ │ ├── about.js │ │ └── index.js │ ├── styles │ │ └── app.css │ ├── templates │ │ ├── about.hbs │ │ ├── about_sidebar.hbs │ │ ├── application.hbs │ │ ├── components │ │ │ └── .gitkeep │ │ ├── index.hbs │ │ └── sidebar.hbs │ └── views │ │ └── .gitkeep │ ├── bower.json │ ├── config │ └── environment.js │ ├── package.json │ ├── public │ ├── .gitkeep │ ├── crossdomain.xml │ └── robots.txt │ ├── testem.json │ ├── tests │ ├── .jshintrc │ ├── helpers │ │ ├── resolver.js │ │ └── start-app.js │ ├── index.html │ ├── test-helper.js │ └── unit │ │ └── .gitkeep │ └── vendor │ └── .gitkeep ├── chapter-5 └── example1 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ ├── app.js │ ├── components │ │ └── .gitkeep │ ├── controllers │ │ ├── .gitkeep │ │ ├── application.js │ │ ├── product.js │ │ ├── product │ │ │ └── reviews.js │ │ └── products.js │ ├── helpers │ │ └── .gitkeep │ ├── index.html │ ├── models │ │ └── .gitkeep │ ├── router.js │ ├── routes │ │ ├── .gitkeep │ │ ├── product.js │ │ ├── product │ │ │ └── reviews.js │ │ └── products.js │ ├── styles │ │ └── app.css │ ├── templates │ │ ├── application.hbs │ │ ├── components │ │ │ └── .gitkeep │ │ ├── product.hbs │ │ ├── product │ │ │ └── reviews.hbs │ │ └── products.hbs │ └── views │ │ └── .gitkeep │ ├── bower.json │ ├── config │ └── environment.js │ ├── package.json │ ├── public │ ├── .gitkeep │ ├── crossdomain.xml │ └── robots.txt │ ├── testem.json │ ├── tests │ ├── .jshintrc │ ├── helpers │ │ ├── resolver.js │ │ └── start-app.js │ ├── index.html │ ├── test-helper.js │ └── unit │ │ └── .gitkeep │ └── vendor │ └── .gitkeep ├── chapter-6 └── example1 │ ├── .bowerrc │ ├── .editorconfig │ ├── .ember-cli │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Brocfile.js │ ├── README.md │ ├── app │ ├── adapters │ │ └── application.js │ ├── app.js │ ├── components │ │ └── .gitkeep │ ├── controllers │ │ └── .gitkeep │ ├── helpers │ │ └── .gitkeep │ ├── index.html │ ├── models │ │ ├── .gitkeep │ │ ├── author.js │ │ ├── book.js │ │ ├── publisher.js │ │ └── review.js │ ├── router.js │ ├── routes │ │ ├── .gitkeep │ │ └── books │ │ │ ├── book.js │ │ │ ├── index.js │ │ │ └── new.js │ ├── styles │ │ └── app.css │ ├── templates │ │ ├── application.hbs │ │ ├── books │ │ │ ├── book.hbs │ │ │ ├── index.hbs │ │ │ └── new.hbs │ │ ├── components │ │ │ └── .gitkeep │ │ └── index.hbs │ └── views │ │ └── .gitkeep │ ├── bower.json │ ├── config │ └── environment.js │ ├── package.json │ ├── public │ ├── .gitkeep │ ├── crossdomain.xml │ └── robots.txt │ ├── server │ ├── .jshintrc │ ├── index.js │ └── mocks │ │ ├── authors.js │ │ ├── books.js │ │ ├── publishers.js │ │ └── reviews.js │ ├── testem.json │ ├── tests │ ├── .jshintrc │ ├── helpers │ │ ├── resolver.js │ │ └── start-app.js │ ├── index.html │ ├── test-helper.js │ └── unit │ │ └── .gitkeep │ └── vendor │ └── .gitkeep └── chapter-7 └── example1 ├── .bowerrc ├── .editorconfig ├── .ember-cli ├── .gitignore ├── .jshintrc ├── .travis.yml ├── Brocfile.js ├── README.md ├── app ├── app.js ├── components │ ├── .gitkeep │ ├── about-us-intro.js │ ├── date-picker.js │ ├── ember-image.js │ └── long-text.js ├── controllers │ ├── .gitkeep │ ├── about-us.js │ └── index.js ├── helpers │ └── .gitkeep ├── index.html ├── models │ └── .gitkeep ├── router.js ├── routes │ ├── .gitkeep │ └── index.js ├── styles │ └── app.css ├── templates │ ├── about-us.hbs │ ├── application.hbs │ ├── components │ │ ├── .gitkeep │ │ ├── about-us-intro.hbs │ │ ├── copyright-footer.hbs │ │ ├── date-picker.hbs │ │ ├── long-text.hbs │ │ └── product-description.hbs │ └── index.hbs └── views │ └── .gitkeep ├── bower.json ├── config └── environment.js ├── package.json ├── public ├── .gitkeep ├── crossdomain.xml └── robots.txt ├── testem.json ├── tests ├── .jshintrc ├── helpers │ ├── resolver.js │ └── start-app.js ├── index.html ├── test-helper.js └── unit │ └── .gitkeep └── vendor └── .gitkeep /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | emberjs-essentials 2 | ================== 3 | 4 | Ember.js Essentials Code Repository 5 | -------------------------------------------------------------------------------- /chapter-2/example1/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example1/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example1/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example1/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example1/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | import inheritance from './inheritance'; 6 | 7 | Ember.MODEL_FACTORY_INJECTIONS = true; 8 | 9 | var App = Ember.Application.extend({ 10 | modulePrefix: config.modulePrefix, 11 | podModulePrefix: config.podModulePrefix, 12 | Resolver: Resolver 13 | }); 14 | 15 | loadInitializers(App, config.modulePrefix); 16 | inheritance(); 17 | 18 | export default App; 19 | 20 | -------------------------------------------------------------------------------- /chapter-2/example1/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example1/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example1/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example1/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example1/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example1/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example1/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example1/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example1/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example1/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example1/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example1/public/test.js: -------------------------------------------------------------------------------- 1 | var base = Ember.Object.extend({ 2 | baseProperty: true 3 | }); 4 | 5 | var derived = base.extend({}); 6 | 7 | var derviedObject = derived.create({ 8 | derivedProperty: true 9 | }); 10 | 11 | console.log(derviedObject.get('baseProperty')); 12 | console.log(derviedObject.get('derivedProperty')); 13 | 14 | var anotherDerivedObject = derived.create(); 15 | console.log(anotherDerivedObject.get('derivedProperty')); -------------------------------------------------------------------------------- /chapter-2/example1/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example1/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example1/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example1/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example1/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example1/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example10/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example10/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example10/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example10/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example10/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | import protoype from './prototype'; 6 | 7 | Ember.MODEL_FACTORY_INJECTIONS = true; 8 | 9 | var App = Ember.Application.extend({ 10 | modulePrefix: config.modulePrefix, 11 | podModulePrefix: config.podModulePrefix, 12 | Resolver: Resolver 13 | }); 14 | 15 | loadInitializers(App, config.modulePrefix); 16 | protoype(); 17 | export default App; 18 | -------------------------------------------------------------------------------- /chapter-2/example10/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example10/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example10/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example10/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example10/app/prototype.js: -------------------------------------------------------------------------------- 1 | 2 | export default function(){ 3 | console.log([1,2,3].get('lastObject')); //4 4 | 5 | var arr = [1,2,3,4,5,6,7].filter(function(item){ 6 | if(item < 5){ 7 | return true; 8 | } 9 | }); 10 | 11 | console.log(arr);//[1,2,3,4] 12 | 13 | console.log("ember.js".capitalize());//Ember.js 14 | console.log("my var".camelize());//myVar 15 | console.log("my var".classify());//MyVar 16 | 17 | } -------------------------------------------------------------------------------- /chapter-2/example10/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example10/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example10/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example10/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example10/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example10/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example10/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example10/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example10/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example10/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example10/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example10/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example10/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example2/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example2/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example2/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example2/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example2/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | import inheritance from "./inheritance2"; 6 | 7 | Ember.MODEL_FACTORY_INJECTIONS = true; 8 | 9 | var App = Ember.Application.extend({ 10 | modulePrefix: config.modulePrefix, 11 | podModulePrefix: config.podModulePrefix, 12 | Resolver: Resolver 13 | }); 14 | 15 | loadInitializers(App, config.modulePrefix); 16 | inheritance(); 17 | 18 | export default App; 19 | -------------------------------------------------------------------------------- /chapter-2/example2/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example2/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example2/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example2/app/inheritance2.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default function(){ 4 | var base = Ember.Object.extend({ 5 | baseProperty: true 6 | }); 7 | 8 | var derived = base.extend({}); 9 | 10 | var derviedObject = derived.create({ 11 | derivedProperty: true 12 | }); 13 | 14 | console.log(derviedObject.get('baseProperty'));//true 15 | console.log(derviedObject.get('derivedProperty'));//true 16 | 17 | var anotherDerivedObject = derived.create(); 18 | console.log(anotherDerivedObject.get('derivedProperty'));//undefined 19 | } -------------------------------------------------------------------------------- /chapter-2/example2/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example2/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example2/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example2/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example2/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example2/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example2/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example2/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example2/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example2/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example2/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example2/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example2/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example2/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example3/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example3/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example3/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example3/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example3/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | import inheritance from './inheritance3'; 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | inheritance(); 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-2/example3/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example3/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example3/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example3/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example3/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example3/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example3/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example3/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example3/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example3/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example3/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example3/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example3/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example3/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example3/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example3/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example3/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example4/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example4/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example4/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example4/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example4/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example4/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example4/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example4/app/mixins/focusable.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Mixin.create({ 4 | onFocus: function(){ 5 | console.log("do something creative on focus"); 6 | } 7 | }); -------------------------------------------------------------------------------- /chapter-2/example4/app/mixins/valid_number.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Mixin.create({ 4 | valid: function(number){ 5 | if(isNaN(number)){ 6 | return false; 7 | }else{ 8 | return true; 9 | } 10 | } 11 | }); -------------------------------------------------------------------------------- /chapter-2/example4/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example4/app/numeric_box.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import validNumberMixin from './mixins/valid_number'; 3 | import focusableMixin from './mixins/focusable'; 4 | 5 | export default Ember.Object.extend(validNumberMixin,focusableMixin,{ 6 | text:"" 7 | }); -------------------------------------------------------------------------------- /chapter-2/example4/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example4/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example4/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example4/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example4/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example4/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example4/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example4/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example4/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example4/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example4/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example4/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example4/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example5/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example5/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example5/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example5/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example5/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example5/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example5/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example5/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example5/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example5/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example5/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example5/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example5/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example5/app/user.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Object.extend({ 4 | firstName: "", 5 | lastName: "", 6 | fullName: function(){ 7 | return this.get('firstName') + " " + this.get('lastName'); 8 | }.property('firstName','lastName') 9 | 10 | }); 11 | -------------------------------------------------------------------------------- /chapter-2/example5/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example5/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example5/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example5/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example5/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example5/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example5/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example5/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example6/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example6/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example6/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example6/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example6/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example6/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example6/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example6/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example6/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example6/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example6/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example6/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example6/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example6/app/user.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Object.extend({ 4 | firstName: "", 5 | lastName: "", 6 | fullName: function(){ 7 | console.log("fullName computed property called"); 8 | return this.get('firstName') + " " + this.get('lastName'); 9 | }.property('firstName','lastName') 10 | }); 11 | -------------------------------------------------------------------------------- /chapter-2/example6/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example6/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example6/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example6/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example6/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example6/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example6/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example6/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example7/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example7/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example7/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example7/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example7/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example7/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example7/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example7/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example7/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example7/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example7/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example7/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example7/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example7/app/user.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Object.extend({ 4 | firstName: "", 5 | lastName: "", 6 | fullName: function(){ 7 | console.log("fullName computed property called"); 8 | return this.get('firstName') + " " + this.get('lastName'); 9 | }.property('lastName') 10 | }); 11 | -------------------------------------------------------------------------------- /chapter-2/example7/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example7/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example7/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example7/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example7/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example7/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example7/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example7/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example8/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example8/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example8/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example8/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example8/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example8/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example8/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example8/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example8/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example8/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example8/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example8/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example8/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example8/app/time_manager.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Object.extend({ 4 | time:0, 5 | timeChanged: function(){ 6 | //Do something when time changes 7 | console.log('time changed'); 8 | }.observes('time') 9 | 10 | }); 11 | -------------------------------------------------------------------------------- /chapter-2/example8/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example8/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example8/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example8/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example8/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example8/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example8/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example8/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example9/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-2/example9/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-2/example9/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-2/example9/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-2/example9/app/child.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Object.extend({ 4 | school:'', 5 | father:null, 6 | address: Ember.computed.alias('father.address') 7 | }); 8 | -------------------------------------------------------------------------------- /chapter-2/example9/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example9/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example9/app/father.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Object.extend({ 4 | name: "", 5 | age:18, 6 | address:"", 7 | }); 8 | -------------------------------------------------------------------------------- /chapter-2/example9/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example9/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example9/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-2/example9/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example9/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/app/styles/app.css -------------------------------------------------------------------------------- /chapter-2/example9/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-2/example9/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example9/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example9/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-2/example9/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-2/example9/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-2/example9/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-2/example9/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-2/example9/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-2/example9/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example1/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-3/example1/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-3/example1/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-3/example1/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-3/example1/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-3/example1/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example1/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example1/app/controllers/index.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Controller.extend({ 4 | name: "Suchit Puri" 5 | }); -------------------------------------------------------------------------------- /chapter-3/example1/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example1/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example1/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-3/example1/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example1/app/routes/index.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Route.extend({ 4 | model: function() { 5 | return ['red', 'yellow', 'blue']; 6 | } 7 | }); -------------------------------------------------------------------------------- /chapter-3/example1/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/app/styles/app.css -------------------------------------------------------------------------------- /chapter-3/example1/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |
2 |

Welcome to Ember.js

3 |
4 |
5 | {{outlet}} 6 |
7 | 10 | -------------------------------------------------------------------------------- /chapter-3/example1/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example1/app/templates/index.hbs: -------------------------------------------------------------------------------- 1 | Hi, this is {{name}}. 2 | I like the following colors. 3 | 4 | 9 | -------------------------------------------------------------------------------- /chapter-3/example1/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example1/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-3/example1/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-3/example1/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-3/example1/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-3/example1/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example1/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example1/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example2/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-3/example2/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-3/example2/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-3/example2/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-3/example2/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-3/example2/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example2/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example2/app/controllers/index.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.ObjectController.extend({ 4 | edit: true, 5 | actions:{ 6 | changeEdit: function(){ 7 | this.toggleProperty('edit'); 8 | } 9 | } 10 | }); -------------------------------------------------------------------------------- /chapter-3/example2/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example2/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example2/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-3/example2/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example2/app/routes/index.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Route.extend({ 4 | model: function() { 5 | return ['red', 'yellow', 'blue']; 6 | } 7 | }); -------------------------------------------------------------------------------- /chapter-3/example2/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/app/styles/app.css -------------------------------------------------------------------------------- /chapter-3/example2/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-3/example2/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example2/app/templates/index.hbs: -------------------------------------------------------------------------------- 1 | {{#if edit}} 2 | 7 | {{/if}} 8 | 9 | -------------------------------------------------------------------------------- /chapter-3/example2/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example2/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-3/example2/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-3/example2/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-3/example2/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-3/example2/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example2/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example2/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example3/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-3/example3/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-3/example3/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-3/example3/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-3/example3/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-3/example3/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example3/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example3/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example3/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example3/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-3/example3/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example3/app/styles/app.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 20px; 3 | } 4 | table { 5 | width:100%; 6 | } 7 | table, th, td { 8 | border: 1px solid black; 9 | border-collapse: collapse; 10 | } 11 | th, td { 12 | padding: 5px; 13 | text-align: left; 14 | } 15 | table#t01 tr:nth-child(even) { 16 | background-color: #eee; 17 | } 18 | table#t01 tr:nth-child(odd) { 19 | background-color:#fff; 20 | } 21 | table#t01 th { 22 | background-color: black; 23 | color: white; 24 | } -------------------------------------------------------------------------------- /chapter-3/example3/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Company Information Brochure

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-3/example3/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example3/app/templates/index.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{#each item in model}} 8 | 9 | 10 | 11 | 12 | 13 | {{/each}} 14 |
Company NameHeadquartersrevenue
{{item.name}}{{item.headquarters}}{{item.revenue}}
-------------------------------------------------------------------------------- /chapter-3/example3/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example3/dist/assets/example3.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 20px; 3 | } 4 | table { 5 | width:100%; 6 | } 7 | table, th, td { 8 | border: 1px solid black; 9 | border-collapse: collapse; 10 | } 11 | th, td { 12 | padding: 5px; 13 | text-align: left; 14 | } 15 | table#t01 tr:nth-child(even) { 16 | background-color: #eee; 17 | } 18 | table#t01 tr:nth-child(odd) { 19 | background-color:#fff; 20 | } 21 | table#t01 th { 22 | background-color: black; 23 | color: white; 24 | } -------------------------------------------------------------------------------- /chapter-3/example3/dist/assets/failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/dist/assets/failed.png -------------------------------------------------------------------------------- /chapter-3/example3/dist/assets/passed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/dist/assets/passed.png -------------------------------------------------------------------------------- /chapter-3/example3/dist/assets/vendor.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/dist/assets/vendor.css -------------------------------------------------------------------------------- /chapter-3/example3/dist/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-3/example3/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-3/example3/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-3/example3/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-3/example3/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-3/example3/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example3/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example3/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example4/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-3/example4/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-3/example4/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-3/example4/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-3/example4/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-3/example4/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example4/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example4/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example4/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example4/app/controllers/index.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | 4 | export default Ember.ObjectController.extend({ 5 | className:"red", 6 | actions:{ 7 | toggleColor: function(){ 8 | if(this.get("className") == "red"){ 9 | this.set("className","blue"); 10 | }else{ 11 | this.set("className","red"); 12 | } 13 | 14 | } 15 | } 16 | }); -------------------------------------------------------------------------------- /chapter-3/example4/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example4/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example4/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example4/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example4/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-3/example4/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example4/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example4/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Company Information Brochure

2 | 3 | {{outlet}} -------------------------------------------------------------------------------- /chapter-3/example4/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example4/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example4/app/templates/index.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{#each item in model}} 8 | 9 | 10 | 11 | 12 | 13 | {{/each}} 14 |
Company NameHeadquatersrevenue
{{item.name}}{{item.headquaters}}{{item.revenue}}
15 | -------------------------------------------------------------------------------- /chapter-3/example4/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example4/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example4/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-3/example4/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-3/example4/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-3/example4/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-3/example4/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example4/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example4/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example4/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example5/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-3/example5/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-3/example5/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-3/example5/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-3/example5/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-3/example5/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example5/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example5/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example5/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example5/app/controllers/application.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | export default Ember.ObjectController.extend({ 3 | className:"hide", 4 | message: "" 5 | 6 | }); -------------------------------------------------------------------------------- /chapter-3/example5/app/controllers/index.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.ObjectController.extend({ 4 | actions:{ 5 | alert: function(){ 6 | //do some controller level processing 7 | return true; 8 | } 9 | } 10 | }); -------------------------------------------------------------------------------- /chapter-3/example5/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example5/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example5/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example5/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example5/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-3/example5/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example5/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example5/app/routes/application.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Route.extend({ 4 | actions:{ 5 | alert: function(message){ 6 | var applicationController = this.controllerFor("application"); 7 | applicationController.set("className","alert"); applicationController.set("message",message); 8 | Ember.run.later(function(){ 9 | applicationController.set("className","hide"); 10 | },2000); 11 | } 12 | } 13 | }); -------------------------------------------------------------------------------- /chapter-3/example5/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |
{{message}}
2 |

Company Information Brochure

3 | {{outlet}} -------------------------------------------------------------------------------- /chapter-3/example5/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example5/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example5/app/templates/index.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{#each item in model}} 8 | 9 | 10 | 11 | 12 | 13 | {{/each}} 14 |
Company NameHeadquartersrevenue
{{item.name}}{{item.headquarters}}{{item.revenue}}
-------------------------------------------------------------------------------- /chapter-3/example5/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example5/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example5/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-3/example5/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-3/example5/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-3/example5/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-3/example5/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example5/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example5/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example5/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example6/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-3/example6/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-3/example6/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-3/example6/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-3/example6/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-3/example6/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example6/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example6/app/controllers/index.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.ObjectController.extend({ 4 | firstName: "", 5 | lastName: "Puri", 6 | nameDisabled: true 7 | }); -------------------------------------------------------------------------------- /chapter-3/example6/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example6/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example6/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-3/example6/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example6/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/app/styles/app.css -------------------------------------------------------------------------------- /chapter-3/example6/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 | 3 | {{outlet}} 4 | -------------------------------------------------------------------------------- /chapter-3/example6/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example6/app/templates/index.hbs: -------------------------------------------------------------------------------- 1 |
Hi Mr. {{firstName}} {{lastName}}

2 |
Last Name is disabled: {{nameDisabled}}
3 |
4 |
First Name : {{input value=firstName size=20 }}
5 |
Last Name : {{input value=lastName disabled=nameDisabled}}
6 |

7 |
Enable last name ? {{input type="checkbox" checked=nameDisabled}}
-------------------------------------------------------------------------------- /chapter-3/example6/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example6/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-3/example6/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-3/example6/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-3/example6/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-3/example6/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example6/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example6/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example7/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-3/example7/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-3/example7/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-3/example7/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-3/example7/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example7/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example7/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example7/app/helpers/truncate.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default function(value, options) { 4 | var length = 40; 5 | if(!Ember.isEmpty(options.hash.length)){ 6 | length = options.hash.length; 7 | } 8 | if(!Ember.isEmpty(value)){ 9 | if(value.length < length) { 10 | return value; 11 | } 12 | return value.substring(0, length) + "..."; 13 | } 14 | return ""; 15 | }; -------------------------------------------------------------------------------- /chapter-3/example7/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example7/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-3/example7/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example7/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/app/styles/app.css -------------------------------------------------------------------------------- /chapter-3/example7/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

{{truncate "Welcome to Ember.js" length=10}}

2 | 3 | {{outlet}} -------------------------------------------------------------------------------- /chapter-3/example7/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example7/app/templates/index.hbs: -------------------------------------------------------------------------------- 1 | {{truncate "This is very very long and beyong" length=20}} 2 |
3 | {{truncate "this is very long" length=10}} 4 | -------------------------------------------------------------------------------- /chapter-3/example7/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example7/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-3/example7/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-3/example7/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-3/example7/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-3/example7/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example7/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example7/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example8/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-3/example8/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-3/example8/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-3/example8/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-3/example8/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-3/example8/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example8/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example8/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example8/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example8/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | }); 10 | 11 | export default Router; 12 | -------------------------------------------------------------------------------- /chapter-3/example8/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example8/app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/app/styles/app.css -------------------------------------------------------------------------------- /chapter-3/example8/app/templates/application.emblem: -------------------------------------------------------------------------------- 1 | h2 Welcome to Ember.js Application, it uses Emblem.js, the concise indentatin based templating library 2 | = outlet 3 | -------------------------------------------------------------------------------- /chapter-3/example8/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example8/app/templates/index.emblem: -------------------------------------------------------------------------------- 1 | h3 From Index Template 2 | ul 3 | each item in model 4 | li=item 5 | -------------------------------------------------------------------------------- /chapter-3/example8/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example8/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-3/example8/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html?hidepassed", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-3/example8/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-3/example8/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | -------------------------------------------------------------------------------- /chapter-3/example8/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-3/example8/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-3/example8/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-4/example1/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-4/example1/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-4/example1/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-4/example1/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-4/example1/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | this.route("products",{ path: "/products" }); 10 | this.route("about",{ path: "/about" }); 11 | }); 12 | 13 | export default Router; 14 | -------------------------------------------------------------------------------- /chapter-4/example1/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/app/styles/app.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 20px; 3 | } 4 | -------------------------------------------------------------------------------- /chapter-4/example1/app/templates/about.hbs: -------------------------------------------------------------------------------- 1 |
2 |
3 |
About Template
-------------------------------------------------------------------------------- /chapter-4/example1/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 |
{{#link-to 'about'}}About{{/link-to}}
3 |
{{#link-to 'products'}}Products{{/link-to}}
4 | {{outlet}} -------------------------------------------------------------------------------- /chapter-4/example1/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/app/templates/products.hbs: -------------------------------------------------------------------------------- 1 |
2 |
3 |
Products Template
-------------------------------------------------------------------------------- /chapter-4/example1/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/public/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/public/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-4/example1/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-4/example1/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-4/example1/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | 8 | document.write('
'); 9 | 10 | QUnit.config.urlConfig.push({ id: 'nocontainer', label: 'Hide container'}); 11 | var containerVisibility = QUnit.urlParams.nocontainer ? 'hidden' : 'visible'; 12 | document.getElementById('ember-testing-container').style.visibility = containerVisibility; 13 | -------------------------------------------------------------------------------- /chapter-4/example1/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example1/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example1/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-4/example2/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-4/example2/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-4/example2/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-4/example2/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-4/example2/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | 10 | this.resource("products",function(){ 11 | this.route("new"); 12 | }); 13 | 14 | this.route("about"); 15 | 16 | }); 17 | 18 | export default Router; 19 | -------------------------------------------------------------------------------- /chapter-4/example2/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/app/styles/app.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 20px; 3 | } 4 | -------------------------------------------------------------------------------- /chapter-4/example2/app/templates/about.hbs: -------------------------------------------------------------------------------- 1 |
2 |
3 |
About Template
4 |
This Template should contains some information about us 5 | -------------------------------------------------------------------------------- /chapter-4/example2/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Welcome to Ember.js

2 |
{{#link-to 'about'}}About{{/link-to}}
3 |
{{#link-to 'products'}}Products{{/link-to}}
4 |
{{#link-to 'products.new'}}Create a new product{{/link-to}}
5 | {{outlet}} 6 | -------------------------------------------------------------------------------- /chapter-4/example2/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/app/templates/products.hbs: -------------------------------------------------------------------------------- 1 |
2 |
3 |
Products Template
4 | {{outlet}} 5 | -------------------------------------------------------------------------------- /chapter-4/example2/app/templates/products/new.hbs: -------------------------------------------------------------------------------- 1 |
2 |

Create a New Product

3 |
4 | Product name:
5 | {{input value=name }} 6 |
7 | Product Description:
8 | {{textarea value=description }} 9 |

10 | 11 | -------------------------------------------------------------------------------- /chapter-4/example2/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/public/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/public/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-4/example2/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-4/example2/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-4/example2/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | 8 | document.write('
'); 9 | 10 | QUnit.config.urlConfig.push({ id: 'nocontainer', label: 'Hide container'}); 11 | var containerVisibility = QUnit.urlParams.nocontainer ? 'hidden' : 'visible'; 12 | document.getElementById('ember-testing-container').style.visibility = containerVisibility; 13 | -------------------------------------------------------------------------------- /chapter-4/example2/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example2/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example2/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-4/example3/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-4/example3/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components/* 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-4/example3/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | install: 11 | - npm install -g bower 12 | - npm install 13 | - bower install 14 | 15 | script: 16 | - npm test 17 | -------------------------------------------------------------------------------- /chapter-4/example3/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-4/example3/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | this.resource("commits",function(){ 10 | this.route("commit",{path:":sha"}); 11 | }); 12 | }); 13 | 14 | export default Router; 15 | -------------------------------------------------------------------------------- /chapter-4/example3/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/app/routes/commits/commit.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.Route.extend({ 4 | model: function(params){ 5 | console.log("model hook called"); 6 | var url = 'https://api.github.com/repos/emberjs/ember.js/commits/'+ params.sha; 7 | return Ember.$.getJSON(url); 8 | 9 | }, 10 | serialize: function(model){ 11 | return {sha: model.sha}; 12 | } 13 | }); 14 | 15 | -------------------------------------------------------------------------------- /chapter-4/example3/app/routes/commits/index.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.Route.extend({ 4 | model: function() { 5 | var url = 'https://api.github.com/repos/emberjs/ember.js/commits'; 6 | return Ember.$.getJSON(url); 7 | } 8 | }); -------------------------------------------------------------------------------- /chapter-4/example3/app/routes/index.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.Route.extend({ 4 | redirect: function(){ 5 | this.transitionTo("commits.index"); 6 | } 7 | }); -------------------------------------------------------------------------------- /chapter-4/example3/app/styles/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/app/styles/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/app/styles/app.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 20px; 3 | } 4 | 5 | #logo img{ 6 | width:200px; 7 | height:200px; 8 | } -------------------------------------------------------------------------------- /chapter-4/example3/app/templates/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/app/templates/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

Ember.js Repo

2 | {{outlet}} 3 | -------------------------------------------------------------------------------- /chapter-4/example3/app/templates/commits/commit.hbs: -------------------------------------------------------------------------------- 1 | {{#link-to 'commits.index'}}Back To Commits {{/link-to}} 2 |

Commit {{model.sha}} detail

3 | 6 |
Author : {{model.commit.author.name}}
7 |
Message : {{model.commit.message}}
8 |
URL : {{model.url}}
-------------------------------------------------------------------------------- /chapter-4/example3/app/templates/commits/index.hbs: -------------------------------------------------------------------------------- 1 |

Commits

2 | {{#each c in model}} 3 |
Sha: {{#link-to 'commits.commit' c}}{{c.sha}}{{/link-to}}
4 |
Author: {{c.commit.author.name}}
5 |
Message: {{c.commit.message}}
6 |
7 | {{/each}} -------------------------------------------------------------------------------- /chapter-4/example3/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/public/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/public/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/public/robots.txt: -------------------------------------------------------------------------------- 1 | # robotstxt.org/ 2 | 3 | User-agent: * 4 | -------------------------------------------------------------------------------- /chapter-4/example3/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-4/example3/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-4/example3/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example3/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example3/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-4/example4/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-4/example4/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-4/example4/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-4/example4/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-4/example4/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/app/controllers/application.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.Controller.extend({ 4 | actions:{ 5 | toggleMenu: function(){ 6 | $("#wrapper").toggleClass("active"); 7 | } 8 | 9 | } 10 | 11 | }); -------------------------------------------------------------------------------- /chapter-4/example4/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | this.route('about'); 10 | }); 11 | 12 | export default Router; 13 | -------------------------------------------------------------------------------- /chapter-4/example4/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/app/routes/about.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.Route.extend({ 4 | renderTemplate: function(){ 5 | this.render('about_sidebar',{ 6 | outlet: "sidebar" 7 | }); 8 | this.render('about'); 9 | } 10 | }); -------------------------------------------------------------------------------- /chapter-4/example4/app/routes/index.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.Route.extend({ 4 | renderTemplate: function(){ 5 | this.render('sidebar',{ 6 | outlet: "sidebar" 7 | }); 8 | this.render('index'); 9 | } 10 | }); -------------------------------------------------------------------------------- /chapter-4/example4/app/templates/about.hbs: -------------------------------------------------------------------------------- 1 |

This is the about template and contains some bit of information about us

2 |

{{#link-to 'index'}}Click here to go back .{{/link-to}}

-------------------------------------------------------------------------------- /chapter-4/example4/app/templates/about_sidebar.hbs: -------------------------------------------------------------------------------- 1 |
  • Link3
  • 2 |
  • link4
  • -------------------------------------------------------------------------------- /chapter-4/example4/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/app/templates/index.hbs: -------------------------------------------------------------------------------- 1 |

    This example demonstrate how to render different templates in different outlets.
    Click on the Menu to Toggle Sidebar.

    2 |

    Click{{#link-to 'about'}} Here{{/link-to}} to Go To About Page Which has Different Sidebar Menu Items

    -------------------------------------------------------------------------------- /chapter-4/example4/app/templates/sidebar.hbs: -------------------------------------------------------------------------------- 1 |
  • link1
  • 2 |
  • link2
  • -------------------------------------------------------------------------------- /chapter-4/example4/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/public/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/public/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-4/example4/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-4/example4/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-4/example4/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | 8 | document.write('
    '); 9 | 10 | QUnit.config.urlConfig.push({ id: 'nocontainer', label: 'Hide container'}); 11 | var containerVisibility = QUnit.urlParams.nocontainer ? 'hidden' : 'visible'; 12 | document.getElementById('ember-testing-container').style.visibility = containerVisibility; 13 | -------------------------------------------------------------------------------- /chapter-4/example4/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-4/example4/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-4/example4/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-5/example1/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-5/example1/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-5/example1/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-5/example1/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-5/example1/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/app/controllers/application.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.Controller.extend({ 4 | actions:{ 5 | toggleMenu: function(){ 6 | $("#wrapper").toggleClass("active"); 7 | } 8 | 9 | } 10 | 11 | }); -------------------------------------------------------------------------------- /chapter-5/example1/app/controllers/product/reviews.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.ArrayController.extend({ 4 | needs:["product"], 5 | product: Ember.computed.alias("controllers.product") 6 | }); -------------------------------------------------------------------------------- /chapter-5/example1/app/controllers/products.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.ArrayController.extend({ 4 | sortProperties: ['name'], 5 | sortAscending: true, 6 | itemController: 'product' 7 | }); -------------------------------------------------------------------------------- /chapter-5/example1/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | this.resource("products"); 10 | this.resource("product",{path: "/:id"},function(){ 11 | this.route("reviews"); 12 | }); 13 | 14 | }); 15 | 16 | export default Router; 17 | -------------------------------------------------------------------------------- /chapter-5/example1/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/app/routes/product.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.Route.extend({ 4 | model: function(params){ 5 | return {"id": 1, "name" : "Leather Jacket" , "description" : "A very long jacket desction which cannot be shown inside a table and will have to be shortened", 6 | "currency": "USD" , "symbol": "$" , "price":"1999.999" , "dimensions": {"length": 7.0,"width": 12.0,"height": 9.5}} 7 | } 8 | }); -------------------------------------------------------------------------------- /chapter-5/example1/app/routes/product/reviews.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | 3 | export default Ember.Route.extend({ 4 | model: function(){ 5 | return ["This is a great jaket","Another Review","Awesome Jacket","Too pricy"]; 6 | } 7 | }); -------------------------------------------------------------------------------- /chapter-5/example1/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/app/templates/product.hbs: -------------------------------------------------------------------------------- 1 |

    {{name}}

    2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
    Item
    {{name}}
    {{description}}
    {{formattedDimension}}
    {{formattedPrice}}
    13 | {{outlet}} -------------------------------------------------------------------------------- /chapter-5/example1/app/templates/product/reviews.hbs: -------------------------------------------------------------------------------- 1 |

    Reviews for {{product.name}}

    2 | 3 | 4 | 5 | 6 | 7 | {{#each review in controller}} 8 | 9 | {{/each}} 10 | 11 |
    Reviews
    {{review}}
    -------------------------------------------------------------------------------- /chapter-5/example1/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/public/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/public/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-5/example1/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-5/example1/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-5/example1/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | 8 | document.write('
    '); 9 | 10 | QUnit.config.urlConfig.push({ id: 'nocontainer', label: 'Hide container'}); 11 | var containerVisibility = QUnit.urlParams.nocontainer ? 'hidden' : 'visible'; 12 | document.getElementById('ember-testing-container').style.visibility = containerVisibility; 13 | -------------------------------------------------------------------------------- /chapter-5/example1/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-5/example1/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-5/example1/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-6/example1/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-6/example1/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-6/example1/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-6/example1/app/adapters/application.js: -------------------------------------------------------------------------------- 1 | import DS from 'ember-data'; 2 | export default DS.RESTAdapter.extend({ 3 | namespace: 'api' 4 | }); 5 | 6 | -------------------------------------------------------------------------------- /chapter-6/example1/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-6/example1/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/app/models/author.js: -------------------------------------------------------------------------------- 1 | import DS from "ember-data"; 2 | 3 | export default DS.Model.extend({ 4 | firstName: DS.attr('string'), 5 | lastName: DS.attr('string'), 6 | fullName: function() { 7 | return this.get('firstName') + ' ' + this.get('lastName'); 8 | }.property('firstName', 'lastName'), 9 | bio: DS.attr('string'), 10 | books: DS.hasMany('book') 11 | }); 12 | -------------------------------------------------------------------------------- /chapter-6/example1/app/models/book.js: -------------------------------------------------------------------------------- 1 | import DS from "ember-data"; 2 | 3 | export default DS.Model.extend({ 4 | title: DS.attr('string'), 5 | isbn: DS.attr('string'), 6 | pages: DS.attr('number'), 7 | description: DS.attr('string'), 8 | authors: DS.hasMany('author',{ async: true }), 9 | publisher: DS.belongsTo('publisher',{ async: true }), 10 | reviews: DS.hasMany("review",{ async: true }) 11 | }); 12 | -------------------------------------------------------------------------------- /chapter-6/example1/app/models/publisher.js: -------------------------------------------------------------------------------- 1 | import DS from "ember-data"; 2 | 3 | export default DS.Model.extend({ 4 | name: DS.attr("string"), 5 | organizationName: DS.attr("string"), 6 | address: DS.attr("string"), 7 | books: DS.hasMany("book") 8 | }); 9 | -------------------------------------------------------------------------------- /chapter-6/example1/app/models/review.js: -------------------------------------------------------------------------------- 1 | import DS from "ember-data"; 2 | 3 | export default DS.Model.extend({ 4 | name: DS.attr("string"), 5 | comment:DS.attr("string"), 6 | book: DS.belongsTo("book") 7 | }); 8 | -------------------------------------------------------------------------------- /chapter-6/example1/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | this.resource('books', function(){ 10 | this.route('book',{path: "/:id"}); 11 | this.route('new'); 12 | }); 13 | }); 14 | 15 | export default Router; 16 | -------------------------------------------------------------------------------- /chapter-6/example1/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/app/routes/books/book.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Route.extend({ 4 | model: function(params){ 5 | return this.store.find('book',params.id); 6 | } 7 | }); 8 | -------------------------------------------------------------------------------- /chapter-6/example1/app/routes/books/index.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Route.extend({ 4 | model: function(){ 5 | return this.store.find('book'); 6 | } 7 | }); 8 | -------------------------------------------------------------------------------- /chapter-6/example1/app/styles/app.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 20px; 3 | } 4 | -------------------------------------------------------------------------------- /chapter-6/example1/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

    Welcome to Ember.js Essentials Chapter 6 On Ember Data

    2 | {{outlet}} 3 | -------------------------------------------------------------------------------- /chapter-6/example1/app/templates/books/index.hbs: -------------------------------------------------------------------------------- 1 | 2 | Here Are The List Of Books Fetched From The Server 3 | 8 | -------------------------------------------------------------------------------- /chapter-6/example1/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/app/templates/index.hbs: -------------------------------------------------------------------------------- 1 | 5 |
    6 |
    7 |
    8 | {{outlet}} -------------------------------------------------------------------------------- /chapter-6/example1/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/public/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/public/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-6/example1/server/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true 3 | } 4 | -------------------------------------------------------------------------------- /chapter-6/example1/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-6/example1/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-6/example1/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | 8 | document.write('
    '); 9 | 10 | QUnit.config.urlConfig.push({ id: 'nocontainer', label: 'Hide container'}); 11 | var containerVisibility = QUnit.urlParams.nocontainer ? 'hidden' : 'visible'; 12 | document.getElementById('ember-testing-container').style.visibility = containerVisibility; 13 | -------------------------------------------------------------------------------- /chapter-6/example1/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-6/example1/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-6/example1/vendor/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /chapter-7/example1/.ember-cli: -------------------------------------------------------------------------------- 1 | { 2 | /** 3 | Ember CLI sends analytics information by default. The data is completely 4 | anonymous, but there are times when you might want to disable this behavior. 5 | 6 | Setting `disableAnalytics` to true will prevent any data from being sent. 7 | */ 8 | "disableAnalytics": false 9 | } 10 | -------------------------------------------------------------------------------- /chapter-7/example1/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # misc 12 | /.sass-cache 13 | /connect.lock 14 | /coverage/* 15 | /libpeerconnection.log 16 | npm-debug.log 17 | testem.log 18 | -------------------------------------------------------------------------------- /chapter-7/example1/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | 4 | sudo: false 5 | 6 | cache: 7 | directories: 8 | - node_modules 9 | 10 | before_install: 11 | - "npm config set spin false" 12 | - "npm install -g npm@^2" 13 | 14 | install: 15 | - npm install -g bower 16 | - npm install 17 | - bower install 18 | 19 | script: 20 | - npm test 21 | -------------------------------------------------------------------------------- /chapter-7/example1/app/app.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import Resolver from 'ember/resolver'; 3 | import loadInitializers from 'ember/load-initializers'; 4 | import config from './config/environment'; 5 | 6 | Ember.MODEL_FACTORY_INJECTIONS = true; 7 | 8 | var App = Ember.Application.extend({ 9 | modulePrefix: config.modulePrefix, 10 | podModulePrefix: config.podModulePrefix, 11 | Resolver: Resolver 12 | }); 13 | 14 | loadInitializers(App, config.modulePrefix); 15 | 16 | export default App; 17 | -------------------------------------------------------------------------------- /chapter-7/example1/app/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/app/components/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/app/components/about-us-intro.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Component.extend({ 4 | tagName: "p", 5 | classNames: ["static-class","another-static-class"], 6 | classNameBindings: ["intro","text","trueClass","falseClass"], 7 | attributeBindings: ["dataUrl:data-url"], 8 | dataUrl: "http://emberjs.com/", 9 | intro: "intro-css-class", 10 | text: "text-css-class", 11 | trueClass: function(){ 12 | //Do Some logic 13 | return true; 14 | }.property(), 15 | falseClass: false 16 | }); -------------------------------------------------------------------------------- /chapter-7/example1/app/components/date-picker.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Component.extend({ 4 | actions:{ 5 | submit: function(){ 6 | var date = this.$("input").val(); 7 | this.sendAction('action',date); 8 | } 9 | } 10 | }); -------------------------------------------------------------------------------- /chapter-7/example1/app/components/ember-image.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Component.extend({ 4 | tagName: "img", 5 | attributeBindings: ["src","height","width","dataURL:data-url"], 6 | src: "http://emberjs.com/images/logos/ember-logo.png", 7 | height:"80px", 8 | width:"200px", 9 | dataURL: "http://emberjs.com/images/logos/ember-logo.png" 10 | }); -------------------------------------------------------------------------------- /chapter-7/example1/app/components/long-text.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Component.extend({ 4 | showMoreText: false, 5 | actions:{ 6 | toggleMore: function(){ 7 | this.toggleProperty("showMoreText"); 8 | } 9 | } 10 | }); -------------------------------------------------------------------------------- /chapter-7/example1/app/controllers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/app/controllers/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/app/controllers/about-us.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | export default Ember.ObjectController.extend({ 3 | tagName: function(){ 4 | //do some computation logic here 5 | return "p"; 6 | }.property() 7 | }); -------------------------------------------------------------------------------- /chapter-7/example1/app/controllers/index.js: -------------------------------------------------------------------------------- 1 | import Ember from "ember"; 2 | export default Ember.ObjectController.extend({ 3 | manufactoringDate: "", 4 | expiryDate:"", 5 | actions: { 6 | saveMaufactoringDate: function(date){ 7 | this.set("manufactoringDate",date); 8 | }, 9 | saveExpiryDate: function(date){ 10 | this.set("expiryDate",date); 11 | } 12 | } 13 | }); -------------------------------------------------------------------------------- /chapter-7/example1/app/helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/app/helpers/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/app/models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/app/models/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/app/router.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | import config from './config/environment'; 3 | 4 | var Router = Ember.Router.extend({ 5 | location: config.locationType 6 | }); 7 | 8 | Router.map(function() { 9 | this.route("about-us"); 10 | }); 11 | 12 | export default Router; 13 | -------------------------------------------------------------------------------- /chapter-7/example1/app/routes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/app/routes/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/app/routes/index.js: -------------------------------------------------------------------------------- 1 | import Ember from 'ember'; 2 | 3 | export default Ember.Route.extend({ 4 | model: function(){ 5 | return { MRP:"$ 100",price:"$80",sale:"$20"}; 6 | } 7 | }); 8 | -------------------------------------------------------------------------------- /chapter-7/example1/app/styles/app.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 20px; 3 | } 4 | footer { 5 | position: relative; 6 | margin-top: 200px; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /chapter-7/example1/app/templates/about-us.hbs: -------------------------------------------------------------------------------- 1 | {{ember-image}} 2 |
    3 |
    4 | {{about-us-intro tagName=tagName}} 5 | 6 | {{long-text}} -------------------------------------------------------------------------------- /chapter-7/example1/app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |

    Welcome to Ember.js

    2 | 3 | {{outlet}} 4 | {{copyright-footer}} 5 | -------------------------------------------------------------------------------- /chapter-7/example1/app/templates/components/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/app/templates/components/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/app/templates/components/about-us-intro.hbs: -------------------------------------------------------------------------------- 1 | This is the about us introduction.Everything that is present here will be enclosed within a <p> tag. -------------------------------------------------------------------------------- /chapter-7/example1/app/templates/components/copyright-footer.hbs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter-7/example1/app/templates/components/date-picker.hbs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chapter-7/example1/app/templates/components/long-text.hbs: -------------------------------------------------------------------------------- 1 |

    2 | This is a long text and we intend to show only this much unless the user presses the show more button below. 3 |

    4 | {{#if showMoreText}} 5 | This is the remaining text that should be visible when we press the show more button. Ideally this should contain a lot more text, but for example's sake this should be enough. 6 |
    7 |
    8 | 9 | {{else}} 10 | 11 | {{/if}} -------------------------------------------------------------------------------- /chapter-7/example1/app/templates/components/product-description.hbs: -------------------------------------------------------------------------------- 1 |

    2 | {{name}} 3 |

    4 |
    5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
    M.R.P {{MRP}}
    Price {{price}}
    You Save {{sale}}
    19 |
    20 | {{yield}} 21 |
    22 |
    23 | -------------------------------------------------------------------------------- /chapter-7/example1/app/views/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/app/views/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/public/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/public/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /chapter-7/example1/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "qunit", 3 | "test_page": "tests/index.html", 4 | "launch_in_ci": [ 5 | "PhantomJS" 6 | ], 7 | "launch_in_dev": [ 8 | "PhantomJS", 9 | "Chrome" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /chapter-7/example1/tests/helpers/resolver.js: -------------------------------------------------------------------------------- 1 | import Resolver from 'ember/resolver'; 2 | import config from '../../config/environment'; 3 | 4 | var resolver = Resolver.create(); 5 | 6 | resolver.namespace = { 7 | modulePrefix: config.modulePrefix, 8 | podModulePrefix: config.podModulePrefix 9 | }; 10 | 11 | export default resolver; 12 | -------------------------------------------------------------------------------- /chapter-7/example1/tests/test-helper.js: -------------------------------------------------------------------------------- 1 | import resolver from './helpers/resolver'; 2 | import { 3 | setResolver 4 | } from 'ember-qunit'; 5 | 6 | setResolver(resolver); 7 | 8 | document.write('
    '); 9 | 10 | QUnit.config.urlConfig.push({ id: 'nocontainer', label: 'Hide container'}); 11 | var containerVisibility = QUnit.urlParams.nocontainer ? 'hidden' : 'visible'; 12 | document.getElementById('ember-testing-container').style.visibility = containerVisibility; 13 | -------------------------------------------------------------------------------- /chapter-7/example1/tests/unit/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/tests/unit/.gitkeep -------------------------------------------------------------------------------- /chapter-7/example1/vendor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suchitpuri/emberjs-essentials/baa757720b10ce26ba2c13662d2820d26ea9cab3/chapter-7/example1/vendor/.gitkeep --------------------------------------------------------------------------------