-Drupal.theme.prototype.mkdruResult = function(hit, num) {
- var html = [];
- html.push('<div class="record" id="recdiv_' + hit.recid + '" >'
- + '<span>' + num + '. </span>'
- + '<a href="#" id="rec_' + hit.recid
- + '"><b>'
- + hit["md-title"] + ' </b></a>');
+Drupal.theme.prototype.mkdruResult = function(hit, num, detailLink) {
+ var html = "";
+ html += '<li class="mkdru-result" id="rec_' + hit.recid + '" >'
+ + '<span>' + num + '. </span>'
+ + '<a href="' + detailLink + '" class="mkdru-result-title">'
+ + hit["md-title"] + '</a> ';
if (hit["md-title-remainder"] !== undefined) {
- html.push('<span>' + hit["md-title-remainder"] + ' </span>');
+ html += '<span class="mkdru-result-title-remainder">'
+ + hit["md-title-remainder"] + ' </span>';
}
if (hit["md-title-responsibility"] !== undefined) {
- html.push('<span><i>'+hit["md-title-responsibility"]+'</i></span>');
+ html += '<span class="mkdru-result-author"><i>'
+ + hit["md-title-responsibility"]
+ + '</i></span>';
}
- html.push('</div>');
- return (html.join(''));
+ html += '</li>';
+ return html;
};
-Drupal.theme.prototype.mkdruPager = function (data, curPage, pages) {
- var caption = '<hr/><div style="float: right">Displaying: '
- + (data.start + 1) + ' to ' + (data.start + data.num) +
- ' of ' + data.merged + ' (found: '
- + data.total + ')</div>';
-
- var onsides = 6;
-
- var firstClkbl = ( curPage - onsides > 0 )
- ? curPage - onsides
- : 1;
+Drupal.theme.prototype.mkdruDetail = function(data, linkBack) {
+ var html = '<table id="det_' + data.recid +'">';
+ if (data["md-title"] != undefined) {
+ html += '<tr><th>' + Drupal.t("Title") + '</th><td><strong>:</strong> '
+ + data["md-title"];
+ if (data["md-title-remainder"] !== undefined) {
+ html += ' : <span>' + data["md-title-remainder"] + ' </span>';
+ }
+ if (data["md-title-responsibility"] !== undefined) {
+ html += ' <span><i>'+ data["md-title-responsibility"] +'</i></span>';
+ }
+ html += '</td></tr>';
+ }
+ if (data["md-date"] != undefined)
+ html += '<tr><th>' + Drupal.t("Date") + '</th><td><strong>:</strong> '
+ + data["md-date"] + '</td></tr>';
+ if (data["md-author"] != undefined)
+ html += '<tr><th>' + Drupal.t("Author") + '</th><td><strong>:</strong> '
+ + data["md-author"] + '</td></tr>';
+ if (data["md-electronic-url"] != undefined)
+ html += '<tr><th>URL</th><td><strong>:</strong> <a href="'
+ + data["md-electronic-url"] + '" target="_blank">'
+ + data["md-electronic-url"] + '</a>' + '</td></tr>';
+ if (data["location"][0]["md-subject"] != undefined)
+ html += '<tr><th>' + Drupal.t("Subject") + '</th><td><strong>:</strong> '
+ + data["location"][0]["md-subject"] + '</td></tr>';
+ if (data["location"][0]["@name"] != undefined)
+ html += '<tr><th>' + Drupal.t("Location") + '</th></td><td><strong>:</strong> '
+ + data["location"][0]["@name"] + " (" + data["location"][0]["@id"] + ")"
+ + '</td></tr>';
+ html += '</table></div>';
+ html += '<a href="' + linkBack + '">Return to result list...</a>';
+ return html;
+};
- var lastClkbl = firstClkbl + 2*onsides < pages
- ? firstClkbl + 2*onsides
- : pages;
+/**
+ * Pager theme
+ *
+ * @param pages
+ * Array of hrefs for page links.
+ * @param start
+ * Number of first page.
+ * @param current
+ * Number of current page.
+ * @param total
+ * Total number of pages.
+ * @param prev
+ * Href for previous page.
+ * @param next
+ * Href for next page.
+ */
+Drupal.theme.prototype.mkdruPager = function (pages, start, current, total, prev, next) {
+ var html = "";
+ if (prev)
+ html += '<a href="' + prev + '" class="mkdru-pager-prev"><< '
+ + Drupal.t("Prev") + '</a> | ';
+ else
+ html += '<span class="mkdru-pager-prev"><< ' + Drupal.t("Prev")
+ + '</span> | ';
- var prev = '<span id="prev"><< Prev</span><b> | </b>';
- if (curPage > 1)
- var prev = '<a href="#" class="mkdru-prev">'
- +'<< Prev</a><b> | </b>';
+ if (start > 1)
+ html += '...';
- var middle = '';
- for(var i = firstClkbl; i <= lastClkbl; i++) {
- var numLabel = i;
- if(i == curPage)
- numLabel = '<b>' + i + '</b>';
+ for (var i = 0; i < pages.length; i++) {
+ if (i + start == current)
+ html += ' <span class="mkdru-pager-current">' + (i + start) + '</span>';
+ else
+ html += ' <a href="' + pages[i] + '">' + (i + start) + '</a>';
+ }
- middle += '<a href="#" onclick="mkdru.showPage(' + i + ')"> '
- + numLabel + ' </a>';
- }
+ if (total > i)
+ html += ' ...';
- var next = '<b> | </b><span id="next">Next >></span>';
- if (pages - curPage > 0)
- var next = '<b> | </b><a href="#" class="mkdru-next">'
- +'Next >></a>';
+ if (next)
+ html += ' | <a href="' + next + '" class="mkdru-pager-next">'
+ + Drupal.t("Next") + ' >></a>';
+ else
+ html += ' | <span class="mkdru-pager-next">' + Drupal.t("Next")
+ + ' >></span>';
- predots = '';
- if (firstClkbl > 1)
- predots = '...';
+ return html;
+};
- postdots = '';
- if (lastClkbl < pages)
- postdots = '...';
+Drupal.theme.prototype.mkdruCounts = function(first, last, available, total) {
+ if (last > 0)
+ return first + Drupal.t(' to ') + last + Drupal.t(' of ') + available
+ + Drupal.t(' available (') + total + Drupal.t(' found)');
+ else
+ return Drupal.t('No results');
+};
- return ('<div style="float: clear">' +
- caption + prev + predots + middle + postdots + next + '</div><hr/>');
+Drupal.theme.prototype.mkdruStatus = function(activeClients, clients) {
+ return Drupal.t('Waiting on ') + activeClients + Drupal.t(' out of ')
+ + clients + Drupal.t(' targets');
};
-Drupal.theme.prototype.mkdruTerm = function (term, freq, linkClass, id) {
- var html = '<a href="#"';
- if (id)
- html += ' target_id="' + id + '"';
- html += ' class="' + linkClass + '">' + term + '</a><span> (' + freq + ')</span><br/>';
+Drupal.theme.prototype.mkdruFacet = function (terms, facet, max, selections) {
+ var html = "";
+ for (var i = 0; i < terms.length && i < max; i++ ) {
+ var term = terms[i];
+ html += '<a href="'+term.toggleLink+'"';
+ if (term.selected) html += ' class="cross"><strong';
+ html += '>'+terms[i].name;
+ if (term.selected) html += "</strong>";
+ html += '</a><span> (' + terms[i].freq
+ + ')</span><br/>';
+ }
+ if (terms.length == 0 && selections && selections.length) {
+ for (var i=0; i<selections.length; i++) {
+ if (selections[i]) {
+ // since we have no target name (only id) go for the basename
+ // FIXME get the proper target name
+ var name = facet == "source" ? selections[i].replace(/.*[\/\\]/, "")
+ .replace(/\?.*/, '')
+ : selections[i];
+ html += '<a class="cross" href="'
+ + mkdru.removeLimit(facet, selections[i])
+ + '"><strong>'+name+'</strong></a><span> (0)</span><br/>';
+ }
+ }
+ }
return html;
-};
\ No newline at end of file
+};
+
+Drupal.theme.prototype.mkdruFacetContainer = function (facetsCfg) {
+ return "";
+};