[Debtags-commits] [svn] r1939 - in web/trunk: . js
Enrico Zini
enrico at costa.debian.org
Fri Sep 22 22:53:30 UTC 2006
Author: enrico
Date: Fri Sep 22 22:53:30 2006
New Revision: 1939
Modified:
web/trunk/js/debtags.js
web/trunk/ssearch.html
Log:
Only load package data when needed
Modified: web/trunk/js/debtags.js
==============================================================================
--- web/trunk/js/debtags.js (original)
+++ web/trunk/js/debtags.js Fri Sep 22 22:53:30 2006
@@ -222,6 +222,16 @@
return true;
return false;
},
+ toString: function() {
+ var str = "";
+ this.each(function(i){if(str == "") str+=i; else str+=', '+i;});
+ return str;
+ },
+ copy: function() {
+ var res = new Tagset();
+ this.each(function(i){res.add(i);});
+ return res;
+ },
};
Collection = function() {
@@ -271,6 +281,10 @@
packageCount: function() {
return this.pcount;
},
+ merge: function(coll) {
+ var tmp = this;
+ coll.iterPackages(function(p,t){tmp.addPackage(p,t);});
+ },
};
Packages = function() {
@@ -297,6 +311,14 @@
else
return null;
},
+ each: function(fun) {
+ for (var i in this.db)
+ fun(i, this.db[i]);
+ },
+ merge: function(pkgs) {
+ var tmp = this;
+ pkgs.each(function(p,d){tmp.add(p,d);});
+ },
};
Modified: web/trunk/ssearch.html
==============================================================================
--- web/trunk/ssearch.html (original)
+++ web/trunk/ssearch.html Fri Sep 22 22:53:30 2006
@@ -17,6 +17,15 @@
var available = new Array();
var coll = new Collection();
var pkgs = new Packages();
+var baseSearches = new Array();
+
+function needsPackageData()
+{
+ for (var i in baseSearches)
+ if (wanted.contains(baseSearches[i]))
+ return false;
+ return true;
+}
function addToWanted(tag)
{
@@ -75,12 +84,17 @@
function updateColl()
{
+ if (!needsPackageData())
+ return;
+ else
+ baseSearches.push(wanted.copy());
+
firePKGSQuery(wanted, function(coll,pkgs){
var node = document.getElementById("results");
node.innerHTML = "Loading package data... ("+coll.packageCount()+")";
}, function(c,p){
- coll = c;
- pkgs = p;
+ coll.merge(c);
+ pkgs.merge(p);
updateResults();
}, true);
}
More information about the Debtags-commits
mailing list