2
Represents the pager in an album
4
var AlbumPagerView = Y.Base.create('albumPagerView', Y.View, [], {
6
initializer: function () {
8
this.pagerNodes = Y.all(this.get('containers'));
9
this.photoList = this.get('photoList');
12
buildURLTemplate: function (currentQueryString) {
13
var pageParameterRegex = /page\=\d+/,
14
pageParameterSubstitute = 'page={page}',
17
// found page parameter
18
if(pageParameterRegex.test(currentQueryString)) {
19
ret = currentQueryString.replace(pageParameterRegex, pageParameterSubstitute);
21
// append page parameter
23
ret = currentQueryString + '&' + pageParameterSubstitute;
28
render: function (app) {
30
var total = this.photoList.get('total'),
31
pagesize = this.photoList.get('pagesize'),
32
page = this.photoList.get('page');
34
if(total > pagesize) {
35
// create one or two new Pages object, which then will replace the pager
36
// Y.Pages does strict comparison, so make sure they're all Numbers
37
this.pagerNodes.each(function (node) {
43
URLTemplate: this.buildURLTemplate(app.getQueryString())
51
// note containerS, since this view will serve both
52
// it could be one view pr pager
59
Y.namespace('Photos').AlbumPagerView = AlbumPagerView;