GBrowse
view release on metacpan or search on metacpan
htdocs/js/controller.js view on Meta::CPAN
set_display_option:
function(option, value) {
var param = {action: 'set_display_option'};
param[option] = value;
new Ajax.Request(Controller.url,
{
method: 'post',
parameters: param,
onComplete: function (transport) {
Controller.refresh_tracks(); // causes an elegant panel refresh
}
}
);
},
// Signal Change to Server Methods ********************************
set_track_visibility:
function(track_id,visible) {
var gbtrack = this.gbtracks.get(track_id);
if (gbtrack == null) return;
var track_name = gbtrack.track_name;
this.each_track(track_id,function(gbtrack) {
new Ajax.Request(Controller.url,{
method: 'post',
parameters: {
action: 'set_track_visibility',
visible: visible,
track_name: track_name
},
onSuccess: function(transport) {
if (visible && gbtrack.get_last_update_key() == null || gbtrack.get_last_update_key() < Controller.last_update_key) {
Controller.rerender_track(gbtrack.track_id);
}
}
});
});
},
// Kick-off Render Methods ****************************************
reload_panels: // called only to reload a snapshot
function (segment_info) {
if (segment_info != null) {
this.segment_info = segment_info;
}
new Ajax.Request(Controller.url,{
method: 'post',
parameters: {
action: 'render_panels'
},
onSuccess: function(transport) {
$('panels').innerHTML = transport.responseText;
$('panels').innerHTML.evalScripts();
var color = overviewObject.background;
var unit = overviewObject.unit;
var divider = overviewObject.divider;
['overview','region','detail'].each(function(e) {
var m = $(e+'SelectMenu');
if (m) m.remove();
});
this.initialize_page();
set_dragcolors(color);
set_dragunits(unit,divider);
}
});
}, //end render_panels()
update_coordinates:
function (action, snapshot) {
if (snapshot == null){
snapshot = false;
}
// submit search form if the detail panel doesn't exist
if ( null == $(detail_container_id) ){
document.searchform.force_submit.value = 1;
document.searchform.submit();
}
this.busy();
TrackPan.grey_out_markers();
$('ruler_handle').setOpacity(0.3);
$('detail_scale_scale').setOpacity(0.3);
//Grey out image
this.each_track(function(gbtrack) {
if ($(gbtrack.track_image_id) != null)
$(gbtrack.track_image_id).setOpacity(0.3);
// else
// alert('REPORT THIS BUG: element '+gbtrack.track_image_id+' should not be null');
});
new Ajax.Request(Controller.url, {
method: 'post',
parameters: {
action: 'navigate', // 'action' triggers an async call
navigate: action, // 'navigate' is an argument passed to the async routine
view_start: Math.round(TrackPan.get_start()),
view_stop: Math.round(TrackPan.get_stop()),
snapshot: snapshot // Is true when a snapshot is being loaded, and false otherwise
},
onSuccess: function(transport) {
var results = transport.responseJSON;
Controller.segment_info = results.segment_info;
var track_keys = results.track_keys;
var overview_scale_bar_hash = results.overview_scale_bar;
var region_scale_bar_hash = results.region_scale_bar;
var detail_scale_bar_hash = results.detail_scale_bar;
Controller.set_last_update_keys(track_keys);
if (overview_scale_bar_hash) {
Controller.update_scale_bar(overview_scale_bar_hash);
$('overview_panels').setStyle({width: overview_scale_bar_hash.width+'px'});
}
if (region_scale_bar_hash) {
Controller.update_scale_bar(region_scale_bar_hash);
( run in 1.377 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )