Robert Gravelle

35 articles

Angular 11 MatDialog Basics

Of all the Angular Material components, the MatDialog just may be the most complex. At the same time, it is probably also the most...

Assigning Dynamic Classes with NgClass

In web apps it's a common requirement to tailor an element's appearance based on a condition. There are a few ways of accomplishing this,...

Preventing Data Loss In Angular Applications Using a CanDeactivate Route Guard

It's always helpful when an application warns you when you're about to leave a page with unsaved changes. In some cases, it's expected. I...

Angular 11 Routing Basics

Full disclosure: this article was supposed to be about using Route Guards to protect against data loss. But, as with so many well laid...

Keeping Track of Form Changes In Angular

A very common use case for web forms is to alert the user if they attempt to navigate away from the page with unsaved...

Using Material Font Icons in your Angular 11 Projects

Judicious use of icons can help convey the meaning of application elements and greatly enhance user experience. For those of us who develop using...

Creating a Tree Diagram with D3.js

D3—short for Data Driven Documents—is an incredibly successful JavaScript-powered data visualization library that supports a myriad of features including animations, DOM events, analysis, calculations,...

An Overview of D3.js Chart Types

Charting libraries used to provide a number of graph types, along with a massive list of options. Then, each time someone had a new...

Working with D3 Time Series Axes

The D3 Data-Driven Documents library provides a number of scales for position-encoding quantitative data, such as mapping a measurement in meters to a position...

Writing Reactive Code with RxJS

RxJS is a JavaScript library that brings "reactive programming" to your Web apps. Reactive programming describes a way to "react" to changes that occur...

Make sure to follow Developer.com on Social Media