Use the "onload" angularjs instead of $timeout

ngInclude has an "onload" attribute. That's better to use it than waiting 300ms and hoping dom is ready because if the network is a bit slow, the modal won't show !

With this change, even with a slow network, the dialog would show.