/*! Editor Bootstrap 5 styling 3.0.0 for DataTables
 * Copyright (c) SpryMedia Ltd - https://datatables.net/license/plus
 */
import DataTable from"datatables.net-bs5";import Editor from"datatables.net-editor";DataTable.Editor.defaults.display="bootstrap";let Dom=DataTable.Dom,util=DataTable.util,shown=(util.object.assignDeep(DataTable.Editor.classes,{header:{wrapper:"DTE_Header",title:{tag:"h5",class:"modal-title"}},body:{wrapper:"DTE_Body"},footer:{wrapper:"DTE_Footer"},form:{tag:"form-horizontal",button:"btn",buttonInternal:"btn btn-outline-secondary",buttonSubmit:"btn btn-primary"},field:{wrapper:"DTE_Field form-group row",label:"col-lg-4 col-form-label",input:"col-lg-8 DTE_Field_Input",inputError:"is-invalid",error:"error is-invalid","msg-labelInfo":"form-text text-secondary small","msg-info":"form-text text-secondary small","msg-message":"form-text text-secondary small","msg-error":"form-text text-danger small",multiValue:"card multi-value",multiInfo:"small",multiRestore:"multi-restore"}}),util.object.assignDeep(DataTable.ext.buttons,{create:{formButtons:{className:"btn-primary"}},edit:{formButtons:{className:"btn-primary"}},remove:{formButtons:{className:"btn-danger"}}}),!(DataTable.Editor.fieldTypes.datatable.tableClass="table")),fullyShown=!1,domEls={content:Dom.c("div").classAdd("modal fade DTED").append(Dom.c("div").classAdd("modal-dialog")),close:Dom.c("button").classAdd("btn-close")},modal,_bs=window.bootstrap;function getBs(){var t=DataTable.use("bootstrap");if(t)return t;if(_bs)return _bs;throw new Error("No Bootstrap library. Set it with `DataTable.use(bootstrap);`")}DataTable.Editor.bootstrap=function(t){_bs=t},DataTable.Editor.display.bootstrap=util.object.assignDeep({},DataTable.Editor.models.displayController,{init:function(t){return t.on("displayOrder.dtebs open.dtebs",function(){util.object.each(t.s.fields,function(t,o){o=Dom.s(o.node());o.find("input:not([type=checkbox]):not([type=radio]), select, textarea").classAdd("form-control"),o.find("input[type=checkbox], input[type=radio]").classAdd("form-check-input"),o.find("select").classAdd("form-select")})}),DataTable.Editor.display.bootstrap},open:function(l,t,o){modal||(e=getBs(),modal=new e.Modal(domEls.content.get(0),{backdrop:"static",keyboard:!1}));var e=Dom.s(t);e.classAdd("modal-content"),e.find(".DTE_Header").classAdd("modal-header"),e.find(".DTE_Body").classAdd("modal-body"),e.find(".DTE_Footer").classAdd("modal-footer"),e.find("div.DTE_Field_Type_datatable div.dt-buttons").classRemove("btn-group").classAdd("btn-group-vertical"),domEls.close.attr("title",l.i18n("close")).off("click.dte-bs5").on("click.dte-bs5",function(){l.close("icon")}).appendTo(e.find("div.modal-header"));let a=!1;Dom.s(document).off("mousedown.dte-bs5").on("mousedown.dte-bs5","div.modal",function(t){a=!(!Dom.s(t.target).classHas("modal")||!shown)}),Dom.s(document).off("click.dte-bs5").on("click.dte-bs5","div.modal",function(t){Dom.s(t.target).classHas("modal")&&a&&l.background()});var d,t=domEls.content.find("div.modal-dialog");t.classAdd(DataTable.Editor.display.bootstrap.classes.modal),t.children().detach(),t.append(e),l.c.bootstrap&&l.c.bootstrap.floatingLabels&&(d=["readonly","text","textarea","select","datetime"],l.order().filter(function(t){t=l.field(t).s.opts.type;return d.includes(t)}).forEach(function(t){var o=Dom.s(l.field(t).node()),e=o.find(".DTE_Field_InputControl"),a=("datetime"===l.field(t).s.opts.type&&e.find("input").prependTo(e),e.children(":first-child")),o=o.find("label");e.parent().classRemove("col-lg-8").classAdd("col-lg-12"),e.classAdd("form-floating"),a.classAdd("form-control").attr("placeholder",t),o.appendTo(e)})),shown?o&&o():(shown=!0,fullyShown=!1,domEls.content.get(0).addEventListener("shown.bs.modal",function(){l.s.setFocus&&l.s.setFocus.focus(),fullyShown=!0;var t=domEls.content.find("table.dataTable");t.count()&&new DataTable.Api(t).columns.adjust(),o&&o()},{once:!0}),domEls.content.get(0).addEventListener("hidden",function(){shown=!1},{once:!0}),domEls.content.appendTo("body"),modal.show())},close:function(t,o){shown?fullyShown?(domEls.content.get(0).addEventListener("hidden.bs.modal",function(){Dom.s(this).detach()},{once:!0}),modal.hide(),shown=!1,fullyShown=!1,o&&o()):domEls.content.get(0).addEventListener("shown.bs.modal",function(){DataTable.Editor.display.bootstrap.close(t,o)},{once:!0}):o&&o()},node:function(){return domEls.content.get(0)},classes:{modal:"modal-dialog-scrollable modal-dialog-centered modal-lg"}});export default DataTable.Editor;