Add event handlers to navigate through history

This commit is contained in:
guerler
2016-05-25 11:37:47 -04:00
parent 64cb97cfc9
commit 617cd2de82
10 changed files with 91 additions and 77 deletions
+42 -44
View File
@@ -45,54 +45,52 @@ return Backbone.View.extend({
/** Add a dataset to the frames */
addDataset: function( dataset_id ) {
var self = this;
this.dataset_list = [];
Galaxy.currHistoryPanel.collection.find( function( model ) {
!model.get( 'deleted' ) && self.dataset_list.push( model.get( 'id' ) );
});
var _loadDatasetOffset = function( frame, offset ) {
var pos = self.dataset_list.indexOf( dataset_id );
if ( pos !== -1 && self.dataset_list[ pos + offset ] ) {
self._loadDataset( dataset_id = self.dataset_list[ pos + offset ], function( config ) {
frame.model.set( config );
});
}
}
this._loadDataset( dataset_id, function( config ) {
self.add( _.extend( { menu: [ { icon : 'fa fa-chevron-circle-left',
tooltip : 'Previous in History',
onclick : function( frame ) { _loadDatasetOffset( frame, -1 ) },
disabled : function() { return self.dataset_list.indexOf( dataset_id ) === 0 } },
{ icon : 'fa fa-chevron-circle-right',
tooltip : 'Next in History',
onclick : function( frame ) { _loadDatasetOffset( frame, 1 ) },
disabled : function() { return self.dataset_list.indexOf( dataset_id ) + 1 >= self.dataset_list.length } } ] }, config ) )
});
},
_loadDataset: function( dataset_id, callback ) {
var self = this;
require([ 'mvc/dataset/data' ], function( DATA ) {
var dataset = new DATA.Dataset( { id : dataset_id } );
$.when( dataset.fetch() ).then( function() {
// Construct frame config based on dataset's type.
var frame_config = {
title: dataset.get('name'),
menu: [ {
icon : 'fa fa-chevron-circle-left',
tooltip : 'Previous in History',
onclick : function() {
alert( 'previous' );
}
}, {
icon : 'fa fa-chevron-circle-right',
tooltip : 'Next in History',
onclick : function() {
alert( 'next' );
}
} ]
},
// HACK: For now, assume 'tabular' and 'interval' are the only
// modules that contain tabular files. This needs to be replaced
// will a is_datatype() function.
is_tabular = _.find( [ 'tabular', 'interval' ] , function( data_type ) {
return dataset.get( 'data_type' ).indexOf( data_type ) !== -1;
});
// Use tabular chunked display if dataset is tabular; otherwise load via URL.
if ( is_tabular ) {
var tabular_dataset = new DATA.TabularDataset( dataset.toJSON() );
_.extend( frame_config, {
content: function( parent_elt ) {
DATA.createTabularDatasetChunkedView({
model : tabular_dataset,
parent_elt : parent_elt,
embedded : true,
height : '100%'
});
}
});
}
else {
_.extend( frame_config, {
url: Galaxy.root + 'datasets/' + dataset.id + '/display/?preview=True'
});
}
self.add( frame_config );
var is_tabular = _.find( [ 'tabular', 'interval' ] , function( data_type ) {
return dataset.get( 'data_type' ).indexOf( data_type ) !== -1;
});
callback( is_tabular ? {
title : dataset.get( 'name' ),
url : null,
content : DATA.createTabularDatasetChunkedView({
model : new DATA.TabularDataset( dataset.toJSON() ),
embedded : true,
height : '100%'
}).$el
} : {
title : dataset.get( 'name' ),
url : Galaxy.root + 'datasets/' + dataset.id + '/display/?preview=True',
content : null
} );
});
});
},
+24 -11
View File
@@ -4,30 +4,43 @@ define([], function() {
var FrameView = Backbone.View.extend({
initialize: function( options ) {
var self = this;
this.model = options && options.model || new Backbone.Model( options );
this.setElement( $( '<div/>' ).addClass( 'corner frame' ) );
this.$el.append( $( '<div/>' ).addClass( 'f-header corner' )
.append( $( '<div/>' ).addClass( 'f-title' ).html( options.title || '' ) )
.append( $( '<div/>' ).addClass( 'f-title' ) )
.append( $( '<div/>' ).addClass( 'f-icon f-close fa fa-close' )
.tooltip( { title: 'Close', placement: 'bottom' } ) ) )
.append( $( '<div/>' ).addClass( 'f-content' ) )
.append( $( '<div/>' ).addClass( 'f-resize f-icon corner fa fa-expand' ).tooltip( { title: 'Resize' } ) )
.append( $( '<div/>' ).addClass( 'f-cover' ) );
this.$header = this.$( '.f-header' );
this.$title = this.$( '.f-title' );
this.$content = this.$( '.f-content' );
this.render();
this.listenTo( this.model, 'change', this.render, this );
},
render: function() {
var self = this;
var options = this.model.attributes;
this.$title.html( options.title || '' );
this.$header.find( '.f-icon-left' ).remove();
_.each( options.menu, function( option ) {
self.$header.append( $( '<div/>' ).addClass( 'f-icon-left' )
.addClass( option.icon )
.tooltip( { title: option.tooltip, placement: 'bottom' } )
.on( 'click', function() { option.onclick( self ) } ) );
var $option = $( '<div/>' ).addClass( 'f-icon-left' ).addClass( option.icon );
if ( _.isFunction( option.disabled ) && option.disabled() ) {
$option.attr( 'disabled', true );
} else {
$option.on( 'click', function() { option.onclick( self ) } )
.tooltip( { title: option.tooltip, placement: 'bottom' } );
}
self.$header.append( $option );
} );
if ( options.url ) {
this.$content.html(
$ ( '<iframe/>' ).addClass( 'f-iframe' )
.attr( 'scrolling', 'auto' )
.attr( 'src', options.url + ( options.url.indexOf( '?' ) === -1 ? '?' : '&' ) + 'widget=True' )
);
this.$content.html( $ ( '<iframe/>' ).addClass( 'f-iframe' )
.attr( 'scrolling', 'auto' )
.attr( 'src', options.url + ( options.url.indexOf( '?' ) === -1 ? '?' : '&' ) + 'widget=True' ) );
} else if ( options.content ) {
_.isFunction( options.content ) ? options.content( this.$content ) : $content.html( options.content );
_.isFunction( options.content ) ? options.content( self.$content ) : self.$content.html( options.content );
}
}
});
+3
View File
@@ -102,6 +102,9 @@
font-size : 15px;
margin-left : 3px;
float : left;
&[disabled] {
opacity : 0.25;
}
}
}
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"scratchbook.js","sources":["../../src/layout/scratchbook.js"],"names":["define","Frames","Backbone","View","extend","initialize","options","self","this","frames","visible","setElement","$el","buttonActive","collection","add","id","icon","tooltip","onclick","active","set","toggle","show_note","note_cls","hide","onbeforeunload","length","buttonLoad","show","on","note","addDataset","dataset_id","require","DATA","dataset","Dataset","$","when","fetch","then","frame_config","title","get","menu","alert","is_tabular","_","find","data_type","indexOf","tabular_dataset","TabularDataset","toJSON","content","parent_elt","createTabularDatasetChunkedView","model","embedded","height","url","Galaxy","root","addTrackster","viz_id","visualization","trackster","viz","Visualization","ui","TracksterUI","type","view_config","container","name","dbkey","stand_alone","latest_revision","drawables","config","view","each","d","hda_ldda","create_visualization","viewport","bookmarks","target","window","open","location","$galaxy_main","parent","document","href","attr"],"mappings":"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"}
{"version":3,"file":"scratchbook.js","sources":["../../src/layout/scratchbook.js"],"names":["define","Frames","Backbone","View","extend","initialize","options","self","this","frames","visible","setElement","$el","buttonActive","collection","add","id","icon","tooltip","onclick","active","set","toggle","show_note","note_cls","hide","onbeforeunload","length","buttonLoad","show","on","note","addDataset","dataset_id","dataset_list","Galaxy","currHistoryPanel","find","model","get","push","_loadDatasetOffset","frame","offset","pos","indexOf","_loadDataset","config","_","menu","disabled","callback","require","DATA","dataset","Dataset","$","when","fetch","then","is_tabular","data_type","title","url","content","createTabularDatasetChunkedView","TabularDataset","toJSON","embedded","height","root","addTrackster","viz_id","visualization","trackster","viz","Visualization","ui","TracksterUI","frame_config","type","parent_elt","view_config","container","name","dbkey","stand_alone","latest_revision","drawables","view","each","d","hda_ldda","create_visualization","viewport","bookmarks","target","window","open","location","$galaxy_main","parent","document","href","attr"],"mappings":"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"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,2 +1,2 @@
define(["mvc/ui/ui-frames"],function(a){return Backbone.View.extend({initialize:function(b){var c=this;b=b||{},this.frames=new a.View({visible:!1}),this.setElement(this.frames.$el),this.buttonActive=b.collection.add({id:"enable-scratchbook",icon:"fa-th",tooltip:"Enable/Disable Scratchbook",onclick:function(){c.active=!c.active,c.buttonActive.set({toggle:c.active,show_note:c.active,note_cls:c.active&&"fa fa-check"}),!c.active&&c.frames.hide()},onbeforeunload:function(){return c.frames.length()>0?"You opened "+c.frames.length()+" frame(s) which will be lost.":void 0}}),this.buttonLoad=b.collection.add({id:"show-scratchbook",icon:"fa-eye",tooltip:"Show/Hide Scratchbook",show_note:!0,visible:!1,onclick:function(){c.frames.visible?c.frames.hide():c.frames.show()}}),this.frames.on("add remove",function(){this.visible&&0==this.length()&&this.hide(),c.buttonLoad.set({note:this.length(),visible:this.length()>0})}).on("show hide ",function(){c.buttonLoad.set({toggle:this.visible,icon:this.visible&&"fa-eye"||"fa-eye-slash"})})},addDataset:function(a){var b=this;require(["mvc/dataset/data"],function(c){var d=new c.Dataset({id:a});$.when(d.fetch()).then(function(){var a={title:d.get("name"),menu:[{icon:"fa fa-chevron-circle-left",tooltip:"Previous in History",onclick:function(){alert("previous")}},{icon:"fa fa-chevron-circle-right",tooltip:"Next in History",onclick:function(){alert("next")}}]},e=_.find(["tabular","interval"],function(a){return-1!==d.get("data_type").indexOf(a)});if(e){var f=new c.TabularDataset(d.toJSON());_.extend(a,{content:function(a){c.createTabularDatasetChunkedView({model:f,parent_elt:a,embedded:!0,height:"100%"})}})}else _.extend(a,{url:Galaxy.root+"datasets/"+d.id+"/display/?preview=True"});b.add(a)})})},addTrackster:function(a){var b=this;require(["viz/visualization","viz/trackster"],function(c,d){var e=new c.Visualization({id:a});$.when(e.fetch()).then(function(){var a=new d.TracksterUI(Galaxy.root),c={title:e.get("name"),type:"other",content:function(b){var c={container:b,name:e.get("title"),id:e.id,dbkey:e.get("dbkey"),stand_alone:!1},d=e.get("latest_revision"),f=d.config.view.drawables;_.each(f,function(a){a.dataset={hda_ldda:a.hda_ldda,id:a.dataset_id}}),view=a.create_visualization(c,d.config.viewport,d.config.view.drawables,d.config.bookmarks,!1)}};b.add(c)})})},add:function(a){if("_blank"==a.target)window.open(a.url);else if("_top"==a.target||"_parent"==a.target||"_self"==a.target)window.location=a.url;else if(this.active)this.frames.add(a);else{var b=$(window.parent.document).find("#galaxy_main");"galaxy_main"==a.target||"center"==a.target?0===b.length?window.location=a.url+(-1==href.indexOf("?")?"?":"&")+"use_panels=True":b.attr("src",a.url):window.location=a.url}}})});
define(["mvc/ui/ui-frames"],function(a){return Backbone.View.extend({initialize:function(b){var c=this;b=b||{},this.frames=new a.View({visible:!1}),this.setElement(this.frames.$el),this.buttonActive=b.collection.add({id:"enable-scratchbook",icon:"fa-th",tooltip:"Enable/Disable Scratchbook",onclick:function(){c.active=!c.active,c.buttonActive.set({toggle:c.active,show_note:c.active,note_cls:c.active&&"fa fa-check"}),!c.active&&c.frames.hide()},onbeforeunload:function(){return c.frames.length()>0?"You opened "+c.frames.length()+" frame(s) which will be lost.":void 0}}),this.buttonLoad=b.collection.add({id:"show-scratchbook",icon:"fa-eye",tooltip:"Show/Hide Scratchbook",show_note:!0,visible:!1,onclick:function(){c.frames.visible?c.frames.hide():c.frames.show()}}),this.frames.on("add remove",function(){this.visible&&0==this.length()&&this.hide(),c.buttonLoad.set({note:this.length(),visible:this.length()>0})}).on("show hide ",function(){c.buttonLoad.set({toggle:this.visible,icon:this.visible&&"fa-eye"||"fa-eye-slash"})})},addDataset:function(a){var b=this;this.dataset_list=[],Galaxy.currHistoryPanel.collection.find(function(a){!a.get("deleted")&&b.dataset_list.push(a.get("id"))});var c=function(c,d){var e=b.dataset_list.indexOf(a);-1!==e&&b.dataset_list[e+d]&&b._loadDataset(a=b.dataset_list[e+d],function(a){c.model.set(a)})};this._loadDataset(a,function(d){b.add(_.extend({menu:[{icon:"fa fa-chevron-circle-left",tooltip:"Previous in History",onclick:function(a){c(a,-1)},disabled:function(){return 0===b.dataset_list.indexOf(a)}},{icon:"fa fa-chevron-circle-right",tooltip:"Next in History",onclick:function(a){c(a,1)},disabled:function(){return b.dataset_list.indexOf(a)+1>=b.dataset_list.length}}]},d))})},_loadDataset:function(a,b){require(["mvc/dataset/data"],function(c){var d=new c.Dataset({id:a});$.when(d.fetch()).then(function(){var a=_.find(["tabular","interval"],function(a){return-1!==d.get("data_type").indexOf(a)});b(a?{title:d.get("name"),url:null,content:c.createTabularDatasetChunkedView({model:new c.TabularDataset(d.toJSON()),embedded:!0,height:"100%"}).$el}:{title:d.get("name"),url:Galaxy.root+"datasets/"+d.id+"/display/?preview=True",content:null})})})},addTrackster:function(a){var b=this;require(["viz/visualization","viz/trackster"],function(c,d){var e=new c.Visualization({id:a});$.when(e.fetch()).then(function(){var a=new d.TracksterUI(Galaxy.root),c={title:e.get("name"),type:"other",content:function(b){var c={container:b,name:e.get("title"),id:e.id,dbkey:e.get("dbkey"),stand_alone:!1},d=e.get("latest_revision"),f=d.config.view.drawables;_.each(f,function(a){a.dataset={hda_ldda:a.hda_ldda,id:a.dataset_id}}),view=a.create_visualization(c,d.config.viewport,d.config.view.drawables,d.config.bookmarks,!1)}};b.add(c)})})},add:function(a){if("_blank"==a.target)window.open(a.url);else if("_top"==a.target||"_parent"==a.target||"_self"==a.target)window.location=a.url;else if(this.active)this.frames.add(a);else{var b=$(window.parent.document).find("#galaxy_main");"galaxy_main"==a.target||"center"==a.target?0===b.length?window.location=a.url+(-1==href.indexOf("?")?"?":"&")+"use_panels=True":b.attr("src",a.url):window.location=a.url}}})});
//# sourceMappingURL=../../maps/layout/scratchbook.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long