0f2388a167a1ea5f0371ace772bb57840aaa2e84
larrym
Sat Aug 21 17:59:14 2010 -0700
add showLoadingImage
diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js
index 7609835..c208489 100644
--- src/hg/js/hgTracks.js
+++ src/hg/js/hgTracks.js
@@ -1418,6 +1418,28 @@
setTimeout(function() { contextMenuHitFinish(menuItemClicked, menuObject, cmd); }, 1);
}
+function showLoadingImage(id)
+{
+// Show a loading image above the given id; return's id of div added (so it can be removed when loading is finished).
+// This code was mostly directly copied from hgHeatmap.js, except I also added the "overlay.appendTo("body");"
+ var loadingId = id + "LoadingOverlay";
+ var overlay = $("
").attr("id", loadingId).css("position", "absolute");
+ overlay.appendTo("body");
+ overlay.css("top", $('#'+ id).position().top);
+ var divLeft = $('#'+ id).position().left + 2;
+ overlay.css("left",divLeft);
+ var width = $('#'+ id).width() - 5;
+ var height = $('#'+ id).height();
+ overlay.width(width);
+ overlay.height(height);
+ overlay.css("background", "white");
+ overlay.css("opacity", 0.75);
+ var imgLeft = (width / 2) - 110;
+ var imgTop = (height / 2 ) - 10;
+ $("
").css("position", "relative").css('left', imgLeft).css('top', imgTop).appendTo(overlay);
+ return loadingId;
+}
+
function contextMenuHitFinish(menuItemClicked, menuObject, cmd)
{
// dispatcher for context menu hits
@@ -1556,7 +1578,10 @@
if(imageV2) {
data += "&hgt.trackNameFilter=" + id;
}
- jQuery('body').css('cursor', 'wait');
+ //var center = $("#img_data_" + id);
+ //center.attr('src', "../images/loading.gif")
+ //center.attr('style', "text-align: center; display: block;");
+ var loadingId = showLoadingImage("tr_" + id);
$.ajax({
type: "GET",
url: "../cgi-bin/hgTracks",
@@ -1565,6 +1590,8 @@
trueSuccess: handleUpdateTrackMap,
success: catchErrorOrDispatch,
cmd: cmd,
+ id: id,
+ loadingId: loadingId,
cache: false
});
}
@@ -1756,10 +1783,13 @@
$('#chrom').attr('src', b[1]);
}
}
- if(imageV2 && this.cmd && this.cmd != 'wholeImage' && this.cmd != 'selectWholeGene') {
+ if(imageV2 && this.id && this.cmd && this.cmd != 'wholeImage' && this.cmd != 'selectWholeGene') {
// Extract ...
and update appropriate row in imgTbl;
// this updates src in img_left_ID, img_center_ID and img_data_ID and map in map_data_ID
- var id = selectedMenuItem.id;
+ var id = this.id;
+ if(this.loadingId) {
+ $('#' + this.loadingId).remove();
+ }
var rec = trackDbJson[id];
var str = "]*>([\\s\\S]+?)
";
var reg = new RegExp(str);