<div dir="ltr">Hello, Horizoneers and UX-ers!<div><br></div><div>The default behavior of modals in Horizon (defined in turn by Bootstrap defaults) regarding their closing is to simply close the modal once user clicks somewhere outside of it (on the backdrop element below and around the modal). This is not very convenient for the modal forms containing a lot of input - when it is closed without a warning all the data the user has already provided is lost. Keeping this in mind, I've made a patch [1] changing default Bootstrap 'modal_backdrop' parameter to 'static', which means that forms are not closed once the user clicks on a backdrop, while it's still possible to close them by pressing 'Esc' or clicking on the 'X' link at the top right border of the form. Also the patch [1] allows to customize this behavior (between 'true'-current one/'false' - no backdrop element/'static') on a per-form basis.</div><div><br></div><div>What I didn't know at the moment I was uploading my patch is that David Lyle had been working on a similar solution [2] some time ago. It's a bit more elaborate than mine: if the user has already filled some some inputs in the form, then a confirmation dialog is shown, otherwise the form is silently dismissed as it happens now.</div><div><br></div><div>The whole point of writing about this in the ML is to gather opinions which approach is better:</div><div>* stick to the current behavior;</div><div>* change the default behavior to 'static';<br></div><div>* use the David's solution with confirmation dialog (once it'll be rebased to the current codebase).</div><div><br></div><div>What do you think?</div><div><div><br></div><div>[1] <a href="https://review.openstack.org/#/c/113206/">https://review.openstack.org/#/c/113206/</a></div><div>[2] <a href="https://review.openstack.org/#/c/23037/">https://review.openstack.org/#/c/23037/</a></div><div><br></div><div>P.S. I remember that I promised to write this email a week ago, but better late than never :).<br clear="all"></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Timur Sufiev</div></div>
</div></div>