X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=d592626d239e0ddc858f0d25970d1ce68fb3cbaa;hb=f63e9537a822b0c3297d0051e03f3b87bc385c40;hp=32be2c7bbf51a8943f7f3d1a5c4387ee5be04670;hpb=212d3cd70d1379ba08272b97a8414ffaadbb4e72;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 32be2c7..d592626 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -550,9 +550,6 @@ function team($, teamName) { } m_filters = [] - redrawNavi(); - resetPage(); - loadSelect(); triggerSearch(query, sortOrder, targets); switchView('records'); // In case it's configured to start off as hidden m_submitted = true; @@ -561,9 +558,9 @@ function team($, teamName) { function onSortChange() { + m_sortOrder = findnode('.mkwsSort').val(); if (!m_submitted) return false; resetPage(); - loadSelect(); m_paz.show(0, m_perpage, m_sortOrder); return false; } @@ -571,97 +568,19 @@ function team($, teamName) { function onPerpageChange() { + m_perpage = findnode('.mkwsPerpage').val(); if (!m_submitted) return false; resetPage(); - loadSelect(); m_paz.show(0, m_perpage, m_sortOrder); return false; } - function redrawNavi () - { - queue("navi").publish(); - } - - - function resetPage() - { - m_currentPage = 1; - m_totalRecordCount = 0; - } - - - function loadSelect () - { - var node = findnode('.mkwsSort'); - if (node.length && node.val() != m_sortOrder) { - debug("changing m_sortOrder from " + m_sortOrder + " to " + node.val()); - m_sortOrder = node.val(); - } - node = findnode('.mkwsPerpage'); - if (node.length && node.val() != m_perpage) { - debug("changing m_perpage from " + m_perpage + " to " + node.val()); - m_perpage = node.val(); - } - } - - - function triggerSearch (query, sortOrder, targets) - { - var pp2filter = ""; - var pp2limit = ""; - - // Continue to use previous query/sort-order unless new ones are specified - if (query) { - m_query = query; - } - if (sortOrder) { - m_sortOrder = sortOrder; - } - if (targets) { - m_filters.push({ id: targets, name: targets }); - } - - for (var i in m_filters) { - var filter = m_filters[i]; - if (filter.id) { - if (pp2filter) - pp2filter += ","; - if (filter.id.match(/^[a-z:]+[=~]/)) { - debug("filter '" + filter.id + "' already begins with SETTING OP"); - } else { - filter.id = 'pz:id=' + filter.id; - } - pp2filter += filter.id; - } else { - if (pp2limit) - pp2limit += ","; - pp2limit += filter.field + "=" + filter.value.replace(/[\\|,]/g, '\\$&'); - } - } - - var params = {}; - if (pp2limit) { - params.limit = pp2limit; - } - - debug("triggerSearch(" + m_query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params)); - - // We can use: params.torusquery = "udb=NAME" - // Note: that won't work when running against raw pazpar2 - m_paz.search(m_query, m_perpage, m_sortOrder, pp2filter, undefined, params); - } - - // limit by target functions that.limitTarget = function (id, name) { debug("limitTarget(id=" + id + ", name=" + name + ")"); m_filters.push({ id: id, name: name }); - redrawNavi(); - resetPage(); - loadSelect(); triggerSearch(); return false; } @@ -672,9 +591,6 @@ function team($, teamName) { { debug("limitQuery(field=" + field + ", value=" + value + ")"); m_filters.push({ field: field, value: value }); - redrawNavi(); - resetPage(); - loadSelect(); triggerSearch(); return false; } @@ -695,9 +611,6 @@ function team($, teamName) { } m_filters = newFilters; - redrawNavi(); - resetPage(); - loadSelect(); triggerSearch(); return false; } @@ -720,14 +633,68 @@ function team($, teamName) { } m_filters = newFilters; - redrawNavi(); - resetPage(); - loadSelect(); triggerSearch(); return false; } + function resetPage() + { + m_currentPage = 1; + m_totalRecordCount = 0; + } + + + function triggerSearch (query, sortOrder, targets) + { + resetPage(); + queue("navi").publish(); + + var pp2filter = ""; + var pp2limit = ""; + + // Continue to use previous query/sort-order unless new ones are specified + if (query) { + m_query = query; + } + if (sortOrder) { + m_sortOrder = sortOrder; + } + if (targets) { + m_filters.push({ id: targets, name: targets }); + } + + for (var i in m_filters) { + var filter = m_filters[i]; + if (filter.id) { + if (pp2filter) + pp2filter += ","; + if (filter.id.match(/^[a-z:]+[=~]/)) { + debug("filter '" + filter.id + "' already begins with SETTING OP"); + } else { + filter.id = 'pz:id=' + filter.id; + } + pp2filter += filter.id; + } else { + if (pp2limit) + pp2limit += ","; + pp2limit += filter.field + "=" + filter.value.replace(/[\\|,]/g, '\\$&'); + } + } + + var params = {}; + if (pp2limit) { + params.limit = pp2limit; + } + + debug("triggerSearch(" + m_query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params)); + + // We can use: params.torusquery = "udb=NAME" + // Note: that won't work when running against raw pazpar2 + m_paz.search(m_query, m_perpage, m_sortOrder, pp2filter, undefined, params); + } + + that.showPage = function (pageNum) { m_currentPage = pageNum;