});
+Handlebars.registerHelper('index1', function(obj) {
+ return obj.data.index + 1;
+});
+
+
// Set up global mkws object. Contains truly global state such as SP
// authentication, and a hash of team objects, indexed by windowid.
//
var mkws = {
authenticated: false,
- debug_level: undefined, // will be initialised from mkws_config
+ debug_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: {},
locale_lang: {
function target_filtered(id) {
- debug("target_filtered(" + id + ")");
for (var i = 0; i < m_filters.length; i++) {
if (m_filters[i].id === id ||
m_filters[i].id === 'pz:id=' + id) {
{{/if}}\
{{#if md-electronic-url}}\
<tr>\
- <th>{{translate "URL"}}</th>\
+ <th>{{translate "Links"}}</th>\
<td>\
{{#each md-electronic-url}}\
- <a href="{{this}}">{{this}}</a><br/>\
+ <a href="{{this}}">Link{{index1}}</a>\
{{/each}}\
</td>\
</tr>\
<td>\
{{#first location having="md-subject"}}\
{{#if md-subject}}\
- {{md-subject}}\
+ {{#commaList md-subject}}\
+ {{this}}{{/commaList}}\
{{/if}}\
{{/first}}\
</td>\
}
+ that.run_auto_search = function() {
+ // ### should check mkwsTermlist as well, for facet-only teams
+ var node = $('.mkwsRecords.mkwsTeam_' + m_teamName);
+ var query = node.attr('autosearch');
+ if (!query)
+ return;
+
+ if (query.match(/^!param!/)) {
+ var param = query.replace(/^!param!/, '');
+ query = getParameterByName(param);
+ debug("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];
+ debug("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);
+ }
+ }
+
+ debug("node=" + node + ", class='" + node.className + "', query=" + query);
+
+ 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);
+
+ this.newSearch(query, sort, targets, m_teamName);
+ }
+
+
/* locale */
function M(word) {
var lang = mkws_config.lang;
debug("running auto searches");
for (var teamName in mkws.teams) {
- // ### should check mkwsTermlist as well, for facet-only teams
- var node = $('.mkwsRecords.mkwsTeam_' + teamName);
- var query = node.attr('autosearch');
- debug("teamName '" + teamName + "', node=" + node + ", class='" + node.className + "', query=" + query);
-
- if (query) {
- var sort = node.attr('sort');
- var targets = node.attr('targets');
- var s = "running auto search: '" + query + "'";
- if (teamName) s += " [teamName '" + teamName + "']";
- if (sort) s += " sorted by '" + sort + "'";
- if (targets) s += " in targets '" + targets + "'";
- debug(s);
- var team = mkws.teams[teamName];
- debug($.toJSON(team));
- team.newSearch(query, sort, targets, teamName);
- }
+ mkws.teams[teamName].run_auto_search();
}
}
+ // 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) {
+ name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
+ var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
+ results = regex.exec(location.search);
+ return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
+ }
+
+
$(document).ready(function() {
debug("on load ready");
default_mkws_config();