Layout: Fix optional panel rendering and associated inline css

This commit is contained in:
carlfeberhard
2016-03-22 11:52:13 -04:00
6 changed files with 72 additions and 58 deletions
+23 -20
View File
@@ -32,7 +32,7 @@ var PageLayoutView = Backbone.View.extend( BaseMVC.LoggableMixin ).extend({
Galaxy.modal = this.modal = new Modal.View();
this.masthead = new Masthead.View( this.options.config );
this.$el.attr( 'scroll', 'no' );
this.$el.append( this._template() );
this.$el.html( this._template() );
this.$el.append( this.masthead.$el );
this.$el.append( this.modal.$el );
this.$messagebox = this.$( '#messagebox' );
@@ -93,10 +93,14 @@ var PageLayoutView = Backbone.View.extend( BaseMVC.LoggableMixin ).extend({
if( _.has( page, panelId ) ){
page[ panelId ].setElement( '#' + panelId );
page[ panelId ].render();
} else if ( panelId !== 'center' ) {
page.center.$el.css( panelId, 0 );
}
});
if( !this.left ){
this.center.$el.css( 'left', 0 );
}
if( !this.right ){
this.center.$el.css( 'right', 0 );
}
return this;
},
@@ -106,27 +110,26 @@ var PageLayoutView = Backbone.View.extend( BaseMVC.LoggableMixin ).extend({
'<div id="everything">',
'<div id="background"/>',
'<div id="messagebox"/>',
'<div id="inactivebox" class="panel-warning-message"/>',
'<div id="left"/>',
'<div id="center" class="inbound"/>',
'<div id="right"/>',
'<div id="inactivebox" class="panel-warning-message" />',
this.left? '<div id="left" />' : '',
this.center? '<div id="center" class="inbound" />' : '',
this.right? '<div id="right" />' : '',
'</div>',
'<div id="dd-helper"/>',
'<noscript>',
'<div class="overlay overlay-background noscript-overlay">',
'<div>',
'<h3 class="title">Javascript Required for Galaxy</h3>',
'<div>',
'The Galaxy analysis interface requires a browser with Javascript enabled.<br>',
'Please enable Javascript and refresh this page',
'</div>',
'</div>',
'</div>',
'</noscript>'
'<div id="dd-helper" />',
].join('');
},
toString : function() { return 'PageLayoutView' }
/** hide both side panels if previously shown */
hideSidePanels : function(){
if( this.left ){
this.left.hide();
}
if( this.right ){
this.right.hide();
}
},
toString : function() { return 'PageLayoutView'; }
});
// ============================================================================
@@ -4,7 +4,7 @@ Migration script to support subworkflows and workflow request input parameters
import datetime
import logging
from sqlalchemy import Column, Integer, ForeignKey, MetaData, Table
from sqlalchemy import Column, Integer, ForeignKey, MetaData, Table, Index, ForeignKeyConstraint
from galaxy.model.custom_types import TrimmedString, UUIDType, JSONType
@@ -15,22 +15,33 @@ metadata = MetaData()
WorkflowInvocationToSubworkflowInvocationAssociation_table = Table(
"workflow_invocation_to_subworkflow_invocation_association", metadata,
Column( "id", Integer, primary_key=True ),
Column( "workflow_invocation_id", Integer, ForeignKey( "workflow_invocation.id" ), index=True ),
Column( "subworkflow_invocation_id", Integer, ForeignKey( "workflow_invocation.id" ), index=True ),
Column( "workflow_step_id", Integer, ForeignKey("workflow_step.id") ),
Column( "workflow_invocation_id", Integer ),
Column( "subworkflow_invocation_id", Integer ),
Column( "workflow_step_id", Integer ),
ForeignKeyConstraint(['workflow_invocation_id'], ['workflow_invocation.id'], name='fk_wfi_swi_wfi'),
ForeignKeyConstraint(['subworkflow_invocation_id'], ['workflow_invocation.id'], name='fk_wfi_swi_swi'),
ForeignKeyConstraint(['workflow_step_id'], ['workflow_step.id'], name='fk_wfi_swi_ws')
)
WorkflowRequestInputStepParmeter_table = Table(
WorkflowRequestInputStepParameter_table = Table(
"workflow_request_input_step_parameter", metadata,
Column( "id", Integer, primary_key=True ),
Column( "workflow_invocation_id", Integer, ForeignKey( "workflow_invocation.id" ), index=True ),
Column( "workflow_step_id", Integer, ForeignKey("workflow_step.id") ),
Column( "workflow_invocation_id", Integer ),
Column( "workflow_step_id", Integer ),
Column( "parameter_value", JSONType ),
ForeignKeyConstraint(['workflow_invocation_id'], ['workflow_invocation.id'], name='fk_wfreq_isp_wfi'),
ForeignKeyConstraint(['workflow_step_id'], ['workflow_step.id'], name='fk_wfreq_isp_ws')
)
TABLES = [
WorkflowInvocationToSubworkflowInvocationAssociation_table,
WorkflowRequestInputStepParmeter_table,
WorkflowRequestInputStepParameter_table,
]
INDEXES = [
Index( "ix_wfinv_swfinv_wfi", WorkflowInvocationToSubworkflowInvocationAssociation_table.c.workflow_invocation_id),
Index( "ix_wfinv_swfinv_swfi", WorkflowInvocationToSubworkflowInvocationAssociation_table.c.subworkflow_invocation_id),
Index( "ix_wfreq_inputstep_wfi", WorkflowRequestInputStepParameter_table.c.workflow_invocation_id)
]
@@ -38,16 +49,17 @@ def upgrade(migrate_engine):
metadata.bind = migrate_engine
print __doc__
metadata.reflect()
subworkflow_id_column = Column( "subworkflow_id", Integer, ForeignKey("workflow.id"), nullable=True )
if migrate_engine.name in ['postgres', 'postgresql']:
subworkflow_id_column = Column( "subworkflow_id", Integer, ForeignKey("workflow.id"), nullable=True )
input_subworkflow_step_id_column = Column( "input_subworkflow_step_id", Integer, ForeignKey("workflow_step.id"), nullable=True )
parent_workflow_id_column = Column( "parent_workflow_id", Integer, ForeignKey("workflow.id"), nullable=True )
else:
subworkflow_id_column = Column( "subworkflow_id", Integer, nullable=True )
input_subworkflow_step_id_column = Column( "input_subworkflow_step_id", Integer, nullable=True )
parent_workflow_id_column = Column( "parent_workflow_id", Integer, nullable=True )
__add_column( subworkflow_id_column, "workflow_step", metadata )
input_subworkflow_step_id_column = Column( "input_subworkflow_step_id", Integer, ForeignKey("workflow_step.id"), nullable=True )
__add_column( input_subworkflow_step_id_column, "workflow_step_connection", metadata )
parent_workflow_id_column = Column( "parent_workflow_id", Integer, ForeignKey("workflow.id"), nullable=True )
__add_column( parent_workflow_id_column, "workflow", metadata )
workflow_output_label_column = Column( "label", TrimmedString(255) )
workflow_output_uuid_column = Column( "uuid", UUIDType, nullable=True )
__add_column( workflow_output_label_column, "workflow_output", metadata )
@@ -58,6 +70,7 @@ def upgrade(migrate_engine):
__alter_column("workflow", "stored_workflow_id", metadata, nullable=True)
for table in TABLES:
# Indexes are automatically created when the tables are.
__create(table)
@@ -66,15 +79,13 @@ def downgrade(migrate_engine):
metadata.reflect()
__drop_column( "subworkflow_id", "workflow_step", metadata )
__drop_column( "parent_workflow_id", "workflow_step", metadata )
__drop_column( "parent_workflow_id", "workflow", metadata )
__drop_column( "input_subworkflow_step_id", "workflow_step_connection", metadata )
__drop_column( "label", "workflow_output", metadata )
__drop_column( "uuid", "workflow_output", metadata )
__alter_column("workflow", "stored_workflow_id", metadata, nullable=False)
for table in TABLES:
__drop(table)
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"page.js","sources":["../../src/layout/page.js"],"names":["define","Masthead","Panel","Modal","BaseMVC","PageLayoutView","Backbone","View","extend","LoggableMixin","_logNamespace","el","className","_panelIds","defaultOptions","message_box_visible","message_box_content","message_box_class","show_inactivity_warning","inactivity_box_content","initialize","options","this","log","_","pick","defaults","omit","Galaxy","modal","masthead","config","$el","attr","append","_template","$messagebox","$","$inactivebox","render","remove","renderMessageBox","renderInactivityBox","renderPanels","content","level","addClass","html","toggle","show","removeClass","hide","verificationLink","root","text","page","forEach","panelId","has","setElement","center","css","join","toString"],"mappings":"AAAAA,QACI,kBACA,eACA,kBACA,gBACD,SAAUC,EAAUC,EAAOC,EAAOC,GAGrC,GAAIC,GAAiBC,SAASC,KAAKC,OAAQJ,EAAQK,eAAgBD,QAC/DE,cAAgB,SAEhBC,GAAK,OACLC,UAAY,eAEZC,WACI,OAAQ,SAAU,SAGtBC,gBACIC,qBAA0B,EAC1BC,oBAA0B,GAC1BC,kBAA0B,OAC1BC,yBAA0B,EAC1BC,uBAA0B,IAG9BC,WAAa,SAAUC,GAEnBC,KAAKC,IAAKD,KAAO,eAAgBD,GACjCG,EAAEhB,OAAQc,KAAME,EAAEC,KAAMJ,EAASC,KAAKT,YACtCS,KAAKD,QAAUG,EAAEE,SAAUF,EAAEG,KAAMN,EAASC,KAAKT,WAAaS,KAAKR,gBACnEc,OAAOC,MAAQP,KAAKO,MAAQ,GAAI1B,GAAMI,KACtCe,KAAKQ,SAAW,GAAI7B,GAASM,KAAMe,KAAKD,QAAQU,QAChDT,KAAKU,IAAIC,KAAM,SAAU,MACzBX,KAAKU,IAAIE,OAAQZ,KAAKa,aACtBb,KAAKU,IAAIE,OAAQZ,KAAKQ,SAASE,KAC/BV,KAAKU,IAAIE,OAAQZ,KAAKO,MAAMG,KAC5BV,KAAKc,YAAcd,KAAKe,EAAG,eAC3Bf,KAAKgB,aAAehB,KAAKe,EAAG,iBAGhCE,OAAS,WAQL,MANAF,GAAG,8BAA+BG,SAClClB,KAAKC,IAAKD,KAAO,YACjBA,KAAKQ,SAASS,SACdjB,KAAKmB,mBACLnB,KAAKoB,sBACLpB,KAAKqB,eACErB,MAIXmB,iBAAmB,WACf,GAAKnB,KAAKD,QAAQN,oBAAqB,CACnC,GAAI6B,GAAUtB,KAAKD,QAAQL,qBAAuB,GAC9C6B,EAAQvB,KAAKD,QAAQJ,mBAAqB,MAC9CK,MAAKU,IAAIc,SAAU,mBACnBxB,KAAKc,YACAH,KAAM,QAAS,SAAWY,EAAQ,YAClCE,KAAMH,GACNI,SAAUJ,GACVK,WAEL3B,MAAKU,IAAIkB,YAAa,mBACtB5B,KAAKc,YAAYe,MAErB,OAAO7B,OAIXoB,oBAAsB,WAClB,GAAIpB,KAAKD,QAAQH,wBAAyB,CACtC,GAAI0B,GAAUtB,KAAKD,QAAQF,wBAA0B,GACjDiC,EAAmBf,EAAG,QAASJ,KAAM,OAAQL,OAAOyB,KAAO,4BAA6BC,KAAM,sBAClGhC,MAAKU,IAAIc,SAAU,sBACnBxB,KAAKgB,aACAS,KAAMH,EAAU,KAChBV,OAAQkB,GACRJ,SAAUJ,GACVK,WAEL3B,MAAKU,IAAIkB,YAAa,sBACtB5B,KAAKgB,aAAaa,MAEtB,OAAO7B,OAIXqB,aAAe,WACX,GAAIY,GAAOjC,IASX,OARAA,MAAKT,UAAU2C,QAAS,SAAUC,GAC1BjC,EAAEkC,IAAKH,EAAME,IACbF,EAAME,GAAUE,WAAY,IAAMF,GAClCF,EAAME,GAAUlB,UACI,WAAZkB,GACRF,EAAKK,OAAO5B,IAAI6B,IAAKJ,EAAS,KAG/BnC,MAIXa,UAAW,WACP,OACI,wBACI,yBACA,yBACA,wDACA,mBACA,qCACA,oBACJ,SACA,wBACA,aACI,4DACI,QACI,wDACA,QACI,gFACA,iDACJ,SACJ,SACJ,SACJ,eACF2B,KAAK,KAGXC,SAAW,WAAa,MAAO,mBAI/B,QACI1D,eAAgBA"}
{"version":3,"file":"page.js","sources":["../../src/layout/page.js"],"names":["define","Masthead","Panel","Modal","BaseMVC","PageLayoutView","Backbone","View","extend","LoggableMixin","_logNamespace","el","className","_panelIds","defaultOptions","message_box_visible","message_box_content","message_box_class","show_inactivity_warning","inactivity_box_content","initialize","options","this","log","_","pick","defaults","omit","Galaxy","modal","masthead","config","$el","attr","html","_template","append","$messagebox","$","$inactivebox","render","remove","renderMessageBox","renderInactivityBox","renderPanels","content","level","addClass","toggle","show","removeClass","hide","verificationLink","root","text","page","forEach","panelId","has","setElement","left","center","css","right","join","hideSidePanels","toString"],"mappings":"AAAAA,QACI,kBACA,eACA,kBACA,gBACD,SAAUC,EAAUC,EAAOC,EAAOC,GAGrC,GAAIC,GAAiBC,SAASC,KAAKC,OAAQJ,EAAQK,eAAgBD,QAC/DE,cAAgB,SAEhBC,GAAK,OACLC,UAAY,eAEZC,WACI,OAAQ,SAAU,SAGtBC,gBACIC,qBAA0B,EAC1BC,oBAA0B,GAC1BC,kBAA0B,OAC1BC,yBAA0B,EAC1BC,uBAA0B,IAG9BC,WAAa,SAAUC,GAEnBC,KAAKC,IAAKD,KAAO,eAAgBD,GACjCG,EAAEhB,OAAQc,KAAME,EAAEC,KAAMJ,EAASC,KAAKT,YACtCS,KAAKD,QAAUG,EAAEE,SAAUF,EAAEG,KAAMN,EAASC,KAAKT,WAAaS,KAAKR,gBACnEc,OAAOC,MAAQP,KAAKO,MAAQ,GAAI1B,GAAMI,KACtCe,KAAKQ,SAAW,GAAI7B,GAASM,KAAMe,KAAKD,QAAQU,QAChDT,KAAKU,IAAIC,KAAM,SAAU,MACzBX,KAAKU,IAAIE,KAAMZ,KAAKa,aACpBb,KAAKU,IAAII,OAAQd,KAAKQ,SAASE,KAC/BV,KAAKU,IAAII,OAAQd,KAAKO,MAAMG,KAC5BV,KAAKe,YAAcf,KAAKgB,EAAG,eAC3BhB,KAAKiB,aAAejB,KAAKgB,EAAG,iBAGhCE,OAAS,WAQL,MANAF,GAAG,8BAA+BG,SAClCnB,KAAKC,IAAKD,KAAO,YACjBA,KAAKQ,SAASU,SACdlB,KAAKoB,mBACLpB,KAAKqB,sBACLrB,KAAKsB,eACEtB,MAIXoB,iBAAmB,WACf,GAAKpB,KAAKD,QAAQN,oBAAqB,CACnC,GAAI8B,GAAUvB,KAAKD,QAAQL,qBAAuB,GAC9C8B,EAAQxB,KAAKD,QAAQJ,mBAAqB,MAC9CK,MAAKU,IAAIe,SAAU,mBACnBzB,KAAKe,YACAJ,KAAM,QAAS,SAAWa,EAAQ,YAClCZ,KAAMW,GACNG,SAAUH,GACVI,WAEL3B,MAAKU,IAAIkB,YAAa,mBACtB5B,KAAKe,YAAYc,MAErB,OAAO7B,OAIXqB,oBAAsB,WAClB,GAAIrB,KAAKD,QAAQH,wBAAyB,CACtC,GAAI2B,GAAUvB,KAAKD,QAAQF,wBAA0B,GACjDiC,EAAmBd,EAAG,QAASL,KAAM,OAAQL,OAAOyB,KAAO,4BAA6BC,KAAM,sBAClGhC,MAAKU,IAAIe,SAAU,sBACnBzB,KAAKiB,aACAL,KAAMW,EAAU,KAChBT,OAAQgB,GACRJ,SAAUH,GACVI,WAEL3B,MAAKU,IAAIkB,YAAa,sBACtB5B,KAAKiB,aAAaY,MAEtB,OAAO7B,OAIXsB,aAAe,WACX,GAAIW,GAAOjC,IAaX,OAZAA,MAAKT,UAAU2C,QAAS,SAAUC,GAC1BjC,EAAEkC,IAAKH,EAAME,KACbF,EAAME,GAAUE,WAAY,IAAMF,GAClCF,EAAME,GAAUjB,YAGnBlB,KAAKsC,MACNtC,KAAKuC,OAAO7B,IAAI8B,IAAK,OAAQ,GAE5BxC,KAAKyC,OACNzC,KAAKuC,OAAO7B,IAAI8B,IAAK,QAAS,GAE3BxC,MAIXa,UAAW,WACP,OACI,wBACI,yBACA,yBACA,yDACAb,KAAKsC,KAAQ,oBAAsB,GACnCtC,KAAKuC,OAAQ,sCAAwC,GACrDvC,KAAKyC,MAAQ,qBAAuB,GACxC,SACA,0BACFC,KAAK,KAIXC,eAAiB,WACT3C,KAAKsC,MACLtC,KAAKsC,KAAKT,OAEV7B,KAAKyC,OACLzC,KAAKyC,MAAMZ,QAInBe,SAAW,WAAa,MAAO,mBAI/B,QACI7D,eAAgBA"}
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(["layout/masthead","layout/panel","mvc/ui/ui-modal","mvc/base-mvc"],function(a,b,c,d){var e=Backbone.View.extend(d.LoggableMixin).extend({_logNamespace:"layout",el:"body",className:"full-content",_panelIds:["left","center","right"],defaultOptions:{message_box_visible:!1,message_box_content:"",message_box_class:"info",show_inactivity_warning:!1,inactivity_box_content:""},initialize:function(b){this.log(this+".initialize:",b),_.extend(this,_.pick(b,this._panelIds)),this.options=_.defaults(_.omit(b,this._panelIds),this.defaultOptions),Galaxy.modal=this.modal=new c.View,this.masthead=new a.View(this.options.config),this.$el.attr("scroll","no"),this.$el.append(this._template()),this.$el.append(this.masthead.$el),this.$el.append(this.modal.$el),this.$messagebox=this.$("#messagebox"),this.$inactivebox=this.$("#inactivebox")},render:function(){return $(".select2-hidden-accessible").remove(),this.log(this+".render:"),this.masthead.render(),this.renderMessageBox(),this.renderInactivityBox(),this.renderPanels(),this},renderMessageBox:function(){if(this.options.message_box_visible){var a=this.options.message_box_content||"",b=this.options.message_box_class||"info";this.$el.addClass("has-message-box"),this.$messagebox.attr("class","panel-"+b+"-message").html(a).toggle(!!a).show()}else this.$el.removeClass("has-message-box"),this.$messagebox.hide();return this},renderInactivityBox:function(){if(this.options.show_inactivity_warning){var a=this.options.inactivity_box_content||"",b=$("<a/>").attr("href",Galaxy.root+"user/resend_verification").text("Resend verification");this.$el.addClass("has-inactivity-box"),this.$inactivebox.html(a+" ").append(b).toggle(!!a).show()}else this.$el.removeClass("has-inactivity-box"),this.$inactivebox.hide();return this},renderPanels:function(){var a=this;return this._panelIds.forEach(function(b){_.has(a,b)?(a[b].setElement("#"+b),a[b].render()):"center"!==b&&a.center.$el.css(b,0)}),this},_template:function(){return['<div id="everything">','<div id="background"/>','<div id="messagebox"/>','<div id="inactivebox" class="panel-warning-message"/>','<div id="left"/>','<div id="center" class="inbound"/>','<div id="right"/>',"</div>",'<div id="dd-helper"/>',"<noscript>",'<div class="overlay overlay-background noscript-overlay">',"<div>",'<h3 class="title">Javascript Required for Galaxy</h3>',"<div>","The Galaxy analysis interface requires a browser with Javascript enabled.<br>","Please enable Javascript and refresh this page","</div>","</div>","</div>","</noscript>"].join("")},toString:function(){return"PageLayoutView"}});return{PageLayoutView:e}});
define(["layout/masthead","layout/panel","mvc/ui/ui-modal","mvc/base-mvc"],function(a,b,c,d){var e=Backbone.View.extend(d.LoggableMixin).extend({_logNamespace:"layout",el:"body",className:"full-content",_panelIds:["left","center","right"],defaultOptions:{message_box_visible:!1,message_box_content:"",message_box_class:"info",show_inactivity_warning:!1,inactivity_box_content:""},initialize:function(b){this.log(this+".initialize:",b),_.extend(this,_.pick(b,this._panelIds)),this.options=_.defaults(_.omit(b,this._panelIds),this.defaultOptions),Galaxy.modal=this.modal=new c.View,this.masthead=new a.View(this.options.config),this.$el.attr("scroll","no"),this.$el.html(this._template()),this.$el.append(this.masthead.$el),this.$el.append(this.modal.$el),this.$messagebox=this.$("#messagebox"),this.$inactivebox=this.$("#inactivebox")},render:function(){return $(".select2-hidden-accessible").remove(),this.log(this+".render:"),this.masthead.render(),this.renderMessageBox(),this.renderInactivityBox(),this.renderPanels(),this},renderMessageBox:function(){if(this.options.message_box_visible){var a=this.options.message_box_content||"",b=this.options.message_box_class||"info";this.$el.addClass("has-message-box"),this.$messagebox.attr("class","panel-"+b+"-message").html(a).toggle(!!a).show()}else this.$el.removeClass("has-message-box"),this.$messagebox.hide();return this},renderInactivityBox:function(){if(this.options.show_inactivity_warning){var a=this.options.inactivity_box_content||"",b=$("<a/>").attr("href",Galaxy.root+"user/resend_verification").text("Resend verification");this.$el.addClass("has-inactivity-box"),this.$inactivebox.html(a+" ").append(b).toggle(!!a).show()}else this.$el.removeClass("has-inactivity-box"),this.$inactivebox.hide();return this},renderPanels:function(){var a=this;return this._panelIds.forEach(function(b){_.has(a,b)&&(a[b].setElement("#"+b),a[b].render())}),this.left||this.center.$el.css("left",0),this.right||this.center.$el.css("right",0),this},_template:function(){return['<div id="everything">','<div id="background"/>','<div id="messagebox"/>','<div id="inactivebox" class="panel-warning-message" />',this.left?'<div id="left" />':"",this.center?'<div id="center" class="inbound" />':"",this.right?'<div id="right" />':"","</div>",'<div id="dd-helper" />'].join("")},hideSidePanels:function(){this.left&&this.left.hide(),this.right&&this.right.hide()},toString:function(){return"PageLayoutView"}});return{PageLayoutView:e}});
//# sourceMappingURL=../../maps/layout/page.js.map