galaxy-commits
  Threads by month 
                
            - ----- 2025 -----
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2024 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2023 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2022 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2021 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2020 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2019 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2018 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2017 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2016 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2015 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2014 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2013 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2012 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2011 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2010 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 
November 2014
- 2 participants
 - 184 discussions
 
                        
                            
                                
                            
                            commit/galaxy-central: carlfeberhard: History options: render history options menu based on anonymous user and allow_user_dataset_purge, remove 'include deleted/hidden'
                        
                        
by commits-noreply@bitbucket.org 14 Nov '14
                    by commits-noreply@bitbucket.org 14 Nov '14
14 Nov '14
                    
                        1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/088e20b3d048/
Changeset:   088e20b3d048
User:        carlfeberhard
Date:        2014-11-14 17:17:48+00:00
Summary:     History options: render history options menu based on anonymous user and allow_user_dataset_purge, remove 'include deleted/hidden'
Affected #:  7 files
diff -r 94ed6755bdf39737cf3c5c2ad528c7703449861c -r 088e20b3d048624b0a736295e264b78bfdefd19c client/galaxy/scripts/mvc/history/history-panel-edit-current.js
--- a/client/galaxy/scripts/mvc/history/history-panel-edit-current.js
+++ b/client/galaxy/scripts/mvc/history/history-panel-edit-current.js
@@ -396,25 +396,6 @@
         if( !msg.is( ':hidden' ) ){ msg.slideUp( this.fxSpeed ); }
     },
 
-//TODO: move show_deleted/hidden into panel from opt menu and remove this
-    /** add listeners to an external options menu (templates/webapps/galaxy/root/index.mako) */
-    connectToOptionsMenu : function( optionsMenu ){
-        var panel = this;
-        if( !optionsMenu ){
-            return panel;
-        }
-        // set a visible indication in the popupmenu for show_hidden/deleted based on the currHistoryPanel's settings
-        this.on( 'new-storage show-deleted show-hidden', function(){
-//TODO: global
-            var menu = ( Galaxy && Galaxy.historyOptionsMenu )? Galaxy.historyOptionsMenu : undefined;
-            if( menu ){
-                menu.findItemByHtml( _l( 'Include Deleted Datasets' ) ).checked = panel.showDeleted;
-                menu.findItemByHtml( _l( 'Include Hidden Datasets' ) ).checked = panel.showHidden;
-            }
-        });
-        return this;
-    },
-
     /** Return a string rep of the history
      */
     toString    : function(){
diff -r 94ed6755bdf39737cf3c5c2ad528c7703449861c -r 088e20b3d048624b0a736295e264b78bfdefd19c client/galaxy/scripts/mvc/history/options-menu.js
--- /dev/null
+++ b/client/galaxy/scripts/mvc/history/options-menu.js
@@ -0,0 +1,160 @@
+define([
+    "mvc/base-mvc",
+    "utils/localization"
+], function( BASE_MVC, _l ){
+// ============================================================================
+var menu = [
+    {
+        html    : _l( 'History Lists' ),
+        header  : true
+    },
+    {
+        html    : _l( 'Saved Histories' ),
+        href    : 'history/list'
+    },
+    {
+        html    : _l( 'Histories Shared with Me' ),
+        href    : 'history/list_shared'
+    },
+
+    {
+        html    : _l( 'Current History' ),
+        header  : true,
+        anon    : true
+    },
+    {
+        html    : _l( 'Create New' ),
+        func    : function() {
+            if( Galaxy && Galaxy.currHistoryPanel ){
+                Galaxy.currHistoryPanel.createNewHistory();
+            }
+        }
+    },
+    {
+        html    : _l( 'Copy History' ),
+        href    : 'history/copy'
+    },
+    {
+        html    : _l( 'Copy Datasets' ),
+        href    : 'dataset/copy_datasets'
+    },
+    {
+        html    : _l( 'Share or Publish' ),
+        href    : 'history/sharing'
+    },
+    {
+        html    : _l( 'Extract Workflow' ),
+        href    : 'workflow/build_from_current_history'
+    },
+    {
+        html    : _l( 'Dataset Security' ),
+        href    : 'root/history_set_default_permissions'
+    },
+    {
+        html    : _l( 'Resume Paused Jobs' ),
+        href    : 'history/resume_paused_jobs?current=True',
+        anon    : true
+    },
+    {
+        html    : _l( 'Collapse Expanded Datasets' ),
+        func    : function() {
+            if( Galaxy && Galaxy.currHistoryPanel ){
+                Galaxy.currHistoryPanel.collapseAll();
+            }
+        }
+    },
+    {
+        html    : _l( 'Unhide Hidden Datasets' ),
+        confirm : _l( 'Really unhide all hidden datasets?' ),
+        href    : 'history/unhide_datasets?current=True',
+        anon    : true
+    },
+    {
+        html    : _l( 'Delete Hidden Datasets' ),
+        confirm : _l( 'Really delete all hidden datasets?' ),
+        href    : 'history/delete_hidden_datasets',
+        anon    : true
+    },
+    {
+        html    : _l( 'Purge Deleted Datasets' ),
+        confirm : _l( 'Really delete all deleted datasets permanently? This cannot be undone.' ),
+        href    : 'history/purge_deleted_datasets',
+        purge   : true,
+        anon    : true
+    },
+    {
+        html    : _l( 'Show Structure' ),
+        href    : 'history/display_structured',
+        anon    : true
+    },
+    {
+        html    : _l( 'Export Citations' ),
+        href    : 'history/citations',
+        anon    : true
+    },
+    {
+        html    : _l( 'Export to File' ),
+        href    : 'history/export_archive?preview=True',
+        anon    : true
+    },
+    {
+        html    : _l( 'Delete' ),
+        confirm : _l( 'Really delete the current history?' ),
+        href    : 'history/delete_current'
+    },
+    {
+        html    : _l( 'Delete Permanently' ),
+        confirm : _l( 'Really delete the current history permanently? This cannot be undone.' ),
+        href    : 'history/delete_current?purge=True',
+        purge   : true,
+        anon    : true
+    },
+
+    {
+        html    : _l( 'Other Actions' ),
+        header  : true
+    },
+    {
+        html    : _l( 'Import from File' ),
+        href    : 'history/import_archive'
+    }
+];
+
+function buildMenu( isAnon, purgeAllowed ){
+    var urlRoot = Galaxy.options.root;
+    return _.clone( menu ).filter( function( menuOption ){
+        if( isAnon && !menuOption.anon ){
+            return false;
+        }
+        if( !purgeAllowed && menuOption.purge ){
+            return false;
+        }
+
+        //TODO:?? hard-coded galaxy_main
+        if( menuOption.href ){
+            menuOption.href = urlRoot + menuOption.href;
+            menuOption.target = 'galaxy_main';
+        }
+        if( menuOption.confirm ){
+            menuOption.func = function(){
+                if( confirm( menuOption.confirm ) ){
+                    galaxy_main.location = menuOption.href;
+                }
+            };
+        }
+        return true;
+    });
+}
+
+var create = function( $button, options ){
+    options = options || {};
+    var isAnon = options.anonymous === undefined? true : options.anonymous,
+        purgeAllowed = options.purgeAllowed || false,
+        menu = buildMenu( isAnon, purgeAllowed );
+    //console.debug( 'menu:', menu );
+    return new PopupMenu( $button, menu );
+};
+
+// ============================================================================
+    return create;
+});
diff -r 94ed6755bdf39737cf3c5c2ad528c7703449861c -r 088e20b3d048624b0a736295e264b78bfdefd19c static/scripts/mvc/history/history-panel-edit-current.js
--- a/static/scripts/mvc/history/history-panel-edit-current.js
+++ b/static/scripts/mvc/history/history-panel-edit-current.js
@@ -396,25 +396,6 @@
         if( !msg.is( ':hidden' ) ){ msg.slideUp( this.fxSpeed ); }
     },
 
