datatables.net-searchbuilder
Version:
SearchBuilder for DataTables
4 lines • 67.4 kB
JavaScript
/*! SearchBuilder 1.8.2
* ©SpryMedia Ltd - datatables.net/license/mit
*/
!function(e){var n,s;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(t){return e(t,window,document)}):"object"==typeof exports?(n=require("jquery"),s=function(t,i){i.fn.dataTable||require("datatables.net")(t,i)},"undefined"==typeof window?module.exports=function(t,i){return t=t||window,i=i||n(t),s(t,i),e(i,t,t.document)}:(s(window,n),module.exports=e(n,window,window.document))):e(jQuery,window,document)}(function(s,u,t){"use strict";var B,c,a,d,l,h,p,e,i,D=s.fn.dataTable;function m(){var t=D.use("moment");return t||u.moment}function f(){var t=D.use("luxon");return t||u.luxon}function T(t,i,e,n,s,o,r){void 0===n&&(n=0),void 0===s&&(s=1),void 0===o&&(o=void 0),void 0===r&&(r=!1);var a=this,i=(this.classes=B.extend(!0,{},T.classes),this.c=B.extend(!0,{},T.defaults,B.fn.dataTable.ext.searchBuilder,i),this.c.i18n);if(this.s={condition:void 0,conditions:{},data:void 0,dataIdx:-1,dataPoints:[],dateFormat:!1,depth:s,dt:t,filled:!1,index:n,liveSearch:r,origData:void 0,preventRedraw:!1,serverData:o,topGroup:e,type:"",value:[]},this.dom={buttons:B("<div/>").addClass(this.classes.buttonContainer),condition:B("<select disabled/>").addClass(this.classes.condition).addClass(this.classes.dropDown).addClass(this.classes.italic).attr("autocomplete","hacking"),conditionTitle:B('<option value="" disabled selected hidden/>').html(this.s.dt.i18n("searchBuilder.condition",i.condition)),container:B("<div/>").addClass(this.classes.container),data:B("<select/>").addClass(this.classes.data).addClass(this.classes.dropDown).addClass(this.classes.italic),dataTitle:B('<option value="" disabled selected hidden/>').html(this.s.dt.i18n("searchBuilder.data",i.data)),defaultValue:B("<select disabled/>").addClass(this.classes.value).addClass(this.classes.dropDown).addClass(this.classes.select).addClass(this.classes.italic),delete:B("<button/>").html(this.s.dt.i18n("searchBuilder.delete",i.delete)).addClass(this.classes.delete).addClass(this.classes.button).attr("title",this.s.dt.i18n("searchBuilder.deleteTitle",i.deleteTitle)).attr("type","button"),inputCont:B("<div/>").addClass(this.classes.inputCont),left:B("<button/>").html(this.s.dt.i18n("searchBuilder.left",i.left)).addClass(this.classes.left).addClass(this.classes.button).attr("title",this.s.dt.i18n("searchBuilder.leftTitle",i.leftTitle)).attr("type","button"),right:B("<button/>").html(this.s.dt.i18n("searchBuilder.right",i.right)).addClass(this.classes.right).addClass(this.classes.button).attr("title",this.s.dt.i18n("searchBuilder.rightTitle",i.rightTitle)).attr("type","button"),value:[B("<select disabled/>").addClass(this.classes.value).addClass(this.classes.dropDown).addClass(this.classes.italic).addClass(this.classes.select)],valueTitle:B('<option value="--valueTitle--" disabled selected hidden/>').html(this.s.dt.i18n("searchBuilder.value",i.value))},this.c.greyscale){this.dom.data.addClass(this.classes.greyscale),this.dom.condition.addClass(this.classes.greyscale),this.dom.defaultValue.addClass(this.classes.greyscale);for(var d=0,l=this.dom.value;d<l.length;d++)l[d].addClass(this.classes.greyscale)}return B(u).on("resize.dtsb",c.util.throttle(function(){a.s.topGroup.trigger("dtsb-redrawLogic")})),this._buildCriteria(),this}function g(t,i,e,n,s,o,r){return void 0===n&&(n=0),void 0===s&&(s=!1),void 0===o&&(o=1),void 0===r&&(r=void 0),this.classes=a.extend(!0,{},g.classes),this.c=a.extend(!0,{},g.defaults,i),this.s={criteria:[],depth:o,dt:t,index:n,isChild:s,logic:void 0,opts:i,preventRedraw:!1,serverData:r,toDrop:void 0,topGroup:e},this.dom={add:a("<button/>").addClass(this.classes.add).addClass(this.classes.button).attr("type","button"),clear:a("<button>×</button>").addClass(this.classes.button).addClass(this.classes.clearGroup).attr("type","button"),container:a("<div/>").addClass(this.classes.group),logic:a("<button><div/></button>").addClass(this.classes.logic).addClass(this.classes.button).attr("type","button"),logicContainer:a("<div/>").addClass(this.classes.logicContainer),search:a("<button/>").addClass(this.classes.search).addClass(this.classes.button).attr("type","button").css("display","none")},void 0===this.s.topGroup&&(this.s.topGroup=this.dom.container),this._setup(),this}function n(t,i){var s=this;if(!h||!h.versionCheck||!h.versionCheck("2"))throw new Error("SearchBuilder requires DataTables 2 or newer");t=new h.Api(t);if(this.classes=l.extend(!0,{},n.classes),this.c=l.extend(!0,{},n.defaults,i),this.dom={clearAll:l('<button type="button">'+t.i18n("searchBuilder.clearAll",this.c.i18n.clearAll)+"</button>").addClass(this.classes.clearAll).addClass(this.classes.button).attr("type","button"),container:l("<div/>").addClass(this.classes.container),title:l("<div/>").addClass(this.classes.title),titleRow:l("<div/>").addClass(this.classes.titleRow),topGroup:void 0},this.s={dt:t,opts:i,search:void 0,serverData:void 0,topGroup:void 0},void 0===t.settings()[0]._searchBuilder)return(t.settings()[0]._searchBuilder=this).s.dt.page.info().serverSide&&(this.s.dt.on("preXhr.dtsb",function(t,i,e){var n=s.s.dt.state.loaded();n&&n.searchBuilder&&(e.searchBuilder=s._collapseArray(n.searchBuilder))}),this.s.dt.on("xhr.dtsb",function(t,i,e){e&&e.searchBuilder&&e.searchBuilder.options&&(s.s.serverData=e.searchBuilder.options)})),this.s.dt.settings()[0]._bInitComplete?this._setUp():t.one("init.dt",function(){s._setUp()}),this}function o(t,i){t=new D.Api(t),i=i||t.init().searchBuilder||D.defaults.searchBuilder;return new e(t,i).getNode()}return T._escapeHTML=function(t){return t.toString().replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/&/g,"&")},T.prototype.doSearch=function(){this.c.liveSearch&&this.s.dt.draw()},T.parseNumFmt=function(t){return+t.replace(/(?!^-)[^0-9.]/g,"")},T.prototype.updateArrows=function(t){void 0===t&&(t=!1),this.dom.container.children().detach(),this.dom.container.append(this.dom.data).append(this.dom.condition).append(this.dom.inputCont),this.setListeners(),void 0!==this.dom.value[0]&&B(this.dom.value[0]).trigger("dtsb-inserted");for(var i=1;i<this.dom.value.length;i++)this.dom.inputCont.append(this.dom.value[i]),B(this.dom.value[i]).trigger("dtsb-inserted");1<this.s.depth&&this.dom.buttons.append(this.dom.left),(!1===this.c.depthLimit||this.s.depth<this.c.depthLimit)&&t?this.dom.buttons.append(this.dom.right):this.dom.right.remove(),this.dom.buttons.append(this.dom.delete),this.dom.container.append(this.dom.buttons)},T.prototype.destroy=function(){this.dom.data.off(".dtsb"),this.dom.condition.off(".dtsb"),this.dom.delete.off(".dtsb");for(var t=0,i=this.dom.value;t<i.length;t++)i[t].off(".dtsb");this.dom.container.remove()},T.prototype.search=function(t,i){var e=this.s.dt.settings()[0],n=this.s.conditions[this.s.condition];if(void 0!==this.s.condition&&void 0!==n){var s=t[this.s.dataIdx];if(this.s.type&&this.s.type.includes("num")&&(""!==e.oLanguage.sDecimal||""!==e.oLanguage.sThousands)){var o=[t[this.s.dataIdx]];if(""!==e.oLanguage.sDecimal&&(o=t[this.s.dataIdx].split(e.oLanguage.sDecimal)),""!==e.oLanguage.sThousands)for(var r=0;r<o.length;r++)o[r]=o[r].replace(e.oLanguage.sThousands,",");s=o.join(".")}if("filter"!==this.c.orthogonal.search&&(s=e.fastData(i,this.s.dataIdx,"string"==typeof this.c.orthogonal?this.c.orthogonal:this.c.orthogonal.search)),"array"===this.s.type){(s=Array.isArray(s)?s:[s]).sort();for(var a=0,d=s;a<d.length;a++){var l=d[a];l&&"string"==typeof l&&(l=l.replace(/[\r\n\u2028]/g," "))}}else null!==s&&"string"==typeof s&&(s=s.replace(/[\r\n\u2028]/g," "));return this.s.type.includes("html")&&"string"==typeof s&&(s=s.replace(/(<([^>]+)>)/gi,"")),n.search(s=null===s?"":s,this.s.value,this)}},T.prototype.getDetails=function(t){void 0===t&&(t=!1);var i,e=this.s.dt.settings()[0];if(null===this.s.type||!["num","num-fmt","html-num","html-num-fmt"].includes(this.s.type)||""===e.oLanguage.sDecimal&&""===e.oLanguage.sThousands){if(null!==this.s.type&&t){var n=m(),s=f();if(this.s.type.includes("date")||this.s.type.includes("time"),this.s.type.includes("moment")||this.s.type.includes("datetime")&&m)for(i=0;i<this.s.value.length;i++)this.s.value[i]&&0<this.s.value[i].length&&n(this.s.value[i],this.s.dateFormat,!0).isValid()&&(this.s.value[i]=n(this.s.value[i],this.s.dateFormat).format("YYYY-MM-DD HH:mm:ss"));else if(this.s.type.includes("luxon")||this.s.type.includes("datetime")&&f)for(i=0;i<this.s.value.length;i++)this.s.value[i]&&0<this.s.value[i].length&&null===s.DateTime.fromFormat(this.s.value[i],this.s.dateFormat).invalid&&(this.s.value[i]=s.DateTime.fromFormat(this.s.value[i],this.s.dateFormat).toFormat("yyyy-MM-dd HH:mm:ss"))}}else for(i=0;i<this.s.value.length;i++){var o=[this.s.value[i].toString()];if(""!==e.oLanguage.sDecimal&&(o=this.s.value[i].split(e.oLanguage.sDecimal)),""!==e.oLanguage.sThousands)for(var r=0;r<o.length;r++)o[r]=o[r].replace(e.oLanguage.sThousands,",");this.s.value[i]=o.join(".")}if(this.s.type&&this.s.type.includes("num")&&this.s.dt.page.info().serverSide)for(i=0;i<this.s.value.length;i++)this.s.value[i]=this.s.value[i].replace(/[^0-9.\-]/g,"");return{condition:this.s.condition,data:this.s.data,origData:this.s.origData,type:this.s.type,value:this.s.value.map(function(t){return null!=t?t.toString():t})}},T.prototype.getNode=function(){return this.dom.container},T.prototype.parseNumber=function(t){var i=this.s.dt.i18n("decimal");return+(t=i&&"."!==i?t.replace(/\./g,"").replace(i,"."):t).replace(/(?!^-)[^0-9.]/g,"")},T.prototype.populate=function(){this._populateData(),-1!==this.s.dataIdx&&(this._populateCondition(),void 0!==this.s.condition)&&this._populateValue()},T.prototype.rebuild=function(t){var i,e,n,s=!1;if(this._populateData(),void 0!==t.data&&(e=this.classes.italic,n=this.dom.data,this.dom.data.children("option").each(function(){!s&&(B(this).text()===t.data||t.origData&&B(this).prop("origData")===t.origData)?(B(this).prop("selected",!0),n.removeClass(e),s=!0,i=parseInt(B(this).val(),10)):B(this).removeProp("selected")})),s){this.s.data=t.data,this.s.origData=t.origData,this.s.dataIdx=i,this.c.orthogonal=this._getOptions().orthogonal,this.dom.dataTitle.remove(),this._populateCondition(),this.dom.conditionTitle.remove();for(var o=void 0,r=this.dom.condition.children("option"),a=0;a<r.length;a++){var d=B(r[a]);void 0!==t.condition&&d.val()===t.condition&&"string"==typeof t.condition?(d.prop("selected",!0),o=d.val()):d.removeProp("selected")}if(this.s.condition=o,void 0!==this.s.condition){for(this.dom.conditionTitle.removeProp("selected"),this.dom.conditionTitle.remove(),this.dom.condition.removeClass(this.classes.italic),a=0;a<r.length;a++){var l=B(r[a]);l.val()!==this.s.condition&&l.removeProp("selected")}this._populateValue(t)}else this.dom.conditionTitle.prependTo(this.dom.condition).prop("selected",!0)}},T.prototype.setListeners=function(){var l=this;this.dom.data.unbind("change").on("change.dtsb",function(){l.dom.dataTitle.removeProp("selected");for(var t=l.dom.data.children("option."+l.classes.option),i=0;i<t.length;i++){var e=B(t[i]);e.val()===l.dom.data.val()?(l.dom.data.removeClass(l.classes.italic),e.prop("selected",!0),l.s.dataIdx=+e.val(),l.s.data=e.text(),l.s.origData=e.prop("origData"),l.c.orthogonal=l._getOptions().orthogonal,l._clearCondition(),l._clearValue(),l._populateCondition(),l.s.filled&&(l.s.filled=!1,l.doSearch(),l.setListeners()),l.s.dt.state.save()):e.removeProp("selected")}}),this.dom.condition.unbind("change").on("change.dtsb",function(){l.dom.conditionTitle.removeProp("selected");for(var t=l.dom.condition.children("option."+l.classes.option),i=0;i<t.length;i++){var e=B(t[i]);if(e.val()===l.dom.condition.val()){l.dom.condition.removeClass(l.classes.italic),e.prop("selected",!0);for(var n=e.val(),s=0,o=Object.keys(l.s.conditions);s<o.length;s++)if(o[s]===n){l.s.condition=n;break}l._clearValue(),l._populateValue();for(var r=0,a=l.dom.value;r<a.length;r++){var d=a[r];l.s.filled&&void 0!==d&&0!==l.dom.inputCont.has(d[0]).length&&(l.s.filled=!1,l.doSearch(),l.setListeners())}(0===l.dom.value.length||1===l.dom.value.length&&void 0===l.dom.value[0])&&l.doSearch()}else e.removeProp("selected")}})},T.prototype.setupButtons=function(){550<u.innerWidth?(this.dom.container.removeClass(this.classes.vertical),this.dom.buttons.css("left",null),this.dom.buttons.css("top",null)):(this.dom.container.addClass(this.classes.vertical),this.dom.buttons.css("left",this.dom.data.innerWidth()),this.dom.buttons.css("top",this.dom.data.position().top))},T.prototype._buildCriteria=function(){this.dom.data.append(this.dom.dataTitle),this.dom.condition.append(this.dom.conditionTitle),this.dom.container.append(this.dom.data).append(this.dom.condition),this.dom.inputCont.empty();for(var t=0,i=this.dom.value;t<i.length;t++){var e=i[t];e.append(this.dom.valueTitle),this.dom.inputCont.append(e)}this.dom.buttons.append(this.dom.delete).append(this.dom.right),this.dom.container.append(this.dom.inputCont).append(this.dom.buttons),this.setListeners()},T.prototype._clearCondition=function(){this.dom.condition.empty(),this.dom.conditionTitle.prop("selected",!0).attr("disabled","true"),this.dom.condition.prepend(this.dom.conditionTitle).prop("selectedIndex",0),this.s.conditions={},this.s.condition=void 0},T.prototype._clearValue=function(){var t;if(void 0!==this.s.condition){if(0<this.dom.value.length&&void 0!==this.dom.value[0])for(var i=0,e=this.dom.value;i<e.length;i++)void 0!==(t=e[i])&&setTimeout(function(){t.remove()},50);if(this.dom.value=[].concat(this.s.conditions[this.s.condition].init(this,T.updateListener)),0<this.dom.value.length&&void 0!==this.dom.value[0]){this.dom.inputCont.empty().append(this.dom.value[0]).insertAfter(this.dom.condition),B(this.dom.value[0]).trigger("dtsb-inserted");for(var n=1;n<this.dom.value.length;n++)this.dom.inputCont.append(this.dom.value[n]),B(this.dom.value[n]).trigger("dtsb-inserted")}}else{for(var s=0,o=this.dom.value;s<o.length;s++)void 0!==(t=o[s])&&setTimeout(function(){t.remove()},50);this.dom.valueTitle.prop("selected",!0),this.dom.defaultValue.append(this.dom.valueTitle).insertAfter(this.dom.condition)}this.s.value=[],this.dom.value=[B("<select disabled/>").addClass(this.classes.value).addClass(this.classes.dropDown).addClass(this.classes.italic).addClass(this.classes.select).append(this.dom.valueTitle.clone())]},T.prototype._getOptions=function(){var t=this.s.dt;return B.extend(!0,{},T.defaults,t.settings()[0].aoColumns[this.s.dataIdx].searchBuilder)},T.prototype._populateCondition=function(){var t=[],i=Object.keys(this.s.conditions).length,e=this.s.dt,n=e.settings()[0].aoColumns,s=+this.dom.data.children("option:selected").val();if(0===i){this.s.type=e.column(s).type(),void 0!==n&&(void 0!==(r=n[s]).searchBuilderType&&null!==r.searchBuilderType?this.s.type=r.searchBuilderType:void 0!==this.s.type&&null!==this.s.type||(this.s.type=r.sType)),null!==this.s.type&&void 0!==this.s.type||(B.fn.dataTable.ext.oApi&&B.fn.dataTable.ext.oApi._fnColumnTypes(e.settings()[0]),this.s.type=e.column(s).type()),this.dom.condition.removeAttr("disabled").empty().append(this.dom.conditionTitle).addClass(this.classes.italic),this.dom.conditionTitle.prop("selected",!0);var o,r=e.settings()[0].oLanguage.sDecimal,a=(""!==r&&this.s.type&&this.s.type.indexOf(r)===this.s.type.length-r.length&&(this.s.type.includes("num-fmt")||this.s.type.includes("num"))&&(this.s.type=this.s.type.replace(r,"")),void 0);void 0!==this.c.conditions[this.s.type]?a=this.c.conditions[this.s.type]:this.s.type&&"datetime"===this.s.type?(r=D.use("moment"),o=D.use("luxon"),r&&(a=this.c.conditions.moment,this.s.dateFormat=r().creationData().locale._longDateFormat.L),o&&(a=this.c.conditions.luxon,this.s.dateFormat=o.DateTime.DATE_SHORT)):this.s.type&&this.s.type.includes("datetime-")?(a=D.use("moment")?this.c.conditions.moment:this.c.conditions.luxon,this.s.dateFormat=this.s.type.replace(/datetime-/g,"")):this.s.type&&this.s.type.includes("moment")?(a=this.c.conditions.moment,this.s.dateFormat=this.s.type.replace(/moment-/g,"")):this.s.type&&this.s.type.includes("luxon")?(a=this.c.conditions.luxon,this.s.dateFormat=this.s.type.replace(/luxon-/g,"")):a=this.c.conditions.string;for(var d,l,u=0,c=Object.keys(a);u<c.length;u++)null!==a[l=c[u]]&&(e.page.info().serverSide&&a[l].init===T.initSelect&&(d=n[s],this.s.serverData&&this.s.serverData[d.data]?(a[l].init=T.initSelectSSP,a[l].inputValue=T.inputValueSelect,a[l].isInputValid=T.isInputValidSelect):(a[l].init=T.initInput,a[l].inputValue=T.inputValueInput,a[l].isInputValid=T.isInputValidInput)),this.s.conditions[l]=a[l],"function"==typeof(I=a[l].conditionName)&&(I=I(e,this.c.i18n)),t.push(B("<option>",{text:I,value:l}).addClass(this.classes.option).addClass(this.classes.notItalic)))}else{if(!(0<i))return void this.dom.condition.attr("disabled","true").addClass(this.classes.italic);this.dom.condition.empty().removeAttr("disabled").addClass(this.classes.italic);for(var h=0,p=Object.keys(this.s.conditions);h<p.length;h++){l=p[h];var m=this.s.conditions[l].conditionName,f=("function"==typeof m&&(m=m(e,this.c.i18n)),B("<option>",{text:m,value:l}).addClass(this.classes.option).addClass(this.classes.notItalic));void 0!==this.s.condition&&this.s.condition===m&&(f.prop("selected",!0),this.dom.condition.removeClass(this.classes.italic)),t.push(f)}}for(var g=0,v=t;g<v.length;g++)this.dom.condition.append(v[g]);if(n[s].searchBuilder&&n[s].searchBuilder.defaultCondition){var b=n[s].searchBuilder.defaultCondition;if("number"==typeof b)this.dom.condition.prop("selectedIndex",b),this.dom.condition.trigger("change");else if("string"==typeof b)for(var y=0;y<t.length;y++)for(var C=0,V=Object.keys(this.s.conditions);C<V.length;C++){var I,w=V[C];if(("string"==typeof(I=this.s.conditions[w].conditionName)?I:I(e,this.c.i18n))===t[y].text()&&w===b){this.dom.condition.prop("selectedIndex",this.dom.condition.children().toArray().indexOf(t[y][0])).removeClass(this.classes.italic),this.dom.condition.trigger("change"),y=t.length;break}}}else this.dom.condition.prop("selectedIndex",0)},T.prototype._populateData=function(){var t=this.s.dt.settings()[0].aoColumns,i=this.s.dt.columns(this.c.columns).indexes().toArray();this.dom.data.empty().append(this.dom.dataTitle);for(var e,n,s=0;s<t.length;s++)!0!==this.c.columns&&!i.includes(s)||(n={index:s,origData:(e=t[s]).data,text:(e.searchBuilderTitle||e.sTitle).replace(/(<([^>]+)>)/gi,"")},this.dom.data.append(B("<option>",{text:n.text,value:n.index}).addClass(this.classes.option).addClass(this.classes.notItalic).prop("origData",e.data).prop("selected",this.s.dataIdx===n.index)),this.s.dataIdx!==n.index)||this.dom.dataTitle.removeProp("selected")},T.prototype._populateValue=function(i){for(var t,e=this,n=this.s.filled,s=(this.s.filled=!1,setTimeout(function(){e.dom.defaultValue.remove()},50),0),o=this.dom.value;s<o.length;s++)!function(t){setTimeout(function(){void 0!==t&&t.remove()},50)}(o[s]);var r=this.dom.inputCont.children();if(1<r.length)for(t=0;t<r.length;t++)B(r[t]).remove();for(void 0!==i&&this.s.dt.columns().every(function(t){e.s.dt.settings()[0].aoColumns[t].sTitle===i.data&&(e.s.dataIdx=t)}),this.dom.value=[].concat(this.s.conditions[this.s.condition].init(this,T.updateListener,void 0!==i?i.value:void 0)),void 0!==i&&void 0!==i.value&&(this.s.value=i.value),this.dom.inputCont.empty(),void 0!==this.dom.value[0]&&B(this.dom.value[0]).appendTo(this.dom.inputCont).trigger("dtsb-inserted"),t=1;t<this.dom.value.length;t++)B(this.dom.value[t]).insertAfter(this.dom.value[t-1]).trigger("dtsb-inserted");this.s.filled=this.s.conditions[this.s.condition].isInputValid(this.dom.value,this),this.setListeners(),this.s.preventRedraw||n===this.s.filled||(this.s.dt.page.info().serverSide||this.doSearch(),this.setListeners())},T.prototype._throttle=function(n,s){var o=null,r=null,a=this;return null===(s=void 0===s?200:s)&&(s=200),function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var e=+new Date;null!==o&&e<o+s?clearTimeout(r):o=e,r=setTimeout(function(){o=null,n.apply(a,t)},s)}},T.version="1.1.0",T.classes={button:"dtsb-button",buttonContainer:"dtsb-buttonContainer",condition:"dtsb-condition",container:"dtsb-criteria",data:"dtsb-data",delete:"dtsb-delete",dropDown:"dtsb-dropDown",greyscale:"dtsb-greyscale",input:"dtsb-input",inputCont:"dtsb-inputCont",italic:"dtsb-italic",joiner:"dtsb-joiner",left:"dtsb-left",notItalic:"dtsb-notItalic",option:"dtsb-option",right:"dtsb-right",select:"dtsb-select",value:"dtsb-value",vertical:"dtsb-vertical"},T.initSelect=function(e,t,n,i){void 0===n&&(n=null),void 0===i&&(i=!1);for(var s=e.dom.data.children("option:selected").val(),o=e.s.dt.rows().indexes().toArray(),r=e.s.dt.settings()[0].fastData,a=(e.dom.valueTitle.prop("selected",!0),B("<select/>").addClass(T.classes.value).addClass(T.classes.dropDown).addClass(T.classes.italic).addClass(T.classes.select).append(e.dom.valueTitle).on("change.dtsb",function(){B(this).removeClass(T.classes.italic),t(e,this)})),d=(e.c.greyscale&&a.addClass(T.classes.greyscale),[]),l=[],u=0,c=o;u<c.length;u++){var h=c[u],p=r(h,s,"string"==typeof e.c.orthogonal?e.c.orthogonal:e.c.orthogonal.search),m={filter:"string"==typeof p?p.replace(/[\r\n\u2028]/g," "):p,index:h,text:r(h,s,"string"==typeof e.c.orthogonal?e.c.orthogonal:e.c.orthogonal.display)},f=("array"===e.s.type&&(m.filter=Array.isArray(m.filter)?m.filter:[m.filter],m.text=Array.isArray(m.text)?m.text:[m.text]),function(t,i){e.s.type.includes("html")&&null!==t&&"string"==typeof t&&t.replace(/(<([^>]+)>)/gi,"");t=B("<option>",{type:Array.isArray(t)?"Array":"String",value:t}).data("sbv",t).addClass(e.classes.option).addClass(e.classes.notItalic).html("string"==typeof i?i.replace(/(<([^>]+)>)/gi,""):i),i=t.val();-1===d.indexOf(i)&&(d.push(i),l.push(t),null!==n&&Array.isArray(n[0])&&(n[0]=n[0].sort().join(",")),null!==n)&&t.val()===n[0]&&(t.prop("selected",!0),a.removeClass(T.classes.italic),e.dom.valueTitle.removeProp("selected"))});if(i)for(var g=0;g<m.filter.length;g++)f(m.filter[g],m.text[g]);else f(m.filter,Array.isArray(m.text)?m.text.join(", "):m.text)}l.sort(function(t,i){return"array"===e.s.type||"string"===e.s.type||"html"===e.s.type?t.val()<i.val()?-1:t.val()>i.val()?1:0:"num"===e.s.type||"html-num"===e.s.type?+t.val().replace(/(<([^>]+)>)/gi,"")<+i.val().replace(/(<([^>]+)>)/gi,"")?-1:+t.val().replace(/(<([^>]+)>)/gi,"")>+i.val().replace(/(<([^>]+)>)/gi,"")?1:0:"num-fmt"===e.s.type||"html-num-fmt"===e.s.type?+t.val().replace(/[^0-9.]/g,"")<+i.val().replace(/[^0-9.]/g,"")?-1:+t.val().replace(/[^0-9.]/g,"")>+i.val().replace(/[^0-9.]/g,"")?1:0:void 0});for(var v=0,b=l;v<b.length;v++)a.append(b[v]);return a},T.initSelectSSP=function(t,i,e){void 0===e&&(e=null),t.dom.valueTitle.prop("selected",!0);for(var n=B("<select/>").addClass(T.classes.value).addClass(T.classes.dropDown).addClass(T.classes.italic).addClass(T.classes.select).append(t.dom.valueTitle).on("change.dtsb",function(){B(this).removeClass(T.classes.italic),i(t,this)}),s=(t.c.greyscale&&n.addClass(T.classes.greyscale),[]),o=0,r=t.s.serverData[t.s.origData];o<r.length;o++){var a=r[o],d=a.value,a=a.label;t.s.type.includes("html")&&null!==d&&"string"==typeof d&&d.replace(/(<([^>]+)>)/gi,""),d=B("<option>",{type:Array.isArray(d)?"Array":"String",value:d}).data("sbv",d).addClass(t.classes.option).addClass(t.classes.notItalic).html("string"==typeof a?a.replace(/(<([^>]+)>)/gi,""):a),s.push(d),null!==e&&d.val()===e[0]&&(d.prop("selected",!0),n.removeClass(T.classes.italic),t.dom.valueTitle.removeProp("selected"))}for(var l=0,u=s;l<u.length;l++)n.append(u[l]);return n},T.initSelectArray=function(t,i,e){return T.initSelect(t,i,e=void 0===e?null:e,!0)},T.initInput=function(i,e,t){void 0===t&&(t=null);var n=i.s.dt.settings()[0].searchDelay,n=B("<input/>").addClass(T.classes.value).addClass(T.classes.input).on("input.dtsb keypress.dtsb",i._throttle(function(t){t=t.keyCode||t.which;return e(i,this,t)},null===n?100:n));return i.c.greyscale&&n.addClass(T.classes.greyscale),null!==t&&n.val(t[0]),i.s.dt.one("draw.dtsb",function(){i.s.topGroup.trigger("dtsb-redrawLogic")}),n},T.init2Input=function(i,e,t){void 0===t&&(t=null);var n=i.s.dt.settings()[0].searchDelay,n=[B("<input/>").addClass(T.classes.value).addClass(T.classes.input).on("input.dtsb keypress.dtsb",i._throttle(function(t){t=t.keyCode||t.which;return e(i,this,t)},null===n?100:n)),B("<span>").addClass(i.classes.joiner).html(i.s.dt.i18n("searchBuilder.valueJoiner",i.c.i18n.valueJoiner)),B("<input/>").addClass(T.classes.value).addClass(T.classes.input).on("input.dtsb keypress.dtsb",i._throttle(function(t){t=t.keyCode||t.which;return e(i,this,t)},null===n?100:n))];return i.c.greyscale&&(n[0].addClass(T.classes.greyscale),n[2].addClass(T.classes.greyscale)),null!==t&&(n[0].val(t[0]),n[2].val(t[1])),i.s.dt.one("draw.dtsb",function(){i.s.topGroup.trigger("dtsb-redrawLogic")}),n},T.initDate=function(e,n,t){void 0===t&&(t=null);var s=e.s.dt.settings()[0].searchDelay,i=e.s.dt.i18n("datetime",{}),i=B("<input/>").addClass(T.classes.value).addClass(T.classes.input).dtDateTime({attachTo:"input",format:e.s.dateFormat||void 0,i18n:i}).on("change.dtsb",e._throttle(function(){return n(e,this)},null===s?100:s)).on("input.dtsb keypress.dtsb",function(i){e._throttle(function(){var t=i.keyCode||i.which;return n(e,this,t)},null===s?100:s)});return e.c.greyscale&&i.addClass(T.classes.greyscale),null!==t&&i.val(t[0]),e.s.dt.one("draw.dtsb",function(){e.s.topGroup.trigger("dtsb-redrawLogic")}),i},T.initNoValue=function(t){return t.s.dt.one("draw.dtsb",function(){t.s.topGroup.trigger("dtsb-redrawLogic")}),[]},T.init2Date=function(e,n,t){var i=this,s=(void 0===t&&(t=null),e.s.dt.settings()[0].searchDelay),o=e.s.dt.i18n("datetime",{}),o=[B("<input/>").addClass(T.classes.value).addClass(T.classes.input).dtDateTime({attachTo:"input",format:e.s.dateFormat||void 0,i18n:o}).on("change.dtsb",null!==s?D.util.throttle(function(){return n(e,this)},s):function(){n(e,i)}).on("input.dtsb keypress.dtsb",function(i){D.util.throttle(function(){var t=i.keyCode||i.which;return n(e,this,t)},null===s?0:s)}),B("<span>").addClass(e.classes.joiner).html(e.s.dt.i18n("searchBuilder.valueJoiner",e.c.i18n.valueJoiner)),B("<input/>").addClass(T.classes.value).addClass(T.classes.input).dtDateTime({attachTo:"input",format:e.s.dateFormat||void 0,i18n:o}).on("change.dtsb",null!==s?D.util.throttle(function(){return n(e,this)},s):function(){n(e,i)}).on("input.dtsb keypress.dtsb",e.c.enterSearch||void 0!==e.s.dt.settings()[0].oInit.search&&e.s.dt.settings()[0].oInit.search.return||null===s?function(t){t=t.keyCode||t.which;n(e,i,t)}:D.util.throttle(function(){return n(e,this)},s))];return e.c.greyscale&&(o[0].addClass(T.classes.greyscale),o[2].addClass(T.classes.greyscale)),null!==t&&0<t.length&&(o[0].val(t[0]),o[2].val(t[1])),e.s.dt.one("draw.dtsb",function(){e.s.topGroup.trigger("dtsb-redrawLogic")}),o},T.isInputValidSelect=function(t){for(var i=!0,e=0,n=t;e<n.length;e++){var s=n[e];s.children("option:selected").length===s.children("option").length-s.children("option."+T.classes.notItalic).length&&1===s.children("option:selected").length&&s.children("option:selected")[0]===s.children("option")[0]&&(i=!1)}return i},T.isInputValidInput=function(t){for(var i=!0,e=0,n=t;e<n.length;e++){var s=n[e];s.is("input")&&0===s.val().length&&(i=!1)}return i},T.inputValueSelect=function(t){for(var i=[],e=0,n=t;e<n.length;e++){var s=n[e];s.is("select")&&i.push(T._escapeHTML(s.children("option:selected").data("sbv")))}return i},T.inputValueInput=function(t){for(var i=[],e=0,n=t;e<n.length;e++){var s=n[e];s.is("input")&&i.push(T._escapeHTML(s.val()))}return i.map(c.util.diacritics)},T.updateListener=function(t,i,e){var n=t.s.conditions[t.s.condition];if(t.s.filled=n.isInputValid(t.dom.value,t),t.s.value=n.inputValue(t.dom.value,t),t.s.filled){for(Array.isArray(t.s.value)||(t.s.value=[t.s.value]),r=0;r<t.s.value.length;r++)Array.isArray(t.s.value[r])&&t.s.value[r].sort();for(var s=null,o=null,r=0;r<t.dom.value.length;r++)i===t.dom.value[r][0]&&(s=r,void 0!==i.selectionStart)&&(o=i.selectionStart);(t.c.enterSearch||void 0!==t.s.dt.settings()[0].oInit.search&&t.s.dt.settings()[0].oInit.search.return)&&13!==e||t.doSearch(),null!==s&&(t.dom.value[s].removeClass(t.classes.italic),t.dom.value[s].focus(),null!==o)&&t.dom.value[s][0].setSelectionRange(o,o)}else(t.c.enterSearch||void 0!==t.s.dt.settings()[0].oInit.search&&t.s.dt.settings()[0].oInit.search.return)&&13!==e||t.doSearch()},T.dateConditions={"=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.equals",i.conditions.date.equals)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return(t=t.replace(/(\/|-|,)/g,"-"))===i[0]}},"!=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.not",i.conditions.date.not)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return(t=t.replace(/(\/|-|,)/g,"-"))!==i[0]}},"<":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.before",i.conditions.date.before)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return(t=t.replace(/(\/|-|,)/g,"-"))<i[0]}},">":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.after",i.conditions.date.after)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return(t=t.replace(/(\/|-|,)/g,"-"))>i[0]}},between:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.between",i.conditions.date.between)},init:T.init2Date,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return t=t.replace(/(\/|-|,)/g,"-"),i[0]<i[1]?i[0]<=t&&t<=i[1]:i[1]<=t&&t<=i[0]}},"!between":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.notBetween",i.conditions.date.notBetween)},init:T.init2Date,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return t=t.replace(/(\/|-|,)/g,"-"),i[0]<i[1]?!(i[0]<=t&&t<=i[1]):!(i[1]<=t&&t<=i[0])}},null:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.empty",i.conditions.date.empty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return null==t||0===t.length}},"!null":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.notEmpty",i.conditions.date.notEmpty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return!(null==t||0===t.length)}}},T.momentDateConditions={"=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.equals",i.conditions.date.equals)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return m()(t,e.s.dateFormat).valueOf()===m()(i[0],e.s.dateFormat).valueOf()}},"!=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.not",i.conditions.date.not)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return m()(t,e.s.dateFormat).valueOf()!==m()(i[0],e.s.dateFormat).valueOf()}},"<":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.before",i.conditions.date.before)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return m()(t,e.s.dateFormat).valueOf()<m()(i[0],e.s.dateFormat).valueOf()}},">":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.after",i.conditions.date.after)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return m()(t,e.s.dateFormat).valueOf()>m()(i[0],e.s.dateFormat).valueOf()}},between:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.between",i.conditions.date.between)},init:T.init2Date,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){var t=m()(t,e.s.dateFormat).valueOf(),n=m()(i[0],e.s.dateFormat).valueOf(),i=m()(i[1],e.s.dateFormat).valueOf();return n<i?n<=t&&t<=i:i<=t&&t<=n}},"!between":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.notBetween",i.conditions.date.notBetween)},init:T.init2Date,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){var t=m()(t,e.s.dateFormat).valueOf(),n=m()(i[0],e.s.dateFormat).valueOf(),i=m()(i[1],e.s.dateFormat).valueOf();return n<i?!(+n<=+t&&+t<=+i):!(+i<=+t&&+t<=+n)}},null:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.empty",i.conditions.date.empty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return null==t||0===t.length}},"!null":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.notEmpty",i.conditions.date.notEmpty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return!(null==t||0===t.length)}}},T.luxonDateConditions={"=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.equals",i.conditions.date.equals)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return f().DateTime.fromFormat(t,e.s.dateFormat).ts===f().DateTime.fromFormat(i[0],e.s.dateFormat).ts}},"!=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.not",i.conditions.date.not)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return f().DateTime.fromFormat(t,e.s.dateFormat).ts!==f().DateTime.fromFormat(i[0],e.s.dateFormat).ts}},"<":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.before",i.conditions.date.before)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return f().DateTime.fromFormat(t,e.s.dateFormat).ts<f().DateTime.fromFormat(i[0],e.s.dateFormat).ts}},">":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.after",i.conditions.date.after)},init:T.initDate,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return f().DateTime.fromFormat(t,e.s.dateFormat).ts>f().DateTime.fromFormat(i[0],e.s.dateFormat).ts}},between:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.between",i.conditions.date.between)},init:T.init2Date,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){var t=f().DateTime.fromFormat(t,e.s.dateFormat).ts,n=f().DateTime.fromFormat(i[0],e.s.dateFormat).ts,i=f().DateTime.fromFormat(i[1],e.s.dateFormat).ts;return n<i?n<=t&&t<=i:i<=t&&t<=n}},"!between":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.notBetween",i.conditions.date.notBetween)},init:T.init2Date,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){var t=f().DateTime.fromFormat(t,e.s.dateFormat).ts,n=f().DateTime.fromFormat(i[0],e.s.dateFormat).ts,i=f().DateTime.fromFormat(i[1],e.s.dateFormat).ts;return n<i?!(+n<=+t&&+t<=+i):!(+i<=+t&&+t<=+n)}},null:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.empty",i.conditions.date.empty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return null==t||0===t.length}},"!null":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.date.notEmpty",i.conditions.date.notEmpty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return!(null==t||0===t.length)}}},T.numConditions={"=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.equals",i.conditions.number.equals)},init:T.initSelect,inputValue:T.inputValueSelect,isInputValid:T.isInputValidSelect,search:function(t,i){return+t==+i[0]}},"!=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.not",i.conditions.number.not)},init:T.initSelect,inputValue:T.inputValueSelect,isInputValid:T.isInputValidSelect,search:function(t,i){return+t!=+i[0]}},"<":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.lt",i.conditions.number.lt)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return+t<+i[0]}},"<=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.lte",i.conditions.number.lte)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return+t<=+i[0]}},">=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.gte",i.conditions.number.gte)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return+t>=+i[0]}},">":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.gt",i.conditions.number.gt)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return+t>+i[0]}},between:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.between",i.conditions.number.between)},init:T.init2Input,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return+i[0]<+i[1]?+i[0]<=+t&&+t<=+i[1]:+i[1]<=+t&&+t<=+i[0]}},"!between":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.notBetween",i.conditions.number.notBetween)},init:T.init2Input,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return+i[0]<+i[1]?!(+i[0]<=+t&&+t<=+i[1]):!(+i[1]<=+t&&+t<=+i[0])}},null:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.empty",i.conditions.number.empty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return null==t||0===t.length}},"!null":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.notEmpty",i.conditions.number.notEmpty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return!(null==t||0===t.length)}}},T.numFmtConditions={"=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.equals",i.conditions.number.equals)},init:T.initSelect,inputValue:T.inputValueSelect,isInputValid:T.isInputValidSelect,search:function(t,i,e){return e.parseNumber(t)===e.parseNumber(i[0])}},"!=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.not",i.conditions.number.not)},init:T.initSelect,inputValue:T.inputValueSelect,isInputValid:T.isInputValidSelect,search:function(t,i,e){return e.parseNumber(t)!==e.parseNumber(i[0])}},"<":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.lt",i.conditions.number.lt)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return e.parseNumber(t)<e.parseNumber(i[0])}},"<=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.lte",i.conditions.number.lte)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return e.parseNumber(t)<=e.parseNumber(i[0])}},">=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.gte",i.conditions.number.gte)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return e.parseNumber(t)>=e.parseNumber(i[0])}},">":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.gt",i.conditions.number.gt)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){return e.parseNumber(t)>e.parseNumber(i[0])}},between:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.between",i.conditions.number.between)},init:T.init2Input,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){var t=e.parseNumber(t),n=e.parseNumber(i[0]),e=e.parseNumber(i[1]);return+n<+e?+n<=+t&&+t<=+e:+e<=+t&&+t<=+n}},"!between":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.notBetween",i.conditions.number.notBetween)},init:T.init2Input,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i,e){var t=e.parseNumber(t),n=e.parseNumber(i[0]),e=e.parseNumber(i[1]);return+n<+e?!(+n<=+t&&+t<=+e):!(+e<=+t&&+t<=+n)}},null:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.empty",i.conditions.number.empty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return null==t||0===t.length}},"!null":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.number.notEmpty",i.conditions.number.notEmpty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return!(null==t||0===t.length)}}},T.stringConditions={"=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.equals",i.conditions.string.equals)},init:T.initSelect,inputValue:T.inputValueSelect,isInputValid:T.isInputValidSelect,search:function(t,i){return t===i[0]}},"!=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.not",i.conditions.string.not)},init:T.initSelect,inputValue:T.inputValueSelect,isInputValid:T.isInputValidInput,search:function(t,i){return t!==i[0]}},starts:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.startsWith",i.conditions.string.startsWith)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return 0===t.toLowerCase().indexOf(i[0].toLowerCase())}},"!starts":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.notStartsWith",i.conditions.string.notStartsWith)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return 0!==t.toLowerCase().indexOf(i[0].toLowerCase())}},contains:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.contains",i.conditions.string.contains)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return t.toLowerCase().includes(i[0].toLowerCase())}},"!contains":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.notContains",i.conditions.string.notContains)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return!t.toLowerCase().includes(i[0].toLowerCase())}},ends:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.endsWith",i.conditions.string.endsWith)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return t.toLowerCase().endsWith(i[0].toLowerCase())}},"!ends":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.notEndsWith",i.conditions.string.notEndsWith)},init:T.initInput,inputValue:T.inputValueInput,isInputValid:T.isInputValidInput,search:function(t,i){return!t.toLowerCase().endsWith(i[0].toLowerCase())}},null:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.empty",i.conditions.string.empty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return null==t||0===t.length}},"!null":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.string.notEmpty",i.conditions.string.notEmpty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return!(null==t||0===t.length)}}},T.defaults={columns:!0,conditions:{array:T.arrayConditions={contains:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.array.contains",i.conditions.array.contains)},init:T.initSelectArray,inputValue:T.inputValueSelect,isInputValid:T.isInputValidSelect,search:function(t,i){return t.includes(i[0])}},without:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.array.without",i.conditions.array.without)},init:T.initSelectArray,inputValue:T.inputValueSelect,isInputValid:T.isInputValidSelect,search:function(t,i){return-1===t.indexOf(i[0])}},"=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.array.equals",i.conditions.array.equals)},init:T.initSelect,inputValue:T.inputValueSelect,isInputValid:T.isInputValidSelect,search:function(t,i){if(t.length!==i.length)return!1;for(var e=0;e<t.length;e++)if(t[e]!==i[e])return!1;return!0}},"!=":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.array.not",i.conditions.array.not)},init:T.initSelect,inputValue:T.inputValueSelect,isInputValid:T.isInputValidSelect,search:function(t,i){if(t.length!==i.length)return!0;for(var e=0;e<t.length;e++)if(t[e]!==i[e])return!0;return!1}},null:{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.array.empty",i.conditions.array.empty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return null==t||0===t.length}},"!null":{conditionName:function(t,i){return t.i18n("searchBuilder.conditions.array.notEmpty",i.conditions.array.notEmpty)},init:T.initNoValue,inputValue:function(){},isInputValid:function(){return!0},search:function(t){return null!=t&&0!==t.length}}},date:T.dateConditions,html:T.stringConditions,"html-num":T.numConditions,"html-num-fmt":T.numFmtConditions,luxon:T.luxonDateConditions,moment:T.momentDateConditions,num:T.numConditions,"num-fmt":T.numFmtConditions,string:T.stringConditions},depthLimit:!1,enterSearch:!1,filterChanged:void 0,greyscale:!1,i18n:{add:"Add Condition",button:{0:"Search Builder",_:"Search Builder (%d)"},clearAll:"Clear All",condition:"Condition",data:"Data",delete:"×",deleteTitle:"Delete filtering rule",left:"<",leftTitle:"Outdent criteria",logicAnd:"And",logicOr:"Or",right:">",rightTitle:"Indent criteria",search:"Search",title:{0:"Custom Search Builder",_:"Custom Search Builder (%d)"},value:"Value",valueJoiner:"and"},liveSearch:!0,logic:"AND",orthogonal:{display:"display",search:"filter"},preDefined:!1},d=T,g.prototype.destroy=function(){this.dom.add.off(".dtsb"),this.dom.logic.off(".dtsb"),this.dom.search.off(".dtsb"),this.dom.container.trigger("dtsb-destroy").remove(),this.s.criteria=[]},g.prototype.getDetails=function(t){if(void 0===t&&(t=!1),0===this.s.criteria.length)return{};for(var i={criteria:[],logic:this.s.logic},e=0,n=this.s.criteria;e<n.length;e++){var s=n[e];i.criteria.push(s.criteria.getDetails(t))}return i},g.prototype.getNode=function(){return this.dom.container},g.prototype.rebuild=function(t){var i;if(!(void 0===t.criteria||null===t.criteria||Array.isArray(t.criteria)&&0===t.criteria.length)){if(this.s.logic=t.logic,this.dom.logic.children().first().html("OR"===this.s.logic?this.s.dt.i18n("searchBuilder.logicOr",this.c.i18n.logicOr):this.s.dt.i18n("searchBuilder.logicAnd",this.c.i18n.logicAnd)),Array.isArray(t.criteria))for(var e=0,n=t.criteria;e<n.length;e++)void 0!==(i=n[e]).logic?this._addPrevGroup(i):void 0===i.logic&&this._addPrevCriteria(i);for(var s=0,o=this.s.criteria;s<o.length;s++)(i=o[s]).criteria instanceof d&&(i.criteria.updateArrows(1<this.s.criteria.length),this._setCriteriaListeners(i.criteria))}},g.prototype.redrawContents=function(){if(!this.s.preventRedraw){this.dom.container.children().detach(),this.dom.container.append(this.dom.logicContainer).append(this.dom.add),this.c.liveSearch||this.dom.container.append(this.dom.search),this.s.criteria.sort(function(t,i){return t.criteria.s.index<i.criteria.s.index?-1:t.criteria.s.index>i.criteria.s.index?1:0}),this.setListeners();for(var t=0;t<this.s.criteria.length;t++){var i=this.s.criteria[t].criteria;i instanceof d?(this.s.criteria[t].index=t,this.s.criteria[t].criteria.s.index=t,this.s.criteria[t].criteria.dom.container.insertBefore(this.dom.add),this._setCriteriaListeners(i),this.s.criteria[t].criteria.s.preventRedraw=this.s.preventRedraw,this.s.criteria[t].criteria.rebuild(this.s.criteria[t].criteria.getDetails()),this.s.criteria[t].criteria.s.preventRedraw=!1):i instanceof g&&0<i.s.criteria.length?(this.s.criteria[t].index=t,this.s.criteria[t].criteria.s.index=t,this.s.criteria[t].criteria.dom.container.insertBefore(this.dom.add),i.s.preventRedraw=this.s.preventRedraw,i.redrawContents(),i.s.preventRedraw=!1,this._setGroupListeners(i)):(this.s.criteria.splice(t,1),t--)}this.setupLogic()}},g.prototype.redrawLogic=function(){for(var t=0,i=this.s.criteria;t<i.length;t++){var e=i[t];e.criteria instanceof g&&e.criteria.redrawLogic()}this.setupLogic()},g.prototype.search=function(t,i){return"AND"===this.s.logic?this._andSearch(t,i):"OR"!==this.s.logic||this._orSearch(t,i)},g.prototype.setupLogic=function(){if(this.dom.logicContainer.remove(),this.dom.clear.remove(),this.s.criteria.length<1)this.s.isChild||(this.dom.container.trigger("dtsb-destroy"),this.dom.container.css("margin-left",0)),this.dom.search.css("display","none");else{this.dom.clear.height("0px"),this.dom.logicContainer.append(this.dom.clear),this.s.isChild||this.dom.search.css("display","inline-block"),this.dom.container.prepend(this.dom.logicContainer);for(var t=0,i=this.s.criteria;t<i.length;t++){var e=i[t];e.criteria instanceof d&&e.criteria.setupButtons()}var n=this.dom.container.outerHeight()-1,n=(this.dom.logicContainer.width(n),this._setLogicListener(),this.dom.container.css("margin-left",this.dom.logicContainer.outerHeight(!0)),this.dom.logicContainer.offset()),s=n.left,s=s-(s-this.dom.container.offset().left)-this.dom.logicContainer.outerHeight(!0),s=(this.dom.logicContainer.offset({left:s}),this.dom.logicContainer.next()),n=n.top,s=a(s).offset().top;this.dom.logicContainer.offset({top:n-(n-s)}),this.dom.clear.outerHeight(this.dom.logicContainer.height()),this._setClearListener()}},g.prototype.setListeners=function(){var t=this;this.dom.add.unbind("click"),this.dom.add.on("click.dtsb",function(){return t.s.isChild||t.dom.container.prepend(t.dom.logicContainer),t.addCriteria(),t.dom.container.trig