Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/convert_addon_to_account/models/dynamic_table.min.js
define(["lodash","cjt/util/locale"],(function(_,LOCALE){function DynamicTable(){this.items=[];this.filteredList=this.items;this.selected=[];this.allDisplayedRowsSelected=false;this.filterFunction=void 0;this.meta={sortBy:"",sortDirection:"asc",maxPages:0,totalItems:this.items.length,pageNumber:1,pageSize:10,pageSizes:[10,20,50,100],start:0,limit:10,filterValue:""}}DynamicTable.prototype.loadData=function(data){this.items=data;for(var i=0,len=this.items.length;i<len;i++){this.items[i]._id=i;if(this.items[i].selected){this.selected.push(this.items[i]._id)}}};DynamicTable.prototype.setFilterFunction=function(func){if(_.isFunction(func)){this.filterFunction=func}};DynamicTable.prototype.setSort=function(by,direction){if(by!==void 0){this.meta.sortBy=by}if(direction!==void 0){this.meta.sortDirection=direction}};DynamicTable.prototype.getMetadata=function(){return this.meta};DynamicTable.prototype.getList=function(){return this.filteredList};DynamicTable.prototype.getSelectedList=function(){return this.items.filter((function(item){return item.selected}))};DynamicTable.prototype.areAllDisplayedRowsSelected=function(){return this.allDisplayedRowsSelected};DynamicTable.prototype.getTotalRowsSelected=function(){return this.selected.length};DynamicTable.prototype.selectAllDisplayed=function(toggle){if(toggle){for(var i=0,filteredLen=this.filteredList.length;i<filteredLen;i++){var item=this.filteredList[i];item.selected=true;if(this.selected.indexOf(item._id)!==-1){continue}this.selected.push(item._id)}}else{var unselected=this.filteredList.map((function(item){item.selected=false;return item._id}));this.selected=_.difference(this.selected,unselected)}this.allDisplayedRowsSelected=toggle};DynamicTable.prototype.selectItem=function(item){if(typeof item!=="undefined"){if(item.selected){if(this.selected.indexOf(item._id)!==-1){return}this.selected.push(item._id);this.allDisplayedRowsSelected=this.filteredList.every((function(thisitem){return thisitem.selected}))}else{this.selected=this.selected.filter((function(thisid){return thisid!==item._id}));this.allDisplayedRowsSelected=false}}};DynamicTable.prototype.clearAllSelections=function(){this.selected=[];for(var i=0,len=this.items.length;i<len;i++){var item=this.items[i];item.selected=false}this.allDisplayedRowsSelected=false};DynamicTable.prototype.clear=function(){this.items=[];this.selected=[];this.allDisplayedRowsSelected=false;this.filteredList=this.populate()};DynamicTable.prototype.populate=function(){var filtered=[];var self=this;if(this.meta.filterValue!==""&&_.isFunction(this.filterFunction)){filtered=this.items.filter((function(item){return self.filterFunction(item,self.meta.filterValue)}))}else{filtered=this.items}if(this.meta.sortDirection!==""&&this.meta.sortBy!==""){filtered=_.orderBy(filtered,[this.meta.sortBy],[this.meta.sortDirection])}this.meta.totalItems=filtered.length;if(this.meta.totalItems>_.min(this.meta.pageSizes)){var start=(this.meta.pageNumber-1)*this.meta.pageSize;var limit=this.meta.pageNumber*this.meta.pageSize;filtered=_.slice(filtered,start,limit);this.meta.start=start+1;this.meta.limit=start+filtered.length}else{if(filtered.length===0){this.meta.start=0}else{this.meta.start=1}this.meta.limit=filtered.length}var countNonSelected=0;for(var i=0,filteredLen=filtered.length;i<filteredLen;i++){var item=filtered[i];if(this.selected.indexOf(item._id)!==-1){item.selected=true}else{item.selected=false;countNonSelected++}}this.filteredList=filtered;this.allDisplayedRowsSelected=filtered.length>0&&countNonSelected===0;return filtered};DynamicTable.prototype.paginationMessage=function(){return LOCALE.maketext("Displaying [numf,_1] to [numf,_2] out of [quant,_3,item,items]",this.meta.start,this.meta.limit,this.meta.totalItems)};return DynamicTable}));
Back to Directory