|
39 | 39 | * BootstrapDialogModal === Modified Modal. |
40 | 40 | * ================================================ */ |
41 | 41 | var Modal = $.fn.modal.Constructor; |
42 | | - var BootstrapDialogModal = function (element, options) { |
43 | | - Modal.call(this, element, options); |
| 42 | + var BootstrapDialogModal = function(element, options) { |
| 43 | + if (/4\.0\.\d+/.test($.fn.modal.Constructor.VERSION)) { |
| 44 | + return new Modal(element, options); |
| 45 | + } else { |
| 46 | + Modal.call(this, element, options); |
| 47 | + } |
44 | 48 | }; |
45 | 49 | BootstrapDialogModal.getModalVersion = function () { |
46 | 50 | var version = null; |
|
50 | 54 | version = 'v3.2'; |
51 | 55 | } else if (/3\.3\.[1,2]/.test($.fn.modal.Constructor.VERSION)) { |
52 | 56 | version = 'v3.3'; // v3.3.1, v3.3.2 |
| 57 | + } else if (/4\.0\.\d+/.test($.fn.modal.Constructor.VERSION)) { |
| 58 | + version = 'v4.0'; |
53 | 59 | } else { |
54 | 60 | version = 'v3.3.4'; |
55 | 61 | } |
|
139 | 145 | } |
140 | 146 | }; |
141 | 147 | BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3.4'] = $.extend({}, BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3']); |
| 148 | + BootstrapDialogModal.METHODS_TO_OVERRIDE['v4.0'] = $.extend({}, BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3']); |
142 | 149 | BootstrapDialogModal.prototype = { |
143 | 150 | constructor: BootstrapDialogModal, |
144 | 151 | /** |
|
338 | 345 | } |
339 | 346 | }); |
340 | 347 | var $modal = this.getModal(); |
341 | | - var $backdrop = $modal.data('bs.modal').$backdrop; |
| 348 | + var $backdrop = this.getModalBackdrop($modal); |
342 | 349 | $modal.css('z-index', zIndexModal + (dialogCount - 1) * 20); |
343 | 350 | $backdrop.css('z-index', zIndexBackdrop + (dialogCount - 1) * 20); |
344 | 351 | } |
|
360 | 367 | }; |
361 | 368 | BootstrapDialog.METHODS_TO_OVERRIDE['v3.3'] = {}; |
362 | 369 | BootstrapDialog.METHODS_TO_OVERRIDE['v3.3.4'] = $.extend({}, BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']); |
| 370 | + BootstrapDialog.METHODS_TO_OVERRIDE['v4.0'] = { |
| 371 | + getModalBackdrop: function ($modal) { |
| 372 | + return $($modal.data('bs.modal')._backdrop); |
| 373 | + }, |
| 374 | + handleModalBackdropEvent: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['handleModalBackdropEvent'], |
| 375 | + updateZIndex: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['updateZIndex'], |
| 376 | + open: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['open'], |
| 377 | + getModalForBootstrapDialogModal : function () { |
| 378 | + return this.getModal().get(0); |
| 379 | + } |
| 380 | + }; |
363 | 381 | BootstrapDialog.prototype = { |
364 | 382 | constructor: BootstrapDialog, |
365 | 383 | initOptions: function (options) { |
|
404 | 422 |
|
405 | 423 | return this; |
406 | 424 | }, |
| 425 | + getModalBackdrop: function ($modal) { |
| 426 | + return $modal.data('bs.modal').$backdrop; |
| 427 | + }, |
| 428 | + getModalForBootstrapDialogModal: function () { |
| 429 | + return this.getModal(); |
| 430 | + }, |
407 | 431 | createModalDialog: function () { |
408 | 432 | return $('<div class="modal-dialog"></div>'); |
409 | 433 | }, |
|
1129 | 1153 | this.getModalFooter().append(this.createFooterContent()); |
1130 | 1154 | this.getModalHeader().append(this.createHeaderContent()); |
1131 | 1155 | this.getModalBody().append(this.createBodyContent()); |
1132 | | - this.getModal().data('bs.modal', new BootstrapDialogModal(this.getModal(), { |
| 1156 | + this.getModal().data('bs.modal', new BootstrapDialogModal(this.getModalForBootstrapDialogModal(), { |
1133 | 1157 | backdrop: 'static', |
1134 | 1158 | keyboard: false, |
1135 | 1159 | show: false |
|
0 commit comments