|
1 | 1 | /*! |
2 | | - * jQuery.confirmModal v1.0 |
3 | | - * Copyright (c) 2018 Trim C. |
| 2 | + * jQuery.confirmModal v1.1 |
| 3 | + * Copyright (c) 2018-2019 Trim C. |
4 | 4 | * Released under the MIT license |
5 | 5 | * Description : simple to use plugin replacing the browser's default confirm box with bootstrap 4 modal |
6 | 6 | */ |
|
25 | 25 | var confirmButton = $defaultsConfirmModal.confirmButton; |
26 | 26 | } |
27 | 27 | if ($defaultsConfirmModal.cancelButton === undefined) { |
28 | | - var cancelButton = 'Cancel'; |
| 28 | + var cancelButton = 'Cancel'; |
29 | 29 | } else { |
30 | 30 | var cancelButton = $defaultsConfirmModal.cancelButton; |
31 | 31 | } |
|
50 | 50 | var fadeAnimation = 'fade'; |
51 | 51 | } |
52 | 52 | 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'); }); |
55 | 60 | } 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 | + } |
58 | 70 | } else { |
| 71 | + var elements = settings.backgroundBlur[0]; |
59 | 72 | var blurSize = '0.1rem'; |
60 | 73 | } |
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'); }); |
64 | 82 | } |
65 | 83 | if (settings.autoFocusOnConfirmBtn === true) { |
66 | 84 | $(document).one('shown.bs.modal', '.modalConfirm', function () { $('.confirmButton').focus(); }); |
67 | 85 | } |
68 | 86 | } |
69 | | - |
| 87 | + |
70 | 88 | var html = ` |
71 | 89 | <div style="z-index: 5000;" class="modal ` + fadeAnimation + ` modalConfirm" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true"> |
72 | 90 | <div style="max-width: ` + modalBoxWidth + `;" class="modal-dialog ` + modalVerticalCenter + `" role="document"> |
|
0 commit comments