Index
A
- actions
- about / Action – capture the intent
- adding, to flow / Adding more actions to our flow
- Ajax button component
- building / Building an Ajax button component
- external components/elements, transcluding / Transcluding external components/elements into a component
- view children / Content children and view children
- content children / Content children and view children
- injected dependencies, tracking with QueryList / Tracking injected dependencies with QueryList
- Ajax calls
- adding / Adding AJAX calls
- AJAX requests
- about / AJAX
- fetch() API / fetch()
- ajax() operator / ajax() operator
- calls, cascading / Cascading calls
- Angular
- interactions / Angular and server interactions
- null guarding / Null guarding in Angular
- headless browser, configuring / Configuring a headless browser for Angular
- Angular app
- preparing / Prep Angular app
- Angular binding
- one-way binding from model to view / The Angular binding infrastructure
- one-way binding from view to mode / The Angular binding infrastructure
- two-way/bidirectional binding / The Angular binding infrastructure
- Angular cheat sheet / Angular cheat sheet
- Angular CLI autocomplete
- configuring / Configure Angular CLI autocomplete
- Angular Command Line Interface (Angular CLI)
- reference / Setting up the build
- about / Angular CLI
- code, transpiling / Code transpiling
- Angular component
- adding, for weather data display / Adding an Angular component
- Angular directives / Angular directives
- Angular event binding infrastructure
- about / The Angular event binding infrastructure
- event bubbling / Event bubbling
- $event object, event binding / Event binding an $event object
- Angular forms
- about / Angular forms
- template-driven forms / Template-driven and reactive forms, Template-driven forms
- reactive forms / Template-driven and reactive forms, Reactive forms
- Angular validation / Angular validation
- ngModel / ngModel
- workout validation / Workout validation
- workout, saving / Saving the workout
- Angular Material
- schematics / Angular Material schematics
- accessibility / Accessibility
- content element / Card header and content
- card header / Card header and content
- typography / Material typography
- tagline, updating as center-aligned caption / Updating the tagline as center-aligned caption
- Current Weather card layout, updating / Updating Current Weather card layout
- Layout Scaffolding, implementing / Implementing Layout Scaffolding
- elements, aligning / Aligning elements
- elements, styling / Styling elements
- styles, fine-tuning / Fine-tuning styles
- tweaks / Tweaking to match design
- updating / Updating Angular Material
- Angular modules
- exploring / Exploring Angular modules
- comprehending / Comprehending Angular modules
- Angular security
- about / Angular security
- safe content, trusting / Trusting safe content
- OnChange life cycle event / OnChange life cycle event
- Angular Services
- used, for retrieving data / Using Angular Services and HttpClient to retrieve data, Creating a new Angular Service
- Angular style guide
- reference / Angular CLI
- API design / API design
- app
- containerizing, Docker used / Containerizing the app using Docker
- Material Components, adding to / Adding Material Components to your app
- application layer / Angular renderer, the translation layer
- Application Load Balancer (ALB) / Creating elastic load balancer
- asynchronous data streams / Eventing with EventEmitter, Asynchronous data streams
- async pipe / The async pipe
- async validators
- about / Building a remote validator directive
- used, for validating workout names / Validating workout names using async validators
- attribute binding / Attribute binding, Attribute binding
- attribute directives
- reference / Built-in directives
- Augury
- download link / Angular Augury
- about / Angular Augury
- Component Tree tab / Component Tree
- Router Tree tab / Router Tree
- NgModules tab / NgModules
- authentication workflow
- designing / Design authentication and authorization workflow
- auth service, adding / Add auth service
- basic authentication service, implementing / Implement a basic authentication service
- login component, implementing / Implementing the login component
- Auth Guard / Auth Guard
- authorization workflow
- designing / Design authentication and authorization workflow
- Auth Service Fake / Auth Service Fake and Common Testing Providers
- autocomplete behavior / Asynchronous data streams
- Automated Acceptance Test (AAT) environments / Verifying and publishing Swagger server
- Availability Zones (AZs) / Creating elastic load balancer
- AWS
- npm scripts, adding for / Adding npm Scripts for AWS
- AWS ECS Fargate
- deploying to / Deploy to AWS ECS Fargate
- configuring / Configuring ECS Fargate
- Fargate Cluster, creating / Creating a Fargate Cluster
- Container Repository, creating / Creating container repository
- task definition, creating / Creating task definition
- Elastic Load Balancer, creating / Creating elastic load balancer
- cluster service, creating / Creating cluster service
- DNS, configuring / Configuring the DNS
B
- babel / Code transpiling
- basic operators
- using / Starting out
- about / Understanding operators
- binding
- binding target /
- branding
- about / Branding
- color palette, picking / Color palette
- browser manifest, implementing / Implementing browser manifest and icons
- build, 7 Minute Workout
- setting up / Setting up the build
- build environment
- containerizing / Containerizing build environment
- debugging / Debugging build environment
- builder / Builder
- builder services
- fixing / Fixing the builder services
- build setup
- about / Setting up the build
- 7 Minute Workout, download link / Setting up the build
- Angular CLI / Angular CLI
- built-in directives / Built-in directives
- busy indicator directive
- building / Building a busy indicator directive
- optional dependencies, injecting with @Optional decorator / Injecting optional dependencies with the @Optional decorator
- implementing, with renderer / Implementation one – using renderer
- host binding, in directives / Host binding in directives
- implementing, with host binding / Implementation two - BusyIndicatorDirective with host bindings
C
- child routing / Getting started with Personal Trainer navigation
- CircleCI
- class binding / Style and class binding
- code coverage report / Code coverage report
- codelyzer
- reference / Angular CLI
- code organization
- structure / Organizing code
- feature folders / Feature folders
- CoffeeScript / Code transpiling
- cold Observables / Hot, cold, and warm Observables
- combination operators, streams
- about / A deeper look
- merge() operator / merge() operator
- combineLatest() / combineLatest()
- zip() / zip()
- concat() / concat()
- commands, Angular CLI
- complex requests / Cross-origin resource sharing
- component design pattern / Getting started with Personal Trainer navigation
- components
- used, for crafting UI elements / Crafting UI elements using components and interfaces
- reusing / Reusing components
- component styling
- about / Component styling and view encapsulation
- Shadow DOM / Overview of Shadow DOM
- Component Tree tab, Augury
- about / Component Tree
- break point debugging / Break point debugging
- conditional navigation / Conditional navigation
- containerized app
- deploying / Deploying containerized app
- content children
- about / Content children and view children
- injecting, with @ContentChild / Injecting content children using @ContentChild and @ContentChildren
- injecting, with @ContentChildren / Injecting content children using @ContentChild and @ContentChildren
- Content Delivery Network (CDN) / Right-sizing infrastructure
- content transclusion / Injecting descendant directive(s)
- Continuous Integration / Continuous Integration
- core concepts
- overview / Core concepts overview
- creation operators, Observables
- about / A deeper look
- creation operators, streams
- about / Creation operators
- of() operator / of() operator
- from() operator / from() operator
- range() operator / range() operator
- fromEvent() operator / fromEvent() operator
- cross-component communication, with Angular events
- exercise progress, tracing with audio / Tracking exercise progress with audio
- Angular directives, building to wrap HTML audio / Building Angular directives to wrap HTML audio
- WorkoutAudioComponent, creating for audio support / Creating WorkoutAudioComponent for audio support
- WorkoutAudioComponent, integrating / Integrating WorkoutAudioComponent
- cross-domain access
- about / Cross-domain access and Angular
- JSON with Padding (JSONP) / Cross-domain access and Angular
- JSONP, used for creating cross-domain requests / Using JSONP to make cross-domain requests
- workout, handling / Handling workouts not found
- Cross-origin Resource Sharing (CORS) / Cross-domain access and Angular, Cross-origin resource sharing
- Cross-Origin Resource Sharing (CORS)
- enabling / Enable Cross-Origin Resource Sharing (CORS)
- Cross-Site Scripting (XSS) / Angular security
- CRUD operations
- performing, on exercise/workouts / Performing CRUD on exercises/workouts
- workout, creating / Creating a new workout
- workout, updating / Updating a workout
- workout, deleting / Deleting a workout
- upstream code, fixing / Fixing the upstream code
- custom icons / Custom icons
D
- data
- transforming, RxJS used / Transform data using RxJS
- data components
- designing / Designing around major data components
- entities, defining / Defining entities
- data table
- with pagination / Data table with pagination
- dependency injection
- viewProvider, using / Dependency injection using viewProvider
- description panel / Learning more about an exercise
- descriptions and video panels, exercise
- component inputs, providing / Component with inputs
- structural directives / Structural directives
- Angular security / Angular security
- descriptions panels
- adding / Adding descriptions and video panels
- directive injection
- about / Directive injection
- defined on same element / Injecting directives defined on the same element
- directive dependency, injecting from parent / Injecting directive dependency from the parent
- child directive, injecting / Injecting a child directive (or directives)
- descendant directives, injecting / Injecting descendant directive(s)
- directives
- host binding / Host binding in directives
- dispatcher
- about / Dispatcher – the spider in the web
- listening to / Listening to the dispatcher
- Docker
- app, containerizing / Containerizing the app using Docker
- installing / Installing Docker
- Docker scripts
- setting up / Setting up Docker scripts
- document databases / Setting up the persistence store
- domain-specific language (DSL) / Our first component - WorkoutRunnerComponent, Angular directives
- DOM event object / Pausing an exercise
E
- eager loading / Eager loading
- Elastic Container Registry (ECR) / Deploy to AWS ECS Fargate
- Elastic Container Service (ECS) / Deploying containerized app
- encapsulation / Shadow DOM and Angular components
- end-to-end (e2e) test framework / Angular CLI
- error handling
- about / Error handling
- catch / Catch and continue
- error, ignoring / Ignoring the error
- retry / Retry
- Advanced Retry / Advanced Retry
- ES6 iterable interface / Tracking injected dependencies with QueryList
- ES2015 / Code transpiling
- event binding / Event binding
- event bubbling / Event bubbling
- exercise
- about / Learning more about an exercise
- description panel, adding / Adding descriptions and video panels
- steps, formatting with innerHTML binding / Formatting exercise steps with innerHTML binding
- remaining workout duration, displaying with pipes / Displaying the remaining workout duration using pipes
- Angular pipes / Angular pipes, Pipe chaining
- SecondsToTimePipe, implementing / Implementing a custom pipe - SecondsToTimePipe
- custom pipe, implementing / Implementing a custom pipe - SecondsToTimePipe
- next exercise indicator, adding with ngIf / Adding the next exercise indicator using ngIf
- pausing / Pausing an exercise
- Angular event binding infrastructure / The Angular event binding infrastructure
- two-way binding, with ngModel / Two-way binding with ngModel
- RxJS, adding / Adding the HTTPClient module and RxJS to our project
- workout-service, updating HTTP module used / Updating workout-service to use the HTTPClient module and RxJS
- workout-service, updating RxJS used / Updating workout-service to use the HTTPClient module and RxJS
- getWorkouts(), modifying HTTP module used / Modifying getWorkouts() to use the HTTPClient module
- exercise-related CRUD operations / WorkoutService as a workout and exercise repository
- exercise list pages
- updating / Updating the workout/exercise list pages
- exercises list views / Exercises list views
F
- feature module
- creating / First feature module
- Flux pattern
- core concepts / Core concepts overview
- for-loops
- avoiding / No more loops
- form builder API / Reactive forms
- functional programming paradigm, combining with streams
- combining, with streams / Combining the functional programming paradigm with streams
- projection / Combining the functional programming paradigm with streams
- filtering / Filtering
- mindsets, combining / Combining mindsets
- functional reactive programming (FRP) / The basics of the HTTPClient module
G
- generator schematics
- reference / Angular Material schematics
- grouping operators, streams
- about / A deeper look
- buffer() operator / buffer() operator
- bufferTime() operator / bufferTime() operator
- Grunt / Setting up the build
- Gulp / Setting up the build
H
- headless browser
- configuring, for Angular / Configuring a headless browser for Angular
- hierarchical injectors
- viewProvider, using / Dependency injection using viewProvider
- host binding
- about / Host binding in directives
- property binding, @HostBinding used / Property binding using @HostBinding
- attribute binding / Attribute binding
- event binding / Event binding
- hot Observables / Hot, cold, and warm Observables
- hot stream
- creating / Making a stream hot
- HTML
- styling, with ngClass and ngStyle / Styling HTML with ngClass and ngStyle
- HttpClient
- used, for retrieving data / Using Angular Services and HttpClient to retrieve data
- HTTPClient module / The basics of the HTTPClient module
- HTTP requests
- promises, using / Using promises for HTTP requests
I
- IETF industry standard RFC7519
- reference / Design authentication and authorization workflow
- IEX Free Stock API
- reference / Using JSONP to make cross-domain requests
- infrastructure
- optimizing / Right-sizing infrastructure
- instance, optimizing / Optimizing instance
- interfaces
- used, for crafting UI elements / Crafting UI elements using components and interfaces
- interpolation / Interpolations
- issues
- creating, for Local Weather app / Creating issues for your Local Weather app
J
- JavaScript modules
- reference / Comprehending Angular modules
- JS Bin
- reference / Understanding operators
- JSONP
- used, for creating cross-domain requests / Using JSONP to make cross-domain requests
- JSON Web Token (JWT)
- about / Design authentication and authorization workflow
- life cycle / JSON Web Token life cycle
- JSPM / Setting up the build
L
- landing page
- modifying, with Material Toolbar / Modifying landing page with Material Toolbar
- lazy loading / Submodules with lazy loading, Lazy loading
- LemonMart
- creating / Creating LemonMart
- Router-first app, creating / Creating a Router-first app
- Material, configuring / Configuring Material and Styles
- Styles, configuring / Configuring Material and Styles
- designing / Designing LemonMart
- user roles, identifying / Identifying user roles
- high-level modules, identifying with site map / Identifying high-level modules with site map
- home route, designing / Designing the home route
- default routes, setting up / Setting up default routes
- RouterLink / RouterLink
- router outlet / Router outlet
- walking skeleton, completing / Completing the walking skeleton
- Manager module / Manager module
- user module / User module
- POS module / POS module
- inventory module / Inventory module
- Inspect router tree / Inspect router tree
- deployment, on AWS / Publish
- life cycle hooks/functions / Component lifecycle hooks
- link parameters array / Route parameters
- linter / Angular CLI
- lists
- comparing, to async streams / Comparing lists to async streams – preparing for RxJS
- LocalCast
- Angular component, adding / Adding an Angular component
- model, defining with interfaces / Define your model using interfaces
- Local Weather app
- issues, creating for / Creating issues for your Local Weather app
- environment variables, storing / Storing environment variables
- HTTP GET operation, implementing / Implementing an HTTP GET operation
- loose-coupling / Getting started with Personal Trainer navigation
M
- 7 Minute Workout
- about / What is 7 Minute Workout?
- reference / What is 7 Minute Workout?
- code base, downloading / Downloading the code base
- build, setting up / Setting up the build
- configuration file, reference / Angular CLI
- model, designing / The 7 Minute Workout model
- app, fixing / Fixing the 7 Minute Workout app
- 7 Minute Workout view
- building / Building the 7 Minute Workout view
- Angular 2 binding infrastructure / The Angular binding infrastructure
- interpolations / Interpolations
- property binding / Property binding
- attribute binding / Attribute binding
- class binding / Style and class binding
- style binding / Style and class binding
- attribute directives / Attribute directives
- HTML, styling with ngClass and ngStyle / Styling HTML with ngClass and ngStyle
- marble test
- about / Marble testing
- environment, setting up / Set up
- writing / Writing your first marble test, Fleshing out with more tests
- reference / Fleshing out with more tests
- master/detail view auxiliary routes / Master/detail view auxiliary routes
- Material Card
- weather, representing / Representing weather in Material Card
- Material Components
- adding, to app / Adding Material Components to your app
- Material icons / Material icons
- Material Toolbar
- landing page, modifying / Modifying landing page with Material Toolbar
- Material Typography
- reference / Material typography
- mathematical operators, streams
- about / A deeper look, Mathematical
- max () / max
- min() / min
- sum() / sum
- Message Authentication Code (MAC) / Design authentication and authorization workflow
- microsyntax
- reference / The ever-so-useful NgForOf
- mock-ups
- wrapping up / Wrapping up mock-ups
- model-driven forms
- using / Getting started with reactive forms
- FormBuilder API, using / Using the FormBuilder API
- Model-View-Controller (MVC) pattern / Adding an Angular component
- Model-View-ViewModel (MVVM) design pattern / Adding an Angular component
- MongoDB
- MongoLab
N
- ngClass directive
- used, for styling HTML / Styling HTML with ngClass and ngStyle
- ngFor directive
- about / The ever-so-useful NgForOf
- performance / NgForOf performance
- ngModel
- about / ngModel, ngModel
- using / ngModel
- using, with input and textarea / Using ngModel with input and textarea
- using, with select / Using ngModel with select
- Angular model state / The Angular model state
- Angular CSS classes / Angular CSS classes
- NgModules tab, Augury / NgModules
- ngStyle directive
- used, for styling HTML / Styling HTML with ngClass and ngStyle
- Node.js
- about / Setting up the build
- npm / Setting up the build
- npm scripts
- in VS Code / NPM Scripts in VS Code
- adding, for AWS / Adding npm Scripts for AWS
- null guarding, in Angular
- property initialization / Property initialization
- safe navigation operator / Safe navigation operator
- *ngIf / Null guarding with *ngIf
O
- Object-oriented Programming (OOP) / User class and object-oriented programming
- observables / Eventing with EventEmitter
- observers / Eventing with EventEmitter
- OpenAPI 3.0
- with unofficial tooling / OpenAPI 3.0 with unofficial tooling
- OpenWeatherMap APIs
- discovering / Discover OpenWeatherMap APIs
- operators
- exploring / A deeper look
P
- packages / Setting up the build
- persistence store
- setting up / Setting up the persistence store
- Personal Trainer app
- requisites / Personal Trainer requirements
- code, starting with / Getting started with the code for Personal Trainer
- layout / The Personal Trainer layout
- about / Personal Trainer and server integration
- exercise, loading / Loading exercise and workout data
- workout data, loading / Loading exercise and workout data
- exercise, loading from server / Loading exercise and workout lists from a server
- workout lists, loading from server / Loading exercise and workout lists from a server
- workout list pages, updating / Updating the workout/exercise list pages
- exercise list pages, updating / Updating the workout/exercise list pages
- server data, mapping to application models / Mapping server data to application models
- exercise and workout data, loading from server / Loading exercise and workout data from the server
- builder services, fixing / Fixing the builder services
- resolvers, updating / Updating the resolvers
- Workout and Exercise components, fixing / Fixing the Workout and Exercise components
- Personal Trainer navigation
- lazy loading, of routes / Conventions used, Lazy loading of routes
- routes, using / Personal Trainer navigation with routes
- child routes, introducing to Workout Builder / Introducing child routes to Workout Builder
- child routing component, adding / Adding the child routing component
- WorkoutBuilder component, updating / Updating the WorkoutBuilder component
- Workout Builder module, updating / Updating the Workout Builder module
- app.routes, updating / Updating App Routing module
- implementing / Putting it all together
- sub-level navigation, integrating with side-level navigation / Integrating sub- and side-level navigation
- Personal Trainer navigation, with routes
- starting with / Getting started with Personal Trainer navigation
- lazy loading, of routes / Lazy loading of routes
- routes, lazy loading / Lazy loading of routes
- pipe
- pipeable operators
- about / Pipeable operators
- reusable operators, creating with let() / Creating reusable operators with let()
- shifting to / Shifting to pipeable operators
- Plunker
- URL / Directive injection
- prefight request / Fixing the upstream code
- promises
- used, for HTTP requests / Using promises for HTTP requests
- property binding
- about / Property binding
- versus attribute binding /
- example /
- interpolation syntactic sugar / Interpolation syntactic sugar over property binding
- quick expression evaluation / Quick expression evaluation
- side-effect-free binding expressions / Side effect-free binding expressions
- Angular directives / Angular directives
- target selection / Target selection for binding
Q
- QueryList
R
- Reactive Extensions for JavaScript (RxJS) / Adding the HTTPClient module and RxJS to our project
- preparing, for / Comparing lists to async streams – preparing for RxJS
- reactive forms
- about / Reactive forms
- using / Getting started with reactive forms
- FormBuilder API, using / Using the FormBuilder API
- form model, adding to HTML view / Adding the form model to our HTML view
- form controls, adding to form inputs / Adding form controls to our form inputs
- validation, adding / Adding validation
- saving / Saving the form
- custom validators / Custom validators
- custom validator, integrating into / Integrating a custom validator into our forms
- configuration options, for validation execution / Configuration options for running validation
- Reactive programming / Understanding Reactive programming
- Reactive transformations
- implementing / Implementing Reactive transformations
- recursion / Recursion
- remote validator directive
- building / Building a remote validator directive
- workout names, validating with async validator / Validating workout names using async validators
- renderer
- used, for implementing busy indicator directive / Implementation one – using renderer
- using, as translation layer / Angular renderer, the translation layer
- rendering layer / Angular renderer, the translation layer
- reoccurring pattern
- about / Reoccurring pattern
- summarizing / Summarise
- nodes, counting / Count
- width function, creating / Width
- resolve guard / Resolve guard
- reusable component
- with binding / Reusable component with binding and route data
- with route data / Reusable component with binding and route data
- reusable operators
- creating, with let() / Creating reusable operators with let()
- role-based routing
- after login / Role-based routing after login
- root component / Comprehending Angular modules
- route guards
- about / Route guards
- resolve route guard, implementing / Implementing the resolve route guard
- route parameters / Route parameters
- router-enabled modules
- generating / Generating router-enabled modules
- router-first architecture / Router-first architecture
- Router Guards / Router Guards
- Router Tree tab, Augury / Router Tree
- routing configurations / Getting started with Personal Trainer navigation
- Rx-style programming / Eventing with EventEmitter
- RxFiddle
- reference / Understanding operators
- RxJS
- used, for transforming data / Transform data using RxJS
- RxJS library / The basics of the HTTPClient module
- RxMarbles
- reference / Understanding operators
S
- safe navigation operator / Safe navigation operator
- scaffolding tool / Angular CLI
- server data
- mapping, to application models / Mapping server data to application models
- server interactions
- about / Angular and server interactions, Personal Trainer and server integration
- persistence store, setting up / Setting up the persistence store
- MongoLab database, seeding / Seeding the database
- shadow-root / Overview of Shadow DOM
- Shadow DOM
- about / Overview of Shadow DOM
- reference / Overview of Shadow DOM
- and Angular components / Shadow DOM and Angular components
- shadow host / Overview of Shadow DOM
- side-level navigation
- integrating, with sub-level navigation / Integrating sub- and side-level navigation
- about / Side navigation
- simple load testing / Simple load testing
- simple requests / Cross-origin resource sharing
- Single Page Application (SPA)
- about / Lazy loading of routes
- solution / An even bigger solution
- source expression /
- StackBlitz
- starter commands / Starter commands, major components, and CLI scaffolds
- store
- callbacks / The store – managing state, data retrieval, and callbacks
- data retrieval / The store – managing state, data retrieval, and callbacks
- state, managing / The store – managing state, data retrieval, and callbacks
- immutability, adding / Adding immutability
- cleaning up / Summarizing
- store, cleaning up
- steps / Cleaning up the store
- EventEmitter, adding / Adding EventEmitter
- register method, cleaning up / Adding to and cleaning up the register method
- streams
- creating / Stream in a stream
- creation operators / Creation operators
- combination operators / Combination
- mathematical operators / Mathematical
- time operator / Time
- grouping operators / Grouping
- issues / Thinking in streams
- structural directives
- about / Component with inputs, Structural directives, Understanding structural directives
- Asterisk (*) / Asterisk (*) in structural directives
- TemplateRef class / TemplateRef
- ViewContainerRef class / ViewContainerRef
- reference / Built-in directives
- style binding / Style and class binding
- sub-level navigation / Sub-level navigation
- subjects
- about / Subjects
- used, for cascading lists / Using Subject for cascading lists
- BehaviorSubject / BehaviorSubject
- ReplaySubject / ReplaySubject
- AsyncSubject / AsyncSubject
- submodules
- about / Submodules with lazy loading
- configuring, with components / Configuring submodules with components and routes
- configuring, with routes / Configuring submodules with components and routes
- Swagger / Swagger
- Swagger 2.0
- with official tooling / Swagger 2.0 with official tooling
- Swagger server
- creating / Creating a Swagger server
- verifying / Verifying and publishing Swagger server
- publishing / Verifying and publishing Swagger server
- Swagger YAML file
- defining / Defining a Swagger YAML file
T
- template-driven forms
- about / Template-driven forms, Getting started
- ngForm, using / Using NgForm
- ngModel / ngModel
- template expressions
- about / Interpolations
- TemplateRef class / TemplateRef
- template reference variables / Creating WorkoutAudioComponent for audio support, Understanding template reference variables
- tester / Tester
- testing environment
- configuring / Configuring testing environment
- testing module
- creating / Common Testing Module
- testing providers / Auth Service Fake and Common Testing Providers
- time-based operators / A deeper look
- time operators, streams
- about / Time
- interval() operator / interval() operator
- timer() operator / timer() operator
- delay() operator / delay() operator
- sampleTime() operator / sampleTime() operator
- debounceTime() operator / debounceTime() operator
- tracking function / NgForOf performance
- tracuer / Code transpiling
- transclusion / Transcluding external components/elements into a component
- transpilation
- build-time transpilation / Code transpiling
- runtime transpilation / Code transpiling
- transpiler / Code transpiling
- two-way binding
- ngModel, using / Two-way binding with ngModel
- TypeScript
- about / Setting up the build
- reference / Code transpiling
- TypeScript compiler / Code transpiling
- typography
- applying / Applying typography
U
- UI elements
- crafting, components used / Crafting UI elements using components and interfaces
- crafting, interfaces used / Crafting UI elements using components and interfaces
- UI service
- about / UI service
- caching, with cookie / Caching with cookie and localStorage
- caching, with LocalStorage / Caching with cookie and localStorage
- JSON Web Token life cycle / JSON Web Token life cycle
- HTTP interceptor, implementing / HTTP interceptor
- side navigation / Side navigation
- logout function, implementing / Log out
- uniform data flow
- about / A uniform data flow
- actions / Action – capture the intent
- dispatcher / Dispatcher – the spider in the web
- dispatcher, listening / Listening to the dispatcher
- store / The store – managing state, data retrieval, and callbacks
- view / The view
- demonstrating / Demoing a uniform data flow
- selection view, creating / Creating a selection view
- dispatcher, adding / Adding the dispatcher
- store, adding / Adding the store
- selected view, adding / Adding a selected view
- demo, executing / Running the demo
- actions, adding / Adding more actions to our flow
- view, cleaning up / Cleaning up the view
- store, cleaning up / Cleaning up the store
- improvements / Further improvements
- unit tests
- updating / Updating unit tests
- user class / User class and object-oriented programming
- user profile, with multi-step auth-enabled responsive forms
- about / User profile with multi-step auth-enabled responsive forms
- form groups / Form groups
- stepper / Stepper and responsive layout
- responsive layout / Stepper and responsive layout
- calculated properties / Calculated properties and DatePicker
- DatePicker / Calculated properties and DatePicker
- type ahead support / Type ahead support
- dynamic form arrays / Dynamic form arrays
- form data, reviewing / Review component and Save form
- form data, saving / Review component and Save form
V
- validations
- implementing / Common validations
- video panels
- about / Learning more about an exercise
- adding / Adding descriptions and video panels
- component, with input(s) / Component with inputs
- component inputs, providing / Component with inputs
- view / The view
- view children
- about / Content children and view children
- injecting, via @ViewChild / Injecting view children using @ViewChild and @ViewChildren
- injecting, via @ViewChildren / Injecting view children using @ViewChild and @ViewChildren
- ViewContainerRef class
- about / ViewContainerRef
- URL / ViewContainerRef
- view encapsulation / Component styling and view encapsulation
W
- Waffle
- reference / Planning a feature road map using Waffle
- Waffle project
- setting up / Setting up a Waffle project
- warm Observables / Hot, cold, and warm Observables
- warm streams
- creating / Warm streams
- Web Components
- webpack / Angular CLI
- web server / Web server
- workout, building
- about / Building a workout
- left nav, finishing / Finishing left nav
- WorkoutBuilderService, adding / Adding WorkoutBuilderService
- exercises, adding with ExerciseNav / Adding exercises using ExerciseNav
- Workout component, implementing / Implementing the Workout component, Route parameters, Implementing the Workout component continued...
- route parameters / Route parameters
- route guards / Route guards
- Workout template, implementing / Implementing the Workout template
- workout, saving
- ngForm, using / More on NgForm
- forms, fixing / Fixing the saving of forms and validation messages
- validation messages, fixing / Fixing the saving of forms and validation messages
- workout-related CRUD operations / WorkoutService as a workout and exercise repository
- Workout and Exercise list pages
- implementing / Implementing workout and exercise lists
- WorkoutService, using as workout and exercise repository / WorkoutService as a workout and exercise repository
- workout and exercise lists implementation
- WorkoutService, as workout and exercise repository / WorkoutService as a workout and exercise repository
- workout and exercise list components / Workout and exercise list components
- workout and exercise list views / Workout and exercise list views
- WorkoutAudioComponent
- creating, for audio support / Creating WorkoutAudioComponent for audio support
- template reference variables / Understanding template reference variables
- template variable assignment / Template variable assignment
- @ViewChild decorator, using / Using the @ViewChild decorator
- @ViewChildren decorator / The @ViewChildren decorator
- WorkoutAudioComponent integration
- about / Integrating WorkoutAudioComponent
- WorkoutRunnerComponent events, exposing / Exposing WorkoutRunnerComponent events
- @Output decorator / The @Output decorator
- eventing, with EventEmitter / Eventing with EventEmitter
- events, raising with WorkoutRunnerComponent / Raising events from WorkoutRunnerComponent
- component communication patterns / Component communication patterns
- parent component, injecting into child component / Injecting a parent component into a child component
- component life cycle events, using / Using component life cycle events
- sibling component interaction, with events / Sibling component interaction using events and template variables
- sibling component interaction, with template variables / Sibling component interaction using events and template variables
- workout building
- WorkoutBuilderService, adding / Adding WorkoutBuilderService
- Workout component, implementing / Implementing the Workout component continued...
- workout list pages
- updating / Updating the workout/exercise list pages
- WorkoutRunnerComponent
- about / Our first component - WorkoutRunnerComponent
- implementing / Our first component - WorkoutRunnerComponent
- component life cycle hooks / Component lifecycle hooks
- workouts list views / Workouts list views
- workout validation
- about / Workout validation
- appropriate validation messages, displaying / Displaying appropriate validation messages
- several validation, adding / Adding more validation
- multiple validation messages, managing / Managing multiple validation messages
- custom validation messages, for exercise / Custom validation messages for an exercise
Z
- Zeit Now
- about / Zeit Now
- reference / Zeit Now
- configuring / Configuring the Now CLI tool
- deploying on / Deploying