381da604707a65b902707c2f86af896d1a7369e5
angie
Wed Jul 6 15:03:24 2016 -0700
Adding back support for hg.conf settings survey and surveyLabel to hgGateway.
diff --git src/hg/js/hgGateway.js src/hg/js/hgGateway.js
index 5e62a4c..e8164bd 100644
--- src/hg/js/hgGateway.js
+++ src/hg/js/hgGateway.js
@@ -12,31 +12,31 @@
// (and list of hubs above the tree, if any) in a pre-existing SVG element -- see
// hg/hgGateway/hgGateway.html.
// rainbow: module that exports draw() function and colors. draw() adds stripes using
// a spectrum of colors that are associated to species groups. The hgGateway view code
// uses coordinates of stripes within the tree image to create a corresponding "rainbow"
// slider bar to the left of the phylogenetic tree container.
// autocompleteCat: customized JQuery autocomplete plugin that includes watermark and
// can display results broken down by category (for example, genomes from various
// assembly hubs and native genomes).
// hgGateway: module of mostly view/controller code (model state comes directly from server).
// Globals (pragma for jshint):
-/* globals dbDbTree, activeGenomes, cart */
+/* globals dbDbTree, activeGenomes, surveyLink, surveyLabel, cart */
/* globals calculateHgTracksWidth */ // function is defined in utils.js
function svgCreateEl(type, config) {
// Helper function for creating a new SVG element and initializing its
// properties and attributes. Type is something like 'rect', 'text', 'g', etc;
// config is an object like { id: 'newThingie', x: 0, y: 10, title: 'blah blah' }.
var svgns = 'http://www.w3.org/2000/svg';
var xlinkns = 'http://www.w3.org/1999/xlink';
var el = document.createElementNS(svgns, type);
var title, titleEl;
if (el) {
_.forEach(config, function(value, setting) {
if (setting === 'textContent') {
// Text content (the text in a text element or title element) is a property:
@@ -1608,30 +1608,40 @@
'');
$('body').append($form);
$form.submit();
}
function replaceHgsidInLinks() {
// Substitute '$hgsid' with real hgsid in href's.
$('a').each(function(ix, aEl) {
var href = aEl.getAttribute('href');
if (href && href.indexOf('$hgsid') >= 0) {
aEl.setAttribute('href', href.replace('$hgsid', window.hgsid));
}
});
}
+ function displaySurvey() {
+ // If hg.conf specifies a survey link, then hgGateway.c has set corresponding global vars.
+ // Use those to display a labeled link (possibly with html) in the otherwise empty
+ // #surveyContainer.
+ if (surveyLink && surveyLabel) {
+ $('#surveyContainer').html('' +
+ surveyLabel + '');
+ }
+ }
+
function init() {
// Boot up the page; initialize elements and install event handlers.
var searchObj = {};
// We need a bound function to pass into autocompleteCat.init below;
// however, autocompleteFromTree is even slower than drawing the tree because of
// all the copying. So bind now, fill in searchObj later.
var processSpeciesResults = processSpeciesAutocompleteItems.bind(null, searchObj);
cart.setCgi('hgGateway');
cart.debug(debugCartJson);
// Get state from cart
cart.send({ getUiState: {} }, handleRefreshState);
cart.flush();
// Prune inactive genomes from dbDbTree.
if (window.dbDbTree) {
prunedDbDbTree = dbDbTree;
@@ -1644,30 +1654,31 @@
$(function() {
scrollbarWidth = findScrollbarWidth();
setRightColumnWidth();
setupFavIcons();
autocompleteCat.init($('#speciesSearch'),
{ baseUrl: 'hgGateway?hggw_term=',
watermark: speciesWatermark,
onSelect: setDbFromAutocomplete,
onServerReply: processSpeciesResults,
enterSelectsIdentical: true });
$('#selectAssembly').change(onChangeDbMenu);
$('#positionDisplay').click(onClickCopyPosition);
$('#copyPosition').click(onClickCopyPosition);
$('.jwGoButtonContainer').click(goToHgTracks);
$(window).resize(setRightColumnWidth.bind(null, scrollbarWidth));
+ displaySurvey();
replaceHgsidInLinks();
// Fill in searchObj here once everything is displayed.
autocompleteFromTree(prunedDbDbTree, searchObj);
});
}
return { init: init,
// For use by speciesTree.draw SVG (text-only onclick):
onClickSpeciesLabel: onClickSpeciesLabel,
onClickHubName: onClickHubName
};
}()); // hgGateway
hgGateway.init();