Minor cleanup.
[mkdru-moved-to-drupal.org.git] / mkdru.theme.js
1 Drupal.theme.prototype.mkdruResult = function(hit, num, detailLink) {
2   var html = "";
3   html += '<li class="mkdru-result" id="rec_' + hit.recid + '" >'
4           + '<span>' + num + '. </span>'
5           + '<a href="' + detailLink + '" class="mkdru-result-title">'
6           + hit["md-title"] + '</a> ';
7   if (hit["md-title-remainder"] !== undefined) {
8     html += '<span class="mkdru-result-title-remainder">' 
9             + hit["md-title-remainder"] + ' </span>';
10   }
11   if (hit["md-title-responsibility"] !== undefined) {
12     html += '<span class="mkdru-result-author"><i>'
13             + hit["md-title-responsibility"]
14             + '</i></span>';
15   }
16   html += '</li>';
17   return html;
18 };
19
20 Drupal.theme.prototype.mkdruDetail = function(data, linkBack) {
21   var html = '<table id="det_' + data.recid +'">';
22   if (data["md-title"] != undefined) {
23     html += '<tr><th>' + Drupal.t("Title") + '</th><td><strong>:</strong> '
24             + data["md-title"];
25     if (data["md-title-remainder"] !== undefined) {
26       html += ' : <span>' + data["md-title-remainder"] + ' </span>';
27     }
28     if (data["md-title-responsibility"] !== undefined) {
29       html += ' <span><i>'+ data["md-title-responsibility"] +'</i></span>';
30     }
31     html += '</td></tr>';
32   }
33   if (data["md-date"] != undefined)
34     html += '<tr><th>' + Drupal.t("Date") + '</th><td><strong>:</strong> '
35             + data["md-date"] + '</td></tr>';
36   if (data["md-author"] != undefined)
37     html += '<tr><th>' + Drupal.t("Author") + '</th><td><strong>:</strong> '
38             + data["md-author"] + '</td></tr>';
39   if (data["md-electronic-url"] != undefined)
40     html += '<tr><th>URL</th><td><strong>:</strong> <a href="'
41             + data["md-electronic-url"] + '" target="_blank">'
42             + data["md-electronic-url"] + '</a>' + '</td></tr>';
43   if (data["location"][0]["md-subject"] != undefined)
44     html += '<tr><th>' + Drupal.t("Subject") + '</th><td><strong>:</strong> '
45             + data["location"][0]["md-subject"] + '</td></tr>';
46   if (data["location"][0]["@name"] != undefined)
47     html += '<tr><th>' + Drupal.t("Location") + '</th></td><td><strong>:</strong> '
48             + data["location"][0]["@name"] + " (" + data["location"][0]["@id"] + ")"
49             + '</td></tr>';
50   html += '</table></div>';
51   html += '<a href="' + linkBack + '">Return to result list...</a>';
52   return html;
53 };
54
55 /**
56  * Pager theme
57  *
58  * @param pages
59  *   Array of hrefs for page links.
60  * @param start
61  *   Number of first page.
62  * @param current
63  *   Number of current page.
64  * @param total
65  *   Total number of pages.
66  * @param prev
67  *   Href for previous page.
68  * @param next
69  *   Href for next page.
70  */
71 Drupal.theme.prototype.mkdruPager = function (pages, start, current, total, prev, next) {
72   var html = "";
73   if (prev) 
74     html += '<a href="' + prev + '" class="mkdru-pager-prev">&#60;&#60; '
75             + Drupal.t("Prev") + '</a> | ';
76   else
77     html += '<span class="mkdru-pager-prev">&#60;&#60; ' + Drupal.t("Prev")
78             + '</span> | ';
79
80   if (start > 1)
81     html += '...';
82
83   for (var i = 0; i < pages.length; i++) {
84     if (i + start == current)
85       html += ' <span class="mkdru-pager-current">' + (i + start) + '</span>';
86     else
87       html += ' <a href="' + pages[i] + '">' + (i + start) + '</a>';
88   }
89
90   if (total > i)
91     html += ' ...';
92
93   if (next)
94     html += ' | <a href="' + next + '" class="mkdru-pager-next">'
95       + Drupal.t("Next") + ' &#62;&#62;</a>';
96   else
97     html += ' | <span class="mkdru-pager-next">' + Drupal.t("Next")
98             + ' &#62;&#62;</span>';
99
100   return html;
101 };
102
103 Drupal.theme.prototype.mkdruCounts = function(first, last, available, total) {
104   if (last > 0)
105     return first + Drupal.t(' to ') + last + Drupal.t(' of ') + available
106          + Drupal.t(' available (') + total + Drupal.t(' found)');
107   else
108     return Drupal.t('No results');
109 };
110
111 Drupal.theme.prototype.mkdruStatus = function(activeClients, clients) {
112   return Drupal.t('Waiting on ') + activeClients + Drupal.t(' out of ')
113          + clients + Drupal.t(' targets');
114 };
115
116 Drupal.theme.prototype.mkdruFacet = function (terms, facet, max, selections) {
117   var html = "";
118   for (var i = 0; i < terms.length && i < max; i++ ) {
119     var term = terms[i];
120     html += '<a href="'+term.toggleLink+'"';
121     if (term.selected) html += ' class="cross"><strong';
122     html += '>'+terms[i].name;
123     if (term.selected) html += "</strong>";
124     html += '</a><span> (' + terms[i].freq
125         + ')</span><br/>';
126   }
127   if (terms.length == 0 && selections && selections.length) {
128     for (var i=0; i<selections.length; i++) {
129       if (selections[i]) {
130         // since we have no target name (only id) go for the basename
131         // FIXME get the proper target name
132         var name = facet == "source" ? selections[i].replace(/.*[\/\\]/, "")
133           .replace(/\?.*/, '')
134           : selections[i];
135         html += '<a class="cross" href="'
136           + mkdru.removeLimit(facet, selections[i])
137           + '"><strong>'+name+'</strong></a><span> (0)</span><br/>';
138       }
139     } 
140   }
141   return html;
142 };
143
144 Drupal.theme.prototype.mkdruFacetContainer = function (facetsCfg) {
145   return "";
146 };