- m_filterSet = filterSet(that);
- triggerSearch(query, sortOrder, maxrecs, perpage, limit, targets, torusquery);
- switchView('records'); // In case it's configured to start off as hidden
- m_submitted = true;
- }
- that.newSearch = newSearch;
-
-
- function triggerSearch(query, sortOrder, maxrecs, perpage, limit, targets, torusquery) {
- resetPage();
- queue("navi").publish();
-
- var pp2filter = "";
- var pp2limit = limit || "";
-
- // Continue to use previous query/sort-order unless new ones are specified
- if (query) {
- m_query = query;
- }
- if (sortOrder) {
- m_sortOrder = sortOrder;
- }
- if (perpage) {
- m_perpage = perpage;
- }
- if (targets) {
- m_filterSet.add(filter(id, id));
- }
-
- pp2filter = m_filterSet.pp2filter();
- for (var i in m_filterSet.list()) {
- var filter = m_filterSet.list()[i];
- if (!filter.id) {
- if (pp2limit)
- pp2limit += ",";
- pp2limit += filter.field + "=" + filter.value.replace(/[\\|,]/g, '\\$&');
- }
- }
-
- var params = {};
- if (pp2limit) {
- params.limit = pp2limit;
- }
- 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");
- params.torusquery = torusquery;
- }
-
- log("triggerSearch(" + m_query + "): filters = " + $.toJSON(m_filterSet.list()) + ", " +
- "pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
-
- // 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_sortOrder, pp2filter, undefined, params);
- }
-
-
- // switching view between targets and records
- function switchView(view) {
- var targets = widgetNode('Targets');
- var results = widgetNode('Results') || widgetNode('Records');
- var blanket = widgetNode('Blanket');
- var motd = widgetNode('MOTD');
-
- switch(view) {
- case 'targets':
- if (targets) targets.css('display', 'block');
- if (results) results.css('display', 'none');
- if (blanket) blanket.css('display', 'none');
- if (motd) motd.css('display', 'none');
- break;
- case 'records':
- if (targets) targets.css('display', 'none');
- if (results) results.css('display', 'block');
- if (blanket) blanket.css('display', 'block');
- if (motd) motd.css('display', 'none');
- break;
- case 'none':
- alert("mkws.switchView(" + m_teamName + ", 'none') shouldn't happen");
- if (targets) targets.css('display', 'none');
- if (results) results.css('display', 'none');
- if (blanket) blanket.css('display', 'none');
- if (motd) motd.css('display', 'none');
- break;
- default:
- alert("Unknown view '" + view + "'");
- }
- }
- that.switchView = switchView;
-
-
- // detailed record drawing
- that.showDetails = function(recId) {
- var oldRecordId = m_currentRecordId;
- m_currentRecordId = recId;
-
- // remove current detailed view if any
- findnode('#' + recordDetailsId(oldRecordId)).remove();
-
- // if the same clicked, just hide
- if (recId == oldRecordId) {
- m_currentRecordId = '';
- m_currentRecordData = null;
- return;
- }
- // request the record
- log("showDetails() requesting record '" + recId + "'");
- m_paz.record(recId);
- };