Factor out duplicate author/subject facet-generation code into new
[mkws-moved-to-github.git] / experiments / spclient / mkws.js
index 1e2546f..3bf3069 100644 (file)
@@ -167,38 +167,32 @@ function my_onterm(data) {
     termlists.push('<div class="facet">');
     termlists.push('<div class="termtitle">' + M('Sources') + '</div>');
     for (var i = 0; i < data.xtargets.length && i < SourceMax; i++ ) {
-        termlists.push('<a href="#" target_id='+data.xtargets[i].id + ' onclick="limitTarget(this.getAttribute(\'target_id\'),this.firstChild.nodeValue);return false;">'
+       termlists.push('<a href="#" target_id='+data.xtargets[i].id + ' onclick="limitTarget(this.getAttribute(\'target_id\'),this.firstChild.nodeValue);return false;">'
                       + data.xtargets[i].name
-                      + ' </a><span> ('
+                      + '</a><span> ('
                       + data.xtargets[i].freq
                       + ')</span><br/>');
     }
     termlists.push('</div>');
 
-    termlists.push('<div class="facet">');
-    termlists.push('<div class="termtitle">' + M('Subjects') + '</div>');
-    for (var i = 0; i < data.subject.length && i < SubjectMax; i++ ) {
-        termlists.push('<a href="#" onclick="limitQuery(\'su\', this.firstChild.nodeValue);return false;">'
-                      + data.subject[i].name
-                      + '</a><span>  ('
-                      + data.subject[i].freq
-                      + ')</span><br/>');
-    }
-    termlists.push('</div>');
+    add_single_facet(termlists, "Subjects", data.subject, SubjectMax, "su");
+    add_single_facet(termlists, "Authors", data.author, AuthorMax, "au");
+
+    var termlist = document.getElementById("termlist");
+    replaceHtml(termlist, termlists.join(''));
+}
 
+function add_single_facet(termlists, caption, data, max, cclIndex) {
     termlists.push('<div class="facet">');
-    termlists.push('<div class="termtitle">' + M('Authors') + '</div>');
-    for (var i = 0; i < data.author.length && i < AuthorMax; i++ ) {
-        termlists.push('<a href="#" onclick="limitQuery(\'au\', this.firstChild.nodeValue);return false;">'
-                       + data.author[i].name
-                       + ' </a><span> ('
-                       + data.author[i].freq
-                       + ')</span><br/>');
+    termlists.push('<div class="termtitle">' + M(caption) + '</div>');
+    for (var i = 0; i < data.length && i < max; i++ ) {
+        termlists.push('<a href="#" onclick="limitQuery(\'' + cclIndex + '\', this.firstChild.nodeValue);return false;">'
+                      + data[i].name
+                      + '</a><span> ('
+                      + data[i].freq
+                      + ')</span><br/>');
     }
     termlists.push('</div>');
-
-    var termlist = document.getElementById("termlist");
-    replaceHtml(termlist, termlists.join(''));
 }
 
 function my_onrecord(data) {