|
public with sharing class ContentVersionController { |
|
public List<ContentVersion> pageContent { get; set; } |
|
public List<ContentVersion> content { get; set; } |
|
private ApexPages.StandardSetController controller; |
|
private Integer pageNumber; |
|
private Integer pageSize; |
|
private Integer totalPageNumber; |
|
|
|
public ContentVersionController() { |
|
//controller = new ApexPages.StandardSetController(); |
|
pageNumber = 0; |
|
totalPageNumber = 0; |
|
pageSize = 20; |
|
ViewData(); |
|
} |
|
|
|
public ContentVersionController(ApexPages.StandardSetController con) { |
|
controller = con; |
|
pageNumber = 0; |
|
totalPageNumber = 0; |
|
pageSize = 20; |
|
ViewData(); |
|
} |
|
|
|
public List<ContentVersion> getContentVersions() { |
|
return [SELECT Id, Title, ContentDocumentId FROM ContentVersion |
|
WHERE IsLatest = true AND OwnerId = '005A0000003mkyk']; |
|
} |
|
|
|
public Integer getPageNumber() { |
|
return pageNumber; |
|
} |
|
|
|
public List<ContentVersion> getContent() { |
|
//return pageContent; |
|
return [SELECT Id, Title, ContentDocumentId FROM ContentVersion |
|
WHERE IsLatest = true AND OwnerId = '005A0000003mkyk']; |
|
} |
|
|
|
public Integer getPageSize() { |
|
return pageSize; |
|
} |
|
|
|
public Boolean getPreviousButtonEnabled() { |
|
return !(pageNumber > 1); |
|
} |
|
|
|
public Boolean getNextButtonDisabled() { |
|
if (content == null) { |
|
return true; |
|
} else { |
|
return ((pageNumber * pageSize) >= content.size()); |
|
} |
|
} |
|
|
|
public Integer getTotalPageNumber() { |
|
if(totalPageNumber == 0 && content !=null) { |
|
totalPageNumber = content.size() / pageSize; |
|
Integer mod = content.size() - (totalPageNumber * pageSize); |
|
if(mod > 0) { |
|
totalPageNumber++; |
|
} |
|
} |
|
return totalPageNumber; |
|
} |
|
|
|
public PageReference ViewData() { |
|
content = null; |
|
totalPageNumber = 0; |
|
BindData(1); |
|
return null; |
|
} |
|
|
|
public void BindData(Integer newPageIndex) { |
|
try { |
|
if(content == null){ |
|
content = [SELECT Id, Title, ContentDocumentId FROM ContentVersion |
|
WHERE IsLatest = true AND OwnerId = '005A0000003mkyk']; |
|
} |
|
pageContent = new List<ContentVersion>(); |
|
transient Integer counter = 0; |
|
transient Integer min = 0; |
|
transient Integer max = 0; |
|
if (newPageIndex > pageNumber) { |
|
min = pageNumber * pageSize; |
|
max = newPageIndex * pageSize; |
|
} else { |
|
max = newPageIndex * pageSize; |
|
min = max - pageSize; |
|
//min = min <> |
|
} |
|
for(ContentVersion c : content) { |
|
counter++; |
|
if (counter > min && counter <= max){ |
|
pageContent.add(c); |
|
} |
|
} |
|
pageNumber = newPageIndex; |
|
if (pageContent == null || pageContent.size() <= 0) { |
|
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, 'Data not available for this view.')); |
|
} |
|
} catch(Exception ex) { |
|
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.FATAL, ex.getMessage())); |
|
} |
|
} |
|
|
|
public PageReference nextBtnClick() { |
|
BindData(pageNumber + 1); |
|
return null; |
|
} |
|
|
|
public PageReference previousBtnClick() { |
|
BindData(pageNumber - 1); |
|
return null; |
|
} |
|
} |