diff --git a/docs/upgrades/packages-7.7.5/matrix-default-compare-template.wgpkg b/docs/upgrades/packages-7.7.5/matrix-default-compare-template.wgpkg new file mode 100644 index 000000000..cd56b7b23 Binary files /dev/null and b/docs/upgrades/packages-7.7.5/matrix-default-compare-template.wgpkg differ diff --git a/lib/WebGUI/Asset/Wobject/Matrix.pm b/lib/WebGUI/Asset/Wobject/Matrix.pm index eeb8d2ad7..36da074b1 100644 --- a/lib/WebGUI/Asset/Wobject/Matrix.pm +++ b/lib/WebGUI/Asset/Wobject/Matrix.pm @@ -766,10 +766,10 @@ sub www_compare { {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('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->setScript($self->session->url->extras('wobject/Matrix/matrix.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 => diff --git a/www/extras/wobject/Matrix/matrixCompareList.js b/www/extras/wobject/Matrix/matrixCompareList.js index 383b08796..129663807 100644 --- a/www/extras/wobject/Matrix/matrixCompareList.js +++ b/www/extras/wobject/Matrix/matrixCompareList.js @@ -173,6 +173,71 @@ YAHOO.util.Event.addListener(window, "load", function() { }; }); +YAHOO.util.Event.addListener(window, "load", function() { + YAHOO.example.XHR_JSON2 = new function() { + this.formatUrl = function(elCell, oRecord, oColumn, sData) { + elCell.innerHTML = "" + sData + ""; + }; + this.formatCheckBox = function(elCell, oRecord, oColumn, sData) { + var innerHTML = ""; + elCell.innerHTML = innerHTML; + }; + + var myColumnDefs = [ + {key:"assetId",label:"",sortable:false, formatter:this.formatCheckBox}, + {key:"title", label:"", sortable:true, formatter:this.formatUrl}, + {key:"views", sortable:true, sortOptions:{defaultDir:YAHOO.widget.DataTable.CLASS_DESC}}, + {key:"clicks", sortable:true, sortOptions:{defaultDir:YAHOO.widget.DataTable.CLASS_DESC}}, + {key:"compares", sortable:true, sortOptions:{defaultDir:YAHOO.widget.DataTable.CLASS_DESC}}, + {key:"lastUpdated", sortable:true, sortOptions:{defaultDir:YAHOO.widget.DataTable.CLASS_DESC}} + ]; + + var uri = "func=getCompareFormData"; + if(typeof(listingIds) != 'undefined'){ + uri = uri + ';__listingId_isIn=1'; + for (var i = 0; i < listingIds.length; i++) { + uri = uri+';listingId='+listingIds[i]; + } + } + + this.myDataSource = new YAHOO.util.DataSource(matrixUrl + "?"); + this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON; + this.myDataSource.connXhrMode = "queueRequests"; + this.myDataSource.responseSchema = { + resultsList: "ResultSet.Result", + fields: ["title",{key: "views", parser: "number"},{key: "clicks", parser: "number"},{key: "compares", parser: "number"},{key: "checked"},{key: "lastUpdated", parser: "number"},"url","assetId"] + }; + + this.myDataTable = new YAHOO.widget.DataTable("compareForm", myColumnDefs, + this.myDataSource, {initialRequest:uri}); + + this.myDataTable.hideColumn(this.myDataTable.getColumn(2)); + this.myDataTable.hideColumn(this.myDataTable.getColumn(3)); + this.myDataTable.hideColumn(this.myDataTable.getColumn(4)); + this.myDataTable.hideColumn(this.myDataTable.getColumn(5)); + + var myCallback = function() { + this.set("sortedBy", null); + this.onDataReturnAppendRows.apply(this,arguments); + }; + + if(document.getElementById("search")){ + var btnSearch = new YAHOO.widget.Button("search"); + btnSearch.on("click", function(e) { + window.location.href = matrixUrl + '?func=search'; + },this,true); + } + + window.compareDataTable = this.myDataTable; + + }; +}); + + function setStickied (checkbox) { if(checkbox.checked == true){ var request = YAHOO.util.Connect.asyncRequest('POST', "?func=setStickied;attributeId="+checkbox.name);