Starting and Stopping an Angular Project
Updating a Component Template
Angular vs JavaScript Design Patterns
Tracking Additional Properties
Generating a Random Password
Review on Property Binding
Adding Static Files to Angular
How Angular Creates Components
Tying Data to a Component
Accepting Data in a Child Component
Communicating from Parent to Child
Fixing Template References
Building Lists with NgFor
What We've Learned So Far
Conditionally Disabling Buttons
Multiple Directives with Ng-Container
Generating Custom Directives
Accessing Elements from a Custom Directive
Communicating Properties to Directives
Intercepting a Property Assignment
Custom Structural Directives
Context in Structural Directives
Implementing Lazy Loading
Creating a Placeholder Component
Reminder on Structural Directives
Implementing a Titled Divider
Grabbing Content with NgContent
Creating a Segment Component
Building a Reusable Table
Generating and Displaying the Table
Communicating Down Table Data
Adding Child Navigation Routes
Understanding Child Component Routing
Relative RouterLink References
Alternate RouterLink Syntax
A Reusable Tabs Component
Displaying a List of Statistics
Displaying a List of Items
Natural Issues with Modal Windows
Hiding the Modal with NgOnDestroy
Making the Modal Reusable
Listing Accordion Elements
Expanding the Active Element
Difficulties with Objects
Property Assignment Shortcut
Enabling Decorator Support
Combining Interfaces and Classes
That's a Lot of Typescript!
Component Design Methodology
Child to Parent Communication
Why Dependency Injection is Useful
Seeing the Request's Response
More Parent to Child Communication
Reactive Forms vs Template Forms
Binding a FormGroup to a Form
Finding Validation Errors
Showing and Hiding Validation Messages
Changing Styling on Validation Errors
Hijacking Form Control Values
Inserting Extra Characters
Using a Library for Masking
Contacting the Backend API
Cookie Based Authentication
Username and Password Validation
Writing Custom Validators
Connecting Custom Validators
Implementing Async Validators
Understanding Async Validators
Handling Errors from Async Validation
Fixing a Few Odds and Ends
Making the Signup Request
Cleaning up the Auth Service
Adding a Navigation Header
Maintaining Authentication State
A Gotcha Around the HttpClient
Modifying Outgoing Requests
Other Uses of Interceptors
Building the Sign In Flow
Showing Authentication Errors
Navigation on Authentication
Generating Inbox Components
Adding Email Fetching to the Service
Rendering a List of Emails
Relative Links with Router Link
Styling the Selected Email
Accessing Route Information
Snapshot vs Observable Route Params
Issues with Nested Subscribes
Canceling Previous Email Requests
Reusable Data Fetching with Resolvers
Communicating Data Out of a Resolver
Error Handling with Resolvers
Component Reuse in Email Creation
Some More Modal Implementation
Where to Place the Modal?
Toggling Modal Visibility
Providing a Form Default Values
Displaying Textarea instead of Text Input
Quick Bug Fix! (Final Lecture)
Type Annotations and Inference
Annotations and Variables
Object Literal Annotations
Annotations Around Functions
When Inference Doesn't Work
Annotations Around Functions
Inference Around Functions
Annotations for Anonymous Functions
Destructuring with Annotations
Fixing Annotations With Interfaces
Code Reuse with Interfaces
General Plan with Interfaces
Updated Parcel Instructions
IMPORTANT Info About Faker Installation
Using Type Definition Files
Export Statements in TypeScript
Adding Google Maps Support
Required Update for New @types Library
Google Maps Integration with TypeScript
Exploring Type Definition Files
Why Use Private Modifiers? Here's Why
Restricting Access with Interfaces
Updating Interface Definitions
Optional Implements Clauses
Configuring the TS Compiler
Concurrently Compilation and Execution
A Simple Sorting Algorithm
TypeScript is Really Smart
Seperating Swapping and Comparison
Sorting Abritrary Collections
Linked List Implementation
Completed Linked List Code
Just... One... More... Fix...
Integrating the Sort Method
Abstract Classes in Action
Solving All Our Issues with Abstract Classes
Interfaces vs Abstract Classes
IMPORTANT - Unfinished Application
Reading the Users Location
Geolocation in an Observable
Connecting the Service to a Component
Transforming Coordinates to Query Params
Generics on HTTP Requests
Filter MergeMap Pluck Operators
Map and toArray Operators
Accessing Data in the Template
Styling the Forecast Component
Reminder on the Share Operator
How to Structure Services
Generating the Notification Module
Notifications Service Design
More Design on Notifications
Building a Command Structure
When to Add Notifications
Showing Success and Errors
CatchError and ThrowError
Applying a Type to the Response
Calculating Pages Available
Wrapping the Input Subject
The Article List Component
The Shared Module Pattern
Parent to Child Communication
REMINDER - Unfinished Application