// limitCategory(), delimitTarget(), delimitQuery(), showPage(),
// pagerPrev(), pagerNext().
//
-function team($, teamName) {
+// Before the team can be used for searching and related operations,
+// its pz2 object must be created by calling team.makePz2().
+//
+mkws.makeTeam = function($, teamName) {
var that = {};
var m_teamName = teamName;
var m_submitted = false;
that.submitted = function() { return m_submitted; };
that.sortOrder = function() { return m_sortOrder; };
that.perpage = function() { return m_perpage; };
+ that.query = function() { return m_query; };
that.totalRecordCount = function() { return m_totalRecordCount; };
that.currentPage = function() { return m_currentPage; };
that.currentRecordId = function() { return m_currentRecordId; };
that.currentRecordData = function() { return m_currentRecordData; };
that.filters = function() { return m_filterSet; };
+ that.gotRecords = function() { return m_gotRecords; };
// Accessor methods for individual widgets: writers
that.set_sortOrder = function(val) { m_sortOrder = val };
m_sortOrder = config.sort_default;
m_perpage = config.perpage_default;
-
+
// create a parameters array and pass it to the pz2's constructor
// then register the form submit event with the pz2.search function
// autoInit is set to true on default
- m_paz = new pz2({ "windowid": teamName,
- "pazpar2path": config.pazpar2_url,
- "usesessions" : config.use_service_proxy ? false : true,
- "oninit": onInit,
- "onbytarget": onBytarget,
- "onstat": onStat,
- "onterm": (config.facets.length ? onTerm : undefined),
- "onshow": onShow,
- "onrecord": onRecord,
- "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way
- "termlist": config.facets.join(',')
- });
- log("created main pz2 object");
+ that.makePz2 = function() {
+ m_paz = new pz2({ "windowid": teamName,
+ "pazpar2path": mkws.pazpar2_url(),
+ "usesessions" : config.use_service_proxy ? false : true,
+ "oninit": onInit,
+ "onbytarget": onBytarget,
+ "onstat": onStat,
+ "onterm": (config.facets.length ? onTerm : undefined),
+ "onshow": onShow,
+ "onrecord": onRecord,
+ "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way
+ "termlist": config.facets.join(',')
+ });
+ log("created main pz2 object");
+ }
// pz2.js event handlers:
function onInit() {
log("record");
// FIXME: record is async!!
clearTimeout(m_paz.recordTimer);
+ queue("record").publish(data);
var detRecordDiv = findnode(recordDetailsId(data.recid[0]));
if (detRecordDiv.length) {
// in case on_show was faster to redraw element
if (maxrecs) params.maxrecs = maxrecs;
if (torusquery) {
if (!mkws.config.use_service_proxy)
- alert("can't narrow search by torusquery when Service Proxy is not in use");
+ alert("can't narrow search by torusquery when not authenticated");
params.torusquery = torusquery;
}
m_paz.search(m_query, m_perpage, m_sortOrder, pp2filter, undefined, params);
}
+ // fetch record details to be retrieved from the record queue
+ that.fetchDetails = function(recId) {
+ log("fetchDetails() requesting record '" + recId + "'");
+ m_paz.record(recId);
+ };
+
// switching view between targets and records
function switchView(view) {