From 8ba4f6ef70c63adfefd3b299bbb0c16db9d52663 Mon Sep 17 00:00:00 2001 From: Yung Han Khoe Date: Sun, 7 Dec 2008 13:10:08 +0000 Subject: [PATCH] More Matrix bugfixes --- .../matrix-default-compare-template.wgpkg | Bin 0 -> 1270 bytes .../matrix-default-view-template.wgpkg | Bin 0 -> 1991 bytes lib/WebGUI/Asset/Wobject/Matrix.pm | 16 +++++----- www/extras/wobject/Matrix/matrix.js | 29 ++++++++++++------ .../wobject/Matrix/matrixCompareList.js | 24 ++++++++++++++- www/extras/wobject/Matrix/matrixSearch.js | 7 ++--- 6 files changed, 54 insertions(+), 22 deletions(-) create mode 100644 docs/upgrades/packages-7.6.5/matrix-default-compare-template.wgpkg create mode 100644 docs/upgrades/packages-7.6.5/matrix-default-view-template.wgpkg diff --git a/docs/upgrades/packages-7.6.5/matrix-default-compare-template.wgpkg b/docs/upgrades/packages-7.6.5/matrix-default-compare-template.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..32c3fc99d0a1caf3029d1deb5f7dc3d728fad562 GIT binary patch literal 1270 zcmV7OWyx}8p~7DaKl6W403 zu6xk(iE1%Cd);=s-R#s*9L1e>4S~wjKZVj*LTEEO92e~2{@{@Cm_xeXhg^LDiN{tkILa8m zL8+vp9|u8bi{s4O_ku29p$>d*RU!I~qVH~P=CCE>Bik+=NaC{WHPZ#n= z7e3~1GG#DY2gmvu=!W6QRZa|n&=&*OKo9f~CpTj$3Qp>Y$b{^DcM_R@hi=22`)MSg zH5PL26-SV_x?-PcFK*?x)$MRT6NqyQZakrEhD**&u$JsrPx8#RJojq)y@kvyx7@xu zp(9*m8iJhUSkk(tplL|G}G*+xg+}CQ>s~lcM+BhXS+yYuIf;p zY;*{Gvne#yp=B8jK~tQuF$dFHn&pxulSo%Z6$ly`9aJs+wZIK6eF zX#;ERL@^+z{3`u_aI}H0uCAa7e4Jv5JWC|< zz+Ir;KDq~kDBSs zd2{U%y>Sg4y><=V?<|}0uZ+5Zq+*0A)2a1v1xT&vX|HgxcFQQ`^`!g;A(=lYXw_C?e$JC&(GE&X6j5NHw$?04R1`9 zSgjtanieZNIOrZ6bh_1uB%Lw^fV^1@fN`@-&YnjPu1FXImh|xgm5N!Po1W#+h`opd zd(72UO=`H7Ov)2E&-KLy+ZvC{QDA)bb8~c=rF$y*<=uW;{>EuPAA46!eV8k_k5|uc z&$fW9It>F)>@2*ADRzXu2T0s%b=$3GYu|e`BL>%HcxQx(&q@C(Vb{e}w|=j4+_|0w gW=_9*arYR120Yt%M&KEN{~-c@1MUEPq5u>C0LnFMApigX literal 0 HcmV?d00001 diff --git a/docs/upgrades/packages-7.6.5/matrix-default-view-template.wgpkg b/docs/upgrades/packages-7.6.5/matrix-default-view-template.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..80fffdb7d55306f27e9f5b3e34236c6948363c42 GIT binary patch literal 1991 zcmV;&2RQg2iwFP!000001MOLRZ`(Ey&)@wNgohz5P(LKwb>n&g()5uGY1bjiigj5H zT4HQ2vM7*rY`5rl-yNx^CAn?V6vI#zO&sx_Ki(aW=hn{MKb=lz(C_c;bUMzU@9gY! z2lgT9)7f$0c{J$tdV|gmaXL=Fw?lyC?w^IyRDx+sHkmH?&Gmtk@Sv0S_su1JS59NC zll^oao6m0RA0@(XWC=)o)a%vlztii(W*7Ir+r#|_H1GbotNm}?z3JaV!^eA&gbk&I zq*K-)L-N<(56!DciikAH%ISX+yhR#++)&SI^ibT?9H2lBp;zYd@hdX5Cm#D`1!UPy~y4mpi<(-GA!&HW?>L1(gGX6o!>(C(Qce|sN31% zP=WJoDGHqKmvhb}D{Ac*cxUp|gjy`V%F9UrU=k;VYR33kX9ToIB{}sBOa7 z1Z|cfR4Jz8B(P}dc@&r$Zhtr#?Lr17Su9=Cw~^Sq=4{#24A?M5(~RZni2FVZH*=D! zH&SSU*|fQYF%lj7&wZ}VlH+FLQUzEyMrh=iUlPTX;v#HaQ`w^aoWrgf2QTy}+P74& zL_A18DFU@WYDZ>$)Q%w zJgyHH8f-D_Xh;Qr8w6C?WVTGx2^1c)qaYpk^rDd}D+G6}ZKNf5;*)C{@M(zEN<=x9 zESVGfRJn?1NVpFyo|s2eGN2eu7LZ?IQu*v(@c#XAsF@5Y!a#%jyDAQ8~3G{k*5*$n7r>ibnrxvlchTTNYaFO4EqI?mzQ20o{}MTuqKPh$D3kZ z1=^nHr3Aw3<++tO-U^A$+CYd1G%G!h%^2ewdz9u=EcIyD-OVLSPFt3wrXE!$N+}A; z8=oO;OMGh1e`^b|3KF?(->PB;&t!u*vX6ls+l17^LV)H#_CU>4$aM+fw56LfXffMP zC)N4Aw%{uRe<|dxU^D#x2iywvA?*mhxcZn}Xq!uuNmcWA*14Kb6>X2=nvom!JXzNQ zB`(xZAxjBas&h%3Wt+^Jc5tJ<<>EeOKg1R_i~W3oz-}xB0PRWs+v2w6-VC?qnl>J_ z9%z_A!6lBVx+Wf}2u;cAiZ?bu!~m7t$7}V%H3b@;&ug}HH`1M4?jsiB94c3N$}MtC zliX6abqy063Wb(@w1B&hIds#SSJoQvuRbM!#lmTP$x3HC(O0k{CiO9TU|z71G1<(8 zhchO*K9|7@DdulrC=lAgOm4&qHy;*{ej8?DRPkj%CeftJYv_T^eCI8jygWZ14$Yuo zI6N!OkT5CP;f#iG&#WF9zY;#beYxU)9sPbQ1Kya7> zRTUoQ-d_O1>2?RbuG`JUCyv^}WCDBQbMe7DKKJget('maxComparisonsPrivileged'); } $form .= "\n\n"; return $form; } @@ -449,7 +450,7 @@ sub view { 'text/javascript'}); $self->session->style->setScript($self->session->url->extras('wobject/Matrix/matrix.js'), {type => 'text/javascript'}); - + my $var = $self->get; $var->{isLoggedIn} = ($self->session->user->userId ne "1"); $var->{addMatrixListing_url} = $self->getUrl('func=add;class=WebGUI::Asset::MatrixListing'); @@ -457,7 +458,7 @@ sub view { $var->{exportAttributes_url} = $self->getUrl('func=exportAttributes'); $var->{listAttributes_url} = $self->getUrl('func=listAttributes'); $var->{search_url} = $self->getUrl('func=search'); - + # Get the MatrixListing with the most views as an object using getLineage. my ($bestViews_listing) = @{ $self->getLineage(['descendants'], { includeOnlyClasses => ['WebGUI::Asset::MatrixListing'], @@ -674,6 +675,7 @@ sub www_compare { 'var listingIds = new Array('.join(", ",map {'"'.$_.'"'} @listingIds).");\n". 'var responseFields = new Array("attributeId", "name", "fieldType", "checked", '.join(", ",map {'"'.$_.'"'} @responseFields).");\n". "var maxComparisons = ".$maxComparisons.";\n". + "var matrixUrl = '".$self->getUrl."';\n". ""; return $self->processStyle($self->processTemplate($var,$self->get("compareTemplateId"))); @@ -903,12 +905,12 @@ sub www_getCompareFormData { my $session = $self->session; my $form = $session->form; my $sort = shift || $session->scratch->get('matrixSort') || $self->get('defaultSort'); - my $sortDirection = ' asc'; - + my $sortDirection = ' desc'; +=cut if ( WebGUI::Utility::isIn($sort, qw(revisionDate score)) ) { $sortDirection = " desc"; } - +=cut my @results; my @listingIds = $self->session->form->checkList("listingId"); @@ -983,7 +985,7 @@ assetData.revisionDate } } $result->{assetId} =~ s/-/_____/g; - $result->{url} = "/".$result->{url}; + $result->{url} = $session->url->gateway($result->{url}); } my $jsonOutput; diff --git a/www/extras/wobject/Matrix/matrix.js b/www/extras/wobject/Matrix/matrix.js index 507bc4042..7b9b62a18 100644 --- a/www/extras/wobject/Matrix/matrix.js +++ b/www/extras/wobject/Matrix/matrix.js @@ -22,13 +22,13 @@ YAHOO.util.Event.addListener(window, "load", function() { ]; var uri = "func=getCompareFormData"; - if(typeof(listingIds) != 'undefined'){ - for (var i = 0; i < listingIds.length; i++) { - uri = uri+';listingId='+listingIds[i]; - } + if(typeof(listingIds) != 'undefined'){ + for (var i = 0; i < listingIds.length; i++) { + uri = uri+';listingId='+listingIds[i]; + } } - this.myDataSource = new YAHOO.util.DataSource("?"); + this.myDataSource = new YAHOO.util.DataSource(matrixUrl + "?"); this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON; this.myDataSource.connXhrMode = "queueRequests"; this.myDataSource.responseSchema = { @@ -47,25 +47,25 @@ YAHOO.util.Event.addListener(window, "load", function() { var btnSortByViews = new YAHOO.widget.Button("sortByViews"); btnSortByViews.on("click", function(e) { this.myDataTable.sortColumn(this.myDataTable.getColumn(2)); - var request = YAHOO.util.Connect.asyncRequest('POST', "?func=setSort;sort=views"); + var request = YAHOO.util.Connect.asyncRequest('POST', matrixUrl + "?func=setSort;sort=views"); },this,true); var btnSortByClicks = new YAHOO.widget.Button("sortByClicks"); btnSortByClicks.on("click", function(e) { this.myDataTable.sortColumn(this.myDataTable.getColumn(3)); - var request = YAHOO.util.Connect.asyncRequest('POST', "?func=setSort;sort=clicks"); + var request = YAHOO.util.Connect.asyncRequest('POST', matrixUrl + "?func=setSort;sort=clicks"); },this,true); var btnSortByCompares = new YAHOO.widget.Button("sortByCompares"); btnSortByCompares.on("click", function(e) { this.myDataTable.sortColumn(this.myDataTable.getColumn(4)); - var request = YAHOO.util.Connect.asyncRequest('POST', "?func=setSort;sort=compares"); + var request = YAHOO.util.Connect.asyncRequest('POST', matrixUrl + "?func=setSort;sort=compares"); },this,true); var btnSortByUpdated = new YAHOO.widget.Button("sortByUpdated"); btnSortByUpdated.on("click", function(e) { this.myDataTable.sortColumn(this.myDataTable.getColumn(5)); - var request = YAHOO.util.Connect.asyncRequest('POST', "?func=setSort;sort=lastUpdated"); + var request = YAHOO.util.Connect.asyncRequest('POST', matrixUrl + "?func=setSort;sort=lastUpdated"); },this,true); var myCallback = function() { @@ -77,6 +77,15 @@ YAHOO.util.Event.addListener(window, "load", function() { btnCompare.on("click", function(e) { window.document.forms['doCompare'].submit(); },this,true); + var btnCompare2 = new YAHOO.widget.Button("compare2",{disabled:true,id:"compareButton2"}); + btnCompare2.on("click", function(e) { + window.document.forms['doCompare'].submit(); + },this,true); + + var btnSearch = new YAHOO.widget.Button("search"); + btnSearch.on("click", function(e) { + window.location.href = matrixUrl + '?func=search'; + },this,true); window.compareDataTable = this.myDataTable; @@ -92,8 +101,10 @@ YAHOO.util.Event.addListener(window, "load", function() { } if (checked > 1 && checked < maxComparisons){ btnCompare.set("disabled",false); + btnCompare2.set("disabled",false); }else{ btnCompare.set("disabled",true); + btnCompare2.set("disabled",true); } var elements = window.compareDataTable.getRecordSet().getRecords(); for(j=0; j 1 && checked < maxComparisons){ btnCompare.set("disabled",false); + btnCompare2.set("disabled",false); }else{ btnCompare.set("disabled",true); + btnCompare2.set("disabled",true); } } diff --git a/www/extras/wobject/Matrix/matrixSearch.js b/www/extras/wobject/Matrix/matrixSearch.js index e9f9872e8..dbea4e00c 100644 --- a/www/extras/wobject/Matrix/matrixSearch.js +++ b/www/extras/wobject/Matrix/matrixSearch.js @@ -16,10 +16,7 @@ YAHOO.util.Event.addListener(window, "load", function() { var myColumnDefs = [ {key:"assetId",label:"",sortable:false, formatter:this.formatCheckBox}, - {key:"title", label:"Name", sortable:true, formatter:this.formatUrl}, - {key:"views", sortable:true}, - {key:"clicks", sortable:true}, - {key:"compares", sortable:true} + {key:"title", label:"Name", sortable:true, formatter:this.formatUrl} ]; var uri = "func=getCompareFormData"; @@ -34,7 +31,7 @@ YAHOO.util.Event.addListener(window, "load", function() { this.myDataSource.connXhrMode = "queueRequests"; this.myDataSource.responseSchema = { resultsList: "ResultSet.Result", - fields: ["title","views","clicks","compares","checked","url","assetId"] + fields: ["title","checked","url","assetId"] }; var myDataTable = new YAHOO.widget.DataTable("compareForm", myColumnDefs,