├── .gitignore
├── LICENSE
├── README.md
├── step00a_quick_start_systemjs
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.module.js
│ ├── app.module.js.map
│ ├── app.module.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step00b_quick_start_webpack
├── .gitignore
├── config
│ ├── helpers.js
│ ├── karma-test-shim.js
│ ├── karma.conf.js
│ ├── webpack.common.js
│ ├── webpack.dev.js
│ ├── webpack.prod.js
│ └── webpack.test.js
├── karma.conf.js
├── package.json
├── public
│ ├── css
│ │ └── styles.css
│ └── images
│ │ └── angular.png
├── readme.md
├── src
│ ├── app
│ │ ├── app.component.css
│ │ ├── app.component.html
│ │ └── app.component.ts
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ └── vendor.ts
├── tsconfig.json
├── typings.json
├── typings
│ ├── globals
│ │ ├── core-js
│ │ │ ├── index.d.ts
│ │ │ └── typings.json
│ │ ├── jasmine
│ │ │ ├── index.d.ts
│ │ │ └── typings.json
│ │ └── node
│ │ │ ├── index.d.ts
│ │ │ └── typings.json
│ └── index.d.ts
└── webpack.config.js
├── step01_template_variables
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.module.js
│ ├── app.module.js.map
│ ├── app.module.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step02_arrays
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.module.js
│ ├── app.module.js.map
│ ├── app.module.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step03_events
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.module.js
│ ├── app.module.js.map
│ ├── app.module.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step04_binding_properties
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step05_component_child
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── childOne.component.js
│ ├── childOne.component.js.map
│ ├── childOne.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step06_component_tree
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── childOne.component.js
│ ├── childOne.component.js.map
│ ├── childOne.component.ts
│ ├── childTwo.component.js
│ ├── childTwo.component.js.map
│ ├── childTwo.component.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── subChild.component.js
│ ├── subChild.component.js.map
│ └── subChild.component.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step07_component_child_input
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── childOne.component.js
│ ├── childOne.component.js.map
│ ├── childOne.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step08_component_child_dynamic_input
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── childOne.component.js
│ ├── childOne.component.js.map
│ ├── childOne.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step09_component_host
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── childOne.component.js
│ ├── childOne.component.js.map
│ ├── childOne.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step10_component_list
├── .gitignore
├── app
│ ├── Pair.js
│ ├── Pair.js.map
│ ├── Pair.ts
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── pair.component.js
│ ├── pair.component.js.map
│ └── pair.component.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step11_component_reusable
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── image.component.js
│ ├── image.component.js.map
│ ├── image.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── assets
│ └── pakistan.png
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step12_ngIf
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step13_ngSwitch
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step14_ngStyle
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step15_ngClass
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step16_ngClass_Dynamic
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
└── tsconfig.json
├── step16_ngClass_dynamic
├── styles.css
├── systemjs.config.js
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step17_ngClass_array
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step18_ngFor
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step19_ngFor_index
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step20_ngNonBindable
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step21_forms_basic
├── .gitignore
├── app
│ ├── Hero.js
│ ├── Hero.js.map
│ ├── Hero.ts
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── heroform.component.js
│ ├── heroform.component.js.map
│ ├── heroform.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step22_forms_track_state
├── .gitignore
├── app
│ ├── Hero.js
│ ├── Hero.js.map
│ ├── Hero.ts
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── heroform.component.js
│ ├── heroform.component.js.map
│ ├── heroform.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step23_forms_select
├── .gitignore
├── app
│ ├── Hero.js
│ ├── Hero.js.map
│ ├── Hero.ts
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── heroform.component.js
│ ├── heroform.component.js.map
│ ├── heroform.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step24_forms_validation
├── .gitignore
├── app
│ ├── Hero.js
│ ├── Hero.js.map
│ ├── Hero.ts
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── heroform.component.js
│ ├── heroform.component.js.map
│ ├── heroform.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step25_forms_validation_custom
├── .gitignore
├── app
│ ├── app.component.css
│ ├── app.component.html
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── equal-validator.directive.js
│ ├── equal-validator.directive.js.map
│ ├── equal-validator.directive.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── user.interface.js
│ ├── user.interface.js.map
│ └── user.interface.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step26_routing
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.routes.js
│ ├── app.routes.js.map
│ ├── app.routes.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── page1.component.js
│ ├── page1.component.js.map
│ ├── page1.component.ts
│ ├── page2.component.js
│ ├── page2.component.js.map
│ └── page2.component.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step27_routing_parameters
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.routes.js
│ ├── app.routes.js.map
│ ├── app.routes.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── page1.component.js
│ ├── page1.component.js.map
│ ├── page1.component.ts
│ ├── page2.component.js
│ ├── page2.component.js.map
│ └── page2.component.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step28_routing_parameters_dynamic
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.routes.js
│ ├── app.routes.js.map
│ ├── app.routes.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── page1.component.js
│ ├── page1.component.js.map
│ ├── page1.component.ts
│ ├── page2.component.js
│ ├── page2.component.js.map
│ └── page2.component.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step29_routing_merge
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.routes.js
│ ├── app.routes.js.map
│ ├── app.routes.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── page1.component.js
│ ├── page1.component.js.map
│ ├── page1.component.ts
│ └── page2
│ │ ├── page2.component.js
│ │ ├── page2.component.js.map
│ │ ├── page2.component.ts
│ │ ├── page2.routes.js
│ │ ├── page2.routes.js.map
│ │ └── page2.routes.ts
├── index.html
├── npm-debug.log
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step30_routing_child
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.routes.js
│ ├── app.routes.js.map
│ ├── app.routes.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── page1.component.js
│ ├── page1.component.js.map
│ ├── page1.component.ts
│ ├── page2.component.js
│ ├── page2.component.js.map
│ ├── page2.component.ts
│ ├── section1.page2.component.js
│ ├── section1.page2.component.js.map
│ ├── section1.page2.component.ts
│ ├── section2.page2.component.js
│ ├── section2.page2.component.js.map
│ └── section2.page2.component.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step31_routing_guards
├── .gitignore
├── app
│ ├── admin.component.js
│ ├── admin.component.js.map
│ ├── admin.component.ts
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.routes.js
│ ├── app.routes.js.map
│ ├── app.routes.ts
│ ├── auth.guard.js
│ ├── auth.guard.js.map
│ ├── auth.guard.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── page1.component.js
│ ├── page1.component.js.map
│ ├── page1.component.ts
│ ├── page2.component.js
│ ├── page2.component.js.map
│ └── page2.component.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step32_services
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── hero.service.js
│ ├── hero.service.js.map
│ ├── hero.service.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step33_rxjs_rendering_observables
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step34_rxjs_map_date_pipes
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step35_rxjs_click_events_with_subjects
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── npm-debug.log
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step36_rxjs_merge_clicks_intervals
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step37_rxjs_states_startwith_scan
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step38_rxjs_mapping_streams_to_values
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step39_rxjs_data_services_with_immutables
├── .gitignore
├── app
│ ├── Todo.js
│ ├── Todo.js.map
│ ├── Todo.ts
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── data.service.js
│ ├── data.service.js.map
│ ├── data.service.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step40_ngrx_store_state
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── reducers.js
│ ├── reducers.js.map
│ └── reducers.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step41_ngrx_dispatching_payloads
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── reducers.js
│ ├── reducers.js.map
│ └── reducers.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step42_ngrx_passing_template_input_values
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── reducers.js
│ ├── reducers.js.map
│ └── reducers.ts
├── index.html
├── npm-debug.log
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step43_ngrx_passing_observables_to_components
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── clock.component.js
│ ├── clock.component.js.map
│ ├── clock.component.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── reducers.js
│ ├── reducers.js.map
│ └── reducers.ts
├── index.html
├── npm-debug.log
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step44_ngrx_adding _second_reducer
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── clock.component.js
│ ├── clock.component.js.map
│ ├── clock.component.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── reducers.js
│ ├── reducers.js.map
│ └── reducers.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step45_ngrx_using_two_reducers_together
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── clock.component.js
│ ├── clock.component.js.map
│ ├── clock.component.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── reducers.js
│ ├── reducers.js.map
│ └── reducers.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step46_ngrx_using_value_from store_in_reducer
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── clock.component.js
│ ├── clock.component.js.map
│ ├── clock.component.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── reducers.js
│ ├── reducers.js.map
│ └── reducers.ts
├── index.html
├── npm-debug.log
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step47_animations_quick_start
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── hero.js
│ ├── hero.js.map
│ ├── hero.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step48_animations_entering_leaving
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── hero.js
│ ├── hero.js.map
│ ├── hero.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step49_animations_automatic_property_calculation
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── hero.js
│ ├── hero.js.map
│ ├── hero.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step50_animations_timings
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── hero.js
│ ├── hero.js.map
│ ├── hero.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step51_animations_multi_step_with_key_frames
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── hero.js
│ ├── hero.js.map
│ ├── hero.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── npm-debug.log
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step52_animations_parallel_groups
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── hero.js
│ ├── hero.js.map
│ ├── hero.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step53_animations_page_transitions
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── app.routes.js
│ ├── app.routes.js.map
│ ├── app.routes.ts
│ ├── main.js
│ ├── main.js.map
│ ├── main.ts
│ ├── page1.component.js
│ ├── page1.component.js.map
│ ├── page1.component.ts
│ ├── page2.component.js
│ ├── page2.component.js.map
│ └── page2.component.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step54_view_encapsulation
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step55_css_host_selector
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step56_firebase
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── firebase3
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step57_firebase_list_crud
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── firebase3
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step58_firebase_object
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── firebase3
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
├── step59_firebase_object_crud
├── .gitignore
├── app
│ ├── app.component.js
│ ├── app.component.js.map
│ ├── app.component.ts
│ ├── main.js
│ ├── main.js.map
│ └── main.ts
├── index.html
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
│ ├── globals
│ ├── core-js
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── firebase3
│ │ ├── index.d.ts
│ │ └── typings.json
│ ├── jasmine
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── node
│ │ ├── index.d.ts
│ │ └── typings.json
│ └── index.d.ts
└── step60_firebase_one_to_many
├── .gitignore
├── app
├── app.component.js
├── app.component.js.map
├── app.component.ts
├── main.js
├── main.js.map
└── main.ts
├── index.html
├── npm-debug.log
├── package.json
├── readme.md
├── styles.css
├── systemjs.config.js
├── tsconfig.json
├── typings.json
└── typings
├── globals
├── core-js
│ ├── index.d.ts
│ └── typings.json
├── firebase3
│ ├── index.d.ts
│ └── typings.json
├── jasmine
│ ├── index.d.ts
│ └── typings.json
└── node
│ ├── index.d.ts
│ └── typings.json
└── index.d.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | **/.DS_Store
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/app/app.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"app.component.js","sourceRoot":"","sources":["app.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA4B,CAAC;IAJ7B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,+BAA+B;SAC1C,CAAC;;oBAAA;IAC0B,mBAAC;AAAD,CAAC,AAA7B,IAA6B;AAAhB,oBAAY,eAAI,CAAA"}
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'my-app',
5 | template: '
My First Angular App
'
6 | })
7 | export class AppComponent { }
8 |
9 |
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_module_1 = require('./app.module');
4 | var platform = platform_browser_dynamic_1.platformBrowserDynamic();
5 | platform.bootstrapModule(app_module_1.AppModule);
6 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAAuC,mCAAmC,CAAC,CAAA;AAC3E,2BAA0B,cAAc,CAAC,CAAA;AAEzC,IAAM,QAAQ,GAAG,iDAAsB,EAAE,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,sBAAS,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/app/main.ts:
--------------------------------------------------------------------------------
1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2 | import { AppModule } from './app.module';
3 |
4 | const platform = platformBrowserDynamic();
5 |
6 | platform.bootstrapModule(AppModule);
7 |
8 |
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/styles.css:
--------------------------------------------------------------------------------
1 | /* Master Styles */
2 | h1 {
3 | color: #369;
4 | font-family: Arial, Helvetica, sans-serif;
5 | font-size: 250%;
6 | }
7 | h2, h3 {
8 | color: #444;
9 | font-family: Arial, Helvetica, sans-serif;
10 | font-weight: lighter;
11 | }
12 | body {
13 | margin: 2em;
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160725163759",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160909174046"
6 | }
7 | }
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/step00a_quick_start_systemjs/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/config/helpers.js:
--------------------------------------------------------------------------------
1 | var path = require('path');
2 | var _root = path.resolve(__dirname, '..');
3 | function root(args) {
4 | args = Array.prototype.slice.call(arguments, 0);
5 | return path.join.apply(path, [_root].concat(args));
6 | }
7 | exports.root = root;
8 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/karma.conf.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./config/karma.conf.js');
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/public/css/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | background: #0147A7;
3 | color: #fff;
4 | }
5 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/public/images/angular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/panacloud/learn-angular/40f27b993922c7c4696f0f3e893fce3dd580b2e0/step00b_quick_start_webpack/public/images/angular.png
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://angular.io/docs/ts/latest/guide/webpack.html
4 |
5 | Watch:
6 |
7 | https://www.youtube.com/watch?v=j9w5hFit5rM
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/src/app/app.component.css:
--------------------------------------------------------------------------------
1 | main {
2 | padding: 1em;
3 | font-family: Arial, Helvetica, sans-serif;
4 | text-align: center;
5 | margin-top: 50px;
6 | display: block;
7 | }
8 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 | Hello from Angular 2 App with Webpack
3 |
4 |
5 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import '../../public/css/styles.css';
3 | @Component({
4 | selector: 'my-app',
5 | template: require('./app.component.html'),
6 | styles: [require('./app.component.css')]
7 | })
8 | export class AppComponent { }
9 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Angular With Webpack
6 |
7 |
8 |
9 |
10 | Loading...
11 |
12 |
13 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/src/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { enableProdMode } from '@angular/core';
3 | import { AppComponent } from './app/app.component';
4 | if (process.env.ENV === 'production') {
5 | enableProdMode();
6 | }
7 | bootstrap(AppComponent, []);
8 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/src/polyfills.ts:
--------------------------------------------------------------------------------
1 | import 'core-js/es6';
2 | import 'reflect-metadata';
3 | require('zone.js/dist/zone');
4 | if (process.env.ENV === 'production') {
5 | // Production
6 | } else {
7 | // Development
8 | Error['stackTraceLimit'] = Infinity;
9 | require('zone.js/dist/long-stack-trace-zone');
10 | }
11 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step00b_quick_start_webpack/webpack.config.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./config/webpack.dev.js');
2 |
3 |
--------------------------------------------------------------------------------
/step01_template_variables/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step01_template_variables/app/app.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"app.component.js","sourceRoot":"","sources":["app.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAGI;QACI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IATL;QAAC,gBAAS,CAAC;YACP,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,yBAAyB;SACtC,CAAC;;oBAAA;IAOF,mBAAC;AAAD,CAAC,AAND,IAMC;AANY,oBAAY,eAMxB,CAAA"}
--------------------------------------------------------------------------------
/step01_template_variables/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'my-app',
5 | template: 'Hello {{name}}
'
6 | })
7 | export class AppComponent {
8 | name: string;
9 |
10 | constructor() {
11 | this.name = 'Zia';
12 | }
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/step01_template_variables/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_module_1 = require('./app.module');
4 | platform_browser_dynamic_1.platformBrowserDynamic().bootstrapModule(app_module_1.AppModule);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step01_template_variables/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAAuC,mCAAmC,CAAC,CAAA;AAC3E,2BAA0B,cAAc,CAAC,CAAA;AACzC,iDAAsB,EAAE,CAAC,eAAe,CAAC,sBAAS,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step01_template_variables/app/main.ts:
--------------------------------------------------------------------------------
1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2 | import { AppModule } from './app.module';
3 | platformBrowserDynamic().bootstrapModule(AppModule);
4 |
--------------------------------------------------------------------------------
/step01_template_variables/readme.md:
--------------------------------------------------------------------------------
1 | We will use ng-book 2 to learn: https://www.ng-book.com/2/
2 |
3 | Chapter 1 pages 16-17
--------------------------------------------------------------------------------
/step01_template_variables/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step01_template_variables/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
15 |
--------------------------------------------------------------------------------
/step01_template_variables/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160807145350"
6 | }
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/step01_template_variables/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step02_arrays/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step02_arrays/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_module_1 = require('./app.module');
4 | platform_browser_dynamic_1.platformBrowserDynamic().bootstrapModule(app_module_1.AppModule);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step02_arrays/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAAuC,mCAAmC,CAAC,CAAA;AAC3E,2BAA0B,cAAc,CAAC,CAAA;AACzC,iDAAsB,EAAE,CAAC,eAAe,CAAC,sBAAS,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step02_arrays/app/main.ts:
--------------------------------------------------------------------------------
1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2 | import { AppModule } from './app.module';
3 | platformBrowserDynamic().bootstrapModule(AppModule);
4 |
--------------------------------------------------------------------------------
/step02_arrays/readme.md:
--------------------------------------------------------------------------------
1 | We will use ng-book 2 to learn: https://www.ng-book.com/2/
2 |
3 | Chapter 1 pages 18-21
--------------------------------------------------------------------------------
/step02_arrays/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step02_arrays/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
15 |
--------------------------------------------------------------------------------
/step02_arrays/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160807145350"
6 | }
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/step02_arrays/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step03_events/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step03_events/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_module_1 = require('./app.module');
4 | platform_browser_dynamic_1.platformBrowserDynamic().bootstrapModule(app_module_1.AppModule);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step03_events/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAAuC,mCAAmC,CAAC,CAAA;AAC3E,2BAA0B,cAAc,CAAC,CAAA;AACzC,iDAAsB,EAAE,CAAC,eAAe,CAAC,sBAAS,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step03_events/app/main.ts:
--------------------------------------------------------------------------------
1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2 | import { AppModule } from './app.module';
3 | platformBrowserDynamic().bootstrapModule(AppModule);
4 |
--------------------------------------------------------------------------------
/step03_events/readme.md:
--------------------------------------------------------------------------------
1 | We will use ng-book 2 to learn: https://www.ng-book.com/2/
2 |
3 | Chapter 1 pages 25-27
--------------------------------------------------------------------------------
/step03_events/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step03_events/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
15 |
--------------------------------------------------------------------------------
/step03_events/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160807145350"
6 | }
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/step03_events/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step04_binding_properties/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step04_binding_properties/app/app.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"app.component.js","sourceRoot":"","sources":["app.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAAwB,eAAe,CAAC,CAAA;AAMxC;IAGI;QACI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IATL;QAAC,gBAAS,CAAC;YACP,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,qCAAmC;SAChD,CAAC;;oBAAA;IAOF,mBAAC;AAAD,CAAC,AAND,IAMC;AANY,oBAAY,eAMxB,CAAA"}
--------------------------------------------------------------------------------
/step04_binding_properties/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import {Component} from '@angular/core';
2 |
3 | @Component({
4 | selector: 'my-app',
5 | template: ``
6 | })
7 | export class AppComponent {
8 | name: string;
9 |
10 | constructor() {
11 | this.name = 'Zia';
12 | }
13 | }
--------------------------------------------------------------------------------
/step04_binding_properties/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step04_binding_properties/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step04_binding_properties/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step04_binding_properties/readme.md:
--------------------------------------------------------------------------------
1 | From: https://angular.io/cheatsheet
2 |
3 |
4 | Chapter 1 pages 46 ng-book 2: https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step04_binding_properties/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step04_binding_properties/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step04_binding_properties/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step04_binding_properties/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step05_component_child/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step05_component_child/app/childOne.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"childOne.component.js","sourceRoot":"","sources":["childOne.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAAwB,eAAe,CAAC,CAAA;AAMxC;IAEI;IAEA,CAAC;IARL;QAAC,gBAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,8BAA8B;SAC3C,CAAC;;yBAAA;IAMF,wBAAC;AAAD,CAAC,AALD,IAKC;AALY,yBAAiB,oBAK7B,CAAA"}
--------------------------------------------------------------------------------
/step05_component_child/app/childOne.component.ts:
--------------------------------------------------------------------------------
1 | import {Component} from '@angular/core';
2 |
3 | @Component({
4 | selector: 'child-one',
5 | template: `This is child One
`
6 | })
7 | export class ChildOneComponent {
8 |
9 | constructor() {
10 |
11 | }
12 | }
--------------------------------------------------------------------------------
/step05_component_child/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step05_component_child/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step05_component_child/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step05_component_child/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 1 pages 38-42 ng-book 2: https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step05_component_child/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step05_component_child/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step05_component_child/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step05_component_child/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step06_component_tree/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step06_component_tree/app/childTwo.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"childTwo.component.js","sourceRoot":"","sources":["childTwo.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAAwB,eAAe,CAAC,CAAA;AAMxC;IAEI;IAEA,CAAC;IARL;QAAC,gBAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,8BAA8B;SAC3C,CAAC;;yBAAA;IAMF,wBAAC;AAAD,CAAC,AALD,IAKC;AALY,yBAAiB,oBAK7B,CAAA"}
--------------------------------------------------------------------------------
/step06_component_tree/app/childTwo.component.ts:
--------------------------------------------------------------------------------
1 | import {Component} from '@angular/core';
2 |
3 | @Component({
4 | selector: 'child-two',
5 | template: `This is child Two
`
6 | })
7 | export class ChildTwoComponent {
8 |
9 | constructor() {
10 |
11 | }
12 | }
--------------------------------------------------------------------------------
/step06_component_tree/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step06_component_tree/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step06_component_tree/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step06_component_tree/app/subChild.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"subChild.component.js","sourceRoot":"","sources":["subChild.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAAwB,eAAe,CAAC,CAAA;AAMxC;IAEI;IAEA,CAAC;IARL;QAAC,gBAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,wCAAwC;SACrD,CAAC;;yBAAA;IAMF,wBAAC;AAAD,CAAC,AALD,IAKC;AALY,yBAAiB,oBAK7B,CAAA"}
--------------------------------------------------------------------------------
/step06_component_tree/app/subChild.component.ts:
--------------------------------------------------------------------------------
1 | import {Component} from '@angular/core';
2 |
3 | @Component({
4 | selector: 'sub-child',
5 | template: `This is sub child component
`
6 | })
7 | export class SubChildComponent {
8 |
9 | constructor() {
10 |
11 | }
12 | }
--------------------------------------------------------------------------------
/step06_component_tree/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 1 pages 38-42 ng-book 2: https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step06_component_tree/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step06_component_tree/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step06_component_tree/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step06_component_tree/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step07_component_child_input/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step07_component_child_input/app/childOne.component.ts:
--------------------------------------------------------------------------------
1 | import {Component} from '@angular/core';
2 |
3 | @Component({
4 | selector: 'child-one',
5 | template: `This is child One with input: {{data}}
`,
6 | inputs: ['data']
7 | })
8 | export class ChildOneComponent {
9 | data: string;
10 | constructor() {
11 | this.data = "default value";
12 | }
13 | }
--------------------------------------------------------------------------------
/step07_component_child_input/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step07_component_child_input/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step07_component_child_input/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step07_component_child_input/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 1 pages 42-45 ng-book 2: https://www.ng-book.com/2/
2 |
3 | https://angular.io/docs/ts/latest/guide/template-syntax.html#!#inputs-outputs
--------------------------------------------------------------------------------
/step07_component_child_input/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step07_component_child_input/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step07_component_child_input/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step07_component_child_input/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step08_component_child_dynamic_input/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step08_component_child_dynamic_input/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step08_component_child_dynamic_input/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step08_component_child_dynamic_input/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step08_component_child_dynamic_input/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 1 pages 42-45 ng-book 2: https://www.ng-book.com/2/
2 |
3 | https://angular.io/docs/ts/latest/guide/template-syntax.html#!#inputs-outputs
--------------------------------------------------------------------------------
/step08_component_child_dynamic_input/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step08_component_child_dynamic_input/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step08_component_child_dynamic_input/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step08_component_child_dynamic_input/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step09_component_host/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step09_component_host/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step09_component_host/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step09_component_host/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step09_component_host/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step09_component_host/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step09_component_host/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step09_component_host/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step10_component_list/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step10_component_list/app/Pair.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Pair = (function () {
3 | function Pair(name, value) {
4 | this.name = name;
5 | this.value = value;
6 | }
7 | return Pair;
8 | }());
9 | exports.Pair = Pair;
10 | //# sourceMappingURL=Pair.js.map
--------------------------------------------------------------------------------
/step10_component_list/app/Pair.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"Pair.js","sourceRoot":"","sources":["Pair.ts"],"names":[],"mappings":";AAAA;IAII,cAAY,IAAY,EAAE,KAAa;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEL,WAAC;AAAD,CAAC,AATD,IASC;AATY,YAAI,OAShB,CAAA"}
--------------------------------------------------------------------------------
/step10_component_list/app/Pair.ts:
--------------------------------------------------------------------------------
1 | export class Pair {
2 | name: string;
3 | value: number;
4 |
5 | constructor(name: string, value: number){
6 | this.name = name;
7 | this.value = value;
8 | }
9 |
10 | }
--------------------------------------------------------------------------------
/step10_component_list/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step10_component_list/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step10_component_list/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step10_component_list/app/pair.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"pair.component.js","sourceRoot":"","sources":["pair.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAAwB,eAAe,CAAC,CAAA;AAWxC;IAEI;IAEA,CAAC;IAZL;QAAC,gBAAS,CAAC;YACP,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,2IAGQ;YAClB,MAAM,EAAE,CAAC,WAAW,CAAC;SACxB,CAAC;;qBAAA;IAMF,oBAAC;AAAD,CAAC,AALD,IAKC;AALY,qBAAa,gBAKzB,CAAA"}
--------------------------------------------------------------------------------
/step10_component_list/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 1 and section "Storing multiple Articles" on pages 42-48 ng-book 2: https://www.ng-book.com/2/
2 |
3 |
4 |
--------------------------------------------------------------------------------
/step10_component_list/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step10_component_list/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step10_component_list/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step10_component_list/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step11_component_reusable/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step11_component_reusable/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step11_component_reusable/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step11_component_reusable/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step11_component_reusable/assets/pakistan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/panacloud/learn-angular/40f27b993922c7c4696f0f3e893fce3dd580b2e0/step11_component_reusable/assets/pakistan.png
--------------------------------------------------------------------------------
/step11_component_reusable/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 2 pages 91-94 from ng-book 2: https://www.ng-book.com/2/
2 |
3 | https://angular.io/docs/ts/latest/guide/template-syntax.html#!#inputs-outputs
4 |
5 |
--------------------------------------------------------------------------------
/step11_component_reusable/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step11_component_reusable/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step11_component_reusable/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step11_component_reusable/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step12_ngIf/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step12_ngIf/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step12_ngIf/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step12_ngIf/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step12_ngIf/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 4 pages 107 ng-book 2:
2 |
3 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step12_ngIf/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step12_ngIf/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step12_ngIf/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step12_ngIf/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step13_ngSwitch/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step13_ngSwitch/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step13_ngSwitch/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step13_ngSwitch/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step13_ngSwitch/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 4 page 109 of ng-book 2:
2 |
3 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step13_ngSwitch/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step13_ngSwitch/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step13_ngSwitch/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step13_ngSwitch/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step14_ngStyle/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step14_ngStyle/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step14_ngStyle/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step14_ngStyle/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step14_ngStyle/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 4 page 110-111 of ng-book 2:
2 |
3 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step14_ngStyle/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step14_ngStyle/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step14_ngStyle/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step14_ngStyle/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step15_ngClass/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step15_ngClass/app/app.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"app.component.js","sourceRoot":"","sources":["app.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAAwB,eAAe,CAAC,CAAA;AAgBxC;IAAA;IAEA,CAAC;IAhBD;QAAC,gBAAS,CAAC;YACP,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,sKAGT;YACD,MAAM,EAAE,CAAC,kHAKV,CAAC;SAEH,CAAC;;oBAAA;IAGF,mBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,oBAAY,eAExB,CAAA"}
--------------------------------------------------------------------------------
/step15_ngClass/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step15_ngClass/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step15_ngClass/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step15_ngClass/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 4 page 113 of ng-book 2:
2 |
3 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step15_ngClass/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step15_ngClass/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step15_ngClass/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step15_ngClass/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step16_ngClass_Dynamic/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step16_ngClass_Dynamic/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step16_ngClass_Dynamic/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step16_ngClass_Dynamic/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step16_ngClass_Dynamic/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 4 page 114 of ng-book 2:
2 |
3 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step16_ngClass_Dynamic/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step16_ngClass_dynamic/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step16_ngClass_dynamic/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step16_ngClass_dynamic/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step17_ngClass_array/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step17_ngClass_array/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step17_ngClass_array/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step17_ngClass_array/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step17_ngClass_array/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 4 page 114-115 of ng-book 2:
2 |
3 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step17_ngClass_array/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step17_ngClass_array/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step17_ngClass_array/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step17_ngClass_array/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step18_ngFor/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step18_ngFor/app/app.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"app.component.js","sourceRoot":"","sources":["app.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;YAUA;gBAII;oBACI,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;gBACrD,CAAC;gBAdL;oBAAC,gBAAS,CAAC;wBACP,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,wGAIT;qBACJ,CAAC;;gCAAA;gBASF,mBAAC;YAAD,CAAC,AARD,IAQC;YARD,uCAQC,CAAA"}
--------------------------------------------------------------------------------
/step18_ngFor/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"AAAA,qEAAqE;;;;;;;;;;;;;;YAMrE,mBAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step18_ngFor/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step18_ngFor/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 4 page 116 of ng-book 2:
2 |
3 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step18_ngFor/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step18_ngFor/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step18_ngFor/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step18_ngFor/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step19_ngFor_index/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step19_ngFor_index/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step19_ngFor_index/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step19_ngFor_index/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step19_ngFor_index/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 4 page 120-121 of ng-book 2:
2 |
3 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step19_ngFor_index/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step19_ngFor_index/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step19_ngFor_index/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step19_ngFor_index/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step20_ngNonBindable/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/step20_ngNonBindable/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step20_ngNonBindable/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step20_ngNonBindable/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step20_ngNonBindable/readme.md:
--------------------------------------------------------------------------------
1 | Chapter 4 page 121 of ng-book 2:
2 |
3 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step20_ngNonBindable/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 2em;
3 | }
4 |
5 | /*
6 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
7 | * for the full set of master styles used by the documentation samples
8 | */
9 |
--------------------------------------------------------------------------------
/step20_ngNonBindable/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step20_ngNonBindable/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step20_ngNonBindable/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step21_forms_basic/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step21_forms_basic/app/Hero.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Hero = (function () {
3 | function Hero(id, name) {
4 | this.id = id;
5 | this.name = name;
6 | }
7 | return Hero;
8 | }());
9 | exports.Hero = Hero;
10 | //# sourceMappingURL=Hero.js.map
--------------------------------------------------------------------------------
/step21_forms_basic/app/Hero.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"Hero.js","sourceRoot":"","sources":["Hero.ts"],"names":[],"mappings":";AAAA;IACE,cACS,EAAU,EACV,IAAY;QADZ,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;IAChB,CAAC;IACR,WAAC;AAAD,CAAC,AALD,IAKC;AALY,YAAI,OAKhB,CAAA"}
--------------------------------------------------------------------------------
/step21_forms_basic/app/Hero.ts:
--------------------------------------------------------------------------------
1 | export class Hero {
2 | constructor(
3 | public id: number,
4 | public name: string
5 | ) { }
6 | }
--------------------------------------------------------------------------------
/step21_forms_basic/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { HeroFormComponent } from './heroform.component';
3 |
4 | @Component({
5 | selector: 'my-app',
6 | template: '',
7 | directives: [HeroFormComponent]
8 | })
9 | export class AppComponent { }
10 |
--------------------------------------------------------------------------------
/step21_forms_basic/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,sBAAqD,gBAAgB,CAAC,CAAA;AACtE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC;KACD,KAAK,CAAC,UAAC,GAAQ,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step21_forms_basic/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
3 | import { AppComponent } from './app.component';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ])
9 | .catch((err: any) => console.error(err));
10 |
11 |
12 |
--------------------------------------------------------------------------------
/step21_forms_basic/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://angular.io/docs/ts/latest/guide/forms.html
4 |
5 | Forms in Angular 2 Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step21_forms_basic/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step21_forms_basic/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step21_forms_basic/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step21_forms_basic/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step22_forms_track_state/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step22_forms_track_state/app/Hero.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Hero = (function () {
3 | function Hero(id, name) {
4 | this.id = id;
5 | this.name = name;
6 | }
7 | return Hero;
8 | }());
9 | exports.Hero = Hero;
10 | //# sourceMappingURL=Hero.js.map
--------------------------------------------------------------------------------
/step22_forms_track_state/app/Hero.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"Hero.js","sourceRoot":"","sources":["Hero.ts"],"names":[],"mappings":";AAAA;IACE,cACS,EAAU,EACV,IAAY;QADZ,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;IAChB,CAAC;IACR,WAAC;AAAD,CAAC,AALD,IAKC;AALY,YAAI,OAKhB,CAAA"}
--------------------------------------------------------------------------------
/step22_forms_track_state/app/Hero.ts:
--------------------------------------------------------------------------------
1 | export class Hero {
2 | constructor(
3 | public id: number,
4 | public name: string
5 | ) { }
6 | }
--------------------------------------------------------------------------------
/step22_forms_track_state/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { HeroFormComponent } from './heroform.component';
3 |
4 | @Component({
5 | selector: 'my-app',
6 | template: '',
7 | directives: [HeroFormComponent]
8 | })
9 | export class AppComponent { }
10 |
--------------------------------------------------------------------------------
/step22_forms_track_state/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,sBAAqD,gBAAgB,CAAC,CAAA;AACtE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC;KACD,KAAK,CAAC,UAAC,GAAQ,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step22_forms_track_state/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
3 | import { AppComponent } from './app.component';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ])
9 | .catch((err: any) => console.error(err));
10 |
11 |
12 |
--------------------------------------------------------------------------------
/step22_forms_track_state/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | .ng-valid[required] {
11 | border-left: 5px solid #42A948; /* green */
12 | }
13 |
14 | .ng-invalid {
15 | border-left: 5px solid #a94442; /* red */
16 | }
17 |
--------------------------------------------------------------------------------
/step22_forms_track_state/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step22_forms_track_state/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step22_forms_track_state/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step23_forms_select/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step23_forms_select/app/Hero.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Hero = (function () {
3 | function Hero(id, name) {
4 | this.id = id;
5 | this.name = name;
6 | }
7 | return Hero;
8 | }());
9 | exports.Hero = Hero;
10 | //# sourceMappingURL=Hero.js.map
--------------------------------------------------------------------------------
/step23_forms_select/app/Hero.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"Hero.js","sourceRoot":"","sources":["Hero.ts"],"names":[],"mappings":";AAAA;IACE,cACS,EAAU,EACV,IAAY;QADZ,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;IAChB,CAAC;IACR,WAAC;AAAD,CAAC,AALD,IAKC;AALY,YAAI,OAKhB,CAAA"}
--------------------------------------------------------------------------------
/step23_forms_select/app/Hero.ts:
--------------------------------------------------------------------------------
1 | export class Hero {
2 | constructor(
3 | public id: number,
4 | public name: string
5 | ) { }
6 | }
--------------------------------------------------------------------------------
/step23_forms_select/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { HeroFormComponent } from './heroform.component';
3 |
4 | @Component({
5 | selector: 'my-app',
6 | template: '',
7 | directives: [HeroFormComponent]
8 | })
9 | export class AppComponent { }
10 |
--------------------------------------------------------------------------------
/step23_forms_select/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,sBAAqD,gBAAgB,CAAC,CAAA;AACtE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC;KACD,KAAK,CAAC,UAAC,GAAQ,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step23_forms_select/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
3 | import { AppComponent } from './app.component';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ])
9 | .catch((err: any) => console.error(err));
10 |
11 |
12 |
--------------------------------------------------------------------------------
/step23_forms_select/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://angular.io/docs/ts/latest/guide/forms.html
4 |
5 | Forms in Angular 2 Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step23_forms_select/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step23_forms_select/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step23_forms_select/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step23_forms_select/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step24_forms_validation/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step24_forms_validation/app/Hero.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Hero = (function () {
3 | function Hero(id, name) {
4 | this.id = id;
5 | this.name = name;
6 | }
7 | return Hero;
8 | }());
9 | exports.Hero = Hero;
10 | //# sourceMappingURL=Hero.js.map
--------------------------------------------------------------------------------
/step24_forms_validation/app/Hero.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"Hero.js","sourceRoot":"","sources":["Hero.ts"],"names":[],"mappings":";AAAA;IACE,cACS,EAAU,EACV,IAAY;QADZ,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;IAChB,CAAC;IACR,WAAC;AAAD,CAAC,AALD,IAKC;AALY,YAAI,OAKhB,CAAA"}
--------------------------------------------------------------------------------
/step24_forms_validation/app/Hero.ts:
--------------------------------------------------------------------------------
1 | export class Hero {
2 | constructor(
3 | public id: number,
4 | public name: string
5 | ) { }
6 | }
--------------------------------------------------------------------------------
/step24_forms_validation/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { HeroFormComponent } from './heroform.component';
3 |
4 | @Component({
5 | selector: 'my-app',
6 | template: '',
7 | directives: [HeroFormComponent]
8 | })
9 | export class AppComponent { }
10 |
--------------------------------------------------------------------------------
/step24_forms_validation/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,sBAAqD,gBAAgB,CAAC,CAAA;AACtE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC;KACD,KAAK,CAAC,UAAC,GAAQ,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step24_forms_validation/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
3 | import { AppComponent } from './app.component';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ])
9 | .catch((err: any) => console.error(err));
10 |
11 |
12 |
--------------------------------------------------------------------------------
/step24_forms_validation/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://angular.io/docs/ts/latest/guide/forms.html
4 |
5 | Forms in Angular 2 Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step24_forms_validation/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step24_forms_validation/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step24_forms_validation/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step24_forms_validation/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step25_forms_validation_custom/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step25_forms_validation_custom/app/app.component.css:
--------------------------------------------------------------------------------
1 | .margin-20 {
2 | margin-top: 20px;
3 | }
--------------------------------------------------------------------------------
/step25_forms_validation_custom/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,sBAAqD,gBAAgB,CAAC,CAAA;AACtE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC;KACD,KAAK,CAAC,UAAC,GAAQ,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step25_forms_validation_custom/app/user.interface.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | //# sourceMappingURL=user.interface.js.map
--------------------------------------------------------------------------------
/step25_forms_validation_custom/app/user.interface.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"user.interface.js","sourceRoot":"","sources":["user.interface.ts"],"names":[],"mappings":""}
--------------------------------------------------------------------------------
/step25_forms_validation_custom/app/user.interface.ts:
--------------------------------------------------------------------------------
1 | export interface User {
2 | username: string;
3 | email: string;
4 | password: string;
5 | confirmPassword: string;
6 | }
--------------------------------------------------------------------------------
/step25_forms_validation_custom/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://medium.com/@jecelynyeen/how-to-implement-custom-validator-confirm-password-in-angular2-rc-3-622288ba809d#.c5u4bdrmp
4 |
5 | Forms in Angular 2 Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step25_forms_validation_custom/styles.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/panacloud/learn-angular/40f27b993922c7c4696f0f3e893fce3dd580b2e0/step25_forms_validation_custom/styles.css
--------------------------------------------------------------------------------
/step25_forms_validation_custom/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step25_forms_validation_custom/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step25_forms_validation_custom/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step26_routing/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step26_routing/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,2BAAqC,cAAc,CAAC,CAAA;AAEpD,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAoB;CACrB,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC;AAAA,CAAC"}
--------------------------------------------------------------------------------
/step26_routing/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { APP_ROUTER_PROVIDERS } from './app.routes';
4 |
5 | bootstrap(AppComponent, [
6 | APP_ROUTER_PROVIDERS
7 | ]).catch(err => console.error(err));;
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step26_routing/app/page1.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page1.component.js","sourceRoot":"","sources":["page1.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step26_routing/app/page1.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'page1',
5 | template: 'Page 1 of Angular 2 App
'
6 | })
7 | export class Page1Component { }
--------------------------------------------------------------------------------
/step26_routing/app/page2.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page2.component.js","sourceRoot":"","sources":["page2.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step26_routing/app/page2.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'page2',
5 | template: 'Page 2 of Angular 2 App
'
6 | })
7 | export class Page2Component { }
--------------------------------------------------------------------------------
/step26_routing/readme.md:
--------------------------------------------------------------------------------
1 | https://angular.io/docs/ts/latest/tutorial/toh-pt5.html
2 |
3 | https://angular.io/docs/ts/latest/guide/router.html
4 |
5 | Routing Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
8 |
9 |
--------------------------------------------------------------------------------
/step26_routing/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step26_routing/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step26_routing/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step26_routing/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step27_routing_parameters/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step27_routing_parameters/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,2BAAqC,cAAc,CAAC,CAAA;AAEpD,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAoB;CACrB,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC;AAAA,CAAC"}
--------------------------------------------------------------------------------
/step27_routing_parameters/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { APP_ROUTER_PROVIDERS } from './app.routes';
4 |
5 | bootstrap(AppComponent, [
6 | APP_ROUTER_PROVIDERS
7 | ]).catch(err => console.error(err));;
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step27_routing_parameters/app/page1.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page1.component.js","sourceRoot":"","sources":["page1.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step27_routing_parameters/app/page1.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'page1',
5 | template: 'Page 1 of Angular 2 App
'
6 | })
7 | export class Page1Component { }
--------------------------------------------------------------------------------
/step27_routing_parameters/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://angular.io/docs/ts/latest/guide/router.html
4 |
5 | Routing Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
8 |
9 |
--------------------------------------------------------------------------------
/step27_routing_parameters/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step27_routing_parameters/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step27_routing_parameters/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step27_routing_parameters/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,2BAAqC,cAAc,CAAC,CAAA;AAEpD,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAoB;CACrB,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC;AAAA,CAAC"}
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { APP_ROUTER_PROVIDERS } from './app.routes';
4 |
5 | bootstrap(AppComponent, [
6 | APP_ROUTER_PROVIDERS
7 | ]).catch(err => console.error(err));;
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/app/page1.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page1.component.js","sourceRoot":"","sources":["page1.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/app/page1.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'page1',
5 | template: 'Page 1 of Angular 2 App
'
6 | })
7 | export class Page1Component { }
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://angular.io/docs/ts/latest/guide/router.html
4 |
5 | Routing Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
8 |
9 |
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step28_routing_parameters_dynamic/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step29_routing_merge/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step29_routing_merge/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,2BAAqC,cAAc,CAAC,CAAA;AAEpD,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAoB;CACrB,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC;AAAA,CAAC"}
--------------------------------------------------------------------------------
/step29_routing_merge/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { APP_ROUTER_PROVIDERS } from './app.routes';
4 |
5 | bootstrap(AppComponent, [
6 | APP_ROUTER_PROVIDERS
7 | ]).catch(err => console.error(err));;
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step29_routing_merge/app/page1.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page1.component.js","sourceRoot":"","sources":["page1.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step29_routing_merge/app/page1.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'page1',
5 | template: 'Page 1 of Angular 2 App
'
6 | })
7 | export class Page1Component { }
--------------------------------------------------------------------------------
/step29_routing_merge/app/page2/page2.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page2.component.js","sourceRoot":"","sources":["page2.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step29_routing_merge/app/page2/page2.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'page2',
5 | template: 'Page 2 of Angular 2 App
'
6 | })
7 | export class Page2Component { }
--------------------------------------------------------------------------------
/step29_routing_merge/app/page2/page2.routes.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var page2_component_1 = require('./page2.component');
3 | exports.Page2Routes = [
4 | {
5 | path: 'page2',
6 | component: page2_component_1.Page2Component
7 | }
8 | ];
9 | //# sourceMappingURL=page2.routes.js.map
--------------------------------------------------------------------------------
/step29_routing_merge/app/page2/page2.routes.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page2.routes.js","sourceRoot":"","sources":["page2.routes.ts"],"names":[],"mappings":";AACA,gCAA+B,mBAAmB,CAAC,CAAA;AAEtC,mBAAW,GAAiB;IACvC;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,gCAAc;KAC1B;CACF,CAAC"}
--------------------------------------------------------------------------------
/step29_routing_merge/app/page2/page2.routes.ts:
--------------------------------------------------------------------------------
1 | import { provideRouter, RouterConfig } from '@angular/router';
2 | import { Page2Component } from './page2.component';
3 |
4 | export const Page2Routes: RouterConfig = [
5 | {
6 | path: 'page2',
7 | component: Page2Component
8 | }
9 | ];
10 |
11 |
12 |
--------------------------------------------------------------------------------
/step29_routing_merge/readme.md:
--------------------------------------------------------------------------------
1 | https://angular.io/docs/ts/latest/tutorial/toh-pt5.html
2 |
3 | https://angular.io/docs/ts/latest/guide/router.html
4 |
5 | Routing Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
8 |
9 |
--------------------------------------------------------------------------------
/step29_routing_merge/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step29_routing_merge/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step29_routing_merge/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step29_routing_merge/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step30_routing_child/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step30_routing_child/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,2BAAqC,cAAc,CAAC,CAAA;AAEpD,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAoB;CACrB,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC;AAAA,CAAC"}
--------------------------------------------------------------------------------
/step30_routing_child/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { APP_ROUTER_PROVIDERS } from './app.routes';
4 |
5 | bootstrap(AppComponent, [
6 | APP_ROUTER_PROVIDERS
7 | ]).catch(err => console.error(err));;
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step30_routing_child/app/page1.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page1.component.js","sourceRoot":"","sources":["page1.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step30_routing_child/app/page1.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'page1',
5 | template: 'Page 1 of Angular 2 App
'
6 | })
7 | export class Page1Component { }
--------------------------------------------------------------------------------
/step30_routing_child/app/section1.page2.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"section1.page2.component.js","sourceRoot":"","sources":["section1.page2.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAAiC,CAAC;IAJlC;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,sBAAsB;SACjC,CAAC;;yBAAA;IAC+B,wBAAC;AAAD,CAAC,AAAlC,IAAkC;AAArB,yBAAiB,oBAAI,CAAA"}
--------------------------------------------------------------------------------
/step30_routing_child/app/section1.page2.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'section1',
5 | template: 'Section One
'
6 | })
7 | export class Section1Component { }
--------------------------------------------------------------------------------
/step30_routing_child/app/section2.page2.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"section2.page2.component.js","sourceRoot":"","sources":["section2.page2.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAAiC,CAAC;IAJlC;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,sBAAsB;SACjC,CAAC;;yBAAA;IAC+B,wBAAC;AAAD,CAAC,AAAlC,IAAkC;AAArB,yBAAiB,oBAAI,CAAA"}
--------------------------------------------------------------------------------
/step30_routing_child/app/section2.page2.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'section2',
5 | template: 'Section Two
'
6 | })
7 | export class Section2Component { }
--------------------------------------------------------------------------------
/step30_routing_child/readme.md:
--------------------------------------------------------------------------------
1 | https://angular.io/docs/ts/latest/tutorial/toh-pt5.html
2 |
3 | https://angular.io/docs/ts/latest/guide/router.html
4 |
5 | Routing Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
8 |
9 |
--------------------------------------------------------------------------------
/step30_routing_child/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step30_routing_child/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step30_routing_child/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step30_routing_child/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step31_routing_guards/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step31_routing_guards/app/admin.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"admin.component.js","sourceRoot":"","sources":["admin.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,qBAAqB;SAChC,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step31_routing_guards/app/admin.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'admin',
5 | template: 'Admin Page
'
6 | })
7 | export class AdminComponent { }
--------------------------------------------------------------------------------
/step31_routing_guards/app/auth.guard.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["auth.guard.ts"],"names":[],"mappings":";AAEA;IAAA;IAKA,CAAC;IAJC,+BAAW,GAAX;QACE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,CAAA,+CAA+C;IAC9D,CAAC;IACH,gBAAC;AAAD,CAAC,AALD,IAKC;AALY,iBAAS,YAKrB,CAAA"}
--------------------------------------------------------------------------------
/step31_routing_guards/app/auth.guard.ts:
--------------------------------------------------------------------------------
1 | import { CanActivate } from '@angular/router';
2 |
3 | export class AuthGuard implements CanActivate {
4 | canActivate() {
5 | console.log('AuthGuard#canActivate called');
6 | return false;//if you return true then navigation will occur
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/step31_routing_guards/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,2BAAqC,cAAc,CAAC,CAAA;AAEpD,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAoB;CACrB,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC;AAAA,CAAC"}
--------------------------------------------------------------------------------
/step31_routing_guards/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { APP_ROUTER_PROVIDERS } from './app.routes';
4 |
5 | bootstrap(AppComponent, [
6 | APP_ROUTER_PROVIDERS
7 | ]).catch(err => console.error(err));;
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step31_routing_guards/app/page1.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page1.component.js","sourceRoot":"","sources":["page1.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step31_routing_guards/app/page1.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'page1',
5 | template: 'Page 1 of Angular 2 App
'
6 | })
7 | export class Page1Component { }
--------------------------------------------------------------------------------
/step31_routing_guards/app/page2.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"page2.component.js","sourceRoot":"","sources":["page2.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA0B,eAAe,CAAC,CAAA;AAM1C;IAAA;IAA8B,CAAC;IAJ/B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,kCAAkC;SAC7C,CAAC;;sBAAA;IAC4B,qBAAC;AAAD,CAAC,AAA/B,IAA+B;AAAlB,sBAAc,iBAAI,CAAA"}
--------------------------------------------------------------------------------
/step31_routing_guards/app/page2.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'page2',
5 | template: 'Page 2 of Angular 2 App
'
6 | })
7 | export class Page2Component { }
--------------------------------------------------------------------------------
/step31_routing_guards/readme.md:
--------------------------------------------------------------------------------
1 | https://angular.io/docs/ts/latest/tutorial/toh-pt5.html
2 |
3 | https://angular.io/docs/ts/latest/guide/router.html
4 |
5 | Routing Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
8 |
9 |
--------------------------------------------------------------------------------
/step31_routing_guards/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step31_routing_guards/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step31_routing_guards/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step31_routing_guards/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step32_services/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step32_services/app/hero.service.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"hero.service.js","sourceRoot":"","sources":["hero.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA2B,eAAe,CAAC,CAAA;AAG3C;IAAA;IAIA,CAAC;IAHC,+BAAS,GAAT;QACE,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAJH;QAAC,iBAAU,EAAE;;mBAAA;IAKb,kBAAC;AAAD,CAAC,AAJD,IAIC;AAJY,mBAAW,cAIvB,CAAA"}
--------------------------------------------------------------------------------
/step32_services/app/hero.service.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 |
3 | @Injectable()
4 | export class HeroService {
5 | getHeroes() {
6 | return ["Zeeshan", "Taha", "Rehan", "Inam", "Hira"];
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/step32_services/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step32_services/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step32_services/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step32_services/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://angular.io/docs/ts/latest/tutorial/toh-pt4.html
4 |
5 | Dependency Injection Chapter of ng-book 2:
6 |
7 | https://www.ng-book.com/2/
--------------------------------------------------------------------------------
/step32_services/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step32_services/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step32_services/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step32_services/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step33_rxjs_rendering_observables/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step33_rxjs_rendering_observables/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step33_rxjs_rendering_observables/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step33_rxjs_rendering_observables/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step33_rxjs_rendering_observables/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step33_rxjs_rendering_observables/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step33_rxjs_rendering_observables/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step33_rxjs_rendering_observables/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step34_rxjs_map_date_pipes/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step34_rxjs_map_date_pipes/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step34_rxjs_map_date_pipes/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step34_rxjs_map_date_pipes/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step34_rxjs_map_date_pipes/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step34_rxjs_map_date_pipes/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step34_rxjs_map_date_pipes/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step34_rxjs_map_date_pipes/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step35_rxjs_click_events_with_subjects/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step35_rxjs_click_events_with_subjects/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step35_rxjs_click_events_with_subjects/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step35_rxjs_click_events_with_subjects/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step35_rxjs_click_events_with_subjects/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step35_rxjs_click_events_with_subjects/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step35_rxjs_click_events_with_subjects/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step35_rxjs_click_events_with_subjects/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step36_rxjs_merge_clicks_intervals/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step36_rxjs_merge_clicks_intervals/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step36_rxjs_merge_clicks_intervals/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step36_rxjs_merge_clicks_intervals/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step36_rxjs_merge_clicks_intervals/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step36_rxjs_merge_clicks_intervals/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step36_rxjs_merge_clicks_intervals/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step36_rxjs_merge_clicks_intervals/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step37_rxjs_states_startwith_scan/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step37_rxjs_states_startwith_scan/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step37_rxjs_states_startwith_scan/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step37_rxjs_states_startwith_scan/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step37_rxjs_states_startwith_scan/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step37_rxjs_states_startwith_scan/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step37_rxjs_states_startwith_scan/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step37_rxjs_states_startwith_scan/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step38_rxjs_mapping_streams_to_values/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step38_rxjs_mapping_streams_to_values/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step38_rxjs_mapping_streams_to_values/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step38_rxjs_mapping_streams_to_values/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step38_rxjs_mapping_streams_to_values/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step38_rxjs_mapping_streams_to_values/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step38_rxjs_mapping_streams_to_values/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step38_rxjs_mapping_streams_to_values/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step39_rxjs_data_services_with_immutables/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step39_rxjs_data_services_with_immutables/app/Todo.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Todo = (function () {
3 | function Todo(item) {
4 | this.item = item;
5 | }
6 | return Todo;
7 | }());
8 | exports.Todo = Todo;
9 | //# sourceMappingURL=Todo.js.map
--------------------------------------------------------------------------------
/step39_rxjs_data_services_with_immutables/app/Todo.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"Todo.js","sourceRoot":"","sources":["Todo.ts"],"names":[],"mappings":";AAAA;IACI,cAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAE,CAAC;IACtC,WAAC;AAAD,CAAC,AAFD,IAEC;AAFY,YAAI,OAEhB,CAAA"}
--------------------------------------------------------------------------------
/step39_rxjs_data_services_with_immutables/app/Todo.ts:
--------------------------------------------------------------------------------
1 | export class Todo {
2 | constructor(public item: string){}
3 | }
--------------------------------------------------------------------------------
/step39_rxjs_data_services_with_immutables/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,sBAAqD,gBAAgB,CAAC,CAAA;AACtE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step39_rxjs_data_services_with_immutables/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
3 | import { AppComponent } from './app.component';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ]);
9 |
10 |
11 |
--------------------------------------------------------------------------------
/step39_rxjs_data_services_with_immutables/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step39_rxjs_data_services_with_immutables/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step39_rxjs_data_services_with_immutables/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step40_ngrx_store_state/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step40_ngrx_store_state/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step40_ngrx_store_state/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step40_ngrx_store_state/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step40_ngrx_store_state/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step41_ngrx_dispatching_payloads/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step41_ngrx_dispatching_payloads/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://egghead.io/lessons/angular-2-dispatching-action-payloads-to-reducers?course=building-a-time-machine-with-angular-2-and-rxjs
4 |
5 | Source Code:
6 |
7 | https://gist.run/?id=fbcd9e35485b1a50b97e
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step41_ngrx_dispatching_payloads/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step41_ngrx_dispatching_payloads/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step41_ngrx_dispatching_payloads/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step41_ngrx_dispatching_payloads/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step42_ngrx_passing_template_input_values/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step42_ngrx_passing_template_input_values/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://egghead.io/lessons/angular-2-passing-template-input-values-to-reducers?course=building-a-time-machine-with-angular-2-and-rxjs
4 |
5 | Source Code:
6 |
7 | https://gist.run/?id=bcac9c1e8895171dd1d8
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step42_ngrx_passing_template_input_values/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step42_ngrx_passing_template_input_values/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step42_ngrx_passing_template_input_values/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step43_ngrx_passing_observables_to_components/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step43_ngrx_passing_observables_to_components/app/clock.component.ts:
--------------------------------------------------------------------------------
1 | import {Component, Input} from '@angular/core';
2 |
3 | @Component({
4 | selector: 'clock',
5 | template: `{{time | date:'medium'}}
`
6 | })
7 | export class Clock{
8 | @Input() time;
9 | }
--------------------------------------------------------------------------------
/step43_ngrx_passing_observables_to_components/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://egghead.io/lessons/angular-2-passing-observables-into-components-with-async-pipe?course=building-a-time-machine-with-angular-2-and-rxjs
4 |
5 | Source Code:
6 |
7 | https://gist.run/?id=f65543f7cd86d8b1fb41
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step43_ngrx_passing_observables_to_components/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step43_ngrx_passing_observables_to_components/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step43_ngrx_passing_observables_to_components/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step44_ngrx_adding _second_reducer/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step44_ngrx_adding _second_reducer/app/clock.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"clock.component.js","sourceRoot":"","sources":["clock.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA+B,eAAe,CAAC,CAAA;AAM/C;IAAA;IAEA,CAAC;IADG;QAAC,YAAK,EAAE;;uCAAA;IALZ;QAAC,gBAAS,CAAC;YACP,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,mCAAmC;SAChD,CAAC;;aAAA;IAGF,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA"}
--------------------------------------------------------------------------------
/step44_ngrx_adding _second_reducer/app/clock.component.ts:
--------------------------------------------------------------------------------
1 | import {Component, Input} from '@angular/core';
2 |
3 | @Component({
4 | selector: 'clock',
5 | template: `{{time | date:'medium'}}
`
6 | })
7 | export class Clock{
8 | @Input() time;
9 | }
--------------------------------------------------------------------------------
/step44_ngrx_adding _second_reducer/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://egghead.io/lessons/angular-2-adding-a-second-reducer-to-the-store?course=building-a-time-machine-with-angular-2-and-rxjs
4 |
5 | Source Code:
6 |
7 | https://gist.run/?id=803f13a4d7232d64fd29
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step44_ngrx_adding _second_reducer/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step44_ngrx_adding _second_reducer/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step44_ngrx_adding _second_reducer/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step44_ngrx_adding _second_reducer/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step45_ngrx_using_two_reducers_together/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step45_ngrx_using_two_reducers_together/app/clock.component.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"clock.component.js","sourceRoot":"","sources":["clock.component.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,qBAA+B,eAAe,CAAC,CAAA;AAM/C;IAAA;IAEA,CAAC;IADG;QAAC,YAAK,EAAE;;uCAAA;IALZ;QAAC,gBAAS,CAAC;YACP,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,mCAAmC;SAChD,CAAC;;aAAA;IAGF,YAAC;AAAD,CAAC,AAFD,IAEC;AAFY,aAAK,QAEjB,CAAA"}
--------------------------------------------------------------------------------
/step45_ngrx_using_two_reducers_together/app/clock.component.ts:
--------------------------------------------------------------------------------
1 | import {Component, Input} from '@angular/core';
2 |
3 | @Component({
4 | selector: 'clock',
5 | template: `{{time | date:'medium'}}
`
6 | })
7 | export class Clock{
8 | @Input() time;
9 | }
--------------------------------------------------------------------------------
/step45_ngrx_using_two_reducers_together/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://egghead.io/lessons/angular-2-using-two-reducers-together?course=building-a-time-machine-with-angular-2-and-rxjs
4 |
5 | Source Code:
6 |
7 | https://gist.run/?id=9d1781c8401a5e664226
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step45_ngrx_using_two_reducers_together/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step45_ngrx_using_two_reducers_together/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step45_ngrx_using_two_reducers_together/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step46_ngrx_using_value_from store_in_reducer/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step46_ngrx_using_value_from store_in_reducer/app/clock.component.ts:
--------------------------------------------------------------------------------
1 | import {Component, Input} from '@angular/core';
2 |
3 | @Component({
4 | selector: 'clock',
5 | template: `{{time | date:'medium'}}
`
6 | })
7 | export class Clock{
8 | @Input() time;
9 | }
--------------------------------------------------------------------------------
/step46_ngrx_using_value_from store_in_reducer/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step46_ngrx_using_value_from store_in_reducer/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step46_ngrx_using_value_from store_in_reducer/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step47_animations_quick_start/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step47_animations_quick_start/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step47_animations_quick_start/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step47_animations_quick_start/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step47_animations_quick_start/readme.md:
--------------------------------------------------------------------------------
1 | Installed polyfill from:
2 |
3 | https://www.npmjs.com/package/web-animations-js
4 |
5 |
6 | Read:
7 |
8 | https://angular.io/docs/ts/latest/guide/animations.html
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/step47_animations_quick_start/styles.css:
--------------------------------------------------------------------------------
1 |
2 | body {
3 | margin: 2em;
4 | }
5 |
--------------------------------------------------------------------------------
/step47_animations_quick_start/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step47_animations_quick_start/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step47_animations_quick_start/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/app/hero.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Hero = (function () {
3 | function Hero(name) {
4 | this.name = name;
5 | this.state = "in";
6 | }
7 | return Hero;
8 | }());
9 | exports.Hero = Hero;
10 | //# sourceMappingURL=hero.js.map
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/app/hero.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"hero.js","sourceRoot":"","sources":["hero.ts"],"names":[],"mappings":";AAAA;IAIE,cAAY,IAAI;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAGH,WAAC;AAAD,CAAC,AAVD,IAUC;AAVY,YAAI,OAUhB,CAAA"}
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/app/hero.ts:
--------------------------------------------------------------------------------
1 | export class Hero {
2 | name: string;
3 | state: string;
4 |
5 | constructor(name){
6 | this.name = name;
7 | this.state = "in";
8 | }
9 |
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,sBAAqD,gBAAgB,CAAC,CAAA;AAEtE,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ]);
9 |
10 |
11 |
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/readme.md:
--------------------------------------------------------------------------------
1 | Read Example: Entering and Leaving on page:
2 |
3 | https://angular.io/docs/ts/latest/guide/animations.html#!#example-entering-and-leaving
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/styles.css:
--------------------------------------------------------------------------------
1 |
2 | body {
3 | margin: 2em;
4 | }
5 |
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step48_animations_entering_leaving/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/app/hero.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Hero = (function () {
3 | function Hero(name) {
4 | this.name = name;
5 | this.state = "in";
6 | }
7 | return Hero;
8 | }());
9 | exports.Hero = Hero;
10 | //# sourceMappingURL=hero.js.map
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/app/hero.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"hero.js","sourceRoot":"","sources":["hero.ts"],"names":[],"mappings":";AAAA;IAIE,cAAY,IAAI;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAGH,WAAC;AAAD,CAAC,AAVD,IAUC;AAVY,YAAI,OAUhB,CAAA"}
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/app/hero.ts:
--------------------------------------------------------------------------------
1 | export class Hero {
2 | name: string;
3 | state: string;
4 |
5 | constructor(name){
6 | this.name = name;
7 | this.state = "in";
8 | }
9 |
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,sBAAqD,gBAAgB,CAAC,CAAA;AAEtE,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ]);
9 |
10 |
11 |
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/readme.md:
--------------------------------------------------------------------------------
1 | Read Example:
2 |
3 | https://angular.io/docs/ts/latest/guide/animations.html#!#automatic-property-calculation
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/styles.css:
--------------------------------------------------------------------------------
1 |
2 | body {
3 | margin: 2em;
4 | }
5 |
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step49_animations_automatic_property_calculation/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step50_animations_timings/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step50_animations_timings/app/hero.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Hero = (function () {
3 | function Hero(name) {
4 | this.name = name;
5 | this.state = "in";
6 | }
7 | return Hero;
8 | }());
9 | exports.Hero = Hero;
10 | //# sourceMappingURL=hero.js.map
--------------------------------------------------------------------------------
/step50_animations_timings/app/hero.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"hero.js","sourceRoot":"","sources":["hero.ts"],"names":[],"mappings":";AAAA;IAIE,cAAY,IAAI;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAGH,WAAC;AAAD,CAAC,AAVD,IAUC;AAVY,YAAI,OAUhB,CAAA"}
--------------------------------------------------------------------------------
/step50_animations_timings/app/hero.ts:
--------------------------------------------------------------------------------
1 | export class Hero {
2 | name: string;
3 | state: string;
4 |
5 | constructor(name){
6 | this.name = name;
7 | this.state = "in";
8 | }
9 |
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/step50_animations_timings/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,sBAAqD,gBAAgB,CAAC,CAAA;AAEtE,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step50_animations_timings/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ]);
9 |
10 |
11 |
--------------------------------------------------------------------------------
/step50_animations_timings/readme.md:
--------------------------------------------------------------------------------
1 | Read Example:
2 |
3 | https://angular.io/docs/ts/latest/guide/animations.html#!#animation-timing
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step50_animations_timings/styles.css:
--------------------------------------------------------------------------------
1 |
2 | body {
3 | margin: 2em;
4 | }
5 |
--------------------------------------------------------------------------------
/step50_animations_timings/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step50_animations_timings/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step50_animations_timings/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/app/hero.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Hero = (function () {
3 | function Hero(name) {
4 | this.name = name;
5 | this.state = "in";
6 | }
7 | return Hero;
8 | }());
9 | exports.Hero = Hero;
10 | //# sourceMappingURL=hero.js.map
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/app/hero.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"hero.js","sourceRoot":"","sources":["hero.ts"],"names":[],"mappings":";AAAA;IAIE,cAAY,IAAI;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAGH,WAAC;AAAD,CAAC,AAVD,IAUC;AAVY,YAAI,OAUhB,CAAA"}
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/app/hero.ts:
--------------------------------------------------------------------------------
1 | export class Hero {
2 | name: string;
3 | state: string;
4 |
5 | constructor(name){
6 | this.name = name;
7 | this.state = "in";
8 | }
9 |
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,sBAAqD,gBAAgB,CAAC,CAAA;AAEtE,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ]);
9 |
10 |
11 |
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/readme.md:
--------------------------------------------------------------------------------
1 | Read Example:
2 |
3 | https://angular.io/docs/ts/latest/guide/animations.html#!#multi-step-animations-with-keyframes
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/styles.css:
--------------------------------------------------------------------------------
1 |
2 | body {
3 | margin: 2em;
4 | }
5 |
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step51_animations_multi_step_with_key_frames/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/app/hero.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var Hero = (function () {
3 | function Hero(name) {
4 | this.name = name;
5 | this.state = "in";
6 | }
7 | return Hero;
8 | }());
9 | exports.Hero = Hero;
10 | //# sourceMappingURL=hero.js.map
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/app/hero.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"hero.js","sourceRoot":"","sources":["hero.ts"],"names":[],"mappings":";AAAA;IAIE,cAAY,IAAI;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAGH,WAAC;AAAD,CAAC,AAVD,IAUC;AAVY,YAAI,OAUhB,CAAA"}
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/app/hero.ts:
--------------------------------------------------------------------------------
1 | export class Hero {
2 | name: string;
3 | state: string;
4 |
5 | constructor(name){
6 | this.name = name;
7 | this.state = "in";
8 | }
9 |
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,sBAAqD,gBAAgB,CAAC,CAAA;AAEtE,oCAAS,CAAC,4BAAY,EAAE;IACtB,8BAAsB,EAAE;IACxB,oBAAY,EAAE;CACd,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { disableDeprecatedForms, provideForms } from '@angular/forms';
4 |
5 | bootstrap(AppComponent, [
6 | disableDeprecatedForms(),
7 | provideForms()
8 | ]);
9 |
10 |
11 |
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/readme.md:
--------------------------------------------------------------------------------
1 | Read Example:
2 |
3 | https://angular.io/docs/ts/latest/guide/animations.html#!#parallel-animation-groups
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/styles.css:
--------------------------------------------------------------------------------
1 |
2 | body {
3 | margin: 2em;
4 | }
5 |
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step52_animations_parallel_groups/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step53_animations_page_transitions/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step53_animations_page_transitions/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,2BAAqC,cAAc,CAAC,CAAA;AAEpD,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAoB;CACrB,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC;AAAA,CAAC"}
--------------------------------------------------------------------------------
/step53_animations_page_transitions/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 | import { APP_ROUTER_PROVIDERS } from './app.routes';
4 |
5 | bootstrap(AppComponent, [
6 | APP_ROUTER_PROVIDERS
7 | ]).catch(err => console.error(err));;
8 |
9 |
10 |
--------------------------------------------------------------------------------
/step53_animations_page_transitions/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://github.com/angular/angular/issues/9350#issuecomment-227354109
4 |
5 | http://stackoverflow.com/questions/37904860/angular-2-animate-no-visible-effect-of-the-void-transition-when-changin?rq=1
6 |
--------------------------------------------------------------------------------
/step53_animations_page_transitions/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step53_animations_page_transitions/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step53_animations_page_transitions/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step53_animations_page_transitions/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step54_view_encapsulation/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step54_view_encapsulation/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step54_view_encapsulation/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step54_view_encapsulation/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step54_view_encapsulation/styles.css:
--------------------------------------------------------------------------------
1 | .test {background: green;}
--------------------------------------------------------------------------------
/step54_view_encapsulation/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step54_view_encapsulation/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step54_view_encapsulation/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step55_css_host_selector/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step55_css_host_selector/app/main.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var platform_browser_dynamic_1 = require('@angular/platform-browser-dynamic');
3 | var app_component_1 = require('./app.component');
4 | platform_browser_dynamic_1.bootstrap(app_component_1.AppComponent);
5 | //# sourceMappingURL=main.js.map
--------------------------------------------------------------------------------
/step55_css_host_selector/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAE/C,oCAAS,CAAC,4BAAY,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step55_css_host_selector/app/main.ts:
--------------------------------------------------------------------------------
1 | import { bootstrap } from '@angular/platform-browser-dynamic';
2 | import { AppComponent } from './app.component';
3 |
4 | bootstrap(AppComponent);
5 |
6 |
7 |
--------------------------------------------------------------------------------
/step55_css_host_selector/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://toddmotto.com/emulated-native-shadow-dom-angular-2-view-encapsulation#web-component-footsteps
4 |
5 |
6 | As we use ViewEncapsulation.Native, therefore the component will only show in browsers which support shadow DOM.
--------------------------------------------------------------------------------
/step55_css_host_selector/styles.css:
--------------------------------------------------------------------------------
1 | .test {background: green;}
--------------------------------------------------------------------------------
/step55_css_host_selector/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step55_css_host_selector/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
5 | "node": "registry:dt/node#6.0.0+20160621231320"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/step55_css_host_selector/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 |
--------------------------------------------------------------------------------
/step56_firebase/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step56_firebase/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,6BAAoD,cAAc,CAAC,CAAA;AAGnE,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAkB;IAClB,4BAA4B;IAC5B,8BAAe,CAAC;QACd,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,2BAA2B;QACvC,WAAW,EAAE,qBAAqB;QAClC,aAAa,EAAE,uBAAuB;KACvC,CAAC;CACH,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step56_firebase/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step56_firebase/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step56_firebase/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "firebase3": "file:node_modules/angularfire2/firebase3.d.ts",
5 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
6 | "node": "registry:dt/node#6.0.0+20160621231320"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/step56_firebase/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
--------------------------------------------------------------------------------
/step57_firebase_list_crud/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step57_firebase_list_crud/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,6BAAoD,cAAc,CAAC,CAAA;AAGnE,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAkB;IAClB,4BAA4B;IAC5B,8BAAe,CAAC;QACd,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;KAClB,CAAC;CACH,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step57_firebase_list_crud/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://github.com/angular/angularfire2/blob/master/docs/3-retrieving-data-as-lists.md
--------------------------------------------------------------------------------
/step57_firebase_list_crud/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step57_firebase_list_crud/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step57_firebase_list_crud/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "firebase3": "file:node_modules/angularfire2/firebase3.d.ts",
5 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
6 | "node": "registry:dt/node#6.0.0+20160621231320"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/step57_firebase_list_crud/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
--------------------------------------------------------------------------------
/step58_firebase_object/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step58_firebase_object/app/main.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";AAAA,yCAA6B,mCAAmC,CAAC,CAAA;AACjE,8BAA6B,iBAAiB,CAAC,CAAA;AAC/C,6BAAoD,cAAc,CAAC,CAAA;AAGnE,oCAAS,CAAC,4BAAY,EAAE;IACtB,iCAAkB;IAClB,4BAA4B;IAC5B,8BAAe,CAAC;QACd,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;KAClB,CAAC;CACH,CAAC,CAAC"}
--------------------------------------------------------------------------------
/step58_firebase_object/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://github.com/angular/angularfire2/blob/master/docs/2-retrieving-data-as-objects.md
4 |
--------------------------------------------------------------------------------
/step58_firebase_object/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step58_firebase_object/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step58_firebase_object/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "firebase3": "file:node_modules/angularfire2/firebase3.d.ts",
5 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
6 | "node": "registry:dt/node#6.0.0+20160621231320"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/step58_firebase_object/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
--------------------------------------------------------------------------------
/step59_firebase_object_crud/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step59_firebase_object_crud/readme.md:
--------------------------------------------------------------------------------
1 | Read:
2 |
3 | https://github.com/angular/angularfire2/blob/master/docs/2-retrieving-data-as-objects.md
4 |
--------------------------------------------------------------------------------
/step59_firebase_object_crud/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step59_firebase_object_crud/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step59_firebase_object_crud/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "firebase3": "file:node_modules/angularfire2/firebase3.d.ts",
5 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
6 | "node": "registry:dt/node#6.0.0+20160621231320"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/step59_firebase_object_crud/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
--------------------------------------------------------------------------------
/step60_firebase_one_to_many/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/step60_firebase_one_to_many/styles.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | color: #369;
3 | font-family: Arial, Helvetica, sans-serif;
4 | font-size: 250%;
5 | }
6 | body {
7 | margin: 2em;
8 | }
9 |
10 | /*
11 | * See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
12 | * for the full set of master styles used by the documentation samples
13 | */
14 |
--------------------------------------------------------------------------------
/step60_firebase_one_to_many/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/step60_firebase_one_to_many/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "globalDependencies": {
3 | "core-js": "registry:dt/core-js#0.0.0+20160602141332",
4 | "firebase3": "file:node_modules/angularfire2/firebase3.d.ts",
5 | "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
6 | "node": "registry:dt/node#6.0.0+20160621231320"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/step60_firebase_one_to_many/typings/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 |
--------------------------------------------------------------------------------