File "datatables.responsive.min.js"
Full Path: /var/www/bvnghean.vn/save_bvnghean.vn/wp-content/plugins/wpDataTables_v1.6.1/assets/js/responsive/datatables.responsive.min.js
File size: 8.24 KB
MIME-type: text/plain
Charset: utf-8
"use strict";function ResponsiveDatatablesHelper(e,t,s){this.tableElement="string"==typeof e?jQuery(e):e,this.api=this.tableElement.dataTable().api(),this.columnIndexes=[],this.columnsShownIndexes=[],this.columnsHiddenIndexes=[],this.currentBreakpoint="",this.lastBreakpoint="",this.lastColumnsHiddenIndexes=[];var i=window.location.pathname.split("/").pop(),n=this.api.settings().context[0];this.tableId=n.sTableId,this.saveState=n.oInit.bStateSave,this.cookieName="DataTablesResponsiveHelper_"+this.tableId+(i?"_"+i:""),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='<span class="responsiveExpander"></span>',this.rowTemplate='<tr class="row-detail"><td><ul><!--column item--></ul></td></tr>',this.rowLiTemplate='<li><span class="columnTitle"><!--column title--></span>: <span class="columnValue"><!--column value--></span></li>',this.disabled=!0,this.skipNextWindowsWidthChange=!1,this.init(t,s)}ResponsiveDatatablesHelper.prototype.init=function(e,t){this.origBreakpointsDefs=e,this.initBreakpoints(),this.disable(!1),jQuery.extend(this.options,t)},ResponsiveDatatablesHelper.prototype.initBreakpoints=function(){if(this.saveState&&this.getState(),!this.lastStateExists){var e=[];for(var t in this.origBreakpointsDefs)e.push({name:t,upperLimit:this.origBreakpointsDefs[t],columnsToHide:[]});e.sort(function(e,t){return e.upperLimit-t.upperLimit});for(var s=0,i=0;i<e.length;i++)e[i].lowerLimit=s,s=e[i].upperLimit;e.push({name:"always",lowerLimit:s,upperLimit:1/0,columnsToHide:[]}),this.breakpoints={};var i,n;for(i=0,n=e.length;n>i;i++)this.breakpoints[e[i].name]=e[i];var a=this.api.columns().header(),o=[];for(i=0,n=a.length;n>i;i++)this.api.column(i).visible()&&(this.columnIndexes.push(i),o.push(a[i]));for(var l=0;l<o.length;l++){var r=jQuery(o[l]);"expand"===r.attr("data-class")&&(this.expandColumn=this.columnIndexes[l]);var d=r.attr("data-hide");if(void 0!==d)for(var h=d.split(/,\s*/),i=0;i<h.length;i++){var p=h[i];if("always"===p)for(var t in this.breakpoints)"default"!==this.breakpoints[t].name&&this.breakpoints[t].columnsToHide.push(this.columnIndexes[l]);else void 0!==this.breakpoints[p]&&this.breakpoints[p].columnsToHide.push(this.columnIndexes[l])}}}},ResponsiveDatatablesHelper.prototype.setWindowsResizeHandler=function(e){if(void 0===e&&(e=!0),e){var t=this;jQuery(window).bind("resize",function(){t.respond()})}else jQuery(window).unbind("resize")},ResponsiveDatatablesHelper.prototype.respond=function(){if(!this.disabled){var e=this,t=jQuery(window).width(),s=[];for(var i in this.breakpoints){var n=this.breakpoints[i];(!n.lowerLimit||t>n.lowerLimit)&&(!n.upperLimit||t<=n.upperLimit)&&(this.currentBreakpoint=n.name,s=n.columnsToHide)}var a=!1;if(!this.skipNextWindowsWidthChange)if(0===this.lastBreakpoint.length&&s.length)a=!0;else if(this.lastBreakpoint!=this.currentBreakpoint)a=!0;else if(this.columnsHiddenIndexes.length!==s.length)a=!0;else{var o=this.difference(this.columnsHiddenIndexes,s).length,l=this.difference(s,this.columnsHiddenIndexes).length;a=o+l>0}a&&(this.skipNextWindowsWidthChange=!0,this.columnsHiddenIndexes=s,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"),jQuery("tr.detail-show",this.tableElement).each(function(t,s){var i=jQuery(s);0===i.next(".row-detail").length&&ResponsiveDatatablesHelper.prototype.showRowDetail(e,i)})):(this.tableElement.removeClass("has-columns-hidden"),jQuery("tr.row-detail",this.tableElement).each(function(){ResponsiveDatatablesHelper.prototype.hideRowDetail(e,jQuery(this).prev())}))}},ResponsiveDatatablesHelper.prototype.showHideColumns=function(){for(var e=0,t=this.columnsShownIndexes.length;t>e;e++)this.api.column(this.columnsShownIndexes[e]).visible(!0);for(var e=0,t=this.columnsHiddenIndexes.length;t>e;e++)this.api.column(this.columnsHiddenIndexes[e]).visible(!1);var s=this;jQuery("tr.row-detail",this.tableElement).each(function(){ResponsiveDatatablesHelper.prototype.hideRowDetail(s,jQuery(this).prev())}),this.tableElement.hasClass("has-columns-hidden")&&jQuery("tr.detail-show",this.tableElement).each(function(e,t){ResponsiveDatatablesHelper.prototype.showRowDetail(s,jQuery(t))})},ResponsiveDatatablesHelper.prototype.createExpandIcon=function(e){if(!this.disabled)for(var t=jQuery("td",e),s=0,i=t.length;i>s;s++){var n=t[s],a=this.api.cell(n).index().column;if(n=jQuery(n),a===this.expandColumn){if(0==jQuery("span.responsiveExpander",n).length)switch(n.prepend(this.expandIconTemplate),this.options.clickOn){case"cell":n.on("click",{responsiveDatatablesHelperInstance:this},this.showRowDetailEventHandler);break;case"row":jQuery(e).on("click",{responsiveDatatablesHelperInstance:this},this.showRowDetailEventHandler);break;default:n.on("click","span.responsiveExpander",{responsiveDatatablesHelperInstance:this},this.showRowDetailEventHandler)}break}}},ResponsiveDatatablesHelper.prototype.showRowDetailEventHandler=function(e){var t=e.data.responsiveDatatablesHelperInstance;if(!t.disabled){var s=jQuery(this);if(s.closest("table").hasClass("has-columns-hidden")){var i=s.closest("tr");i.hasClass("detail-show")?ResponsiveDatatablesHelper.prototype.hideRowDetail(t,i):ResponsiveDatatablesHelper.prototype.showRowDetail(t,i),i.toggleClass("detail-show"),e.stopPropagation()}}},ResponsiveDatatablesHelper.prototype.showRowDetail=function(e,t){for(var s=e.api,i=s.columns().header(),n=jQuery(e.rowTemplate),a=jQuery("ul",n),o=0;o<e.columnsHiddenIndexes.length;o++){var l=e.columnsHiddenIndexes[o],r=s.row(t).index(),d=s.cell(r,l).node();if(!e.options.hideEmptyColumnsInRowDetail||d.innerHTML.trim().length){var h=jQuery(e.rowLiTemplate),p=jQuery(i[l]).attr("data-name");jQuery(".columnTitle",h).html(void 0!==p?p:i[l].innerHTML);for(var u=jQuery(d).contents(),c=u.clone(),m=0,v=u.length;v>m;m++){var f=u[m];f.nodeType===Node.ELEMENT_NODE&&"SELECT"===f.tagName&&(c[m].selectedIndex=f.selectedIndex)}jQuery(".columnValue",h).append(c).data("originalTdSource",d),h.attr("data-column",l);var b=jQuery(d).attr("class");"undefined"!==b&&b!==!1&&""!==b&&h.addClass(b),a.append(h)}}var w=e.columnIndexes.length-e.columnsHiddenIndexes.length;n.find("> td").attr("colspan",w),t.after(n),e.options.showDetail&&e.options.showDetail(n)},ResponsiveDatatablesHelper.prototype.hideRowDetail=function(e,t){var s=t.next(".row-detail");e.options.hideDetail&&e.options.hideDetail(s),s.find("li").each(function(){var e=jQuery(this).find("span.columnValue"),t=e.contents(),s=e.data("originalTdSource");jQuery(s).empty().append(t)}),s.remove()},ResponsiveDatatablesHelper.prototype.disable=function(e){this.disabled=void 0===e||e,this.disabled?(this.setWindowsResizeHandler(!1),jQuery("tbody tr.row-detail",this.tableElement).remove(),jQuery("tbody tr",this.tableElement).removeClass("detail-show"),jQuery("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 e=JSON.parse(localStorage.getItem(this.cookieName));e&&(this.columnIndexes=e.columnIndexes,this.breakpoints=e.breakpoints,this.expandColumn=e.expandColumn,this.lastBreakpoint=e.lastBreakpoint,this.lastStateExists=!0)},ResponsiveDatatablesHelper.prototype.setState=function(){var e=this.difference(this.lastColumnsHiddenIndexes,this.columnsHiddenIndexes).length,t=this.difference(this.columnsHiddenIndexes,this.lastColumnsHiddenIndexes).length;if(e+t>0){var s={columnIndexes:this.columnIndexes,columnsHiddenIndexes:this.columnsHiddenIndexes,breakpoints:this.breakpoints,expandColumn:this.expandColumn,lastBreakpoint:this.lastBreakpoint};localStorage.setItem(this.cookieName,JSON.stringify(s)),this.lastColumnsHiddenIndexes=this.columnsHiddenIndexes.slice(0)}},ResponsiveDatatablesHelper.prototype.difference=function(e,t){var s,i=[],n={};for(s=t.length-1;s>=0;s--)n[t[s]]=!0;for(s=e.length-1;s>=0;s--)n[e[s]]!==!0&&i.push(e[s]);return i};