X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=bf31da65239fe9f8b1979648db425efd805cc7c4;hb=58202e845daf590b0ce4bac6caf3691352413579;hp=ee055204fbfaa84cecc95cf82fc5d22eaba7c2df;hpb=75a31106246500cc5ca1445fcf337a329d6865b0;p=mkws-moved-to-github.git
diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js
index ee05520..bf31da6 100644
--- a/tools/htdocs/mkws.js
+++ b/tools/htdocs/mkws.js
@@ -142,29 +142,6 @@ var mkws = {
};
-// The following PubSub code is modified from the jQuery manual:
-// https://api.jquery.com/jQuery.Callbacks/
-//
-// Use as:
-// mkws.queue("eventName").subscribe(function(param1, param2 ...) { ... });
-// mkws.queue("eventName").publish(arg1, arg2, ...);
-
-(function() {
- var queues = {};
- mkws.queue = function(id) {
- if (!queues[id]) {
- var callbacks = $.Callbacks();
- queues[id] = {
- publish: callbacks.fire,
- subscribe: callbacks.add,
- unsubscribe: callbacks.remove
- };
- }
- return queues[id];
- }
-}());
-
-
// Define empty mkws_config for simple applications that don't define it.
if (mkws_config == null || typeof mkws_config != 'object') {
var mkws_config = {};
@@ -193,8 +170,12 @@ function widget($, team, type, node) {
return that;
+ // Functions follow for promoting the regular widget object into
+ // widgets of specific types. These could be moved outside of the
+ // widget object, or even into their own source files.
+
function promoteTargets() {
- mkws.queue("targets." + team.name()).subscribe(function(data) {
+ team.queue("targets").subscribe(function(data) {
if (node.length === 0) alert("huh?!");
var table ='
' +
@@ -221,7 +202,7 @@ function widget($, team, type, node) {
function promoteStat() {
- mkws.queue("stat." + team.name()).subscribe(function(data) {
+ team.queue("stat").subscribe(function(data) {
if (node.length === 0) alert("huh?!");
$(node).html('' + M('Status info') + '' +
@@ -248,14 +229,14 @@ function team($, teamName) {
that.name = function() { return m_teamName; }
var m_submitted = false;
var m_query; // initially undefined
- var m_sort; // will be set below
+ var m_sortOrder; // will be set below
var m_perpage; // will be set below
var m_filters = [];
- var m_totalRec = 0;
- var m_curPage = 1;
+ var m_totalRecordCount = 0;
+ var m_currentPage = 1;
var m_curDetRecId = '';
var m_curDetRecData = null;
- var m_debug_time = {
+ var m_debugTime = {
// Timestamps for logging
"start": $.now(),
"last": $.now()
@@ -266,15 +247,15 @@ function team($, teamName) {
var debug = function (s) {
var now = $.now();
- var timestamp = ((now - m_debug_time.start)/1000).toFixed(3) + " (+" + ((now - m_debug_time.last)/1000).toFixed(3) + ") "
- m_debug_time.last = now;
+ var timestamp = ((now - m_debugTime.start)/1000).toFixed(3) + " (+" + ((now - m_debugTime.last)/1000).toFixed(3) + ") "
+ m_debugTime.last = now;
mkws.debug(m_teamName + ": " + timestamp + s);
}
debug("start running MKWS");
- m_sort = mkws_config.sort_default;
+ m_sortOrder = mkws_config.sort_default;
m_perpage = mkws_config.perpage_default;
debug("Create main pz2 object");
@@ -307,13 +288,13 @@ function team($, teamName) {
function onBytarget(data) {
debug("target");
- mkws.queue("targets." + m_teamName).publish(data);
+ queue("targets").publish(data);
}
function onStat(data) {
debug("stat");
- mkws.queue("stat." + m_teamName).publish(data);
+ queue("stat").publish(data);
}
@@ -354,7 +335,7 @@ function team($, teamName) {
function onShow(data, teamName) {
debug("show");
- m_totalRec = data.merged;
+ m_totalRecordCount = data.merged;
var pager = findnode(".mkwsPager");
if (pager.length) {
@@ -388,9 +369,10 @@ function team($, teamName) {
var detRecordDiv = document.getElementById('mkwsDet_' + teamName + '_' + data.recid);
if (detRecordDiv) return;
m_curDetRecData = data;
+ // Can't use jQuery's $('#x') syntax to find this ID, because it contains spaces.
var recordDiv = document.getElementById('mkwsRecdiv_' + teamName + '_' + m_curDetRecData.recid);
var html = renderDetails(m_curDetRecData);
- recordDiv.innerHTML += html;
+ $(recordDiv).append(html);
}
@@ -438,10 +420,10 @@ function team($, teamName) {
//client indexes pages from 1 but pz2 from 0
var onsides = 6;
- var pages = Math.ceil(m_totalRec / m_perpage);
+ var pages = Math.ceil(m_totalRecordCount / m_perpage);
- var firstClkbl = (m_curPage - onsides > 0)
- ? m_curPage - onsides
+ var firstClkbl = (m_currentPage - onsides > 0)
+ ? m_currentPage - onsides
: 1;
var lastClkbl = firstClkbl + 2*onsides < pages
@@ -449,14 +431,14 @@ function team($, teamName) {
: pages;
var prev = '<< ' + M('Prev') + ' | ';
- if (m_curPage > 1)
+ if (m_currentPage > 1)
prev = ''
+'<< ' + M('Prev') + ' | ';
var middle = '';
for(var i = firstClkbl; i <= lastClkbl; i++) {
var numLabel = i;
- if(i == m_curPage)
+ if(i == m_currentPage)
numLabel = '' + i + '';
middle += ' '
@@ -464,7 +446,7 @@ function team($, teamName) {
}
var next = ' | ' + M('Next') + ' >>';
- if (pages - m_curPage > 0)
+ if (pages - m_currentPage > 0)
next = ' | '
+ M('Next') + ' >>';
@@ -496,7 +478,7 @@ function team($, teamName) {
}
- function newSearch(query, sort, targets)
+ function newSearch(query, sortOrder, targets)
{
debug("newSearch: " + query);
@@ -509,7 +491,7 @@ function team($, teamName) {
redrawNavi();
resetPage();
loadSelect();
- triggerSearch(query, sort, targets);
+ triggerSearch(query, sortOrder, targets);
switchView('records'); // In case it's configured to start off as hidden
m_submitted = true;
}
@@ -520,7 +502,7 @@ function team($, teamName) {
if (!m_submitted) return false;
resetPage();
loadSelect();
- m_paz.show(0, m_perpage, m_sort);
+ m_paz.show(0, m_perpage, m_sortOrder);
return false;
}
@@ -552,17 +534,17 @@ function team($, teamName) {
function resetPage()
{
- m_curPage = 1;
- m_totalRec = 0;
+ m_currentPage = 1;
+ m_totalRecordCount = 0;
}
function loadSelect ()
{
var node = findnode('.mkwsSort');
- if (node.length && node.val() != m_sort) {
- debug("changing m_sort from " + m_sort + " to " + node.val());
- m_sort = node.val();
+ 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) {
@@ -572,17 +554,17 @@ function team($, teamName) {
}
- function triggerSearch (query, sort, targets)
+ function triggerSearch (query, sortOrder, targets)
{
var pp2filter = "";
var pp2limit = "";
- // Re-use previous query/sort if new ones are not specified
+ // Re-use previous query/sort-order if new ones are not specified
if (query) {
m_query = query;
}
- if (sort) {
- m_sort = sort;
+ if (sortOrder) {
+ m_sortOrder = sortOrder;
}
if (targets) {
m_filters.push({ id: targets, name: targets });
@@ -615,7 +597,7 @@ function team($, teamName) {
// 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_sort, pp2filter, undefined, params);
+ m_paz.search(m_query, m_perpage, m_sortOrder, pp2filter, undefined, params);
}
@@ -695,23 +677,23 @@ function team($, teamName) {
that.showPage = function (pageNum)
{
- m_curPage = pageNum;
- m_paz.showPage(m_curPage - 1);
+ m_currentPage = pageNum;
+ m_paz.showPage(m_currentPage - 1);
}
// simple paging functions
that.pagerNext = function () {
- if (m_totalRec - m_perpage*m_curPage > 0) {
+ if (m_totalRecordCount - m_perpage*m_currentPage > 0) {
m_paz.showNext();
- m_curPage++;
+ m_currentPage++;
}
}
that.pagerPrev = function () {
if (m_paz.showPrev() != false)
- m_curPage--;
+ m_currentPage--;
}
@@ -865,7 +847,7 @@ function team($, teamName) {
function mkwsSetLang() {
- var lang = parseQuerystring().lang || mkws_config.lang;
+ var lang = mkws.getParameterByName("lang") || mkws_config.lang;
if (!lang || !mkws.locale_lang[lang]) {
mkws_config.lang = ""
} else {
@@ -921,7 +903,7 @@ function team($, teamName) {
function mkwsHtmlSort() {
- debug("HTML sort, m_sort = '" + m_sort + "'");
+ debug("HTML sort, m_sortOrder = '" + m_sortOrder + "'");
var sort_html = '