From bcd7dbdd66ea4a1dfe201735b1307882736c5179 Mon Sep 17 00:00:00 2001 From: Jeremy Goecks Date: Wed, 27 Jun 2012 12:12:43 -0400 Subject: [PATCH] Add tipsy config to icon buttons and add tipsy to paramamonster. --- static/scripts/mvc/ui.js | 18 ++++++++++++++---- static/scripts/viz/paramamonster.js | 12 ++++++++---- templates/tracks/browser.mako | 8 ++++---- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/static/scripts/mvc/ui.js b/static/scripts/mvc/ui.js index e2a63d6df9d..dccc339a7d2 100644 --- a/static/scripts/mvc/ui.js +++ b/static/scripts/mvc/ui.js @@ -8,10 +8,14 @@ * defines an icon button. Each dictionary must have the following * elements: icon_class, title, and on_click. */ -var create_icon_buttons_menu = function(config) { +var create_icon_buttons_menu = function(config, global_config) { + if (!global_config) { global_config = {}; } + // Create and initialize menu. var buttons = new IconButtonCollection( - _.map(config, function(button_config) { return new IconButton(button_config); }) + _.map(config, function(button_config) { + return new IconButton(_.extend(button_config, global_config)); + }) ); return new IconButtonMenuView( {collection: buttons} ); @@ -38,7 +42,8 @@ var IconButton = Backbone.Model.extend({ defaults: { title: "", icon_class: "", - on_click: null + on_click: null, + tipsy_config: {} } }); @@ -60,12 +65,17 @@ var IconButtonMenuView = Backbone.View.extend({ var self = this; this.collection.each(function(button) { // Create and add icon button to menu. - $("").attr('href', 'javascript:void(0)') + var elt = + $('').attr('href', 'javascript:void(0)') .attr('title', button.attributes.title) .addClass('icon-button menu-button') .addClass(button.attributes.icon_class) .appendTo(self.$el) .click(button.attributes.on_click); + + if (button.attributes.tipsy_config) { + elt.tipsy(button.attributes.tipsy_config); + } }); return this; } diff --git a/static/scripts/viz/paramamonster.js b/static/scripts/viz/paramamonster.js index e65c684c977..c10f692f49c 100644 --- a/static/scripts/viz/paramamonster.js +++ b/static/scripts/viz/paramamonster.js @@ -294,7 +294,8 @@ var ParamaMonsterTrackView = Backbone.View.extend({ icon_class: 'gear track-settings', on_click: function () { settings_div.toggle(); - } + }, + tipsy_config: { gravity: 's' } } ]); settings_td.prepend(icon_menu.$el); @@ -390,7 +391,7 @@ var ToolInputValOrSweepView = Backbone.View.extend({ var self = this, menu = create_icon_buttons_menu([ { - title: 'Add', + title: 'Add parameter to tree', icon_class: 'plus-button', on_click: function () { input.set('in_ptree', true); @@ -400,7 +401,7 @@ var ToolInputValOrSweepView = Backbone.View.extend({ }, { - title: 'Remove', + title: 'Remove parameter from tree', icon_class: 'toggle', on_click: function() { // Remove parameter from tree params where name matches clicked paramter. @@ -409,7 +410,10 @@ var ToolInputValOrSweepView = Backbone.View.extend({ single_input_row.show(); } } - ]); + ], + { + tipsy_config: {gravity: 's'} + }); this.$el.prepend(menu.$el); // Update input's min, max, number of samples as values change. diff --git a/templates/tracks/browser.mako b/templates/tracks/browser.mako index 969554b28cd..35f5c8234f5 100644 --- a/templates/tracks/browser.mako +++ b/templates/tracks/browser.mako @@ -177,14 +177,14 @@ ${h.js( "galaxy.base", "galaxy.panels", "json2", "jquery", "jstorage", "jquery.e { icon_class: 'cross-circle', title: 'Close', on_click: function() { window.location = "${h.url_for( controller='visualization', action='list' )}"; } } - ]); + ], + { + tipsy_config: {gravity: 'n'} + }); menu.$el.attr("style", "float: right"); $("#center .unified-panel-header-inner").append(menu.$el); - // Manual tipsy config because default gravity is S and cannot be changed. - $(".menu-button").tipsy( {gravity: 'n'} ); - // Hide bookmarks by default right now. parent.force_right_panel("hide");