A custom modal directive for AngularJS