├── 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 |
    2 | 4 | 5 |
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 |
2 |
3 | 4 | 5 |
6 |
7 | 8 | -------------------------------------------------------------------------------- /conversion/ng1/templates/home.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 |
6 |
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 |
    2 | 5 | 6 |
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 |
2 |

Add a Link

3 | 4 |
5 | 6 | 7 |
8 |
9 | 10 | 11 |
12 |
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 |
2 |

Add a Link

3 | 4 |
5 | 6 | 7 |
8 |
9 | 10 | 11 |
12 | 13 | 14 | 18 | 19 |
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 | --------------------------------------------------------------------------------