Creating custom dialogs
Custom dialogs can be used for all kinds of user input. We can ask the user to fill a form (for example, a login form can be displayed as a dialog). We can also use them to ask the user to accept or decline some action that requires immediate attention (for example, a dialog asking the user "Are you sure you want to delete the selected items?").
As we can theoretically display any other page segment in a dialog, it would be great if we had a single flexible method to do it. The easiest way to attain flexibility is to split the dialog into three parts: view, model, and controller.
In this recipe, we're going to create a general dialog. It will consist of a view (HTML that supports JavaScript templating), a model (available from the template), and a list of event bindings that make the controller.
This is an advanced recipe. If you're not familiar with Embedded JavaScript Templates (EJS), we recommend reading the EJS recipes in Chapter 9, Client-side Templates, before...