making all Matrix datatables templatable

This commit is contained in:
Yung Han Khoe 2009-05-30 14:43:41 +00:00
parent b0a1e20053
commit 398f5203f4
10 changed files with 20 additions and 635 deletions

View file

@ -710,8 +710,6 @@ sub view {
{type =>'text/javascript'});
$self->session->style->setScript($self->session->url->extras('yui/build/button/button-min.js'),
{type =>'text/javascript'});
$self->session->style->setScript($self->session->url->extras('wobject/Matrix/matrixListing.js'), {type =>
'text/javascript'});
$self->session->style->setLink($self->session->url->extras('yui/build/datatable/assets/skins/sam/datatable.css'),
{type =>'text/css', rel=>'stylesheet'});

View file

@ -635,8 +635,6 @@ sub view {
'text/javascript'});
$self->session->style->setScript($self->session->url->extras('yui/build/button/button-min.js'), {type =>
'text/javascript'});
$self->session->style->setScript($self->session->url->extras('wobject/Matrix/matrix.js'), {type =>
'text/javascript'});
my ($varStatistics,$varStatisticsEncoded);
my $var = $self->get;
@ -646,7 +644,7 @@ sub view {
$var->{exportAttributes_url} = $self->getUrl('func=exportAttributes');
$var->{listAttributes_url} = $self->getUrl('func=listAttributes');
$var->{search_url} = $self->getUrl('func=search');
$var->{compareForm_url} = $self->getUrl();
$var->{matrix_url} = $self->getUrl();
my $maxComparisons;
if($self->session->user->isVisitor){
@ -658,10 +656,7 @@ sub view {
else{
$maxComparisons = $self->get('maxComparisonsPrivileged');
}
$var->{javascript} = "<script type='text/javascript'>\n".
"var maxComparisons = ".$maxComparisons.";\n".
"var matrixUrl = '".$self->getUrl."';\n".
"</script>";
$var->{maxComparisons} = $maxComparisons;
if ($self->canEdit){
# Get all the MatrixListings that are still pending.
@ -880,8 +875,6 @@ sub www_compare {
{type =>'text/javascript'});
$self->session->style->setScript($self->session->url->extras('yui/build/container/container-min.js'),
{type =>'text/javascript'});
$self->session->style->setScript($self->session->url->extras('wobject/Matrix/matrixCompareList.js'), {type =>
'text/javascript'});
$self->session->style->setLink($self->session->url->extras('yui/build/datatable/assets/skins/sam/datatable.css'),
{type =>'text/css', rel=>'stylesheet'});
$self->session->style->setScript($self->session->url->extras('hoverhelp.js'), {type =>
@ -905,13 +898,12 @@ sub www_compare {
$listingId_safe =~ s/-/_____/g;
push(@responseFields, $listingId_safe, $listingId_safe."_compareColor");
}
$var->{javascript} = "<script type='text/javascript'>\n".
'var listingIds = new Array('.join(", ",map {'"'.$_.'"'} @listingIds).");\n".
'var responseFields = new Array("attributeId", "name", "description","fieldType", "checked", '.join(", ",map {'"'.$_.'"'} @responseFields).");\n".
"var maxComparisons = ".$maxComparisons.";\n".
"var matrixUrl = '".$self->getUrl."';\n".
"</script>";
$var->{maxComparisons} = $maxComparisons;
$var->{matrixUrl} = $self->getUrl;
$var->{listingIds} = join(", ",map {'"'.$_.'"'} @listingIds);
$var->{responseFields} = '"attributeId", "name", "description","fieldType", "checked", '
.join(", ",map{'"'.$_.'"'} @responseFields);
return $self->processStyle($self->processTemplate($var,$self->get("compareTemplateId")));
}
@ -1170,7 +1162,8 @@ sub www_getCompareFormData {
my @results;
if($form->process("search")){
while (my $result = $self->getListings) {
if ($searchParamList){
foreach my $result (@{$self->getListings}) {
my $matrixListing_attributes = $session->db->buildHashRefOfHashRefs("
select value, fieldType, attributeId from Matrix_attribute
left join MatrixListing_attribute as listing using(attributeId)
@ -1192,8 +1185,16 @@ sub www_getCompareFormData {
$result->{checked} = 'checked';
}
}
$result->{assetId} =~ s/-/_____/g;
push @results, $result;
$result->{assetId} =~ s/-/_____/g;
push @results, $result;
}
}
else{
foreach my $result (@{$self->getListings}) {
$result->{checked} = 'checked';
$result->{assetId} =~ s/-/_____/g;
push @results, $result;
}
}
}else{
foreach my $result (@{$self->getListings}) {
@ -1382,8 +1383,6 @@ sub www_search {
{type =>'text/javascript'});
$self->session->style->setScript($self->session->url->extras('yui/build/button/button-min.js'),
{type =>'text/javascript'});
$self->session->style->setScript($self->session->url->extras('wobject/Matrix/matrixSearch.js'), {type =>
'text/javascript'});
$self->session->style->setLink($self->session->url->extras('yui/build/datatable/assets/skins/sam/datatable.css'),
{type =>'text/css', rel=>'stylesheet'});