Skip to content

Commit

Permalink
session develpment--saving snapshot works, currently have a tab calle…
Browse files Browse the repository at this point in the history
…d 'saved snapshots' in which the snapshots area all listed with their [GMT] time stamp, and user can delete snapshots as well...working on saving and sending
  • Loading branch information
Sonu Lall committed Apr 17, 2011
1 parent d214556 commit 4269c51
Show file tree
Hide file tree
Showing 7 changed files with 175 additions and 130 deletions.
3 changes: 3 additions & 0 deletions conf/languages/POSIX.pm
Expand Up @@ -105,7 +105,10 @@ END
CLEAR_FAV => 'Clear All Favorites',

#############

SNAPSHOT_FORM => 'Snapshot Name',

SNAPSHOT_SELECT => 'Saved Snapshots',

SELECT_TRACKS => 'Select Tracks',

Expand Down
2 changes: 2 additions & 0 deletions conf/languages/en.pm
Expand Up @@ -106,7 +106,9 @@ END
CLEAR_FAV => 'Clear All Favorites',

#############
SNAPSHOT_FORM => 'Snapshot Name',

SNAPSHOT_SELECT => 'Saved Snapshots',

SELECT_TRACKS => 'Select Tracks',

Expand Down
81 changes: 52 additions & 29 deletions htdocs/js/controller.js
Expand Up @@ -1207,51 +1207,74 @@ var GBrowseController = Class.create({
Controller.update_sections(new Array(custom_tracks_id));
},




hide_snapshot_prompt:
function(){
$('save_snapshot').hide();
return false;
},

submitWithEnter:
function(e,utcTime){
if (!e) var e = window.event;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;

if (code==13) {

Controller.hide_snapshot_prompt();
Controller.saveSession('snapshot_name',utcTime)
Controller.update_sections('snapshots_page');
}

},

killSession:
function(snapshot){
var snapshot_row = document.getElementById(snapshot);

snapshot_row.style.display="none";
new Ajax.Request(document.URL, {
method: 'POST',
asynchronous:true,
parameters: {
action: 'delete_session',
name: snapshot,



}});

},

saveSession:
function(/*settings_json*/){
function(textFieldId,gmt_time){
// var settings = settings_json.evalJSON();

var name = prompt("Please enter a unique session name","Session Name");

var sessionName = document.getElementById(textFieldId).value;


new Ajax.Request(document.URL, {
method: 'POST',
asynchronous:true,
parameters: {
action: 'save_session',
name: name,
name: sessionName,
time: gmt_time


}});

Controller.hide_snapshot_prompt();




/*
for (var o in settings){
alert(o+" : "+settings[o]);
}*/
},

addOption:
function(selectbox,text,value){

var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
selectbox.options.add(optn);

},


addOptionArray:
function(snapshots) {

var snapshotArray = snapshots.split(',');
for (var i=0; i < snapshotArray.length;++i){
var snapshotform = document.getElementById('set_session');
Controller.addOption(snapshotform.select_snapshot, snapshotArray[i], snapshotArray[i]);
}
},

},

setSession:
function(){
Expand Down
17 changes: 0 additions & 17 deletions htdocs/js/tabs.js
Expand Up @@ -42,24 +42,7 @@ var TabbedSection = Class.create( {
});


var imgs = document.getElementsByClassName('toolbarStar');
idtoarray(imgs,'toolbarStar');
var stars_id_array = idArray;








// alert(toolbarstars);
// alert('hello');
// if(tab_id == 'main_page_select'){
// // alert('hello');
// /*alert*/(labels);
//
// }
this.tab_menus.each(
function(e) {
e.className='tabmenu_inactive';
Expand Down
27 changes: 17 additions & 10 deletions lib/Bio/Graphics/Browser2/Action.pm
Expand Up @@ -334,27 +334,34 @@ sub ACTION_clear_favorites {



sub ACTION_delete_session {
my $self = shift;
my $q = shift;
my $name = $q->param('name');

my $settings = $self->state;
my %snapshot = %{$settings};
delete %snapshot->{snapshots}->{$name};

$self->session->flush;
return (204,'text/plain',undef);
}

sub ACTION_save_session {
my $self = shift;
my $q = shift;
my $name = $q->param('name');

my $settings = $self->state;
my $session = $self->session;

#
my %snapshot = %{$settings};
my $UTCtime = gmtime(time);
$settings->{session_time}=$UTCtime;
# warn "time = $UTCtime";

my %snapshot = %{$settings};
delete %snapshot->{snapshots};
$settings->{snapshots}->{$name} = \%snapshot;


# my @sessions_arv = @{$session->{session_argv}};
# foreach (@sessions_arv) {
# warn $_;
# }
#




Expand Down
3 changes: 2 additions & 1 deletion lib/Bio/Graphics/Browser2/Render.pm
Expand Up @@ -841,8 +841,9 @@ sub render_body {
my $community = $self->user_tracks->database? $self->render_community_tracks_section : "";
my $custom = $self->render_custom_tracks_section;
my $global_config = $self->render_global_config;
my $saved_snapshots = $self->render_saved_snapshots_section;

$output .= $self->render_tabbed_pages($main_page,$tracks,$community,$custom,$global_config);
$output .= $self->render_tabbed_pages($main_page,$tracks,$community,$custom,$global_config, $saved_snapshots);
$output .= $self->login_manager->render_confirm;
$output .= $self->render_bottom($features);

Expand Down

0 comments on commit 4269c51

Please sign in to comment.