Skip to content

Instantly share code, notes, and snippets.

@choudharymanish8585
Last active November 20, 2020 18:24
Show Gist options
  • Save choudharymanish8585/581c79ccf26b3b8d16faf9afbec88074 to your computer and use it in GitHub Desktop.
Save choudharymanish8585/581c79ccf26b3b8d16faf9afbec88074 to your computer and use it in GitHub Desktop.
({
getAccounts : function(component, helper) {
var action = component.get("c.getLimitedAccounts");
action.setStorable();
action.setCallback(this,function(response) {
var state = response.getState();
if (state === "SUCCESS") {
console.log('Response Time: '+((new Date().getTime())-requestInitiatedTime));
component.set("v.totalPages", Math.ceil(response.getReturnValue().length/component.get("v.pageSize")));
component.set("v.allData", response.getReturnValue());
component.set("v.currentPageNumber",1);
helper.buildData(component, helper);
}
});
var requestInitiatedTime = new Date().getTime();
$A.enqueueAction(action);
},
/*
* this function will build table data
* based on current page selection
* */
buildData : function(component, helper) {
var data = [];
var pageNumber = component.get("v.currentPageNumber");
var pageSize = component.get("v.pageSize");
var allData = component.get("v.allData");
var x = (pageNumber-1)*pageSize;
//creating data-table data
for(; x<=(pageNumber)*pageSize; x++){
if(allData[x]){
data.push(allData[x]);
}
}
component.set("v.data", data);
helper.generatePageList(component, pageNumber);
},
/*
* this function generate page list
* */
generatePageList : function(component, pageNumber){
pageNumber = parseInt(pageNumber);
var pageList = [];
var totalPages = component.get("v.totalPages");
if(totalPages > 1){
if(totalPages <= 10){
var counter = 2;
for(; counter < (totalPages); counter++){
pageList.push(counter);
}
} else{
if(pageNumber < 5){
pageList.push(2, 3, 4, 5, 6);
} else{
if(pageNumber>(totalPages-5)){
pageList.push(totalPages-5, totalPages-4, totalPages-3, totalPages-2, totalPages-1);
} else{
pageList.push(pageNumber-2, pageNumber-1, pageNumber, pageNumber+1, pageNumber+2);
}
}
}
}
component.set("v.pageList", pageList);
},
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment