9a7fb2974573b7e57ddac45f2b35c80c66deca53 kate Mon Nov 21 11:31:32 2016 -0800 1. Fix Firefox initialization -- it apparently loads SVG faster than Chrome, so need to check before setting event handler. 2. Fix HOME link image (UCSC browser logo), lost during CSS refactoring. refs #17369 diff --git src/hg/js/hgGtexTrackSettings.js src/hg/js/hgGtexTrackSettings.js index 2c87902..655e622 100644 --- src/hg/js/hgGtexTrackSettings.js +++ src/hg/js/hgGtexTrackSettings.js @@ -369,42 +369,48 @@ var picEl = _svgDoc.getElementById(tis + PIC_LO); if (picEl !== null) { picEl.addEventListener('mouseenter', onMapEnterTissue); picEl.addEventListener('mouseleave', onMapLeaveTissue); picEl.addEventListener('mouseup', onMapClickToggleTissue); } } function animateTissues() { // Add event handlers to tissue table and body map SVG $('#setAll').click(onClickSetAll); $('#clearAll').click(onClickClearAll); tissues.forEach(animateTissue); } + function initSvg(svgEl) { + _svgDoc = svgEl.contentDocument; + _svgRoot = _svgDoc.documentElement; + initBodyMap(); + animateTissues(); + } + function init() { // cart.setCgi('gtexTrackSettings'); $(function() { // After page load, tweak layout and initialize event handlers - // TODO: need to wait onready ? - var bodyMapSvg = document.getElementById('bodyMapSvg'); - + // Check if SVG is loaded, if wait for the event + var svgEl = document.getElementById('bodyMapSvg'); + if (svgEl.getSVGDocument()) { + initSvg(svgEl); + } else { // Wait for SVG to load - bodyMapSvg.addEventListener('load', function() { - _svgRoot = bodyMapSvg.contentDocument.documentElement; - _svgDoc = bodyMapSvg.contentDocument; - - initBodyMap(); - animateTissues(); + svgEl.addEventListener('load', function() { + initSvg(svgEl); }, false); + } $('.gbButtonGoContainer').click(submitForm); }); } return { init: init }; }()); // gtexTrackSettings gtexTrackSettings.init();