X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-team.js;h=3ca6437e327cd5f753f20e0743a7cd40a94d9c85;hb=4e3ce33fda02425e9bb6218da13c25eac2555112;hp=c7e20bf29235c4d8b1e50fb998d9c611528f632f;hpb=c4848ba08bb08b8dcb6d191869d876c19f23ad6e;p=mkws-moved-to-github.git diff --git a/src/mkws-team.js b/src/mkws-team.js index c7e20bf..3ca6437 100644 --- a/src/mkws-team.js +++ b/src/mkws-team.js @@ -47,15 +47,39 @@ function team($, teamName) { that.set_perpage = function(val) { m_perpage = val }; + // The following PubSub code is modified from the jQuery manual: + // https://api.jquery.com/jQuery.Callbacks/ + // + // Use as: + // team.queue("eventName").subscribe(function(param1, param2 ...) { ... }); + // team.queue("eventName").publish(arg1, arg2, ...); + + var queues = {}; + function queue(id) { + if (!queues[id]) { + var callbacks = $.Callbacks(); + queues[id] = { + publish: callbacks.fire, + subscribe: callbacks.add, + unsubscribe: callbacks.remove + }; + } + return queues[id]; + }; + that.queue = queue; + + function log(s) { var now = $.now(); var timestamp = (((now - m_logTime.start)/1000).toFixed(3) + " (+" + ((now - m_logTime.last)/1000).toFixed(3) + ") "); m_logTime.last = now; mkws.log(m_teamName + ": " + timestamp + s); + that.queue("log").publish(m_teamName, timestamp, s); } that.log = log; + log("start running MKWS"); m_sortOrder = m_config.sort_default; @@ -78,7 +102,6 @@ function team($, teamName) { "termlist": m_config.facets.join(',') }); - // pz2.js event handlers: function onInit() { log("init"); @@ -246,6 +269,7 @@ function team($, teamName) { switchView('records'); // In case it's configured to start off as hidden m_submitted = true; } + that.newSearch = newSearch; function triggerSearch(query, sortOrder, targets) @@ -545,42 +569,6 @@ function team($, teamName) { } - that.runAutoSearch = function() { - var node = findnode('.mkwsRecords,.mkwsTermlists'); - var query = node.attr('autosearch'); - if (!query) - return; - - if (query.match(/^!param!/)) { - var param = query.replace(/^!param!/, ''); - query = getParameterByName(param); - log("obtained query '" + query + "' from param '" + param + "'"); - if (!query) { - alert("This page has a MasterKey widget that needs a query specified by the '" + param + "' parameter"); - } - } else if (query.match(/^!path!/)) { - var index = query.replace(/^!path!/, ''); - var path = window.location.pathname.split('/'); - query = path[path.length - index]; - log("obtained query '" + query + "' from path-component '" + index + "'"); - if (!query) { - alert("This page has a MasterKey widget that needs a query specified by the path-component " + index); - } - } - - log("node=" + node + ", class='" + node.className + "', query=" + query); - - var sortOrder = node.attr('sort'); - var targets = node.attr('targets'); - var s = "running auto search: '" + query + "'"; - if (sortOrder) s += " sorted by '" + sortOrder + "'"; - if (targets) s += " in targets '" + targets + "'"; - log(s); - - newSearch(query, sortOrder, targets); - }; - - // This function is taken from a StackOverflow answer // http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript/901144#901144 function getParameterByName(name) { @@ -741,27 +729,6 @@ function team($, teamName) { } - // The following PubSub code is modified from the jQuery manual: - // https://api.jquery.com/jQuery.Callbacks/ - // - // Use as: - // team.queue("eventName").subscribe(function(param1, param2 ...) { ... }); - // team.queue("eventName").publish(arg1, arg2, ...); - - var queues = {}; - var queue = function(id) { - if (!queues[id]) { - var callbacks = $.Callbacks(); - queues[id] = { - publish: callbacks.fire, - subscribe: callbacks.add, - unsubscribe: callbacks.remove - }; - } - return queues[id]; - }; - that.queue = queue; - mkwsHtmlAll() return that;