-//TODO: move show_deleted/hidden into panel from opt menu and remove this
-    /** add listeners to an external options menu (templates/webapps/galaxy/root/index.mako) */
-    connectToOptionsMenu : function( optionsMenu ){
-        var panel = this;
-        if( !optionsMenu ){
-            return panel;
-        }
-        // set a visible indication in the popupmenu for show_hidden/deleted based on the currHistoryPanel's settings
-        this.on( 'new-storage show-deleted show-hidden', function(){
-//TODO: global
-            var menu = ( Galaxy && Galaxy.historyOptionsMenu )? Galaxy.historyOptionsMenu : undefined;
-            if( menu ){
-                menu.findItemByHtml( _l( 'Include Deleted Datasets' ) ).checked = panel.showDeleted;
-                menu.findItemByHtml( _l( 'Include Hidden Datasets' ) ).checked = panel.showHidden;
-            }
-        });
-        return this;
-    },
-
     /** Return a string rep of the history
      */
     toString    : function(){
diff -r 94ed6755bdf39737cf3c5c2ad528c7703449861c -r 088e20b3d048624b0a736295e264b78bfdefd19c static/scripts/mvc/history/options-menu.js
--- /dev/null
+++ b/static/scripts/mvc/history/options-menu.js
@@ -0,0 +1,160 @@
+define([
+    "mvc/base-mvc",
+    "utils/localization"
+], function( BASE_MVC, _l ){
+// ============================================================================
+var menu = [
+    {
+        html    : _l( 'History Lists' ),
+        header  : true
+    },
+    {
+        html    : _l( 'Saved Histories' ),
+        href    : 'history/list'
+    },
+    {
+        html    : _l( 'Histories Shared with Me' ),
+        href    : 'history/list_shared'
+    },
+
+    {
+        html    : _l( 'Current History' ),
+        header  : true,
+        anon    : true
+    },
+    {
+        html    : _l( 'Create New' ),
+        func    : function() {
+            if( Galaxy && Galaxy.currHistoryPanel ){
+                Galaxy.currHistoryPanel.createNewHistory();
+            }
+        }
+    },
+    {
+        html    : _l( 'Copy History' ),
+        href    : 'history/copy'
+    },
+    {
+        html    : _l( 'Copy Datasets' ),
+        href    : 'dataset/copy_datasets'
+    },
+    {
+        html    : _l( 'Share or Publish' ),
+        href    : 'history/sharing'
+    },
+    {
+        html    : _l( 'Extract Workflow' ),
+        href    : 'workflow/build_from_current_history'
+    },
+    {
+        html    : _l( 'Dataset Security' ),
+        href    : 'root/history_set_default_permissions'
+    },
+    {
+        html    : _l( 'Resume Paused Jobs' ),
+        href    : 'history/resume_paused_jobs?current=True',
+        anon    : true
+    },
+    {
+        html    : _l( 'Collapse Expanded Datasets' ),
+        func    : function() {
+            if( Galaxy && Galaxy.currHistoryPanel ){
+                Galaxy.currHistoryPanel.collapseAll();
+            }
+        }
+    },
+    {
+        html    : _l( 'Unhide Hidden Datasets' ),
+        confirm : _l( 'Really unhide all hidden datasets?' ),
+        href    : 'history/unhide_datasets?current=True',
+        anon    : true
+    },
+    {
+        html    : _l( 'Delete Hidden Datasets' ),
+        confirm : _l( 'Really delete all hidden datasets?' ),
+        href    : 'history/delete_hidden_datasets',
+        anon    : true
+    },
+    {
+        html    : _l( 'Purge Deleted Datasets' ),
+        confirm : _l( 'Really delete all deleted datasets permanently? This cannot be undone.' ),
+        href    : 'history/purge_deleted_datasets',
+        purge   : true,
+        anon    : true
+    },
+    {
+        html    : _l( 'Show Structure' ),
+        href    : 'history/display_structured',
+        anon    : true
+    },
+    {
+        html    : _l( 'Export Citations' ),
+        href    : 'history/citations',
+        anon    : true
+    },
+    {
+        html    : _l( 'Export to File' ),
+        href    : 'history/export_archive?preview=True',
+        anon    : true
+    },
+    {
+        html    : _l( 'Delete' ),
+        confirm : _l( 'Really delete the current history?' ),
+        href    : 'history/delete_current'
+    },
+    {
+        html    : _l( 'Delete Permanently' ),
+        confirm : _l( 'Really delete the current history permanently? This cannot be undone.' ),
+        href    : 'history/delete_current?purge=True',
+        purge   : true,
+        anon    : true
+    },
+
+    {
+        html    : _l( 'Other Actions' ),
+        header  : true
+    },
+    {
+        html    : _l( 'Import from File' ),
+        href    : 'history/import_archive'
+    }
+];
+
+function buildMenu( isAnon, purgeAllowed ){
+    var urlRoot = Galaxy.options.root;
+    return _.clone( menu ).filter( function( menuOption ){
+        if( isAnon && !menuOption.anon ){
+            return false;
+        }
+        if( !purgeAllowed && menuOption.purge ){
+            return false;
+        }
+
+        //TODO:?? hard-coded galaxy_main
+        if( menuOption.href ){
+            menuOption.href = urlRoot + menuOption.href;
+            menuOption.target = 'galaxy_main';
+        }
+        if( menuOption.confirm ){
+            menuOption.func = function(){
+                if( confirm( menuOption.confirm ) ){
+                    galaxy_main.location = menuOption.href;
+                }
+            };
+        }
+        return true;
+    });
+}
+
+var create = function( $button, options ){
+    options = options || {};
+    var isAnon = options.anonymous === undefined? true : options.anonymous,
+        purgeAllowed = options.purgeAllowed || false,
+        menu = buildMenu( isAnon, purgeAllowed );
+    //console.debug( 'menu:', menu );
+    return new PopupMenu( $button, menu );
+};
+
+// ============================================================================
+    return create;
+});
diff -r 94ed6755bdf39737cf3c5c2ad528c7703449861c -r 088e20b3d048624b0a736295e264b78bfdefd19c static/scripts/packed/mvc/history/history-panel-edit-current.js
--- a/static/scripts/packed/mvc/history/history-panel-edit-current.js
+++ b/static/scripts/packed/mvc/history/history-panel-edit-current.js
@@ -1,1 +1,1 @@
-define(["mvc/history/history-model","mvc/history/history-panel-edit","mvc/collection/collection-panel","mvc/base-mvc","utils/localization"],function(d,c,a,h,b){var e=h.SessionStorageModel.extend({defaults:{tagsEditorShown:false,annotationEditorShown:false,scrollPosition:0},toString:function(){return"HistoryPanelPrefs("+JSON.stringify(this.toJSON())+")"}});e.storageKey=function f(){return("history-panel")};var g=c.HistoryPanelEdit;var i=g.extend({className:g.prototype.className+" current-history-panel",emptyMsg:b("This history is empty. Click 'Get Data' on the left tool menu to start"),noneFoundMsg:b("No matching datasets found"),HDCAViewClass:g.prototype.HDCAViewClass.extend({foldoutStyle:"drilldown"}),initialize:function(j){j=j||{};this.preferences=new e(_.extend({id:e.storageKey()},_.pick(j,_.keys(e.prototype.defaults))));g.prototype.initialize.call(this,j);this.panelStack=[];this.currentContentId=j.currentContentId||null},_setUpListeners:function(){g.prototype._setUpListeners.call(this);var j=this;this.$scrollContainer().on("scroll",function(k){if(j.$el.is(":visible")){j.preferences.set("scrollPosition",$(this).scrollTop())}});this.on("new-model",function(){j.preferences.set("scrollPosition",0)})},loadCurrentHistory:function(k){this.debug(this+".loadCurrentHistory");var j=this;return this.loadHistoryWithDetails("current",k).then(function(m,l){j.trigger("current-history",j)})},switchToHistory:function(m,l){var j=this,k=function(){return jQuery.getJSON(galaxy_config.root+"history/set_as_current?id="+m)};return this.loadHistoryWithDetails(m,l,k).then(function(o,n){j.trigger("switched-history",j)})},createNewHistory:function(l){if(!Galaxy||!Galaxy.currUser||Galaxy.currUser.isAnonymous()){this.displayMessage("error",b("You must be logged in to create histories"));return $.when()}var j=this,k=function(){return jQuery.getJSON(galaxy_config.root+"history/create_new_current")};return this.loadHistory(undefined,l,k).then(function(n,m){j.trigger("new-history",j)})},setModel:function(k,j,l){g.prototype.setModel.call(this,k,j,l);if(this.model){this.log("checking for updates");this.model.checkForUpdates()}return this},_setUpCollectionListeners:function(){g.prototype._setUpCollectionListeners.call(this);this.collection.on("state:ready",function(k,l,j){if((!k.get("visible"))&&(!this.storage.get("show_hidden"))){this.removeItemView(k)}},this)},_setUpModelListeners:function(){g.prototype._setUpModelListeners.call(this);if(Galaxy&&Galaxy.quotaMeter){this.listenTo(this.model,"change:nice_size",function(){Galaxy.quotaMeter.update()})}},_buildNewRender:function(){if(!this.model){return $()}var j=g.prototype._buildNewRender.call(this);j.find(".search").prependTo(j.find(".controls"));this._renderQuotaMessage(j);return j},_renderQuotaMessage:function(j){j=j||this.$el;return $(this.templates.quotaMsg({},this)).prependTo(j.find(".messages"))},_renderEmptyMessage:function(l){var k=this,j=k.$emptyMessage(l),m=$(".toolMenuContainer");if((_.isEmpty(k.views)&&!k.searchFor)&&(Galaxy&&Galaxy.upload&&m.size())){j.empty();j.html([b("This history is empty"),". ",b("You can "),'<a class="uploader-link" href="javascript:void(0)">',b("load your own data"),"</a>",b(" or "),'<a class="get-data-link" href="javascript:void(0)">',b("get data from an external source"),"</a>"].join(""));j.find(".uploader-link").click(function(n){Galaxy.upload.show(n)});j.find(".get-data-link").click(function(n){m.parent().scrollTop(0);m.find('span:contains("Get Data")').click()});return j.show()}return g.prototype._renderEmptyMessage.call(this,l)},_renderTags:function(j){var k=this;g.prototype._renderTags.call(this,j);if(this.preferences.get("tagsEditorShown")){this.tagsEditor.toggle(true)}this.tagsEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(l){k.preferences.set("tagsEditorShown",l.hidden)})},_renderAnnotation:function(j){var k=this;g.prototype._renderAnnotation.call(this,j);if(this.preferences.get("annotationEditorShown")){this.annotationEditor.toggle(true)}this.annotationEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(l){k.preferences.set("annotationEditorShown",l.hidden)})},_swapNewRender:function(k){g.prototype._swapNewRender.call(this,k);var j=this;_.delay(function(){var l=j.preferences.get("scrollPosition");if(l){j.scrollTo(l)}},10);return this},_attachItems:function(k){g.prototype._attachItems.call(this,k);var j=this,l;if(j.currentContentId&&(l=j.viewFromModelId(j.currentContentId))){j.setCurrentContent(l)}return this},addItemView:function(l,m,k){var j=g.prototype.addItemView.call(this,l,m,k);if(!j){return j}if(this.panelStack.length){return this._collapseDrilldownPanel()}return j},_setUpItemViewListeners:function(k){var j=this;g.prototype._setUpItemViewListeners.call(j,k);k.on("expanded:drilldown",function(m,l){this._expandDrilldownPanel(l)},this);k.on("collapsed:drilldown",function(m,l){this._collapseDrilldownPanel(l)},this);k.on("display edit params rerun report-err visualize",function(l,m){this.setCurrentContent(l)},this);return this},setCurrentContent:function(j){this.$(".history-content.current-content").removeClass("current-content");if(j){j.$el.addClass("current-content");this.currentContentId=j.model.id}else{this.currentContentId=null}},_expandDrilldownPanel:function(j){this.panelStack.push(j);this.$("> .controls").add(this.$list()).hide();j.parentName=this.model.get("name");this.$el.append(j.render().$el)},_collapseDrilldownPanel:function(j){this.panelStack.pop();this.render()},connectToQuotaMeter:function(j){if(!j){return this}this.listenTo(j,"quota:over",this.showQuotaMessage);this.listenTo(j,"quota:under",this.hideQuotaMessage);this.on("rendered rendered:initial",function(){if(j&&j.isOverQuota()){this.showQuotaMessage()}});return this},showQuotaMessage:function(){var j=this.$el.find(".quota-message");if(j.is(":hidden")){j.slideDown(this.fxSpeed)}},hideQuotaMessage:function(){var j=this.$el.find(".quota-message");if(!j.is(":hidden")){j.slideUp(this.fxSpeed)}},connectToOptionsMenu:function(j){var k=this;if(!j){return k}this.on("new-storage show-deleted show-hidden",function(){var l=(Galaxy&&Galaxy.historyOptionsMenu)?Galaxy.historyOptionsMenu:undefined;if(l){l.findItemByHtml(b("Include Deleted Datasets")).checked=k.showDeleted;l.findItemByHtml(b("Include Hidden Datasets")).checked=k.showHidden}});return this},toString:function(){return"CurrentHistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});i.prototype.templates=(function(){var j=h.wrapTemplate(['<div class="quota-message errormessage">',b("You are over your disk quota"),". ",b("Tool execution is on hold until your disk usage drops below your allocated quota"),".","</div>"],"history");return _.extend(_.clone(g.prototype.templates),{quotaMsg:j})}());return{CurrentHistoryPanel:i}});
\ No newline at end of file
+define(["mvc/history/history-model","mvc/history/history-panel-edit","mvc/collection/collection-panel","mvc/base-mvc","utils/localization"],function(d,c,a,h,b){var e=h.SessionStorageModel.extend({defaults:{tagsEditorShown:false,annotationEditorShown:false,scrollPosition:0},toString:function(){return"HistoryPanelPrefs("+JSON.stringify(this.toJSON())+")"}});e.storageKey=function f(){return("history-panel")};var g=c.HistoryPanelEdit;var i=g.extend({className:g.prototype.className+" current-history-panel",emptyMsg:b("This history is empty. Click 'Get Data' on the left tool menu to start"),noneFoundMsg:b("No matching datasets found"),HDCAViewClass:g.prototype.HDCAViewClass.extend({foldoutStyle:"drilldown"}),initialize:function(j){j=j||{};this.preferences=new e(_.extend({id:e.storageKey()},_.pick(j,_.keys(e.prototype.defaults))));g.prototype.initialize.call(this,j);this.panelStack=[];this.currentContentId=j.currentContentId||null},_setUpListeners:function(){g.prototype._setUpListeners.call(this);var j=this;this.$scrollContainer().on("scroll",function(k){if(j.$el.is(":visible")){j.preferences.set("scrollPosition",$(this).scrollTop())}});this.on("new-model",function(){j.preferences.set("scrollPosition",0)})},loadCurrentHistory:function(k){this.debug(this+".loadCurrentHistory");var j=this;return this.loadHistoryWithDetails("current",k).then(function(m,l){j.trigger("current-history",j)})},switchToHistory:function(m,l){var j=this,k=function(){return jQuery.getJSON(galaxy_config.root+"history/set_as_current?id="+m)};return this.loadHistoryWithDetails(m,l,k).then(function(o,n){j.trigger("switched-history",j)})},createNewHistory:function(l){if(!Galaxy||!Galaxy.currUser||Galaxy.currUser.isAnonymous()){this.displayMessage("error",b("You must be logged in to create histories"));return $.when()}var j=this,k=function(){return jQuery.getJSON(galaxy_config.root+"history/create_new_current")};return this.loadHistory(undefined,l,k).then(function(n,m){j.trigger("new-history",j)})},setModel:function(k,j,l){g.prototype.setModel.call(this,k,j,l);if(this.model){this.log("checking for updates");this.model.checkForUpdates()}return this},_setUpCollectionListeners:function(){g.prototype._setUpCollectionListeners.call(this);this.collection.on("state:ready",function(k,l,j){if((!k.get("visible"))&&(!this.storage.get("show_hidden"))){this.removeItemView(k)}},this)},_setUpModelListeners:function(){g.prototype._setUpModelListeners.call(this);if(Galaxy&&Galaxy.quotaMeter){this.listenTo(this.model,"change:nice_size",function(){Galaxy.quotaMeter.update()})}},_buildNewRender:function(){if(!this.model){return $()}var j=g.prototype._buildNewRender.call(this);j.find(".search").prependTo(j.find(".controls"));this._renderQuotaMessage(j);return j},_renderQuotaMessage:function(j){j=j||this.$el;return $(this.templates.quotaMsg({},this)).prependTo(j.find(".messages"))},_renderEmptyMessage:function(l){var k=this,j=k.$emptyMessage(l),m=$(".toolMenuContainer");if((_.isEmpty(k.views)&&!k.searchFor)&&(Galaxy&&Galaxy.upload&&m.size())){j.empty();j.html([b("This history is empty"),". ",b("You can "),'<a class="uploader-link" href="javascript:void(0)">',b("load your own data"),"</a>",b(" or "),'<a class="get-data-link" href="javascript:void(0)">',b("get data from an external source"),"</a>"].join(""));j.find(".uploader-link").click(function(n){Galaxy.upload.show(n)});j.find(".get-data-link").click(function(n){m.parent().scrollTop(0);m.find('span:contains("Get Data")').click()});return j.show()}return g.prototype._renderEmptyMessage.call(this,l)},_renderTags:function(j){var k=this;g.prototype._renderTags.call(this,j);if(this.preferences.get("tagsEditorShown")){this.tagsEditor.toggle(true)}this.tagsEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(l){k.preferences.set("tagsEditorShown",l.hidden)})},_renderAnnotation:function(j){var k=this;g.prototype._renderAnnotation.call(this,j);if(this.preferences.get("annotationEditorShown")){this.annotationEditor.toggle(true)}this.annotationEditor.on("hiddenUntilActivated:shown hiddenUntilActivated:hidden",function(l){k.preferences.set("annotationEditorShown",l.hidden)})},_swapNewRender:function(k){g.prototype._swapNewRender.call(this,k);var j=this;_.delay(function(){var l=j.preferences.get("scrollPosition");if(l){j.scrollTo(l)}},10);return this},_attachItems:function(k){g.prototype._attachItems.call(this,k);var j=this,l;if(j.currentContentId&&(l=j.viewFromModelId(j.currentContentId))){j.setCurrentContent(l)}return this},addItemView:function(l,m,k){var j=g.prototype.addItemView.call(this,l,m,k);if(!j){return j}if(this.panelStack.length){return this._collapseDrilldownPanel()}return j},_setUpItemViewListeners:function(k){var j=this;g.prototype._setUpItemViewListeners.call(j,k);k.on("expanded:drilldown",function(m,l){this._expandDrilldownPanel(l)},this);k.on("collapsed:drilldown",function(m,l){this._collapseDrilldownPanel(l)},this);k.on("display edit params rerun report-err visualize",function(l,m){this.setCurrentContent(l)},this);return this},setCurrentContent:function(j){this.$(".history-content.current-content").removeClass("current-content");if(j){j.$el.addClass("current-content");this.currentContentId=j.model.id}else{this.currentContentId=null}},_expandDrilldownPanel:function(j){this.panelStack.push(j);this.$("> .controls").add(this.$list()).hide();j.parentName=this.model.get("name");this.$el.append(j.render().$el)},_collapseDrilldownPanel:function(j){this.panelStack.pop();this.render()},connectToQuotaMeter:function(j){if(!j){return this}this.listenTo(j,"quota:over",this.showQuotaMessage);this.listenTo(j,"quota:under",this.hideQuotaMessage);this.on("rendered rendered:initial",function(){if(j&&j.isOverQuota()){this.showQuotaMessage()}});return this},showQuotaMessage:function(){var j=this.$el.find(".quota-message");if(j.is(":hidden")){j.slideDown(this.fxSpeed)}},hideQuotaMessage:function(){var j=this.$el.find(".quota-message");if(!j.is(":hidden")){j.slideUp(this.fxSpeed)}},toString:function(){return"CurrentHistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});i.prototype.templates=(function(){var j=h.wrapTemplate(['<div class="quota-message errormessage">',b("You are over your disk quota"),". ",b("Tool execution is on hold until your disk usage drops below your allocated quota"),".","</div>"],"history");return _.extend(_.clone(g.prototype.templates),{quotaMsg:j})}());return{CurrentHistoryPanel:i}});
\ No newline at end of file
diff -r 94ed6755bdf39737cf3c5c2ad528c7703449861c -r 088e20b3d048624b0a736295e264b78bfdefd19c static/scripts/packed/mvc/history/options-menu.js
--- /dev/null
+++ b/static/scripts/packed/mvc/history/options-menu.js
@@ -0,0 +1,1 @@
+define(["mvc/base-mvc","utils/localization"],function(a,d){var e=[{html:d("History Lists"),header:true},{html:d("Saved Histories"),href:"history/list"},{html:d("Histories Shared with Me"),href:"history/list_shared"},{html:d("Current History"),header:true,anon:true},{html:d("Create New"),func:function(){if(Galaxy&&Galaxy.currHistoryPanel){Galaxy.currHistoryPanel.createNewHistory()}}},{html:d("Copy History"),href:"history/copy"},{html:d("Copy Datasets"),href:"dataset/copy_datasets"},{html:d("Share or Publish"),href:"history/sharing"},{html:d("Extract Workflow"),href:"workflow/build_from_current_history"},{html:d("Dataset Security"),href:"root/history_set_default_permissions"},{html:d("Resume Paused Jobs"),href:"history/resume_paused_jobs?current=True",anon:true},{html:d("Collapse Expanded Datasets"),func:function(){if(Galaxy&&Galaxy.currHistoryPanel){Galaxy.currHistoryPanel.collapseAll()}}},{html:d("Unhide Hidden Datasets"),confirm:d("Really unhide all hidden datasets?"),href:"history/unhide_datasets?current=True",anon:true},{html:d("Delete Hidden Datasets"),confirm:d("Really delete all hidden datasets?"),href:"history/delete_hidden_datasets",anon:true},{html:d("Purge Deleted Datasets"),confirm:d("Really delete all deleted datasets permanently? This cannot be undone."),href:"history/purge_deleted_datasets",purge:true,anon:true},{html:d("Show Structure"),href:"history/display_structured",anon:true},{html:d("Export Citations"),href:"history/citations",anon:true},{html:d("Export to File"),href:"history/export_archive?preview=True",anon:true},{html:d("Delete"),confirm:d("Really delete the current history?"),href:"history/delete_current"},{html:d("Delete Permanently"),confirm:d("Really delete the current history permanently? This cannot be undone."),href:"history/delete_current?purge=True",purge:true,anon:true},{html:d("Other Actions"),header:true},{html:d("Import from File"),href:"history/import_archive"}];function c(h,g){var f=Galaxy.options.root;return _.clone(e).filter(function(i){if(h&&!i.anon){return false}if(!g&&i.purge){return false}if(i.href){i.href=f+i.href;i.target="galaxy_main"}if(i.confirm){i.func=function(){if(confirm(i.confirm)){galaxy_main.location=i.href}}}return true})}var b=function(h,f){f=f||{};var i=f.anonymous===undefined?true:f.anonymous,g=f.purgeAllowed||false,j=c(i,g);return new PopupMenu(h,j)};return b});
\ No newline at end of file
diff -r 94ed6755bdf39737cf3c5c2ad528c7703449861c -r 088e20b3d048624b0a736295e264b78bfdefd19c templates/webapps/galaxy/root/index.mako
--- a/templates/webapps/galaxy/root/index.mako
+++ b/templates/webapps/galaxy/root/index.mako
@@ -28,102 +28,7 @@
     galaxy_async.set_func_url( galaxy_async.set_user_pref,
         "${h.url_for( controller='user', action='set_user_pref_async' )}");
     
-    // set up history options menu
     $(function(){
-        // Init history options.
-        //$("#history-options-button").css( "position", "relative" );
-        var popupmenu = PopupMenu.make_popupmenu( $("#history-options-button"), {
-            "${_("History Lists")}": null,
-            "${_("Saved Histories")}": function() {
-                galaxy_main.location = "${h.url_for( controller='history', action='list')}";
-            },
-            "${_("Histories Shared with Me")}": function() {
-                galaxy_main.location = "${h.url_for( controller='history', action='list_shared')}";
-            },
-            "${_("Current History")}": null,
-            "${_("Create New")}": function() {
-                if( Galaxy && Galaxy.currHistoryPanel ){
-                    Galaxy.currHistoryPanel.createNewHistory();
-                }
-            },
-            "${_("Copy History")}": function() {
-                galaxy_main.location = "${h.url_for( controller='history', action='copy')}";
-            },
-            "${_("Copy Datasets")}": function() {
-                galaxy_main.location = "${h.url_for( controller='dataset', action='copy_datasets' )}";
-            },
-            "${_("Share or Publish")}": function() {
-                galaxy_main.location = "${h.url_for( controller='history', action='sharing' )}";
-            },
-            "${_("Extract Workflow")}": function() {
-                galaxy_main.location = "${h.url_for( controller='workflow', action='build_from_current_history' )}";
-            },
-            "${_("Dataset Security")}": function() {
-                galaxy_main.location = "${h.url_for( controller='root', action='history_set_default_permissions' )}";
-            },
-            "${_("Resume Paused Jobs")}": function() {
-                galaxy_main.location = "${h.url_for( controller='history', action='resume_paused_jobs', current=True)}";
-            },
-            "${_("Collapse Expanded Datasets")}": function() {
-                if( Galaxy && Galaxy.currHistoryPanel ){
-                    Galaxy.currHistoryPanel.collapseAll();
-                }
-            },
-            "${_("Include Deleted Datasets")}": function( clickEvent, thisMenuOption ) {
-                if( Galaxy && Galaxy.currHistoryPanel ){
-                    thisMenuOption.checked = Galaxy.currHistoryPanel.toggleShowDeleted();
-                }
-            },
-            "${_("Include Hidden Datasets")}": function( clickEvent, thisMenuOption ) {
-                if( Galaxy && Galaxy.currHistoryPanel ){
-                    thisMenuOption.checked = Galaxy.currHistoryPanel.toggleShowHidden();
-                }
-            },
-            "${_("Unhide Hidden Datasets")}": function() {
-                if ( confirm( "Really unhide all hidden datasets?" ) ) {
-                    galaxy_main.location = "${h.url_for( controller='history', action='unhide_datasets', current=True )}";
-                }
-            },
-            "${_("Delete Hidden Datasets")}": function() {
-                if ( confirm( "Really delete all hidden datasets?" ) ) {
-                    galaxy_main.location = "${h.url_for( controller='history', action='delete_hidden_datasets')}";
-                }
-            },
-            "${_("Purge Deleted Datasets")}": function() {
-                if ( confirm( "Really delete all deleted datasets permanently? This cannot be undone." ) ) {
-                    galaxy_main.location = "${h.url_for( controller='history', action='purge_deleted_datasets' )}";
-                    // update the user disk size when the purge page loads
-                    $( '#galaxy_main' ).load( function(){
-                        Galaxy.user.fetch();
-                    })
-                }
-            },
-            "${_("Show Structure")}": function() {
-                galaxy_main.location = "${h.url_for( controller='history', action='display_structured' )}";
-            },            
-            "${_("Export Citations")}": function() {
-                galaxy_main.location = "${h.url_for( controller='history', action='citations' )}";
-            },
-            "${_("Export to File")}": function() {
-                galaxy_main.location = "${h.url_for( controller='history', action='export_archive', preview=True )}";
-            },
-            "${_("Delete")}": function() {
-                if ( confirm( "Really delete the current history?" ) ) {
-                    galaxy_main.location = "${h.url_for( controller='history', action='delete_current' )}";
-                }
-            },
-            "${_("Delete Permanently")}": function() {
-                if ( confirm( "Really delete the current history permanently? This cannot be undone." ) ) {
-                    galaxy_main.location = "${h.url_for( controller='history', action='delete_current', purge=True )}";
-                }
-            },
-            "${_("Other Actions")}": null,
-            "${_("Import from File")}": function() {
-                galaxy_main.location = "${h.url_for( controller='history', action='import_archive' )}";
-            }
-        });
-        Galaxy.historyOptionsMenu = popupmenu;
-
         // Fix iFrame scrolling on iOS
         if( navigator.userAgent.match( /(iPhone|iPod|iPad)/i ) ) {
             $("iframe").parent().css( {
@@ -131,7 +36,6 @@
                 "-webkit-overflow-scrolling": "touch"
             })
         }
-
     });
     </script></%def>
@@ -203,27 +107,6 @@
             </div><div class="panel-header-text">${_('History')}</div></div>
-    </div>
-    <div class="unified-panel-body">
-        <div id="current-history-panel" class="history-panel"></div>
-        ## Don't bootstrap data here - confuses the browser history: load via API
-        <script type="text/javascript">
-        require([ "mvc/history/history-panel-edit-current" ], function( historyPanel ){
-            $(function(){
-                var currPanel = new historyPanel.CurrentHistoryPanel({
-                    el              : $( "#current-history-panel" ),
-                    purgeAllowed    : Galaxy.config.allow_user_dataset_purge,
-                    linkTarget      : 'galaxy_main',
-                    $scrollContainer: function(){ return this.$el.parent(); }
-                });
-                currPanel
-                    .connectToQuotaMeter( Galaxy.quotaMeter )
-                    .connectToOptionsMenu( Galaxy.historyOptionsMenu );
-                currPanel.loadCurrentHistory();
-                Galaxy.currHistoryPanel = currPanel;
-            });
-        });
-        </script><script type="text/javascript">
             $(function(){
                 $( '#history-refresh-button' )
@@ -234,6 +117,35 @@
                         }
                     });
             });
+            require([ 'mvc/history/options-menu' ], function( optionsMenu ){
+                $(function(){
+                    var popupmenu = optionsMenu( $( "#history-options-button" ), {
+                        anonymous    : Galaxy.currUser.isAnonymous(),
+                        purgeAllowed : Galaxy.config.allow_user_dataset_purge
+                    });
+                    Galaxy.historyOptionsMenu = popupmenu;
+                });
+            });
+        </script>
+    </div>
+    <div class="unified-panel-body">
+        <div id="current-history-panel" class="history-panel"></div>
+        ## Don't bootstrap data here - confuses the browser history: load via API
+        <script type="text/javascript">
+            require([ "mvc/history/history-panel-edit-current" ], function( historyPanel ){
+                $(function(){
+                    var currPanel = new historyPanel.CurrentHistoryPanel({
+                        el              : $( "#current-history-panel" ),
+                        purgeAllowed    : Galaxy.config.allow_user_dataset_purge,
+                        linkTarget      : 'galaxy_main',
+                        $scrollContainer: function(){ return this.$el.parent(); }
+                    });
+                    currPanel
+                        .connectToQuotaMeter( Galaxy.quotaMeter );
+                    currPanel.loadCurrentHistory();
+                    Galaxy.currHistoryPanel = currPanel;
+                });
+            });
         </script></div></%def>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            commit/galaxy-central: martenson: include root from config for login/register links when user is not logged in
                        
                        
by commits-noreply@bitbucket.org 14 Nov '14
                    by commits-noreply@bitbucket.org 14 Nov '14
14 Nov '14
                    
                        1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/94ed6755bdf3/
Changeset:   94ed6755bdf3
User:        martenson
Date:        2014-11-14 16:03:09+00:00
Summary:     include root from config for login/register links when user is not logged in
Affected #:  3 files
diff -r aff364f13c79c2e30b8bae79e8639c65dc8f17f0 -r 94ed6755bdf39737cf3c5c2ad528c7703449861c client/galaxy/scripts/galaxy.masthead.js
--- a/client/galaxy/scripts/galaxy.masthead.js
+++ b/client/galaxy/scripts/galaxy.masthead.js
@@ -361,7 +361,7 @@
         var $popover_element = $(this.el).find('.head');
         $popover_element.popover({
             html: true,
-            content: 'Please <a href="/user/login">log in</a> or <a href="/user/create">register</a> to use this feature.',
+            content: 'Please <a href="' + galaxy_config.root + '/user/login">log in</a> or <a href="' + galaxy_config.root + '/user/create">register</a> to use this feature.',
             placement: 'bottom'
         }).on('shown.bs.popover', function() { // hooking on bootstrap event to automatically hide popovers after delay
             setTimeout(function() {
diff -r aff364f13c79c2e30b8bae79e8639c65dc8f17f0 -r 94ed6755bdf39737cf3c5c2ad528c7703449861c static/scripts/galaxy.masthead.js
--- a/static/scripts/galaxy.masthead.js
+++ b/static/scripts/galaxy.masthead.js
@@ -361,7 +361,7 @@
         var $popover_element = $(this.el).find('.head');
         $popover_element.popover({
             html: true,
-            content: 'Please <a href="/user/login">log in</a> or <a href="/user/create">register</a> to use this feature.',
+            content: 'Please <a href="' + galaxy_config.root + '/user/login">log in</a> or <a href="' + galaxy_config.root + '/user/create">register</a> to use this feature.',
             placement: 'bottom'
         }).on('shown.bs.popover', function() { // hooking on bootstrap event to automatically hide popovers after delay
             setTimeout(function() {
diff -r aff364f13c79c2e30b8bae79e8639c65dc8f17f0 -r 94ed6755bdf39737cf3c5c2ad528c7703449861c static/scripts/packed/galaxy.masthead.js
--- a/static/scripts/packed/galaxy.masthead.js
+++ b/static/scripts/packed/galaxy.masthead.js
@@ -1,1 +1,1 @@
-define([],function(){var a=Backbone.View.extend({el_masthead:"#everything",options:null,$background:null,list:[],initialize:function(e){this.options=e;$("body").off();this.setElement($(this._template(e)));$(this.el_masthead).append($(this.el));this.$background=$(this.el).find("#masthead-background");var d=this;$(window).on("beforeunload",function(){var g="";for(key in d.list){if(d.list[key].options.onunload){var f=d.list[key].options.onunload();if(f){g+=f+" "}}}if(g!=""){return g}})},events:{click:"_click",mousedown:function(d){d.preventDefault()}},append:function(d){return this._add(d,true)},prepend:function(d){return this._add(d,false)},highlight:function(e){var d=$(this.el).find("#"+e+"> li");if(d){d.addClass("active")}},_add:function(g,e){var d=$(this.el).find("#"+g.location);if(d){var f=$(g.el);f.addClass("masthead-item");if(e){d.append(f)}else{d.prepend(f)}this.list.push(g)}return null},_click:function(g){var f=$(this.el).find(".popup");if(f){f.hide()}var d=$(g.target).closest(".masthead-item").find(".popup");if($(g.target).hasClass("head")){d.show();this.$background.show()}else{this.$background.hide()}},_template:function(d){var e=d.brand?("/ "+d.brand):"";return'<div><div id="masthead" class="navbar navbar-fixed-top navbar-inverse"><div style="position: relative; right: -50%; float: left;"><div id="navbar" style="display: block; position: relative; right: 50%;"></div></div><div class="navbar-brand"><a href="'+d.logo_url+'"><img border="0" src="'+galaxy_config.root+'static/images/galaxyIcon_noText.png"><span id="brand"> Galaxy '+e+'</span></a></div><div class="quota-meter-container"></div><div id="iconbar" class="iconbar"></div></div><div id="masthead-background" style="display: none; position: absolute; top: 33px; width: 100%; height: 100%; z-index: 1010"></div></div>'}});var b=Backbone.View.extend({options:{id:"",icon:"fa-cog",tooltip:"",with_number:false,onclick:function(){alert("clicked")},onunload:null,visible:true},location:"iconbar",initialize:function(e){if(e){this.options=_.defaults(e,this.options)}this.setElement($(this._template(this.options)));var d=this;$(this.el).find(".icon").tooltip({title:this.options.tooltip,placement:"bottom"}).on("mouseup",d.options.onclick);if(!this.options.visible){this.hide()}},show:function(){$(this.el).css({visibility:"visible"})},hide:function(){$(this.el).css({visibility:"hidden"})},icon:function(d){$(this.el).find(".icon").removeClass(this.options.icon).addClass(d);this.options.icon=d},toggle:function(){$(this.el).addClass("toggle")},untoggle:function(){$(this.el).removeClass("toggle")},number:function(d){$(this.el).find(".number").text(d)},_template:function(e){var d='<div id="'+e.id+'" class="symbol"><div class="icon fa fa-2x '+e.icon+'"></div>';if(e.with_number){d+='<div class="number"></div>'}d+="</div>";return d}});var c=Backbone.View.extend({options:{id:"",title:"",target:"_parent",content:"",type:"url",scratchbook:false,onunload:null,visible:true,disabled:false,title_attribute:""},location:"navbar",$menu:null,events:{"click .head":"_head"},initialize:function(d){if(d){this.options=_.defaults(d,this.options)}if(this.options.content&&this.options.content.indexOf("//")===-1){this.options.content=galaxy_config.root+this.options.content}this.setElement($(this._template(this.options)));if(this.options.disabled){$(this.el).find(".root").addClass("disabled");this._attachPopover()}if(!this.options.visible){this.hide()}},show:function(){$(this.el).css({visibility:"visible"})},hide:function(){$(this.el).css({visibility:"hidden"})},add:function(f){var g={title:"Title",content:"",type:"url",target:"_parent",scratchbook:false,divider:false};if(f){g=_.defaults(f,g)}if(g.content&&g.content.indexOf("//")===-1){g.content=galaxy_config.root+g.content}if(!this.$menu){$(this.el).find(".root").append(this._templateMenu());$(this.el).find(".symbol").addClass("caret");this.$menu=$(this.el).find(".popup")}var e=$(this._templateMenuItem(g));this.$menu.append(e);var d=this;e.on("click",function(h){h.preventDefault();if(d.options.target==="_blank"){return true}Galaxy.frame.add(f)});if(g.divider){this.$menu.append($(this._templateDivider()))}},_head:function(d){d.preventDefault();if(this.options.disabled){return}if(!this.$menu){Galaxy.frame.add(this.options)}},_attachPopover:function(){var d=$(this.el).find(".head");d.popover({html:true,content:'Please <a href="/user/login">log in</a> or <a href="/user/create">register</a> to use this feature.',placement:"bottom"}).on("shown.bs.popover",function(){setTimeout(function(){d.popover("hide")},5000)})},_templateMenuItem:function(d){return'<li><a href="'+d.content+'" target="'+d.target+'">'+d.title+"</a></li>"},_templateMenu:function(){return'<ul class="popup dropdown-menu"></ul>'},_templateDivider:function(){return'<li class="divider"></li>'},_template:function(e){var d='<ul id="'+e.id+'" class="nav navbar-nav" border="0" cellspacing="0"><li class="root dropdown" style=""><a class="head dropdown-toggle" data-toggle="dropdown" target="'+e.target+'" href="'+e.content+'" title="'+e.title_attribute+'">'+e.title+'<b class="symbol"></b></a></li></ul>';return d}});return{GalaxyMasthead:a,GalaxyMastheadTab:c,GalaxyMastheadIcon:b}});
\ No newline at end of file
+define([],function(){var a=Backbone.View.extend({el_masthead:"#everything",options:null,$background:null,list:[],initialize:function(e){this.options=e;$("body").off();this.setElement($(this._template(e)));$(this.el_masthead).append($(this.el));this.$background=$(this.el).find("#masthead-background");var d=this;$(window).on("beforeunload",function(){var g="";for(key in d.list){if(d.list[key].options.onunload){var f=d.list[key].options.onunload();if(f){g+=f+" "}}}if(g!=""){return g}})},events:{click:"_click",mousedown:function(d){d.preventDefault()}},append:function(d){return this._add(d,true)},prepend:function(d){return this._add(d,false)},highlight:function(e){var d=$(this.el).find("#"+e+"> li");if(d){d.addClass("active")}},_add:function(g,e){var d=$(this.el).find("#"+g.location);if(d){var f=$(g.el);f.addClass("masthead-item");if(e){d.append(f)}else{d.prepend(f)}this.list.push(g)}return null},_click:function(g){var f=$(this.el).find(".popup");if(f){f.hide()}var d=$(g.target).closest(".masthead-item").find(".popup");if($(g.target).hasClass("head")){d.show();this.$background.show()}else{this.$background.hide()}},_template:function(d){var e=d.brand?("/ "+d.brand):"";return'<div><div id="masthead" class="navbar navbar-fixed-top navbar-inverse"><div style="position: relative; right: -50%; float: left;"><div id="navbar" style="display: block; position: relative; right: 50%;"></div></div><div class="navbar-brand"><a href="'+d.logo_url+'"><img border="0" src="'+galaxy_config.root+'static/images/galaxyIcon_noText.png"><span id="brand"> Galaxy '+e+'</span></a></div><div class="quota-meter-container"></div><div id="iconbar" class="iconbar"></div></div><div id="masthead-background" style="display: none; position: absolute; top: 33px; width: 100%; height: 100%; z-index: 1010"></div></div>'}});var b=Backbone.View.extend({options:{id:"",icon:"fa-cog",tooltip:"",with_number:false,onclick:function(){alert("clicked")},onunload:null,visible:true},location:"iconbar",initialize:function(e){if(e){this.options=_.defaults(e,this.options)}this.setElement($(this._template(this.options)));var d=this;$(this.el).find(".icon").tooltip({title:this.options.tooltip,placement:"bottom"}).on("mouseup",d.options.onclick);if(!this.options.visible){this.hide()}},show:function(){$(this.el).css({visibility:"visible"})},hide:function(){$(this.el).css({visibility:"hidden"})},icon:function(d){$(this.el).find(".icon").removeClass(this.options.icon).addClass(d);this.options.icon=d},toggle:function(){$(this.el).addClass("toggle")},untoggle:function(){$(this.el).removeClass("toggle")},number:function(d){$(this.el).find(".number").text(d)},_template:function(e){var d='<div id="'+e.id+'" class="symbol"><div class="icon fa fa-2x '+e.icon+'"></div>';if(e.with_number){d+='<div class="number"></div>'}d+="</div>";return d}});var c=Backbone.View.extend({options:{id:"",title:"",target:"_parent",content:"",type:"url",scratchbook:false,onunload:null,visible:true,disabled:false,title_attribute:""},location:"navbar",$menu:null,events:{"click .head":"_head"},initialize:function(d){if(d){this.options=_.defaults(d,this.options)}if(this.options.content&&this.options.content.indexOf("//")===-1){this.options.content=galaxy_config.root+this.options.content}this.setElement($(this._template(this.options)));if(this.options.disabled){$(this.el).find(".root").addClass("disabled");this._attachPopover()}if(!this.options.visible){this.hide()}},show:function(){$(this.el).css({visibility:"visible"})},hide:function(){$(this.el).css({visibility:"hidden"})},add:function(f){var g={title:"Title",content:"",type:"url",target:"_parent",scratchbook:false,divider:false};if(f){g=_.defaults(f,g)}if(g.content&&g.content.indexOf("//")===-1){g.content=galaxy_config.root+g.content}if(!this.$menu){$(this.el).find(".root").append(this._templateMenu());$(this.el).find(".symbol").addClass("caret");this.$menu=$(this.el).find(".popup")}var e=$(this._templateMenuItem(g));this.$menu.append(e);var d=this;e.on("click",function(h){h.preventDefault();if(d.options.target==="_blank"){return true}Galaxy.frame.add(f)});if(g.divider){this.$menu.append($(this._templateDivider()))}},_head:function(d){d.preventDefault();if(this.options.disabled){return}if(!this.$menu){Galaxy.frame.add(this.options)}},_attachPopover:function(){var d=$(this.el).find(".head");d.popover({html:true,content:'Please <a href="'+galaxy_config.root+'/user/login">log in</a> or <a href="'+galaxy_config.root+'/user/create">register</a> to use this feature.',placement:"bottom"}).on("shown.bs.popover",function(){setTimeout(function(){d.popover("hide")},5000)})},_templateMenuItem:function(d){return'<li><a href="'+d.content+'" target="'+d.target+'">'+d.title+"</a></li>"},_templateMenu:function(){return'<ul class="popup dropdown-menu"></ul>'},_templateDivider:function(){return'<li class="divider"></li>'},_template:function(e){var d='<ul id="'+e.id+'" class="nav navbar-nav" border="0" cellspacing="0"><li class="root dropdown" style=""><a class="head dropdown-toggle" data-toggle="dropdown" target="'+e.target+'" href="'+e.content+'" title="'+e.title_attribute+'">'+e.title+'<b class="symbol"></b></a></li></ul>';return d}});return{GalaxyMasthead:a,GalaxyMastheadTab:c,GalaxyMastheadIcon:b}});
\ No newline at end of file
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/56bb3b0f345e/
Changeset:   56bb3b0f345e
Branch:      documentation_fixes
User:        dan
Date:        2014-11-14 15:20:20+00:00
Summary:     Close branch documentation_fixes.
Affected #:  0 files
https://bitbucket.org/galaxy/galaxy-central/commits/aff364f13c79/
Changeset:   aff364f13c79
User:        dan
Date:        2014-11-14 15:20:56+00:00
Summary:     merge
Affected #:  0 files
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            commit/galaxy-central: dan: Merged in BjoernGruening/galaxy-central-1/documentation_fixes (pull request #564)
                        
                        
by commits-noreply@bitbucket.org 14 Nov '14
                    by commits-noreply@bitbucket.org 14 Nov '14
14 Nov '14
                    
                        1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/aa68a19aea9d/
Changeset:   aa68a19aea9d
User:        dan
Date:        2014-11-14 15:19:11+00:00
Summary:     Merged in BjoernGruening/galaxy-central-1/documentation_fixes (pull request #564)
Improve the docstring of previously added sniff functions.
Affected #:  2 files
diff -r 65121c7c76af6b5b4501477780432d2ae3ebfc57 -r aa68a19aea9dac59c45b752e4dec6cbee7dc70cc lib/galaxy/datatypes/text.py
--- a/lib/galaxy/datatypes/text.py
+++ b/lib/galaxy/datatypes/text.py
@@ -139,7 +139,8 @@
 
     def sniff( self, filename ):
         """
-            Try to load the string with the json module. If successful it's a json file.
+            Try to guess the Obo filetype. 
+            It usually starts with a "format-version:" string and has several stanzas which starts with "id:".
         """
         stanza = re.compile(r'^\[.*\]$')
         with open( filename ) as handle:
diff -r 65121c7c76af6b5b4501477780432d2ae3ebfc57 -r aa68a19aea9dac59c45b752e4dec6cbee7dc70cc lib/galaxy/datatypes/xml.py
--- a/lib/galaxy/datatypes/xml.py
+++ b/lib/galaxy/datatypes/xml.py
@@ -136,7 +136,7 @@
 
     def sniff( self, filename ):
         """
-            Try to load the string with the json module. If successful it's a json file.
+            Checking for keyword - '<owl' in the first 200 lines.
         """
         owl_marker = re.compile(r'\<owl:')
         with open( filename ) as handle:
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        4 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/8e07db95f60c/
Changeset:   8e07db95f60c
Branch:      documentation_fixes
User:        BjoernGruening
Date:        2014-11-14 15:02:39+00:00
Summary:     Created new branch documentation_fixes
Affected #:  0 files
https://bitbucket.org/galaxy/galaxy-central/commits/3b19abef4f22/
Changeset:   3b19abef4f22
Branch:      documentation_fixes
User:        BjoernGruening
Date:        2014-11-14 15:06:44+00:00
Summary:     Improve documentation. Thanks Peter for pointing this out.
Affected #:  1 file
diff -r 8e07db95f60c98ae835865c817cf1361bbde9c82 -r 3b19abef4f22f890d49945a6678e6d18f340d843 lib/galaxy/datatypes/text.py
--- a/lib/galaxy/datatypes/text.py
+++ b/lib/galaxy/datatypes/text.py
@@ -139,7 +139,8 @@
 
     def sniff( self, filename ):
         """
-            Try to load the string with the json module. If successful it's a json file.
+            Try to guess the Obo filetype. 
+            It usually starts with a "format-version:" string and has several stanzas which starts with "id:".
         """
         stanza = re.compile(r'^\[.*\]$')
         with open( filename ) as handle:
https://bitbucket.org/galaxy/galaxy-central/commits/623efea83a38/
Changeset:   623efea83a38
Branch:      documentation_fixes
User:        BjoernGruening
Date:        2014-11-14 15:09:09+00:00
Summary:     Improve documentation. Thanks Peter!
Affected #:  1 file
diff -r 3b19abef4f22f890d49945a6678e6d18f340d843 -r 623efea83a38a0ce18a002bd36c5bf9aea4c74dc lib/galaxy/datatypes/xml.py
--- a/lib/galaxy/datatypes/xml.py
+++ b/lib/galaxy/datatypes/xml.py
@@ -136,7 +136,7 @@
 
     def sniff( self, filename ):
         """
-            Try to load the string with the json module. If successful it's a json file.
+            Checking for keyword - '<owl' in the first 200 lines.
         """
         owl_marker = re.compile(r'\<owl:')
         with open( filename ) as handle:
https://bitbucket.org/galaxy/galaxy-central/commits/aa68a19aea9d/
Changeset:   aa68a19aea9d
User:        dan
Date:        2014-11-14 15:19:11+00:00
Summary:     Merged in BjoernGruening/galaxy-central-1/documentation_fixes (pull request #564)
Improve the docstring of previously added sniff functions.
Affected #:  2 files
diff -r 65121c7c76af6b5b4501477780432d2ae3ebfc57 -r aa68a19aea9dac59c45b752e4dec6cbee7dc70cc lib/galaxy/datatypes/text.py
--- a/lib/galaxy/datatypes/text.py
+++ b/lib/galaxy/datatypes/text.py
@@ -139,7 +139,8 @@
 
     def sniff( self, filename ):
         """
-            Try to load the string with the json module. If successful it's a json file.
+            Try to guess the Obo filetype. 
+            It usually starts with a "format-version:" string and has several stanzas which starts with "id:".
         """
         stanza = re.compile(r'^\[.*\]$')
         with open( filename ) as handle:
diff -r 65121c7c76af6b5b4501477780432d2ae3ebfc57 -r aa68a19aea9dac59c45b752e4dec6cbee7dc70cc lib/galaxy/datatypes/xml.py
--- a/lib/galaxy/datatypes/xml.py
+++ b/lib/galaxy/datatypes/xml.py
@@ -136,7 +136,7 @@
 
     def sniff( self, filename ):
         """
-            Try to load the string with the json module. If successful it's a json file.
+            Checking for keyword - '<owl' in the first 200 lines.
         """
         owl_marker = re.compile(r'\<owl:')
         with open( filename ) as handle:
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/0127f48b749f/
Changeset:   0127f48b749f
Branch:      fix-ngs_simulation
User:        dan
Date:        2014-11-14 15:15:29+00:00
Summary:     Close fix-ngs_simulation branch.
Affected #:  0 files
https://bitbucket.org/galaxy/galaxy-central/commits/65121c7c76af/
Changeset:   65121c7c76af
User:        dan
Date:        2014-11-14 15:16:04+00:00
Summary:     merge
Affected #:  0 files
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            commit/galaxy-central: dan: Merged in BjoernGruening/galaxy-central-1/fix-ngs_simulation (pull request #563)
                        
                        
by commits-noreply@bitbucket.org 14 Nov '14
                    by commits-noreply@bitbucket.org 14 Nov '14
14 Nov '14
                    
                        1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/3ea58a572fef/
Changeset:   3ea58a572fef
User:        dan
Date:        2014-11-14 15:10:53+00:00
Summary:     Merged in BjoernGruening/galaxy-central-1/fix-ngs_simulation (pull request #563)
Add requirement to the ngs_simulation tool.
Affected #:  1 file
diff -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b -r 3ea58a572fefa03bef988886848af74e05080cff tools/ngs_simulation/ngs_simulation.xml
--- a/tools/ngs_simulation/ngs_simulation.xml
+++ b/tools/ngs_simulation/ngs_simulation.xml
@@ -1,6 +1,9 @@
 <tool id="ngs_simulation" name="Simulate" version="1.0.0"><!--<tool id="ngs_simulation" name="Simulate" force_history_refresh="True" version="1.0.0">--><description>Illumina runs</description>
+  <requirements>
+    <requirement type="package" version="1.0.3">rpy</requirement>
+  </requirements><command interpreter="python">
     ngs_simulation.py
       #if $in_type.input_type == "built-in"
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        3 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/61e88903b180/
Changeset:   61e88903b180
Branch:      fix-ngs_simulation
User:        BjoernGruening
Date:        2014-11-14 14:51:57+00:00
Summary:     Created new branch fix-ngs_simulation
Affected #:  0 files
https://bitbucket.org/galaxy/galaxy-central/commits/434fa3779315/
Changeset:   434fa3779315
Branch:      fix-ngs_simulation
User:        BjoernGruening
Date:        2014-11-14 14:56:28+00:00
Summary:     Add rpy requirement.
Affected #:  1 file
diff -r 61e88903b18008068f9693f4eb23903e0e337144 -r 434fa3779315f3b1286ff1af660a8a486dae9bd5 tools/ngs_simulation/ngs_simulation.xml
--- a/tools/ngs_simulation/ngs_simulation.xml
+++ b/tools/ngs_simulation/ngs_simulation.xml
@@ -1,6 +1,9 @@
 <tool id="ngs_simulation" name="Simulate" version="1.0.0"><!--<tool id="ngs_simulation" name="Simulate" force_history_refresh="True" version="1.0.0">--><description>Illumina runs</description>
+  <requirements>
+    <requirement type="package" version="1.0.3">rpy</requirement>
+  </requirements><command interpreter="python">
     ngs_simulation.py
       #if $in_type.input_type == "built-in"
https://bitbucket.org/galaxy/galaxy-central/commits/3ea58a572fef/
Changeset:   3ea58a572fef
User:        dan
Date:        2014-11-14 15:10:53+00:00
Summary:     Merged in BjoernGruening/galaxy-central-1/fix-ngs_simulation (pull request #563)
Add requirement to the ngs_simulation tool.
Affected #:  1 file
diff -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b -r 3ea58a572fefa03bef988886848af74e05080cff tools/ngs_simulation/ngs_simulation.xml
--- a/tools/ngs_simulation/ngs_simulation.xml
+++ b/tools/ngs_simulation/ngs_simulation.xml
@@ -1,6 +1,9 @@
 <tool id="ngs_simulation" name="Simulate" version="1.0.0"><!--<tool id="ngs_simulation" name="Simulate" force_history_refresh="True" version="1.0.0">--><description>Illumina runs</description>
+  <requirements>
+    <requirement type="package" version="1.0.3">rpy</requirement>
+  </requirements><command interpreter="python">
     ngs_simulation.py
       #if $in_type.input_type == "built-in"
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            commit/galaxy-central: guerler: ToolForm: Fixes for citations, pasting into numeric fields and ui element sizes
                        
                        
by commits-noreply@bitbucket.org 14 Nov '14
                    by commits-noreply@bitbucket.org 14 Nov '14
14 Nov '14
                    
                        1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/3d9e14ac53cc/
Changeset:   3d9e14ac53cc
User:        guerler
Date:        2014-11-14 15:08:06+00:00
Summary:     ToolForm: Fixes for citations, pasting into numeric fields and ui element sizes
Affected #:  13 files
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b client/galaxy/scripts/mvc/tools/tools-form.js
--- a/client/galaxy/scripts/mvc/tools/tools-form.js
+++ b/client/galaxy/scripts/mvc/tools/tools-form.js
@@ -362,15 +362,13 @@
             
             // append citations
             if (options.citations) {
-                // fetch citations
+                var $citations = $('<div/>');
                 var citations = new CitationModel.ToolCitationCollection();
                 citations.tool_id = options.id;
-                var citation_list_view = new CitationView.CitationListView({ collection: citations } );
+                var citation_list_view = new CitationView.CitationListView({ el: $citations, collection: citations } );
                 citation_list_view.render();
                 citations.fetch();
-                
-                // append to element
-                this.$el.append(citation_list_view.$el);
+                this.$el.append($citations);
             }
             
             // append tool section
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b client/galaxy/scripts/mvc/tools/tools-repeat.js
--- a/client/galaxy/scripts/mvc/tools/tools-repeat.js
+++ b/client/galaxy/scripts/mvc/tools/tools-repeat.js
@@ -73,10 +73,10 @@
         
         // create portlet
         var portlet = new Portlet.View({
-            id      : options.id,
-            title   : '<b>' + options.title + '</b>',
-            cls     : 'ui-portlet-repeat',
-            operations : {
+            id              : options.id,
+            title           : '<b>' + options.title + '</b>',
+            cls             : 'ui-portlet-repeat',
+            operations      : {
                 button_delete : button_delete
             }
         });
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b client/galaxy/scripts/mvc/ui/ui-portlet.js
--- a/client/galaxy/scripts/mvc/ui/ui-portlet.js
+++ b/client/galaxy/scripts/mvc/ui/ui-portlet.js
@@ -8,15 +8,16 @@
     
     // defaults options
     optionsDefault: {
-        title       : '',
-        icon        : '',
-        buttons     : null,
-        body        : null,
-        scrollable  : true,
-        nopadding   : false,
-        operations  : null,
-        placement   : 'bottom',
-        cls         : 'ui-portlet'
+        title           : '',
+        icon            : '',
+        buttons         : null,
+        body            : null,
+        scrollable      : true,
+        nopadding       : false,
+        operations      : null,
+        placement       : 'bottom',
+        cls             : 'ui-portlet',
+        operations_flt  : 'right'
     },
     
     // elements
@@ -157,7 +158,7 @@
         
         if (options.title) {
             tmpl +=     '<div id="portlet-header" class="portlet-header">' +
-                            '<div id="operations" style="float: right;"></div>' +
+                            '<div id="operations" style="float: ' + options.operations_flt + ';"></div>' +
                             '<div class="portlet-title">';
                             
             if (options.icon)
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b client/galaxy/scripts/mvc/ui/ui-slider.js
--- a/client/galaxy/scripts/mvc/ui/ui-slider.js
+++ b/client/galaxy/scripts/mvc/ui/ui-slider.js
@@ -46,7 +46,7 @@
             this.$el.find('.ui-form-slider-text').css('width', '100%');
         }
         
-        // backup integer field
+        // link text input field
         this.$text = this.$el.find('#text');
         
         // add text field event
@@ -55,10 +55,17 @@
         });
         
         // add text field event
-        this.$text.on('keydown', function (event) {
-            var v = event.which;
-            if (!(v == 8 || v == 9 || v == 13 || v == 37 || v == 39 || v == 189 || (v >= 48 && v <= 57)
-                || (self.options.precise && $(this).val().indexOf('.') == -1) && v == 190)) {
+        var pressed = [];
+        this.$text.on('keyup', function(e) {
+            pressed[e.which] = false;
+        });
+        this.$text.on('keydown', function (e) {
+            var v = e.which;
+            pressed[v] = true;
+            if (!(v == 8 || v == 9 || v == 13 || v == 37 || v == 39 || (v >= 48 && v <= 57)
+                || (v == 190 && $(this).val().indexOf('.') == -1 && self.options.precise)
+                || (v == 189 && $(this).val().indexOf('-') == -1)
+                || pressed[91] || pressed[17])) {
                 event.preventDefault();
             }
         });
@@ -67,6 +74,11 @@
     // value
     value : function (new_val) {
         if (new_val !== undefined) {
+            // check if its a number
+            if (isNaN(new_val)) {
+                new_val = 0;
+            }
+            
             // apply limit
             if (this.options.max !== null) {
                 new_val = Math.min(new_val, this.options.max);
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b static/scripts/mvc/tools/tools-form.js
--- a/static/scripts/mvc/tools/tools-form.js
+++ b/static/scripts/mvc/tools/tools-form.js
@@ -362,15 +362,13 @@
             
             // append citations
             if (options.citations) {
-                // fetch citations
+                var $citations = $('<div/>');
                 var citations = new CitationModel.ToolCitationCollection();
                 citations.tool_id = options.id;
-                var citation_list_view = new CitationView.CitationListView({ collection: citations } );
+                var citation_list_view = new CitationView.CitationListView({ el: $citations, collection: citations } );
                 citation_list_view.render();
                 citations.fetch();
-                
-                // append to element
-                this.$el.append(citation_list_view.$el);
+                this.$el.append($citations);
             }
             
             // append tool section
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b static/scripts/mvc/tools/tools-repeat.js
--- a/static/scripts/mvc/tools/tools-repeat.js
+++ b/static/scripts/mvc/tools/tools-repeat.js
@@ -73,10 +73,10 @@
         
         // create portlet
         var portlet = new Portlet.View({
-            id      : options.id,
-            title   : '<b>' + options.title + '</b>',
-            cls     : 'ui-portlet-repeat',
-            operations : {
+            id              : options.id,
+            title           : '<b>' + options.title + '</b>',
+            cls             : 'ui-portlet-repeat',
+            operations      : {
                 button_delete : button_delete
             }
         });
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b static/scripts/mvc/ui/ui-portlet.js
--- a/static/scripts/mvc/ui/ui-portlet.js
+++ b/static/scripts/mvc/ui/ui-portlet.js
@@ -8,15 +8,16 @@
     
     // defaults options
     optionsDefault: {
-        title       : '',
-        icon        : '',
-        buttons     : null,
-        body        : null,
-        scrollable  : true,
-        nopadding   : false,
-        operations  : null,
-        placement   : 'bottom',
-        cls         : 'ui-portlet'
+        title           : '',
+        icon            : '',
+        buttons         : null,
+        body            : null,
+        scrollable      : true,
+        nopadding       : false,
+        operations      : null,
+        placement       : 'bottom',
+        cls             : 'ui-portlet',
+        operations_flt  : 'right'
     },
     
     // elements
@@ -157,7 +158,7 @@
         
         if (options.title) {
             tmpl +=     '<div id="portlet-header" class="portlet-header">' +
-                            '<div id="operations" style="float: right;"></div>' +
+                            '<div id="operations" style="float: ' + options.operations_flt + ';"></div>' +
                             '<div class="portlet-title">';
                             
             if (options.icon)
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b static/scripts/mvc/ui/ui-slider.js
--- a/static/scripts/mvc/ui/ui-slider.js
+++ b/static/scripts/mvc/ui/ui-slider.js
@@ -46,7 +46,7 @@
             this.$el.find('.ui-form-slider-text').css('width', '100%');
         }
         
-        // backup integer field
+        // link text input field
         this.$text = this.$el.find('#text');
         
         // add text field event
@@ -55,10 +55,17 @@
         });
         
         // add text field event
-        this.$text.on('keydown', function (event) {
-            var v = event.which;
-            if (!(v == 8 || v == 9 || v == 13 || v == 37 || v == 39 || v == 189 || (v >= 48 && v <= 57)
-                || (self.options.precise && $(this).val().indexOf('.') == -1) && v == 190)) {
+        var pressed = [];
+        this.$text.on('keyup', function(e) {
+            pressed[e.which] = false;
+        });
+        this.$text.on('keydown', function (e) {
+            var v = e.which;
+            pressed[v] = true;
+            if (!(v == 8 || v == 9 || v == 13 || v == 37 || v == 39 || (v >= 48 && v <= 57)
+                || (v == 190 && $(this).val().indexOf('.') == -1 && self.options.precise)
+                || (v == 189 && $(this).val().indexOf('-') == -1)
+                || pressed[91] || pressed[17])) {
                 event.preventDefault();
             }
         });
@@ -67,6 +74,11 @@
     // value
     value : function (new_val) {
         if (new_val !== undefined) {
+            // check if its a number
+            if (isNaN(new_val)) {
+                new_val = 0;
+            }
+            
             // apply limit
             if (this.options.max !== null) {
                 new_val = Math.min(new_val, this.options.max);
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b static/scripts/packed/mvc/tools/tools-form.js
--- a/static/scripts/packed/mvc/tools/tools-form.js
+++ b/static/scripts/packed/mvc/tools/tools-form.js
@@ -1,1 +1,1 @@
-define(["utils/utils","utils/deferred","mvc/ui/ui-portlet","mvc/ui/ui-misc","mvc/citation/citation-model","mvc/citation/citation-view","mvc/tools","mvc/tools/tools-template","mvc/tools/tools-content","mvc/tools/tools-section","mvc/tools/tools-tree","mvc/tools/tools-jobs"],function(i,j,h,m,k,a,e,d,f,l,c,g){var b=Backbone.View.extend({container:"body",initialize:function(o){console.debug(o);var n=this;var p=parent.Galaxy;if(p&&p.modal){this.modal=p.modal}else{this.modal=new m.Modal.View()}if(p&&p.currUser){this.is_admin=p.currUser.get("is_admin")}else{this.is_admin=false}this.options=o;this.deferred=new j();this.setElement("<div/>");$(this.container).append(this.$el);this.tree=new c(this);this.job_handler=new g(this);this.content=new f(this);this._buildForm(o)},message:function(n){$(this.container).empty();$(this.container).append(n)},reset:function(){for(var n in this.element_list){this.element_list[n].reset()}},rebuild:function(){this.tree.refresh();console.debug("tools-form::rebuild() - Rebuilding data structures.")},refresh:function(){if(!this.is_dynamic){return}var n=this;this.deferred.reset();this.deferred.execute(function(){n._updateModel()})},_buildModel:function(){var n=this;var o=galaxy_config.root+"api/tools/"+this.options.id+"/build?";if(this.options.job_id){o+="job_id="+this.options.job_id}else{if(this.options.dataset_id){o+="dataset_id="+this.options.dataset_id}else{var p=top.location.href;var q=p.indexOf("?");if(p.indexOf("tool_id=")!=-1&&q!==-1){o+=p.slice(q+1)}}}i.request({type:"GET",url:o,success:function(r){n.options=$.extend(n.options,r);n.model=r;n.inputs=r.inputs;console.debug("tools-form::initialize() - Initial tool model ready.");console.debug(r);n._buildForm()},error:function(r){console.debug("tools-form::initialize() - Initial tool model request failed.");console.debug(r)}})},_updateModel:function(){var n=this;var o=this.tree.finalize({data:function(r){if(r.values.length>0&&r.values[0]&&r.values[0].src==="hda"){return n.content.get({id:r.values[0].id,src:"hda"}).id_uncoded}return null}});console.debug("tools-form::_refreshForm() - Refreshing states.");console.debug(o);function q(u){for(var s in n.input_list){var t=n.field_list[s];var r=n.input_list[s];if(r.is_dynamic&&t.wait&&t.unwait){if(u){t.wait()}else{t.unwait()}}}}q(true);var p=this.deferred.register();i.request({type:"GET",url:galaxy_config.root+"api/tools/"+this.options.id+"/build",data:o,success:function(r){n._updateForm(r);q(false);n.deferred.done(p);console.debug("tools-form::_refreshForm() - States refreshed.");console.debug(r)},error:function(r){n.deferred.done(p);console.debug("tools-form::_refreshForm() - Refresh request failed.");console.debug(r)}})},_updateForm:function(n){var o=this;this.tree.matchModel(n,function(q,u){var p=o.input_list[q];if(p&&p.options){if(JSON.stringify(p.options)!=JSON.stringify(u.options)){p.options=u.options;var v=o.field_list[q];if(v.update){var t=[];switch(p.type){case"data":t=p.options;break;default:for(var s in u.options){var r=u.options[s];if(r.length>2){t.push({label:r[0],value:r[1]})}}}v.update(t);v.trigger("change");console.debug("Updating options for "+q)}}}})},_buildForm:function(p){var o=this;this.field_list={};this.input_list={};this.element_list={};this.model=p;this.inputs=p.inputs;var r=new m.ButtonMenu({icon:"fa-gear",tooltip:"Click to see a list of options."});if(p.biostar_url){r.addMenu({icon:"fa-question-circle",title:"Question?",tooltip:"Ask a question about this tool (Biostar)",onclick:function(){window.open(o.options.biostar_url+"/p/new/post/")}});r.addMenu({icon:"fa-search",title:"Search",tooltip:"Search help for this tool (Biostar)",onclick:function(){window.open(o.options.biostar_url+"/t/"+o.options.id+"/")}})}r.addMenu({icon:"fa-share",title:"Share",tooltip:"Share this tool",onclick:function(){prompt("Copy to clipboard: Ctrl+C, Enter",window.location.origin+galaxy_config.root+"root?tool_id="+o.options.id)}});if(this.is_admin){r.addMenu({icon:"fa-download",title:"Download",tooltip:"Download this tool",onclick:function(){window.location.href=galaxy_config.root+"api/tools/"+o.options.id+"/download"}})}this.section=new l.View(o,{inputs:this.inputs,cls:"ui-table-plain"});if(this.incompatible){this.$el.hide();$("#tool-form-classic").show();return}this.portlet=new h.View({icon:"fa-wrench",title:"<b>"+this.model.name+"</b> "+this.model.description,operations:{menu:r},buttons:{execute:new m.Button({icon:"fa-check",tooltip:"Execute the tool",title:"Execute",cls:"btn btn-primary",floating:"clear",onclick:function(){o.job_handler.submit()}})}});this.$el.empty();this.$el.append(this.portlet.$el);if(p.help!=""){this.$el.append(d.help(p.help))}if(p.citations){var n=new k.ToolCitationCollection();n.tool_id=p.id;var q=new a.CitationListView({collection:n});q.render();n.fetch();this.$el.append(q.$el)}this.portlet.append(this.section.$el);this.rebuild()}});return{View:b}});
\ No newline at end of file
+define(["utils/utils","utils/deferred","mvc/ui/ui-portlet","mvc/ui/ui-misc","mvc/citation/citation-model","mvc/citation/citation-view","mvc/tools","mvc/tools/tools-template","mvc/tools/tools-content","mvc/tools/tools-section","mvc/tools/tools-tree","mvc/tools/tools-jobs"],function(i,j,h,m,k,a,e,d,f,l,c,g){var b=Backbone.View.extend({container:"body",initialize:function(o){console.debug(o);var n=this;var p=parent.Galaxy;if(p&&p.modal){this.modal=p.modal}else{this.modal=new m.Modal.View()}if(p&&p.currUser){this.is_admin=p.currUser.get("is_admin")}else{this.is_admin=false}this.options=o;this.deferred=new j();this.setElement("<div/>");$(this.container).append(this.$el);this.tree=new c(this);this.job_handler=new g(this);this.content=new f(this);this._buildForm(o)},message:function(n){$(this.container).empty();$(this.container).append(n)},reset:function(){for(var n in this.element_list){this.element_list[n].reset()}},rebuild:function(){this.tree.refresh();console.debug("tools-form::rebuild() - Rebuilding data structures.")},refresh:function(){if(!this.is_dynamic){return}var n=this;this.deferred.reset();this.deferred.execute(function(){n._updateModel()})},_buildModel:function(){var n=this;var o=galaxy_config.root+"api/tools/"+this.options.id+"/build?";if(this.options.job_id){o+="job_id="+this.options.job_id}else{if(this.options.dataset_id){o+="dataset_id="+this.options.dataset_id}else{var p=top.location.href;var q=p.indexOf("?");if(p.indexOf("tool_id=")!=-1&&q!==-1){o+=p.slice(q+1)}}}i.request({type:"GET",url:o,success:function(r){n.options=$.extend(n.options,r);n.model=r;n.inputs=r.inputs;console.debug("tools-form::initialize() - Initial tool model ready.");console.debug(r);n._buildForm()},error:function(r){console.debug("tools-form::initialize() - Initial tool model request failed.");console.debug(r)}})},_updateModel:function(){var n=this;var o=this.tree.finalize({data:function(r){if(r.values.length>0&&r.values[0]&&r.values[0].src==="hda"){return n.content.get({id:r.values[0].id,src:"hda"}).id_uncoded}return null}});console.debug("tools-form::_refreshForm() - Refreshing states.");console.debug(o);function q(u){for(var s in n.input_list){var t=n.field_list[s];var r=n.input_list[s];if(r.is_dynamic&&t.wait&&t.unwait){if(u){t.wait()}else{t.unwait()}}}}q(true);var p=this.deferred.register();i.request({type:"GET",url:galaxy_config.root+"api/tools/"+this.options.id+"/build",data:o,success:function(r){n._updateForm(r);q(false);n.deferred.done(p);console.debug("tools-form::_refreshForm() - States refreshed.");console.debug(r)},error:function(r){n.deferred.done(p);console.debug("tools-form::_refreshForm() - Refresh request failed.");console.debug(r)}})},_updateForm:function(n){var o=this;this.tree.matchModel(n,function(q,u){var p=o.input_list[q];if(p&&p.options){if(JSON.stringify(p.options)!=JSON.stringify(u.options)){p.options=u.options;var v=o.field_list[q];if(v.update){var t=[];switch(p.type){case"data":t=p.options;break;default:for(var s in u.options){var r=u.options[s];if(r.length>2){t.push({label:r[0],value:r[1]})}}}v.update(t);v.trigger("change");console.debug("Updating options for "+q)}}}})},_buildForm:function(p){var o=this;this.field_list={};this.input_list={};this.element_list={};this.model=p;this.inputs=p.inputs;var s=new m.ButtonMenu({icon:"fa-gear",tooltip:"Click to see a list of options."});if(p.biostar_url){s.addMenu({icon:"fa-question-circle",title:"Question?",tooltip:"Ask a question about this tool (Biostar)",onclick:function(){window.open(o.options.biostar_url+"/p/new/post/")}});s.addMenu({icon:"fa-search",title:"Search",tooltip:"Search help for this tool (Biostar)",onclick:function(){window.open(o.options.biostar_url+"/t/"+o.options.id+"/")}})}s.addMenu({icon:"fa-share",title:"Share",tooltip:"Share this tool",onclick:function(){prompt("Copy to clipboard: Ctrl+C, Enter",window.location.origin+galaxy_config.root+"root?tool_id="+o.options.id)}});if(this.is_admin){s.addMenu({icon:"fa-download",title:"Download",tooltip:"Download this tool",onclick:function(){window.location.href=galaxy_config.root+"api/tools/"+o.options.id+"/download"}})}this.section=new l.View(o,{inputs:this.inputs,cls:"ui-table-plain"});if(this.incompatible){this.$el.hide();$("#tool-form-classic").show();return}this.portlet=new h.View({icon:"fa-wrench",title:"<b>"+this.model.name+"</b> "+this.model.description,operations:{menu:s},buttons:{execute:new m.Button({icon:"fa-check",tooltip:"Execute the tool",title:"Execute",cls:"btn btn-primary",floating:"clear",onclick:function(){o.job_handler.submit()}})}});this.$el.empty();this.$el.append(this.portlet.$el);if(p.help!=""){this.$el.append(d.help(p.help))}if(p.citations){var r=$("<div/>");var n=new k.ToolCitationCollection();n.tool_id=p.id;var q=new a.CitationListView({el:r,collection:n});q.render();n.fetch();this.$el.append(r)}this.portlet.append(this.section.$el);this.rebuild()}});return{View:b}});
\ No newline at end of file
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b static/scripts/packed/mvc/ui/ui-portlet.js
--- a/static/scripts/packed/mvc/ui/ui-portlet.js
+++ b/static/scripts/packed/mvc/ui/ui-portlet.js
@@ -1,1 +1,1 @@
-define(["utils/utils"],function(a){var b=Backbone.View.extend({visible:false,optionsDefault:{title:"",icon:"",buttons:null,body:null,scrollable:true,nopadding:false,operations:null,placement:"bottom",cls:"ui-portlet"},$title:null,$content:null,$buttons:null,$operations:null,initialize:function(e){this.options=a.merge(e,this.optionsDefault);this.setElement(this._template(this.options));this.$content=this.$el.find("#content");this.$title=this.$el.find("#portlet-title-text");var d=this.$el.find("#portlet-content");if(!this.options.scrollable){if(this.options.title){d.addClass("no-scroll")}else{d.addClass("no-scroll-no-title")}}else{d.addClass("scroll")}if(this.options.nopadding){d.css("padding","0px");this.$content.css("padding","0px")}this.$buttons=$(this.el).find("#buttons");if(this.options.buttons){var c=this;$.each(this.options.buttons,function(f,g){g.$el.prop("id",f);c.$buttons.append(g.$el)})}else{this.$buttons.remove()}this.$operations=$(this.el).find("#operations");if(this.options.operations){var c=this;$.each(this.options.operations,function(f,g){g.$el.prop("id",f);c.$operations.append(g.$el)})}if(this.options.body){this.append(this.options.body)}},append:function(c){this.$content.append(a.wrap(c))},content:function(){return this.$content},show:function(){this.$el.fadeIn("fast");this.visible=true},hide:function(){this.$el.fadeOut("fast");this.visible=false},enableButton:function(c){this.$buttons.find("#"+c).prop("disabled",false)},disableButton:function(c){this.$buttons.find("#"+c).prop("disabled",true)},hideOperation:function(c){this.$operations.find("#"+c).hide()},showOperation:function(c){this.$operations.find("#"+c).show()},setOperation:function(e,d){var c=this.$operations.find("#"+e);c.off("click");c.on("click",d)},title:function(d){var c=this.$title;if(d){c.html(d)}return c.html()},_template:function(d){var c='<div id="'+d.id+'" class="'+d.cls+'">';if(d.title){c+='<div id="portlet-header" class="portlet-header"><div id="operations" style="float: right;"></div><div class="portlet-title">';if(d.icon){c+='<i class="icon fa '+d.icon+'"> </i>'}c+='<span id="portlet-title-text" class="portlet-title-text">'+d.title+"</span></div></div>"}c+='<div id="portlet-content" class="portlet-content">';if(d.placement=="top"){c+='<div id="buttons" class="buttons"></div>'}c+='<div id="content" class="content"></div>';if(d.placement=="bottom"){c+='<div id="buttons" class="buttons"></div>'}c+="</div></div>";return c}});return{View:b}});
\ No newline at end of file
+define(["utils/utils"],function(a){var b=Backbone.View.extend({visible:false,optionsDefault:{title:"",icon:"",buttons:null,body:null,scrollable:true,nopadding:false,operations:null,placement:"bottom",cls:"ui-portlet",operations_flt:"right"},$title:null,$content:null,$buttons:null,$operations:null,initialize:function(e){this.options=a.merge(e,this.optionsDefault);this.setElement(this._template(this.options));this.$content=this.$el.find("#content");this.$title=this.$el.find("#portlet-title-text");var d=this.$el.find("#portlet-content");if(!this.options.scrollable){if(this.options.title){d.addClass("no-scroll")}else{d.addClass("no-scroll-no-title")}}else{d.addClass("scroll")}if(this.options.nopadding){d.css("padding","0px");this.$content.css("padding","0px")}this.$buttons=$(this.el).find("#buttons");if(this.options.buttons){var c=this;$.each(this.options.buttons,function(f,g){g.$el.prop("id",f);c.$buttons.append(g.$el)})}else{this.$buttons.remove()}this.$operations=$(this.el).find("#operations");if(this.options.operations){var c=this;$.each(this.options.operations,function(f,g){g.$el.prop("id",f);c.$operations.append(g.$el)})}if(this.options.body){this.append(this.options.body)}},append:function(c){this.$content.append(a.wrap(c))},content:function(){return this.$content},show:function(){this.$el.fadeIn("fast");this.visible=true},hide:function(){this.$el.fadeOut("fast");this.visible=false},enableButton:function(c){this.$buttons.find("#"+c).prop("disabled",false)},disableButton:function(c){this.$buttons.find("#"+c).prop("disabled",true)},hideOperation:function(c){this.$operations.find("#"+c).hide()},showOperation:function(c){this.$operations.find("#"+c).show()},setOperation:function(e,d){var c=this.$operations.find("#"+e);c.off("click");c.on("click",d)},title:function(d){var c=this.$title;if(d){c.html(d)}return c.html()},_template:function(d){var c='<div id="'+d.id+'" class="'+d.cls+'">';if(d.title){c+='<div id="portlet-header" class="portlet-header"><div id="operations" style="float: '+d.operations_flt+';"></div><div class="portlet-title">';if(d.icon){c+='<i class="icon fa '+d.icon+'"> </i>'}c+='<span id="portlet-title-text" class="portlet-title-text">'+d.title+"</span></div></div>"}c+='<div id="portlet-content" class="portlet-content">';if(d.placement=="top"){c+='<div id="buttons" class="buttons"></div>'}c+='<div id="content" class="content"></div>';if(d.placement=="bottom"){c+='<div id="buttons" class="buttons"></div>'}c+="</div></div>";return c}});return{View:b}});
\ No newline at end of file
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b static/scripts/packed/mvc/ui/ui-slider.js
--- a/static/scripts/packed/mvc/ui/ui-slider.js
+++ b/static/scripts/packed/mvc/ui/ui-slider.js
@@ -1,1 +1,1 @@
-define(["utils/utils"],function(a){var b=Backbone.View.extend({optionsDefault:{value:"",min:null,max:null,step:null,precise:false,split:10000},initialize:function(d){var c=this;this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));this.useslider=this.options.max!==null&&this.options.min!==null&&this.options.max>this.options.min;if(this.options.step===null){this.options.step=1;if(this.options.precise&&this.useslider){this.options.step=(this.options.max-this.options.min)/this.options.split}}if(this.useslider){this.$slider=this.$el.find("#slider");this.$slider.slider(this.options);this.$slider.on("slide",function(e,f){c.value(f.value)})}else{this.$el.find(".ui-form-slider-text").css("width","100%")}this.$text=this.$el.find("#text");this.$text.on("change",function(){c.value($(this).val())});this.$text.on("keydown",function(f){var e=f.which;if(!(e==8||e==9||e==13||e==37||e==39||e==189||(e>=48&&e<=57)||(c.options.precise&&$(this).val().indexOf(".")==-1)&&e==190)){f.preventDefault()}})},value:function(c){if(c!==undefined){if(this.options.max!==null){c=Math.min(c,this.options.max)}if(this.options.min!==null){c=Math.max(c,this.options.min)}if(this.options.onchange){this.options.onchange(c)}this.$slider&&this.$slider.slider("value",c);this.$text.val(c)}return this.$text.val()},_template:function(c){return'<div id="'+c.id+'" class="ui-form-slider"><input id="text" type="text" class="ui-form-slider-text"/><div id="slider" class="ui-form-slider-element"/></div>'}});return{View:b}});
\ No newline at end of file
+define(["utils/utils"],function(a){var b=Backbone.View.extend({optionsDefault:{value:"",min:null,max:null,step:null,precise:false,split:10000},initialize:function(d){var c=this;this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));this.useslider=this.options.max!==null&&this.options.min!==null&&this.options.max>this.options.min;if(this.options.step===null){this.options.step=1;if(this.options.precise&&this.useslider){this.options.step=(this.options.max-this.options.min)/this.options.split}}if(this.useslider){this.$slider=this.$el.find("#slider");this.$slider.slider(this.options);this.$slider.on("slide",function(f,g){c.value(g.value)})}else{this.$el.find(".ui-form-slider-text").css("width","100%")}this.$text=this.$el.find("#text");this.$text.on("change",function(){c.value($(this).val())});var e=[];this.$text.on("keyup",function(f){e[f.which]=false});this.$text.on("keydown",function(g){var f=g.which;e[f]=true;if(!(f==8||f==9||f==13||f==37||f==39||(f>=48&&f<=57)||(f==190&&$(this).val().indexOf(".")==-1&&c.options.precise)||(f==189&&$(this).val().indexOf("-")==-1)||e[91]||e[17])){event.preventDefault()}})},value:function(c){if(c!==undefined){if(isNaN(c)){c=0}if(this.options.max!==null){c=Math.min(c,this.options.max)}if(this.options.min!==null){c=Math.max(c,this.options.min)}if(this.options.onchange){this.options.onchange(c)}this.$slider&&this.$slider.slider("value",c);this.$text.val(c)}return this.$text.val()},_template:function(c){return'<div id="'+c.id+'" class="ui-form-slider"><input id="text" type="text" class="ui-form-slider-text"/><div id="slider" class="ui-form-slider-element"/></div>'}});return{View:b}});
\ No newline at end of file
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b static/style/blue/base.css
--- a/static/style/blue/base.css
+++ b/static/style/blue/base.css
@@ -1307,7 +1307,7 @@
 .ui-portlet .portlet-buttons{height:50px;padding:10px}
 .ui-portlet .portlet-content{height:inherit;padding:10px;clear:both}.ui-portlet .portlet-content .content{padding:10px;height:100%;width:100%}.ui-portlet .portlet-content .content .buttons{height:50px;padding:10px}
 .ui-portlet .no-scroll{height:calc(100% - 80px)}
-.ui-portlet-repeat{border:none;border-left:solid 3px #ebd9b2;border-radius:5px}.ui-portlet-repeat .portlet-header{background:#ebd9b2;border-radius:3px;border-bottom-left-radius:0px;padding:0px 2px}
+.ui-portlet-repeat{border:none;border-left:solid 3px #ebd9b2;border-radius:5px;display:inline-block}.ui-portlet-repeat .portlet-header{background:#ebd9b2;border-radius:3px;border-bottom-left-radius:0px;padding:0px 2px}
 .ui-portlet-repeat .portlet-content{padding:0px}.ui-portlet-repeat .portlet-content .content{padding:0px;padding-left:10px}
 .ui-popover{max-width:700px;display:none}.ui-popover .popover-close{position:absolute;right:10px;top:7px;font-size:1.2em;cursor:pointer}
 .ui-popover .popover-title{padding:4px 10px}
diff -r 18e4aea56a74618c69b6407a52af03ce179c914b -r 3d9e14ac53cc9d10bd6cf1006e4d2c196cd72e9b static/style/src/less/ui.less
--- a/static/style/src/less/ui.less
+++ b/static/style/src/less/ui.less
@@ -205,6 +205,7 @@
     border: none;
     border-left: solid 3px @form-heading-bg;
     border-radius: 5px;
+    display: inline-block;
     .portlet-header {
         background: @form-heading-bg;
         border-radius: 3px;
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            commit/galaxy-central: natefoo: Update tag latest_2014.10.06 for changeset e6de07f8c01f
                        
                        
by commits-noreply@bitbucket.org 14 Nov '14
                    by commits-noreply@bitbucket.org 14 Nov '14
14 Nov '14
                    
                        1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/9c1197f1e259/
Changeset:   9c1197f1e259
Branch:      stable
User:        natefoo
Date:        2014-11-14 14:00:21+00:00
Summary:     Update tag latest_2014.10.06 for changeset e6de07f8c01f
Affected #:  1 file
diff -r e6de07f8c01fe8802282eea1bee326c5efba1b78 -r 9c1197f1e259f7925be467f2f6f92fa3e7a5e86c .hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -20,4 +20,4 @@
 ca45b78adb4152fc6e7395514d46eba6b7d0b838 release_2014.08.11
 548ab24667d6206780237bd807f7d857a484c461 latest_2014.08.11
 2092948937ac30ef82f71463a235c66d34987088 release_2014.10.06
-c9759aa6e40f887dec2d27d2f244d6fd7c28e6de latest_2014.10.06
+e6de07f8c01fe8802282eea1bee326c5efba1b78 latest_2014.10.06
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0