authenticated: false,
log_level: 1, // Will be overridden from mkws_config, but
// initial value allows jQuery popup to use logging.
- paz: undefined, // will be set up during initialisation
teams: {},
+ widgetType2function: {},
+
locale_lang: {
"de": {
"Authors": "Autoren",
// wrapper to call team() after page load
(function (j) {
- mkws.log = function (string) {
+ function log(string) {
if (!mkws.log_level)
return;
}
console.log(string);
}
- var log = mkws.log;
+ mkws.log = log;
+
+
+ mkws.registerWidgetType = function(name, fn) {
+ mkws.widgetType2function[name] = fn;
+ log("registered widget-type '" + name + "'");
+ }
+
+ mkws.promotionFunction = function(name) {
+ return mkws.widgetType2function[name];
+ }
- mkws.handleNodeWithTeam = function(node, callback) {
+ function handleNodeWithTeam(node, callback) {
// First branch for DOM objects; second branch for jQuery objects
var classes = node.className || node.attr('class');
if (!classes) {
}
- mkws.resizePage = function () {
+ function resizePage() {
var list = ["mkwsSwitch", "mkwsLang"];
var width = mkws_config.responsive_design_width;
};
+ // The following functions are dispatchers for team methods that
+ // are called from the UI using a team-name rather than implicit
+ // context. Apart from mkws.log, they are the ONLY public UI to
+ // this module.
mkws.switchView = function(tname, view) {
mkws.teams[tname].switchView(view);
}
}
- mkws.defaultTemplate = function(name)
- {
- if (name === 'Record') {
- return '\
-<table>\
- <tr>\
- <th>{{translate "Title"}}</th>\
- <td>\
- {{md-title}}\
- {{#if md-title-remainder}}\
- ({{md-title-remainder}})\
- {{/if}}\
- {{#if md-title-responsibility}}\
- <i>{{md-title-responsibility}}</i>\
- {{/if}}\
- </td>\
- </tr>\
- {{#if md-date}}\
- <tr>\
- <th>{{translate "Date"}}</th>\
- <td>{{md-date}}</td>\
- </tr>\
- {{/if}}\
- {{#if md-author}}\
- <tr>\
- <th>{{translate "Author"}}</th>\
- <td>{{md-author}}</td>\
- </tr>\
- {{/if}}\
- {{#if md-electronic-url}}\
- <tr>\
- <th>{{translate "Links"}}</th>\
- <td>\
- {{#each md-electronic-url}}\
- <a href="{{this}}">Link{{index1}}</a>\
- {{/each}}\
- </td>\
- </tr>\
- {{/if}}\
- {{#if-any location having="md-subject"}}\
- <tr>\
- <th>{{translate "Subject"}}</th>\
- <td>\
- {{#first location having="md-subject"}}\
- {{#if md-subject}}\
- {{#commaList md-subject}}\
- {{this}}{{/commaList}}\
- {{/if}}\
- {{/first}}\
- </td>\
- </tr>\
- {{/if-any}}\
- <tr>\
- <th>{{translate "Locations"}}</th>\
- <td>\
- {{#commaList location}}\
- {{attr "@name"}}{{/commaList}}\
- </td>\
- </tr>\
-</table>\
-';
- } else if (name === "Summary") {
- return '\
-<a href="#" id="{{_id}}" onclick="{{_onclick}}">\
- <b>{{md-title}}</b>\
-</a>\
-{{#if md-title-remainder}}\
- <span>{{md-title-remainder}}</span>\
-{{/if}}\
-{{#if md-title-responsibility}}\
- <span><i>{{md-title-responsibility}}</i></span>\
-{{/if}}\
-';
- }
-
- var s = "There is no default '" + name +"' template!";
- alert(s);
- return s;
- }
-
-
function defaultMkwsConfig() {
/* default mkws config */
var config_default = {
}
var status = $(data).find("status");
if (status.text() != "OK") {
- alert("service proxy auth repsonse status: " + status.text() + ", give up!");
+ alert("service proxy auth response status: " + status.text() + ", give up!");
return;
}
$(document).ready(function() {
- log("on load ready");
defaultMkwsConfig();
if (mkws_config.query_width < 5 || mkws_config.query_width > 150) {
if (mkws_config.responsive_design_width) {
// Responsive web design - change layout on the fly based on
// current screen width. Required for mobile devices.
- $(window).resize(function(e) { mkws.resizePage() });
+ $(window).resize(resizePage);
// initial check after page load
- $(document).ready(function() { mkws.resizePage() });
+ $(document).ready(resizePage);
}
// protocol independent link for pazpar2: "//mkws/sp" -> "https://mkws/sp"
// the mkwsTeam_* class. Make all team objects.
var then = $.now();
$('[class^="mkws"],[class*=" mkws"]').each(function () {
- mkws.handleNodeWithTeam(this, function(tname, type) {
+ handleNodeWithTeam(this, function(tname, type) {
if (!mkws.teams[tname]) {
mkws.teams[tname] = team(j, tname);
log("Made MKWS team '" + tname + "'");
// that sometimes makes new widget nodes (e.g. creating
// mkwsTermlists inside mkwsResults.
$('[class^="mkws"],[class*=" mkws"]').each(function () {
- mkws.handleNodeWithTeam(this, function(tname, type) {
+ handleNodeWithTeam(this, function(tname, type) {
var myTeam = mkws.teams[tname];
var myWidget = widget(j, myTeam, type, this);
});