X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=mkdru.theme.js;h=7d92e61cb3725e5124162f591787a0e98f9d283f;hb=070eba7a9581a0d0d39dd05834939d41369ea22c;hp=df09df4b896e31bed72dd703e41989289b6109c6;hpb=368440f16fce179517479e3eed656aa5f5520dcb;p=mkdru-moved-to-drupal.org.git diff --git a/mkdru.theme.js b/mkdru.theme.js index df09df4..7d92e61 100644 --- a/mkdru.theme.js +++ b/mkdru.theme.js @@ -1,66 +1,141 @@ -Drupal.theme.prototype.mkdruResult = function(hit, num) { - var html = []; - html.push('
  • ' - + '' + num + '. ' - + '' - + hit["md-title"] + ' '); +Drupal.theme.prototype.mkdruResult = function(hit, num, detailLink) { + var html = ""; + html += '
  • ' + + '' + num + '. ' + + '' + + hit["md-title"] + ' '; if (hit["md-title-remainder"] !== undefined) { - html.push('' + hit["md-title-remainder"] + ' '); + html += '' + + hit["md-title-remainder"] + ' '; } if (hit["md-title-responsibility"] !== undefined) { - html.push(''+hit["md-title-responsibility"]+''); + html += '' + + hit["md-title-responsibility"] + + ''; } - html.push('
  • '); - return (html.join('')); + html += ''; + return html; }; -Drupal.theme.prototype.mkdruPager = function (data, curPage, pages) { - var onsides = 6; +Drupal.theme.prototype.mkdruDetail = function(data) { + var html = ''; + if (data["md-title"] != undefined) { + html += ''; + } + if (data["md-date"] != undefined) + html += ''; + if (data["md-author"] != undefined) + html += ''; + if (data["md-electronic-url"] != undefined) + html += ''; + if (data["location"][0]["md-subject"] != undefined) + html += ''; + if (data["location"][0]["@name"] != undefined) + html += ''; + html += '
    ' + Drupal.t("Title") + ': ' + + data["md-title"]; + if (data["md-title-remainder"] !== undefined) { + html += ' : ' + data["md-title-remainder"] + ' '; + } + if (data["md-title-responsibility"] !== undefined) { + html += ' '+ data["md-title-responsibility"] +''; + } + html += '
    ' + Drupal.t("Date") + ': ' + + data["md-date"] + '
    ' + Drupal.t("Author") + ': ' + + data["md-author"] + '
    URL: ' + + data["md-electronic-url"] + '' + '
    ' + Drupal.t("Subject") + ': ' + + data["location"][0]["md-subject"] + '
    ' + Drupal.t("Location") + ': ' + + data["location"][0]["@name"] + " (" + data["location"][0]["@id"] + ")" + + '
    '; + html += 'Return to result list...'; + return html; +}; - var firstClkbl = ( curPage - onsides > 0 ) - ? curPage - onsides - : 1; +/** + * 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 += '<< ' + + Drupal.t("Prev") + ' | '; + else + html += '<< ' + Drupal.t("Prev") + + ' | '; - var lastClkbl = firstClkbl + 2*onsides < pages - ? firstClkbl + 2*onsides - : pages; + if (start > 1) + html += '...'; - var prev = '<< Prev | '; - if (curPage > 1) - var prev = '' - +'<< Prev | '; + for (var i = 0; i < pages.length; i++) { + if (i + start == current) + html += ' ' + (i + start) + ''; + else + html += ' ' + (i + start) + ''; + } - var middle = ''; - for(var i = firstClkbl; i <= lastClkbl; i++) { - var numLabel = i; - if(i == curPage) - numLabel = '' + i + ''; + if (total > i) + html += ' ...'; - middle += ' ' - + numLabel + ' '; - } + if (next) + html += ' | ' + + Drupal.t("Next") + ' >>'; + else + html += ' | ' + Drupal.t("Next") + + ' >>'; - var next = ' | Next >>'; - if (pages - curPage > 0) - var next = ' | ' - +'Next >>'; + return html; +}; - predots = ''; - if (firstClkbl > 1) - predots = '...'; +Drupal.theme.prototype.mkdruCounts = function(first, last, available, total) { + return first + Drupal.t(' to ') + last + Drupal.t(' of ') + available + + Drupal.t(' available (') + total + Drupal.t(' found)'); +}; - postdots = ''; - if (lastClkbl < pages) - postdots = '...'; +Drupal.theme.prototype.mkdruStatus = function(activeClients, clients) { + return Drupal.t('Waiting on ') + activeClients + Drupal.t(' out of ') + + clients + Drupal.t(' targets'); +}; - return (prev + predots + middle + postdots + next); +Drupal.theme.prototype.mkdruFacet = function (terms, facet, max) { + var html = ""; + for (var i = 0; i < terms.length && i < max; i++ ) { + html += Drupal.theme('mkdruFacetTerm', terms[i], facet); + } + return html; }; -Drupal.theme.prototype.mkdruTerm = function (term, freq, linkClass, id) { - var html = '' + term + ' (' + freq + ')
    '; +Drupal.theme.prototype.mkdruFacetTerm = function (term, facet) { + var html = '' + term.name + ' (' + term.freq + ')
    '; return html; +}; + +Drupal.theme.prototype.mkdruFacetLimit = function (term, link) { + if (term) { + return '

    ' + Drupal.t('Only displaying ') + term.name + '

    ' + + '

    ' + Drupal.t('Show all...') + '

    '; + } }; \ No newline at end of file