TIF_E41201544/public/assets/libs/datatables.net-searchpanes/js/dataTables.searchPanes.min.mjs

4 lines
55 KiB
JavaScript

/*! SearchPanes 2.1.2
* © SpryMedia Ltd - datatables.net/license
*/
import $ from"jquery";import DataTable from"datatables.net";!function(){"use strict";var b,_;r.prototype.addRow=function(t,s,e,a,i,o,n){var r;o=o||this.s.rowData.bins[s]||0,n=n||this._getShown(s);for(var l=0,d=this.s.indexes;l<d.length;l++){var h=d[l];h.filter===s&&(r=h.index)}return void 0===r&&(r=this.s.indexes.length,this.s.indexes.push({filter:s,index:r})),this.s.dtPane.row.add({className:i,display:""!==t?t:this.emptyMessage(),filter:s,index:r,shown:n,sort:e,total:o,type:a})},r.prototype.adjustTopRow=function(){var t=this.dom.container.find("."+this.classes.subRowsContainer.replace(/\s+/g,".")),s=this.dom.container.find("."+this.classes.subRow1.replace(/\s+/g,".")),e=this.dom.container.find("."+this.classes.subRow2.replace(/\s+/g,".")),a=this.dom.container.find("."+this.classes.topRow.replace(/\s+/g,"."));(b(t[0]).width()<252||b(a[0]).width()<252)&&0!==b(t[0]).width()?(b(t[0]).addClass(this.classes.narrow),b(s[0]).addClass(this.classes.narrowSub).removeClass(this.classes.narrowSearch),b(e[0]).addClass(this.classes.narrowSub).removeClass(this.classes.narrowButton)):(b(t[0]).removeClass(this.classes.narrow),b(s[0]).removeClass(this.classes.narrowSub).addClass(this.classes.narrowSearch),b(e[0]).removeClass(this.classes.narrowSub).addClass(this.classes.narrowButton))},r.prototype.clearData=function(){this.s.rowData={arrayFilter:[],arrayOriginal:[],bins:{},binsOriginal:{},filterMap:new Map,totalOptions:0}},r.prototype.clearPane=function(){return this.s.dtPane.rows({selected:!0}).deselect(),this.updateTable(),this},r.prototype.collapse=function(){var t=this;this.s.displayed&&(this.c.collapse||!0===this.s.colOpts.collapse)&&!1!==this.s.colOpts.collapse&&(b(this.s.dtPane.table().container()).addClass(this.classes.hidden),this.dom.topRow.addClass(this.classes.bordered),this.dom.nameButton.addClass(this.classes.disabledButton),this.dom.countButton.addClass(this.classes.disabledButton),this.dom.searchButton.addClass(this.classes.disabledButton),this.dom.collapseButton.addClass(this.classes.rotated),this.dom.topRow.one("click.dtsp",function(){return t.show()}),this.dom.topRow.trigger("collapse.dtsps"))},r.prototype.destroy=function(){this.s.dtPane&&this.s.dtPane.off(".dtsp"),this.s.dt.off(".dtsp"),this.dom.clear.off(".dtsp"),this.dom.nameButton.off(".dtsp"),this.dom.countButton.off(".dtsp"),this.dom.searchButton.off(".dtsp"),this.dom.collapseButton.off(".dtsp"),b(this.s.dt.table().node()).off(".dtsp"),this.dom.container.detach();for(var t=b.fn.dataTable.ext.search.indexOf(this.s.searchFunction);-1!==t;)b.fn.dataTable.ext.search.splice(t,1),t=b.fn.dataTable.ext.search.indexOf(this.s.searchFunction);this.s.dtPane&&this.s.dtPane.destroy(),this.s.listSet=!1},r.prototype.emptyMessage=function(){var t=this.c.i18n.emptyMessage;return this.c.emptyMessage&&(t=this.c.emptyMessage),!1!==this.s.colOpts.emptyMessage&&null!==this.s.colOpts.emptyMessage&&(t=this.s.colOpts.emptyMessage),this.s.dt.i18n("searchPanes.emptyMessage",t)},r.prototype.getPaneCount=function(){return this.s.dtPane?this.s.dtPane.rows({selected:!0}).data().toArray().length:0},r.prototype.rebuildPane=function(t,s){void 0===t&&(t=null),void 0===s&&(s=!1),this.clearData();var e=[],a=(this.s.serverSelect=[],null);return this.s.dtPane&&(s&&(this.s.dt.page.info().serverSide?this.s.serverSelect=this.s.dtPane.rows({selected:!0}).data().toArray():e=this.s.dtPane.rows({selected:!0}).data().toArray()),this.s.dtPane.clear().destroy(),a=this.dom.container.prev(),this.destroy(),this.s.dtPane=void 0,b.fn.dataTable.ext.search.push(this.s.searchFunction)),this.dom.container.removeClass(this.classes.hidden),this.s.displayed=!1,this._buildPane(this.s.dt.page.info().serverSide?this.s.serverSelect:e,t,a),this},r.prototype.resize=function(t){this.c.layout=t,this.dom.container.removeClass().addClass(this.classes.show).addClass(this.classes.container).addClass(this.s.colOpts.className).addClass(this.classes.layout+(parseInt(t.split("-")[1],10)<10?t:t.split("-")[0]+"-9")).addClass(null!==this.s.customPaneSettings&&this.s.customPaneSettings.className?this.s.customPaneSettings.className:""),this.adjustTopRow()},r.prototype.setListeners=function(){var h=this;this.s.dtPane&&(this.s.dtPane.off("select.dtsp").on("select.dtsp",function(){clearTimeout(h.s.deselectTimeout),h._updateSelection(!h.s.updating),h.dom.clear.removeClass(h.classes.disabledButton).removeAttr("disabled")}),this.s.dtPane.off("deselect.dtsp").on("deselect.dtsp",function(){h.s.deselectTimeout=setTimeout(function(){h._updateSelection(!0),0===h.s.dtPane.rows({selected:!0}).data().toArray().length&&h.dom.clear.addClass(h.classes.disabledButton).attr("disabled","true")},50)}),this.s.firstSet&&(this.s.firstSet=!1,this.s.dt.on("stateSaveParams.dtsp",function(t,s,e){if(b.isEmptyObject(e))h.s.dtPane.state.clear();else{var a,i,o,n,r,l=[];h.s.dtPane&&(l=h.s.dtPane.rows({selected:!0}).data().map(function(t){return t.filter.toString()}).toArray(),n=h.dom.searchBox.val(),i=h.s.dtPane.order(),a=h.s.rowData.binsOriginal,r=h.s.rowData.arrayOriginal,o=h.dom.collapseButton.hasClass(h.classes.rotated)),void 0===e.searchPanes&&(e.searchPanes={}),void 0===e.searchPanes.panes&&(e.searchPanes.panes=[]);for(var d=0;d<e.searchPanes.panes.length;d++)e.searchPanes.panes[d].id===h.s.index&&(e.searchPanes.panes.splice(d,1),d--);e.searchPanes.panes.push({arrayFilter:r,bins:a,collapsed:o,id:h.s.index,order:i,searchTerm:n,selected:l})}})),this.s.dtPane.off("user-select.dtsp").on("user-select.dtsp",function(t,s,e,a,i){i.stopPropagation()}),this.s.dtPane.off("draw.dtsp").on("draw.dtsp",function(){return h.adjustTopRow()}),this.dom.nameButton.off("click.dtsp").on("click.dtsp",function(){var t=h.s.dtPane.order()[0][1];h.s.dtPane.order([0,"asc"===t?"desc":"asc"]).draw(),h.s.dt.state.save()}),this.dom.countButton.off("click.dtsp").on("click.dtsp",function(){var t=h.s.dtPane.order()[0][1];h.s.dtPane.order([1,"asc"===t?"desc":"asc"]).draw(),h.s.dt.state.save()}),this.dom.collapseButton.off("click.dtsp").on("click.dtsp",function(t){t.stopPropagation();t=b(h.s.dtPane.table().container());t.toggleClass(h.classes.hidden),h.dom.topRow.toggleClass(h.classes.bordered),h.dom.nameButton.toggleClass(h.classes.disabledButton),h.dom.countButton.toggleClass(h.classes.disabledButton),h.dom.searchButton.toggleClass(h.classes.disabledButton),h.dom.collapseButton.toggleClass(h.classes.rotated),t.hasClass(h.classes.hidden)?h.dom.topRow.on("click.dtsp",function(){return h.dom.collapseButton.click()}):h.dom.topRow.off("click.dtsp"),h.s.dt.state.save(),h.dom.topRow.trigger("collapse.dtsps")}),this.dom.clear.off("click.dtsp").on("click.dtsp",function(){h.dom.container.find("."+h.classes.search.replace(/ /g,".")).each(function(){b(this).val("").trigger("input")}),h.clearPane()}),this.dom.searchButton.off("click.dtsp").on("click.dtsp",function(){return h.dom.searchBox.focus()}),this.dom.searchBox.off("click.dtsp").on("input.dtsp",function(){var t=h.dom.searchBox.val();h.s.dtPane.search(t).draw(),"string"==typeof t&&(0<t.length||0===t.length&&0<h.s.dtPane.rows({selected:!0}).data().toArray().length)?h.dom.clear.removeClass(h.classes.disabledButton).removeAttr("disabled"):h.dom.clear.addClass(h.classes.disabledButton).attr("disabled","true"),h.s.dt.state.save()}),this.s.dtPane.select.style(this.s.colOpts.dtOpts&&this.s.colOpts.dtOpts.select&&this.s.colOpts.dtOpts.select.style?this.s.colOpts.dtOpts.select.style:this.c.dtOpts&&this.c.dtOpts.select&&this.c.dtOpts.select.style?this.c.dtOpts.select.style:"os"))},r.prototype._serverPopulate=function(t){t.tableLength?(this.s.tableLength=t.tableLength,this.s.rowData.totalOptions=this.s.tableLength):(null===this.s.tableLength||this.s.dt.rows()[0].length>this.s.tableLength)&&(this.s.tableLength=this.s.dt.rows()[0].length,this.s.rowData.totalOptions=this.s.tableLength);var s=this.s.dt.column(this.s.index).dataSrc();if(t.searchPanes.options[s])for(var e=0,a=t.searchPanes.options[s];e<a.length;e++){var i=a[e];this.s.rowData.arrayFilter.push({display:i.label,filter:i.value,sort:i.label,type:i.label}),this.s.rowData.bins[i.value]=i.total}t=Object.keys(this.s.rowData.bins).length,s=this._uniqueRatio(t,this.s.tableLength);!1===this.s.displayed&&((void 0===this.s.colOpts.show&&null===this.s.colOpts.threshold?s>this.c.threshold:s>this.s.colOpts.threshold)||!0!==this.s.colOpts.show&&t<=1)?(this.dom.container.addClass(this.classes.hidden),this.s.displayed=!1):(this.s.rowData.arrayOriginal=this.s.rowData.arrayFilter,this.s.rowData.binsOriginal=this.s.rowData.bins,this.s.displayed=!0)},r.prototype.show=function(){this.s.displayed&&(this.dom.topRow.removeClass(this.classes.bordered),this.dom.nameButton.removeClass(this.classes.disabledButton),this.dom.countButton.removeClass(this.classes.disabledButton),this.dom.searchButton.removeClass(this.classes.disabledButton),this.dom.collapseButton.removeClass(this.classes.rotated),b(this.s.dtPane.table().container()).removeClass(this.classes.hidden),this.dom.topRow.trigger("collapse.dtsps"))},r.prototype._uniqueRatio=function(t,s){return 0<s&&(0<this.s.rowData.totalOptions&&!this.s.dt.page.info().serverSide||this.s.dt.page.info().serverSide&&0<this.s.tableLength)?t/this.s.rowData.totalOptions:1},r.prototype.updateTable=function(){var t=this.s.dtPane.rows({selected:!0}).data().toArray().map(function(t){return t.filter});this.s.selections=t,this._searchExtras()},r.prototype._getComparisonRows=function(){var t=this.s.colOpts.options||(this.s.customPaneSettings&&this.s.customPaneSettings.options?this.s.customPaneSettings.options:void 0);if(void 0!==t){var s=this.s.dt.rows(),e=s.data().toArray(),a=[];this.s.dtPane.clear(),this.s.indexes=[];for(var i=0,o=t;i<o.length;i++){var n=o[i],r=""!==n.label?n.label:this.emptyMessage(),l={className:n.className,display:r,filter:"function"==typeof n.value?n.value:[],sort:r,total:0,type:r};if("function"==typeof n.value){for(var d=0;d<e.length;d++)n.value.call(this.s.dt,e[d],s[0][d])&&l.total++;"function"!=typeof l.filter&&l.filter.push(n.filter)}a.push(this.addRow(l.display,l.filter,l.sort,l.type,l.className,l.total))}return a}},r.prototype._getMessage=function(t){return this.s.dt.i18n("searchPanes.count",this.c.i18n.count).replace(/{total}/g,t.total)},r.prototype._getShown=function(t){},r.prototype._getPaneConfig=function(){var a=this,t=_.Scroller,s=this.s.dt.settings()[0].oLanguage;return s.url=void 0,s.sUrl=void 0,{columnDefs:[{className:"dtsp-nameColumn",data:"display",render:function(t,s,e){return"sort"===s?e.sort:"type"===s?e.type:(e=a._getMessage(e),e='<span class="'+a.classes.pill+'">'+e+"</span>",a.c.viewCount&&a.s.colOpts.viewCount||(e=""),"filter"===s?"string"==typeof t&&null!==t.match(/<[^>]*>/)?t.replace(/<[^>]*>/g,""):t:'<div class="'+a.classes.nameCont+'"><span title="'+("string"==typeof t&&null!==t.match(/<[^>]*>/)?t.replace(/<[^>]*>/g,""):t)+'" class="'+a.classes.name+'">'+t+"</span>"+e+"</div>")},targets:0,type:this.s.dt.settings()[0].aoColumns[this.s.index]?this.s.dt.settings()[0].aoColumns[this.s.index]._sManualType:null},{className:"dtsp-countColumn "+this.classes.badgePill,data:"total",searchable:!1,targets:1,visible:!1}],deferRender:!0,dom:"t",info:!1,language:s,paging:!!t,scrollX:!1,scrollY:"200px",scroller:!!t,select:!0,stateSave:!!this.s.dt.settings()[0].oFeatures.bStateSave}},r.prototype._makeSelection=function(){this.updateTable(),this.s.updating=!0,this.s.dt.draw(!1),this.s.updating=!1},r.prototype._populatePaneArray=function(t,s,e,a){var i;void 0===a&&(a=this.s.rowData.bins),"string"==typeof this.s.colOpts.orthogonal?(i=e.oApi._fnGetCellData(e,t,this.s.index,this.s.colOpts.orthogonal),this.s.rowData.filterMap.set(t,i),this._addOption(i,i,i,i,s,a)):("string"==typeof(i=null===(i=e.oApi._fnGetCellData(e,t,this.s.index,this.s.colOpts.orthogonal.search))?"":i)&&(i=i.replace(/<[^>]*>/g,"")),this.s.rowData.filterMap.set(t,i),a[i]?a[i]++:(a[i]=1,this._addOption(i,e.oApi._fnGetCellData(e,t,this.s.index,this.s.colOpts.orthogonal.display),e.oApi._fnGetCellData(e,t,this.s.index,this.s.colOpts.orthogonal.sort),e.oApi._fnGetCellData(e,t,this.s.index,this.s.colOpts.orthogonal.type),s,a))),this.s.rowData.totalOptions++},r.prototype._reloadSelect=function(t){if(void 0!==t){for(var s,e=0;e<t.searchPanes.panes.length;e++)if(t.searchPanes.panes[e].id===this.s.index){s=e;break}if(s)for(var a=this.s.dtPane,i=a.rows({order:"index"}).data().map(function(t){return null!==t.filter?t.filter.toString():null}).toArray(),o=0,n=t.searchPanes.panes[s].selected;o<n.length;o++){var r=n[o],l=-1;-1<(l=null!==r?i.indexOf(r.toString()):l)&&(this.s.serverSelecting=!0,a.row(l).select(),this.s.serverSelecting=!1)}}},r.prototype._updateSelection=function(t){function s(){e.s.scrollTop=b(e.s.dtPane.table().node()).parent()[0].scrollTop,e.s.dt.page.info().serverSide&&!e.s.updating?e.s.serverSelecting||(e.s.serverSelect=e.s.dtPane.rows({selected:!0}).data().toArray(),e.s.dt.draw(!1)):t&&e._makeSelection(),i._fnProcessingDisplay(a,!1)}var e=this,a=this.s.dt.settings()[0],i=a.oApi;a.oFeatures.bProcessing?(i._fnProcessingDisplay(a,!0),setTimeout(s,1)):s()},r.prototype._addOption=function(t,s,e,a,i,o){if(Array.isArray(t)||t instanceof _.Api){if(t instanceof _.Api&&(t=t.toArray(),s=s.toArray()),t.length!==s.length)throw new Error("display and filter not the same length");for(var n=0;n<t.length;n++)o[t[n]]?o[t[n]]++:(o[t[n]]=1,i.push({display:s[n],filter:t[n],sort:e[n],type:a[n]})),this.s.rowData.totalOptions++}else"string"==typeof this.s.colOpts.orthogonal?(o[t]?o[t]++:(o[t]=1,i.push({display:s,filter:t,sort:e,type:a})),this.s.rowData.totalOptions++):i.push({display:s,filter:t,sort:e,type:a})},r.prototype._buildPane=function(t,s,e){var a=this,i=(void 0===t&&(t=[]),void 0===s&&(s=null),void 0===e&&(e=null),this.s.selections=[],this.s.dt.state.loaded());if(this.s.listSet&&(i=this.s.dt.state()),this.s.colExists){var o=-1;if(i&&i.searchPanes&&i.searchPanes.panes)for(var n=0;n<i.searchPanes.panes.length;n++)if(i.searchPanes.panes[n].id===this.s.index){o=n;break}if((!1===this.s.colOpts.show||void 0!==this.s.colOpts.show&&!0!==this.s.colOpts.show)&&-1===o)return this.dom.container.addClass(this.classes.hidden),this.s.displayed=!1;if(!0!==this.s.colOpts.show&&-1===o||(this.s.displayed=!0),this.s.dt.page.info().serverSide||s&&s.searchPanes&&s.searchPanes.options)s&&s.searchPanes&&s.searchPanes.options&&this._serverPopulate(s);else{0===this.s.rowData.arrayFilter.length&&(this.s.rowData.totalOptions=0,this._populatePane(),this.s.rowData.arrayOriginal=this.s.rowData.arrayFilter,this.s.rowData.binsOriginal=this.s.rowData.bins);var r=Object.keys(this.s.rowData.binsOriginal).length,l=this._uniqueRatio(r,this.s.dt.rows()[0].length);if(!1===this.s.displayed&&((void 0===this.s.colOpts.show&&null===this.s.colOpts.threshold?l>this.c.threshold:l>this.s.colOpts.threshold)||!0!==this.s.colOpts.show&&r<=1))return this.dom.container.addClass(this.classes.hidden),void(this.s.displayed=!1);this.dom.container.addClass(this.classes.show),this.s.displayed=!0}}else this.s.displayed=!0;this._displayPane(),this.s.listSet||this.dom.dtP.on("stateLoadParams.dtsp",function(t,s,e){b.isEmptyObject(a.s.dt.state.loaded())&&b.each(e,function(t){delete e[t]})}),null!==e&&0<this.dom.panesContainer.has(e).length?this.dom.container.insertAfter(e):this.dom.panesContainer.prepend(this.dom.container);l=b.fn.dataTable.ext.errMode,b.fn.dataTable.ext.errMode="none",this.s.dtPane=this.dom.dtP.DataTable(b.extend(!0,this._getPaneConfig(),this.c.dtOpts,this.s.colOpts?this.s.colOpts.dtOpts:{},this.s.colOpts.options||!this.s.colExists?{createdRow:function(t,s){b(t).addClass(s.className)}}:void 0,null!==this.s.customPaneSettings&&this.s.customPaneSettings.dtOpts?this.s.customPaneSettings.dtOpts:{},b.fn.dataTable.versionCheck("2")?{layout:{bottomLeft:null,bottomRight:null,topLeft:null,topRight:null}}:{})),this.dom.dtP.addClass(this.classes.table),r="Custom Pane";if(this.s.customPaneSettings&&this.s.customPaneSettings.header?r=this.s.customPaneSettings.header:this.s.colOpts.header?r=this.s.colOpts.header:this.s.colExists&&(r=b.fn.dataTable.versionCheck("2")?this.s.dt.column(this.s.index).title():this.s.dt.settings()[0].aoColumns[this.s.index].sTitle),r=this._escapeHTML(r),this.dom.searchBox.attr("placeholder",r),b.fn.dataTable.select.init(this.s.dtPane),b.fn.dataTable.ext.errMode=l,this.s.colExists)for(var n=0,d=this.s.rowData.arrayFilter.length;n<d;n++)if(this.s.dt.page.info().serverSide)for(var h=this.addRow(this.s.rowData.arrayFilter[n].display,this.s.rowData.arrayFilter[n].filter,this.s.rowData.arrayFilter[n].sort,this.s.rowData.arrayFilter[n].type),c=0,p=this.s.serverSelect;c<p.length;c++)p[c].filter===this.s.rowData.arrayFilter[n].filter&&(this.s.serverSelecting=!0,h.select(),this.s.serverSelecting=!1);else!this.s.dt.page.info().serverSide&&this.s.rowData.arrayFilter[n]?this.addRow(this.s.rowData.arrayFilter[n].display,this.s.rowData.arrayFilter[n].filter,this.s.rowData.arrayFilter[n].sort,this.s.rowData.arrayFilter[n].type):this.s.dt.page.info().serverSide||this.addRow("","","","");_.select.init(this.s.dtPane),(this.s.colOpts.options||this.s.customPaneSettings&&this.s.customPaneSettings.options)&&this._getComparisonRows(),this.s.dtPane.draw(),this.s.dtPane.table().node().parentNode.scrollTop=this.s.scrollTop,this.adjustTopRow(),this.setListeners(),this.s.listSet=!0;for(var u=0,f=t;u<f.length;u++){var g=f[u];if(g)for(var v=0,m=this.s.dtPane.rows().indexes().toArray();v<m.length;v++){h=m[v];this.s.dtPane.row(h).data()&&g.filter===this.s.dtPane.row(h).data().filter&&(this.s.dt.page.info().serverSide?(this.s.serverSelecting=!0,this.s.dtPane.row(h).select(),this.s.serverSelecting=!1):this.s.dtPane.row(h).select())}}if(this.s.dt.page.info().serverSide&&this.s.dtPane.search(this.dom.searchBox.val()).draw(),(this.c.initCollapsed&&!1!==this.s.colOpts.initCollapsed||this.s.colOpts.initCollapsed)&&(this.c.collapse&&!1!==this.s.colOpts.collapse||this.s.colOpts.collapse)&&(this.s.dtPane.settings()[0]._bInitComplete?this.collapse():this.s.dtPane.one("init",function(){return a.collapse()})),i&&i.searchPanes&&i.searchPanes.panes&&(!s||1===s.draw)){this._reloadSelect(i);for(var w=0,P=i.searchPanes.panes;w<P.length;w++){var y=P[w];y.id===this.s.index&&(y.searchTerm&&0<y.searchTerm.length&&this.dom.searchBox.val(y.searchTerm).trigger("input"),y.order&&this.s.dtPane.order(y.order).draw(),y.collapsed?this.collapse():this.show())}}return!0},r.prototype._displayPane=function(){this.dom.dtP.empty(),this.dom.topRow.empty().addClass(this.classes.topRow),3<parseInt(this.c.layout.split("-")[1],10)&&this.dom.container.addClass(this.classes.smallGap),this.dom.topRow.addClass(this.classes.subRowsContainer).append(this.dom.upper.append(this.dom.searchCont)).append(this.dom.lower.append(this.dom.buttonGroup)),(!1===this.c.dtOpts.searching||this.s.colOpts.dtOpts&&!1===this.s.colOpts.dtOpts.searching||!this.c.controls||!this.s.colOpts.controls||this.s.customPaneSettings&&this.s.customPaneSettings.dtOpts&&void 0!==this.s.customPaneSettings.dtOpts.searching&&!this.s.customPaneSettings.dtOpts.searching)&&this.dom.searchBox.removeClass(this.classes.paneInputButton).addClass(this.classes.disabledButton).attr("disabled","true"),this.dom.searchBox.appendTo(this.dom.searchCont),this._searchContSetup(),this.c.clear&&this.c.controls&&this.s.colOpts.controls&&this.dom.clear.appendTo(this.dom.buttonGroup),this.c.orderable&&this.s.colOpts.orderable&&this.c.controls&&this.s.colOpts.controls&&this.dom.nameButton.appendTo(this.dom.buttonGroup),this.c.viewCount&&this.s.colOpts.viewCount&&this.c.orderable&&this.s.colOpts.orderable&&this.c.controls&&this.s.colOpts.controls&&this.dom.countButton.appendTo(this.dom.buttonGroup),(this.c.collapse&&!1!==this.s.colOpts.collapse||this.s.colOpts.collapse)&&this.c.controls&&this.s.colOpts.controls&&this.dom.collapseButton.appendTo(this.dom.buttonGroup),this.dom.container.prepend(this.dom.topRow).append(this.dom.dtP).show()},r.prototype._escapeHTML=function(t){return t.toString().replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"')},r.prototype._getBonusOptions=function(){return b.extend(!0,{},r.defaults,{threshold:null},this.c||{})},r.prototype._getOptions=function(){var t=this.s.dt.settings()[0].aoColumns[this.s.index].searchPanes,s=b.extend(!0,{},r.defaults,{collapse:null,emptyMessage:!1,initCollapsed:null,threshold:null},t);return t&&t.hideCount&&void 0===t.viewCount&&(s.viewCount=!t.hideCount),s},r.prototype._populatePane=function(){this.s.rowData.arrayFilter=[],this.s.rowData.bins={};var t=this.s.dt.settings()[0];if(!this.s.dt.page.info().serverSide)for(var s=0,e=this.s.dt.rows().indexes().toArray();s<e.length;s++){var a=e[s];this._populatePaneArray(a,this.s.rowData.arrayFilter,t)}},r.prototype._search=function(t,s){for(var e=this.s.colOpts,a=this.s.dt,i=0,o=this.s.selections;i<o.length;i++){var n=o[i];if("string"==typeof n&&"string"==typeof t&&(n=this._escapeHTML(n)),Array.isArray(t)){if("and"===e.combiner){if(!t.includes(n))return!1}else if(t.includes(n))return!0}else if("function"==typeof n){if(n.call(a,a.row(s).data(),s)){if("or"===e.combiner)return!0}else if("and"===e.combiner)return!1}else if(t===n||("string"!=typeof t||0!==t.length)&&t==n||null===n&&"string"==typeof t&&""===t)return!0}return"and"===e.combiner},r.prototype._searchContSetup=function(){this.c.controls&&this.s.colOpts.controls&&this.dom.searchButton.appendTo(this.dom.searchLabelCont),!1===this.c.dtOpts.searching||!1===this.s.colOpts.dtOpts.searching||this.s.customPaneSettings&&this.s.customPaneSettings.dtOpts&&void 0!==this.s.customPaneSettings.dtOpts.searching&&!this.s.customPaneSettings.dtOpts.searching||this.dom.searchLabelCont.appendTo(this.dom.searchCont)},r.prototype._searchExtras=function(){var t=this.s.updating,s=(this.s.updating=!0,this.s.dtPane.rows({selected:!0}).data().pluck("filter").toArray()),e=s.indexOf(this.emptyMessage()),a=b(this.s.dtPane.table().container());-1<e&&(s[e]=""),0<s.length?a.addClass(this.classes.selected):0===s.length&&a.removeClass(this.classes.selected),this.s.updating=t},r.version="2.1.2",r.classes={bordered:"dtsp-bordered",buttonGroup:"dtsp-buttonGroup",buttonSub:"dtsp-buttonSub",caret:"dtsp-caret",clear:"dtsp-clear",clearAll:"dtsp-clearAll",clearButton:"clearButton",collapseAll:"dtsp-collapseAll",collapseButton:"dtsp-collapseButton",container:"dtsp-searchPane",countButton:"dtsp-countButton",disabledButton:"dtsp-disabledButton",hidden:"dtsp-hidden",hide:"dtsp-hide",layout:"dtsp-",name:"dtsp-name",nameButton:"dtsp-nameButton",nameCont:"dtsp-nameCont",narrow:"dtsp-narrow",paneButton:"dtsp-paneButton",paneInputButton:"dtsp-paneInputButton",pill:"dtsp-pill",rotated:"dtsp-rotated",search:"dtsp-search",searchCont:"dtsp-searchCont",searchIcon:"dtsp-searchIcon",searchLabelCont:"dtsp-searchButtonCont",selected:"dtsp-selected",smallGap:"dtsp-smallGap",subRow1:"dtsp-subRow1",subRow2:"dtsp-subRow2",subRowsContainer:"dtsp-subRowsContainer",title:"dtsp-title",topRow:"dtsp-topRow"},r.defaults={clear:!0,collapse:!0,combiner:"or",container:function(t){return t.table().container()},controls:!0,dtOpts:{},emptyMessage:null,hideCount:!1,i18n:{clearPane:"&times;",count:"{total}",emptyMessage:"<em>No data</em>"},initCollapsed:!1,layout:"auto",name:void 0,orderable:!0,orthogonal:{display:"display",filter:"filter",hideCount:!1,search:"filter",show:void 0,sort:"sort",threshold:.6,type:"type",viewCount:!0},preSelect:[],threshold:.6,viewCount:!0};var o=r;function r(t,s,e,a,i){var o,n=this;if(void 0===i&&(i=null),!_||!_.versionCheck||!_.versionCheck("1.10.0"))throw new Error("SearchPane requires DataTables 1.10 or newer");if(_.select)return t=new _.Api(t),this.classes=b.extend(!0,{},r.classes),this.c=b.extend(!0,{},r.defaults,s,i),s&&s.hideCount&&void 0===s.viewCount&&(this.c.viewCount=!this.c.hideCount),s=t.columns().eq(0).toArray().length,this.s={colExists:e<s,colOpts:void 0,customPaneSettings:i,displayed:!1,dt:t,dtPane:void 0,firstSet:!0,index:e,indexes:[],listSet:!1,name:void 0,rowData:{arrayFilter:[],arrayOriginal:[],bins:{},binsOriginal:{},filterMap:new Map,totalOptions:0},scrollTop:0,searchFunction:void 0,selections:[],serverSelect:[],serverSelecting:!1,tableLength:null,updating:!1},this.s.colOpts=this.s.colExists?this._getOptions():this._getBonusOptions(),this.dom={buttonGroup:b("<div/>").addClass(this.classes.buttonGroup),clear:b('<button type="button">&#215;</button>').attr("disabled","true").addClass(this.classes.disabledButton).addClass(this.classes.paneButton).addClass(this.classes.clearButton).html(this.s.dt.i18n("searchPanes.clearPane",this.c.i18n.clearPane)),collapseButton:b('<button type="button"><span class="'+this.classes.caret+'">&#x5e;</span></button>').addClass(this.classes.paneButton).addClass(this.classes.collapseButton),container:b("<div/>").addClass(this.classes.container).addClass(this.s.colOpts.className).addClass(this.classes.layout+(parseInt(this.c.layout.split("-")[1],10)<10?this.c.layout:this.c.layout.split("-")[0]+"-9")).addClass(this.s.customPaneSettings&&this.s.customPaneSettings.className?this.s.customPaneSettings.className:""),countButton:b('<button type="button"></button>').addClass(this.classes.paneButton).addClass(this.classes.countButton),dtP:b("<table><thead><tr><th>"+(this.s.colExists?b(this.s.dt.column(this.s.index).header()).text():this.s.customPaneSettings.header||"Custom Pane")+"</th><th/></tr></thead></table>"),lower:b("<div/>").addClass(this.classes.subRow2).addClass(this.classes.narrowButton),nameButton:b('<button type="button"></button>').addClass(this.classes.paneButton).addClass(this.classes.nameButton),panesContainer:a,searchBox:b("<input/>").addClass(this.classes.paneInputButton).addClass(this.classes.search),searchButton:b('<button type = "button"/>').addClass(this.classes.searchIcon).addClass(this.classes.paneButton),searchCont:b("<div/>").addClass(this.classes.searchCont),searchLabelCont:b("<div/>").addClass(this.classes.searchLabelCont),topRow:b("<div/>").addClass(this.classes.topRow),upper:b("<div/>").addClass(this.classes.subRow1).addClass(this.classes.narrowSearch)},this.s.colOpts.name?this.s.name=this.s.colOpts.name:this.s.customPaneSettings&&this.s.customPaneSettings.name?this.s.name=this.s.customPaneSettings.name:this.s.name=this.s.colExists?b(this.s.dt.column(this.s.index).header()).text():this.s.customPaneSettings.header||"Custom Pane",o=this.s.dt.table(0).node(),this.s.searchFunction=function(t,s,e){return 0===n.s.selections.length||(t.nTable!==o||(t=null,n.s.colExists&&(t=s[n.s.index],"filter"!==n.s.colOpts.orthogonal.filter&&(t=n.s.rowData.filterMap.get(e))instanceof b.fn.dataTable.Api&&(t=t.toArray())),n._search(t,e)))},b.fn.dataTable.ext.search.push(this.s.searchFunction),this.c.clear&&this.dom.clear.on("click.dtsp",function(){n.dom.container.find("."+n.classes.search.replace(/\s+/g,".")).each(function(){b(this).val("").trigger("input")}),n.clearPane()}),this.s.dt.on("draw.dtsp",function(){return n.adjustTopRow()}),this.s.dt.on("buttons-action.dtsp",function(){return n.adjustTopRow()}),this.s.dt.on("column-reorder.dtsp",function(t,s,e){n.s.index=e.mapping[n.s.index]}),this;throw new Error("SearchPane requires Select")}(window&&window.__extends||(a=function(t,s){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,s){t.__proto__=s}||function(t,s){for(var e in s)s.hasOwnProperty(e)&&(t[e]=s[e])})(t,s)},function(t,s){function e(){this.constructor=t}a(t,s),t.prototype=null===s?Object.create(s):(e.prototype=s.prototype,new e)}))(s,n=o),s.prototype._serverPopulate=function(t){this.s.rowData.binsShown={},this.s.rowData.arrayFilter=[],void 0!==t.tableLength?(this.s.tableLength=t.tableLength,this.s.rowData.totalOptions=this.s.tableLength):(null===this.s.tableLength||this.s.dt.rows()[0].length>this.s.tableLength)&&(this.s.tableLength=this.s.dt.rows()[0].length,this.s.rowData.totalOptions=this.s.tableLength);var s=this.s.dt.column(this.s.index).dataSrc();if(void 0!==t.searchPanes.options[s])for(var e=0,a=t.searchPanes.options[s];e<a.length;e++){var i=a[e];this.s.rowData.arrayFilter.push({display:i.label,filter:i.value,shown:+i.count,sort:i.label,total:+i.total,type:i.label}),this.s.rowData.binsShown[i.value]=+i.count,this.s.rowData.bins[i.value]=+i.total}t=Object.keys(this.s.rowData.bins).length,s=this._uniqueRatio(t,this.s.tableLength);if(!this.s.colOpts.show&&!1===this.s.displayed&&((void 0===this.s.colOpts.show&&null===this.s.colOpts.threshold?s>this.c.threshold:s>this.s.colOpts.threshold)||!0!==this.s.colOpts.show&&t<=1))this.dom.container.addClass(this.classes.hidden),this.s.displayed=!1;else if(this.s.rowData.arrayOriginal=this.s.rowData.arrayFilter,this.s.rowData.binsOriginal=this.s.rowData.bins,this.s.displayed=!0,this.s.dtPane){var o=this.s.serverSelect;this.s.dtPane.rows().remove();for(var n=0,r=this.s.rowData.arrayFilter;n<r.length;n++){var l=r[n];if(this._shouldAddRow(l))for(var d=this.addRow(l.display,l.filter,l.sort,l.type),h=0;h<o.length;h++)if((u=o[h]).filter===l.filter){this.s.serverSelecting=!0,d.select(),this.s.serverSelecting=!1,o.splice(h,1),this.s.selections.push(l.filter);break}}for(var c=0,p=o;c<p.length;c++)for(var u=p[c],f=0,g=this.s.rowData.arrayOriginal;f<g.length;f++)(l=g[f]).filter===u.filter&&(d=this.addRow(l.display,l.filter,l.sort,l.type),this.s.serverSelecting=!0,d.select(),this.s.serverSelecting=!1,this.s.selections.push(l.filter));this.s.serverSelect=this.s.dtPane.rows({selected:!0}).data().toArray(),this.s.dtPane.draw()}},s.prototype.updateRows=function(){if(!this.s.dt.page.info().serverSide){this.s.rowData.binsShown={};for(var t=0,s=this.s.dt.rows({search:"applied"}).indexes().toArray();t<s.length;t++){var e=s[t];this._updateShown(e,this.s.dt.settings()[0],this.s.rowData.binsShown)}}for(var a=0,i=this.s.dtPane.rows().data().toArray();a<i.length;a++){var o=i[a];o.shown="number"==typeof this.s.rowData.binsShown[o.filter]?this.s.rowData.binsShown[o.filter]:0,this.s.dtPane.row(o.index).data(o)}this.s.dtPane.draw(),this.s.dtPane.table().node().parentNode.scrollTop=this.s.scrollTop},s.prototype._makeSelection=function(){},s.prototype._reloadSelect=function(){},s.prototype._shouldAddRow=function(t){return!0},s.prototype._updateSelection=function(){!this.s.dt.page.info().serverSide||this.s.updating||this.s.serverSelecting||(this.s.serverSelect=this.s.dtPane.rows({selected:!0}).data().toArray())},s.prototype._updateShown=function(t,s,e){void 0===e&&(e=this.s.rowData.binsShown);function a(t){e[t]?e[t]++:e[t]=1}var i="string"==typeof this.s.colOpts.orthogonal?this.s.colOpts.orthogonal:this.s.colOpts.orthogonal.search,s=s.oApi._fnGetCellData(s,t,this.s.index,i);if(Array.isArray(s))for(var o=0,n=s;o<n.length;o++)a(n[o]);else a(s)};var a,n,i,l,t=s;function s(t,s,e,a,i){return n.call(this,t,s,e,a,i)||this}(window&&window.__extends||(i=function(t,s){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,s){t.__proto__=s}||function(t,s){for(var e in s)s.hasOwnProperty(e)&&(t[e]=s[e])})(t,s)},function(t,s){function e(){this.constructor=t}i(t,s),t.prototype=null===s?Object.create(s):(e.prototype=s.prototype,new e)}))(e,d=t),e.prototype._getMessage=function(t){var s=this.s.dt.i18n("searchPanes.count",this.c.i18n.count),e=this.s.dt.i18n("searchPanes.countFiltered",this.c.i18n.countFiltered);return(this.s.filteringActive?e:s).replace(/{total}/g,t.total).replace(/{shown}/g,t.shown)},e.prototype._getShown=function(t){return this.s.rowData.binsShown&&this.s.rowData.binsShown[t]?this.s.rowData.binsShown[t]:0};var d,h,c,p=e;function e(t,s,e,a,i){return d.call(this,t,l.extend({i18n:{countFiltered:"{shown} ({total})"}},s),e,a,i)||this}(window&&window.__extends||(h=function(t,s){return(h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,s){t.__proto__=s}||function(t,s){for(var e in s)s.hasOwnProperty(e)&&(t[e]=s[e])})(t,s)},function(t,s){function e(){this.constructor=t}h(t,s),t.prototype=null===s?Object.create(s):(e.prototype=s.prototype,new e)}))(m,u=t),m.prototype.updateRows=function(){var t=this.s.dtPane.rows({selected:!0}).data().toArray();if(this.s.colOpts.options||this.s.customPaneSettings&&this.s.customPaneSettings.options){this._getComparisonRows();for(var s=this.s.dtPane.rows().toArray()[0],e=0;e<s.length;e++){var a=(u=this.s.dtPane.row(s[e])).data();if(void 0!==a)if(0===a.shown)u.remove(),s=this.s.dtPane.rows().toArray()[0],e--;else for(var i=0,o=t;i<o.length;i++){var n=o[i];if(a.filter===n.filter){u.select(),t.splice(e,1),this.s.selections.push(a.filter);break}}}}else{if(!this.s.dt.page.info().serverSide){this._activePopulatePane(),this.s.rowData.binsShown={};for(var r=0,l=this.s.dt.rows({search:"applied"}).indexes().toArray();r<l.length;r++){var d=l[r];this._updateShown(d,this.s.dt.settings()[0],this.s.rowData.binsShown)}}this.s.dtPane.rows().remove();for(var h=0,c=this.s.rowData.arrayFilter;h<c.length;h++){var p=c[h];if(0!==p.shown)for(var u=this.addRow(p.display,p.filter,p.sort,p.type,void 0),e=0;e<t.length;e++)if((n=t[e]).filter===p.filter){u.select(),t.splice(e,1),this.s.selections.push(p.filter);break}}for(var f=0,g=t;f<g.length;f++)for(var n=g[f],v=0,m=this.s.rowData.arrayOriginal;v<m.length;v++)(p=m[v]).filter===n.filter&&((u=this.addRow(p.display,p.filter,p.sort,p.type,void 0)).select(),this.s.selections.push(p.filter))}this.s.dtPane.draw(),this.s.dtPane.table().node().parentNode.scrollTop=this.s.scrollTop,this.s.dt.page.info().serverSide||this.s.dt.draw(!1)},m.prototype._activePopulatePane=function(){this.s.rowData.arrayFilter=[],this.s.rowData.bins={};var t=this.s.dt.settings()[0];if(!this.s.dt.page.info().serverSide)for(var s=0,e=this.s.dt.rows({search:"applied"}).indexes().toArray();s<e.length;s++){var a=e[s];this._populatePaneArray(a,this.s.rowData.arrayFilter,t)}},m.prototype._getComparisonRows=function(){var t=this.s.colOpts.options||(this.s.customPaneSettings&&this.s.customPaneSettings.options?this.s.customPaneSettings.options:void 0);if(void 0!==t){var s=this.s.dt.rows(),e=this.s.dt.rows({search:"applied"}),a=s.data().toArray(),i=e.data().toArray(),o=[];this.s.dtPane.clear(),this.s.indexes=[];for(var n=0,r=t;n<r.length;n++){var l=r[n],d=""!==l.label?l.label:this.emptyMessage(),h={className:l.className,display:d,filter:"function"==typeof l.value?l.value:[],shown:0,sort:d,total:0,type:d};if("function"==typeof l.value){for(var c=0;c<a.length;c++)l.value.call(this.s.dt,a[c],s[0][c])&&h.total++;for(c=0;c<i.length;c++)l.value.call(this.s.dt,i[c],e[0][c])&&h.shown++;"function"!=typeof h.filter&&h.filter.push(l.filter)}o.push(this.addRow(h.display,h.filter,h.sort,h.type,h.className,h.total,h.shown))}return o}},m.prototype._getMessage=function(t){return this.s.dt.i18n("searchPanes.count",this.c.i18n.count).replace(/{total}/g,t.total).replace(/{shown}/g,t.shown)},m.prototype._getShown=function(t){return this.s.rowData.binsShown&&this.s.rowData.binsShown[t]?this.s.rowData.binsShown[t]:0},m.prototype._shouldAddRow=function(t){return 0<t.shown};var u,f,g,v=m;function m(t,s,e,a,i){return u.call(this,t,c.extend({i18n:{count:"{shown}"}},s),e,a,i)||this}(window&&window.__extends||(f=function(t,s){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,s){t.__proto__=s}||function(t,s){for(var e in s)s.hasOwnProperty(e)&&(t[e]=s[e])})(t,s)},function(t,s){function e(){this.constructor=t}f(t,s),t.prototype=null===s?Object.create(s):(e.prototype=s.prototype,new e)}))(S,w=v),S.prototype._activePopulatePane=function(){this.s.rowData.arrayFilter=[],this.s.rowData.binsShown={};var t=this.s.dt.settings()[0];if(!this.s.dt.page.info().serverSide)for(var s=0,e=this.s.dt.rows({search:"applied"}).indexes().toArray();s<e.length;s++){var a=e[s];this._populatePaneArray(a,this.s.rowData.arrayFilter,t,this.s.rowData.binsShown)}},S.prototype._getMessage=function(t){var s=this.s.dt.i18n("searchPanes.count",this.c.i18n.count),e=this.s.dt.i18n("searchPanes.countFiltered",this.c.i18n.countFiltered);return(this.s.filteringActive?e:s).replace(/{total}/g,t.total).replace(/{shown}/g,t.shown)};var w,P,y,C=S;function S(t,s,e,a,i){return w.call(this,t,g.extend({i18n:{count:"{total}",countFiltered:"{shown} ({total})"}},s),e,a,i)||this}x.prototype.clearSelections=function(){for(var t=0,s=this.s.panes;t<s.length;t++)(e=s[t]).s.dtPane&&(e.s.scrollTop=e.s.dtPane.table().node().parentNode.scrollTop);this.dom.container.find("."+this.classes.search.replace(/\s+/g,".")).each(function(){P(this).val("").trigger("input")}),this.s.selectionList=[];for(var e,a=[],i=0,o=this.s.panes;i<o.length;i++)(e=o[i]).s.dtPane&&a.push(e.clearPane());return a},x.prototype.getNode=function(){return this.dom.container},x.prototype.rebuild=function(t,s){void 0===t&&(t=!1),void 0===s&&(s=!1),this.dom.emptyMessage.detach(),!1===t&&this.dom.panes.empty();for(var e=[],a=0,i=this.s.panes;a<i.length;a++){var o=i[a];!1!==t&&o.s.index!==t||(o.clearData(),o.rebuildPane(this.s.dt.page.info().serverSide?this.s.serverData:void 0,s),this.dom.panes.append(o.dom.container),e.push(o))}return this._updateSelection(),this._updateFilterCount(),this._attachPaneContainer(),this._initSelectionListeners(!1),this.s.dt.draw(!s),this.resizePanes(),1===e.length?e[0]:e},x.prototype.resizePanes=function(){if("auto"===this.c.layout){for(var t=P(this.s.dt.searchPanes.container()).width(),t=Math.floor(t/this.s.minPaneWidth),s=1,e=0,a=[],i=0,o=this.s.panes;i<o.length;i++)(h=o[i]).s.displayed&&a.push(h.s.index);var n=a.length;if(t===n)s=t;else for(var r=t;1<r;r--){var l=n%r;if(0==l){s=r,e=0;break}e<l&&(s=r,e=l)}var d=0!==e?a.slice(a.length-e,a.length):[];this.s.panes.forEach(function(t){t.s.displayed&&t.resize("columns-"+(d.includes(t.s.index)?e:s))})}else for(var h,c=0,p=this.s.panes;c<p.length;c++)(h=p[c]).adjustTopRow();return this},x.prototype._initSelectionListeners=function(t){},x.prototype._serverTotals=function(){},x.prototype._setXHR=function(){function a(t){t&&t.searchPanes&&t.searchPanes.options&&(s.s.serverData=t,s.s.serverData.tableLength=t.recordsTotal,s._serverTotals())}var s=this,i=this.s.dt.settings()[0];this.s.dt.on("xhr.dtsps",function(t,s,e){i===s&&a(e)}),a(this.s.dt.ajax.json())},x.prototype._stateLoadListener=function(){var d=this,h=this.s.dt.settings()[0];this.s.dt.on("stateLoadParams.dtsps",function(t,s,e){if(void 0!==e.searchPanes&&s===h){if(d.clearSelections(),d.s.selectionList=e.searchPanes.selectionList||[],e.searchPanes.panes)for(var a=0,i=e.searchPanes.panes;a<i.length;a++)for(var o=i[a],n=0,r=d.s.panes;n<r.length;n++){var l=r[n];o.id===l.s.index&&l.s.dtPane&&(l.dom.searchBox.val(o.searchTerm),l.s.dtPane.order(o.order))}d._makeSelections(d.s.selectionList)}})},x.prototype._updateSelection=function(){this.s.selectionList=[];for(var t=0,s=this.s.panes;t<s.length;t++){var e,a=s[t];!a.s.dtPane||(e=a.s.dtPane.rows({selected:!0}).data().toArray().map(function(t){return t.filter})).length&&this.s.selectionList.push({column:a.s.index,rows:e})}},x.prototype._attach=function(){var t=this;this.dom.titleRow.removeClass(this.classes.hide).detach().append(this.dom.title),this.c.clear&&this.dom.clearAll.appendTo(this.dom.titleRow).on("click.dtsps",function(){return t.clearSelections()}),this.c.collapse&&(this.dom.showAll.appendTo(this.dom.titleRow),this.dom.collapseAll.appendTo(this.dom.titleRow),this._setCollapseListener());for(var s=0,e=this.s.panes;s<e.length;s++){var a=e[s];this.dom.panes.append(a.dom.container)}this.dom.container.text("").removeClass(this.classes.hide).append(this.dom.titleRow).append(this.dom.panes),this.s.panes.forEach(function(t){return t.setListeners()}),0===P("div."+this.classes.container).length&&this.dom.container.prependTo(this.s.dt)},x.prototype._attachMessage=function(){var s;try{s=this.s.dt.i18n("searchPanes.emptyPanes",this.c.i18n.emptyPanes)}catch(t){s=null}null===s?(this.dom.container.addClass(this.classes.hide),this.dom.titleRow.removeClass(this.classes.hide)):(this.dom.container.removeClass(this.classes.hide),this.dom.titleRow.addClass(this.classes.hide),this.dom.emptyMessage.html(s).appendTo(this.dom.container))},x.prototype._attachPaneContainer=function(){for(var t=0,s=this.s.panes;t<s.length;t++)if(!0===s[t].s.displayed)return void this._attach();this._attachMessage()},x.prototype._checkCollapse=function(){for(var t=!0,s=!0,e=0,a=this.s.panes;e<a.length;e++){var i=a[e];i.s.displayed&&(i.dom.collapseButton.hasClass(i.classes.rotated)?(this.dom.showAll.removeClass(this.classes.disabledButton).removeAttr("disabled"),s=!1):(this.dom.collapseAll.removeClass(this.classes.disabledButton).removeAttr("disabled"),t=!1))}t&&this.dom.collapseAll.addClass(this.classes.disabledButton).attr("disabled","true"),s&&this.dom.showAll.addClass(this.classes.disabledButton).attr("disabled","true")},x.prototype._checkMessage=function(){for(var t=0,s=this.s.panes;t<s.length;t++)if(!0===s[t].s.displayed)return this.dom.emptyMessage.detach(),void this.dom.titleRow.removeClass(this.classes.hide);this._attachMessage()},x.prototype._collapseAll=function(){for(var t=0,s=this.s.panes;t<s.length;t++)s[t].collapse()},x.prototype._findPane=function(t){for(var s=0,e=this.s.panes;s<e.length;s++){var a=e[s];if(t===a.s.name)return a}},x.prototype._getState=function(){var t=this.s.dt.state.loaded();t&&t.searchPanes&&t.searchPanes.selectionList&&(this.s.selectionList=t.searchPanes.selectionList)},x.prototype._makeSelections=function(t){for(var s=0,e=t;s<e.length;s++){for(var a=e[s],i=void 0,o=0,n=this.s.panes;o<n.length;o++){var r=n[o];if(r.s.index===a.column){i=r;break}}if(i&&i.s.dtPane){for(var l=0;l<i.s.dtPane.rows().data().toArray().length;l++)a.rows.includes("function"==typeof i.s.dtPane.row(l).data().filter?i.s.dtPane.cell(l,0).data():i.s.dtPane.row(l).data().filter)&&i.s.dtPane.row(l).select();i.updateTable()}}},x.prototype._paneDeclare=function(t,s,e){for(var a=this,i=(t.columns(0<this.c.columns.length?this.c.columns:void 0).eq(0).each(function(t){a.s.panes.push(new a.s.paneClass(s,e,t,a.dom.panes))}),t.columns().eq(0).toArray().length),o=0;o<this.c.panes.length;o++)this.s.panes.push(new this.s.paneClass(s,e,i+o,this.dom.panes,this.c.panes[o]));0<this.c.order.length&&(this.s.panes=this.c.order.map(function(t){return a._findPane(t)})),this.s.dt.settings()[0]._bInitComplete?this._startup(t):this.s.dt.settings()[0].aoInitComplete.push({fn:function(){return a._startup(t)}})},x.prototype._setCollapseListener=function(){var t=this;this.dom.collapseAll.on("click.dtsps",function(){t._collapseAll(),t.dom.collapseAll.addClass(t.classes.disabledButton).attr("disabled","true"),t.dom.showAll.removeClass(t.classes.disabledButton).removeAttr("disabled"),t.s.dt.state.save()}),this.dom.showAll.on("click.dtsps",function(){t._showAll(),t.dom.showAll.addClass(t.classes.disabledButton).attr("disabled","true"),t.dom.collapseAll.removeClass(t.classes.disabledButton).removeAttr("disabled"),t.s.dt.state.save()});for(var s=0,e=this.s.panes;s<e.length;s++)e[s].dom.topRow.on("collapse.dtsps",function(){return t._checkCollapse()});this._checkCollapse()},x.prototype._showAll=function(){for(var t=0,s=this.s.panes;t<s.length;t++)s[t].show()},x.prototype._startup=function(i){for(var h=this,c=(this._attach(),this.dom.panes.empty(),this.s.dt.settings()[0]),t=0,s=this.s.panes;t<s.length;t++){var e=s[t];e.rebuildPane(0<Object.keys(this.s.serverData).length?this.s.serverData:void 0),this.dom.panes.append(e.dom.container)}"auto"===this.c.layout&&this.resizePanes();var a=this.s.dt.state.loaded(),o=(!this.s.stateRead&&a&&this.s.dt.page(a.start/this.s.dt.page.len()).draw("page"),this.s.stateRead=!0,this._checkMessage(),i.on("preDraw.dtsps",function(){h.s.updating||h.s.paging||(h._updateFilterCount(),h._updateSelection()),h.s.paging=!1}),P(window).on("resize.dtsps",y.util.throttle(function(){return h.resizePanes()})),this.s.dt.on("stateSaveParams.dtsps",function(t,s,e){s===c&&(void 0===e.searchPanes&&(e.searchPanes={}),e.searchPanes.selectionList=h.s.selectionList)}),this._stateLoadListener(),i.off("page.dtsps page-nc.dtsps").on("page.dtsps page-nc.dtsps",function(t,s){h.s.paging=!0,h.s.pagingST=!0,h.s.page=h.s.dt.page()}),this.s.dt.page.info().serverSide?i.off("preXhr.dtsps").on("preXhr.dtsps",function(t,s,e){if(s===c){e.searchPanes||(e.searchPanes={}),e.searchPanes_null||(e.searchPanes_null={});for(var a=0,i=0,o=h.s.panes;i<o.length;i++){var n=o[i],r=h.s.dt.column(n.s.index).dataSrc();if(e.searchPanes[r]||(e.searchPanes[r]={}),e.searchPanes_null[r]||(e.searchPanes_null[r]={}),n.s.dtPane)for(var l=n.s.dtPane.rows({selected:!0}).data().toArray(),d=0;d<l.length;d++)e.searchPanes[r][d]=l[d].filter,e.searchPanes[r][d]||(e.searchPanes_null[r][d]=!0),a++}0<a&&(a!==h.s.filterCount?(e.start=0,h.s.page=0):e.start=h.s.page*h.s.dt.page.len(),h.s.dt.page(h.s.page),h.s.filterCount=a),0<h.s.selectionList.length&&(e.searchPanesLast=h.s.dt.column(h.s.selectionList[h.s.selectionList.length-1].column).dataSrc()),e.searchPanes_options={cascade:h.c.cascadePanes,viewCount:h.c.viewCount,viewTotal:h.c.viewTotal}}}):i.on("preXhr.dtsps",function(){return h.s.panes.forEach(function(t){return t.clearData()})}),this.s.dt.on("xhr.dtsps",function(t,s){var i;s.nTable!==h.s.dt.table().node()||h.s.dt.page.info().serverSide||(i=!1,h.s.dt.one("preDraw.dtsps",function(){if(!i){var t=h.s.dt.page();i=!0,h.s.updating=!0,h.dom.panes.empty();for(var s=0,e=h.s.panes;s<e.length;s++){var a=e[s];a.clearData(),a.rebuildPane(void 0,!0),h.dom.panes.append(a.dom.container)}h.s.dt.page.info().serverSide||h.s.dt.draw(),h.s.updating=!1,h._updateSelection(),h._checkMessage(),h.s.dt.one("draw.dtsps",function(){h.s.updating=!0,h.s.dt.page(t).draw(!1),h.s.updating=!1})}}))}),this.c.preSelect);a&&a.searchPanes&&a.searchPanes.selectionList&&(o=a.searchPanes.selectionList),this._makeSelections(o),this._updateFilterCount(),i.on("destroy.dtsps",function(t,s){if(s===c){for(var e=0,a=h.s.panes;e<a.length;e++)a[e].destroy();i.off(".dtsps"),h.dom.showAll.off(".dtsps"),h.dom.clearAll.off(".dtsps"),h.dom.collapseAll.off(".dtsps"),P(i.table().node()).off(".dtsps"),h.dom.container.detach(),h.clearSelections()}}),this.c.collapse&&this._setCollapseListener(),this.c.clear&&this.dom.clearAll.on("click.dtsps",function(){return h.clearSelections()}),(c._searchPanes=this).s.dt.state.save()},x.prototype._updateFilterCount=function(){for(var t=0,s=0,e=this.s.panes;s<e.length;s++){var a=e[s];a.s.dtPane&&(t+=a.getPaneCount())}this.dom.title.html(this.s.dt.i18n("searchPanes.title",this.c.i18n.title,t)),this.c.filterChanged&&"function"==typeof this.c.filterChanged&&this.c.filterChanged.call(this.s.dt,t),0===t?this.dom.clearAll.addClass(this.classes.disabledButton).attr("disabled","true"):this.dom.clearAll.removeClass(this.classes.disabledButton).removeAttr("disabled")},x.version="2.1.2",x.classes={clear:"dtsp-clear",clearAll:"dtsp-clearAll",collapseAll:"dtsp-collapseAll",container:"dtsp-searchPanes",disabledButton:"dtsp-disabledButton",emptyMessage:"dtsp-emptyMessage",hide:"dtsp-hidden",panes:"dtsp-panesContainer",search:"dtsp-search",showAll:"dtsp-showAll",title:"dtsp-title",titleRow:"dtsp-titleRow"},x.defaults={cascadePanes:!1,clear:!0,collapse:!0,columns:[],container:function(t){return t.table().container()},filterChanged:void 0,i18n:{clearMessage:"Clear All",clearPane:"&times;",collapse:{0:"SearchPanes",_:"SearchPanes (%d)"},collapseMessage:"Collapse All",count:"{total}",emptyMessage:"<em>No data</em>",emptyPanes:"No SearchPanes",loadMessage:"Loading Search Panes...",showMessage:"Show All",title:"Filters Active - %d"},layout:"auto",order:[],panes:[],preSelect:[],viewCount:!0,viewTotal:!1};var O=x;function x(t,s,e,a){var l=this;if(void 0===e&&(e=!1),void 0===a&&(a=o),!y||!y.versionCheck||!y.versionCheck("1.10.0"))throw new Error("SearchPane requires DataTables 1.10 or newer");if(!y.select)throw new Error("SearchPane requires Select");var d,i=new y.Api(t);if(this.classes=P.extend(!0,{},x.classes),this.c=P.extend(!0,{},x.defaults,s),this.dom={clearAll:P('<button type="button"/>').addClass(this.classes.clearAll).html(i.i18n("searchPanes.clearMessage",this.c.i18n.clearMessage)),collapseAll:P('<button type="button"/>').addClass(this.classes.collapseAll).html(i.i18n("searchPanes.collapseMessage",this.c.i18n.collapseMessage)),container:P("<div/>").addClass(this.classes.panes).html(i.i18n("searchPanes.loadMessage",this.c.i18n.loadMessage)),emptyMessage:P("<div/>").addClass(this.classes.emptyMessage),panes:P("<div/>").addClass(this.classes.container),showAll:P('<button type="button"/>').addClass(this.classes.showAll).addClass(this.classes.disabledButton).attr("disabled","true").html(i.i18n("searchPanes.showMessage",this.c.i18n.showMessage)),title:P("<div/>").addClass(this.classes.title),titleRow:P("<div/>").addClass(this.classes.titleRow)},this.s={colOpts:[],dt:i,filterCount:0,minPaneWidth:260,page:0,paging:!1,pagingST:!1,paneClass:a,panes:[],selectionList:[],serverData:{},stateRead:!1,updating:!1},!i.settings()[0]._searchPanes)return this._getState(),this.s.dt.page.info().serverSide&&(d=this.s.dt.settings()[0],this.s.dt.on("preXhr.dtsps",function(t,s,e){if(d===s){void 0===e.searchPanes&&(e.searchPanes={}),void 0===e.searchPanes_null&&(e.searchPanes_null={});for(var a=0,i=l.s.selectionList;a<i.length;a++){var o=i[a],n=l.s.dt.column(o.column).dataSrc();void 0===e.searchPanes[n]&&(e.searchPanes[n]={}),void 0===e.searchPanes_null[n]&&(e.searchPanes_null[n]={});for(var r=0;r<o.rows.length;r++)e.searchPanes[n][r]=o.rows[r],null===e.searchPanes[n][r]&&(e.searchPanes_null[n][r]=!0)}0<l.s.selectionList.length&&(e.searchPanesLast=n),e.searchPanes_options={cascade:l.c.cascadePanes,viewCount:l.c.viewCount,viewTotal:l.c.viewTotal}}})),this._setXHR(),(i.settings()[0]._searchPanes=this).s.dt.settings()[0]._bInitComplete||e?this._paneDeclare(i,t,s):i.one("preInit.dtsps",function(){l._paneDeclare(i,t,s)}),this}(window&&window.__extends||(A=function(t,s){return(A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,s){t.__proto__=s}||function(t,s){for(var e in s)s.hasOwnProperty(e)&&(t[e]=s[e])})(t,s)},function(t,s){function e(){this.constructor=t}A(t,s),t.prototype=null===s?Object.create(s):(e.prototype=s.prototype,new e)}))(B,D=O),B.prototype._initSelectionListeners=function(t,s){void 0===s&&(s=[]),(t=void 0===t?!0:t)&&(this.s.selectionList=s);for(var e=0,a=this.s.panes;e<a.length;e++){var i=a[e];i.s.displayed&&i.s.dtPane.off("select.dtsp").on("select.dtsp",this._update(i)).off("deselect.dtsp").on("deselect.dtsp",this._updateTimeout(i))}this.s.dt.off("draw.dtsps").on("draw.dtsps",this._update()),this._updateSelectionList()},B.prototype._serverTotals=function(){for(var t=0,s=this.s.panes;t<s.length;t++){var e=s[t];if(e.s.colOpts.show){var a=this.s.dt.column(e.s.index).dataSrc(),i=!0;if(this.s.serverData.searchPanes.options[a])for(var o=0,n=this.s.serverData.searchPanes.options[a];o<n.length;o++){var r=n[o];if(r.total!==r.count){i=!1;break}}e.s.filteringActive=!i,e._serverPopulate(this.s.serverData)}}},B.prototype._stateLoadListener=function(){function t(t,s,e){if(void 0!==e.searchPanes){if(d.s.selectionList=e.searchPanes.selectionList||[],e.searchPanes.panes)for(var a=0,i=e.searchPanes.panes;a<i.length;a++)for(var o=i[a],n=0,r=d.s.panes;n<r.length;n++){var l=r[n];o.id===l.s.index&&l.s.dtPane&&(l.dom.searchBox.val(o.searchTerm),l.s.dtPane.order(o.order))}d._updateSelectionList()}}var d=this;this.s.dt.off("stateLoadParams.dtsps",t).on("stateLoadParams.dtsps",t)},B.prototype._updateSelection=function(){},B.prototype._update=function(t){var s=this;return void 0===t&&(t=void 0),function(){t&&clearTimeout(t.s.deselectTimeout),s._updateSelectionList(t)}},B.prototype._updateTimeout=function(t){var s=this;return void 0===t&&(t=void 0),function(){return t?t.s.deselectTimeout=setTimeout(function(){return s._updateSelectionList(t)},50):s._updateSelectionList()}},B.prototype._updateSelectionList=function(s){var t;void 0===s&&(s=void 0),this.s.pagingST?this.s.pagingST=!1:this.s.updating||s&&s.s.serverSelecting||(void 0!==s&&(this.s.dt.page.info().serverSide&&s._updateSelection(),t=s.s.dtPane.rows({selected:!0}).data().toArray().map(function(t){return t.filter}),this.s.selectionList=this.s.selectionList.filter(function(t){return t.column!==s.s.index}),0<t.length?(this.s.selectionList.push({column:s.s.index,rows:t}),s.dom.clear.removeClass(this.classes.disabledButton).removeAttr("disabled")):s.dom.clear.addClass(this.classes.disabledButton).attr("disabled","true"),this.s.dt.page.info().serverSide&&this.s.dt.draw(!1)),this._remakeSelections(),this._updateFilterCount())},B.prototype._remakeSelections=function(){if(this.s.updating=!0,this.s.dt.page.info().serverSide){d=void 0;0<this.s.selectionList.length&&(d=this.s.panes[this.s.selectionList[this.s.selectionList.length-1].column]);for(var t=0,s=this.s.panes;t<s.length;t++)!(O=s[t]).s.displayed||d&&O.s.index===d.s.index||O.updateRows()}else{var e=this.s.selectionList,a=!1;this.clearSelections(),this.s.dt.draw(!1),this.s.dt.rows().toArray()[0].length>this.s.dt.rows({search:"applied"}).toArray()[0].length&&(a=!0),this.s.selectionList=e;for(var i=0,o=this.s.panes;i<o.length;i++)(d=o[i]).s.displayed&&(d.s.filteringActive=a,d.updateRows());for(var n=0,r=this.s.selectionList;n<r.length;n++){for(var l=r[n],d=void 0,h=0,c=this.s.panes;h<c.length;h++){var p=c[h];if(p.s.index===l.column){d=p;break}}if(d.s.dtPane){for(var u=d.s.dtPane.rows().indexes().toArray(),f=0;f<l.rows.length;f++){for(var g=!1,v=0,m=u;v<m.length;v++){var w=m[v],w=d.s.dtPane.row(w),P=w.data();l.rows[f]===P.filter&&(w.select(),g=!0)}g||(l.rows.splice(f,1),f--)}if(d.s.selections=l.rows,0!==l.rows.length){this.s.dt.draw(!1);for(var y=0,b=0,_=0,C=0,S=this.s.panes;C<S.length;C++)(O=S[C]).s.dtPane&&b<(y+=O.getPaneCount())&&(_++,b=y);for(var O,x=0<y,A=0,D=this.s.panes;A<D.length;A++)(O=D[A]).s.displayed&&(a||d.s.index!==O.s.index||!x?O.s.filteringActive=x||a:1===_&&(O.s.filteringActive=!1),O.s.index!==d.s.index&&O.updateRows())}}}this.s.dt.draw(!1)}this.s.updating=!1};var A,D,T=B;function B(t,s,e){function a(){return o._initSelectionListeners(!0,n&&n.searchPanes&&n.searchPanes.selectionList?n.searchPanes.selectionList:o.c.preSelect)}var i,o=this,t=(s.cascadePanes&&s.viewTotal?i=C:s.cascadePanes?i=v:s.viewTotal&&(i=p),(o=D.call(this,t,s,e=void 0===e?!1:e,i)||this).s.dt),n=t.state.loaded();return t.settings()[0]._bInitComplete?a():t.off("init.dtsps").on("init.dtsps",a),o}_=(b=$).fn.dataTable,y=(P=$).fn.dataTable;var L=(g=c=l=$).fn.dataTable,t=(L.SearchPanes=O,DataTable.SearchPanes=O,L.SearchPanesST=T,DataTable.SearchPanesST=T,L.SearchPane=o,DataTable.SearchPane=o,L.SearchPaneViewTotal=p,DataTable.SearchPaneViewTotal=p,L.SearchPaneCascade=v,DataTable.SearchPaneCascade=v,L.SearchPaneCascadeViewTotal=C,DataTable.SearchPaneCascadeViewTotal=C,$.fn.dataTable.Api.register);function R(s,e,t){var a=$.extend({filterChanged:function(t){s.button(e).text(s.i18n("searchPanes.collapse",(void 0!==s.context[0].oLanguage.searchPanes?s.context[0].oLanguage.searchPanes:s.context[0]._searchPanes.c.i18n).collapse,t))}},t.config),a=new(a&&(a.cascadePanes||a.viewTotal)?DataTable.SearchPanesST:DataTable.SearchPanes)(s,a);s.button(e).text(t.text||s.i18n("searchPanes.collapse",a.c.i18n.collapse,0)),t._panes=a}function M(t,s,e){void 0===s&&(s=null),void 0===e&&(e=!1);t=new L.Api(t),s=s||t.init().searchPanes||L.defaults.searchPanes;return new(s&&(s.cascadePanes||s.viewTotal)?T:O)(t,s,e).getNode()}t("searchPanes()",function(){return this}),t("searchPanes.clearSelections()",function(){return this.iterator("table",function(t){t._searchPanes&&t._searchPanes.clearSelections()})}),t("searchPanes.rebuildPane()",function(s,e){return this.iterator("table",function(t){t._searchPanes&&t._searchPanes.rebuild(s,e)})}),t("searchPanes.resizePanes()",function(){var t=this.context[0];return t._searchPanes?t._searchPanes.resizePanes():null}),t("searchPanes.container()",function(){var t=this.context[0];return t._searchPanes?t._searchPanes.getNode():null}),DataTable.ext.buttons.searchPanesClear={action:function(t,s){s.searchPanes.clearSelections()},text:"Clear Panes"},DataTable.ext.buttons.searchPanes={action:function(t,s,e,a){var i=this;a._panes?(this.popover(a._panes.getNode(),{align:"container",span:"container"}),a._panes.rebuild(void 0,!0)):(this.processing(!0),setTimeout(function(){R(s,e,a),i.popover(a._panes.getNode(),{align:"container",span:"container"}),a._panes.rebuild(void 0,!0),i.processing(!1)},10))},init:function(t,s,e){t.button(s).text(e.text||t.i18n("searchPanes.collapse","SearchPanes",0)),t.init().stateSave&&R(t,s,e)},config:{},text:""},$(document).on("preInit.dt.dtsp",function(t,s){"dt"!==t.namespace||!s.oInit.searchPanes&&!DataTable.defaults.searchPanes||s._searchPanes||M(s,null,!0)}),DataTable.ext.feature.push({cFeature:"P",fnInit:M}),DataTable.ext.features&&DataTable.ext.features.register("searchPanes",M)}();export default DataTable;