UNPKG

datatables.net-responsive-bs5

Version:

Responsive for DataTables with styling for [Bootstrap5](https://getbootstrap.com/)

4 lines 1.68 kB
/*! Responsive Bootstrap 5 styling 4.0.1 for DataTables * Copyright (c) SpryMedia Ltd - datatables.net/license */ import DataTable from"datatables.net-bs5";import Responsive from"datatables.net-responsive";var modal,Dom=DataTable.Dom,_display=DataTable.Responsive.display,_original=_display.modal,_modal=Dom.c("div").classAdd("modal fade dtr-bs-modal").attr("role","dialog").append(Dom.c("div").classAdd("modal-dialog").attr("role","document").append(Dom.c("div").classAdd("modal-content").append(Dom.c("div").classAdd("modal-header").append(Dom.c("button").attr("type","button").attr("data-bs-dismiss","modal").attr("aria-label","Close").classAdd("btn-close"))).append(Dom.c("div").classAdd("modal-body")))).append(Dom.c("div").classAdd("content")),_bs=window.bootstrap;function getBs(){var a=DataTable.use("bootstrap");if(a)return a;if(_bs)return _bs;throw new Error("No Bootstrap library. Set it with `DataTable.use(bootstrap);`")}DataTable.Responsive.bootstrap=function(a){_bs=a},_display.modal=function(s){var a;return!modal&&_bs.Modal&&(a=getBs(),modal=new a.Modal(_modal.get(0))),function(a,d,o,t){if(modal){var e,l,n=o();if(!1===n)return!1;if(d){if(!_modal.isAttached()||a.index()!==_modal.data("dtr-row-idx"))return null;_modal.find("div.modal-body").empty().append(n)}else s&&s.header&&(l=(e=_modal.find("div.modal-header")).find("button").detach(),e.empty().append(Dom.c("h4").classAdd("modal-title").html(s.header(a))).append(l)),_modal.find("div.modal-body").empty().append(n),_modal.data("dtr-row-idx",a.index()).appendTo("body"),_modal.get(0).addEventListener("hidden.bs.modal",t,{once:!0}),modal.show();return!0}return _original(a,d,o,t)}};export default DataTable;