X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=b5c1b346cfb7a6b66fc58eb6c9d7b9d235fc5244;hb=65bd06d8b82c551b6e29a248e4b13f9e4d6016cb;hp=b0f5f8355e690cbe5b4dc2a3cd9867f34ac334a1;hpb=ac8a46bd5216324957c2b62887cda61dc388bc65;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index b0f5f83..b5c1b34 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -260,13 +260,17 @@ function my_onshow(data) { // navi var results = document.getElementById("mkwsRecords"); + debug("my_onshow(" + JSON.stringify(data) + ")"); var html = []; for (var i = 0; i < data.hits.length; i++) { var hit = data.hits[i]; - html.push('
'); - html.push(renderSummary(hit)); - html.push('
'); + html.push('
', + renderSummary(hit), + '
'); + if (hit.recid == curDetRecId) { + html.push(renderDetails(curDetRecData)); + } } replaceHtml(results, html.join('')); } @@ -274,20 +278,13 @@ function my_onshow(data) { function renderSummary(hit) { - var html = []; - html.push('' - + hit["md-title"] +' '); - if (hit["md-title-remainder"] !== undefined) { - html.push('' + hit["md-title-remainder"] + ' '); - } - if (hit["md-title-responsibility"] !== undefined) { - html.push(''+hit["md-title-responsibility"]+''); + if (mkws.templateSummary === undefined) { + loadTemplate("Summary"); } - if (hit.recid == curDetRecId) { - html.push(renderDetails(curDetRecData)); - } - return html.join(''); + + hit._id = "mkwsRec_" + hit.recid; + hit._onclick = "mkws.showDetails(this.id);return false;" + return mkws.templateSummary(hit); } @@ -330,7 +327,8 @@ function my_onterm(data) { } var termlist = document.getElementById("mkwsTermlists"); - replaceHtml(termlist, acc.join('')); + if (termlist) + replaceHtml(termlist, acc.join('')); } function add_single_facet(acc, caption, data, max, pzIndex) { @@ -412,12 +410,19 @@ function domReady () // when search button pressed function onFormSubmitEventHandler() { + newSearch(document.mkwsSearchForm.mkwsQuery.value); + return false; +} + +function newSearch(query) +{ + mkws.filters = [] + redraw_navi(); resetPage(); loadSelect(); - triggerSearch(); + triggerSearch(query); mkws.switchView('records'); // In case it's configured to start off as hidden submitted = true; - return false; } function onSelectDdChange() @@ -435,11 +440,16 @@ function resetPage() totalRec = 0; } -function triggerSearch () +function triggerSearch (query) { var pp2filter = ""; var pp2limit = ""; + // Re-use previous query if a new one is not specified + if (query) { + mkws.query = query; + } + for (var i in mkws.filters) { var filter = mkws.filters[i]; if (filter.id) { @@ -453,8 +463,8 @@ function triggerSearch () } } - debug("triggerSearch: filters = " + JSON.stringify(mkws.filters) + ", pp2filter = " + pp2filter + ", pp2limit = " + pp2limit); - my_paz.search(document.mkwsSearchForm.mkwsQuery.value, recPerPage, curSort, pp2filter, undefined, { limit: pp2limit }); + debug("triggerSearch(" + mkws.query + "): filters = " + JSON.stringify(mkws.filters) + ", pp2filter = " + pp2filter + ", pp2limit = " + pp2limit); + my_paz.search(mkws.query, recPerPage, curSort, pp2filter, undefined, { limit: pp2limit }); } function loadSelect () @@ -786,6 +796,18 @@ function defaultTemplate(name) \ \ '; + } else if (name === "Summary") { + return '\ + \ + {{md-title}}\ + \ + {{#if md-title-remainder}}\ + {{md-title-remainder}}\ + {{/if}}\ + {{#if md-title-responsibility}}\ + {{md-title-responsibility}}\ + {{/if}}\ +'; } var s = "There is no default '" + name +"' template!"; @@ -884,6 +906,19 @@ function mkws_html_all() { } } + +function run_auto_searches() { + var node = $('#mkwsRecords'); + if (node.attr('autosearch')) { + var query = node.attr('query'); + var sort = node.attr('sort'); + debug("running auto search: '" + query + "' sorted by '" + sort + "'"); + // ### currently ignoring sort + newSearch(query); + } +} + + function mkws_set_lang() { var lang = $.parseQuerystring().lang || mkws_config.lang; if (!lang || !mkws.locale_lang[lang]) { @@ -1212,6 +1247,8 @@ $(document).ready(function() { mkws_config.error = e.message; // alert(e.message); } + + run_auto_searches(); }); })(jQuery);