Skip to content

Commit 965b926

Browse files
authored
Updated to v1.1
The blur effect now has its own CSS rule-set in the name of .cmBackgroundBlur so it won't overwrite pre-existing CSS rules in the style tag.
1 parent 7315098 commit 965b926

File tree

1 file changed

+29
-11
lines changed

1 file changed

+29
-11
lines changed

js/jquery.confirmModal.js

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
2-
* jQuery.confirmModal v1.0
3-
* Copyright (c) 2018 Trim C.
2+
* jQuery.confirmModal v1.1
3+
* Copyright (c) 2018-2019 Trim C.
44
* Released under the MIT license
55
* Description : simple to use plugin replacing the browser's default confirm box with bootstrap 4 modal
66
*/
@@ -25,7 +25,7 @@
2525
var confirmButton = $defaultsConfirmModal.confirmButton;
2626
}
2727
if ($defaultsConfirmModal.cancelButton === undefined) {
28-
var cancelButton = 'Cancel';
28+
var cancelButton = 'Cancel';
2929
} else {
3030
var cancelButton = $defaultsConfirmModal.cancelButton;
3131
}
@@ -50,23 +50,41 @@
5050
var fadeAnimation = 'fade';
5151
}
5252
if (settings.backgroundBlur === true) {
53-
$('.container').attr('style', '-webkit-filter: blur(0.1rem); -moz-filter: blur(0.1rem); -o-filter: blur(0.1rem); -ms-filter: blur(0.1rem); filter: blur(0.1rem);');
54-
$(document).one('hide.bs.modal', '.modalConfirm', function () { $('.container').removeAttr('style'); });
53+
if ($('#cmStyle').length === 0) {
54+
$('head').append('<style id=cmStyle>.cmBackgroundBlur{-webkit-filter:blur(0.1rem);-moz-filter:blur(0.1rem);-o-filter:blur(0.1rem);-ms-filter:blur(0.1rem);filter:blur(0.1rem)}</style>');
55+
} else if ($('#cmStyle').html() != '.cmBackgroundBlur{-webkit-filter:blur(0.1rem);-moz-filter:blur(0.1rem);-o-filter:blur(0.1rem);-ms-filter:blur(0.1rem);filter:blur(0.1rem)}') {
56+
$('#cmStyle').html('.cmBackgroundBlur{-webkit-filter:blur(0.1rem);-moz-filter:blur(0.1rem);-o-filter:blur(0.1rem);-ms-filter:blur(0.1rem);filter:blur(0.1rem)}');
57+
}
58+
$('.container').addClass('cmBackgroundBlur');
59+
$(document).one('hide.bs.modal', '.modalConfirm', function () { $('.container').removeClass('cmBackgroundBlur'); });
5560
} else if (typeof(settings.backgroundBlur) === 'object') {
56-
if (settings.backgroundBlur.length === 2) {
57-
var blurSize = settings.backgroundBlur[1];
61+
var findBlurWeight = settings.backgroundBlur.findIndex(function(el) { return /(^[0-9]+px|rem$)/i.test(el); });
62+
if (findBlurWeight >= 0) {
63+
if (findBlurWeight == 0) {
64+
var elements = '.container';
65+
var blurSize = settings.backgroundBlur[0];
66+
} else {
67+
var elements = settings.backgroundBlur[0];
68+
var blurSize = settings.backgroundBlur[1];
69+
}
5870
} else {
71+
var elements = settings.backgroundBlur[0];
5972
var blurSize = '0.1rem';
6073
}
61-
var elements = settings.backgroundBlur[0];
62-
$(elements).attr('style', '-webkit-filter: blur(' + blurSize + '); -moz-filter: blur(' + blurSize + '); -o-filter: blur(' + blurSize + '); -ms-filter: blur(' + blurSize + '); filter: blur(' + blurSize + ');');
63-
$(document).one('hide.bs.modal', '.modalConfirm', function () { $(elements).removeAttr('style'); });
74+
75+
if ($('#cmStyle').length === 0) {
76+
$('head').append('<style id=cmStyle>.cmBackgroundBlur{-webkit-filter:blur(' + blurSize + ');-moz-filter:blur(' + blurSize + ');-o-filter:blur(' + blurSize + ');-ms-filter:blur(' + blurSize + ');filter:blur(' + blurSize + ')}</style>');
77+
} else if ($('#cmStyle').html() != '.cmBackgroundBlur{-webkit-filter:blur(' + blurSize + ');-moz-filter:blur(' + blurSize + ');-o-filter:blur(' + blurSize + ');-ms-filter:blur(' + blurSize + ');filter:blur(' + blurSize + ')}') {
78+
$('#cmStyle').html('.cmBackgroundBlur{-webkit-filter:blur(' + blurSize + ');-moz-filter:blur(' + blurSize + ');-o-filter:blur(' + blurSize + ');-ms-filter:blur(' + blurSize + ');filter:blur(' + blurSize + ')}');
79+
}
80+
$(elements).addClass('cmBackgroundBlur');
81+
$(document).one('hide.bs.modal', '.modalConfirm', function () { $(elements).removeClass('cmBackgroundBlur'); });
6482
}
6583
if (settings.autoFocusOnConfirmBtn === true) {
6684
$(document).one('shown.bs.modal', '.modalConfirm', function () { $('.confirmButton').focus(); });
6785
}
6886
}
69-
87+
7088
var html = `
7189
<div style="z-index: 5000;" class="modal ` + fadeAnimation + ` modalConfirm" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
7290
<div style="max-width: ` + modalBoxWidth + `;" class="modal-dialog ` + modalVerticalCenter + `" role="document">

0 commit comments

Comments
 (0)