|
40 | 40 | * ================================================ */ |
41 | 41 | var Modal = $.fn.modal.Constructor; |
42 | 42 | var BootstrapDialogModal = function (element, options) { |
43 | | - Modal.call(this, element, options); |
| 43 | + if (/4\.\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\.\d+/.test($.fn.modal.Constructor.VERSION)) { |
| 58 | + version = 'v4.0'; |
53 | 59 | } else { |
54 | 60 | version = 'v3.3.4'; |
55 | 61 | } |
|
141 | 147 | } |
142 | 148 | }; |
143 | 149 | BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3.4'] = $.extend({}, BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3']); |
| 150 | + BootstrapDialogModal.METHODS_TO_OVERRIDE['v4.0'] = $.extend({}, BootstrapDialogModal.METHODS_TO_OVERRIDE['v3.3']); |
144 | 151 | BootstrapDialogModal.prototype = { |
145 | 152 | constructor: BootstrapDialogModal, |
146 | 153 | /** |
|
343 | 350 | } |
344 | 351 | }); |
345 | 352 | var $modal = this.getModal(); |
346 | | - var $backdrop = $modal.data('bs.modal').$backdrop; |
| 353 | + var $backdrop = this.getModalBackdrop($modal); |
347 | 354 | $modal.css('z-index', zIndexModal + (dialogCount - 1) * 20); |
348 | 355 | $backdrop.css('z-index', zIndexBackdrop + (dialogCount - 1) * 20); |
349 | 356 | } |
|
365 | 372 | }; |
366 | 373 | BootstrapDialog.METHODS_TO_OVERRIDE['v3.3'] = {}; |
367 | 374 | BootstrapDialog.METHODS_TO_OVERRIDE['v3.3.4'] = $.extend({}, BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']); |
| 375 | + BootstrapDialog.METHODS_TO_OVERRIDE['v4.0'] = { |
| 376 | + getModalBackdrop: function ($modal) { |
| 377 | + return $($modal.data('bs.modal')._backdrop); |
| 378 | + }, |
| 379 | + handleModalBackdropEvent: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['handleModalBackdropEvent'], |
| 380 | + updateZIndex: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['updateZIndex'], |
| 381 | + open: BootstrapDialog.METHODS_TO_OVERRIDE['v3.1']['open'], |
| 382 | + getModalForBootstrapDialogModal: function () { |
| 383 | + return this.getModal().get(0); |
| 384 | + } |
| 385 | + }; |
368 | 386 | BootstrapDialog.prototype = { |
369 | 387 | constructor: BootstrapDialog, |
370 | 388 | initOptions: function (options) { |
|
409 | 427 |
|
410 | 428 | return this; |
411 | 429 | }, |
| 430 | + getModalBackdrop: function ($modal) { |
| 431 | + return $modal.data('bs.modal').$backdrop; |
| 432 | + }, |
| 433 | + getModalForBootstrapDialogModal: function () { |
| 434 | + return this.getModal(); |
| 435 | + }, |
412 | 436 | createModalDialog: function () { |
413 | 437 | return $('<div class="modal-dialog"></div>'); |
414 | 438 | }, |
|
1157 | 1181 | this.getModalFooter().append(this.createFooterContent()); |
1158 | 1182 | this.getModalHeader().append(this.createHeaderContent()); |
1159 | 1183 | this.getModalBody().append(this.createBodyContent()); |
1160 | | - this.getModal().data('bs.modal', new BootstrapDialogModal(this.getModal(), { |
| 1184 | + this.getModal().data('bs.modal', new BootstrapDialogModal(this.getModalForBootstrapDialogModal(), { |
1161 | 1185 | backdrop: 'static', |
1162 | 1186 | keyboard: false, |
1163 | 1187 | show: false |
|
0 commit comments