mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Webpack: move panel to Backbone, implement ToolPanel and HistoryPanel; simplify js-app.mako (by removing alternate layouts); clean up debugging info, make Galaxy less chatty before logging setup
This commit is contained in:
@@ -1,9 +1,88 @@
|
||||
|
||||
var App = require( '../mvc/app/app-view' );
|
||||
var jQuery = require( 'jquery' ),
|
||||
$ = jQuery,
|
||||
PANEL = require( 'layout/panel' ),
|
||||
ToolPanel = require( './tool-panel' ),
|
||||
HistoryPanel = require( './history-panel' ),
|
||||
PAGE = require( 'layout/page' ),
|
||||
ToolsForm = require( 'mvc/tools/tools-form' );
|
||||
|
||||
//TODO: this doesn't address multiple apps per page
|
||||
window.app = function app( options, bootstrapped ){
|
||||
$( function() {
|
||||
var app = new App( options.config );
|
||||
Galaxy.debug( 'building app:', options, bootstrapped );
|
||||
|
||||
// .................................................... panels and page
|
||||
var toolPanel = new ToolPanel({
|
||||
el : '#left',
|
||||
userIsAnonymous : Galaxy.user.isAnonymous(),
|
||||
require_login : options.config.require_login,
|
||||
spinner_url : options.config.spinner_url,
|
||||
search_url : options.config.search_url,
|
||||
toolbox : options.config.toolbox,
|
||||
toolbox_in_panel: options.config.toolbox_in_panel,
|
||||
stored_workflow_menu_entries : options.config.stored_workflow_menu_entries,
|
||||
}),
|
||||
centerPanel = new PANEL.CenterPanel({
|
||||
el : '#center'
|
||||
}),
|
||||
historyPanel = new HistoryPanel({
|
||||
el : '#right',
|
||||
galaxyRoot : Galaxy.root,
|
||||
userIsAnonymous : Galaxy.user.isAnonymous(),
|
||||
allow_user_dataset_purge: Galaxy.config.allow_user_dataset_purge,
|
||||
}),
|
||||
analysisPage = new PAGE.PageLayoutView( _.extend( options, {
|
||||
el : 'body',
|
||||
left : toolPanel,
|
||||
center : centerPanel,
|
||||
right : historyPanel,
|
||||
}));
|
||||
|
||||
// .................................................... decorate the galaxy object
|
||||
// TODO: most of this is becoming unnecessary as we move to apps
|
||||
Galaxy.page = analysisPage;
|
||||
|
||||
// add tool panel to Galaxy object
|
||||
Galaxy.toolPanel = toolPanel.tool_panel;
|
||||
Galaxy.upload = toolPanel.uploadButton;
|
||||
|
||||
Galaxy.currHistoryPanel = historyPanel.historyView;
|
||||
Galaxy.currHistoryPanel.connectToQuotaMeter( Galaxy.quotaMeter );
|
||||
Galaxy.currHistoryPanel.listenToGalaxy( Galaxy );
|
||||
|
||||
//HACK: move to router/App
|
||||
Galaxy.app = {
|
||||
display : function( view, target ){
|
||||
// TODO: Remove this line after select2 update
|
||||
$( '.select2-hidden-accessible' ).remove();
|
||||
centerPanel.display( view );
|
||||
},
|
||||
};
|
||||
|
||||
// .................................................... start up
|
||||
$(function(){
|
||||
analysisPage.render();
|
||||
Galaxy.currHistoryPanel.loadCurrentHistory();
|
||||
|
||||
// TODO: to router, remove Globals
|
||||
var params = $.extend( {}, options.config.params );
|
||||
if( params.tool_id && params.tool_id !== 'upload1' ){
|
||||
params.id = params.tool_id;
|
||||
centerPanel.display( new ToolsForm.View( params ) );
|
||||
|
||||
} else if( params.job_id ){
|
||||
params.id = params.tool_id;
|
||||
centerPanel.display( new ToolsForm.View( params ) );
|
||||
|
||||
} else {
|
||||
var iframeUrl = Galaxy.root;
|
||||
if( params.workflow_id ){
|
||||
iframeUrl += 'workflow/run?id=' + params.workflow_id;
|
||||
} else if( params.m_c ){
|
||||
iframeUrl += params.m_c + '/' + params.m_a;
|
||||
} else {
|
||||
iframeUrl += 'root/welcome';
|
||||
}
|
||||
centerPanel.$( '#galaxy_main' ).prop( 'src', iframeUrl );
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//TODO: remove this
|
||||
var GalaxyApp = require( '../galaxy-app-base' ).GalaxyApp;
|
||||
window.GalaxyApp = GalaxyApp;
|
||||
console.debug( 'galaxy.js, GalaxyApp is now in window' );
|
||||
exports = GalaxyApp;
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
var RightPanel = require( 'layout/panel' ).RightPanel,
|
||||
Ui = require( 'mvc/ui/ui-misc' ),
|
||||
historyOptionsMenu = require( 'mvc/history/options-menu' );
|
||||
CurrentHistoryView = require( 'mvc/history/history-panel-edit-current' ).CurrentHistoryPanel;
|
||||
|
||||
//TODO: localize
|
||||
// rename other {history,list}-panels to {history,list}-views
|
||||
var HistoryPanel = RightPanel.extend({
|
||||
|
||||
title : 'History',
|
||||
|
||||
initialize : function( options ){
|
||||
RightPanel.prototype.initialize.call( this, options );
|
||||
var self = this;
|
||||
|
||||
// this button re-fetches the history and contents and re-renders the history panel
|
||||
this.refreshButton = new Ui.ButtonLink({
|
||||
id : 'history-refresh-button',
|
||||
title : 'Refresh history',
|
||||
cls : 'panel-header-button',
|
||||
icon : 'fa fa-refresh',
|
||||
onclick : function() {
|
||||
self.historyView.loadCurrentHistory();
|
||||
}
|
||||
});
|
||||
// opens a drop down menu with history related functions (like view all, delete, share, etc.)
|
||||
this.optionsButton = new Ui.ButtonLink({
|
||||
id : 'history-options-button',
|
||||
title : 'History options',
|
||||
cls : 'panel-header-button',
|
||||
icon : 'fa fa-cog',
|
||||
});
|
||||
// goes to a page showing all the users histories in panel form (for logged in users)
|
||||
this.viewMultiButton = null;
|
||||
if( !options.userIsAnonymous ){
|
||||
this.viewMultiButton = new Ui.ButtonLink({
|
||||
id : 'history-view-multi-button',
|
||||
title : 'View all histories',
|
||||
cls : 'panel-header-button',
|
||||
icon : 'fa fa-columns',
|
||||
href : options.galaxyRoot + 'history/view_multiple'
|
||||
});
|
||||
}
|
||||
|
||||
// build history options menu
|
||||
this.optionsMenu = historyOptionsMenu( this.optionsButton.$el, {
|
||||
anonymous : options.userIsAnonymous,
|
||||
purgeAllowed : options.allow_user_dataset_purge,
|
||||
root : options.galaxyRoot
|
||||
});
|
||||
|
||||
// view of the current history
|
||||
this.historyView = new CurrentHistoryView({
|
||||
purgeAllowed : options.allow_user_dataset_purge,
|
||||
linkTarget : 'galaxy_main',
|
||||
$scrollContainer: function(){ return this.$el.parent(); }
|
||||
});
|
||||
},
|
||||
|
||||
render : function(){
|
||||
RightPanel.prototype.render.call( this );
|
||||
this.debug( 'rendering:' );
|
||||
this.$( '.panel-header-buttons' ).append([
|
||||
this.refreshButton.$el,
|
||||
this.optionsButton.$el,
|
||||
this.viewMultiButton? this.viewMultiButton.$el : null,
|
||||
]);
|
||||
this.historyView.setElement( this.$( '.history-panel' ) );
|
||||
},
|
||||
|
||||
/** panel dom template. id is 'right' or 'left' */
|
||||
_templateBody : function( data ){
|
||||
return [
|
||||
'<div class="unified-panel-body unified-panel-body-background">',
|
||||
'<div id="current-history-panel" class="history-panel"/>',
|
||||
'</div>'
|
||||
].join('');
|
||||
},
|
||||
|
||||
toString : function(){ return 'HistoryPanel'; }
|
||||
});
|
||||
|
||||
module.exports = HistoryPanel;
|
||||
@@ -0,0 +1,108 @@
|
||||
var LeftPanel = require( 'layout/panel' ).LeftPanel,
|
||||
Tools = require( 'mvc/tools' ),
|
||||
Upload = require( 'mvc/upload/upload-view' );
|
||||
//TODO: localize
|
||||
|
||||
/* Builds the tool panel on the left */
|
||||
var ToolPanel = LeftPanel.extend({
|
||||
|
||||
title : 'Tools',
|
||||
|
||||
initialize: function( options ){
|
||||
LeftPanel.prototype.initialize.call( this, options );
|
||||
this.log( this + '.initialize:', options );
|
||||
this.stored_workflow_menu_entries = options.stored_workflow_menu_entries || [];
|
||||
|
||||
// TODO: this switch doesn't belong here?
|
||||
if( options.userIsAnonymous || !options.require_login ){
|
||||
// create tool search, tool panel, and tool panel view.
|
||||
var tool_search = new Tools.ToolSearch({
|
||||
spinner_url : options.spinner_url,
|
||||
search_url : options.search_url,
|
||||
hidden : false
|
||||
});
|
||||
var tools = new Tools.ToolCollection( options.toolbox );
|
||||
this.tool_panel = new Tools.ToolPanel({
|
||||
tool_search : tool_search,
|
||||
tools : tools,
|
||||
layout : options.toolbox_in_panel
|
||||
});
|
||||
this.tool_panel_view = new Tools.ToolPanelView({ model: this.tool_panel });
|
||||
// add upload plugin
|
||||
this.uploadButton = new Upload( options );
|
||||
}
|
||||
},
|
||||
|
||||
render : function(){
|
||||
var self = this;
|
||||
LeftPanel.prototype.render.call( self );
|
||||
self.$( '.panel-header-buttons' ).append( self.uploadButton.$el );
|
||||
|
||||
// if there are tools, render panel and display everything
|
||||
if (self.tool_panel.get( 'layout' ).size() > 0) {
|
||||
self.tool_panel_view.render();
|
||||
//TODO: why the hide/show?
|
||||
self.$( '.toolMenu' ).show();
|
||||
}
|
||||
self.$( '.toolMenuContainer' ).prepend( self.tool_panel_view.$el );
|
||||
|
||||
self._renderWorkflowMenu();
|
||||
|
||||
// if a tool link has the minsizehint attribute, handle it here (gen. by hiding the tool panel)
|
||||
self.$( 'a[minsizehint]' ).click( function() {
|
||||
if ( parent.handle_minwidth_hint ) {
|
||||
parent.handle_minwidth_hint( $( self ).attr( 'minsizehint' ) );
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
_renderWorkflowMenu : function(){
|
||||
var self = this;
|
||||
// add internal workflow list
|
||||
self.$( '#internal-workflows' ).append( self._templateTool({
|
||||
title : 'All workflows',
|
||||
href : 'workflow/list_for_run'
|
||||
}));
|
||||
_.each( self.stored_workflow_menu_entries, function( menu_entry ){
|
||||
self.$( '#internal-workflows' ).append( self._templateTool({
|
||||
title : menu_entry.stored_workflow.name,
|
||||
href : 'workflow/run?id=' + menu_entry.encoded_stored_workflow_id
|
||||
}));
|
||||
});
|
||||
},
|
||||
|
||||
_templateTool: function( tool ) {
|
||||
return [
|
||||
'<div class="toolTitle">',
|
||||
// global
|
||||
'<a href="', Galaxy.root, tool.href, '" target="galaxy_main">', tool.title, '</a>',
|
||||
'</div>'
|
||||
].join('');
|
||||
},
|
||||
|
||||
_templateBody : function(){
|
||||
return [
|
||||
'<div class="unified-panel-body unified-panel-body-background">',
|
||||
'<div class="toolMenuContainer">',
|
||||
'<div class="toolMenu" style="display: none">',
|
||||
'<div id="search-no-results" style="display: none; padding-top: 5px">',
|
||||
'<em><strong>Search did not match any tools.</strong></em>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="toolSectionPad"/>',
|
||||
'<div class="toolSectionPad"/>',
|
||||
'<div class="toolSectionTitle" id="title_XXinternalXXworkflow">',
|
||||
'<span>Workflows</span>',
|
||||
'</div>',
|
||||
'<div id="internal-workflows" class="toolSectionBody">',
|
||||
'<div class="toolSectionBg"/>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>'
|
||||
].join('');
|
||||
},
|
||||
|
||||
toString : function(){ return 'ToolPanel'; }
|
||||
});
|
||||
|
||||
module.exports = ToolPanel;
|
||||
@@ -19,7 +19,6 @@ define([
|
||||
* user : the current user (as a mvc/user/user-model)
|
||||
*/
|
||||
function GalaxyApp( options, bootstrapped ){
|
||||
console.debug( 'GalaxyApp:', options, bootstrapped );
|
||||
var self = this;
|
||||
return self._init( options || {}, bootstrapped || {} );
|
||||
}
|
||||
@@ -43,19 +42,20 @@ GalaxyApp.prototype._init = function __init( options, bootstrapped ){
|
||||
_.extend( self, Backbone.Events );
|
||||
if( localDebugging ){
|
||||
self.logger = console;
|
||||
console.debug( 'debugging galaxy:', 'options:', options, 'bootstrapped:', bootstrapped );
|
||||
}
|
||||
|
||||
self._processOptions( options );
|
||||
self.debug( 'GalaxyApp.options: ', self.options );
|
||||
// special case for root
|
||||
self.root = options.root || '/';
|
||||
|
||||
self._initConfig( options.config || bootstrapped.config || {} );
|
||||
self.debug( 'GalaxyApp.config: ', self.config );
|
||||
|
||||
self._patchGalaxy( window.Galaxy );
|
||||
|
||||
self._initLogger( self.options.loggerOptions || {} );
|
||||
// at this point, either logging or not and namespaces are enabled - chat it up
|
||||
self.debug( 'GalaxyApp.options: ', self.options );
|
||||
self.debug( 'GalaxyApp.config: ', self.config );
|
||||
self.debug( 'GalaxyApp.logger: ', self.logger );
|
||||
|
||||
self._initLocale();
|
||||
@@ -86,7 +86,6 @@ GalaxyApp.prototype.defaultOptions = {
|
||||
GalaxyApp.prototype._processOptions = function _processOptions( options ){
|
||||
var self = this,
|
||||
defaults = self.defaultOptions;
|
||||
self.debug( '_processOptions: ', options );
|
||||
|
||||
self.options = {};
|
||||
for( var k in defaults ){
|
||||
@@ -100,7 +99,6 @@ GalaxyApp.prototype._processOptions = function _processOptions( options ){
|
||||
/** parse the config and any extra info derived from it */
|
||||
GalaxyApp.prototype._initConfig = function _initConfig( config ){
|
||||
var self = this;
|
||||
self.debug( '_initConfig: ', config );
|
||||
self.config = config;
|
||||
|
||||
// give precendence to localdebugging for this setting
|
||||
@@ -114,12 +112,12 @@ GalaxyApp.prototype._patchGalaxy = function _patchGalaxy( patchWith ){
|
||||
var self = this;
|
||||
// in case req or plain script tag order has created a prev. version of the Galaxy obj...
|
||||
if( self.options.patchExisting && patchWith ){
|
||||
self.debug( 'found existing Galaxy object:', patchWith );
|
||||
// self.debug( 'found existing Galaxy object:', patchWith );
|
||||
// ...(for now) monkey patch any added attributes that the previous Galaxy may have had
|
||||
//TODO: move those attributes to more formal assignment in GalaxyApp
|
||||
for( var k in patchWith ){
|
||||
if( patchWith.hasOwnProperty( k ) ){
|
||||
self.debug( '\t patching in ' + k + ' to Galaxy' );
|
||||
// self.debug( '\t patching in ' + k + ' to Galaxy:', self[ k ] );
|
||||
self[ k ] = patchWith[ k ];
|
||||
}
|
||||
}
|
||||
@@ -138,7 +136,6 @@ GalaxyApp.prototype._initLogger = function _initLogger( loggerOptions ){
|
||||
loggerOptions.consoleNamespaceWhitelist = localStorage.getItem( NAMESPACE_KEY ).split( ',' );
|
||||
} catch( storageErr ){}
|
||||
}
|
||||
self.debug( '_initLogger:', loggerOptions );
|
||||
self.logger = new metricsLogger.MetricsLogger( loggerOptions );
|
||||
|
||||
if( self.config.debug ){
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
define([
|
||||
'layout/masthead',
|
||||
'layout/panel',
|
||||
'mvc/ui/ui-modal',
|
||||
'mvc/base-mvc'
|
||||
], function( MASTHEAD, PANEL, MODAL, BASE_MVC ) {
|
||||
|
||||
// ============================================================================
|
||||
var PageLayoutView = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend({
|
||||
_logNamespace : 'layout',
|
||||
|
||||
el : 'body',
|
||||
className : 'full-content',
|
||||
|
||||
_panelIds : [
|
||||
'left', 'center', 'right'
|
||||
],
|
||||
|
||||
defaultOptions : {
|
||||
message_box_visible : false,
|
||||
message_box_content : '',
|
||||
message_box_class : 'info',
|
||||
|
||||
show_inactivity_warning : false,
|
||||
inactivity_box_content : '',
|
||||
},
|
||||
|
||||
initialize : function( options ){
|
||||
this.log( this + '.initialize:', options );
|
||||
_.extend( this, _.pick( options, this._panelIds ) );
|
||||
this.options = _.defaults( _.omit( options, this._panelIds ), this.defaultOptions );
|
||||
},
|
||||
|
||||
/** */
|
||||
$everything : function(){
|
||||
return this.$( '#everything' );
|
||||
},
|
||||
|
||||
render : function(){
|
||||
this.log( this + '.render:' );
|
||||
this.$el.attr( 'scroll', 'no' );
|
||||
this.$el.html( this.template( this.options ) );
|
||||
|
||||
this.modal = new MODAL.View();
|
||||
//TODO: no render on masthead, needs init each time
|
||||
this.masthead = new MASTHEAD.GalaxyMasthead( this.options.config );
|
||||
|
||||
// TODO: remove globals
|
||||
Galaxy.modal = this.modal;
|
||||
Galaxy.masthead = this.masthead;
|
||||
|
||||
if( this.options.message_box_visible ){
|
||||
this.messageBox( this.options.message_box_content, this.options.message_box_class );
|
||||
}
|
||||
if( this.options.show_inactivity_warning ){
|
||||
this.inactivityWarning( this.options.inactivity_box_content );
|
||||
}
|
||||
|
||||
this.renderPanels();
|
||||
return this;
|
||||
},
|
||||
|
||||
/** */
|
||||
messageBox : function( content, level ){
|
||||
content = content || '';
|
||||
level = level || 'info';
|
||||
this.$el.addClass( 'has-message-box' );
|
||||
this.$( '#messagebox' )
|
||||
.attr( 'class', 'panel-' + level + '-message' )
|
||||
.html( content )
|
||||
.toggle( !!content );
|
||||
return this;
|
||||
},
|
||||
|
||||
/** */
|
||||
inactivityWarning : function( content ){
|
||||
var verificationLink = '<a href="' + Galaxy.root + 'user/resend_verification">Resend verification.</a>';
|
||||
this.$el.addClass( 'has-inactivity-box' );
|
||||
this.$( '#inactivebox' )
|
||||
.html( content )
|
||||
.append( ' ' + verificationLink )
|
||||
.toggle( !!content );
|
||||
return this;
|
||||
},
|
||||
|
||||
/** */
|
||||
renderPanels : function(){
|
||||
var page = this;
|
||||
// TODO: Remove this line after select2 update
|
||||
$( '.select2-hidden-accessible' ).remove();
|
||||
this._panelIds.forEach( function( panelId ){
|
||||
if( _.has( page, panelId ) ){
|
||||
var panelView = page[ panelId ];
|
||||
panelView.setElement( '#' + panelId );
|
||||
panelView.render();
|
||||
}
|
||||
});
|
||||
return this;
|
||||
},
|
||||
|
||||
/** body template */
|
||||
//TODO: to underscore
|
||||
template: function( options ){
|
||||
//TODO: remove inline styling
|
||||
return [
|
||||
'<div id="everything" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;">',
|
||||
'<div id="background"/>',
|
||||
'<div id="messagebox" style="display: none;"></div>',
|
||||
'<div id="inactivebox" class="panel-warning-message" style="display: none;"></div>',
|
||||
// content here
|
||||
// TODO: wrapping div
|
||||
this.left? '<div id="left"/>' : '',
|
||||
this.center? '<div id="center" class="inbound"/>' : '',
|
||||
this.right? '<div id="right"/>' : '',
|
||||
'</div>',
|
||||
// a dropdown overlay for capturing clicks/drags
|
||||
'<div id="DD-helper" style="display: none;"></div>',
|
||||
// display message when js is disabled
|
||||
'<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('');
|
||||
},
|
||||
|
||||
hideSidePanels : function(){
|
||||
if( this.left ){
|
||||
this.left.hide();
|
||||
}
|
||||
if( this.right ){
|
||||
this.right.hide();
|
||||
}
|
||||
},
|
||||
|
||||
toString : function(){ return 'PageLayoutView'; }
|
||||
});
|
||||
|
||||
// ============================================================================
|
||||
return {
|
||||
PageLayoutView: PageLayoutView
|
||||
};
|
||||
});
|
||||
@@ -1,137 +1,286 @@
|
||||
define([
|
||||
'jquery',
|
||||
], function( jQuery ){
|
||||
'libs/underscore',
|
||||
'libs/backbone',
|
||||
'mvc/base-mvc',
|
||||
], function( jQuery, _, Backbone, BASE_MVC ){
|
||||
|
||||
"use strict";
|
||||
// ============================================================================
|
||||
var $ = jQuery;
|
||||
|
||||
// Panels
|
||||
var MIN_PANEL_WIDTH = 160,
|
||||
MAX_PANEL_WIDTH = 800;
|
||||
|
||||
/** */
|
||||
var Panel = function( options ) {
|
||||
this.$panel = options.panel;
|
||||
this.$center = options.center;
|
||||
this.$drag = options.drag;
|
||||
this.$toggle = options.toggle;
|
||||
this.left = !options.right;
|
||||
this.hidden = false;
|
||||
this.hidden_by_tool = false;
|
||||
this.saved_size = null;
|
||||
this.init();
|
||||
};
|
||||
// ----------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
var SidePanel = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend({
|
||||
_logNamespace : 'layout',
|
||||
|
||||
$.extend( Panel.prototype, {
|
||||
initialize: function( attributes ){
|
||||
this.log( this + '.initialize:', attributes );
|
||||
this.title = attributes.title || this.title || '';
|
||||
|
||||
/** */
|
||||
resize: function( x ) {
|
||||
this.$panel.css( "width", x );
|
||||
if ( this.left ) {
|
||||
this.$center.css( "left", x );
|
||||
} else {
|
||||
this.$center.css( "right", x );
|
||||
}
|
||||
// ie7-recalc.js
|
||||
if ( document.recalc ) { document.recalc(); }
|
||||
this.hidden = false;
|
||||
this.savedSize = null;
|
||||
this.hiddenByTool = false;
|
||||
},
|
||||
|
||||
/** */
|
||||
do_toggle: function() {
|
||||
var self = this;
|
||||
if ( this.hidden ) {
|
||||
this.$toggle.removeClass( "hidden" );
|
||||
if ( this.left ) {
|
||||
this.$panel.css( "left", - this.saved_size ).show().animate( { "left": 0 }, "fast", function () {
|
||||
self.resize( self.saved_size );
|
||||
});
|
||||
} else {
|
||||
this.$panel.css( "right", - this.saved_size ).show().animate( { "right": 0 }, "fast", function () {
|
||||
self.resize( self.saved_size );
|
||||
});
|
||||
}
|
||||
self.hidden = false;
|
||||
} else {
|
||||
self.saved_size = this.$panel.width();
|
||||
if ( document.recalc ) { document.recalc(); }
|
||||
// Hide border
|
||||
if ( this.left ) {
|
||||
this.$panel.animate( { left: - this.saved_size }, "fast" );
|
||||
} else {
|
||||
this.$panel.animate( { right: - this.saved_size }, "fast" );
|
||||
}
|
||||
// self.resize(0);
|
||||
if ( this.left ) {
|
||||
this.$center.css( "left", 0 );
|
||||
} else {
|
||||
this.$center.css( "right", 0 );
|
||||
}
|
||||
|
||||
self.hidden = true;
|
||||
self.$toggle.addClass( "hidden" );
|
||||
}
|
||||
this.hidden_by_tool = false;
|
||||
$center : function(){
|
||||
return this.$el.siblings( '#center' );
|
||||
},
|
||||
|
||||
/** */
|
||||
handle_minwidth_hint: function( x ) {
|
||||
var space = this.$center.width() - ( this.hidden ? this.saved_size : 0 );
|
||||
if ( space < x )
|
||||
{
|
||||
if ( ! this.hidden ) {
|
||||
this.do_toggle();
|
||||
this.hidden_by_tool = true;
|
||||
}
|
||||
} else {
|
||||
if ( this.hidden_by_tool ) {
|
||||
this.do_toggle();
|
||||
this.hidden_by_tool = false;
|
||||
}
|
||||
}
|
||||
$toggleButton : function(){
|
||||
return this.$( '.unified-panel-footer > .panel-collapse' );
|
||||
},
|
||||
|
||||
/** */
|
||||
force_panel: function( op ) {
|
||||
if ( ( this.hidden && op == 'show' ) || ( ! this.hidden && op == 'hide' ) ) {
|
||||
this.do_toggle();
|
||||
}
|
||||
render: function(){
|
||||
this.log( this + '.render:' );
|
||||
this.$el.html( this.template( this.id ) );
|
||||
},
|
||||
|
||||
/** */
|
||||
init: function() {
|
||||
/** panel dom template. id is 'right' or 'left' */
|
||||
template: function(){
|
||||
return [
|
||||
this._templateHeader(),
|
||||
this._templateBody(),
|
||||
this._templateFooter(),
|
||||
].join('');
|
||||
},
|
||||
|
||||
/** panel dom template. id is 'right' or 'left' */
|
||||
_templateHeader: function( data ){
|
||||
return [
|
||||
'<div class="unified-panel-header" unselectable="on">',
|
||||
'<div class="unified-panel-header-inner">',
|
||||
'<div class="panel-header-buttons" style="float: right"/>',
|
||||
'<div class="panel-header-text">', _.escape( this.title ), '</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
].join('');
|
||||
},
|
||||
|
||||
/** panel dom template. id is 'right' or 'left' */
|
||||
_templateBody: function( data ){
|
||||
return '<div class="unified-panel-body"/>';
|
||||
},
|
||||
|
||||
/** panel dom template. id is 'right' or 'left' */
|
||||
_templateFooter: function( data ){
|
||||
return [
|
||||
'<div class="unified-panel-footer">',
|
||||
'<div class="panel-collapse ', _.escape( this.id ), '"/>',
|
||||
'<div class="drag"/>',
|
||||
'</div>',
|
||||
].join('');
|
||||
},
|
||||
|
||||
// ..............................................................
|
||||
events : {
|
||||
'mousedown .unified-panel-footer > .drag' : '_mousedownDragHandler',
|
||||
'click .unified-panel-footer > .panel-collapse' : 'toggle'
|
||||
},
|
||||
|
||||
_mousedownDragHandler : function( ev ){
|
||||
var self = this,
|
||||
prevX;
|
||||
// Pull the collapse element out to body level so it is visible when panel is hidden
|
||||
self.$toggle.remove().appendTo( "body" );
|
||||
// Hide/show using toggle element
|
||||
self.$toggle.on( "click", function() { self.do_toggle(); } );
|
||||
draggingLeft = this.id === 'left',
|
||||
prevX = ev.pageX;
|
||||
|
||||
// Resizing using drag element
|
||||
function move( e ){
|
||||
var delta = e.pageX - prevX;
|
||||
prevX = e.pageX;
|
||||
|
||||
var oldWidth = self.$panel.width(),
|
||||
newWidth = ( self.left )?( oldWidth + delta ):( oldWidth - delta );
|
||||
var oldWidth = self.$el.width(),
|
||||
newWidth = draggingLeft?( oldWidth + delta ):( oldWidth - delta );
|
||||
// Limit range
|
||||
newWidth = Math.min( MAX_PANEL_WIDTH, Math.max( MIN_PANEL_WIDTH, newWidth ) );
|
||||
self.resize( newWidth );
|
||||
}
|
||||
this.$drag.on( "mousedown", function( e ) {
|
||||
prevX = e.pageX;
|
||||
$( '#DD-helper' ).show()
|
||||
.on( 'mousemove', move )
|
||||
.one( 'mouseup', function( e ){
|
||||
$( this ).hide().off( 'mousemove', move );
|
||||
});
|
||||
});
|
||||
// TODO: remove global
|
||||
window.force_left_panel = function( x ) { self.force_panel( x ); };
|
||||
window.handle_minwidth_hint = function( x ) { self.handle_minwidth_hint( x ); };
|
||||
}
|
||||
|
||||
// this is a page wide overlay that assists in capturing the move and release of the mouse
|
||||
// if not provided, progress and end wouldn't fire if the mouse moved out of the drag button area
|
||||
$( '#DD-helper' )
|
||||
.show()
|
||||
.on( 'mousemove', move )
|
||||
.one( 'mouseup', function( e ){
|
||||
$( this ).hide().off( 'mousemove', move );
|
||||
});
|
||||
},
|
||||
|
||||
//TODO: the following three could be simplified I think
|
||||
resize : function( newSize ){
|
||||
this.$el.css( 'width', newSize );
|
||||
// if panel is 'right' (this.id), move center right newSize number of pixels
|
||||
this.$center().css( this.id, newSize );
|
||||
return self;
|
||||
},
|
||||
|
||||
show : function(){
|
||||
if( !this.hidden ){ return; }
|
||||
var self = this,
|
||||
animation = {},
|
||||
whichSide = this.id;
|
||||
|
||||
animation[ whichSide ] = 0;
|
||||
self.$el
|
||||
.css( whichSide, -this.savedSize )
|
||||
.show()
|
||||
.animate( animation, "fast", function(){
|
||||
self.resize( self.savedSize );
|
||||
});
|
||||
|
||||
self.hidden = false;
|
||||
self.$toggleButton().removeClass( "hidden" );
|
||||
return self;
|
||||
},
|
||||
|
||||
hide : function(){
|
||||
console.debug( 'hide:', this, this.hidden );
|
||||
if( this.hidden ){ return; }
|
||||
var self = this,
|
||||
animation = {},
|
||||
whichSide = this.id;
|
||||
|
||||
self.savedSize = this.$el.width();
|
||||
animation[ whichSide ] = -this.savedSize;
|
||||
this.$el.animate( animation, "fast" );
|
||||
this.$center().css( whichSide, 0 );
|
||||
|
||||
self.hidden = true;
|
||||
self.$toggleButton().addClass( "hidden" );
|
||||
return self;
|
||||
},
|
||||
|
||||
toggle: function( ev ){
|
||||
var self = this;
|
||||
if( self.hidden ){
|
||||
self.show();
|
||||
} else {
|
||||
self.hide();
|
||||
}
|
||||
self.hiddenByTool = false;
|
||||
return self;
|
||||
},
|
||||
|
||||
// ..............................................................
|
||||
//TODO: only used in message.mako?
|
||||
/** */
|
||||
handle_minwidth_hint: function( hint ){
|
||||
console.debug( 'handle_minwidth_hint:', hint );
|
||||
var space = this.$center().width() - ( this.hidden ? this.savedSize : 0 );
|
||||
if( space < hint ){
|
||||
if( !this.hidden ){
|
||||
this.toggle();
|
||||
this.hiddenByTool = true;
|
||||
}
|
||||
} else {
|
||||
if( this.hiddenByTool ){
|
||||
this.toggle();
|
||||
this.hiddenByTool = false;
|
||||
}
|
||||
}
|
||||
return self;
|
||||
},
|
||||
|
||||
/** */
|
||||
force_panel : function( op ){
|
||||
console.debug( 'force_panel:', op );
|
||||
if( op == 'show' ){ return this.show(); }
|
||||
if( op == 'hide' ){ return this.hide(); }
|
||||
return self;
|
||||
},
|
||||
|
||||
toString : function(){ return 'SidePanel(' + this.id + ')'; }
|
||||
});
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// TODO: side should be defined by page - not here
|
||||
var LeftPanel = SidePanel.extend({
|
||||
id : 'left',
|
||||
});
|
||||
|
||||
var RightPanel = SidePanel.extend({
|
||||
id : 'right',
|
||||
});
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
var CenterPanel = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend({
|
||||
_logNamespace : 'layout',
|
||||
|
||||
initialize : function( options ){
|
||||
this.log( this + '.initialize:', options );
|
||||
/** previous view contained in the center panel - cached for removal later */
|
||||
this.prev = null;
|
||||
},
|
||||
|
||||
render : function(){
|
||||
this.log( this + '.render:' );
|
||||
this.$el.html( this.template() );
|
||||
// ?: doesn't work/listen in events map
|
||||
this.$( '#galaxy_main' ).on( 'load', _.bind( this._iframeChangeHandler, this ) );
|
||||
},
|
||||
|
||||
/** */
|
||||
_iframeChangeHandler : function( ev ){
|
||||
var iframe = ev.currentTarget;
|
||||
var location = iframe.contentWindow && iframe.contentWindow.location;
|
||||
if( location && location.host ){
|
||||
// show the iframe and hide MVCview div, remove any views in the MVCview div
|
||||
$( iframe ).show();
|
||||
if( this.prev ){
|
||||
this.prev.remove();
|
||||
}
|
||||
this.$( '#center-panel' ).hide();
|
||||
// TODO: move to Galaxy
|
||||
Galaxy.trigger( 'galaxy_main:load', {
|
||||
fullpath: location.pathname + location.search + location.hash,
|
||||
pathname: location.pathname,
|
||||
search : location.search,
|
||||
hash : location.hash
|
||||
});
|
||||
this.trigger( 'galaxy_main:load', location );
|
||||
}
|
||||
},
|
||||
|
||||
/** */
|
||||
display: function( view ){
|
||||
// we need to display an MVC view: hide the iframe and show the other center panel
|
||||
// remove any previous views
|
||||
if( this.prev ){
|
||||
this.prev.remove();
|
||||
}
|
||||
this.prev = view;
|
||||
this.$( '#galaxy_main' ).hide();
|
||||
this.$( '#center-panel' ).scrollTop( 0 ).append( view.$el ).show();
|
||||
this.trigger( 'center-panel:load', view );
|
||||
},
|
||||
|
||||
template: function(){
|
||||
return [
|
||||
//TODO: remove inline styling
|
||||
'<div style="position: absolute; width: 100%; height: 100%">',
|
||||
'<iframe name="galaxy_main" id="galaxy_main" frameborder="0" ',
|
||||
'style="position: absolute; width: 100%; height: 100%;"/>',
|
||||
'<div id="center-panel" ',
|
||||
'style="display: none; position: absolute; width: 100%; height: 100%; padding: 10px; overflow: auto;"/>',
|
||||
'</div>'
|
||||
].join('');
|
||||
},
|
||||
|
||||
toString : function(){ return 'CenterPanel'; }
|
||||
});
|
||||
|
||||
|
||||
// ============================================================================
|
||||
return Panel;
|
||||
return {
|
||||
LeftPanel : LeftPanel,
|
||||
RightPanel : RightPanel,
|
||||
CenterPanel : CenterPanel
|
||||
};
|
||||
});
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
"templates/compiled/panel_section",
|
||||
"templates/compiled/tool_search",
|
||||
], function(_, util, data, ToolsForm, tool_form, tool_link, panel_section, tool_search) {
|
||||
console.debug( tool_form, tool_link, panel_section, tool_search );
|
||||
|
||||
// TODO: certainly not the way to do this
|
||||
var _templates = {
|
||||
|
||||
@@ -9,17 +9,17 @@ window.$ = jQuery;
|
||||
window._ = _;
|
||||
window.Backbone = Backbone;
|
||||
window.Handlebars = Handlebars;
|
||||
console.debug('globals loaded:', window.jQuery, window.Backbone, '...');
|
||||
// console.debug('globals loaded:', window.jQuery, window.Backbone, '...');
|
||||
|
||||
// these are galaxy globals not defined in the provider (although they could be - but why encourage that?)
|
||||
window.Panel = require( 'panel' );
|
||||
window.panels = require( 'layout/panel' );
|
||||
_.extend( window, require( 'modal' ) );
|
||||
window.async_save_text = require( 'utils/async-save-text' );
|
||||
var POPUPMENU = require( 'ui/popupmenu' );
|
||||
window.make_popupmenu = POPUPMENU.make_popupmenu;
|
||||
window.make_popup_menus = POPUPMENU.make_popup_menus;
|
||||
window.init_tag_click_function = require( 'ui/autocom_tagging' );
|
||||
console.debug( 'galaxy globals loaded:', window.Panel);
|
||||
// console.debug( 'galaxy globals loaded' );
|
||||
|
||||
// ============================================================================
|
||||
// jquery on document ready
|
||||
@@ -129,7 +129,6 @@ $(document).ready( function() {
|
||||
|
||||
// Masthead dropdown menus
|
||||
var $dropdowns = $("#masthead ul.nav > li.dropdown > .dropdown-menu");
|
||||
console.debug( 'what?', $dropdowns );
|
||||
$("body").on( "click.nav_popups", function( e ) {
|
||||
$dropdowns.hide();
|
||||
$("#DD-helper").hide();
|
||||
|
||||
@@ -9,6 +9,7 @@ var webpack = require( 'webpack' ),
|
||||
// jquery et al
|
||||
'jquery',
|
||||
'libs/jquery/jquery.migrate',
|
||||
// jquery plugins
|
||||
'libs/jquery/select2',
|
||||
'libs/jquery/jquery.event.hover',
|
||||
'libs/jquery/jquery.form',
|
||||
@@ -21,9 +22,9 @@ var webpack = require( 'webpack' ),
|
||||
'libs/handlebars.runtime',
|
||||
// all pages get these
|
||||
'polyfills',
|
||||
'layout/panel',
|
||||
'modal',
|
||||
'ui/autocom_tagging',
|
||||
'layout/panel',
|
||||
'onload',
|
||||
];
|
||||
|
||||
|
||||
@@ -78,8 +78,7 @@ class RootController( controller.JSAppLauncher, UsesAnnotations ):
|
||||
config = js_options[ 'config' ]
|
||||
config.update( self._get_extended_config( trans ) )
|
||||
|
||||
return self.template( trans, 'analysis', options=js_options )
|
||||
# return self.template( trans, 'analysis', options=js_options, panels=[ 'left', 'center', 'right' ])
|
||||
return self.template( trans, 'analysis', options=js_options, panels=[ 'left', 'center', 'right' ])
|
||||
|
||||
# @web.expose
|
||||
# def index(self, trans, id=None, tool_id=None, mode=None, workflow_id=None, history_id=None, m_c=None, m_a=None, **kwd):
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"galaxy-app-base.js","sources":["../src/galaxy-app-base.js"],"names":["define","_","Backbone","BASE_MVC","userModel","metricsLogger","addLogging","localize","GalaxyApp","options","bootstrapped","console","debug","self","this","_init","DEBUGGING_KEY","NAMESPACE_KEY","localDebugging","localStorage","getItem","storageErr","log","prototype","extend","Events","logger","_processOptions","root","_initConfig","config","_patchGalaxy","window","Galaxy","_initLogger","loggerOptions","_initLocale","_initUser","user","_setUpListeners","trigger","defaultOptions","patchExisting","defaults","k","hasOwnProperty","patchWith","consoleLogger","consoleLevel","MetricsLogger","ALL","consoleNamespaceWhitelist","split","LoggableMixin","_l","userJSON","User","currUser","lastAjax","$","document","bind","ev","xhr","data","JSON","parse","err","url","location","href","slice","debugging","setting","undefined","setItem","removeItem","debuggingNamespaces","namespaces","csv","newSettings","toString","userEmail","get"],"mappings":"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"}
|
||||
{"version":3,"file":"galaxy-app-base.js","sources":["../src/galaxy-app-base.js"],"names":["define","_","Backbone","BASE_MVC","userModel","metricsLogger","addLogging","localize","GalaxyApp","options","bootstrapped","self","this","_init","DEBUGGING_KEY","NAMESPACE_KEY","localDebugging","localStorage","getItem","storageErr","console","log","prototype","extend","Events","logger","debug","_processOptions","root","_initConfig","config","_patchGalaxy","window","Galaxy","_initLogger","loggerOptions","_initLocale","_initUser","user","_setUpListeners","trigger","defaultOptions","patchExisting","defaults","k","hasOwnProperty","patchWith","consoleLogger","consoleLevel","MetricsLogger","ALL","consoleNamespaceWhitelist","split","LoggableMixin","_l","userJSON","User","currUser","lastAjax","$","document","bind","ev","xhr","data","JSON","parse","err","url","location","href","slice","debugging","setting","undefined","setItem","removeItem","debuggingNamespaces","namespaces","csv","newSettings","toString","userEmail","get"],"mappings":"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"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"page.js","sources":["../../src/layout/page.js"],"names":["define","MASTHEAD","PANEL","MODAL","BASE_MVC","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","$everything","$","render","$el","attr","html","template","modal","masthead","GalaxyMasthead","config","Galaxy","messageBox","inactivityWarning","renderPanels","content","level","addClass","toggle","verificationLink","root","append","page","remove","forEach","panelId","has","panelView","setElement","left","center","right","join","hideSidePanels","hide","toString"],"mappings":"AAAAA,QACI,kBACA,eACA,kBACA,gBACD,SAAUC,EAAUC,EAAOC,EAAOC,GAGrC,GAAIC,GAAiBC,SAASC,KAAKC,OAAQJ,EAASK,eAAgBD,QAChEE,cAAgB,SAEhBC,GAAK,OACLC,UAAY,eAEZC,WACI,OAAQ,SAAU,SAGtBC,gBACIC,qBAAsB,EACtBC,oBAAsB,GACtBC,kBAAsB,OAEtBC,yBAA0B,EAC1BC,uBAA0B,IAG9BC,WAAa,SAAUC,GACnBC,KAAKC,IAAKD,KAAO,eAAgBD,GACjCG,EAAEhB,OAAQc,KAAME,EAAEC,KAAMJ,EAASC,KAAKT,YACtCS,KAAKD,QAAUG,EAAEE,SAAUF,EAAEG,KAAMN,EAASC,KAAKT,WAAaS,KAAKR,iBAIvEc,YAAc,WACV,MAAON,MAAKO,EAAG,gBAGnBC,OAAS,WAqBL,MApBAR,MAAKC,IAAKD,KAAO,YACjBA,KAAKS,IAAIC,KAAM,SAAU,MACzBV,KAAKS,IAAIE,KAAMX,KAAKY,SAAUZ,KAAKD,UAEnCC,KAAKa,MAAQ,GAAIhC,GAAMI,KAEvBe,KAAKc,SAAW,GAAInC,GAASoC,eAAgBf,KAAKD,QAAQiB,QAG1DC,OAAOJ,MAAQb,KAAKa,MACpBI,OAAOH,SAAWd,KAAKc,SAEnBd,KAAKD,QAAQN,qBACbO,KAAKkB,WAAYlB,KAAKD,QAAQL,oBAAqBM,KAAKD,QAAQJ,mBAEhEK,KAAKD,QAAQH,yBACbI,KAAKmB,kBAAmBnB,KAAKD,QAAQF,wBAGzCG,KAAKoB,eACEpB,MAIXkB,WAAa,SAAUG,EAASC,GAQ5B,MAPAD,GAAUA,GAAW,GACrBC,EAAQA,GAAS,OACjBtB,KAAKS,IAAIc,SAAU,mBACnBvB,KAAKO,EAAG,eACHG,KAAM,QAAS,SAAWY,EAAQ,YAClCX,KAAMU,GACNG,SAAUH,GACRrB,MAIXmB,kBAAoB,SAAUE,GAC1B,GAAII,GAAmB,YAAcR,OAAOS,KAAO,oDAMnD,OALA1B,MAAKS,IAAIc,SAAU,sBACnBvB,KAAKO,EAAG,gBACHI,KAAMU,GACNM,OAAQ,IAAMF,GACdD,SAAUH,GACRrB,MAIXoB,aAAe,WACX,GAAIQ,GAAO5B,IAUX,OARAO,GAAG,8BAA+BsB,SAClC7B,KAAKT,UAAUuC,QAAS,SAAUC,GAC9B,GAAI7B,EAAE8B,IAAKJ,EAAMG,GAAW,CACxB,GAAIE,GAAYL,EAAMG,EACtBE,GAAUC,WAAY,IAAMH,GAC5BE,EAAUzB,YAGXR,MAKXY,SAAU,WAEN,OACI,gGACI,yBACA,qDACA,oFAGAZ,KAAKmC,KAAQ,mBAAqB,GAClCnC,KAAKoC,OAAQ,qCAAuC,GACpDpC,KAAKqC,MAAQ,oBAAsB,GACvC,SAEA,oDAEA,aACI,4DACI,QACI,wDACA,QACI,gFACA,iDACJ,SACJ,SACJ,SACJ,eACFC,KAAK,KAGXC,eAAiB,WACTvC,KAAKmC,MACLnC,KAAKmC,KAAKK,OAEVxC,KAAKqC,OACLrC,KAAKqC,MAAMG,QAInBC,SAAW,WAAY,MAAO,mBAI9B,QACI1D,eAAgBA"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"panel.js","sources":["../../src/layout/panel.js"],"names":["define","jQuery","$","MIN_PANEL_WIDTH","MAX_PANEL_WIDTH","Panel","options","this","$panel","panel","$center","center","$drag","drag","$toggle","toggle","left","right","hidden","hidden_by_tool","saved_size","init","extend","prototype","resize","x","css","document","recalc","do_toggle","self","removeClass","show","animate","width","addClass","handle_minwidth_hint","space","force_panel","op","move","e","delta","pageX","prevX","oldWidth","newWidth","Math","min","max","remove","appendTo","on","one","hide","off","window","force_left_panel"],"mappings":"AAAAA,QACI,UACD,SAAUC,GAEb,YAEA,IAAIC,GAAID,EAGJE,EAAkB,IAClBC,EAAkB,IAGlBC,EAAQ,SAAUC,GAClBC,KAAKC,OAASF,EAAQG,MACtBF,KAAKG,QAAUJ,EAAQK,OACvBJ,KAAKK,MAAQN,EAAQO,KACrBN,KAAKO,QAAUR,EAAQS,OACvBR,KAAKS,MAAQV,EAAQW,MACrBV,KAAKW,QAAS,EACdX,KAAKY,gBAAiB,EACtBZ,KAAKa,WAAa,KAClBb,KAAKc,OAiHL,OA9GJnB,GAAEoB,OAAQjB,EAAMkB,WAGZC,OAAQ,SAAUC,GACdlB,KAAKC,OAAOkB,IAAK,QAASD,GACrBlB,KAAKS,KACNT,KAAKG,QAAQgB,IAAK,OAAQD,GAE1BlB,KAAKG,QAAQgB,IAAK,QAASD,GAG1BE,SAASC,QAAWD,SAASC,UAItCC,UAAW,WACP,GAAIC,GAAOvB,IACNA,MAAKW,QACNX,KAAKO,QAAQiB,YAAa,UACrBxB,KAAKS,KACNT,KAAKC,OAAOkB,IAAK,QAAUnB,KAAKa,YAAaY,OAAOC,SAAWjB,KAAQ,GAAK,OAAQ,WAChFc,EAAKN,OAAQM,EAAKV,cAGtBb,KAAKC,OAAOkB,IAAK,SAAWnB,KAAKa,YAAaY,OAAOC,SAAWhB,MAAS,GAAK,OAAQ,WAClFa,EAAKN,OAAQM,EAAKV,cAG1BU,EAAKZ,QAAS,IAEdY,EAAKV,WAAab,KAAKC,OAAO0B,QACzBP,SAASC,QAAWD,SAASC,SAE7BrB,KAAKS,KACNT,KAAKC,OAAOyB,SAAWjB,MAAQT,KAAKa,YAAc,QAElDb,KAAKC,OAAOyB,SAAWhB,OAASV,KAAKa,YAAc,QAGlDb,KAAKS,KACNT,KAAKG,QAAQgB,IAAK,OAAQ,GAE1BnB,KAAKG,QAAQgB,IAAK,QAAS,GAG/BI,EAAKZ,QAAS,EACdY,EAAKhB,QAAQqB,SAAU,WAE3B5B,KAAKY,gBAAiB,GAI1BiB,qBAAsB,SAAUX,GAC5B,GAAIY,GAAQ9B,KAAKG,QAAQwB,SAAY3B,KAAKW,OAASX,KAAKa,WAAa,EACxDK,GAARY,EAEM9B,KAAKW,SACRX,KAAKsB,YACLtB,KAAKY,gBAAiB,GAGrBZ,KAAKY,iBACNZ,KAAKsB,YACLtB,KAAKY,gBAAiB,IAMlCmB,YAAa,SAAUC,IACZhC,KAAKW,QAAgB,QAANqB,IAAsBhC,KAAKW,QAAgB,QAANqB,IACvDhC,KAAKsB,aAKbR,KAAM,WASF,QAASmB,GAAMC,GACX,GAAIC,GAAQD,EAAEE,MAAQC,CACtBA,GAAQH,EAAEE,KAEV,IAAIE,GAAWf,EAAKtB,OAAO0B,QACvBY,EAAahB,EAAU,KAAIe,EAAWH,EAAUG,EAAWH,CAE/DI,GAAWC,KAAKC,IAAK5C,EAAiB2C,KAAKE,IAAK9C,EAAiB2C,IACjEhB,EAAKN,OAAQsB,GAhBjB,GACIF,GADAd,EAAOvB,IAGXuB,GAAKhB,QAAQoC,SAASC,SAAU,QAEhCrB,EAAKhB,QAAQsC,GAAI,QAAS,WAAatB,EAAKD,cAa5CtB,KAAKK,MAAMwC,GAAI,YAAa,SAAUX,GAClCG,EAAQH,EAAEE,MACVzC,EAAG,cAAe8B,OACboB,GAAI,YAAaZ,GACjBa,IAAK,UAAW,WACbnD,EAAGK,MAAO+C,OAAOC,IAAK,YAAaf,OAI/CgB,OAAOC,iBAAmB,SAAUhC,GAAMK,EAAKQ,YAAab,IAC5D+B,OAAOpB,qBAAuB,SAAUX,GAAMK,EAAKM,qBAAsBX,OAKtEpB"}
|
||||
{"version":3,"file":"panel.js","sources":["../../src/layout/panel.js"],"names":["define","jQuery","_","Backbone","BASE_MVC","$","MIN_PANEL_WIDTH","MAX_PANEL_WIDTH","SidePanel","View","extend","LoggableMixin","_logNamespace","initialize","attributes","this","log","title","hidden","savedSize","hiddenByTool","$center","$el","siblings","$toggleButton","render","html","template","id","_templateHeader","_templateBody","_templateFooter","join","escape","events","mousedown .unified-panel-footer > .drag","click .unified-panel-footer > .panel-collapse","_mousedownDragHandler","ev","move","e","delta","pageX","prevX","oldWidth","self","width","newWidth","draggingLeft","Math","min","max","resize","show","on","one","hide","off","newSize","css","animation","whichSide","animate","removeClass","console","debug","addClass","toggle","handle_minwidth_hint","hint","space","force_panel","op","toString","LeftPanel","RightPanel","CenterPanel","options","prev","bind","_iframeChangeHandler","iframe","currentTarget","location","contentWindow","host","remove","Galaxy","trigger","fullpath","pathname","search","hash","display","view","scrollTop","append"],"mappings":"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"}
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
{"version":3,"file":"onload.js","sources":["../src/onload.js"],"names":["replace_big_select_inputs","min_length","max_length","select_elts","refresh_select2","element","select_elt","$","options","placeholder","closeOnSelect","is","dropdownAutoWidth","containerCssClass","select2","jQuery","fn","undefined","each","this","not","num_options","find","length","hasClass","init_refresh_on_change","off","change","select_field","select_val","val","ref_on_change_vals","attr","split","last_selected_value","inArray","window","trigger","document","get","form","submit","click","confirm","_","Backbone","Handlebars","console","debug","Panel","require","extend","async_save_text","POPUPMENU","make_popupmenu","make_popup_menus","init_tag_click_function","ready","$dropdowns","on","e","hide","target","closest","$clicked","show","children","preventDefault","tooltip","placement","anchor","galaxy_main_exists","parent","frames","galaxy_main","href","indexOf"],"mappings":"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"}
|
||||
{"version":3,"file":"onload.js","sources":["../src/onload.js"],"names":["replace_big_select_inputs","min_length","max_length","select_elts","refresh_select2","element","select_elt","$","options","placeholder","closeOnSelect","is","dropdownAutoWidth","containerCssClass","select2","jQuery","fn","undefined","each","this","not","num_options","find","length","hasClass","init_refresh_on_change","off","change","select_field","select_val","val","ref_on_change_vals","attr","split","last_selected_value","inArray","window","trigger","document","get","form","submit","click","confirm","_","Backbone","Handlebars","panels","require","extend","async_save_text","POPUPMENU","make_popupmenu","make_popup_menus","init_tag_click_function","ready","$dropdowns","on","e","hide","target","closest","$clicked","show","children","preventDefault","tooltip","placement","anchor","galaxy_main_exists","parent","frames","galaxy_main","href","indexOf"],"mappings":"AA2BA,QAASA,2BAA0BC,EAAYC,EAAYC,GAEvD,QAASC,GAAiBC,GACtB,GAAIC,GAAaC,EAAEF,GACfG,GAAYC,YAAY,kBACZC,eAAgBJ,EAAWK,GAAG,cAC9BC,mBAAsB,EACtBC,kBAAmB,mBAEnC,OAAOR,GAAQS,QAASN,GAIvBO,OAAOC,GAAGF,UAKIG,SAAfhB,IACAA,EAAa,IAEEgB,SAAff,IACAA,EAAa,KAGjBC,EAAcA,GAAeI,EAAE,UAE/BJ,EAAYe,KAAM,WACd,GAAIZ,GAAaC,EAAEY,MAAMC,IAAI,cAEzBC,EAAcf,EAAWgB,KAAK,UAAUC,MACxBtB,GAAdoB,GAA8BA,EAAcnB,GAI9CI,EAAWkB,SAAS,oBAWxBpB,EAAiBE,MAKzB,QAASmB,0BACLlB,EAAE,oCACGmB,IAAI,UACJC,OAAO,WACJ,GAAIC,GAAerB,EAAEY,MACjBU,EAAaD,EAAaE,MAE1BC,EAAqBH,EAAaI,KAAK,2BAC3C,IAAID,EAAoB,CACpBA,EAAqBA,EAAmBE,MAAM,IAC9C,IAAIC,GAAsBN,EAAaI,KAAK,sBAC5C,IAAkD,KAA9CzB,EAAE4B,QAAQN,EAAYE,IAAqF,KAAvDxB,EAAE4B,QAAQD,EAAqBH,GACnF,OAGRxB,EAAE6B,QAAQC,QAAQ,qBAClB9B,EAAE+B,UAAUD,QAAQ,qBACpBT,EAAaW,IAAI,GAAGC,KAAKC,WAIjClC,EAAE,uCACGmB,IAAI,SACJgB,MAAO,WACJ,GAAId,GAAerB,EAAEY,MACjBU,EAAaD,EAAaE,MAE1BC,EAAqBH,EAAaI,KAAK,2BAC3C,IAAID,EAAoB,CACpBA,EAAqBA,EAAmBE,MAAM,IAC9C,IAAIC,GAAsBN,EAAaI,KAAK,sBAC5C,IAAkD,KAA9CzB,EAAE4B,QAAQN,EAAYE,IAAqF,KAAvDxB,EAAE4B,QAAQD,EAAqBH,GACnF,OAGRxB,EAAE6B,QAAQC,QAAQ,qBAClBT,EAAaW,IAAI,GAAGC,KAAKC,WAIjClC,EAAG,cACEmB,IAAI,SACJgB,MAAO,WACJ,MAAOC,SAASpC,EAAEY,MAAMa,KAAK,cAnHzCI,OAAiB,OAAIrB,OACrBqB,OAAO7B,EAAIQ,OACXqB,OAAOQ,EAAIA,EACXR,OAAOS,SAAWA,SAClBT,OAAOU,WAAaA,WAIpBV,OAAOW,OAASC,QAAS,gBACzBJ,EAAEK,OAAQb,OAAQY,QAAS,UAC3BZ,OAAOc,gBAAkBF,QAAS,wBAClC,IAAIG,WAAYH,QAAS,eACzBZ,QAAOgB,eAAiBD,UAAUC,eAClChB,OAAOiB,iBAAmBF,UAAUE,iBACpCjB,OAAOkB,wBAA0BN,QAAS,sBAyG1CZ,OAAOX,uBAAyBA,uBAEhClB,EAAE+B,UAAUiB,MAAO,WAGf,GAAIC,GAAajD,EAAE,kDACnBA,GAAE,QAAQkD,GAAI,mBAAoB,SAAUC,GAIxC,GAHAF,EAAWG,OACXpD,EAAE,cAAcoD,QAEXpD,EAAEmD,EAAEE,QAAQC,QAAS,mDAAoDtC,OAA9E,CAIA,GAAIuC,GAAWvD,EAAEmD,EAAEE,QAAQC,QAAS,iCAC/BC,GAASvC,SACVhB,EAAE,cAAcwD,OAChBD,EAASE,SAAU,kBAAmBD,OACtCL,EAAEO,qBAKVxC,yBAGKlB,EAAES,GAAGkD,UAEN3D,EAAE,iCAAiC2D,SAAWC,UAAW,WAIzD5D,EAAE,WAAW2D,WAGjBb,mBAGArD,0BAA0B,GAAI,MAI9BO,EAAE,KAAKmC,MAAO,WACV,GAAI0B,GAAS7D,EAAEY,MACXkD,EAAsBC,OAAOC,QAAUD,OAAOC,OAAOC,WACzD,IAAkC,eAA3BJ,EAAOpC,KAAM,YAAoCqC,EAAuB,CAC3E,GAAII,GAAOL,EAAOpC,KAAK,OAEnByC,IADqB,IAArBA,EAAKC,QAAQ,KACL,IAGA,IAEZD,GAAQ,kBACRL,EAAOpC,KAAK,OAAQyC,GACpBL,EAAOpC,KAAK,SAAU,SAE1B,MAAOoC"}
|
||||
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
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
define(["libs/underscore","libs/backbone","mvc/base-mvc","mvc/user/user-model","utils/metrics-logger","utils/add-logging","utils/localization"],function(a,b,c,d,e,f,g){function h(a,b){console.debug("GalaxyApp:",a,b);var c=this;return c._init(a||{},b||{})}f(h,"GalaxyApp");var i="galaxy:debug",j=i+":namespaces",k=!1;try{k="true"==localStorage.getItem(i)}catch(l){console.log(g("localStorage not available for debug flag retrieval"))}return h.prototype._init=function(c,d){var e=this;return a.extend(e,b.Events),k&&(e.logger=console),e._processOptions(c),e.debug("GalaxyApp.options: ",e.options),e.root=c.root||"/",e._initConfig(c.config||d.config||{}),e.debug("GalaxyApp.config: ",e.config),e._patchGalaxy(window.Galaxy),e._initLogger(e.options.loggerOptions||{}),e.debug("GalaxyApp.logger: ",e.logger),e._initLocale(),e.debug("GalaxyApp.localize: ",e.localize),e.config=c.config||{},e.debug("GalaxyApp.config: ",e.config),e._initUser(c.user||{}),e.debug("GalaxyApp.user: ",e.user),e._setUpListeners(),e.trigger("ready",e),e},h.prototype.defaultOptions={patchExisting:!0,root:"/"},h.prototype._processOptions=function(a){var b=this,c=b.defaultOptions;b.debug("_processOptions: ",a),b.options={};for(var d in c)c.hasOwnProperty(d)&&(b.options[d]=a.hasOwnProperty(d)?a[d]:c[d]);return b},h.prototype._initConfig=function(a){var b=this;return b.debug("_initConfig: ",a),b.config=a,b.config.debug=k||b.config.debug,b},h.prototype._patchGalaxy=function(a){var b=this;if(b.options.patchExisting&&a){b.debug("found existing Galaxy object:",a);for(var c in a)a.hasOwnProperty(c)&&(b.debug(" patching in "+c+" to Galaxy"),b[c]=a[c])}},h.prototype._initLogger=function(a){var b=this;if(b.config.debug){a.consoleLogger=a.consoleLogger||console,a.consoleLevel=a.consoleLevel||e.MetricsLogger.ALL;try{a.consoleNamespaceWhitelist=localStorage.getItem(j).split(",")}catch(d){}}return b.debug("_initLogger:",a),b.logger=new e.MetricsLogger(a),b.config.debug&&(c.LoggableMixin.logger=b.logger),b},h.prototype._initLocale=function(a){var b=this;return b.debug("_initLocale:",a),b.localize=g,window._l=b.localize,b},h.prototype._initUser=function(a){var b=this;return b.debug("_initUser:",a),b.user=new d.User(a),b.user.logger=b.logger,b.currUser=b.user,b},h.prototype._setUpListeners=function(){var a=this;return a.lastAjax={},$(document).bind("ajaxSend",function(b,c,d){var e=d.data;try{e=JSON.parse(e)}catch(f){}a.lastAjax={url:location.href.slice(0,-1)+d.url,data:e}}),a},h.prototype.debugging=function(a){var b=this;try{if(void 0===a)return"true"===localStorage.getItem(i);if(a)return localStorage.setItem(i,!0),!0;localStorage.removeItem(i),b.debuggingNamespaces(null)}catch(c){console.log(g("localStorage not available for debug flag retrieval"))}return!1},h.prototype.debuggingNamespaces=function(a){var b=this;try{if(void 0===a){var c=localStorage.getItem(j);return"string"==typeof c?c.split(","):[]}null===a?localStorage.removeItem(j):localStorage.setItem(j,a);var d=b.debuggingNamespaces();return b.logger&&(b.logger.options.consoleNamespaceWhitelist=d),d}catch(e){console.log(g("localStorage not available for debug namespace retrieval"))}},h.prototype.toString=function(){var a=this.user?this.user.get("email")||"(anonymous)":"uninitialized";return"GalaxyApp("+a+")"},{GalaxyApp:h}});
|
||||
define(["libs/underscore","libs/backbone","mvc/base-mvc","mvc/user/user-model","utils/metrics-logger","utils/add-logging","utils/localization"],function(a,b,c,d,e,f,g){function h(a,b){var c=this;return c._init(a||{},b||{})}f(h,"GalaxyApp");var i="galaxy:debug",j=i+":namespaces",k=!1;try{k="true"==localStorage.getItem(i)}catch(l){console.log(g("localStorage not available for debug flag retrieval"))}return h.prototype._init=function(c,d){var e=this;return a.extend(e,b.Events),k&&(e.logger=console,console.debug("debugging galaxy:","options:",c,"bootstrapped:",d)),e._processOptions(c),e.root=c.root||"/",e._initConfig(c.config||d.config||{}),e._patchGalaxy(window.Galaxy),e._initLogger(e.options.loggerOptions||{}),e.debug("GalaxyApp.options: ",e.options),e.debug("GalaxyApp.config: ",e.config),e.debug("GalaxyApp.logger: ",e.logger),e._initLocale(),e.debug("GalaxyApp.localize: ",e.localize),e.config=c.config||{},e.debug("GalaxyApp.config: ",e.config),e._initUser(c.user||{}),e.debug("GalaxyApp.user: ",e.user),e._setUpListeners(),e.trigger("ready",e),e},h.prototype.defaultOptions={patchExisting:!0,root:"/"},h.prototype._processOptions=function(a){var b=this,c=b.defaultOptions;b.options={};for(var d in c)c.hasOwnProperty(d)&&(b.options[d]=a.hasOwnProperty(d)?a[d]:c[d]);return b},h.prototype._initConfig=function(a){var b=this;return b.config=a,b.config.debug=k||b.config.debug,b},h.prototype._patchGalaxy=function(a){var b=this;if(b.options.patchExisting&&a)for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])},h.prototype._initLogger=function(a){var b=this;if(b.config.debug){a.consoleLogger=a.consoleLogger||console,a.consoleLevel=a.consoleLevel||e.MetricsLogger.ALL;try{a.consoleNamespaceWhitelist=localStorage.getItem(j).split(",")}catch(d){}}return b.logger=new e.MetricsLogger(a),b.config.debug&&(c.LoggableMixin.logger=b.logger),b},h.prototype._initLocale=function(a){var b=this;return b.debug("_initLocale:",a),b.localize=g,window._l=b.localize,b},h.prototype._initUser=function(a){var b=this;return b.debug("_initUser:",a),b.user=new d.User(a),b.user.logger=b.logger,b.currUser=b.user,b},h.prototype._setUpListeners=function(){var a=this;return a.lastAjax={},$(document).bind("ajaxSend",function(b,c,d){var e=d.data;try{e=JSON.parse(e)}catch(f){}a.lastAjax={url:location.href.slice(0,-1)+d.url,data:e}}),a},h.prototype.debugging=function(a){var b=this;try{if(void 0===a)return"true"===localStorage.getItem(i);if(a)return localStorage.setItem(i,!0),!0;localStorage.removeItem(i),b.debuggingNamespaces(null)}catch(c){console.log(g("localStorage not available for debug flag retrieval"))}return!1},h.prototype.debuggingNamespaces=function(a){var b=this;try{if(void 0===a){var c=localStorage.getItem(j);return"string"==typeof c?c.split(","):[]}null===a?localStorage.removeItem(j):localStorage.setItem(j,a);var d=b.debuggingNamespaces();return b.logger&&(b.logger.options.consoleNamespaceWhitelist=d),d}catch(e){console.log(g("localStorage not available for debug namespace retrieval"))}},h.prototype.toString=function(){var a=this.user?this.user.get("email")||"(anonymous)":"uninitialized";return"GalaxyApp("+a+")"},{GalaxyApp:h}});
|
||||
//# sourceMappingURL=../maps/galaxy-app-base.js.map
|
||||
@@ -0,0 +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(a){this.log(this+".initialize:",a),_.extend(this,_.pick(a,this._panelIds)),this.options=_.defaults(_.omit(a,this._panelIds),this.defaultOptions)},$everything:function(){return this.$("#everything")},render:function(){return this.log(this+".render:"),this.$el.attr("scroll","no"),this.$el.html(this.template(this.options)),this.modal=new c.View,this.masthead=new a.GalaxyMasthead(this.options.config),Galaxy.modal=this.modal,Galaxy.masthead=this.masthead,this.options.message_box_visible&&this.messageBox(this.options.message_box_content,this.options.message_box_class),this.options.show_inactivity_warning&&this.inactivityWarning(this.options.inactivity_box_content),this.renderPanels(),this},messageBox:function(a,b){return a=a||"",b=b||"info",this.$el.addClass("has-message-box"),this.$("#messagebox").attr("class","panel-"+b+"-message").html(a).toggle(!!a),this},inactivityWarning:function(a){var b='<a href="'+Galaxy.root+'user/resend_verification">Resend verification.</a>';return this.$el.addClass("has-inactivity-box"),this.$("#inactivebox").html(a).append(" "+b).toggle(!!a),this},renderPanels:function(){var a=this;return $(".select2-hidden-accessible").remove(),this._panelIds.forEach(function(b){if(_.has(a,b)){var c=a[b];c.setElement("#"+b),c.render()}}),this},template:function(){return['<div id="everything" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;">','<div id="background"/>','<div id="messagebox" style="display: none;"></div>','<div id="inactivebox" class="panel-warning-message" style="display: none;"></div>',this.left?'<div id="left"/>':"",this.center?'<div id="center" class="inbound"/>':"",this.right?'<div id="right"/>':"","</div>",'<div id="DD-helper" style="display: none;"></div>',"<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("")},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
|
||||
@@ -1,2 +1,2 @@
|
||||
define(["jquery"],function(a){"use strict";var b=a,c=160,d=800,e=function(a){this.$panel=a.panel,this.$center=a.center,this.$drag=a.drag,this.$toggle=a.toggle,this.left=!a.right,this.hidden=!1,this.hidden_by_tool=!1,this.saved_size=null,this.init()};return b.extend(e.prototype,{resize:function(a){this.$panel.css("width",a),this.left?this.$center.css("left",a):this.$center.css("right",a),document.recalc&&document.recalc()},do_toggle:function(){var a=this;this.hidden?(this.$toggle.removeClass("hidden"),this.left?this.$panel.css("left",-this.saved_size).show().animate({left:0},"fast",function(){a.resize(a.saved_size)}):this.$panel.css("right",-this.saved_size).show().animate({right:0},"fast",function(){a.resize(a.saved_size)}),a.hidden=!1):(a.saved_size=this.$panel.width(),document.recalc&&document.recalc(),this.left?this.$panel.animate({left:-this.saved_size},"fast"):this.$panel.animate({right:-this.saved_size},"fast"),this.left?this.$center.css("left",0):this.$center.css("right",0),a.hidden=!0,a.$toggle.addClass("hidden")),this.hidden_by_tool=!1},handle_minwidth_hint:function(a){var b=this.$center.width()-(this.hidden?this.saved_size:0);a>b?this.hidden||(this.do_toggle(),this.hidden_by_tool=!0):this.hidden_by_tool&&(this.do_toggle(),this.hidden_by_tool=!1)},force_panel:function(a){(this.hidden&&"show"==a||!this.hidden&&"hide"==a)&&this.do_toggle()},init:function(){function a(a){var b=a.pageX-e;e=a.pageX;var g=f.$panel.width(),h=f.left?g+b:g-b;h=Math.min(d,Math.max(c,h)),f.resize(h)}var e,f=this;f.$toggle.remove().appendTo("body"),f.$toggle.on("click",function(){f.do_toggle()}),this.$drag.on("mousedown",function(c){e=c.pageX,b("#DD-helper").show().on("mousemove",a).one("mouseup",function(){b(this).hide().off("mousemove",a)})}),window.force_left_panel=function(a){f.force_panel(a)},window.handle_minwidth_hint=function(a){f.handle_minwidth_hint(a)}}}),e});
|
||||
define(["jquery","libs/underscore","libs/backbone","mvc/base-mvc"],function(a,b,c,d){"use strict";var e=a,f=160,g=800,h=c.View.extend(d.LoggableMixin).extend({_logNamespace:"layout",initialize:function(a){this.log(this+".initialize:",a),this.title=a.title||this.title||"",this.hidden=!1,this.savedSize=null,this.hiddenByTool=!1},$center:function(){return this.$el.siblings("#center")},$toggleButton:function(){return this.$(".unified-panel-footer > .panel-collapse")},render:function(){this.log(this+".render:"),this.$el.html(this.template(this.id))},template:function(){return[this._templateHeader(),this._templateBody(),this._templateFooter()].join("")},_templateHeader:function(){return['<div class="unified-panel-header" unselectable="on">','<div class="unified-panel-header-inner">','<div class="panel-header-buttons" style="float: right"/>','<div class="panel-header-text">',b.escape(this.title),"</div>","</div>","</div>"].join("")},_templateBody:function(){return'<div class="unified-panel-body"/>'},_templateFooter:function(){return['<div class="unified-panel-footer">','<div class="panel-collapse ',b.escape(this.id),'"/>','<div class="drag"/>',"</div>"].join("")},events:{"mousedown .unified-panel-footer > .drag":"_mousedownDragHandler","click .unified-panel-footer > .panel-collapse":"toggle"},_mousedownDragHandler:function(a){function b(a){var b=a.pageX-h;h=a.pageX;var e=c.$el.width(),i=d?e+b:e-b;i=Math.min(g,Math.max(f,i)),c.resize(i)}var c=this,d="left"===this.id,h=a.pageX;e("#DD-helper").show().on("mousemove",b).one("mouseup",function(){e(this).hide().off("mousemove",b)})},resize:function(a){return this.$el.css("width",a),this.$center().css(this.id,a),self},show:function(){if(this.hidden){var a=this,b={},c=this.id;return b[c]=0,a.$el.css(c,-this.savedSize).show().animate(b,"fast",function(){a.resize(a.savedSize)}),a.hidden=!1,a.$toggleButton().removeClass("hidden"),a}},hide:function(){if(console.debug("hide:",this,this.hidden),!this.hidden){var a=this,b={},c=this.id;return a.savedSize=this.$el.width(),b[c]=-this.savedSize,this.$el.animate(b,"fast"),this.$center().css(c,0),a.hidden=!0,a.$toggleButton().addClass("hidden"),a}},toggle:function(){var a=this;return a.hidden?a.show():a.hide(),a.hiddenByTool=!1,a},handle_minwidth_hint:function(a){console.debug("handle_minwidth_hint:",a);var b=this.$center().width()-(this.hidden?this.savedSize:0);return a>b?this.hidden||(this.toggle(),this.hiddenByTool=!0):this.hiddenByTool&&(this.toggle(),this.hiddenByTool=!1),self},force_panel:function(a){return console.debug("force_panel:",a),"show"==a?this.show():"hide"==a?this.hide():self},toString:function(){return"SidePanel("+this.id+")"}}),i=h.extend({id:"left"}),j=h.extend({id:"right"}),k=c.View.extend(d.LoggableMixin).extend({_logNamespace:"layout",initialize:function(a){this.log(this+".initialize:",a),this.prev=null},render:function(){this.log(this+".render:"),this.$el.html(this.template()),this.$("#galaxy_main").on("load",b.bind(this._iframeChangeHandler,this))},_iframeChangeHandler:function(a){var b=a.currentTarget,c=b.contentWindow&&b.contentWindow.location;c&&c.host&&(e(b).show(),this.prev&&this.prev.remove(),this.$("#center-panel").hide(),Galaxy.trigger("galaxy_main:load",{fullpath:c.pathname+c.search+c.hash,pathname:c.pathname,search:c.search,hash:c.hash}),this.trigger("galaxy_main:load",c))},display:function(a){this.prev&&this.prev.remove(),this.prev=a,this.$("#galaxy_main").hide(),this.$("#center-panel").scrollTop(0).append(a.$el).show(),this.trigger("center-panel:load",a)},template:function(){return['<div style="position: absolute; width: 100%; height: 100%">','<iframe name="galaxy_main" id="galaxy_main" frameborder="0" ','style="position: absolute; width: 100%; height: 100%;"/>','<div id="center-panel" ','style="display: none; position: absolute; width: 100%; height: 100%; padding: 10px; overflow: auto;"/>',"</div>"].join("")},toString:function(){return"CenterPanel"}});return{LeftPanel:i,RightPanel:j,CenterPanel:k}});
|
||||
//# sourceMappingURL=../../maps/layout/panel.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
function replace_big_select_inputs(a,b,c){function d(a){var b=$(a),c={placeholder:"Click to select",closeOnSelect:!b.is("[MULTIPLE]"),dropdownAutoWidth:!0,containerCssClass:"select2-minwidth"};return a.select2(c)}jQuery.fn.select2&&(void 0===a&&(a=20),void 0===b&&(b=3e3),c=c||$("select"),c.each(function(){var c=$(this).not("[multiple]"),e=c.find("option").length;a>e||e>b||c.hasClass("no-autocomplete")||d(c)}))}function init_refresh_on_change(){$("select[refresh_on_change='true']").off("change").change(function(){var a=$(this),b=a.val(),c=a.attr("refresh_on_change_values");if(c){c=c.split(",");var d=a.attr("last_selected_value");if(-1===$.inArray(b,c)&&-1===$.inArray(d,c))return}$(window).trigger("refresh_on_change"),$(document).trigger("convert_to_values"),a.get(0).form.submit()}),$(":checkbox[refresh_on_change='true']").off("click").click(function(){var a=$(this),b=a.val(),c=a.attr("refresh_on_change_values");if(c){c=c.split(",");var d=a.attr("last_selected_value");if(-1===$.inArray(b,c)&&-1===$.inArray(d,c))return}$(window).trigger("refresh_on_change"),a.get(0).form.submit()}),$("a[confirm]").off("click").click(function(){return confirm($(this).attr("confirm"))})}window.jQuery=jQuery,window.$=jQuery,window._=_,window.Backbone=Backbone,window.Handlebars=Handlebars,console.debug("globals loaded:",window.jQuery,window.Backbone,"..."),window.Panel=require("panel"),_.extend(window,require("modal")),window.async_save_text=require("utils/async-save-text");var POPUPMENU=require("ui/popupmenu");window.make_popupmenu=POPUPMENU.make_popupmenu,window.make_popup_menus=POPUPMENU.make_popup_menus,window.init_tag_click_function=require("ui/autocom_tagging"),console.debug("galaxy globals loaded:",window.Panel),window.init_refresh_on_change=init_refresh_on_change,$(document).ready(function(){var a=$("#masthead ul.nav > li.dropdown > .dropdown-menu");console.debug("what?",a),$("body").on("click.nav_popups",function(b){if(a.hide(),$("#DD-helper").hide(),!$(b.target).closest("#masthead ul.nav > li.dropdown > .dropdown-menu").length){var c=$(b.target).closest("#masthead ul.nav > li.dropdown");c.length&&($("#DD-helper").show(),c.children(".dropdown-menu").show(),b.preventDefault())}}),init_refresh_on_change(),$.fn.tooltip&&($(".unified-panel-header [title]").tooltip({placement:"bottom"}),$("[title]").tooltip()),make_popup_menus(),replace_big_select_inputs(20,1500),$("a").click(function(){var a=$(this),b=parent.frames&&parent.frames.galaxy_main;if("galaxy_main"==a.attr("target")&&!b){var c=a.attr("href");c+=-1==c.indexOf("?")?"?":"&",c+="use_panels=True",a.attr("href",c),a.attr("target","_self")}return a})});
|
||||
function replace_big_select_inputs(a,b,c){function d(a){var b=$(a),c={placeholder:"Click to select",closeOnSelect:!b.is("[MULTIPLE]"),dropdownAutoWidth:!0,containerCssClass:"select2-minwidth"};return a.select2(c)}jQuery.fn.select2&&(void 0===a&&(a=20),void 0===b&&(b=3e3),c=c||$("select"),c.each(function(){var c=$(this).not("[multiple]"),e=c.find("option").length;a>e||e>b||c.hasClass("no-autocomplete")||d(c)}))}function init_refresh_on_change(){$("select[refresh_on_change='true']").off("change").change(function(){var a=$(this),b=a.val(),c=a.attr("refresh_on_change_values");if(c){c=c.split(",");var d=a.attr("last_selected_value");if(-1===$.inArray(b,c)&&-1===$.inArray(d,c))return}$(window).trigger("refresh_on_change"),$(document).trigger("convert_to_values"),a.get(0).form.submit()}),$(":checkbox[refresh_on_change='true']").off("click").click(function(){var a=$(this),b=a.val(),c=a.attr("refresh_on_change_values");if(c){c=c.split(",");var d=a.attr("last_selected_value");if(-1===$.inArray(b,c)&&-1===$.inArray(d,c))return}$(window).trigger("refresh_on_change"),a.get(0).form.submit()}),$("a[confirm]").off("click").click(function(){return confirm($(this).attr("confirm"))})}window.jQuery=jQuery,window.$=jQuery,window._=_,window.Backbone=Backbone,window.Handlebars=Handlebars,window.panels=require("layout/panel"),_.extend(window,require("modal")),window.async_save_text=require("utils/async-save-text");var POPUPMENU=require("ui/popupmenu");window.make_popupmenu=POPUPMENU.make_popupmenu,window.make_popup_menus=POPUPMENU.make_popup_menus,window.init_tag_click_function=require("ui/autocom_tagging"),window.init_refresh_on_change=init_refresh_on_change,$(document).ready(function(){var a=$("#masthead ul.nav > li.dropdown > .dropdown-menu");$("body").on("click.nav_popups",function(b){if(a.hide(),$("#DD-helper").hide(),!$(b.target).closest("#masthead ul.nav > li.dropdown > .dropdown-menu").length){var c=$(b.target).closest("#masthead ul.nav > li.dropdown");c.length&&($("#DD-helper").show(),c.children(".dropdown-menu").show(),b.preventDefault())}}),init_refresh_on_change(),$.fn.tooltip&&($(".unified-panel-header [title]").tooltip({placement:"bottom"}),$("[title]").tooltip()),make_popup_menus(),replace_big_select_inputs(20,1500),$("a").click(function(){var a=$(this),b=parent.frames&&parent.frames.galaxy_main;if("galaxy_main"==a.attr("target")&&!b){var c=a.attr("href");c+=-1==c.indexOf("?")?"?":"&",c+="use_panels=True",a.attr("href",c),a.attr("target","_self")}return a})});
|
||||
//# sourceMappingURL=../maps/onload.js.map
|
||||
@@ -53,7 +53,7 @@
|
||||
${h.js(
|
||||
'libs/require',
|
||||
## TODO: remove when all libs are required directly in modules
|
||||
'bundled/libs.bundled',
|
||||
'bundled/libs.bundled'
|
||||
)}
|
||||
|
||||
<script type="text/javascript">
|
||||
@@ -114,12 +114,12 @@
|
||||
<script type="text/javascript">
|
||||
|
||||
%if self.has_left_panel:
|
||||
var lp = new Panel( { panel: $("#left"), center: $("#center"), drag: $("#left > .unified-panel-footer > .drag" ), toggle: $("#left > .unified-panel-footer > .panel-collapse" ) } );
|
||||
var lp = new panels.LeftPanel({});
|
||||
force_left_panel = function( x ) { lp.force_panel( x ) };
|
||||
%endif
|
||||
|
||||
%if self.has_right_panel:
|
||||
var rp = new Panel( { panel: $("#right"), center: $("#center"), drag: $("#right > .unified-panel-footer > .drag" ), toggle: $("#right > .unified-panel-footer > .panel-collapse" ), right: true } );
|
||||
var rp = new panels.RightPanel({});
|
||||
window.handle_minwidth_hint = function( x ) { rp.handle_minwidth_hint( x ) };
|
||||
force_right_panel = function( x ) { rp.force_panel( x ) };
|
||||
%endif
|
||||
|
||||
+14
-52
@@ -31,7 +31,19 @@
|
||||
</head>
|
||||
|
||||
<body scroll="no" class="full-content">
|
||||
${ body_template( panels=panels, masthead=masthead ) }
|
||||
<div id="everything" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;">
|
||||
## TODO: needed?
|
||||
<div id="background"></div>
|
||||
|
||||
%if masthead:
|
||||
<div id="masthead" class="navbar navbar-fixed-top navbar-inverse"></div>
|
||||
<div id="messagebox" style="display: none;"></div>
|
||||
<div id="inactivebox" class="panel-warning-message" style="display: none;"></div>
|
||||
%endif
|
||||
|
||||
</div><!--end everything-->
|
||||
<div id='DD-helper' style="display: none;"></div>
|
||||
${ js_disabled_warning() }
|
||||
|
||||
## ${ h.js( 'bundled/libs.bundled', 'bundled/galaxy.bundled' ) }
|
||||
<script type="text/javascript" src="/static/scripts/bundled/libs.bundled.js"></script>
|
||||
@@ -106,41 +118,7 @@
|
||||
</%def>
|
||||
|
||||
## ============================================================================
|
||||
<%def name="body_template( panels=None, masthead=True )">
|
||||
<%
|
||||
panels = panels or [ 'center', 'right' ]
|
||||
if 'left' in panels or 'right' in panels and 'center' not in panels:
|
||||
panels.append( 'center' )
|
||||
%>
|
||||
|
||||
<div id="everything" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;">
|
||||
## TODO: needed?
|
||||
<div id="background"></div>
|
||||
|
||||
%if masthead:
|
||||
<div id="masthead" class="navbar navbar-fixed-top navbar-inverse"></div>
|
||||
## TODO: needed?
|
||||
<div id="messagebox" style="display: none;"></div>
|
||||
## TODO: needed?
|
||||
<div id="inactivebox" class="panel-warning-message" style="display: none;"></div>
|
||||
%endif
|
||||
|
||||
<!-- content sections -->
|
||||
%if 'left' in panels:
|
||||
${ side_panel( 'left' ) }
|
||||
%endif
|
||||
|
||||
%if 'center' in panels:
|
||||
<div id="center" class="inbound" style="background: aliceblue"></div>
|
||||
%endif
|
||||
|
||||
%if 'right' in panels:
|
||||
${ side_panel( 'right' ) }
|
||||
%endif
|
||||
|
||||
</div><!--end everything-->
|
||||
<div id='DD-helper' style="display: none;"></div>
|
||||
|
||||
<%def name="js_disabled_warning()">
|
||||
<noscript>
|
||||
<div class="overlay overlay-background noscript-overlay">
|
||||
<div>
|
||||
@@ -152,20 +130,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</noscript>
|
||||
|
||||
</%def>
|
||||
|
||||
<%def name="side_panel( side )">
|
||||
<div id="${side}">
|
||||
<div class="unified-panel-header" unselectable="on">
|
||||
<div class='unified-panel-header-inner'></div>
|
||||
</div>
|
||||
<div class="unified-panel-body">
|
||||
</div>
|
||||
<div class="unified-panel-footer">
|
||||
## TODO: use child selector and remove the side class here
|
||||
<div class="panel-collapse ${side}"></div>
|
||||
<div class="drag"></div>
|
||||
</div>
|
||||
</div>
|
||||
</%def>
|
||||
|
||||
@@ -59,9 +59,9 @@
|
||||
'bundled/libs.bundled',
|
||||
)}
|
||||
${h.js(
|
||||
'libs/jquery/jquery-ui',
|
||||
'libs/d3',
|
||||
'libs/require',
|
||||
'libs/jquery/jquery-ui',
|
||||
'libs/d3',
|
||||
'libs/require',
|
||||
)}
|
||||
|
||||
## send errors to Sntry server if configured
|
||||
@@ -149,13 +149,13 @@
|
||||
|
||||
## configure left panel
|
||||
%if self.galaxy_config['left_panel']:
|
||||
var lp = new Panel( { panel: $("#left"), center: $("#center"), drag: $("#left > .unified-panel-footer > .drag" ), toggle: $("#left > .unified-panel-footer > .panel-collapse" ) } );
|
||||
var lp = new panels.LeftPanel({});
|
||||
force_left_panel = function( x ) { lp.force_panel( x ) };
|
||||
%endif
|
||||
|
||||
## configure right panel
|
||||
%if self.galaxy_config['right_panel']:
|
||||
var rp = new Panel( { panel: $("#right"), center: $("#center"), drag: $("#right > .unified-panel-footer > .drag" ), toggle: $("#right > .unified-panel-footer > .panel-collapse" ), right: true } );
|
||||
var rp = new panels.RightPanel({});
|
||||
window.handle_minwidth_hint = function( x ) { rp.handle_minwidth_hint( x ) };
|
||||
force_right_panel = function( x ) { rp.force_panel( x ) };
|
||||
%endif
|
||||
|
||||
Reference in New Issue
Block a user