modal.js: Do not open multiple modal windows by clicking more than once

This commit is contained in:
Sukhwinder Dhillon 2021-09-21 12:39:22 +02:00
parent 414a2ff7aa
commit 15b9bac755
1 changed files with 9 additions and 0 deletions

View File

@ -42,6 +42,11 @@
var $modal = _this.$ghost.clone();
var $urlTarget = _this.icinga.loader.getLinkTargetFor($a, false);
_this.modalOpener = event.currentTarget;
// Disable pointer events to block further function calls
_this.modalOpener.style.pointerEvents = 'none';
// Add showCompact, we don't want controls in a modal
url = _this.icinga.utils.addUrlFlag(url, 'showCompact');
@ -189,6 +194,10 @@
* @param $modal {jQuery} The modal element
*/
Modal.prototype.hide = function($modal) {
// Remove pointerEvent none style to make the button clickable again
this.modalOpener.style.pointerEvents = '';
this.modalOpener = null;
$modal.removeClass('active');
// Using `setTimeout` here to let the transition finish
setTimeout(function () {