├── routes
├── basic
│ ├── -
│ ├── typings
│ │ ├── index.d.ts
│ │ ├── main.d.ts
│ │ └── browser.d.ts
│ ├── app
│ │ ├── images
│ │ │ └── loading.gif
│ │ ├── ts
│ │ │ └── components
│ │ │ │ ├── AboutComponent.ts
│ │ │ │ ├── HomeComponent.ts
│ │ │ │ └── ContactComponent.ts
│ │ ├── css
│ │ │ └── styles.scss
│ │ └── index.html
│ ├── README.md
│ ├── Makefile
│ ├── e2e
│ │ ├── app.po.ts
│ │ └── tsconfig.json
│ ├── vendor.ts
│ ├── .test.bats
│ └── html5-dev-server.js
├── nested
│ ├── -
│ ├── app
│ │ ├── images
│ │ │ └── loading.gif
│ │ ├── css
│ │ │ ├── nested.scss
│ │ │ └── styles.scss
│ │ ├── ts
│ │ │ └── components
│ │ │ │ ├── HomeComponent.ts
│ │ │ │ └── products
│ │ │ │ ├── InterestComponent.ts
│ │ │ │ ├── SportifyComponent.ts
│ │ │ │ ├── MainComponent.ts
│ │ │ │ └── ByIdComponent.ts
│ │ └── index.html
│ ├── README.md
│ ├── Makefile
│ ├── typings
│ │ ├── main.d.ts
│ │ └── browser.d.ts
│ ├── vendor.ts
│ ├── e2e
│ │ ├── tsconfig.json
│ │ └── app.po.ts
│ └── .test.bats
├── auth
│ ├── app
│ │ ├── images
│ │ │ └── loading.gif
│ │ ├── css
│ │ │ └── styles.scss
│ │ ├── ts
│ │ │ ├── components
│ │ │ │ ├── AboutComponent.ts
│ │ │ │ ├── HomeComponent.ts
│ │ │ │ ├── ContactComponent.ts
│ │ │ │ └── ProtectedComponent.ts
│ │ │ └── guards
│ │ │ │ └── loggedIn.guard.ts
│ │ └── index.html
│ ├── README.md
│ ├── Makefile
│ ├── typings
│ │ ├── main.d.ts
│ │ └── browser.d.ts
│ ├── vendor.ts
│ ├── e2e
│ │ └── tsconfig.json
│ ├── tsconfig.json
│ └── .test.bats
└── music
│ ├── app
│ ├── images
│ │ └── loading.gif
│ ├── css
│ │ └── styles.scss
│ └── ts
│ │ └── vendor.ts
│ ├── README.md
│ ├── Makefile
│ ├── typings
│ ├── main.d.ts
│ └── browser.d.ts
│ └── e2e
│ └── tsconfig.json
├── first_app
├── .gitignore
├── angular2_reddit
│ ├── src
│ │ ├── assets
│ │ │ ├── .gitkeep
│ │ │ ├── .npmignore
│ │ │ └── images
│ │ │ │ ├── favicon.ico
│ │ │ │ ├── favicon-32x32.png
│ │ │ │ └── ng-book-2-minibook.png
│ │ ├── app
│ │ │ ├── app.component.css
│ │ │ ├── shared
│ │ │ │ └── index.ts
│ │ │ ├── article
│ │ │ │ ├── article.component.css
│ │ │ │ ├── article.model.1.ts
│ │ │ │ └── article.component.spec.ts
│ │ │ ├── index.ts
│ │ │ ├── vendor
│ │ │ │ └── themes
│ │ │ │ │ └── default
│ │ │ │ │ └── assets
│ │ │ │ │ ├── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.otf
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ ├── icons.woff
│ │ │ │ │ └── icons.woff2
│ │ │ │ │ └── images
│ │ │ │ │ └── flags.png
│ │ │ ├── app.component.1.ts
│ │ │ ├── app.component.1.html
│ │ │ ├── app.component.2.ts
│ │ │ └── app.component.2.html
│ │ ├── environments
│ │ │ ├── environment.dev.ts
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── typings.d.ts
│ │ ├── main.ts
│ │ └── tsconfig.json
│ ├── .editorconfig
│ ├── e2e
│ │ └── tsconfig.json
│ └── .gitignore
└── angular2_hello_world
│ ├── src
│ ├── assets
│ │ ├── .gitkeep
│ │ └── .npmignore
│ ├── app
│ │ ├── app.component.css
│ │ ├── shared
│ │ │ └── index.ts
│ │ ├── user-item
│ │ │ ├── user-item.component.css
│ │ │ ├── user-item.component.html
│ │ │ ├── user-item.component.spec.ts
│ │ │ ├── user-item.component.1.ts
│ │ │ └── user-item.component.ts
│ │ ├── user-list
│ │ │ ├── user-list.component.css
│ │ │ ├── user-list.component.1.html
│ │ │ ├── user-list.component.2.html
│ │ │ ├── user-list.component.html
│ │ │ ├── user-list.component.spec.ts
│ │ │ └── user-list.component.ts
│ │ ├── hello-world
│ │ │ ├── hello-world.component.css
│ │ │ ├── hello-world.component.html
│ │ │ ├── hello-world.component.ts
│ │ │ └── hello-world.component.spec.ts
│ │ ├── index.ts
│ │ ├── app.component.1.html
│ │ ├── app.component.html
│ │ ├── app.component.2.html
│ │ └── app.component.ts
│ ├── environments
│ │ ├── environment.dev.ts
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── styles.css
│ ├── favicon.ico
│ ├── typings.d.ts
│ ├── index.html
│ ├── main.ts
│ └── tsconfig.json
│ ├── e2e
│ ├── app.po.ts
│ ├── tsconfig.json
│ └── app.e2e-spec.ts
│ ├── .editorconfig
│ └── .gitignore
├── .gitignore
├── forms
├── .gitignore
├── app
│ ├── images
│ │ ├── favicon.ico
│ │ ├── favicon-32x32.png
│ │ └── ng-book-2-minibook.png
│ └── css
│ │ └── themes
│ │ └── default
│ │ └── assets
│ │ ├── fonts
│ │ ├── icons.eot
│ │ ├── icons.otf
│ │ ├── icons.ttf
│ │ ├── icons.woff
│ │ └── icons.woff2
│ │ └── images
│ │ └── flags.png
├── Makefile
├── README.md
├── typings
│ ├── main.d.ts
│ └── browser.d.ts
├── e2e
│ ├── app.po.ts
│ ├── tsconfig.json
│ └── app.e2e-spec.ts
├── vendor.ts
└── test
│ └── util.ts
├── .DS_Store
├── nativescript
└── photos-near-me
│ ├── app
│ ├── .npmignore
│ ├── app.css
│ ├── App_Resources
│ │ ├── iOS
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── Contents.json
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ ├── icon-29.png
│ │ │ │ │ ├── icon-40.png
│ │ │ │ │ ├── icon-50.png
│ │ │ │ │ ├── icon-57.png
│ │ │ │ │ ├── icon-72.png
│ │ │ │ │ ├── icon-76.png
│ │ │ │ │ ├── icon-29@2x.png
│ │ │ │ │ ├── icon-29@3x.png
│ │ │ │ │ ├── icon-40@2x.png
│ │ │ │ │ ├── icon-40@3x.png
│ │ │ │ │ ├── icon-50@2x.png
│ │ │ │ │ ├── icon-57@2x.png
│ │ │ │ │ ├── icon-60@2x.png
│ │ │ │ │ ├── icon-60@3x.png
│ │ │ │ │ ├── icon-72@2x.png
│ │ │ │ │ ├── icon-76@2x.png
│ │ │ │ │ └── icon-83.5@2x.png
│ │ │ │ ├── LaunchImage.launchimage
│ │ │ │ │ ├── Default.png
│ │ │ │ │ ├── Default@2x.png
│ │ │ │ │ ├── Default-568h@2x.png
│ │ │ │ │ ├── Default-667h@2x.png
│ │ │ │ │ ├── Default-736h@3x.png
│ │ │ │ │ ├── Default-Landscape.png
│ │ │ │ │ ├── Default-Portrait.png
│ │ │ │ │ ├── Default-Landscape@2x.png
│ │ │ │ │ ├── Default-Landscape@3x.png
│ │ │ │ │ └── Default-Portrait@2x.png
│ │ │ │ ├── LaunchScreen.Center.imageset
│ │ │ │ │ ├── LaunchScreen-Center.png
│ │ │ │ │ ├── LaunchScreen-Center@2x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ └── LaunchScreen.AspectFill.imageset
│ │ │ │ │ ├── LaunchScreen-AspectFill.png
│ │ │ │ │ ├── LaunchScreen-AspectFill@2x.png
│ │ │ │ │ └── Contents.json
│ │ │ └── build.xcconfig
│ │ └── Android
│ │ │ ├── drawable-hdpi
│ │ │ └── icon.png
│ │ │ ├── drawable-ldpi
│ │ │ └── icon.png
│ │ │ ├── drawable-mdpi
│ │ │ └── icon.png
│ │ │ ├── drawable-nodpi
│ │ │ └── splashscreen.9.png
│ │ │ └── app.gradle
│ ├── components
│ │ └── image-component
│ │ │ └── image.component.html
│ ├── main.ts
│ ├── app.component.ts
│ ├── models
│ │ ├── getInfoResponse.ts
│ │ └── photosSearchResponse.ts
│ ├── config.ts
│ └── app.routing.ts
│ ├── .gitignore
│ ├── references.d.ts
│ └── tsconfig.json
├── how_angular_works
└── inventory_app
│ ├── .gitignore
│ ├── typings
│ ├── main.d.ts
│ └── browser.d.ts
│ ├── resources
│ ├── images
│ │ ├── favicon.ico
│ │ ├── favicon-32x32.png
│ │ ├── ng-book-2-minibook.png
│ │ └── products
│ │ │ ├── black-hat.jpg
│ │ │ ├── black-shoes.jpg
│ │ │ └── blue-jacket.jpg
│ └── vendor
│ │ └── themes
│ │ └── default
│ │ └── assets
│ │ ├── fonts
│ │ ├── icons.eot
│ │ ├── icons.otf
│ │ ├── icons.ttf
│ │ ├── icons.woff
│ │ └── icons.woff2
│ │ └── images
│ │ └── flags.png
│ ├── typings.json
│ ├── e2e
│ ├── app.po.ts
│ ├── tsconfig.json
│ └── app.e2e-spec.ts
│ ├── tsconfig.json
│ └── .test.bats
├── http
├── test
│ ├── typings
│ │ └── karma-read-json.d.ts
│ └── fixture
│ │ └── youtube-response.json
├── app
│ ├── images
│ │ └── loading.gif
│ ├── css
│ │ └── styles.scss
│ ├── ts
│ │ └── vendor.ts
│ └── index.html
├── TODO.md
├── README.md
├── Makefile
├── typings
│ ├── main.d.ts
│ └── browser.d.ts
├── e2e
│ ├── tsconfig.json
│ └── app.po.ts
└── tsconfig.json
├── conversion
├── ng1
│ ├── images
│ │ ├── pins
│ │ │ ├── cat.jpg
│ │ │ ├── cat2.jpg
│ │ │ ├── 106033588_167d811702_o.jpg
│ │ │ ├── 2389719785_2bee9f49b3_o.jpg
│ │ │ ├── 2655460065_381b1b25e2_o.jpg
│ │ │ ├── 2927304508_d28363967c_o.jpg
│ │ │ ├── 3714437087_5f1b1a6381_o.jpg
│ │ │ ├── 3714916723_938365e9a2_o.jpg
│ │ │ ├── 4422575066_7d5c4c41e7_o.jpg
│ │ │ ├── 4449613634_016c827042_o.jpg
│ │ │ ├── 6819859061_25d05ef2e1_o.jpg
│ │ │ ├── 6854992490_e380a504b9_o.jpg
│ │ │ ├── 6863434196_9a963a1023_o.jpg
│ │ │ ├── 9071808685_58c2c61efc_o.jpg
│ │ │ ├── 18690623833_5f21f6e248_o.jpg
│ │ │ └── 19311217795_b57b6293b3_o.jpg
│ │ ├── avatars
│ │ │ ├── me.jpg
│ │ │ ├── 25426965@N08.jpg
│ │ │ ├── 26265986@N00.jpg
│ │ │ ├── 30811353@N04.jpg
│ │ │ ├── 30815420@N00.jpg
│ │ │ ├── 32399948@N06.jpg
│ │ │ ├── 42826303@N00.jpg
│ │ │ ├── 51527254@N02.jpg
│ │ │ ├── 7562944@N06.jpg
│ │ │ ├── 7940758@N07.jpg
│ │ │ ├── 97286492@N00.jpg
│ │ │ └── 44124348109@N01.jpg
│ │ └── icons
│ │ │ ├── Heart-Red.png
│ │ │ └── Heart-Empty.png
│ ├── templates
│ │ └── home.html
│ ├── README.md
│ └── package.json
└── hybrid
│ ├── images
│ ├── pins
│ │ ├── cat.jpg
│ │ ├── cat2.jpg
│ │ ├── 106033588_167d811702_o.jpg
│ │ ├── 2389719785_2bee9f49b3_o.jpg
│ │ ├── 2655460065_381b1b25e2_o.jpg
│ │ ├── 2927304508_d28363967c_o.jpg
│ │ ├── 3714437087_5f1b1a6381_o.jpg
│ │ ├── 3714916723_938365e9a2_o.jpg
│ │ ├── 4422575066_7d5c4c41e7_o.jpg
│ │ ├── 4449613634_016c827042_o.jpg
│ │ ├── 6819859061_25d05ef2e1_o.jpg
│ │ ├── 6854992490_e380a504b9_o.jpg
│ │ ├── 6863434196_9a963a1023_o.jpg
│ │ ├── 9071808685_58c2c61efc_o.jpg
│ │ ├── 18690623833_5f21f6e248_o.jpg
│ │ └── 19311217795_b57b6293b3_o.jpg
│ ├── avatars
│ │ ├── me.jpg
│ │ ├── 25426965@N08.jpg
│ │ ├── 26265986@N00.jpg
│ │ ├── 30811353@N04.jpg
│ │ ├── 30815420@N00.jpg
│ │ ├── 32399948@N06.jpg
│ │ ├── 42826303@N00.jpg
│ │ ├── 51527254@N02.jpg
│ │ ├── 7562944@N06.jpg
│ │ ├── 7940758@N07.jpg
│ │ ├── 97286492@N00.jpg
│ │ └── 44124348109@N01.jpg
│ └── icons
│ │ ├── Heart-Red.png
│ │ └── Heart-Empty.png
│ ├── templates
│ └── home.html
│ ├── typings
│ ├── main.d.ts
│ └── browser.d.ts
│ ├── e2e
│ ├── tsconfig.json
│ └── app.po.ts
│ ├── README.md
│ ├── js
│ └── app.d.ts
│ ├── ts
│ └── services
│ │ └── AnalyticsService.ts
│ ├── tsconfig.json
│ └── .test.bats
├── advanced_components
├── app
│ ├── images
│ │ ├── favicon.ico
│ │ ├── avatars
│ │ │ ├── joe.jpg
│ │ │ ├── matt.jpg
│ │ │ ├── elliot.jpg
│ │ │ ├── helen.jpg
│ │ │ ├── jenny.jpg
│ │ │ └── justen.jpg
│ │ ├── favicon-32x32.png
│ │ └── logos
│ │ │ └── ng-book-2-minibook.png
│ ├── ts
│ │ ├── styling
│ │ │ └── external.css
│ │ └── vendor.ts
│ ├── css
│ │ ├── vendor
│ │ │ └── themes
│ │ │ │ └── default
│ │ │ │ └── assets
│ │ │ │ ├── fonts
│ │ │ │ ├── icons.eot
│ │ │ │ ├── icons.otf
│ │ │ │ ├── icons.ttf
│ │ │ │ ├── icons.woff
│ │ │ │ └── icons.woff2
│ │ │ │ └── images
│ │ │ │ └── flags.png
│ │ ├── styles.css
│ │ └── styles.scss
│ └── index.html
├── typings
│ ├── main.d.ts
│ └── browser.d.ts
├── e2e
│ ├── tsconfig.json
│ └── app.po.ts
├── Makefile
├── tsconfig.json
└── .test.bats
├── built_in_directives
├── app
│ ├── images
│ │ ├── favicon.ico
│ │ ├── avatars
│ │ │ ├── joe.jpg
│ │ │ ├── matt.jpg
│ │ │ ├── elliot.jpg
│ │ │ ├── helen.jpg
│ │ │ ├── jenny.jpg
│ │ │ └── justen.jpg
│ │ ├── favicon-32x32.png
│ │ └── logos
│ │ │ └── ng-book-2-minibook.png
│ ├── css
│ │ └── vendor
│ │ │ └── themes
│ │ │ └── default
│ │ │ └── assets
│ │ │ ├── fonts
│ │ │ ├── icons.eot
│ │ │ ├── icons.otf
│ │ │ ├── icons.ttf
│ │ │ ├── icons.woff
│ │ │ └── icons.woff2
│ │ │ └── images
│ │ │ └── flags.png
│ └── ts
│ │ └── vendor.ts
├── typings
│ ├── main.d.ts
│ └── browser.d.ts
├── e2e
│ ├── tsconfig.json
│ └── app.po.ts
├── Makefile
├── tsconfig.json
└── .test.bats
├── dependency_injection
├── misc
│ ├── .gitignore
│ ├── app
│ │ ├── images
│ │ │ ├── favicon.ico
│ │ │ ├── loading.gif
│ │ │ ├── favicon-32x32.png
│ │ │ └── ng-book-2-minibook.png
│ │ ├── css
│ │ │ ├── styles.scss
│ │ │ └── sportify.scss
│ │ └── ts
│ │ │ └── vendor.ts
│ ├── resources
│ │ └── vendor
│ │ │ └── themes
│ │ │ └── default
│ │ │ └── assets
│ │ │ ├── fonts
│ │ │ ├── icons.eot
│ │ │ ├── icons.otf
│ │ │ ├── icons.ttf
│ │ │ ├── icons.woff
│ │ │ └── icons.woff2
│ │ │ └── images
│ │ │ └── flags.png
│ ├── README.md
│ ├── Makefile
│ ├── typings
│ │ ├── main.d.ts
│ │ └── browser.d.ts
│ ├── e2e
│ │ ├── tsconfig.json
│ │ └── app.po.ts
│ └── .test.bats
├── simple
│ ├── .gitignore
│ ├── app
│ │ ├── images
│ │ │ ├── favicon.ico
│ │ │ ├── loading.gif
│ │ │ ├── favicon-32x32.png
│ │ │ └── ng-book-2-minibook.png
│ │ ├── ts
│ │ │ ├── services
│ │ │ │ ├── ApiService.ts
│ │ │ │ └── ApiService.js
│ │ │ └── vendor.ts
│ │ └── css
│ │ │ ├── styles.scss
│ │ │ └── sportify.scss
│ ├── resources
│ │ └── vendor
│ │ │ └── themes
│ │ │ └── default
│ │ │ └── assets
│ │ │ ├── fonts
│ │ │ ├── icons.eot
│ │ │ ├── icons.otf
│ │ │ ├── icons.ttf
│ │ │ ├── icons.woff
│ │ │ └── icons.woff2
│ │ │ └── images
│ │ │ └── flags.png
│ ├── README.md
│ ├── Makefile
│ ├── typings
│ │ ├── main.d.ts
│ │ └── browser.d.ts
│ ├── e2e
│ │ ├── tsconfig.json
│ │ └── app.po.ts
│ └── .test.bats
├── value
│ ├── .gitignore
│ ├── app
│ │ ├── images
│ │ │ ├── favicon.ico
│ │ │ ├── loading.gif
│ │ │ ├── favicon-32x32.png
│ │ │ └── ng-book-2-minibook.png
│ │ ├── css
│ │ │ ├── styles.scss
│ │ │ └── sportify.scss
│ │ └── ts
│ │ │ ├── services
│ │ │ ├── ApiService.js
│ │ │ └── ApiService.ts
│ │ │ └── vendor.ts
│ ├── resources
│ │ └── vendor
│ │ │ └── themes
│ │ │ └── default
│ │ │ └── assets
│ │ │ ├── fonts
│ │ │ ├── icons.eot
│ │ │ ├── icons.otf
│ │ │ ├── icons.ttf
│ │ │ ├── icons.woff
│ │ │ └── icons.woff2
│ │ │ └── images
│ │ │ └── flags.png
│ ├── README.md
│ ├── Makefile
│ ├── typings
│ │ ├── main.d.ts
│ │ └── browser.d.ts
│ ├── e2e
│ │ ├── tsconfig.json
│ │ └── app.po.ts
│ └── .test.bats
├── complex
│ ├── .gitignore
│ ├── app
│ │ ├── images
│ │ │ ├── favicon.ico
│ │ │ ├── loading.gif
│ │ │ ├── favicon-32x32.png
│ │ │ └── ng-book-2-minibook.png
│ │ ├── ts
│ │ │ ├── services
│ │ │ │ ├── ApiService.ts
│ │ │ │ ├── LargeService.ts
│ │ │ │ ├── SmallService.ts
│ │ │ │ ├── ApiService.js
│ │ │ │ └── ViewPortService.ts
│ │ │ └── vendor.ts
│ │ └── css
│ │ │ ├── styles.scss
│ │ │ └── sportify.scss
│ ├── resources
│ │ └── vendor
│ │ │ └── themes
│ │ │ └── default
│ │ │ └── assets
│ │ │ ├── fonts
│ │ │ ├── icons.eot
│ │ │ ├── icons.otf
│ │ │ ├── icons.ttf
│ │ │ ├── icons.woff
│ │ │ └── icons.woff2
│ │ │ └── images
│ │ │ └── flags.png
│ ├── README.md
│ ├── Makefile
│ ├── typings
│ │ ├── main.d.ts
│ │ └── browser.d.ts
│ ├── e2e
│ │ ├── tsconfig.json
│ │ └── app.po.ts
│ └── .test.bats
└── injector
│ ├── .gitignore
│ ├── app
│ ├── images
│ │ ├── favicon.ico
│ │ ├── loading.gif
│ │ ├── favicon-32x32.png
│ │ └── ng-book-2-minibook.png
│ ├── css
│ │ ├── styles.scss
│ │ └── sportify.scss
│ └── ts
│ │ └── vendor.ts
│ ├── resources
│ └── vendor
│ │ └── themes
│ │ └── default
│ │ └── assets
│ │ ├── fonts
│ │ ├── icons.eot
│ │ ├── icons.otf
│ │ ├── icons.ttf
│ │ ├── icons.woff
│ │ └── icons.woff2
│ │ └── images
│ │ └── flags.png
│ ├── README.md
│ ├── Makefile
│ ├── typings
│ ├── main.d.ts
│ └── browser.d.ts
│ ├── e2e
│ ├── tsconfig.json
│ └── app.po.ts
│ └── .test.bats
├── rxjs
└── chat
│ ├── app
│ ├── images
│ │ ├── avatars
│ │ │ ├── male-avatar-1.png
│ │ │ ├── male-avatar-2.png
│ │ │ ├── male-avatar-3.png
│ │ │ ├── male-avatar-4.png
│ │ │ ├── female-avatar-1.png
│ │ │ ├── female-avatar-2.png
│ │ │ ├── female-avatar-3.png
│ │ │ └── female-avatar-4.png
│ │ ├── readme
│ │ │ ├── rx-chat-models.png
│ │ │ ├── full-chat-preview.png
│ │ │ ├── rx-chat-echo-bot.png
│ │ │ ├── rx-chat-top-level-components.png
│ │ │ └── ng-book-2-as-book-cover-pigment.png
│ │ └── logos
│ │ │ ├── ng-book-2-minibook.png
│ │ │ └── Angular2RxJSChatHeaderImage.png
│ ├── ts
│ │ ├── util
│ │ │ ├── util.ts
│ │ │ ├── FromNowPipe.ts
│ │ │ └── uuid.ts
│ │ ├── services
│ │ │ ├── services.ts
│ │ │ └── UserService.ts
│ │ └── vendor.ts
│ └── css
│ │ └── styles.scss
│ ├── docker.md
│ ├── test
│ ├── calculator.ts
│ └── app.spec.ts
│ ├── typings
│ ├── main.d.ts
│ └── browser.d.ts
│ ├── e2e
│ └── tsconfig.json
│ ├── Makefile
│ ├── tsconfig.json
│ └── .test.bats
├── redux
└── angular2-redux-chat
│ ├── app
│ ├── ts
│ │ ├── app-store.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ ├── User.ts
│ │ │ ├── Thread.ts
│ │ │ └── Message.ts
│ │ ├── vendor.ts
│ │ ├── util
│ │ │ └── uuid.ts
│ │ └── actions
│ │ │ └── index.ts
│ ├── images
│ │ ├── avatars
│ │ │ ├── male-avatar-1.png
│ │ │ ├── male-avatar-2.png
│ │ │ ├── male-avatar-3.png
│ │ │ ├── male-avatar-4.png
│ │ │ ├── female-avatar-1.png
│ │ │ ├── female-avatar-2.png
│ │ │ ├── female-avatar-3.png
│ │ │ └── female-avatar-4.png
│ │ ├── readme
│ │ │ ├── minimal-redux-ts.png
│ │ │ ├── full-chat-preview.png
│ │ │ ├── redux-chat-echo-bot.png
│ │ │ ├── redux-chat-models.png
│ │ │ ├── working-counter-app.png
│ │ │ ├── redux-chat-initial-state.png
│ │ │ ├── ng-book-2-as-book-cover-pigment.png
│ │ │ └── redux-chat-top-level-components.png
│ │ └── logos
│ │ │ ├── ng-book-2-minibook.png
│ │ │ └── Angular2ReduxChatHeaderImage.png
│ └── css
│ │ └── styles.scss
│ ├── minimal
│ ├── app-store.ts
│ ├── app-state.ts
│ ├── tutorial
│ │ ├── 01-identity-reducer.ts
│ │ ├── package.json
│ │ └── tsconfig.json
│ └── counter-action-creators.ts
│ ├── test
│ ├── calculator.ts
│ └── app.spec.ts
│ ├── typings
│ ├── custom
│ │ └── normalizr.d.ts
│ ├── main.d.ts
│ └── browser.d.ts
│ ├── e2e
│ └── tsconfig.json
│ └── .test.bats
└── README.md
/routes/basic/-:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/routes/nested/-:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/first_app/.gitignore:
--------------------------------------------------------------------------------
1 | old/
2 |
--------------------------------------------------------------------------------
/routes/basic/typings/index.d.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | npm-debug.log
2 | node_modules/
3 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/assets/.npmignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/assets/.npmignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/app.component.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/shared/index.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/forms/.gitignore:
--------------------------------------------------------------------------------
1 | build/
2 | .webpack.json
3 | tmp
4 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/app.component.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/shared/index.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/article/article.component.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/.DS_Store
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/.npmignore:
--------------------------------------------------------------------------------
1 | LICENSE.md
2 | *.tgz
3 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-item/user-item.component.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-list/user-list.component.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/app.css:
--------------------------------------------------------------------------------
1 | @import '~/css/core.light.css';
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/hello-world/hello-world.component.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/.gitignore:
--------------------------------------------------------------------------------
1 | app.js
2 | app.js.map
3 | .DS_Store
4 |
--------------------------------------------------------------------------------
/http/test/typings/karma-read-json.d.ts:
--------------------------------------------------------------------------------
1 | declare function readJSON(file: string): Object;
2 |
--------------------------------------------------------------------------------
/http/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/http/app/images/loading.gif
--------------------------------------------------------------------------------
/forms/app/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/forms/app/images/favicon.ico
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-item/user-item.component.html:
--------------------------------------------------------------------------------
1 |
2 | Hello {{ name }}
3 |
4 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/index.ts:
--------------------------------------------------------------------------------
1 | export * from './app.component';
2 | export * from './app.module';
3 |
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/cat.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/cat.jpg
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/index.ts:
--------------------------------------------------------------------------------
1 | export * from './app.component';
2 | export * from './app.module';
3 |
--------------------------------------------------------------------------------
/forms/app/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/forms/app/images/favicon-32x32.png
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/routes/auth/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/routes/auth/app/images/loading.gif
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/cat.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/cat.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/me.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/me.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/cat2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/cat2.jpg
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/hello-world/hello-world.component.html:
--------------------------------------------------------------------------------
1 |
2 | hello-world works!
3 |
4 |
--------------------------------------------------------------------------------
/routes/basic/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/routes/basic/app/images/loading.gif
--------------------------------------------------------------------------------
/routes/music/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/routes/music/app/images/loading.gif
--------------------------------------------------------------------------------
/routes/nested/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/routes/nested/app/images/loading.gif
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/me.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/me.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/cat2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/cat2.jpg
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/environments/environment.dev.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: false
3 | };
4 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/forms/app/images/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/forms/app/images/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/advanced_components/app/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/images/favicon.ico
--------------------------------------------------------------------------------
/built_in_directives/app/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/images/favicon.ico
--------------------------------------------------------------------------------
/conversion/ng1/images/icons/Heart-Red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/icons/Heart-Red.png
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/environments/environment.dev.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: false
3 | };
4 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/favicon.ico
--------------------------------------------------------------------------------
/conversion/hybrid/images/icons/Heart-Red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/icons/Heart-Red.png
--------------------------------------------------------------------------------
/conversion/ng1/images/icons/Heart-Empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/icons/Heart-Empty.png
--------------------------------------------------------------------------------
/routes/nested/app/css/nested.scss:
--------------------------------------------------------------------------------
1 | .products-area {
2 | margin-top: 20px;
3 | padding: 10px;
4 | border: 1px red dotted;
5 | }
6 |
--------------------------------------------------------------------------------
/advanced_components/app/images/avatars/joe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/images/avatars/joe.jpg
--------------------------------------------------------------------------------
/advanced_components/app/images/avatars/matt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/images/avatars/matt.jpg
--------------------------------------------------------------------------------
/built_in_directives/app/images/avatars/joe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/images/avatars/joe.jpg
--------------------------------------------------------------------------------
/built_in_directives/app/images/avatars/matt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/images/avatars/matt.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/icons/Heart-Empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/icons/Heart-Empty.png
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/25426965@N08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/25426965@N08.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/26265986@N00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/26265986@N00.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/30811353@N04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/30811353@N04.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/30815420@N00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/30815420@N00.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/32399948@N06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/32399948@N06.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/42826303@N00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/42826303@N00.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/51527254@N02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/51527254@N02.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/7562944@N06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/7562944@N06.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/7940758@N07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/7940758@N07.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/97286492@N00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/97286492@N00.jpg
--------------------------------------------------------------------------------
/dependency_injection/misc/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | app.js
3 | app.js.map
4 | app-expanded.js
5 | app-expanded.js.map
6 | npm-debug.log
7 |
--------------------------------------------------------------------------------
/dependency_injection/simple/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | app.js
3 | app.js.map
4 | app-expanded.js
5 | app-expanded.js.map
6 | npm-debug.log
7 |
--------------------------------------------------------------------------------
/dependency_injection/value/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | app.js
3 | app.js.map
4 | app-expanded.js
5 | app-expanded.js.map
6 | npm-debug.log
7 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/app.component.1.html:
--------------------------------------------------------------------------------
1 |
2 | {{title}}
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_hello_world/src/favicon.ico
--------------------------------------------------------------------------------
/rxjs/chat/app/images/avatars/male-avatar-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/avatars/male-avatar-1.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/avatars/male-avatar-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/avatars/male-avatar-2.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/avatars/male-avatar-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/avatars/male-avatar-3.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/avatars/male-avatar-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/avatars/male-avatar-4.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/readme/rx-chat-models.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/readme/rx-chat-models.png
--------------------------------------------------------------------------------
/advanced_components/app/images/avatars/elliot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/images/avatars/elliot.jpg
--------------------------------------------------------------------------------
/advanced_components/app/images/avatars/helen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/images/avatars/helen.jpg
--------------------------------------------------------------------------------
/advanced_components/app/images/avatars/jenny.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/images/avatars/jenny.jpg
--------------------------------------------------------------------------------
/advanced_components/app/images/avatars/justen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/images/avatars/justen.jpg
--------------------------------------------------------------------------------
/advanced_components/app/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/images/favicon-32x32.png
--------------------------------------------------------------------------------
/built_in_directives/app/images/avatars/elliot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/images/avatars/elliot.jpg
--------------------------------------------------------------------------------
/built_in_directives/app/images/avatars/helen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/images/avatars/helen.jpg
--------------------------------------------------------------------------------
/built_in_directives/app/images/avatars/jenny.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/images/avatars/jenny.jpg
--------------------------------------------------------------------------------
/built_in_directives/app/images/avatars/justen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/images/avatars/justen.jpg
--------------------------------------------------------------------------------
/built_in_directives/app/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/images/favicon-32x32.png
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/25426965@N08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/25426965@N08.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/26265986@N00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/26265986@N00.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/30811353@N04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/30811353@N04.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/30815420@N00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/30815420@N00.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/32399948@N06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/32399948@N06.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/42826303@N00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/42826303@N00.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/51527254@N02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/51527254@N02.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/7562944@N06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/7562944@N06.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/7940758@N07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/7940758@N07.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/97286492@N00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/97286492@N00.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/avatars/44124348109@N01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/avatars/44124348109@N01.jpg
--------------------------------------------------------------------------------
/dependency_injection/complex/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | app.js
3 | app.js.map
4 | app-expanded.js
5 | app-expanded.js.map
6 | npm-debug.log
7 |
--------------------------------------------------------------------------------
/dependency_injection/injector/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | app.js
3 | app.js.map
4 | app-expanded.js
5 | app-expanded.js.map
6 | npm-debug.log
7 |
--------------------------------------------------------------------------------
/dependency_injection/misc/app/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/app/images/favicon.ico
--------------------------------------------------------------------------------
/dependency_injection/misc/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/app/images/loading.gif
--------------------------------------------------------------------------------
/dependency_injection/value/app/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/app/images/favicon.ico
--------------------------------------------------------------------------------
/dependency_injection/value/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/app/images/loading.gif
--------------------------------------------------------------------------------
/rxjs/chat/app/images/avatars/female-avatar-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/avatars/female-avatar-1.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/avatars/female-avatar-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/avatars/female-avatar-2.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/avatars/female-avatar-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/avatars/female-avatar-3.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/avatars/female-avatar-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/avatars/female-avatar-4.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/logos/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/logos/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/readme/full-chat-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/readme/full-chat-preview.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/readme/rx-chat-echo-bot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/readme/rx-chat-echo-bot.png
--------------------------------------------------------------------------------
/advanced_components/app/ts/styling/external.css:
--------------------------------------------------------------------------------
1 | .highlight {
2 | border: 2px dotted red;
3 | text-align: center;
4 | margin-bottom: 20px;
5 | }
6 |
--------------------------------------------------------------------------------
/conversion/hybrid/images/avatars/44124348109@N01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/avatars/44124348109@N01.jpg
--------------------------------------------------------------------------------
/dependency_injection/complex/app/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/app/images/favicon.ico
--------------------------------------------------------------------------------
/dependency_injection/complex/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/app/images/loading.gif
--------------------------------------------------------------------------------
/dependency_injection/injector/app/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/app/images/favicon.ico
--------------------------------------------------------------------------------
/dependency_injection/injector/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/app/images/loading.gif
--------------------------------------------------------------------------------
/dependency_injection/simple/app/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/app/images/favicon.ico
--------------------------------------------------------------------------------
/dependency_injection/simple/app/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/app/images/loading.gif
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-list/user-list.component.1.html:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/forms/app/css/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/forms/app/css/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/forms/app/css/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/forms/app/css/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/forms/app/css/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/forms/app/css/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/forms/app/css/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/forms/app/css/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/forms/app/css/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/forms/app/css/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/rxjs/chat/docker.md:
--------------------------------------------------------------------------------
1 |
2 | docker build -t angular2-rxjs-chat .
3 | docker run -it --name rxjs-chat -v "$PWD":/data -w /data angular2-rxjs-chat
4 |
5 |
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/106033588_167d811702_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/106033588_167d811702_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/2389719785_2bee9f49b3_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/2389719785_2bee9f49b3_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/2655460065_381b1b25e2_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/2655460065_381b1b25e2_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/2927304508_d28363967c_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/2927304508_d28363967c_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/3714437087_5f1b1a6381_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/3714437087_5f1b1a6381_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/3714916723_938365e9a2_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/3714916723_938365e9a2_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/4422575066_7d5c4c41e7_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/4422575066_7d5c4c41e7_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/4449613634_016c827042_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/4449613634_016c827042_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/6819859061_25d05ef2e1_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/6819859061_25d05ef2e1_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/6854992490_e380a504b9_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/6854992490_e380a504b9_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/6863434196_9a963a1023_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/6863434196_9a963a1023_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/9071808685_58c2c61efc_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/9071808685_58c2c61efc_o.jpg
--------------------------------------------------------------------------------
/dependency_injection/misc/app/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/app/images/favicon-32x32.png
--------------------------------------------------------------------------------
/forms/app/css/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/forms/app/css/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/nativescript/photos-near-me/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | .vscode
3 | hooks
4 | lib
5 | node_modules
6 | platforms
7 | *.js
8 | *.js.map
9 | .DS_Store
10 | ~*
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/ts/app-store.ts:
--------------------------------------------------------------------------------
1 | import { OpaqueToken } from '@angular/core';
2 |
3 | export const AppStore = new OpaqueToken('App.store');
4 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/minimal/app-store.ts:
--------------------------------------------------------------------------------
1 | import { OpaqueToken } from '@angular/core';
2 |
3 | export const AppStore = new OpaqueToken('App.store');
4 |
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/106033588_167d811702_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/106033588_167d811702_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/2389719785_2bee9f49b3_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/2389719785_2bee9f49b3_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/2655460065_381b1b25e2_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/2655460065_381b1b25e2_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/2927304508_d28363967c_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/2927304508_d28363967c_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/3714437087_5f1b1a6381_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/3714437087_5f1b1a6381_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/3714916723_938365e9a2_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/3714916723_938365e9a2_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/4422575066_7d5c4c41e7_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/4422575066_7d5c4c41e7_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/4449613634_016c827042_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/4449613634_016c827042_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/6819859061_25d05ef2e1_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/6819859061_25d05ef2e1_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/6854992490_e380a504b9_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/6854992490_e380a504b9_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/6863434196_9a963a1023_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/6863434196_9a963a1023_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/9071808685_58c2c61efc_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/9071808685_58c2c61efc_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/18690623833_5f21f6e248_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/18690623833_5f21f6e248_o.jpg
--------------------------------------------------------------------------------
/conversion/ng1/images/pins/19311217795_b57b6293b3_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/ng1/images/pins/19311217795_b57b6293b3_o.jpg
--------------------------------------------------------------------------------
/dependency_injection/complex/app/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/app/images/favicon-32x32.png
--------------------------------------------------------------------------------
/dependency_injection/simple/app/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/app/images/favicon-32x32.png
--------------------------------------------------------------------------------
/dependency_injection/value/app/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/app/images/favicon-32x32.png
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/assets/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/assets/images/favicon.ico
--------------------------------------------------------------------------------
/http/TODO.md:
--------------------------------------------------------------------------------
1 | # TODO
2 |
3 | - "More tasks executed then were scheduled" exception thrown - see: https://github.com/angular/zone.js/issues/287 -nm 2016-04-28
4 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/components/image-component/image.component.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/advanced_components/app/images/logos/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/images/logos/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/built_in_directives/app/images/logos/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/images/logos/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/18690623833_5f21f6e248_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/18690623833_5f21f6e248_o.jpg
--------------------------------------------------------------------------------
/conversion/hybrid/images/pins/19311217795_b57b6293b3_o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/conversion/hybrid/images/pins/19311217795_b57b6293b3_o.jpg
--------------------------------------------------------------------------------
/dependency_injection/complex/app/ts/services/ApiService.ts:
--------------------------------------------------------------------------------
1 | export class ApiService {
2 | get(): void {
3 | console.log('Getting resource...');
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/dependency_injection/complex/app/ts/services/LargeService.ts:
--------------------------------------------------------------------------------
1 | export class LargeService {
2 | run(): void {
3 | console.log('Large service...');
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/dependency_injection/complex/app/ts/services/SmallService.ts:
--------------------------------------------------------------------------------
1 | export class SmallService {
2 | run(): void {
3 | console.log('Small service...');
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/dependency_injection/injector/app/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/app/images/favicon-32x32.png
--------------------------------------------------------------------------------
/dependency_injection/misc/app/images/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/app/images/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/dependency_injection/simple/app/ts/services/ApiService.ts:
--------------------------------------------------------------------------------
1 | export class ApiService {
2 | get(): void {
3 | console.log('Getting resource...');
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/references.d.ts:
--------------------------------------------------------------------------------
1 | /// Needed for autocompletion and compilation.
--------------------------------------------------------------------------------
/rxjs/chat/app/images/logos/Angular2RxJSChatHeaderImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/logos/Angular2RxJSChatHeaderImage.png
--------------------------------------------------------------------------------
/dependency_injection/complex/app/images/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/app/images/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/dependency_injection/simple/app/images/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/app/images/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/dependency_injection/value/app/images/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/app/images/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/assets/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/assets/images/favicon-32x32.png
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/images/favicon.ico
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/avatars/male-avatar-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/avatars/male-avatar-1.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/avatars/male-avatar-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/avatars/male-avatar-2.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/avatars/male-avatar-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/avatars/male-avatar-3.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/avatars/male-avatar-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/avatars/male-avatar-4.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/readme/rx-chat-top-level-components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/readme/rx-chat-top-level-components.png
--------------------------------------------------------------------------------
/dependency_injection/injector/app/images/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/app/images/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-list/user-list.component.2.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/http/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "chat";
5 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/avatars/female-avatar-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/avatars/female-avatar-1.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/avatars/female-avatar-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/avatars/female-avatar-2.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/avatars/female-avatar-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/avatars/female-avatar-3.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/avatars/female-avatar-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/avatars/female-avatar-4.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/readme/minimal-redux-ts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/readme/minimal-redux-ts.png
--------------------------------------------------------------------------------
/rxjs/chat/app/images/readme/ng-book-2-as-book-cover-pigment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/rxjs/chat/app/images/readme/ng-book-2-as-book-cover-pigment.png
--------------------------------------------------------------------------------
/rxjs/chat/app/ts/util/util.ts:
--------------------------------------------------------------------------------
1 | import {fromNowPipeInjectables} from './FromNowPipe';
2 |
3 | export var utilInjectables: Array = [
4 | fromNowPipeInjectables
5 | ];
6 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/assets/images/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/assets/images/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/images/favicon-32x32.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/logos/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/logos/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/readme/full-chat-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/readme/full-chat-preview.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/readme/redux-chat-echo-bot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/readme/redux-chat-echo-bot.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/readme/redux-chat-models.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/readme/redux-chat-models.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/readme/working-counter-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/readme/working-counter-app.png
--------------------------------------------------------------------------------
/routes/auth/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "chat";
5 |
--------------------------------------------------------------------------------
/rxjs/chat/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "chat";
5 |
--------------------------------------------------------------------------------
/conversion/hybrid/templates/home.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/conversion/ng1/templates/home.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 | {{title}}
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/routes/music/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "sportify";
5 |
--------------------------------------------------------------------------------
/routes/nested/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "nested";
5 |
--------------------------------------------------------------------------------
/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/app.component.2.html:
--------------------------------------------------------------------------------
1 |
2 | {{title}}
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/images/ng-book-2-minibook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/images/ng-book-2-minibook.png
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/images/products/black-hat.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/images/products/black-hat.jpg
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/readme/redux-chat-initial-state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/readme/redux-chat-initial-state.png
--------------------------------------------------------------------------------
/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/css/vendor/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/advanced_components/app/css/vendor/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/advanced_components/app/css/vendor/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/css/vendor/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/built_in_directives/app/css/vendor/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/built_in_directives/app/css/vendor/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-list/user-list.component.html:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/images/products/black-shoes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/images/products/black-shoes.jpg
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/images/products/blue-jacket.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/images/products/blue-jacket.jpg
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "chat";
5 |
--------------------------------------------------------------------------------
/advanced_components/app/css/styles.css:
--------------------------------------------------------------------------------
1 | .ui.menu .header.item > img.logo {
2 | margin-right: 12px; }
3 |
4 | .intro {
5 | margin-top: 10em;
6 | font-size: 1.2em;
7 | line-height: 1.5; }
8 |
9 |
--------------------------------------------------------------------------------
/dependency_injection/complex/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "sportify";
5 |
--------------------------------------------------------------------------------
/dependency_injection/injector/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "sportify";
5 |
--------------------------------------------------------------------------------
/dependency_injection/misc/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "sportify";
5 |
--------------------------------------------------------------------------------
/dependency_injection/simple/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "sportify";
5 |
--------------------------------------------------------------------------------
/dependency_injection/value/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 | @import "sportify";
5 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/Android/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/Android/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/Android/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/Android/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/Android/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/Android/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/logos/Angular2ReduxChatHeaderImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/logos/Angular2ReduxChatHeaderImage.png
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/vendor/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/app/vendor/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/readme/ng-book-2-as-book-cover-pigment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/readme/ng-book-2-as-book-cover-pigment.png
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/images/readme/redux-chat-top-level-components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/redux/angular2-redux-chat/app/images/readme/redux-chat-top-level-components.png
--------------------------------------------------------------------------------
/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/resources/vendor/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/dependency_injection/misc/resources/vendor/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/misc/resources/vendor/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/dependency_injection/value/resources/vendor/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/resources/vendor/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/first_app/angular2_reddit/src/app/vendor/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/rxjs/chat/test/calculator.ts:
--------------------------------------------------------------------------------
1 | export class Calculator {
2 | add(op1: number, op2: number){
3 | return op1 + op2;
4 | }
5 | subtract(op1: number, op2: number){
6 | return op1 - op2;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/dependency_injection/complex/resources/vendor/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/resources/vendor/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/resources/vendor/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/dependency_injection/simple/resources/vendor/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/simple/resources/vendor/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/value/resources/vendor/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/advanced_components/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | .ui.menu .header.item > img.logo {
2 | margin-right: 12px;
3 | }
4 |
5 | .intro {
6 | margin-top: 10em;
7 | font-size: 1.2em;
8 | line-height: 1.5;
9 | }
10 |
--------------------------------------------------------------------------------
/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/complex/resources/vendor/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/resources/vendor/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/dependency_injection/injector/resources/vendor/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/dependency_injection/injector/resources/vendor/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/vendor/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/vendor/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/Android/drawable-nodpi/splashscreen.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/Android/drawable-nodpi/splashscreen.9.png
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/how_angular_works/inventory_app/resources/vendor/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/test/calculator.ts:
--------------------------------------------------------------------------------
1 | export class Calculator {
2 | add(op1: number, op2: number){
3 | return op1 + op2;
4 | }
5 | subtract(op1: number, op2: number){
6 | return op1 - op2;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | // Typings reference file, you can add your own global typings here
2 | // https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html
3 |
4 | declare var System: any;
5 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/main.ts:
--------------------------------------------------------------------------------
1 | import { platformNativeScriptDynamic } from "nativescript-angular/platform";
2 | import { AppModule } from "./app.module";
3 |
4 | platformNativeScriptDynamic().bootstrapModule(AppModule);
5 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | // Typings reference file, you can add your own global typings here
2 | // https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html
3 |
4 | declare var System: any;
5 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from "@angular/core";
2 |
3 | @Component({
4 | selector: "main",
5 | template: ""
6 | })
7 | export class AppComponent {}
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/typings.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ng-book2-inventory-app",
3 | "version": false,
4 | "dependencies": {},
5 | "ambientDependencies": {
6 | "es6-shim": "registry:dt/es6-shim#0.31.2+20160317120654"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/http/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: HTTP
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/routes/auth/app/ts/components/AboutComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'about',
8 | template: `About
`
9 | })
10 | export class AboutComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/routes/auth/app/ts/components/HomeComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'home',
8 | template: `Welcome!
`
9 | })
10 | export class HomeComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/routes/basic/app/ts/components/AboutComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'about',
8 | template: `About
`
9 | })
10 | export class AboutComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/routes/basic/app/ts/components/HomeComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'home',
8 | template: `Welcome!
`
9 | })
10 | export class HomeComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/routes/nested/app/ts/components/HomeComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'home',
8 | template: `Welcome!
`
9 | })
10 | export class HomeComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png
--------------------------------------------------------------------------------
/routes/basic/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Basic Routing
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png
--------------------------------------------------------------------------------
/routes/auth/app/ts/components/ContactComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'contact',
8 | template: `Contact Us
`
9 | })
10 | export class ContactComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/routes/basic/app/ts/components/ContactComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'contact',
8 | template: `Contact Us
`
9 | })
10 | export class ContactComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/routes/music/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Routing - Music
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/routes/nested/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Nested Routes
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/routes/auth/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Authenticated Routes
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png
--------------------------------------------------------------------------------
/routes/auth/app/ts/components/ProtectedComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'protected',
8 | template: `Protected content
`
9 | })
10 | export class ProtectedComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png
--------------------------------------------------------------------------------
/routes/nested/app/ts/components/products/InterestComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'interest',
8 | template: `Interest page
`
9 | })
10 | export class InterestComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/routes/nested/app/ts/components/products/SportifyComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'sportify',
8 | template: `Sportify page
`
9 | })
10 | export class SportifyComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/dependency_injection/misc/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Dependency Injection Simple
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/dependency_injection/simple/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Dependency Injection Simple
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/dependency_injection/value/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Dependency Injection Simple
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/dependency_injection/injector/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Dependency Injection Simple
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ng-book2/code/HEAD/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png
--------------------------------------------------------------------------------
/dependency_injection/complex/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Dependency Injection - Complex Example
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/app.component.1.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-root',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | title = 'app works!';
10 | }
11 |
--------------------------------------------------------------------------------
/routes/nested/app/ts/components/products/MainComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import {Component} from '@angular/core';
5 |
6 | @Component({
7 | selector: 'main',
8 | template: `Welcome to the products section. Please select a product above.`
9 | })
10 | export class MainComponent {
11 | }
12 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2HelloWorldPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getParagraphText() {
9 | return element(by.css('app-root h1')).getText();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-root',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | title = 'app works!';
10 | }
11 |
--------------------------------------------------------------------------------
/forms/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/dependency_injection/complex/app/css/sportify.scss:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: verdana, arial, helvetica, sans-serif;
3 | }
4 |
5 | div {
6 | padding: 3px;
7 | margin: 2px;
8 | }
9 |
10 | .ui.menu .item img.logo {
11 | margin-right: 1.5em;
12 | }
13 |
14 | .rounded {
15 | background-color: red;
16 | }
17 |
--------------------------------------------------------------------------------
/dependency_injection/injector/app/css/sportify.scss:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: verdana, arial, helvetica, sans-serif;
3 | }
4 |
5 | div {
6 | padding: 3px;
7 | margin: 2px;
8 | }
9 |
10 | .ui.menu .item img.logo {
11 | margin-right: 1.5em;
12 | }
13 |
14 | .rounded {
15 | background-color: red;
16 | }
17 |
--------------------------------------------------------------------------------
/dependency_injection/misc/app/css/sportify.scss:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: verdana, arial, helvetica, sans-serif;
3 | }
4 |
5 | div {
6 | padding: 3px;
7 | margin: 2px;
8 | }
9 |
10 | .ui.menu .item img.logo {
11 | margin-right: 1.5em;
12 | }
13 |
14 | .rounded {
15 | background-color: red;
16 | }
17 |
--------------------------------------------------------------------------------
/dependency_injection/simple/app/css/sportify.scss:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: verdana, arial, helvetica, sans-serif;
3 | }
4 |
5 | div {
6 | padding: 3px;
7 | margin: 2px;
8 | }
9 |
10 | .ui.menu .item img.logo {
11 | margin-right: 1.5em;
12 | }
13 |
14 | .rounded {
15 | background-color: red;
16 | }
17 |
--------------------------------------------------------------------------------
/dependency_injection/value/app/css/sportify.scss:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: verdana, arial, helvetica, sans-serif;
3 | }
4 |
5 | div {
6 | padding: 3px;
7 | margin: 2px;
8 | }
9 |
10 | .ui.menu .item img.logo {
11 | margin-right: 1.5em;
12 | }
13 |
14 | .rounded {
15 | background-color: red;
16 | }
17 |
--------------------------------------------------------------------------------
/http/Makefile:
--------------------------------------------------------------------------------
1 |
2 | css:
3 | mkdir -p tmp
4 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
5 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/models/getInfoResponse.ts:
--------------------------------------------------------------------------------
1 | interface Owner {
2 | username: string;
3 | realname: string;
4 | }
5 |
6 | export class GetInfoResponse {
7 | owner: Owner;
8 | farm: number;
9 | server: number;
10 | secret: string;
11 | id: number;
12 | url: string;
13 | }
--------------------------------------------------------------------------------
/routes/auth/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/routes/basic/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/routes/music/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/article/article.model.1.ts:
--------------------------------------------------------------------------------
1 | export class Article {
2 | title: string;
3 | link: string;
4 | votes: number;
5 |
6 | constructor(title: string, link: string, votes?: number) {
7 | this.title = title;
8 | this.link = link;
9 | this.votes = votes || 0;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/routes/nested/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/routes/auth/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 |
--------------------------------------------------------------------------------
/routes/basic/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 |
--------------------------------------------------------------------------------
/dependency_injection/misc/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/dependency_injection/simple/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/dependency_injection/value/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/routes/nested/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 |
--------------------------------------------------------------------------------
/dependency_injection/complex/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/dependency_injection/injector/Makefile:
--------------------------------------------------------------------------------
1 | css:
2 | mkdir -p tmp
3 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
4 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/test/app.spec.ts:
--------------------------------------------------------------------------------
1 | import {Calculator} from 'calculator';
2 |
3 | describe('Hello', () => {
4 |
5 | it('should test', () => {
6 | });
7 |
8 | it('should add', () => {
9 | let c = new Calculator();
10 | expect(true).toBe(true);
11 | expect(c.add(1,2)).toBe(3);
12 | });
13 |
14 | });
15 |
--------------------------------------------------------------------------------
/conversion/hybrid/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 |
--------------------------------------------------------------------------------
/http/test/fixture/youtube-response.json:
--------------------------------------------------------------------------------
1 | {
2 | "items": [
3 | {
4 | "id": { "videoId": "VIDEO_ID" },
5 | "snippet": {
6 | "title": "TITLE",
7 | "description": "DESCRIPTION",
8 | "thumbnails": {
9 | "high": { "url": "THUMBNAIL_URL" }
10 | }
11 | }
12 | }
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/build.xcconfig:
--------------------------------------------------------------------------------
1 | // You can add custom settings here
2 | // for example you can uncomment the following line to force distribution code signing
3 | // CODE_SIGN_IDENTITY = iPhone Distribution
4 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
5 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
6 |
--------------------------------------------------------------------------------
/dependency_injection/complex/app/ts/services/ApiService.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var ApiService = (function () {
3 | function ApiService() {
4 | }
5 | ApiService.prototype.get = function () {
6 | console.log('Getting resource...');
7 | };
8 | return ApiService;
9 | }());
10 | exports.ApiService = ApiService;
11 |
--------------------------------------------------------------------------------
/dependency_injection/simple/app/ts/services/ApiService.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var ApiService = (function () {
3 | function ApiService() {
4 | }
5 | ApiService.prototype.get = function () {
6 | console.log('Getting resource...');
7 | };
8 | return ApiService;
9 | }());
10 | exports.ApiService = ApiService;
11 |
--------------------------------------------------------------------------------
/dependency_injection/value/app/ts/services/ApiService.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var ApiService = (function () {
3 | function ApiService() {
4 | }
5 | ApiService.prototype.get = function () {
6 | console.log('Getting resource...');
7 | };
8 | return ApiService;
9 | }());
10 | exports.ApiService = ApiService;
11 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/minimal/app-state.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * minimal counter app state
3 | *
4 | * In this case, our app state is simply a single number (the counter). But we
5 | * put it here because in the future, when our state is more complicated
6 | *
7 | */
8 |
9 | export interface AppState {
10 | counter: number;
11 | };
12 |
13 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/typings/custom/normalizr.d.ts:
--------------------------------------------------------------------------------
1 | declare module Normalizr {
2 | export class Schema {
3 | constructor(name: String)
4 | }
5 | export function arrayOf(obj: any);
6 | export function normalize(obj: Object, schema: any);
7 | }
8 |
9 | declare module 'normalizr' {
10 | export = Normalizr
11 | }
12 |
--------------------------------------------------------------------------------
/routes/auth/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 |
--------------------------------------------------------------------------------
/routes/basic/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 |
--------------------------------------------------------------------------------
/routes/nested/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 |
--------------------------------------------------------------------------------
/forms/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: Forms Chapter
2 |
3 | This example is more sophisticated than some of the others in that it uses Webpack for building the files instead of using `tsc` directly.
4 |
5 | To install:
6 |
7 | npm install
8 |
9 | To run:
10 |
11 | npm run go
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080)
14 |
--------------------------------------------------------------------------------
/dependency_injection/value/app/ts/services/ApiService.ts:
--------------------------------------------------------------------------------
1 | import { Inject } from '@angular/core';
2 |
3 | export const API_URL: string = 'API_URL';
4 |
5 | export class ApiService {
6 | constructor(@Inject(API_URL) private apiUrl: string) {
7 | }
8 |
9 | get(): void {
10 | console.log(`Calling ${this.apiUrl}/endpoint...`);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/conversion/hybrid/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | end_of_line = lf
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
12 | [*.md]
13 | max_line_length = 0
14 | trim_trailing_whitespace = false
15 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | end_of_line = lf
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
12 | [*.md]
13 | max_line_length = 0
14 | trim_trailing_whitespace = false
15 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/config.ts:
--------------------------------------------------------------------------------
1 | export const Config = {
2 | Flickr: {
3 | CLIENT_ID: "b8241dc9b98813054de12ebfc7784321",
4 | API_URL: "https://api.flickr.com/services/rest/?"
5 | },
6 | MapBox: {
7 | ACCESS_TOKEN: "sk.eyJ1IjoiYnVya2Vob2xsYW5kIiwiYSI6ImNpcXh3NXd3NDAxcDJmbG04M2FxNW5zc3YifQ.kVNHOX6UvgsTPS4BJebtLg"
8 | }
9 | };
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/minimal/tutorial/01-identity-reducer.ts:
--------------------------------------------------------------------------------
1 | interface Action {
2 | type: string;
3 | payload?: any;
4 | }
5 |
6 | interface Reducer {
7 | (state: T, action: Action): T;
8 | }
9 |
10 | let reducer: Reducer = (state: number, action: Action) => {
11 | return state;
12 | };
13 |
14 | console.log( reducer(0, null) ); // -> 0
15 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/app.component.1.html:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/routes/basic/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css(`h1`)).getText();
10 | }
11 |
12 | clickLink(text) {
13 | return element(by.linkText(text)).click();
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/forms/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/http/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/ts/models/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2016, Fullstack.io, LLC.
3 | *
4 | * This source code is licensed under the MIT-style license found in the
5 | * LICENSE file in the root directory of this source tree.
6 | *
7 | */
8 |
9 | export { Message } from './Message';
10 | export { Thread } from './Thread';
11 | export { User } from './User';
12 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/minimal/tutorial/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular2-redux-tutorial",
3 | "private": true,
4 | "version": "1.0.0",
5 | "description": "",
6 | "author": "Nate Murray ",
7 | "license": "MIT",
8 | "devDependencies": {
9 | "ts-node": "0.9.3"
10 | },
11 | "dependencies": {
12 | "redux": "3.5.2"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/minimal/tutorial/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES5",
4 | "module": "commonjs",
5 | "removeComments": true,
6 | "emitDecoratorMetadata": true,
7 | "experimentalDecorators": true,
8 | "noEmitHelpers": true,
9 | "sourceMap": true
10 | },
11 | "compileOnSave": false,
12 | "buildOnSave": false
13 | }
14 |
--------------------------------------------------------------------------------
/rxjs/chat/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/conversion/ng1/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: ng1 example app
2 |
3 | ## Quick start
4 |
5 | ```bash
6 | # install
7 | npm install
8 |
9 | # run
10 | npm run go
11 | ```
12 |
13 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
14 |
15 | ## credits
16 |
17 | * Photo's are CC. For attribution, see the sample-data.json file
18 | * Heart Icon by Thomas Le Bas
19 |
--------------------------------------------------------------------------------
/routes/music/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/advanced_components/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/built_in_directives/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/rxjs/chat/app/ts/util/FromNowPipe.ts:
--------------------------------------------------------------------------------
1 | import {Pipe} from '@angular/core';
2 | import * as moment from 'moment';
3 |
4 | @Pipe({
5 | name: 'fromNow'
6 | })
7 | export class FromNowPipe {
8 | transform(value: any, args: Array): string {
9 | return moment(value).fromNow();
10 | }
11 | }
12 |
13 | export var fromNowPipeInjectables: Array = [
14 | FromNowPipe
15 | ];
16 |
17 |
--------------------------------------------------------------------------------
/dependency_injection/misc/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/dependency_injection/value/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/forms/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css('h1.header')).getText();
10 | }
11 |
12 | getCardHeaderText(i) {
13 | return element.all(by.css('.segment .header')).get(i).getText();
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/forms/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/http/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/dependency_injection/complex/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/dependency_injection/injector/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/dependency_injection/simple/typings/main.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/rxjs/chat/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Angular2HelloWorld
6 |
7 |
8 |
9 |
10 |
11 |
12 | Loading...
13 |
14 |
15 |
--------------------------------------------------------------------------------
/routes/music/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/advanced_components/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/built_in_directives/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/dependency_injection/misc/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css('h1.header')).getText();
10 | }
11 |
12 | getItemName(i) {
13 | return element.all(by.css('.item .content .header')).get(i).getText();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/dependency_injection/complex/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/dependency_injection/injector/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/dependency_injection/simple/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/dependency_injection/value/typings/browser.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 | ///
4 | ///
5 | ///
6 | ///
7 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es5",
5 | "sourceMap": true,
6 | "experimentalDecorators": true,
7 | "emitDecoratorMetadata": true,
8 | "noEmitHelpers": true,
9 | "noEmitOnError": false
10 | },
11 | "exclude": [
12 | "node_modules",
13 | "platforms"
14 | ]
15 | }
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/minimal/counter-action-creators.ts:
--------------------------------------------------------------------------------
1 | import {
2 | Action,
3 | ActionCreator
4 | } from 'redux';
5 |
6 | export const INCREMENT: string = 'INCREMENT';
7 | export const increment: ActionCreator = () => ({
8 | type: INCREMENT
9 | });
10 |
11 | export const DECREMENT: string = 'DECREMENT';
12 | export const decrement: ActionCreator = () => ({
13 | type: DECREMENT
14 | });
15 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/hello-world/hello-world.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-hello-world',
5 | templateUrl: './hello-world.component.html',
6 | styleUrls: ['./hello-world.component.css']
7 | })
8 | export class HelloWorldComponent implements OnInit {
9 |
10 | constructor() { }
11 |
12 | ngOnInit() {
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/routes/auth/app/ts/guards/loggedIn.guard.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 | import { CanActivate } from '@angular/router';
3 | import { AuthService } from 'services/AuthService';
4 |
5 | @Injectable()
6 | export class LoggedInGuard implements CanActivate {
7 | constructor(private authService: AuthService) {}
8 |
9 | canActivate(): boolean {
10 | return this.authService.isLoggedIn();
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/routes/basic/app/css/styles.scss:
--------------------------------------------------------------------------------
1 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/";
2 |
3 | @import "~bootstrap-sass/assets/stylesheets/_bootstrap";
4 |
5 | body {
6 | @extend .container;
7 | }
8 |
9 | nav {
10 | @extend .navbar;
11 | @extend .navbar-default;
12 |
13 | > a {
14 | @extend .navbar-brand;
15 | }
16 |
17 | > ul {
18 | @extend .nav;
19 | @extend .navbar-nav;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/rxjs/chat/test/app.spec.ts:
--------------------------------------------------------------------------------
1 | // import {MessagesService} from '../app/ts/services/services';
2 |
3 | import {Calculator} from 'calculator';
4 |
5 | describe('Hello', () => {
6 |
7 | it('should test', () => {
8 | // let m = MessagesService;
9 | });
10 |
11 | it('should add', () => {
12 | let c = new Calculator();
13 | expect(true).toBe(true);
14 | expect(c.add(1,2)).toBe(3);
15 | });
16 |
17 | });
18 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/article/article.component.spec.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable:no-unused-variable */
2 |
3 | import { TestBed, async } from '@angular/core/testing';
4 | import { ArticleComponent } from './article.component';
5 |
6 | describe('Component: Article', () => {
7 | it('should create an instance', () => {
8 | let component = new ArticleComponent();
9 | expect(component).toBeTruthy();
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/forms/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/main.ts:
--------------------------------------------------------------------------------
1 | import './polyfills.ts';
2 |
3 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
4 | import { enableProdMode } from '@angular/core';
5 | import { environment } from './environments/environment';
6 | import { AppModule } from './app/';
7 |
8 | if (environment.production) {
9 | enableProdMode();
10 | }
11 |
12 | platformBrowserDynamic().bootstrapModule(AppModule);
13 |
--------------------------------------------------------------------------------
/forms/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/http/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/routes/auth/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 |
--------------------------------------------------------------------------------
/routes/basic/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 |
--------------------------------------------------------------------------------
/routes/nested/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/main.ts:
--------------------------------------------------------------------------------
1 | import './polyfills.ts';
2 |
3 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
4 | import { enableProdMode } from '@angular/core';
5 | import { environment } from './environments/environment';
6 | import { AppModule } from './app/';
7 |
8 | if (environment.production) {
9 | enableProdMode();
10 | }
11 |
12 | platformBrowserDynamic().bootstrapModule(AppModule);
13 |
--------------------------------------------------------------------------------
/rxjs/chat/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-item/user-item.component.spec.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable:no-unused-variable */
2 |
3 | import { TestBed, async } from '@angular/core/testing';
4 | import { UserItemComponent } from './user-item.component';
5 |
6 | describe('Component: UserItem', () => {
7 | it('should create an instance', () => {
8 | let component = new UserItemComponent();
9 | expect(component).toBeTruthy();
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-list/user-list.component.spec.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable:no-unused-variable */
2 |
3 | import { TestBed, async } from '@angular/core/testing';
4 | import { UserListComponent } from './user-list.component';
5 |
6 | describe('Component: UserList', () => {
7 | it('should create an instance', () => {
8 | let component = new UserListComponent();
9 | expect(component).toBeTruthy();
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/routes/auth/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/routes/basic/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/routes/music/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/routes/nested/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/advanced_components/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/built_in_directives/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/conversion/hybrid/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/dependency_injection/misc/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/dependency_injection/complex/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/dependency_injection/injector/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/dependency_injection/simple/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/dependency_injection/value/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/hello-world/hello-world.component.spec.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable:no-unused-variable */
2 |
3 | import { TestBed, async } from '@angular/core/testing';
4 | import { HelloWorldComponent } from './hello-world.component';
5 |
6 | describe('Component: HelloWorld', () => {
7 | it('should create an instance', () => {
8 | let component = new HelloWorldComponent();
9 | expect(component).toBeTruthy();
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | // The file contents for the current environment will overwrite these during build.
2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do
3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead.
4 | // The list of which env maps to which file can be found in `angular-cli.json`.
5 |
6 | export const environment = {
7 | production: false
8 | };
9 |
--------------------------------------------------------------------------------
/http/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/ts/models/User.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2016, Fullstack.io, LLC.
3 | *
4 | * This source code is licensed under the MIT-style license found in the
5 | * LICENSE file in the root directory of this source tree.
6 | *
7 | */
8 |
9 | /**
10 | * A User represents an agent that sends messages
11 | */
12 | export interface User {
13 | id: string;
14 | name: string;
15 | avatarSrc: string;
16 | isClient?: boolean;
17 | }
18 |
--------------------------------------------------------------------------------
/conversion/hybrid/README.md:
--------------------------------------------------------------------------------
1 | # ng-book 2: ng1/ng2 hybrid example app
2 |
3 | > This project shows how to create a hybrid ng1/ng2 app
4 |
5 | ## Quick start
6 |
7 | ```bash
8 | # install
9 | npm install
10 |
11 | # run
12 | npm run go
13 | ```
14 |
15 | Then visit [http://localhost:8080](http://localhost:8080) in your browser.
16 |
17 | ## credits
18 |
19 | * Photo's are CC. For attribution, see the sample-data.json file
20 | * Heart Icon by Thomas Le Bas
21 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | // The file contents for the current environment will overwrite these during build.
2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do
3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead.
4 | // The list of which env maps to which file can be found in `angular-cli.json`.
5 |
6 | export const environment = {
7 | production: false
8 | };
9 |
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "declaration": false,
5 | "emitDecoratorMetadata": true,
6 | "experimentalDecorators": true,
7 | "module": "commonjs",
8 | "moduleResolution": "node",
9 | "outDir": "../dist/out-tsc-e2e",
10 | "sourceMap": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "../node_modules/@types"
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/app.component.2.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-root',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | addArticle(title: HTMLInputElement, link: HTMLInputElement): boolean {
10 | console.log(`Adding article title: ${title.value} and link: ${link.value}`);
11 | return false;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/routes/music/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/advanced_components/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/built_in_directives/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/dependency_injection/misc/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css(`h1`)).getText();
10 | }
11 |
12 | clickLink(text) {
13 | return element(by.linkText(text)).click();
14 | }
15 |
16 | clickButton(text) {
17 | return element(by.buttonText(text)).click();
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "declaration": false,
4 | "emitDecoratorMetadata": true,
5 | "experimentalDecorators": true,
6 | "lib": ["es6", "dom"],
7 | "mapRoot": "./",
8 | "module": "es6",
9 | "moduleResolution": "node",
10 | "outDir": "../dist/out-tsc",
11 | "sourceMap": true,
12 | "target": "es5",
13 | "typeRoots": [
14 | "../node_modules/@types"
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/dependency_injection/complex/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css(`h1`)).getText();
10 | }
11 |
12 | clickLink(text) {
13 | return element(by.linkText(text)).click();
14 | }
15 |
16 | clickButton(text) {
17 | return element(by.buttonText(text)).click();
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/dependency_injection/injector/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css(`h1`)).getText();
10 | }
11 |
12 | clickLink(text) {
13 | return element(by.linkText(text)).click();
14 | }
15 |
16 | clickButton(text) {
17 | return element(by.buttonText(text)).click();
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/dependency_injection/misc/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/dependency_injection/simple/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css(`h1`)).getText();
10 | }
11 |
12 | clickLink(text) {
13 | return element(by.linkText(text)).click();
14 | }
15 |
16 | clickButton(text) {
17 | return element(by.buttonText(text)).click();
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/dependency_injection/value/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/dependency_injection/value/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css(`h1`)).getText();
10 | }
11 |
12 | clickLink(text) {
13 | return element(by.linkText(text)).click();
14 | }
15 |
16 | clickButton(text) {
17 | return element(by.buttonText(text)).click();
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "declaration": false,
4 | "emitDecoratorMetadata": true,
5 | "experimentalDecorators": true,
6 | "lib": ["es6", "dom"],
7 | "mapRoot": "./",
8 | "module": "es6",
9 | "moduleResolution": "node",
10 | "outDir": "../dist/out-tsc",
11 | "sourceMap": true,
12 | "target": "es5",
13 | "typeRoots": [
14 | "../node_modules/@types"
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/dependency_injection/complex/app/ts/services/ViewPortService.ts:
--------------------------------------------------------------------------------
1 | import {LargeService} from './LargeService';
2 | import {SmallService} from './SmallService';
3 |
4 | export class ViewPortService {
5 | determineService(): any {
6 | let w: number = Math.max(document.documentElement.clientWidth,
7 | window.innerWidth || 0);
8 |
9 | if (w < 800) {
10 | return new SmallService();
11 | }
12 | return new LargeService();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/dependency_injection/complex/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/dependency_injection/injector/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/dependency_injection/simple/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser-dynamic';
11 | import '@angular/common';
12 | import '@angular/core';
13 | import '@angular/router';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/models/photosSearchResponse.ts:
--------------------------------------------------------------------------------
1 | export class PhotosSearchResponse {
2 | id: string;
3 | owner: string;
4 | secret: string;
5 | server: number;
6 | title: string;
7 | latitude: string;
8 | longitude: string;
9 | datetaken: string;
10 | url_t: string;
11 | url_m: string;
12 | url_q: string;
13 | url_n: string;
14 | distance: string;
15 |
16 | constructor() {
17 | this.url_n = " ";
18 | }
19 | }
--------------------------------------------------------------------------------
/routes/nested/app/ts/components/products/ByIdComponent.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Angular
3 | */
4 | import { Component } from '@angular/core';
5 | import { ActivatedRoute } from '@angular/router';
6 |
7 | @Component({
8 | selector: 'byid',
9 | template: `You selected product: {{ id }}`
10 | })
11 | export class ByIdComponent {
12 | id: string;
13 |
14 | constructor(private route: ActivatedRoute) {
15 | route.params.subscribe(params => { this.id = params['id']; });
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/advanced_components/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css('h1.header')).getText();
10 | }
11 |
12 | getIntroText() {
13 | return element(by.css('.intro')).getText();
14 | }
15 |
16 | clickTab(name) {
17 | return element(by.cssContainingText('.menu a.item', name)).click();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/conversion/ng1/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ng1-pinterest",
3 | "version": "0.0.1",
4 | "description": "toy pinterest clone in ng1",
5 | "main": "index.js",
6 | "private": true,
7 | "scripts": {
8 | "serve": "./node_modules/.bin/live-server --host=localhost --port=8080 .",
9 | "go": "npm run serve"
10 | },
11 | "author": "Nate Murray ",
12 | "dependencies": {
13 | },
14 | "devDependencies": {
15 | "live-server": "^0.9.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/http/app/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ng-book 2: Angular 2 HTTP
5 |
6 | {% for (var css in o.htmlWebpackPlugin.files.css) { %}
7 |
8 | {% } %}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser';
11 | import '@angular/platform-browser-dynamic';
12 | import '@angular/core';
13 | import '@angular/common';
14 | import '@angular/http';
15 |
16 | // RxJS
17 | import 'rxjs';
18 | import 'ts-helpers';
19 |
--------------------------------------------------------------------------------
/forms/e2e/app.e2e-spec.ts:
--------------------------------------------------------------------------------
1 | import { Angular2AppPage } from './app.po';
2 |
3 | describe('ng-book Forms Example App', function() {
4 | let page: Angular2AppPage;
5 |
6 | beforeEach(() => {
7 | page = new Angular2AppPage();
8 | });
9 |
10 | it('should load the page', () => {
11 | page.navigateTo();
12 | expect(page.getHeaderText()).toEqual(`Angular 2 Forms Example`);
13 | expect(page.getCardHeaderText(0)).toContain(`Demo Form: with ng-model`);
14 | });
15 |
16 | });
17 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/Android/app.gradle:
--------------------------------------------------------------------------------
1 | // Add your native dependencies here:
2 |
3 | // Uncomment to add recyclerview-v7 dependency
4 | //dependencies {
5 | // compile 'com.android.support:recyclerview-v7:+'
6 | //}
7 |
8 | android {
9 | defaultConfig {
10 | generatedDensities = []
11 | applicationId = "org.nativescript.nativescriptinstagram"
12 | }
13 | aaptOptions {
14 | additionalParameters "--no-version-vectors"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/built_in_directives/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css('h1.header')).getText();
10 | }
11 |
12 | getIntroText() {
13 | return element(by.css('.intro')).getText();
14 | }
15 |
16 | clickTab(name) {
17 | return element(by.cssContainingText('.menu a.item', name)).click();
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-list/user-list.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-user-list',
5 | templateUrl: './user-list.component.html',
6 | styleUrls: ['./user-list.component.css']
7 | })
8 | export class UserListComponent implements OnInit {
9 | names: string[];
10 |
11 | constructor() {
12 | this.names = ['Ari', 'Carlos', 'Felipe', 'Nate'];
13 | }
14 |
15 | ngOnInit() {
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/app.routing.ts:
--------------------------------------------------------------------------------
1 | import { ImagesListComponent } from "./components/imagesList-component/imagesList.component";
2 | import { ImageComponent } from "./components/image-component/image.component";
3 |
4 | export const routes = [
5 | { path: "", component: ImagesListComponent },
6 | { path: "image-component/:photo_id", component: ImageComponent },
7 | ];
8 |
9 | export const navigatableComponents = [
10 | ImagesListComponent,
11 | ImageComponent
12 | ];
13 |
--------------------------------------------------------------------------------
/rxjs/chat/app/ts/services/services.ts:
--------------------------------------------------------------------------------
1 | import {messagesServiceInjectables} from './MessagesService';
2 | import {threadsServiceInjectables} from './ThreadsService';
3 | import {userServiceInjectables} from './UserService';
4 |
5 | export * from './MessagesService';
6 | export * from './ThreadsService';
7 | export * from './UserService';
8 |
9 | export var servicesInjectables: Array = [
10 | messagesServiceInjectables,
11 | threadsServiceInjectables,
12 | userServiceInjectables
13 | ];
14 |
--------------------------------------------------------------------------------
/rxjs/chat/app/ts/vendor.ts:
--------------------------------------------------------------------------------
1 | // Polyfills
2 | import 'core-js/es6';
3 | import 'core-js/es6';
4 | import 'core-js/es7/reflect';
5 |
6 | import 'zone.js/dist/zone';
7 | import 'zone.js/dist/long-stack-trace-zone';
8 |
9 | // Angular 2
10 | import '@angular/platform-browser';
11 | import '@angular/platform-browser-dynamic';
12 | import '@angular/core';
13 | import '@angular/common';
14 | import '@angular/router';
15 | import '@angular/http';
16 |
17 | // RxJS
18 | import 'rxjs';
19 | import 'ts-helpers';
20 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-item/user-item.component.1.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-user-item',
5 | templateUrl: './user-item.component.html',
6 | styleUrls: ['./user-item.component.css']
7 | })
8 | export class UserItemComponent implements OnInit {
9 | name: string; // <-- added name property
10 |
11 | constructor() {
12 | this.name = 'Felipe'; // set the name
13 | }
14 |
15 | ngOnInit() {
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/conversion/hybrid/js/app.d.ts:
--------------------------------------------------------------------------------
1 | declare module interestAppNg1 {
2 |
3 | export interface Pin {
4 | title: string;
5 | description: string;
6 | user_name: string;
7 | avatar_src: string;
8 | src: string;
9 | url: string;
10 | faved: boolean;
11 | id: string;
12 | }
13 |
14 | export interface PinsService {
15 | pins(): Promise;
16 | addPin(pin: Pin): Promise;
17 | }
18 |
19 | }
20 |
21 | declare module 'interestAppNg1' {
22 | export = interestAppNg1;
23 | }
24 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/ts/models/Thread.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2016, Fullstack.io, LLC.
3 | *
4 | * This source code is licensed under the MIT-style license found in the
5 | * LICENSE file in the root directory of this source tree.
6 | *
7 | */
8 |
9 | import { Message } from './Message';
10 |
11 | /**
12 | * Thread represents a group of Users exchanging Messages
13 | */
14 | export interface Thread {
15 | id: string;
16 | name: string;
17 | avatarSrc: string;
18 | messages: Message[];
19 | }
20 |
--------------------------------------------------------------------------------
/advanced_components/Makefile:
--------------------------------------------------------------------------------
1 | install:
2 | npm install
3 |
4 | dev:
5 | ./node_modules/.bin/webpack-dev-server
6 |
7 | test:
8 | karma start
9 |
10 | tree:
11 | cd .. && tree -I node_modules -A -F angular2-rxjs-chat
12 | css:
13 | mkdir -p tmp
14 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
15 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/built_in_directives/Makefile:
--------------------------------------------------------------------------------
1 | install:
2 | npm install
3 |
4 | dev:
5 | ./node_modules/.bin/webpack-dev-server
6 |
7 | test:
8 | karma start
9 |
10 | tree:
11 | cd .. && tree -I node_modules -A -F angular2-rxjs-chat
12 | css:
13 | mkdir -p tmp
14 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
15 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
--------------------------------------------------------------------------------
/routes/auth/app/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ng-book 2: Angular 2 Routes
5 |
6 | {% for (var css in o.htmlWebpackPlugin.files.css) { %}
7 |
8 | {% } %}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/routes/basic/app/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ng-book 2: Angular 2 Router
6 |
7 | {% for (var css in o.htmlWebpackPlugin.files.css) { %}
8 |
9 | {% } %}
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/routes/nested/app/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ng-book 2: Angular 2 Routes
5 |
6 | {% for (var css in o.htmlWebpackPlugin.files.css) { %}
7 |
8 | {% } %}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES5",
4 | "module": "system",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | },
12 | "files": [
13 | "app.ts",
14 | "typings/browser.d.ts"
15 | ],
16 | "exclude": [
17 | "node_modules",
18 | "typings/main.d.ts",
19 | "typings/main"
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/conversion/hybrid/ts/services/AnalyticsService.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 |
3 | /**
4 | * Analytics Service records metrics about what the user is doing
5 | */
6 | @Injectable()
7 | export class AnalyticsService {
8 | events: string[] = [];
9 |
10 | public recordEvent(event: string): void {
11 | console.log(`Event: ${event}`);
12 | this.events.push(event);
13 | }
14 | }
15 |
16 | export var analyticsServiceInjectables: Array = [
17 | { provide: AnalyticsService, useClass: AnalyticsService }
18 | ];
19 |
--------------------------------------------------------------------------------
/conversion/hybrid/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES5",
4 | "module": "system",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": false
11 | },
12 | "files": [
13 | "ts/app.ts",
14 | "js/app.d.ts",
15 | "typings/browser.d.ts"
16 | ],
17 | "exclude": [
18 | "node_modules",
19 | "typings/main.d.ts",
20 | "typings/main"
21 | ]
22 | }
23 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/e2e/app.e2e-spec.ts:
--------------------------------------------------------------------------------
1 | import { Angular2HelloWorldPage } from './app.po';
2 |
3 | describe('angular2-hello-world App', function() {
4 | let page: Angular2HelloWorldPage;
5 |
6 | beforeEach(() => {
7 | page = new Angular2HelloWorldPage();
8 | });
9 |
10 | it('should display message saying app works', () => {
11 | page.navigateTo();
12 | expect(page.getParagraphText()).toEqual(`app works!
13 | hello-world works!
14 | Hello Ari
15 | Hello Carlos
16 | Hello Felipe
17 | Hello Nate`);
18 | });
19 | });
20 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-Center.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-Center@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/src/app/user-item/user-item.component.ts:
--------------------------------------------------------------------------------
1 | import {
2 | Component,
3 | OnInit,
4 | Input // <--- added this
5 | } from '@angular/core';
6 |
7 | @Component({
8 | selector: 'app-user-item',
9 | templateUrl: './user-item.component.html',
10 | styleUrls: ['./user-item.component.css']
11 | })
12 | export class UserItemComponent implements OnInit {
13 | @Input() name: string; // <-- added Input annotation
14 |
15 | constructor() {
16 | // removed setting name
17 | }
18 |
19 | ngOnInit() {
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/nativescript/photos-near-me/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-AspectFill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-AspectFill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/routes/auth/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "declaration": false,
6 | "noImplicitAny": false,
7 | "removeComments": true,
8 | "experimentalDecorators": true,
9 | "noLib": false,
10 | "emitDecoratorMetadata": true
11 | },
12 | "filesGlob": [
13 | "./**/*.ts",
14 | "./test/**/*.ts",
15 | "!./node_modules/**/*.ts"
16 | ],
17 | "compileOnSave": false,
18 | "exclude": [
19 | "typings/main.d.ts",
20 | "typings/main",
21 | "node_modules"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/routes/nested/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css(`h1`)).getText();
10 | }
11 |
12 | getSubheaderText() {
13 | return element(by.css(`h2`)).getText();
14 | }
15 |
16 | clickLink(text) {
17 | return element(by.linkText(text)).click();
18 | }
19 |
20 | getProductsAreaText() {
21 | return element(by.css(`.products-area`)).getText();
22 | }
23 |
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/rxjs/chat/Makefile:
--------------------------------------------------------------------------------
1 | install:
2 | npm install
3 |
4 | dev:
5 | ./node_modules/.bin/webpack-dev-server
6 |
7 | test:
8 | karma start
9 |
10 | tree:
11 | cd .. && tree -I node_modules -A -F angular2-rxjs-chat
12 |
13 | # dev command to build the css
14 | css:
15 | mkdir -p tmp
16 | cat app/css/styles.scss | sed 's/~bootstrap/bootstrap/g' | node-sass --include-path ./node_modules --include-path ./app/css > tmp/styles.css
17 | cat tmp/styles.css | sed 's/bootstrap-sass\/assets\/fonts/..\/..\/node_modules\/bootstrap-sass\/assets\/fonts/g' > app/css/styles.css
18 |
19 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # compiled output
4 | /dist
5 | /tmp
6 |
7 | # dependencies
8 | /node_modules
9 | /bower_components
10 |
11 | # IDEs and editors
12 | /.idea
13 | /.vscode
14 | .project
15 | .classpath
16 | *.launch
17 | .settings/
18 |
19 | # misc
20 | /.sass-cache
21 | /connect.lock
22 | /coverage/*
23 | /libpeerconnection.log
24 | npm-debug.log
25 | testem.log
26 | /typings
27 |
28 | # e2e
29 | /e2e/*.js
30 | /e2e/*.map
31 |
32 | #System Files
33 | .DS_Store
34 | Thumbs.db
35 |
--------------------------------------------------------------------------------
/rxjs/chat/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES5",
4 | "module": "commonjs",
5 | "removeComments": true,
6 | "emitDecoratorMetadata": true,
7 | "experimentalDecorators": true,
8 | "noEmitHelpers": true,
9 | "sourceMap": true
10 | },
11 |
12 | "filesGlob": [
13 | "./app/**/*.ts",
14 | "./test/**/*.ts",
15 | "!./node_modules/**/*.ts"
16 | ],
17 | "exclude": [
18 | "typings/main.d.ts",
19 | "typings/main",
20 | "node_modules"
21 | ],
22 | "compileOnSave": false,
23 | "buildOnSave": false
24 | }
25 |
--------------------------------------------------------------------------------
/advanced_components/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES5",
4 | "module": "commonjs",
5 | "removeComments": true,
6 | "emitDecoratorMetadata": true,
7 | "experimentalDecorators": true,
8 | "noEmitHelpers": true,
9 | "sourceMap": true
10 | },
11 | "filesGlob": [
12 | "./app/**/*.ts",
13 | "./test/**/*.ts",
14 | "!./node_modules/**/*.ts"
15 | ],
16 | "compileOnSave": false,
17 | "buildOnSave": false,
18 | "exclude": [
19 | "typings/main.d.ts",
20 | "typings/main",
21 | "node_modules"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/built_in_directives/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES5",
4 | "module": "commonjs",
5 | "removeComments": true,
6 | "emitDecoratorMetadata": true,
7 | "experimentalDecorators": true,
8 | "noEmitHelpers": true,
9 | "sourceMap": true
10 | },
11 | "filesGlob": [
12 | "./app/**/*.ts",
13 | "./test/**/*.ts",
14 | "!./node_modules/**/*.ts"
15 | ],
16 | "compileOnSave": false,
17 | "buildOnSave": false,
18 | "exclude": [
19 | "typings/main.d.ts",
20 | "typings/main",
21 | "node_modules"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/first_app/angular2_hello_world/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # compiled output
4 | /dist
5 | /tmp
6 |
7 | # dependencies
8 | /node_modules
9 | /bower_components
10 |
11 | # IDEs and editors
12 | /.idea
13 | /.vscode
14 | .project
15 | .classpath
16 | *.launch
17 | .settings/
18 |
19 | # misc
20 | /.sass-cache
21 | /connect.lock
22 | /coverage/*
23 | /libpeerconnection.log
24 | npm-debug.log
25 | testem.log
26 | /typings
27 |
28 | # e2e
29 | /e2e/*.js
30 | /e2e/*.map
31 |
32 | #System Files
33 | .DS_Store
34 | Thumbs.db
35 |
--------------------------------------------------------------------------------
/rxjs/chat/app/ts/util/uuid.ts:
--------------------------------------------------------------------------------
1 | /* jshint bitwise:false, node:true */
2 | /* tslint:disable:no-bitwise no-var-keyword typedef */
3 |
4 | // taken from TodoMVC
5 | export function uuid() {
6 | var i, random;
7 | var result = '';
8 |
9 | for (i = 0; i < 32; i++) {
10 | random = Math.random() * 16 | 0;
11 | if (i === 8 || i === 12 || i === 16 || i === 20) {
12 | result += '-';
13 | }
14 | result += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random))
15 | .toString(16);
16 | }
17 |
18 | return result;
19 | };
20 |
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/e2e/app.e2e-spec.ts:
--------------------------------------------------------------------------------
1 | import { Angular2AppPage } from './app.po';
2 |
3 | describe('angular2-inventory App', function() {
4 | let page: Angular2AppPage;
5 |
6 | beforeEach(() => {
7 | page = new Angular2AppPage();
8 | });
9 |
10 | it('should load the page', () => {
11 | page.navigateTo();
12 | expect(page.getHeaderText()).toEqual(`Angular 2 Inventory App`);
13 | });
14 |
15 | it('should have a blue jacket on the page', () => {
16 | page.navigateTo();
17 | expect(page.getItemName(1)).toEqual(`Blue Jacket`);
18 | });
19 | });
20 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/ts/models/Message.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2016, Fullstack.io, LLC.
3 | *
4 | * This source code is licensed under the MIT-style license found in the
5 | * LICENSE file in the root directory of this source tree.
6 | *
7 | */
8 |
9 | import { User } from './User';
10 | import { Thread } from './Thread';
11 |
12 | /**
13 | * Message represents one message being sent in a Thread
14 | */
15 | export interface Message {
16 | id?: string;
17 | sentAt?: Date;
18 | isRead?: boolean;
19 | thread?: Thread;
20 | author: User;
21 | text: string;
22 | }
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Angular权威教程(ng-book2)范例代码
2 |
3 | 这是《Angular权威指南》的随书源码。请结合此书进行阅读和练习。
4 |
5 | ## 试运行
6 |
7 | 大多数的目录下都有一个`README.md`文件,可参照其中的命令进行试运行。
8 |
9 | 由于部分依赖包位于AWS S3服务器上,所以国内可能无法正常运行,请参照 上的指引,安装`cnpm`,并且使用`cnpm install`命令代替相应的`npm install`命令进行安装。
10 |
11 | 还有一部分API可能会访问国外的服务器,也可能会被墙,试运行时请注意。
12 |
13 | ## Angular 版本
14 |
15 | 这些源码所依赖的Angular版本是2.x,但不用担心,你可以很轻松的把它升级到 4.x,本书中的代码几乎都没有涉及从2到4的少数几个破坏性变更,参见 。
16 |
17 | ## 授权协议
18 |
19 | 部分目录下的源码有一个`LICENSE.md`文件,采用MIT协议的源码都可以全部或部分用在你自己的项目中,但需要遵循MIT协议的要求。
20 |
--------------------------------------------------------------------------------
/conversion/hybrid/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getHeaderText() {
9 | return element(by.css('h1')).getText();
10 | }
11 |
12 | clickNav(text) {
13 | return element(by.cssContainingText('.navLinks a', text)).click();
14 | }
15 |
16 | submitForm() {
17 | return element(by.buttonText('Submit')).click();
18 | }
19 |
20 | thumbnailText(i) {
21 | return element.all(by.css('.thumbnail')).get(i).getText();
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/forms/test/util.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * Utility functions for our browser tests
3 | */
4 | export function createEvent(eventType: any): Event {
5 | var evt: Event = document.createEvent('Event');
6 | evt.initEvent(eventType, true, true);
7 | return evt;
8 | }
9 |
10 | export function dispatchEvent(element: any, eventType: any) {
11 | element.dispatchEvent(createEvent(eventType));
12 | }
13 |
14 | export class ConsoleSpy {
15 | public logs: string[] = [];
16 | log(...args) {
17 | this.logs.push(args.join(' '));
18 | }
19 | warn(...args) {
20 | this.log(...args);
21 | }
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/http/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class Angular2AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | pushButton(text) {
9 | return element(by.buttonText(text)).click();
10 | }
11 |
12 | getResultsText(exampleElemName) {
13 | return element(by.css(`${exampleElemName} pre`)).getText();
14 | }
15 |
16 | search(text) {
17 | return element(by.css(`youtube-search input`)).sendKeys(text);
18 | }
19 |
20 | getSearchText() {
21 | return element(by.css(`youtube-search`)).getText();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/ts/util/uuid.ts:
--------------------------------------------------------------------------------
1 | /* jshint bitwise:false, node:true */
2 | /* tslint:disable:no-bitwise no-var-keyword typedef */
3 |
4 | // taken from TodoMVC
5 | export function uuid() {
6 | var i, random;
7 | var result = '';
8 |
9 | for (i = 0; i < 32; i++) {
10 | random = Math.random() * 16 | 0;
11 | if (i === 8 || i === 12 || i === 16 || i === 20) {
12 | result += '-';
13 | }
14 | result += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random))
15 | .toString(16);
16 | }
17 |
18 | return result;
19 | };
20 |
--------------------------------------------------------------------------------
/routes/auth/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "routes auth e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/routes/basic/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "basic routing e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/routes/nested/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "routing nested tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/rxjs/chat/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "angular2-rxjs-chat e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/rxjs/chat/app/ts/services/UserService.ts:
--------------------------------------------------------------------------------
1 | import {Injectable} from '@angular/core';
2 | import {Subject, BehaviorSubject} from 'rxjs';
3 | import {User} from '../models';
4 |
5 |
6 | /**
7 | * UserService manages our current user
8 | */
9 | @Injectable()
10 | export class UserService {
11 | // `currentUser` contains the current user
12 | currentUser: Subject = new BehaviorSubject(null);
13 |
14 | public setCurrentUser(newUser: User): void {
15 | this.currentUser.next(newUser);
16 | }
17 | }
18 |
19 | export var userServiceInjectables: Array = [
20 | UserService
21 | ];
22 |
--------------------------------------------------------------------------------
/built_in_directives/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "built_in_directives e2e passses" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/conversion/hybrid/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "hybrid e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "live-server"
17 | npm run e2e:serve 3>- &
18 | sleep 30
19 | true
20 | }
21 |
22 | teardown() {
23 | cd $DIR
24 | kill_by_grep "live-server"
25 | true
26 | }
27 |
--------------------------------------------------------------------------------
/dependency_injection/misc/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "di misc e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/dependency_injection/simple/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "di basic e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/dependency_injection/value/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "di value e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/advanced_components/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "advanced_components e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/dependency_injection/complex/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "di complex e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/dependency_injection/injector/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "di injector e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/http/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES5",
4 | "module": "commonjs",
5 | "removeComments": true,
6 | "emitDecoratorMetadata": true,
7 | "experimentalDecorators": true,
8 | "noEmitHelpers": true,
9 | "sourceMap": true
10 | },
11 | "filesGlob": [
12 | "./app/**/*.ts",
13 | "./test/**/*.ts",
14 | "!./node_modules/**/*.ts"
15 | ],
16 | "compileOnSave": false,
17 | "buildOnSave": false,
18 | "atom": { "rewriteTsconfig": false },
19 | "exclude": [
20 | "typings/main.d.ts",
21 | "typings/main",
22 | "node_modules"
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/app/ts/actions/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2016, Fullstack.io, LLC.
3 | *
4 | * This source code is licensed under the MIT-style license found in the
5 | * LICENSE file in the root directory of this source tree.
6 | *
7 | */
8 |
9 | import * as ThreadActions from './ThreadActions';
10 | import * as UserActions from './UserActions';
11 |
12 | // export here for object imports
13 | export {
14 | ThreadActions,
15 | UserActions
16 | };
17 |
18 | // export here for injecting the dependencies (e.g. at bootstrap)
19 | export default [
20 | ThreadActions,
21 | UserActions
22 | ];
23 |
--------------------------------------------------------------------------------
/routes/basic/html5-dev-server.js:
--------------------------------------------------------------------------------
1 | var WebpackDevServer = require("webpack-dev-server");
2 | var webpack = require("webpack");
3 |
4 | var config = require("./webpack.config.js");
5 | // config.entry.app.unshift("webpack-dev-server/client?http://localhost:8080");
6 | var compiler = webpack(config);
7 |
8 | var server = new WebpackDevServer(compiler, {
9 | // Set this as true if you want to access dev server from arbitrary url.
10 | // This is handy if you are using a html5 router.
11 | historyApiFallback: true,
12 | stats: { colors: true },
13 | });
14 | server.listen(8080, "localhost", function() {});
15 |
16 |
--------------------------------------------------------------------------------
/how_angular_works/inventory_app/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "how_angular_works/inventory_app e2e passses" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "concurrent"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "concurrent"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/redux/angular2-redux-chat/.test.bats:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bats
2 | DIR=$(dirname $BATS_TEST_FILENAME)
3 |
4 | load "${NGBOOK_ROOT}/scripts/bats/fullstack.bats"
5 | load '/usr/local/lib/bats-support/load.bash'
6 | load '/usr/local/lib/bats-assert/load.bash'
7 |
8 | @test "angular2-redux-chat e2e tests pass" {
9 | cd $DIR
10 | run ./node_modules/.bin/protractor
11 | assert_output --partial 'SUCCESS'
12 | }
13 |
14 | setup() {
15 | cd $DIR
16 | kill_by_grep "webpack-dev-server"
17 | npm run go 3>- &
18 | true
19 | }
20 |
21 | teardown() {
22 | cd $DIR
23 | kill_by_grep "webpack-dev-server"
24 | true
25 | }
26 |
--------------------------------------------------------------------------------
/first_app/angular2_reddit/src/app/app.component.2.html:
--------------------------------------------------------------------------------
1 |
20 |
--------------------------------------------------------------------------------
/advanced_components/app/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ng-book 2 - Advanced Components with Angular 2
5 |
6 |
7 | {% for (var css in o.htmlWebpackPlugin.files.css) { %}
8 |
9 | {% } %}
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------