Skip to content

Commit 1bb0dfa

Browse files
author
dtbuild
committed
5e187b29fcfc1e4b3271780ee8e7d6ef927a3115 Fix: Bootstrap 5 when used with ES imports wasn't displaying the modal
21e117df88ad9bae25d171c489d0deed607a3630 Typescript: Add `DataTable.Responsive.bootstrap()` function to register bootstrap Typescript: Correct modal type for display rendering 3437e04e17a24a243c2a3d9358f2c75027406d0b Release 3.0.1 Sync to source repo @3437e04e17a24a243c2a3d9358f2c75027406d0b
1 parent c6dfd6f commit 1bb0dfa

5 files changed

Lines changed: 9 additions & 11 deletions

File tree

datatables.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
],
1515
"src-repo": "http://github.com/DataTables/Responsive",
1616
"last-tag": "3.0.0",
17-
"last-sync": "b573bda4df13a0f02100410c3cfbd24b5a26355a"
17+
"last-sync": "3437e04e17a24a243c2a3d9358f2c75027406d0b"
1818
}

js/responsive.bootstrap5.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,12 @@ DataTable.Responsive.bootstrap = function (bs) {
7979
};
8080

8181
_display.modal = function (options) {
82-
if (!modal) {
82+
if (!modal && _bs.Modal) {
8383
modal = new _bs.Modal(_modal[0]);
8484
}
8585

8686
return function (row, update, render, closeCallback) {
87-
if (!$.fn.modal) {
87+
if (! modal) {
8888
return _original(row, update, render, closeCallback);
8989
}
9090
else {
@@ -110,8 +110,7 @@ _display.modal = function (options) {
110110
_modal
111111
.data('dtr-row-idx', row.index())
112112
.one('hidden.bs.modal', closeCallback)
113-
.appendTo('body')
114-
.modal();
113+
.appendTo('body');
115114

116115
modal.show();
117116
}

js/responsive.bootstrap5.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/responsive.bootstrap5.min.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
/*! Bootstrap 5 integration for DataTables' Responsive
22
* © SpryMedia Ltd - datatables.net/license
33
*/
4-
import jQuery from"jquery";import DataTable from"datatables.net-bs5";import Responsive from"datatables.net-responsive";let $=jQuery;var modal,_display=DataTable.Responsive.display,_original=_display.modal,_modal=$('<div class="modal fade dtr-bs-modal" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button></div><div class="modal-body"/></div></div></div>'),_bs=window.bootstrap;DataTable.Responsive.bootstrap=function(a){_bs=a},_display.modal=function(n){return modal=modal||new _bs.Modal(_modal[0]),function(a,d,o,e){if($.fn.modal){var l,t,i=o();if(!1===i)return!1;if(d){if(!$.contains(document,_modal[0])||a.index()!==_modal.data("dtr-row-idx"))return null;_modal.find("div.modal-body").empty().append(i)}else n&&n.header&&(t=(l=_modal.find("div.modal-header")).find("button").detach(),l.empty().append('<h4 class="modal-title">'+n.header(a)+"</h4>").append(t)),_modal.find("div.modal-body").empty().append(i),_modal.data("dtr-row-idx",a.index()).one("hidden.bs.modal",e).appendTo("body").modal(),modal.show();return!0}return _original(a,d,o,e)}};export default DataTable;
4+
import jQuery from"jquery";import DataTable from"datatables.net-bs5";import Responsive from"datatables.net-responsive";let $=jQuery;var modal,_display=DataTable.Responsive.display,_original=_display.modal,_modal=$('<div class="modal fade dtr-bs-modal" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button></div><div class="modal-body"/></div></div></div>'),_bs=window.bootstrap;DataTable.Responsive.bootstrap=function(a){_bs=a},_display.modal=function(n){return!modal&&_bs.Modal&&(modal=new _bs.Modal(_modal[0])),function(a,d,o,e){if(modal){var l,t,i=o();if(!1===i)return!1;if(d){if(!$.contains(document,_modal[0])||a.index()!==_modal.data("dtr-row-idx"))return null;_modal.find("div.modal-body").empty().append(i)}else n&&n.header&&(t=(l=_modal.find("div.modal-header")).find("button").detach(),l.empty().append('<h4 class="modal-title">'+n.header(a)+"</h4>").append(t)),_modal.find("div.modal-body").empty().append(i),_modal.data("dtr-row-idx",a.index()).one("hidden.bs.modal",e).appendTo("body"),modal.show();return!0}return _original(a,d,o,e)}};export default DataTable;

js/responsive.bootstrap5.mjs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ DataTable.Responsive.bootstrap = function (bs) {
3636
};
3737

3838
_display.modal = function (options) {
39-
if (!modal) {
39+
if (!modal && _bs.Modal) {
4040
modal = new _bs.Modal(_modal[0]);
4141
}
4242

4343
return function (row, update, render, closeCallback) {
44-
if (!$.fn.modal) {
44+
if (! modal) {
4545
return _original(row, update, render, closeCallback);
4646
}
4747
else {
@@ -67,8 +67,7 @@ _display.modal = function (options) {
6767
_modal
6868
.data('dtr-row-idx', row.index())
6969
.one('hidden.bs.modal', closeCallback)
70-
.appendTo('body')
71-
.modal();
70+
.appendTo('body');
7271

7372
modal.show();
7473
}

0 commit comments

Comments
 (0)