Invoking modal window in AngularJS Bootstrap UI using JavaScript
angular-ui-bootstrap, angularjs, modal-dialog
Solution
OK, so first of all the http://angular-ui.github.io/bootstrap/ has a `<modal>` directive and the `$dialog` service and both of those can be used to open modal windows.
The difference is that with the `<modal>` directive content of a modal is embedded in a hosting template (one that triggers modal window opening). The `$dialog` service is far more flexible and allow you to load modal's content from a separate file as well as trigger modal windows from any place in AngularJS code (this being a controller, a service or another directive).
Not sure what you mean exactly by "using JavaScript code" but assuming that you mean any place in AngularJS code the `$dialog` service is probably a way to go.
It is very easy to use and in its simplest form you could just write:
$dialog.dialog({}).open('modalContent.html');
To illustrate that it can be really triggered by any JavaScript code here is a version that triggers modal with a timer, 3 seconds after a controller was instantiated:
function DialogDemoCtrl($scope, $timeout, $dialog){
$timeout(function(){
$dialog.dialog({}).open('modalContent.html');
}, 3000);
}
This can be seen in action in this plunk: http://plnkr.co/edit/u9HHaRlHnko492WDtmRU?p=preview
Finally, here is the full reference documentation to the `$dialog` service described here: https://github.com/angular-ui/bootstrap/blob/master/src/dialog/README.md
Problem
Using the example mentioned here, how can I invoke the modal window using JavaScript instead of clicking a button? I am new to AngularJS and tried searching the documentation here and here without luck. Thanks