fixed pagination
This commit is contained in:
parent
2246b11904
commit
196d31cdf1
1 changed files with 14 additions and 21 deletions
|
|
@ -368,8 +368,8 @@ sub www_view {
|
||||||
# this case hasn't ever happened running against my dev SOAP::Lite
|
# this case hasn't ever happened running against my dev SOAP::Lite
|
||||||
# services, but let's assume it might. If our results array has
|
# services, but let's assume it might. If our results array has
|
||||||
# more than one element, let's hope if contains scalars
|
# more than one element, let's hope if contains scalars
|
||||||
$p = WebGUI::Paginator->new($url, \@result,
|
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
|
||||||
$self->get('paginateAfter'));
|
$p->setDataByArrayRef(\@result);
|
||||||
@result = ();
|
@result = ();
|
||||||
@result = @$p;
|
@result = @$p;
|
||||||
|
|
||||||
|
|
@ -380,8 +380,8 @@ sub www_view {
|
||||||
if (my $aref = $result[0]->{$self->get('paginateVar')}) {
|
if (my $aref = $result[0]->{$self->get('paginateVar')}) {
|
||||||
|
|
||||||
$var{'numResults'} = scalar @$aref;
|
$var{'numResults'} = scalar @$aref;
|
||||||
$p = WebGUI::Paginator->new($url, $aref,
|
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
|
||||||
$self->get('paginateAfter'));
|
$p->setDataByArrayRef($aref);
|
||||||
$result[0]->{$self->get('paginateVar')} = $p->getPageData;
|
$result[0]->{$self->get('paginateVar')} = $p->getPageData;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -392,22 +392,22 @@ sub www_view {
|
||||||
# prevent the wobject from dying
|
# prevent the wobject from dying
|
||||||
for (keys %{$result[0]}) {
|
for (keys %{$result[0]}) {
|
||||||
if ((ref $result[0]->{$_}) =~ /ARRAY/) {
|
if ((ref $result[0]->{$_}) =~ /ARRAY/) {
|
||||||
$p = WebGUI::Paginator->new($url, $result[0]->{$_},
|
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
|
||||||
$self->get('paginateAfter'));
|
$p->setDataByArrayRef($result[0]->{$_});
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$p ||= WebGUI::Paginator->new($url, []);
|
$p ||= WebGUI::Paginator->new($url);
|
||||||
$result[0]->{$_} = $p->getPageData;
|
$result[0]->{$_} = $p->getPageData;
|
||||||
|
|
||||||
} elsif ((ref $result[0]) =~ /ARRAY/) {
|
} elsif ((ref $result[0]) =~ /ARRAY/) {
|
||||||
$p = WebGUI::Paginator->new($url, $result[0],
|
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
|
||||||
$self->get('paginateAfter'));
|
$p->setDataByArrayRef($result[0]);
|
||||||
$result[0] = $p->getPageData;
|
$result[0] = $p->getPageData;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$p = WebGUI::Paginator->new($url, [$result[0]],
|
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
|
||||||
$self->get('paginateAfter'));
|
$p->setDataByArrayRef([$result[0]]);
|
||||||
$result[0] = $p->getPageData;
|
$result[0] = $p->getPageData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -415,16 +415,9 @@ sub www_view {
|
||||||
|
|
||||||
# set pagination links
|
# set pagination links
|
||||||
if ($p) {
|
if ($p) {
|
||||||
$var{"firstPage"} = $p->getFirstPageLink;
|
$p->appendTemplateVars(\%var);
|
||||||
$var{"lastPage"} = $p->getLastPageLink;
|
for ('pagination.firstPage','pagination.lastPage','pagination.nextPage','pagination.pageList',
|
||||||
$var{"nextPage"} = $p->getNextPageLink;
|
'pagination.previousPage', 'pagination.pageList.upTo20', 'pagination.pageList.upTo10') {
|
||||||
$var{"pageList"} = $p->getPageLinks;
|
|
||||||
$var{"previousPage"} = $p->getPreviousPageLink;
|
|
||||||
$var{"multiplePages"} = ($p->getNumberOfPages > 1);
|
|
||||||
$var{'numberOfPages'} = $p->getNumberOfPages;
|
|
||||||
$var{'pageNumber'} = $p->getPageNumber;
|
|
||||||
|
|
||||||
for ('firstPage','lastPage','nextPage','pageList','previousPage') {
|
|
||||||
$var{$_} =~ s/\?/\?cache=$cache_key\&/g;
|
$var{$_} =~ s/\?/\?cache=$cache_key\&/g;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue