"use strict";function ResponsiveDatatablesHelper(a,b,c){"string"==typeof a?this.tableElement=$(a):this.tableElement=a,this.api=this.tableElement.dataTable().api(),this.columnIndexes=[],this.columnsShownIndexes=[],this.columnsHiddenIndexes=[],this.currentBreakpoint="",this.lastBreakpoint="",this.lastColumnsHiddenIndexes=[];var d=window.location.pathname.split("/").pop(),e=this.api.settings().context[0];this.tableId=e.sTableId,this.saveState=e.oInit.bStateSave,this.cookieName="DataTablesResponsiveHelper_"+this.tableId+(d?"_"+d:""),this.lastStateExists=!1,this.expandColumn=void 0,this.origBreakpointsDefs=void 0,this.breakpoints={},this.options={"hideEmptyColumnsInRowDetail":!1,"clickOn":"icon","showDetail":null,"hideDetail":null},this.expandIconTemplate='',this.rowTemplate='',this.rowLiTemplate='
  • :
  • ',this.disabled=!0,this.skipNextWindowsWidthChange=!1,this.init(b,c)}ResponsiveDatatablesHelper.prototype.init=function(a,b){this.origBreakpointsDefs=a,this.initBreakpoints(),this.disable(!1),$.extend(this.options,b)},ResponsiveDatatablesHelper.prototype.initBreakpoints=function(){if(this.saveState&&this.getState(),!this.lastStateExists){var a=[];for(var b in this.origBreakpointsDefs)a.push({"name":b,"upperLimit":this.origBreakpointsDefs[b],"columnsToHide":[]});a.sort(function(a,b){return a.upperLimit-b.upperLimit});for(var c=0,d=0;dd;d++)this.breakpoints[a[d].name]=a[d];var f=this.api.columns().header(),g=[];for(d=0,e=f.length;e>d;d++)this.api.column(d).visible()&&(this.columnIndexes.push(d),g.push(f[d]));for(var h=0;he.lowerLimit)&&(!e.upperLimit||b<=e.upperLimit)&&(this.currentBreakpoint=e.name,c=e.columnsToHide)}var f=!1;if(!this.skipNextWindowsWidthChange)if(0===this.lastBreakpoint.length&&c.length)f=!0;else if(this.lastBreakpoint!=this.currentBreakpoint)f=!0;else if(this.columnsHiddenIndexes.length!==c.length)f=!0;else{var g=this.difference(this.columnsHiddenIndexes,c).length,h=this.difference(c,this.columnsHiddenIndexes).length;f=g+h>0}f&&(this.skipNextWindowsWidthChange=!0,this.columnsHiddenIndexes=c,this.columnsShownIndexes=this.difference(this.columnIndexes,this.columnsHiddenIndexes),this.showHideColumns(),this.lastBreakpoint=this.currentBreakpoint,this.setState(),this.skipNextWindowsWidthChange=!1),this.columnsHiddenIndexes.length?(this.tableElement.addClass("has-columns-hidden"),$("tr.detail-show",this.tableElement).each(function(b,c){var d=$(c);0===d.next(".row-detail").length&&ResponsiveDatatablesHelper.prototype.showRowDetail(a,d)})):(this.tableElement.removeClass("has-columns-hidden"),$("tr.row-detail",this.tableElement).each(function(b){ResponsiveDatatablesHelper.prototype.hideRowDetail(a,$(this).prev())}))}},ResponsiveDatatablesHelper.prototype.showHideColumns=function(){for(var a=0,b=this.columnsShownIndexes.length;b>a;a++)this.api.column(this.columnsShownIndexes[a]).visible(!0);for(var a=0,b=this.columnsHiddenIndexes.length;b>a;a++)this.api.column(this.columnsHiddenIndexes[a]).visible(!1);var c=this;$("tr.row-detail",this.tableElement).each(function(){ResponsiveDatatablesHelper.prototype.hideRowDetail(c,$(this).prev())}),this.tableElement.hasClass("has-columns-hidden")&&$("tr.detail-show",this.tableElement).each(function(a,b){ResponsiveDatatablesHelper.prototype.showRowDetail(c,$(b))})},ResponsiveDatatablesHelper.prototype.createExpandIcon=function(a){if(!this.disabled)for(var b=$("td",a),c=0,d=b.length;d>c;c++){var e=b[c],f=this.api.cell(e).index().column;if(e=$(e),f===this.expandColumn){if(0==$("span.responsiveExpander",e).length)switch(e.prepend(this.expandIconTemplate),this.options.clickOn){case"cell":e.on("click",{"responsiveDatatablesHelperInstance":this},this.showRowDetailEventHandler);break;case"row":$(a).on("click",{"responsiveDatatablesHelperInstance":this},this.showRowDetailEventHandler);break;default:e.on("click","span.responsiveExpander",{"responsiveDatatablesHelperInstance":this},this.showRowDetailEventHandler)}break}}},ResponsiveDatatablesHelper.prototype.showRowDetailEventHandler=function(a){var b=a.data.responsiveDatatablesHelperInstance;if(!b.disabled){var c=$(this);if(c.closest("table").hasClass("has-columns-hidden")){var d=c.closest("tr");d.hasClass("detail-show")?ResponsiveDatatablesHelper.prototype.hideRowDetail(b,d):ResponsiveDatatablesHelper.prototype.showRowDetail(b,d),d.toggleClass("detail-show"),a.stopPropagation()}}},ResponsiveDatatablesHelper.prototype.showRowDetail=function(a,b){for(var c=a.api,d=c.columns().header(),e=$(a.rowTemplate),f=$("ul",e),g=0;go;o++){var q=m[o];q.nodeType===Node.ELEMENT_NODE&&"SELECT"===q.tagName&&(n[o].selectedIndex=q.selectedIndex)}$(".columnValue",k).append(n).data("originalTdSource",j),k.attr("data-column",h);var r=$(j).attr("class");"undefined"!==r&&r!==!1&&""!==r&&k.addClass(r),f.append(k)}}var s=a.columnIndexes.length-a.columnsHiddenIndexes.length;e.find("> td").attr("colspan",s),b.after(e),a.options.showDetail&&a.options.showDetail(e)},ResponsiveDatatablesHelper.prototype.hideRowDetail=function(a,b){var c=b.next(".row-detail");a.options.hideDetail&&a.options.hideDetail(c),c.find("li").each(function(){var a=$(this).find("span.columnValue"),b=a.contents(),c=a.data("originalTdSource");$(c).empty().append(b)}),c.remove()},ResponsiveDatatablesHelper.prototype.disable=function(a){this.disabled=void 0===a||a,this.disabled?(this.setWindowsResizeHandler(!1),$("tbody tr.row-detail",this.tableElement).remove(),$("tbody tr",this.tableElement).removeClass("detail-show"),$("tbody tr span.responsiveExpander",this.tableElement).remove(),this.columnsHiddenIndexes=[],this.columnsShownIndexes=this.columnIndexes,this.showHideColumns(),this.tableElement.removeClass("has-columns-hidden"),this.tableElement.off("click","span.responsiveExpander",this.showRowDetailEventHandler)):this.setWindowsResizeHandler()},ResponsiveDatatablesHelper.prototype.getState=function(){var a=JSON.parse(localStorage.getItem(this.cookieName));a&&(this.columnIndexes=a.columnIndexes,this.breakpoints=a.breakpoints,this.expandColumn=a.expandColumn,this.lastBreakpoint=a.lastBreakpoint,this.lastStateExists=!0)},ResponsiveDatatablesHelper.prototype.setState=function(){var a=this.difference(this.lastColumnsHiddenIndexes,this.columnsHiddenIndexes).length,b=this.difference(this.columnsHiddenIndexes,this.lastColumnsHiddenIndexes).length;if(a+b>0){var c={"columnIndexes":this.columnIndexes,"columnsHiddenIndexes":this.columnsHiddenIndexes,"breakpoints":this.breakpoints,"expandColumn":this.expandColumn,"lastBreakpoint":this.lastBreakpoint};localStorage.setItem(this.cookieName,JSON.stringify(c)),this.lastColumnsHiddenIndexes=this.columnsHiddenIndexes.slice(0)}},ResponsiveDatatablesHelper.prototype.difference=function(a,b){var c,d=[],e={};for(c=b.length-1;c>=0;c--)e[b[c]]=!0;for(c=a.length-1;c>=0;c--)e[a[c]]!==!0&&d.push(a[c]);return d};