From d995301098e7daef2d7e1bc6bfccfc759933482d Mon Sep 17 00:00:00 2001 From: Aysam Guerler Date: Tue, 19 Aug 2014 15:01:57 -0400 Subject: [PATCH] ToolForm: Add data selector, dynamic column selector and checkboxes, extends json content for basic parameters --- .../visualizations/charts/static/build-app.js | 2 +- .../charts/static/library/ui-table-form.js | 2 +- .../charts/static/views/types.js | 2 +- lib/galaxy/tools/parameters/basic.py | 14 + static/scripts/mvc/tools/tools-datasets.js | 46 +++ static/scripts/mvc/tools/tools-form.js | 268 +++++++++++++----- static/scripts/mvc/tools/tools-template.js | 19 ++ static/scripts/mvc/ui/ui-checkbox.js | 91 ++++++ static/scripts/mvc/ui/ui-misc.js | 89 +----- static/scripts/mvc/ui/ui-radiobutton.js | 93 ++++++ .../packed/mvc/tools/tools-datasets.js | 1 + static/scripts/packed/mvc/tools/tools-form.js | 2 +- .../packed/mvc/tools/tools-template.js | 1 + static/scripts/packed/mvc/ui/ui-checkbox.js | 1 + static/scripts/packed/mvc/ui/ui-misc.js | 2 +- .../scripts/packed/mvc/ui/ui-radiobutton.js | 1 + templates/webapps/galaxy/tool_form.api.mako | 43 ++- 17 files changed, 505 insertions(+), 172 deletions(-) create mode 100644 static/scripts/mvc/tools/tools-datasets.js create mode 100644 static/scripts/mvc/tools/tools-template.js create mode 100644 static/scripts/mvc/ui/ui-checkbox.js create mode 100644 static/scripts/mvc/ui/ui-radiobutton.js create mode 100644 static/scripts/packed/mvc/tools/tools-datasets.js create mode 100644 static/scripts/packed/mvc/tools/tools-template.js create mode 100644 static/scripts/packed/mvc/ui/ui-checkbox.js create mode 100644 static/scripts/packed/mvc/ui/ui-radiobutton.js diff --git a/config/plugins/visualizations/charts/static/build-app.js b/config/plugins/visualizations/charts/static/build-app.js index 65b143ca3c4..ee6426065df 100644 --- a/config/plugins/visualizations/charts/static/build-app.js +++ b/config/plugins/visualizations/charts/static/build-app.js @@ -3,4 +3,4 @@ // (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. // Underscore may be freely distributed under the MIT license. -define("mvc/ui/ui-modal",[],function(){var e=Backbone.View.extend({elMain:"body",optionsDefault:{title:"ui-modal",body:"",backdrop:!0,height:null,width:null,closing_events:!1,closing_callback:null},buttonList:{},initialize:function(e){e&&this._create(e)},show:function(e){this.initialize(e),this.options.height?(this.$body.css("height",this.options.height),this.$body.css("overflow","hidden")):this.$body.css("max-height",$(window).height()/2),this.options.width&&this.$dialog.css("width",this.options.width),this.visible?this.$el.show():this.$el.fadeIn("fast"),this.visible=!0},hide:function(){this.visible=!1,this.$el.fadeOut("fast"),this.options.closing_callback&&this.options.closing_callback()},enableButton:function(e){var t=this.buttonList[e];this.$buttons.find("#"+t).prop("disabled",!1)},disableButton:function(e){var t=this.buttonList[e];this.$buttons.find("#"+t).prop("disabled",!0)},showButton:function(e){var t=this.buttonList[e];this.$buttons.find("#"+t).show()},hideButton:function(e){var t=this.buttonList[e];this.$buttons.find("#"+t).hide()},getButton:function(e){var t=this.buttonList[e];return this.$buttons.find("#"+t)},scrollTop:function(){return this.$body.scrollTop()},_create:function(e){var t=this;this.options=_.defaults(e,this.optionsDefault),this.options.body=="progress"&&(this.options.body=$('
')),this.$el&&(this.$el.remove(),$(document).off("keyup.ui-modal")),this.setElement(this._template(this.options.title)),this.$dialog=this.$el.find(".modal-dialog"),this.$body=this.$el.find(".modal-body"),this.$footer=this.$el.find(".modal-footer"),this.$buttons=this.$el.find(".buttons"),this.$backdrop=this.$el.find(".modal-backdrop"),this.$body.html(this.options.body),this.options.backdrop||this.$backdrop.removeClass("in");if(this.options.buttons){this.buttonList={};var n=0;$.each(this.options.buttons,function(e,r){var i="button-"+n++;t.$buttons.append($('').text(e).click(r)).append(" "),t.buttonList[e]=i})}else this.$footer.hide();$(this.elMain).append($(this.el)),this.options.closing_events&&($(document).on("keyup.ui-modal",function(e){e.keyCode==27&&t.hide()}),this.$el.find(".modal-backdrop").on("click",function(){t.hide()}))},_template:function(e){return'