X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=9b095080728755acf599aac5262fa912dbb24cd4;hb=05f8c0fa7e86cd4fad0ef5aa487abae9f1906563;hp=f34d2a9d11f3513e7a35ae4b2d191fcd88ec3cd8;hpb=3cd7917e3ada63d397a128a681685c1b7cab04c1;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index f34d2a9..9b09508 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -2,12 +2,8 @@ "use strict"; // HTML5: disable for debug_level >= 2 -// Set up namespace and some state. -var mkws = { - sort: 'relevance', - authenticated: false, - filters: [] -}; +// Set up global mkws object +var mkws = {}; // Define empty mkws_config for simple applications that don't define it. if (mkws_config == null || typeof mkws_config != 'object') { @@ -21,6 +17,10 @@ function _mkws($) { // call this function only once if (mkws.init) return; +mkws.sort = 'relevance'; +mkws.authenticated = false; +mkws.filters = []; + mkws.locale_lang = { "de": { "Authors": "Autoren", @@ -108,6 +108,12 @@ Handlebars.registerHelper('json', function(obj) { }); +Handlebars.registerHelper('translate', function(s) { + debug("translating '" + s + "'"); + return M(s); +}); + + // We need {{attr '@name'}} because Handlebars can't parse {{@name}} Handlebars.registerHelper('attr', function(attrName) { return this[attrName]; @@ -201,6 +207,7 @@ Handlebars.registerHelper('commaList', function(items, options) { } } + mkws.sort = mkws_config.sort_default; debug("copied mkws_config.sort_default '" + mkws_config.sort_default + "' to mkws.sort"); @@ -251,6 +258,10 @@ var SourceMax = 16; var SubjectMax = 10; var AuthorMax = 10; +if (!isNaN(parseInt(mkws_config.perpage_default))) { + recPerPage = parseInt(mkws_config.perpage_default); +} + // // pz2.js event handlers: // @@ -427,7 +438,7 @@ function onFormSubmitEventHandler() return false; } -function newSearch(query, sort, targets) +function newSearch(query, sort, targets, windowid) { debug("newSearch: " + query); @@ -437,10 +448,10 @@ function newSearch(query, sort, targets) } mkws.filters = [] - redraw_navi(); - resetPage(); - loadSelect(); - triggerSearch(query, sort, targets); + redraw_navi(); // ### should use windowid + resetPage(); // ### the globals it resents should be indexed by windowid + loadSelect(); // ### should use windowid + triggerSearch(query, sort, targets, windowid); mkws.switchView('records'); // In case it's configured to start off as hidden submitted = true; } @@ -460,7 +471,7 @@ function resetPage() totalRec = 0; } -function triggerSearch (query, sort, targets) +function triggerSearch (query, sort, targets, windowid) { var pp2filter = ""; var pp2limit = ""; @@ -495,8 +506,16 @@ function triggerSearch (query, sort, targets) } } - debug("triggerSearch(" + mkws.query + "): filters = " + $.toJSON(mkws.filters) + ", pp2filter = " + pp2filter + ", pp2limit = " + pp2limit); - my_paz.search(mkws.query, recPerPage, mkws.sort, pp2filter, undefined, { limit: pp2limit }); + var params = {}; + if (pp2limit) { + params.limit = pp2limit; + } + if (windowid) { + params.windowid = windowid; + } + debug("triggerSearch(" + mkws.query + "): filters = " + $.toJSON(mkws.filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params)); + + my_paz.search(mkws.query, recPerPage, mkws.sort, pp2filter, undefined, params); } function loadSelect () @@ -774,7 +793,7 @@ function defaultTemplate(name) return '\ \ \ - \ + \ \ {{#if md-date}}\ \ - \ + \ \ \ {{/if}}\ {{#if md-author}}\ \ - \ + \ \ \ {{/if}}\ {{#if md-electronic-url}}\ \ - \ + \ \ - \ + \ \ {{/if-any}}\ \ - \ + \
Title{{translate "Title"}}\ {{md-title}}\ {{#if md-title-remainder}}\ @@ -787,19 +806,19 @@ function defaultTemplate(name)
Date{{translate "Date"}}{{md-date}}
Author{{translate "Author"}}{{md-author}}
URL{{translate "URL"}}\ {{#each md-electronic-url}}\ {{this}}
\ @@ -809,7 +828,7 @@ function defaultTemplate(name) {{/if}}\ {{#if-any location having="md-subject"}}\
Subject{{translate "Subject"}}\ {{#first location having="md-subject"}}\ {{#if md-subject}}\ @@ -820,7 +839,7 @@ function defaultTemplate(name)
Locations{{translate "Locations"}}\ {{#commaList location}}\ {{attr "@name"}}{{/commaList}}\ @@ -945,19 +964,29 @@ function mkws_html_all() { function run_auto_searches() { - debug("run auto searches"); + debug("running auto searches"); - var node = $('#mkwsRecords'); - if (node.attr('autosearch')) { + $('[id^="mkwsRecords"]').each(function () { + var node = $(this); var query = node.attr('autosearch'); - var sort = node.attr('sort'); - var targets = node.attr('targets'); - var s = "running auto search: '" + query + "'"; - if (sort) s += " sorted by '" + sort + "'"; - if (targets) s += " in targets '" + targets + "'"; - debug(s); - newSearch(query, sort, targets); - } + + if (query) { + var windowid = undefined; + var id = node.attr('id'); + if (id.match(/^mkwsRecords_/, '')) { + windowid = id.replace(/^mkwsRecords_/, ''); + } + + var sort = node.attr('sort'); + var targets = node.attr('targets'); + var s = "running auto search: '" + query + "'"; + if (windowid) s += " [windowid '" + windowid + "']"; + if (sort) s += " sorted by '" + sort + "'"; + if (targets) s += " in targets '" + targets + "'"; + debug(s); + newSearch(query, sort, targets, windowid); + } + }); }