mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-09-22 01:17:42 +02:00
Merge pull request #4538 from Icinga/fix-multi-modal-windows-and-submit-4525
Fix multi modal windows and submit (cherry picked from commit 8ac8271eddc69d295bdf4efa72800016253c4dce)
This commit is contained in:
parent
685aff66c1
commit
e17e28fdda
@ -42,6 +42,11 @@
|
|||||||
var $modal = _this.$ghost.clone();
|
var $modal = _this.$ghost.clone();
|
||||||
var $urlTarget = _this.icinga.loader.getLinkTargetFor($a, false);
|
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
|
// Add showCompact, we don't want controls in a modal
|
||||||
url = _this.icinga.utils.addUrlFlag(url, 'showCompact');
|
url = _this.icinga.utils.addUrlFlag(url, 'showCompact');
|
||||||
|
|
||||||
@ -90,6 +95,8 @@
|
|||||||
var _this = event.data.self;
|
var _this = event.data.self;
|
||||||
var $form = $(event.currentTarget).closest('form');
|
var $form = $(event.currentTarget).closest('form');
|
||||||
var $modal = $form.closest('#modal');
|
var $modal = $form.closest('#modal');
|
||||||
|
// otherwise the form is submitted several times by clicking the "Submit" button several times
|
||||||
|
$form.find('input:not(:disabled)').prop('disabled', true);
|
||||||
|
|
||||||
var req = _this.icinga.loader.submitForm($form, $autoSubmittedBy);
|
var req = _this.icinga.loader.submitForm($form, $autoSubmittedBy);
|
||||||
req.addToHistory = false;
|
req.addToHistory = false;
|
||||||
@ -187,6 +194,10 @@
|
|||||||
* @param $modal {jQuery} The modal element
|
* @param $modal {jQuery} The modal element
|
||||||
*/
|
*/
|
||||||
Modal.prototype.hide = function($modal) {
|
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');
|
$modal.removeClass('active');
|
||||||
// Using `setTimeout` here to let the transition finish
|
// Using `setTimeout` here to let the transition finish
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user