138 lines
64 KiB
JavaScript
Vendored
138 lines
64 KiB
JavaScript
Vendored
/*!
|
|
DateTime picker for DataTables.net v0.0.8
|
|
|
|
©2020 SpryMedia Ltd, all rights reserved.
|
|
License: MIT datatables.net/license/mit
|
|
SearchBuilder 1.0.0
|
|
©2020 SpryMedia Ltd - datatables.net/license/mit
|
|
*/
|
|
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(k,p,r){k instanceof String&&(k=String(k));for(var f=k.length,x=0;x<f;x++){var y=k[x];if(p.call(r,y,x,k))return{i:x,v:y}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;
|
|
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(k,p,r){if(k==Array.prototype||k==Object.prototype)return k;k[p]=r.value;return k};$jscomp.getGlobal=function(k){k=["object"==typeof globalThis&&globalThis,k,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var p=0;p<k.length;++p){var r=k[p];if(r&&r.Math==Math)return r}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this);
|
|
$jscomp.IS_SYMBOL_NATIVE="function"===typeof Symbol&&"symbol"===typeof Symbol("x");$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE;$jscomp.polyfills={};$jscomp.propertyToPolyfillSymbol={};$jscomp.POLYFILL_PREFIX="$jscp$";var $jscomp$lookupPolyfilledValue=function(k,p){var r=$jscomp.propertyToPolyfillSymbol[p];if(null==r)return k[p];r=k[r];return void 0!==r?r:k[p]};
|
|
$jscomp.polyfill=function(k,p,r,f){p&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(k,p,r,f):$jscomp.polyfillUnisolated(k,p,r,f))};$jscomp.polyfillUnisolated=function(k,p,r,f){r=$jscomp.global;k=k.split(".");for(f=0;f<k.length-1;f++){var x=k[f];if(!(x in r))return;r=r[x]}k=k[k.length-1];f=r[k];p=p(f);p!=f&&null!=p&&$jscomp.defineProperty(r,k,{configurable:!0,writable:!0,value:p})};
|
|
$jscomp.polyfillIsolated=function(k,p,r,f){var x=k.split(".");k=1===x.length;f=x[0];f=!k&&f in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var y=0;y<x.length-1;y++){var C=x[y];if(!(C in f))return;f=f[C]}x=x[x.length-1];r=$jscomp.IS_SYMBOL_NATIVE&&"es6"===r?f[x]:null;p=p(r);null!=p&&(k?$jscomp.defineProperty($jscomp.polyfills,x,{configurable:!0,writable:!0,value:p}):p!==r&&($jscomp.propertyToPolyfillSymbol[x]=$jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(x):$jscomp.POLYFILL_PREFIX+x,x=
|
|
$jscomp.propertyToPolyfillSymbol[x],$jscomp.defineProperty(f,x,{configurable:!0,writable:!0,value:p})))};$jscomp.polyfill("Array.prototype.find",function(k){return k?k:function(p,r){return $jscomp.findInternal(this,p,r).v}},"es6","es3");$jscomp.checkEs6ConformanceViaProxy=function(){try{var k={},p=Object.create(new $jscomp.global.Proxy(k,{get:function(r,f,x){return r==k&&"q"==f&&x==p}}));return!0===p.q}catch(r){return!1}};$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=!1;
|
|
$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy();$jscomp.arrayIteratorImpl=function(k){var p=0;return function(){return p<k.length?{done:!1,value:k[p++]}:{done:!0}}};$jscomp.arrayIterator=function(k){return{next:$jscomp.arrayIteratorImpl(k)}};$jscomp.initSymbol=function(){};
|
|
$jscomp.polyfill("Symbol",function(k){if(k)return k;var p=function(x,y){this.$jscomp$symbol$id_=x;$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:y})};p.prototype.toString=function(){return this.$jscomp$symbol$id_};var r=0,f=function(x){if(this instanceof f)throw new TypeError("Symbol is not a constructor");return new p("jscomp_symbol_"+(x||"")+"_"+r++,x)};return f},"es6","es3");$jscomp.initSymbolIterator=function(){};
|
|
$jscomp.polyfill("Symbol.iterator",function(k){if(k)return k;k=Symbol("Symbol.iterator");for(var p="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),r=0;r<p.length;r++){var f=$jscomp.global[p[r]];"function"===typeof f&&"function"!=typeof f.prototype[k]&&$jscomp.defineProperty(f.prototype,k,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}})}return k},"es6",
|
|
"es3");$jscomp.initSymbolAsyncIterator=function(){};$jscomp.iteratorPrototype=function(k){k={next:k};k[Symbol.iterator]=function(){return this};return k};$jscomp.makeIterator=function(k){var p="undefined"!=typeof Symbol&&Symbol.iterator&&k[Symbol.iterator];return p?p.call(k):$jscomp.arrayIterator(k)};$jscomp.owns=function(k,p){return Object.prototype.hasOwnProperty.call(k,p)};
|
|
$jscomp.polyfill("WeakMap",function(k){function p(){if(!k||!Object.seal)return!1;try{var t=Object.seal({}),n=Object.seal({}),z=new k([[t,2],[n,3]]);if(2!=z.get(t)||3!=z.get(n))return!1;z.delete(t);z.set(n,4);return!z.has(t)&&4==z.get(n)}catch(K){return!1}}function r(){}function f(t){var n=typeof t;return"object"===n&&null!==t||"function"===n}function x(t){if(!$jscomp.owns(t,C)){var n=new r;$jscomp.defineProperty(t,C,{value:n})}}function y(t){if(!$jscomp.ISOLATE_POLYFILLS){var n=Object[t];n&&(Object[t]=
|
|
function(z){if(z instanceof r)return z;Object.isExtensible(z)&&x(z);return n(z)})}}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(k&&$jscomp.ES6_CONFORMANCE)return k}else if(p())return k;var C="$jscomp_hidden_"+Math.random();y("freeze");y("preventExtensions");y("seal");var q=0,u=function(t){this.id_=(q+=Math.random()+1).toString();if(t){t=$jscomp.makeIterator(t);for(var n;!(n=t.next()).done;)n=n.value,this.set(n[0],n[1])}};u.prototype.set=function(t,n){if(!f(t))throw Error("Invalid WeakMap key");
|
|
x(t);if(!$jscomp.owns(t,C))throw Error("WeakMap key fail: "+t);t[C][this.id_]=n;return this};u.prototype.get=function(t){return f(t)&&$jscomp.owns(t,C)?t[C][this.id_]:void 0};u.prototype.has=function(t){return f(t)&&$jscomp.owns(t,C)&&$jscomp.owns(t[C],this.id_)};u.prototype.delete=function(t){return f(t)&&$jscomp.owns(t,C)&&$jscomp.owns(t[C],this.id_)?delete t[C][this.id_]:!1};return u},"es6","es3");$jscomp.MapEntry=function(){};
|
|
$jscomp.polyfill("Map",function(k){function p(){if($jscomp.ASSUME_NO_NATIVE_MAP||!k||"function"!=typeof k||!k.prototype.entries||"function"!=typeof Object.seal)return!1;try{var u=Object.seal({x:4}),t=new k($jscomp.makeIterator([[u,"s"]]));if("s"!=t.get(u)||1!=t.size||t.get({x:4})||t.set({x:4},"t")!=t||2!=t.size)return!1;var n=t.entries(),z=n.next();if(z.done||z.value[0]!=u||"s"!=z.value[1])return!1;z=n.next();return z.done||4!=z.value[0].x||"t"!=z.value[1]||!n.next().done?!1:!0}catch(K){return!1}}
|
|
if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(k&&$jscomp.ES6_CONFORMANCE)return k}else if(p())return k;var r=new WeakMap,f=function(u){this.data_={};this.head_=C();this.size=0;if(u){u=$jscomp.makeIterator(u);for(var t;!(t=u.next()).done;)t=t.value,this.set(t[0],t[1])}};f.prototype.set=function(u,t){u=0===u?0:u;var n=x(this,u);n.list||(n.list=this.data_[n.id]=[]);n.entry?n.entry.value=t:(n.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:u,value:t},n.list.push(n.entry),
|
|
this.head_.previous.next=n.entry,this.head_.previous=n.entry,this.size++);return this};f.prototype.delete=function(u){u=x(this,u);return u.entry&&u.list?(u.list.splice(u.index,1),u.list.length||delete this.data_[u.id],u.entry.previous.next=u.entry.next,u.entry.next.previous=u.entry.previous,u.entry.head=null,this.size--,!0):!1};f.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=C();this.size=0};f.prototype.has=function(u){return!!x(this,u).entry};f.prototype.get=function(u){return(u=
|
|
x(this,u).entry)&&u.value};f.prototype.entries=function(){return y(this,function(u){return[u.key,u.value]})};f.prototype.keys=function(){return y(this,function(u){return u.key})};f.prototype.values=function(){return y(this,function(u){return u.value})};f.prototype.forEach=function(u,t){for(var n=this.entries(),z;!(z=n.next()).done;)z=z.value,u.call(t,z[1],z[0],this)};f.prototype[Symbol.iterator]=f.prototype.entries;var x=function(u,t){var n=t&&typeof t;"object"==n||"function"==n?r.has(t)?n=r.get(t):
|
|
(n=""+ ++q,r.set(t,n)):n="p_"+t;var z=u.data_[n];if(z&&$jscomp.owns(u.data_,n))for(u=0;u<z.length;u++){var K=z[u];if(t!==t&&K.key!==K.key||t===K.key)return{id:n,list:z,index:u,entry:K}}return{id:n,list:z,index:-1,entry:void 0}},y=function(u,t){var n=u.head_;return $jscomp.iteratorPrototype(function(){if(n){for(;n.head!=u.head_;)n=n.previous;for(;n.next!=n.head;)return n=n.next,{done:!1,value:t(n)};n=null}return{done:!0,value:void 0}})},C=function(){var u={};return u.previous=u.next=u.head=u},q=0;
|
|
return f},"es6","es3");$jscomp.polyfill("Array.from",function(k){return k?k:function(p,r,f){r=null!=r?r:function(q){return q};var x=[],y="undefined"!=typeof Symbol&&Symbol.iterator&&p[Symbol.iterator];if("function"==typeof y){p=y.call(p);for(var C=0;!(y=p.next()).done;)x.push(r.call(f,y.value,C++))}else for(y=p.length,C=0;C<y;C++)x.push(r.call(f,p[C],C));return x}},"es6","es3");
|
|
$jscomp.iteratorFromArray=function(k,p){k instanceof String&&(k+="");var r=0,f={next:function(){if(r<k.length){var x=r++;return{value:p(x,k[x]),done:!1}}f.next=function(){return{done:!0,value:void 0}};return f.next()}};f[Symbol.iterator]=function(){return f};return f};$jscomp.polyfill("Array.prototype.keys",function(k){return k?k:function(){return $jscomp.iteratorFromArray(this,function(p){return p})}},"es6","es3");
|
|
$jscomp.polyfill("Object.is",function(k){return k?k:function(p,r){return p===r?0!==p||1/p===1/r:p!==p&&r!==r}},"es6","es3");$jscomp.polyfill("Array.prototype.includes",function(k){return k?k:function(p,r){var f=this;f instanceof String&&(f=String(f));var x=f.length;r=r||0;for(0>r&&(r=Math.max(r+x,0));r<x;r++){var y=f[r];if(y===p||Object.is(y,p))return!0}return!1}},"es7","es3");
|
|
$jscomp.checkStringArgs=function(k,p,r){if(null==k)throw new TypeError("The 'this' value for String.prototype."+r+" must not be null or undefined");if(p instanceof RegExp)throw new TypeError("First argument to String.prototype."+r+" must not be a regular expression");return k+""};$jscomp.polyfill("String.prototype.includes",function(k){return k?k:function(p,r){return-1!==$jscomp.checkStringArgs(this,p,"includes").indexOf(p,r||0)}},"es6","es3");
|
|
(function(){function k(c){f=c;x=c.fn.dataTable}function p(c){q=c;u=c.fn.dataTable}function r(c){n=c;z=c.fn.DataTable}(function(c){"function"===typeof define&&define.amd?define(["jquery"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c,a,b,e){var g=a.moment?a.moment:a.dayjs?a.dayjs:null,l=function(d,h){this.c=c.extend(!0,{},l.defaults,h);h=this.c.classPrefix;var m=this.c.i18n;
|
|
if(!g&&"YYYY-MM-DD"!==this.c.format)throw"DateTime: Without momentjs or dayjs only the format 'YYYY-MM-DD' can be used";"string"===typeof this.c.minDate&&(this.c.minDate=new Date(this.c.minDate));"string"===typeof this.c.maxDate&&(this.c.maxDate=new Date(this.c.maxDate));m=c('<div class="'+h+'"><div class="'+h+'-date"><div class="'+h+'-title"><div class="'+h+'-iconLeft"><button>'+m.previous+'</button></div><div class="'+h+'-iconRight"><button>'+m.next+'</button></div><div class="'+h+'-label"><span></span><select class="'+
|
|
h+'-month"></select></div><div class="'+h+'-label"><span></span><select class="'+h+'-year"></select></div></div><div class="'+h+'-calendar"></div></div><div class="'+h+'-time"><div class="'+h+'-hours"></div><div class="'+h+'-minutes"></div><div class="'+h+'-seconds"></div></div><div class="'+h+'-error"></div></div>');this.dom={container:m,date:m.find("."+h+"-date"),title:m.find("."+h+"-title"),calendar:m.find("."+h+"-calendar"),time:m.find("."+h+"-time"),error:m.find("."+h+"-error"),input:c(d)};this.s=
|
|
{d:null,display:null,minutesRange:null,secondsRange:null,namespace:"dateime-"+l._instance++,parts:{date:null!==this.c.format.match(/[YMD]|L(?!T)|l/),time:null!==this.c.format.match(/[Hhm]|LT|LTS/),seconds:-1!==this.c.format.indexOf("s"),hours12:null!==this.c.format.match(/[haA]/)}};this.dom.container.append(this.dom.date).append(this.dom.time).append(this.dom.error);this.dom.date.append(this.dom.title).append(this.dom.calendar);this._constructor()};c.extend(l.prototype,{destroy:function(){this._hide();
|
|
this.dom.container.off().empty();this.dom.input.off(".datetime")},errorMsg:function(d){var h=this.dom.error;d?h.html(d):h.empty();return this},hide:function(){this._hide();return this},max:function(d){this.c.maxDate="string"===typeof d?new Date(d):d;this._optionsTitle();this._setCalander();return this},min:function(d){this.c.minDate="string"===typeof d?new Date(d):d;this._optionsTitle();this._setCalander();return this},owns:function(d){return 0<c(d).parents().filter(this.dom.container).length},val:function(d,
|
|
h){if(d===e)return this.s.d;if(d instanceof Date)this.s.d=this._dateToUtc(d);else if(null===d||""===d)this.s.d=null;else if("--now"===d)this.s.d=new Date;else if("string"===typeof d)if(g){var m=g.utc(d,this.c.format,this.c.locale,this.c.strict);this.s.d=m.isValid()?m.toDate():null}else m=d.match(/(\d{4})\-(\d{2})\-(\d{2})/),this.s.d=m?new Date(Date.UTC(m[1],m[2]-1,m[3])):null;if(h||h===e)this.s.d?this._writeOutput():this.dom.input.val(d);this.s.d||(this.s.d=this._dateToUtc(new Date));this.s.display=
|
|
new Date(this.s.d.toString());this.s.display.setUTCDate(1);this._setTitle();this._setCalander();this._setTime();return this},_constructor:function(){var d=this,h=this.c.classPrefix,m=function(){d.c.onChange.call(d,d.dom.input.val(),d.s.d,d.dom.input)};this.s.parts.date||this.dom.date.css("display","none");this.s.parts.time||this.dom.time.css("display","none");this.s.parts.seconds||(this.dom.time.children("div."+h+"-seconds").remove(),this.dom.time.children("span").eq(1).remove());this._optionsTitle();
|
|
this.dom.input.attr("autocomplete","off").on("focus.datetime click.datetime",function(){d.dom.container.is(":visible")||d.dom.input.is(":disabled")||(d.val(d.dom.input.val(),!1),d._show())}).on("keyup.datetime",function(){d.dom.container.is(":visible")&&d.val(d.dom.input.val(),!1)});this.dom.container.on("change","select",function(){var v=c(this),w=v.val();v.hasClass(h+"-month")?(d._correctMonth(d.s.display,w),d._setTitle(),d._setCalander()):v.hasClass(h+"-year")?(d.s.display.setUTCFullYear(w),d._setTitle(),
|
|
d._setCalander()):v.hasClass(h+"-hours")||v.hasClass(h+"-ampm")?(d.s.parts.hours12?(v=1*c(d.dom.container).find("."+h+"-hours").val(),w="pm"===c(d.dom.container).find("."+h+"-ampm").val(),d.s.d.setUTCHours(12!==v||w?w&&12!==v?v+12:v:0)):d.s.d.setUTCHours(w),d._setTime(),d._writeOutput(!0),m()):v.hasClass(h+"-minutes")?(d.s.d.setUTCMinutes(w),d._setTime(),d._writeOutput(!0),m()):v.hasClass(h+"-seconds")&&(d.s.d.setSeconds(w),d._setTime(),d._writeOutput(!0),m());d.dom.input.focus();d._position()}).on("click",
|
|
function(v){var w=d.s.d,A=v.target.nodeName.toLowerCase(),B="span"===A?v.target.parentNode:v.target;A=B.nodeName.toLowerCase();if("select"!==A)if(v.stopPropagation(),"button"===A)if(B=c(B),v=B.parent(),v.hasClass("disabled")&&!v.hasClass("range"))B.blur();else if(v.hasClass(h+"-iconLeft"))d.s.display.setUTCMonth(d.s.display.getUTCMonth()-1),d._setTitle(),d._setCalander(),d.dom.input.focus();else if(v.hasClass(h+"-iconRight"))d._correctMonth(d.s.display,d.s.display.getUTCMonth()+1),d._setTitle(),d._setCalander(),
|
|
d.dom.input.focus();else{if(B.parents("."+h+"-time").length){A=B.data("value");B=B.data("unit");if("minutes"===B){if(v.hasClass("disabled")&&v.hasClass("range")){d.s.minutesRange=A;d._setTime();return}d.s.minutesRange=null}if("seconds"===B){if(v.hasClass("disabled")&&v.hasClass("range")){d.s.secondsRange=A;d._setTime();return}d.s.secondsRange=null}if("am"===A)if(12<=w.getUTCHours())A=w.getUTCHours()-12;else return;else if("pm"===A)if(12>w.getUTCHours())A=w.getUTCHours()+12;else return;w["hours"===
|
|
B?"setUTCHours":"minutes"===B?"setUTCMinutes":"setSeconds"](A);d._setTime();d._writeOutput(!0)}else w||(w=d._dateToUtc(new Date)),w.setUTCDate(1),w.setUTCFullYear(B.data("year")),w.setUTCMonth(B.data("month")),w.setUTCDate(B.data("day")),d._writeOutput(!0),d.s.parts.time?d._setCalander():setTimeout(function(){d._hide()},10);m()}else d.dom.input.focus()})},_compareDates:function(d,h){return this._dateToUtcString(d)===this._dateToUtcString(h)},_correctMonth:function(d,h){var m=this._daysInMonth(d.getUTCFullYear(),
|
|
h),v=d.getUTCDate()>m;d.setUTCMonth(h);v&&(d.setUTCDate(m),d.setUTCMonth(h))},_daysInMonth:function(d,h){return[31,0!==d%4||0===d%100&&0!==d%400?28:29,31,30,31,30,31,31,30,31,30,31][h]},_dateToUtc:function(d){return new Date(Date.UTC(d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds()))},_dateToUtcString:function(d){return d.getUTCFullYear()+"-"+this._pad(d.getUTCMonth()+1)+"-"+this._pad(d.getUTCDate())},_hide:function(){var d=this.s.namespace;this.dom.container.detach();
|
|
c(a).off("."+d);c(b).off("keydown."+d);c("div.dataTables_scrollBody").off("scroll."+d);c("div.DTE_Body_Content").off("scroll."+d);c("body").off("click."+d)},_hours24To12:function(d){return 0===d?12:12<d?d-12:d},_htmlDay:function(d){if(d.empty)return'<td class="empty"></td>';var h=["selectable"],m=this.c.classPrefix;d.disabled&&h.push("disabled");d.today&&h.push("now");d.selected&&h.push("selected");return'<td data-day="'+d.day+'" class="'+h.join(" ")+'"><button class="'+m+"-button "+m+'-day" type="button" data-year="'+
|
|
d.year+'" data-month="'+d.month+'" data-day="'+d.day+'"><span>'+d.day+"</span></button></td>"},_htmlMonth:function(d,h){var m=this._dateToUtc(new Date),v=this._daysInMonth(d,h),w=(new Date(Date.UTC(d,h,1))).getUTCDay(),A=[],B=[];0<this.c.firstDay&&(w-=this.c.firstDay,0>w&&(w+=7));for(var G=v+w,E=G;7<E;)E-=7;G+=7-E;var H=this.c.minDate;E=this.c.maxDate;H&&(H.setUTCHours(0),H.setUTCMinutes(0),H.setSeconds(0));E&&(E.setUTCHours(23),E.setUTCMinutes(59),E.setSeconds(59));for(var D=0,F=0;D<G;D++){var I=
|
|
new Date(Date.UTC(d,h,1+(D-w))),N=this.s.d?this._compareDates(I,this.s.d):!1,J=this._compareDates(I,m),O=D<w||D>=v+w,M=H&&I<H||E&&I>E,L=this.c.disableDays;c.isArray(L)&&-1!==c.inArray(I.getUTCDay(),L)?M=!0:"function"===typeof L&&!0===L(I)&&(M=!0);B.push(this._htmlDay({day:1+(D-w),month:h,year:d,selected:N,today:J,disabled:M,empty:O}));7===++F&&(this.c.showWeekNumber&&B.unshift(this._htmlWeekOfYear(D-w,h,d)),A.push("<tr>"+B.join("")+"</tr>"),B=[],F=0)}m=this.c.classPrefix;v=m+"-table";this.c.showWeekNumber&&
|
|
(v+=" weekNumber");H&&(H=H>=new Date(Date.UTC(d,h,1,0,0,0)),this.dom.title.find("div."+m+"-iconLeft").css("display",H?"none":"block"));E&&(d=E<new Date(Date.UTC(d,h+1,1,0,0,0)),this.dom.title.find("div."+m+"-iconRight").css("display",d?"none":"block"));return'<table class="'+v+'"><thead>'+this._htmlMonthHead()+"</thead><tbody>"+A.join("")+"</tbody></table>"},_htmlMonthHead:function(){var d=[],h=this.c.firstDay,m=this.c.i18n,v=function(A){for(A+=h;7<=A;)A-=7;return m.weekdays[A]};this.c.showWeekNumber&&
|
|
d.push("<th></th>");for(var w=0;7>w;w++)d.push("<th>"+v(w)+"</th>");return d.join("")},_htmlWeekOfYear:function(d,h,m){d=new Date(m,h,d,0,0,0,0);d.setDate(d.getDate()+4-(d.getDay()||7));return'<td class="'+this.c.classPrefix+'-week">'+Math.ceil(((d-new Date(m,0,1))/864E5+1)/7)+"</td>"},_options:function(d,h,m){m||(m=h);d=this.dom.container.find("select."+this.c.classPrefix+"-"+d);d.empty();for(var v=0,w=h.length;v<w;v++)d.append('<option value="'+h[v]+'">'+m[v]+"</option>")},_optionSet:function(d,
|
|
h){var m=this.dom.container.find("select."+this.c.classPrefix+"-"+d);d=m.parent().children("span");m.val(h);h=m.find("option:selected");d.html(0!==h.length?h.text():this.c.i18n.unknown)},_optionsTime:function(d,h,m,v,w){var A=this.c.classPrefix,B=this.dom.container.find("div."+A+"-"+d),G=12===h?function(J){return J}:this._pad;A=this.c.classPrefix;var E=A+"-table",H=this.c.i18n;if(B.length){var D="";var F=10;var I=function(J,O,M){12===h&&12<=m&&"number"===typeof J&&(J+=12);var L=m===J||"am"===J&&12>
|
|
m||"pm"===J&&12<=m?"selected":"";v&&-1===c.inArray(J,v)&&(L+=" disabled");M&&(L+=" "+M);return'<td class="selectable '+L+'"><button class="'+A+"-button "+A+'-day" type="button" data-unit="'+d+'" data-value="'+J+'"><span>'+O+"</span></button></td>"};if(12===h){D+="<tr>";for(w=1;6>=w;w++)D+=I(w,G(w));D+=I("am",H.amPm[0]);D+="</tr><tr>";for(w=7;12>=w;w++)D+=I(w,G(w));D+=I("pm",H.amPm[1]);D+="</tr>";F=7}else{if(24===h){var N=0;for(F=0;4>F;F++){D+="<tr>";for(w=0;6>w;w++)D+=I(N,G(N)),N++;D+="</tr>"}}else{D+=
|
|
"<tr>";for(F=0;60>F;F+=10)D+=I(F,G(F),"range");w=null!==w?w:10*Math.floor(m/10);D=D+'</tr></tbody></thead><table class="'+(E+" "+E+'-nospace"><tbody><tr>');for(F=w+1;F<w+10;F++)D+=I(F,G(F));D+="</tr>"}F=6}B.empty().append('<table class="'+E+'"><thead><tr><th colspan="'+F+'">'+H[d]+"</th></tr></thead><tbody>"+D+"</tbody></table>")}},_optionsTitle:function(){var d=this.c.i18n,h=this.c.minDate,m=this.c.maxDate;h=h?h.getFullYear():null;m=m?m.getFullYear():null;h=null!==h?h:(new Date).getFullYear()-this.c.yearRange;
|
|
m=null!==m?m:(new Date).getFullYear()+this.c.yearRange;this._options("month",this._range(0,11),d.months);this._options("year",this._range(h,m))},_pad:function(d){return 10>d?"0"+d:d},_position:function(){var d="input"===this.c.attachTo?this.dom.input.position():this.dom.input.offset(),h=this.dom.container,m=this.dom.input.outerHeight();this.s.parts.date&&this.s.parts.time&&550<c(a).width()?h.addClass("horizontal"):h.removeClass("horizontal");"input"===this.c.attachTo?h.css({top:d.top+m,left:d.left}).insertAfter(this.dom.input):
|
|
h.css({top:d.top+m,left:d.left}).appendTo("body");var v=h.outerHeight(),w=h.outerWidth(),A=c(a).scrollTop();d.top+m+v-A>c(a).height()&&(m=d.top-v,h.css("top",0>m?0:m));w+d.left>c(a).width()&&(d=c(a).width()-w,h.css("left",0>d?0:d))},_range:function(d,h,m){var v=[];for(m||(m=1);d<=h;d+=m)v.push(d);return v},_setCalander:function(){this.s.display&&this.dom.calendar.empty().append(this._htmlMonth(this.s.display.getUTCFullYear(),this.s.display.getUTCMonth()))},_setTitle:function(){this._optionSet("month",
|
|
this.s.display.getUTCMonth());this._optionSet("year",this.s.display.getUTCFullYear())},_setTime:function(){var d=this,h=this.s.d,m=h?h.getUTCHours():0,v=function(w){return d.c[w+"Available"]?d.c[w+"Available"]:d._range(0,59,d.c[w+"Increment"])};this._optionsTime("hours",this.s.parts.hours12?12:24,m,this.c.hoursAvailable);this._optionsTime("minutes",60,h?h.getUTCMinutes():0,v("minutes"),this.s.minutesRange);this._optionsTime("seconds",60,h?h.getSeconds():0,v("seconds"),this.s.secondsRange)},_show:function(){var d=
|
|
this,h=this.s.namespace;this._position();c(a).on("scroll."+h+" resize."+h,function(){d._hide()});c("div.DTE_Body_Content").on("scroll."+h,function(){d._hide()});c("div.dataTables_scrollBody").on("scroll."+h,function(){d._hide()});var m=this.dom.input[0].offsetParent;if(m!==b.body)c(m).on("scroll."+h,function(){d._hide()});c(b).on("keydown."+h,function(v){9!==v.keyCode&&27!==v.keyCode&&13!==v.keyCode||d._hide()});setTimeout(function(){c("body").on("click."+h,function(v){c(v.target).parents().filter(d.dom.container).length||
|
|
v.target===d.dom.input[0]||d._hide()})},10)},_writeOutput:function(d){var h=this.s.d,m=g?g.utc(h,e,this.c.locale,this.c.strict).format(this.c.format):h.getUTCFullYear()+"-"+this._pad(h.getUTCMonth()+1)+"-"+this._pad(h.getUTCDate());this.dom.input.val(m).trigger("change",{write:h});d&&this.dom.input.focus()}});l.use=function(d){g=d};l._instance=0;l.defaults={attachTo:"body",classPrefix:"dt-datetime",disableDays:null,firstDay:1,format:"YYYY-MM-DD",hoursAvailable:null,i18n:{previous:"Previous",next:"Next",
|
|
months:"January February March April May June July August September October November December".split(" "),weekdays:"Sun Mon Tue Wed Thu Fri Sat".split(" "),amPm:["am","pm"],hours:"Hour",minutes:"Minute",seconds:"Second",unknown:"-"},maxDate:null,minDate:null,minutesAvailable:null,minutesIncrement:1,strict:!0,locale:"en",onChange:function(){},secondsAvailable:null,secondsIncrement:1,showWeekNumber:!1,yearRange:25};a.DateTime||(a.DateTime=l);c.fn.dtDateTime=function(d){return this.each(function(){new l(this,
|
|
d)})};c.dataTable&&(c.dataTable.DateTime=l,c.DataTable.DateTime=l);return l});var f,x,y=window.moment,C=function(){function c(a,b,e,g,l){var d=this;void 0===g&&(g=0);void 0===l&&(l=1);if(!x||!x.versionCheck||!x.versionCheck("1.10.0"))throw Error("SearchPane requires DataTables 1.10 or newer");this.classes=f.extend(!0,{},c.classes);this.c=f.extend(!0,{},c.defaults,f.fn.dataTable.ext.searchBuilder,b);this.s={condition:void 0,conditions:new Map,data:void 0,dataIdx:-1,dataPoints:[],depth:l,dt:a,filled:!1,
|
|
index:g,momentFormat:!1,topGroup:e,type:"",value:[]};this.dom={buttons:f("<div/>").addClass(this.classes.buttonContainer),condition:f("<select disabled/>").addClass(this.classes.condition).addClass(this.classes.dropDown).addClass(this.classes.italic),conditionTitle:f('<option value="" disabled selected hidden/>').text(this.s.dt.i18n("searchBuilder.condition","Condition")),container:f("<div/>").addClass(this.classes.container),data:f("<select/>").addClass(this.classes.data).addClass(this.classes.dropDown).addClass(this.classes.italic),
|
|
dataTitle:f('<option value="" disabled selected hidden/>').text(this.s.dt.i18n("searchBuilder.data","Data")),defaultValue:f("<select disabled/>").addClass(this.classes.value).addClass(this.classes.dropDown),"delete":f("<button>×</button>").addClass(this.classes["delete"]).addClass(this.classes.button).attr("title",this.s.dt.i18n("searchBuilder.deleteTitle","Delete filtering rule")),left:f("<button><</button>").addClass(this.classes.left).addClass(this.classes.button).attr("title",this.s.dt.i18n("searchBuilder.leftTitle",
|
|
"Outdent criteria")),right:f("<button>></button>").addClass(this.classes.right).addClass(this.classes.button).attr("title",this.s.dt.i18n("searchBuilder.rightTitle","Indent criteria")),value:[f("<select disabled/>").addClass(this.classes.value).addClass(this.classes.dropDown).addClass(this.classes.italic)],valueTitle:f('<option value="" disabled selected hidden/>').text(this.s.dt.i18n("searchBuilder.value","Value"))};if(this.c.greyscale)for(f(this.dom.data).addClass(this.classes.greyscale),f(this.dom.condition).addClass(this.classes.greyscale),
|
|
a=0,b=this.dom.value;a<b.length;a++)f(b[a]).addClass(this.classes.greyscale);this.s.dt.on("draw.dtsp",function(){d._adjustCriteria()});this.s.dt.on("buttons-action",function(){d._adjustCriteria()});f(window).on("resize.dtsp",x.util.throttle(function(){d._adjustCriteria()}));this._buildCriteria();return this}c.prototype.updateArrows=function(a,b){void 0===a&&(a=!1);void 0===b&&(b=!0);f(this.dom.container).empty().append(this.dom.data).append(this.dom.condition).append(this.dom.value[0]);f(this.dom.value[0]).trigger("dtsb-inserted");
|
|
for(var e=1;e<this.dom.value.length;e++)f(this.dom.container).append(this.dom.value[e]),f(this.dom.value[e]).trigger("dtsb-inserted");1<this.s.depth&&f(this.dom.buttons).append(this.dom.left);(!1===this.c.depthLimit||this.s.depth<this.c.depthLimit)&&a&&f(this.dom.buttons).append(this.dom.right);f(this.dom.buttons).append(this.dom["delete"]);f(this.dom.container).append(this.dom.buttons);b&&this._adjustCriteria()};c.prototype.destroy=function(){f(this.dom.data).off(".dtsb");f(this.dom.condition).off(".dtsb");
|
|
f(this.dom["delete"]).off(".dtsb");for(var a=0,b=this.dom.value;a<b.length;a++)f(b[a]).off(".dtsb");f(this.dom.container).remove()};c.prototype.search=function(a){var b=this.s.conditions.get(this.s.condition);if(void 0!==this.s.condition&&void 0!==b)return b.search(a[this.s.dataIdx],this.s.value,this)};c.prototype.getDetails=function(){return{condition:this.s.condition,data:this.s.data,value:this.s.value}};c.prototype.getNode=function(){return this.dom.container};c.prototype.populate=function(){this._populateData();
|
|
-1!==this.s.dataIdx&&(this._populateCondition(),void 0!==this.s.condition&&this._populateValue())};c.prototype.rebuild=function(a){var b=!1,e;this._populateData();if(void 0!==a.data){var g=this.classes.italic,l=this.dom.data;f(this.dom.data).children("option").each(function(){f(this).text()===a.data&&(f(this).attr("selected",!0),f(l).removeClass(g),b=!0,e=f(this).val())})}if(b){this.s.data=a.data;this.s.dataIdx=e;f(this.dom.dataTitle).remove();this._populateCondition();f(this.dom.conditionTitle).remove();
|
|
var d;f(this.dom.condition).children("option").each(function(){void 0!==a.condition&&f(this).val()===a.condition&&"string"===typeof a.condition&&(f(this).attr("selected",!0),d=f(this).val())});this.s.condition=d;void 0!==this.s.condition?(f(this.dom.conditionTitle).remove(),f(this.dom.condition).removeClass(this.classes.italic),this._populateValue(a)):f(this.dom.conditionTitle).prependTo(this.dom.condition).attr("selected",!0)}};c.prototype.setListeners=function(){var a=this;f(this.dom.data).unbind("input").on("input",
|
|
function(){f(a.dom.dataTitle).attr("selected",!1);f(a.dom.data).removeClass(a.classes.italic);a.s.dataIdx=f(a.dom.data).children("option:selected").val();a.s.data=f(a.dom.data).children("option:selected").text();a._clearCondition();a._clearValue();a._populateCondition();a.s.filled&&(a.s.filled=!1,a.s.dt.draw(),a.setListeners());a.s.dt.state.save()});f(this.dom.condition).unbind("input").on("input",function(){f(a.dom.conditionTitle).attr("selected",!1);f(a.dom.condition).removeClass(a.classes.italic);
|
|
for(var b=f(a.dom.condition).children("option:selected").val(),e=0,g=Array.from(a.s.conditions.keys());e<g.length;e++)if(g[e]===b){a.s.condition=b;break}a._clearValue();a._populateValue();b=0;for(e=a.dom.value;b<e.length;b++)g=e[b],a.s.filled&&0!==f(a.dom.container).has(g).length&&(a.s.filled=!1,a.s.dt.draw(),a.setListeners());a.s.dt.draw()})};c.prototype._adjustCriteria=function(){if(0!==f(document).has(this.dom.container).length){var a=this.dom.value[this.dom.value.length-1];if(0!==f(this.dom.container).has(a).length){var b=
|
|
f(a).outerWidth(!0);a=f(a).offset().left+b;var e=f(this.dom.left).offset(),g=f(this.dom.right).offset(),l=f(this.dom["delete"]).offset(),d=0!==f(this.dom.container).has(this.dom.left).length,h=0!==f(this.dom.container).has(this.dom.right).length,m=d?e.left:h?g.left:l.left;15>m-a||d&&e.top!==l.top||h&&g.top!==l.top?(f(this.dom.container).parent().addClass(this.classes.vertical),f(this.s.topGroup).trigger("dtsb-redrawContents")):15<m-(f(this.dom.data).offset().left+f(this.dom.data).outerWidth(!0)+f(this.dom.condition).outerWidth(!0)+
|
|
b)&&(f(this.dom.container).parent().removeClass(this.classes.vertical),f(this.s.topGroup).trigger("dtsb-redrawContents"))}}};c.prototype._buildCriteria=function(){f(this.dom.data).append(this.dom.dataTitle);f(this.dom.condition).append(this.dom.conditionTitle);f(this.dom.container).append(this.dom.data).append(this.dom.condition);for(var a=0,b=this.dom.value;a<b.length;a++){var e=b[a];f(e).append(this.dom.valueTitle);f(this.dom.container).append(e)}f(this.dom.container).append(this.dom["delete"]).append(this.dom.right);
|
|
this.setListeners()};c.prototype._clearCondition=function(){f(this.dom.condition).empty();f(this.dom.conditionTitle).attr("selected",!0).attr("disabled",!0);f(this.dom.condition).append(this.dom.conditionTitle);this.s.conditions=new Map;this.s.condition=void 0};c.prototype._clearValue=function(){if(void 0!==this.s.condition){for(var a=0,b=this.dom.value;a<b.length;a++){var e=b[a];f(e).remove()}e=this.s.conditions.get(this.s.condition).init(this,c.updateListener);this.dom.value=Array.isArray(e)?e:
|
|
[e];f(this.dom.value[0]).insertAfter(this.dom.condition).trigger("dtsb-inserted");for(e=1;e<this.dom.value.length;e++)f(this.dom.value[e]).insertAfter(this.dom.value[e-1]).trigger("dtsb-inserted")}else{a=0;for(b=this.dom.value;a<b.length;a++)e=b[a],f(e).remove();f(this.dom.valueTitle).attr("selected",!0).attr("disabled",!1);f(this.dom.defaultValue).append(this.dom.valueTitle).insertAfter(this.dom.condition)}this.s.value=[]};c.prototype._populateCondition=function(){var a=[];if(0===this.s.conditions.size){var b=
|
|
f(this.dom.data).children("option:selected").val();this.s.type=this.s.dt.columns().type().toArray()[b];null===this.s.type&&(this.s.dt.draw(),this.setListeners(),this.s.type=this.s.dt.columns().type().toArray()[b]);f(this.dom.condition).attr("disabled",!1).empty().append(this.dom.conditionTitle).addClass(this.classes.italic);f(this.dom.conditionTitle).attr("selected",!0);var e=void 0!==this.c.conditions[this.s.type]?this.c.conditions[this.s.type]:-1!==this.s.type.indexOf("moment")&&void 0!==f.fn.dataTable.moment?
|
|
this.c.conditions.moment:this.c.conditions.string;-1!==this.s.type.indexOf("moment")&&(this.s.momentFormat=this.s.type.replace(/moment\-/g,""));for(var g=0,l=Object.keys(e);g<l.length;g++)b=l[g],null!==e[b]&&(this.s.conditions.set(b,e[b]),a.push(f("<option>",{text:e[b].conditionName,value:b}).addClass(this.classes.option).addClass(this.classes.notItalic)))}else if(0<this.s.conditions.size)for(f(this.dom.condition).empty().attr("disabled",!1).addClass(this.classes.italic),e=0,g=Array.from(this.s.conditions.keys());e<
|
|
g.length;e++)b=g[e],l=this.s.conditions.get(b).conditionName,b=f("<option>",{text:l,value:b}).addClass(this.classes.option).addClass(this.classes.notItalic),void 0!==this.s.condition&&this.s.condition===l&&(f(b).attr("selected",!0),f(this.dom.condition).removeClass(this.classes.italic)),a.push(b);else{f(this.dom.condition).attr("disabled",!0).addClass(this.classes.italic);return}a.sort(function(d,h){return f(d).val()<f(h).val()?-1:f(d).val()<f(h).val()?1:0});for(b=0;b<a.length;b++)e=a[b],f(this.dom.condition).append(e)};
|
|
c.prototype._populateData=function(){var a=this;f(this.dom.data).empty().append(this.dom.dataTitle);if(0===this.s.dataPoints.length)this.s.dt.columns().every(function(d){if(!0===a.c.columns||-1!==a.s.dt.columns(a.c.columns).indexes().toArray().indexOf(d)){for(var h=!1,m=0,v=a.s.dataPoints;m<v.length;m++)if(v[m].index===d){h=!0;break}h||(d={text:a.s.dt.settings()[0].aoColumns[d].sTitle,index:d},a.s.dataPoints.push(d),f(a.dom.data).append(f("<option>",{text:d.text,value:d.index}).addClass(a.classes.option).addClass(a.classes.notItalic)))}});
|
|
else for(var b=function(d){e.s.dt.columns().every(function(m){a.s.dt.settings()[0].aoColumns[m].sTitle===d.text&&(d.index=m)});var h=f("<option>",{text:d.text,value:d.index}).addClass(e.classes.option).addClass(e.classes.notItalic);e.s.data===d.text&&(e.s.dataIdx=d.index,f(h).attr("selected",!0),f(e.dom.data).removeClass(e.classes.italic));f(e.dom.data).append(h)},e=this,g=0,l=this.s.dataPoints;g<l.length;g++)b(l[g])};c.prototype._populateValue=function(a){var b=this,e=this.s.filled;this.s.filled=
|
|
!1;f(this.dom.defaultValue).remove();for(var g=0,l=this.dom.value;g<l.length;g++)f(l[g]).remove();g=f(this.dom.container).children();if(3<g.length)for(l=2;l<g.length-1;l++)f(g[l]).remove();void 0!==a&&this.s.dt.columns().every(function(d){b.s.dt.settings()[0].aoColumns[d].sTitle===a.data&&(b.s.dataIdx=d)});g=this.s.conditions.get(this.s.condition).init(this,c.updateListener,void 0!==a?a.value:void 0);void 0!==a&&void 0!==a.value&&(this.s.value=a.value);this.dom.value=Array.isArray(g)?g:[g];f(this.dom.value[0]).insertAfter(this.dom.condition).trigger("dtsb-inserted");
|
|
for(l=1;l<this.dom.value.length;l++)f(this.dom.value[l]).insertAfter(this.dom.value[l-1]).trigger("dtsb-inserted");this.s.filled=this.s.conditions.get(this.s.condition).isInputValid(this.dom.value,this);this.setListeners();e!==this.s.filled&&(this.s.dt.draw(),this.setListeners())};c.version="0.0.1";c.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",italic:"dtsb-italic",joiner:"dtsp-joiner",left:"dtsb-left",notItalic:"dtsb-notItalic",option:"dtsb-option",right:"dtsb-right",value:"dtsb-value",vertical:"dtsb-vertical"};c.initSelect=function(a,b,e){void 0===e&&(e=null);for(var g=f(a.dom.data).children("option:selected").val(),l=a.s.dt.rows().indexes().toArray(),d=a.s.dt.settings()[0],h=f("<select/>").addClass(c.classes.value).addClass(c.classes.dropDown).addClass(c.classes.italic).append(a.dom.valueTitle).on("input",function(){f(this).removeClass(c.classes.italic);
|
|
b(a,this)}),m=[],v=[],w=0;w<l.length;w++){var A=l[w],B=d.oApi._fnGetCellData(d,A,g,a.c.orthogonal.search);A=d.oApi._fnGetCellData(d,A,g,"display");B=f("<option>",{text:a.s.type.includes("html")?A.replace(/(<([^>]+)>)/ig,""):A,value:a.s.type.includes("html")?B.replace(/(<([^>]+)>)/ig,""):B}).addClass(a.classes.option).addClass(a.classes.notItalic);A=f(B).val();-1===m.indexOf(A)&&(m.push(A),v.push(B),null!==e&&B.val()===e[0]&&(B.attr("selected",!0),a.dom.valueTitle.remove(),f(h).removeClass(c.classes.italic)))}v.sort(function(G,
|
|
E){if("string"===a.s.type||"num"===a.s.type||"html"===a.s.type||"html-num"===a.s.type)return f(G).val()<f(E).val()?-1:f(G).val()<f(E).val()?1:0;if("num-fmt"===a.s.type||"html-num-fmt"===a.s.type)return+f(G).val().replace(/[^0-9.]/g,"")<+f(E).val().replace(/[^0-9.]/g,"")?-1:+f(G).val().replace(/[^0-9.]/g,"")<+f(E).val().replace(/[^0-9.]/g,"")?1:0});for(e=0;e<v.length;e++)B=v[e],f(h).append(B);return h};c.initInput=function(a,b,e){void 0===e&&(e=null);var g=f("<input/>").addClass(c.classes.value).addClass(c.classes.input).on("input",
|
|
function(){b(a,this)});null!==e&&f(g).val(e[0]);return g};c.init2Input=function(a,b,e){void 0===e&&(e=null);var g=[f("<input/>").addClass(c.classes.value).addClass(c.classes.input).on("input",function(){b(a,this)}),f("<span>").addClass(a.classes.joiner).text("and"),f("<input/>").addClass(c.classes.value).addClass(c.classes.input).on("input",function(){b(a,this)})];null!==e&&(f(g[0]).val(e[0]),f(g[2]).val(e[1]));return g};c.initDate=function(a,b,e){void 0===e&&(e=null);var g=f("<input/>").addClass(c.classes.value).addClass(c.classes.input).dtDateTime({attachTo:"input",
|
|
format:a.s.momentFormat?a.s.momentFormat:void 0}).on("input change",function(){b(a,this)});null!==e&&f(g).val(e[0]);return g};c.init2Date=function(a,b,e){void 0===e&&(e=null);var g=[f("<input/>").addClass(c.classes.value).addClass(c.classes.input).dtDateTime({attachTo:"input",format:a.s.momentFormat?a.s.momentFormat:void 0}).on("input change",function(){b(a,this)}),f("<span>").addClass(a.classes.joiner).text("and"),f("<input/>").addClass(c.classes.value).addClass(c.classes.input).dtDateTime({attachTo:"input",
|
|
format:a.s.momentFormat?a.s.momentFormat:void 0}).on("input change",function(){b(a,this)})];null!==e&&0<e.length&&(f(g[0]).val(e[0]),f(g[2]).val(e[1]));return g};c.isInputValidSelect=function(a){for(var b=!0,e=0;e<a.length;e++){var g=a[e];f(g).children("option:selected").length===f(g).children("option").length-f(g).children("option."+c.classes.notItalic).length&&1===f(g).children("option:selected").length&&f(g).children("option:selected")[0]===f(g).children("option:hidden")[0]&&(b=!1)}return b};c.isInputValidInput=
|
|
function(a){for(var b=!0,e=0;e<a.length;e++){var g=a[e];f(g).is("input")&&0===f(g).val().length&&(b=!1)}return b};c.inputValueSelect=function(a){for(var b=[],e=0;e<a.length;e++){var g=a[e];f(g).is("select")&&b.push(f(g).children("option:selected").val())}return b};c.inputValueInput=function(a){for(var b=[],e=0;e<a.length;e++){var g=a[e];f(g).is("input")&&b.push(f(g).val())}return b};c.updateListener=function(a,b){var e=a.s.conditions.get(a.s.condition);a.s.filled=e.isInputValid(a.dom.value,a);a.s.value=
|
|
e.inputValue(a.dom.value,a);Array.isArray(a.s.value)||(a.s.value=[a.s.value]);for(var g=e=null,l=0;l<a.dom.value.length;l++)b===a.dom.value[l][0]&&(e=l,void 0!==b.selectionStart&&(g=b.selectionStart));a.s.dt.draw();null!==e&&(f(a.dom.value[e]).removeClass(a.classes.italic),f(a.dom.value[e]).focus(),null!==g&&f(a.dom.value[e])[0].setSelectionRange(g,g))};c.dateConditions={"!=":{conditionName:"Not",init:c.initDate,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){a=
|
|
a.replace(/(\/|\-|,)/g,"-");return a!==b[0]}},"!between":{conditionName:"Not Between",init:c.init2Date,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){a=a.replace(/(\/|\-|,)/g,"-");return b[0]<b[1]?!(b[0]<=a&&a<=b[1]):!(b[1]<=a&&a<=b[0])}},"!null":{conditionName:"Not Empty",isInputValid:function(){return!0},init:function(){},inputValue:function(){},search:function(a,b){return!(null===a||void 0===a||0===a.length)}},"<":{conditionName:"Before",init:c.initDate,inputValue:c.inputValueInput,
|
|
isInputValid:c.isInputValidInput,search:function(a,b){a=a.replace(/(\/|\-|,)/g,"-");return a<b[0]}},"=":{conditionName:"Equals",init:c.initDate,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){a=a.replace(/(\/|\-|,)/g,"-");return a===b[0]}},">":{conditionName:"After",init:c.initDate,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){a=a.replace(/(\/|\-|,)/g,"-");return a>b[0]}},between:{conditionName:"Between",init:c.init2Date,inputValue:c.inputValueInput,
|
|
isInputValid:c.isInputValidInput,search:function(a,b){a=a.replace(/(\/|\-|,)/g,"-");return b[0]<b[1]?b[0]<=a&&a<=b[1]:b[1]<=a&&a<=b[0]}},"null":{conditionName:"Empty",isInputValid:function(){return!0},init:function(){},inputValue:function(){},search:function(a,b){return null===a||void 0===a||0===a.length}}};c.momentDateConditions={"!=":{conditionName:"Not",init:c.initDate,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b,e){return y(a,e.s.momentFormat).valueOf()!==
|
|
y(b[0],e.s.momentFormat).valueOf()}},"!between":{conditionName:"Not Between",init:c.init2Date,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b,e){a=y(a,e.s.momentFormat).valueOf();var g=y(b[0],e.s.momentFormat).valueOf();b=y(b[1],e.s.momentFormat).valueOf();return g<b?!(+g<=+a&&+a<=+b):!(+b<=+a&&+a<=+g)}},"!null":{conditionName:"Not Empty",isInputValid:function(){return!0},init:function(){},inputValue:function(){},search:function(a,b){return!(null===a||void 0===a||
|
|
0===a.length)}},"<":{conditionName:"Before",init:c.initDate,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b,e){return y(a,e.s.momentFormat).valueOf()<y(b[0],e.s.momentFormat).valueOf()}},"=":{conditionName:"Equals",init:c.initDate,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b,e){return y(a,e.s.momentFormat).valueOf()===y(b[0],e.s.momentFormat).valueOf()}},">":{conditionName:"After",init:c.initDate,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,
|
|
search:function(a,b,e){return y(a,e.s.momentFormat).valueOf()>y(b[0],e.s.momentFormat).valueOf()}},between:{conditionName:"Between",init:c.init2Date,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b,e){a=y(a,e.s.momentFormat).valueOf();var g=y(b[0],e.s.momentFormat).valueOf();b=y(b[1],e.s.momentFormat).valueOf();return g<b?g<=a&&a<=b:b<=a&&a<=g}},"null":{conditionName:"Empty",isInputValid:function(){return!0},init:function(){},inputValue:function(){},search:function(a,
|
|
b){return null===a||void 0===a||0===a.length}}};c.numConditions={"!=":{conditionName:"Not",init:c.initSelect,inputValue:c.inputValueSelect,isInputValid:c.isInputValidSelect,search:function(a,b){return+a!==+b[0]}},"!between":{conditionName:"Not Between",init:c.init2Input,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){return+b[0]<+b[1]?!(+b[0]<=+a&&+a<=+b[1]):!(+b[1]<=+a&&+a<=+b[0])}},"!null":{conditionName:"Not Empty",isInputValid:function(){return!0},init:function(){},
|
|
inputValue:function(){},search:function(a,b){return!(null===a||void 0===a||0===a.length)}},"<":{conditionName:"Less Than",init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){return+a<+b[0]}},"<=":{conditionName:"Less Than Equal To",init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){return+a<=+b[0]}},"=":{conditionName:"Equals",init:c.initSelect,inputValue:c.inputValueSelect,isInputValid:c.isInputValidSelect,
|
|
search:function(a,b){return+a===+b[0]}},">":{conditionName:"Greater Than",init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){return+a>+b[0]}},">=":{conditionName:"Greater Than Equal To",init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){return+a>=+b[0]}},between:{conditionName:"Between",init:c.init2Input,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){return+b[0]<+b[1]?
|
|
+b[0]<=+a&&+a<=+b[1]:+b[1]<=+a&&+a<=+b[0]}},"null":{conditionName:"Empty",init:function(){},inputValue:function(){},isInputValid:function(){return!0},search:function(a,b){return null===a||void 0===a||0===a.length}}};c.numFmtConditions={"!=":{conditionName:"Not",init:c.initSelect,inputValue:c.inputValueSelect,isInputValid:c.isInputValidSelect,search:function(a,b){a=a.replace(/[^0-9.]/g,"");b=b[0].replace(/[^0-9.]/g,"");return+a!==+b}},"!between":{conditionName:"Not Between",init:c.init2Input,inputValue:c.inputValueInput,
|
|
isInputValid:c.isInputValidInput,search:function(a,b){a=a.replace(/[^0-9.]/g,"");var e=b[0].replace(/[^0-9.]/g,"");b=b[1].replace(/[^0-9.]/g,"");return e<b?!(+e<=+a&&+a<=+b):!(+b<=+a&&+a<=+e)}},"!null":{conditionName:"Not Empty",isInputValid:function(){return!0},init:function(){},inputValue:function(){},search:function(a,b){return!(null===a||void 0===a||0===a.length)}},"<":{conditionName:"Less Than",init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){a=
|
|
a.replace(/[^0-9.]/g,"");b=b[0].replace(/[^0-9.]/g,"");return+a<+b}},"<=":{conditionName:"Less Than Equal To",init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){a=a.replace(/[^0-9.]/g,"");b=b[0].replace(/[^0-9.]/g,"");return+a<=+b}},"=":{conditionName:"Equals",init:c.initSelect,inputValue:c.inputValueSelect,isInputValid:c.isInputValidSelect,search:function(a,b){a=a.replace(/[^0-9.]/g,"");b=b[0].replace(/[^0-9.]/g,"");return+a===+b}},">":{conditionName:"Greater Than",
|
|
init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){a=a.replace(/[^0-9.]/g,"");b=b[0].replace(/[^0-9.]/g,"");return+a>+b}},">=":{conditionName:"Greater Than Equal To",init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){a=a.replace(/[^0-9.]/g,"");b=b[0].replace(/[^0-9.]/g,"");return+a>=+b}},between:{conditionName:"Between",init:c.init2Input,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,
|
|
b){a=a.replace(/[^0-9.]/g,"");var e=b[0].replace(/[^0-9.]/g,"");b=b[1].replace(/[^0-9.]/g,"");return e<b?+e<=+a&&+a<=+b:+b<=+a&&+a<=+e}},"null":{conditionName:"Empty",init:function(){},inputValue:function(){},isInputValid:function(){return!0},search:function(a,b){return null===a||void 0===a||0===a.length}}};c.stringConditions={"!=":{conditionName:"Not",init:c.initSelect,inputValue:c.inputValueSelect,isInputValid:c.isInputValidInput,search:function(a,b){return a!==b[0]}},"!null":{conditionName:"Not Empty",
|
|
isInputValid:function(){return!0},init:function(){},inputValue:function(){},search:function(a,b){return!(null===a||void 0===a||0===a.length)}},"=":{conditionName:"Equals",init:c.initSelect,inputValue:c.inputValueSelect,isInputValid:c.isInputValidSelect,search:function(a,b){return a===b[0]}},contains:{conditionName:"Contains",init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){return a.toLowerCase().includes(b[0].toLowerCase())}},ends:{conditionName:"Ends With",
|
|
init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){return a.toLowerCase().indexOf(b[0].toLowerCase())===a.length-b[0].length}},"null":{conditionName:"Empty",init:function(){},inputValue:function(){},isInputValid:function(){return!0},search:function(a,b){return null===a||void 0===a||0===a.length}},starts:{conditionName:"Starts With",init:c.initInput,inputValue:c.inputValueInput,isInputValid:c.isInputValidInput,search:function(a,b){return 0===a.toLowerCase().indexOf(b[0].toLowerCase())}}};
|
|
c.defaults={columns:!0,conditions:{date:c.dateConditions,html:c.stringConditions,"html-num":c.numConditions,"html-num-fmt":c.numFmtConditions,moment:c.momentDateConditions,num:c.numConditions,"num-fmt":c.numFmtConditions,string:c.stringConditions},depthLimit:!1,greyscale:!1,orthogonal:{conditionName:"Condition Name",search:"filter"}};return c}(),q,u,t=function(){function c(a,b,e,g,l,d){void 0===g&&(g=0);void 0===l&&(l=!1);void 0===d&&(d=1);if(!u||!u.versionCheck||!u.versionCheck("1.10.0"))throw Error("SearchBuilder requires DataTables 1.10 or newer");
|
|
this.classes=q.extend(!0,{},c.classes);this.c=q.extend(!0,{},c.defaults,b);this.s={criteria:[],depth:d,dt:a,index:g,isChild:l,logic:void 0,opts:b,toDrop:void 0,topGroup:e};this.dom={add:q("<button/>").addClass(this.classes.add).addClass(this.classes.button),clear:q("<button>×</button>").addClass(this.classes.button).addClass(this.classes.clearGroup),container:q("<div/>").addClass(this.classes.group),logic:q("<button/>").addClass(this.classes.logic).addClass(this.classes.button),logicContainer:q("<div/>").addClass(this.classes.logicContainer)};
|
|
void 0===this.s.topGroup&&(this.s.topGroup=this.dom.container);this._setup();return this}c.prototype.destroy=function(){q(this.dom.add).off(".dtsb");q(this.dom.logic).off(".dtsb");q(this.dom.container).trigger("dtsb-destroy").remove();this.s.criteria=[]};c.prototype.getDetails=function(){if(0===this.s.criteria.length)return{};for(var a={criteria:[],logic:this.s.logic},b=0,e=this.s.criteria;b<e.length;b++)a.criteria.push(e[b].criteria.getDetails());return a};c.prototype.getNode=function(){return this.dom.container};
|
|
c.prototype.rebuild=function(a){if(void 0!==a.criteria&&null!==a.criteria&&0!==a.criteria.length){this.s.logic=a.logic;q(this.dom.logic).text("OR"===this.s.logic?this.s.dt.i18n("searchBuilder.logicOr","Or"):this.s.dt.i18n("searchBuilder.logicAnd","And"));for(var b=0,e=a.criteria;b<e.length;b++)a=e[b],void 0!==a.logic?this._addPrevGroup(a):void 0===a.logic&&this._addPrevCriteria(a);b=0;for(e=this.s.criteria;b<e.length;b++)a=e[b],void 0===a.logic&&(a.criteria.updateArrows(1<this.s.criteria.length,!1),
|
|
this._setCriteriaListeners(a.criteria))}};c.prototype.redrawContents=function(){q(this.dom.container).empty().append(this.dom.logicContainer).append(this.dom.add);this.s.criteria.sort(function(b,e){return b.criteria.s.index<e.criteria.s.index?-1:b.criteria.s.index>e.criteria.s.index?1:0});this.setListeners();for(var a=0;a<this.s.criteria.length;a++)void 0===this.s.criteria[a].logic?(this.s.criteria[a].index=a,this.s.criteria[a].criteria.s.index=a,q(this.s.criteria[a].criteria.dom.container).insertBefore(this.dom.add),
|
|
this._setCriteriaListeners(this.s.criteria[a].criteria),this.s.criteria[a].criteria.rebuild(this.s.criteria[a].criteria.getDetails())):0<this.s.criteria[a].criteria.s.criteria.length?(this.s.criteria[a].index=a,this.s.criteria[a].criteria.s.index=a,q(this.s.criteria[a].criteria.dom.container).insertBefore(this.dom.add),this.s.criteria[a].criteria.redrawContents(),this._setGroupListeners(this.s.criteria[a].criteria)):(this.s.criteria.splice(a,1),a--);this.setupLogic()};c.prototype.search=function(a){return"AND"===
|
|
this.s.logic?this._andSearch(a):"OR"===this.s.logic?this._orSearch(a):!0};c.prototype.setupLogic=function(){q(this.dom.logicContainer).remove();q(this.dom.clear).remove();if(1>this.s.criteria.length)this.s.isChild||(q(this.dom.container).trigger("dtsb-destroy"),q(this.dom.container).css("margin-left",0));else{var a=q(this.dom.container).height()-2;q(this.dom.clear).height("0px");q(this.dom.logicContainer).append(this.dom.clear).width(a);q(this.dom.container).prepend(this.dom.logicContainer);this._setLogicListener();
|
|
q(this.dom.container).css("margin-left",q(this.dom.logicContainer).outerHeight(!0));a=q(this.dom.logicContainer).offset();var b=a.left,e=q(this.dom.container).offset().left;b=b-(b-e)-q(this.dom.logicContainer).outerHeight(!0);q(this.dom.logicContainer).offset({left:b});b=q(this.dom.logicContainer).next();a=a.top;b=q(b).offset().top;a-=a-b;q(this.dom.logicContainer).offset({top:a});q(this.dom.clear).outerHeight(q(this.dom.logicContainer).height());this._setClearListener()}};c.prototype.setListeners=
|
|
function(){var a=this;q(this.dom.add).unbind("click");q(this.dom.add).on("click",function(){a.s.isChild||q(a.dom.container).prepend(a.dom.logicContainer);a.addCriteria();q(a.dom.container).trigger("dtsb-add");a.s.dt.state.save();return!1});for(var b=0,e=this.s.criteria;b<e.length;b++)e[b].criteria.setListeners();this._setClearListener();this._setLogicListener()};c.prototype.addCriteria=function(a,b){void 0===a&&(a=null);void 0===b&&(b=!0);var e=null===a?this.s.criteria.length:a.s.index,g=new C(this.s.dt,
|
|
this.s.opts,this.s.topGroup,e,this.s.depth);null!==a&&(g.c=a.c,g.s=a.s,g.s.depth=this.s.depth,g.classes=a.classes);g.populate();a=!1;for(var l=0;l<this.s.criteria.length;l++)0===l&&this.s.criteria[l].criteria.s.index>g.s.index?(q(g.getNode()).insertBefore(this.s.criteria[l].criteria.dom.container),a=!0):l<this.s.criteria.length-1&&this.s.criteria[l].criteria.s.index<g.s.index&&this.s.criteria[l+1].criteria.s.index>g.s.index&&(q(g.getNode()).insertAfter(this.s.criteria[l].criteria.dom.container),a=
|
|
!0);a||q(g.getNode()).insertBefore(this.dom.add);this.s.criteria.push({criteria:g,index:e});this.s.criteria=this.s.criteria.sort(function(d,h){return d.criteria.s.index-h.criteria.s.index});e=0;for(a=this.s.criteria;e<a.length;e++)l=a[e],void 0===l.logic&&l.criteria.updateArrows(1<this.s.criteria.length,b);this._setCriteriaListeners(g);g.setListeners();this.setupLogic()};c.prototype.checkFilled=function(){for(var a=0,b=this.s.criteria;a<b.length;a++){var e=b[a];if(void 0===e.logic&&e.criteria.s.filled||
|
|
void 0!==e.logic&&e.criteria.checkFilled())return!0}return!1};c.prototype.count=function(){for(var a=0,b=0,e=this.s.criteria;b<e.length;b++){var g=e[b];void 0!==g.logic?a+=g.criteria.count():a++}return a};c.prototype._addPrevGroup=function(a){var b=this.s.criteria.length,e=new c(this.s.dt,this.c,this.s.topGroup,b,!0,this.s.depth+1);this.s.criteria.push({criteria:e,index:b,logic:e.s.logic});e.rebuild(a);this.s.criteria[b].criteria=e;q(this.s.topGroup).trigger("dtsb-redrawContents");this._setGroupListeners(e)};
|
|
c.prototype._addPrevCriteria=function(a){var b=this.s.criteria.length,e=new C(this.s.dt,this.s.opts,this.s.topGroup,b,this.s.depth);e.populate();this.s.criteria.push({criteria:e,index:b});e.rebuild(a);this.s.criteria[b].criteria=e;q(this.s.topGroup).trigger("dtsb-redrawContents")};c.prototype._andSearch=function(a){if(0===this.s.criteria.length)return!0;for(var b=0,e=this.s.criteria;b<e.length;b++){var g=e[b];if((void 0!==g.logic||g.criteria.s.filled)&&!g.criteria.search(a))return!1}return!0};c.prototype._orSearch=
|
|
function(a){if(0===this.s.criteria.length)return!0;for(var b=!1,e=0,g=this.s.criteria;e<g.length;e++){var l=g[e];if(l.criteria.s.filled){if(b=!0,l.criteria.search(a))return!0}else if(void 0!==l.logic&&l.criteria.checkFilled()&&(b=!0,l.criteria.search(a)))return!0}return!b};c.prototype._removeCriteria=function(a,b){void 0===b&&(b=!1);if(1>=this.s.criteria.length&&this.s.isChild)this.destroy();else{for(var e=void 0,g=0;g<this.s.criteria.length;g++)this.s.criteria[g].index===a.s.index&&(!b||this.s.criteria[g].criteria instanceof
|
|
c)&&(e=g);void 0!==e&&this.s.criteria.splice(e,1);for(g=0;g<this.s.criteria.length;g++)this.s.criteria[g].index=g,this.s.criteria[g].criteria.s.index=g}};c.prototype._setCriteriaListeners=function(a){var b=this;q(a.dom["delete"]).unbind("click").on("click",function(){b._removeCriteria(a);q(a.dom.container).remove();b.setupLogic();for(var e=0,g=b.s.criteria;e<g.length;e++){var l=g[e];void 0===l.logic&&l.criteria.updateArrows(1<b.s.criteria.length)}a.destroy();b.s.dt.draw();q(b.s.topGroup).trigger("dtsb-updateTitle");
|
|
return!1});q(a.dom.right).unbind("click").on("click",function(){var e=a.s.index,g=new c(b.s.dt,b.s.opts,b.s.topGroup,a.s.index,!0,b.s.depth+1);g.addCriteria(a);b.s.criteria[e].criteria=g;b.s.criteria[e].logic="AND";q(b.s.topGroup).trigger("dtsb-redrawContents");b._setGroupListeners(g);return!1});q(a.dom.left).unbind("click").on("click",function(){b.s.toDrop=new C(b.s.dt,b.s.opts,b.s.topGroup,a.s.index);b.s.toDrop.s=a.s;b.s.toDrop.c=a.c;b.s.toDrop.classes=a.classes;b.s.toDrop.populate();var e=b.s.toDrop.s.index;
|
|
q(b.dom.container).trigger("dtsb-dropCriteria");a.s.index=e;b._removeCriteria(a);q(b.s.topGroup).trigger("dtsb-redrawContents");b.s.dt.draw();return!1})};c.prototype._setClearListener=function(){var a=this;q(this.dom.clear).unbind("click").on("click",function(){if(!a.s.isChild)return q(a.dom.container).trigger("dtsb-clearContents"),!1;a.destroy();q(a.s.topGroup).trigger("dtsb-updateTitle");q(a.s.topGroup).trigger("dtsb-redrawContents");return!1})};c.prototype._setGroupListeners=function(a){var b=
|
|
this;q(a.dom.add).unbind("click").on("click",function(){b.setupLogic();q(b.dom.container).trigger("dtsb-add");return!1});q(a.dom.container).unbind("dtsb-add").on("dtsb-add",function(){b.setupLogic();q(b.dom.container).trigger("dtsb-add");return!1});q(a.dom.container).unbind("dtsb-destroy").on("dtsb-destroy",function(){b._removeCriteria(a,!0);q(a.dom.container).remove();b.setupLogic();return!1});q(a.dom.container).unbind("dtsb-dropCriteria").on("dtsb-dropCriteria",function(){var e=a.s.toDrop;e.s.index=
|
|
a.s.index;e.updateArrows(1<b.s.criteria.length,!1);b.addCriteria(e,!1);return!1});a.setListeners()};c.prototype._setup=function(){this.setListeners();q(this.dom.add).text(this.s.dt.i18n("searchBuilder.add","Add Condition"));q(this.dom.logic).text("OR"===this.c.logic?this.s.dt.i18n("searchBuilder.logicOr","Or"):this.s.dt.i18n("searchBuilder.logicAnd","And"));this.s.logic="OR"===this.c.logic?"OR":"AND";this.c.greyscale&&q(this.dom.logic).addClass(this.classes.greyscale);q(this.dom.logicContainer).append(this.dom.logic).append(this.dom.clear);
|
|
this.s.isChild&&q(this.dom.container).append(this.dom.logicContainer);q(this.dom.container).append(this.dom.add)};c.prototype._setLogicListener=function(){var a=this;q(this.dom.logic).unbind("click").on("click",function(){a._toggleLogic();a.s.dt.draw();for(var b=0,e=a.s.criteria;b<e.length;b++)e[b].criteria.setListeners()})};c.prototype._toggleLogic=function(){"OR"===this.s.logic?(this.s.logic="AND",q(this.dom.logic).text(this.s.dt.i18n("searchBuilder.logicAnd","And"))):"AND"===this.s.logic&&(this.s.logic=
|
|
"OR",q(this.dom.logic).text(this.s.dt.i18n("searchBuilder.logicOr","Or")))};c.version="0.0.1";c.classes={add:"dtsb-add",button:"dtsb-button",clearGroup:"dtsb-clearGroup",greyscale:"dtsb-greyscale",group:"dtsb-group",inputButton:"dtsb-iptbtn",logic:"dtsb-logic",logicContainer:"dtsb-logicContainer"};c.defaults={depthLimit:!1,greyscale:!1,logic:"AND"};return c}(),n,z,K=function(){function c(a,b){var e=this;if(!z||!z.versionCheck||!z.versionCheck("1.10.0"))throw Error("SearchBuilder requires DataTables 1.10 or newer");
|
|
a=new z.Api(a);this.classes=n.extend(!0,{},c.classes);this.c=n.extend(!0,{},c.defaults,b);this.dom={clearAll:n('<button type="button">'+a.i18n("searchBuilder.clearAll","Clear All")+"</button>").addClass(this.classes.clearAll).addClass(this.classes.button),container:n("<div/>").addClass(this.classes.container),title:n("<div/>").addClass(this.classes.title),titleRow:n("<div/>").addClass(this.classes.titleRow),topGroup:void 0};this.s={dt:a,opts:b,search:void 0,topGroup:void 0};if(void 0===a.settings()[0]._searchBuilder){a.settings()[0]._searchBuilder=
|
|
this;if(this.s.dt.settings()[0]._bInitComplete)this._setUp();else a.one("init.dt",function(){e._setUp()});return this}}c.prototype.getDetails=function(){return this.s.topGroup.getDetails()};c.prototype.getNode=function(){return this.dom.container};c.prototype.rebuild=function(a){n(this.dom.clearAll).click();if(void 0===a||null===a)return this;this.s.topGroup.rebuild(a);this.s.dt.draw();this.s.topGroup.setListeners();return this};c.prototype._applyPreDefDefaults=function(a){var b=this;void 0!==a.criteria&&
|
|
void 0===a.logic&&(a.logic="AND");for(var e=function(h){void 0!==h.criteria?h=g._applyPreDefDefaults(h):g.s.dt.columns().every(function(m){b.s.dt.settings()[0].aoColumns[m].sTitle===h.data&&(h.dataIdx=m)})},g=this,l=0,d=a.criteria;l<d.length;l++)e(d[l]);return a};c.prototype._setUp=function(a){var b=this;void 0===a&&(a=!0);this.s.topGroup=new t(this.s.dt,this.c,void 0);this._setClearListener();this.s.dt.on("stateSaveParams",function(e,g,l){l.searchBuilder=b.getDetails();l.page=b.s.dt.page()});this._build();
|
|
a&&(a=this.s.dt.state.loaded(),null!==a&&void 0!==a.searchBuilder?(this.s.topGroup.rebuild(a.searchBuilder),n(this.s.topGroup.dom.container).trigger("dtsb-redrawContents"),this.s.dt.page(a.page).draw("page"),this.s.topGroup.setListeners()):!1!==this.c.preDefined&&(this.c.preDefined=this._applyPreDefDefaults(this.c.preDefined),this.rebuild(this.c.preDefined)));this._setEmptyListener();this.s.dt.state.save()};c.prototype._updateTitle=function(a){n(this.dom.title).text(this.s.dt.i18n("searchBuilder.title",
|
|
{0:"Custom Search Builder",_:"Custom Search Builder (%d)"},a))};c.prototype._build=function(){var a=this;n(this.dom.clearAll).remove();n(this.dom.container).empty();var b=this.s.topGroup.count();this._updateTitle(b);n(this.dom.titleRow).append(this.dom.title);n(this.dom.container).append(this.dom.titleRow);this.dom.topGroup=this.s.topGroup.getNode();n(this.dom.container).append(this.dom.topGroup);this._setRedrawListener();var e=this.s.dt.table(0).node();-1===n.fn.dataTable.ext.search.indexOf(this.s.search)&&
|
|
(this.s.search=function(g,l,d,h){return g.nTable!==e?!0:a.s.topGroup.search(l)},n.fn.dataTable.ext.search.push(this.s.search));n.fn.DataTable.Api.registerPlural("columns().type()","column().type()",function(g,l){return this.iterator("column",function(d,h){return d.aoColumns[h].sType},1)});this.s.dt.on("destroy.dt",function(){n(a.dom.container).remove();n(a.dom.clearAll).remove();for(var g=n.fn.dataTable.ext.search.indexOf(a.s.search);-1!==g;)n.fn.dataTable.ext.search.splice(g,1),g=n.fn.dataTable.ext.search.indexOf(a.s.search)})};
|
|
c.prototype._checkClear=function(){0<this.s.topGroup.s.criteria.length?(n(this.dom.clearAll).insertAfter(this.dom.title),this._setClearListener()):n(this.dom.clearAll).remove()};c.prototype._setClearListener=function(){var a=this;n(this.dom.clearAll).unbind("click");n(this.dom.clearAll).on("click",function(){a.s.topGroup=new t(a.s.dt,a.s.opts,void 0);a._build();a.s.dt.draw();a.s.topGroup.setListeners();n(a.dom.clearAll).remove();a._setEmptyListener();void 0!==a.c.filterChanged&&"function"===typeof a.c.filterChanged&&
|
|
a.c.filterChanged(0);return!1})};c.prototype._setRedrawListener=function(){var a=this;n(this.s.topGroup.dom.container).unbind("dtsb-redrawContents");n(this.s.topGroup.dom.container).on("dtsb-redrawContents",function(){a._checkClear();a.s.topGroup.redrawContents();a.s.topGroup.setupLogic();a._setEmptyListener();var b=a.s.topGroup.count();a._updateTitle(b);void 0!==a.c.filterChanged&&"function"===typeof a.c.filterChanged&&a.c.filterChanged(b);a.s.dt.state.save()});n(this.s.topGroup.dom.container).unbind("dtsb-clearContents");
|
|
n(this.s.topGroup.dom.container).on("dtsb-clearContents",function(){a._setUp(!1);void 0!==a.c.filterChanged&&"function"===typeof a.c.filterChanged&&a.c.filterChanged(0);a.s.dt.draw()});n(this.s.topGroup.dom.container).on("dtsb-updateTitle",function(){var b=a.s.topGroup.count();a._updateTitle(b);void 0!==a.c.filterChanged&&"function"===typeof a.c.filterChanged&&a.c.filterChanged(b)})};c.prototype._setEmptyListener=function(){var a=this;n(this.s.topGroup.dom.add).on("click",function(){a._checkClear()});
|
|
n(this.s.topGroup.dom.container).on("dtsb-destroy",function(){n(a.dom.clearAll).remove()})};c.version="0.0.1";c.classes={button:"dtsb-button",clearAll:"dtsb-clearAll",container:"dtsb-searchBuilder",inputButton:"dtsb-iptbtn",title:"dtsb-title",titleRow:"dtsb-titleRow"};c.defaults={filterChanged:void 0,preDefined:!1};return c}();(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,
|
|
b){a||(a=window);b&&b.fn.dataTable||(b=require("datatables.net")(a,b).$);return c(b,a,a.document)}:c(window.jQuery,window,document)})(function(c,a,b){function e(l){l=new g.Api(l);var d=l.init().searchBuilder||g.defaults.searchBuilder;return(new K(l,d)).getNode()}r(c);p(c);k(c);var g=c.fn.dataTable;c.fn.dataTable.SearchBuilder=K;c.fn.DataTable.SearchBuilder=K;c.fn.dataTable.Group=t;c.fn.DataTable.Group=t;c.fn.dataTable.Criteria=C;c.fn.DataTable.Criteria=C;a=c.fn.dataTable.Api.register;c.fn.dataTable.ext.searchBuilder=
|
|
{conditions:{}};c.fn.dataTable.ext.buttons.searchBuilder={action:function(l,d,h,m){l.stopPropagation();this.popover(m._searchBuilder.getNode(),{align:"dt-container"})},config:{},init:function(l,d,h){var m=new c.fn.dataTable.SearchBuilder(l,c.extend({filterChanged:function(w){l.button(d).text(l.i18n("searchBuilder.button",{0:"Search Builder",_:"Search Builder (%d)"},w))}},h.config)),v=l.i18n("searchBuilder.button","Search Builder",0);l.button(d).text(v);h._searchBuilder=m},text:"Search Builder"};a("searchBuilder.getDetails()",
|
|
function(){return this.context[0]._searchBuilder.getDetails()});a("searchBuilder.rebuild()",function(l){this.context[0]._searchBuilder.rebuild(l);return this});a("searchBuilder.container()",function(){return this.context[0]._searchBuilder.getNode()});c(b).on("preInit.dt.dtsp",function(l,d,h){"dt"===l.namespace&&(d.oInit.searchBuilder||g.defaults.searchBuilder)&&(d._searchBuilder||e(d))});g.ext.feature.push({cFeature:"Q",fnInit:e});g.ext.features&&g.ext.features.register("searchBuilder",e)})})();
|