Member-only story
Making Angular Material Dialogs Draggable and Resizable
Hey there, Angular enthusiasts!
Have you ever felt frustrated when a Material Dialog popped up on your screen and you couldn’t move it around or resize it?
You’re stuck with whatever size and position the framework decided was best for you.
Well, those days are over!
Today, we’re going to explore how to transform boring, static Angular Material dialogs into interactive, user-friendly components that users can drag and resize to their heart’s content.
If you’ve been working with Angular for a while, you know that Material Design has become the de facto standard for building beautiful, consistent UIs.
But one limitation that often comes up is the inability to interact with dialogs the way users expect — by dragging them around and adjusting their size.
Luckily, with a little bit of TypeScript magic and some creative DOM manipulation, we can add these features without reaching for an external library (though libraries exist if you want them).
In this blog post, we’ll walk through a complete implementation that handles both dragging and resizing, complete with proper event handling, visual feedback, and best practices. Let’s dive in!