1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/59070b73fde8/
Changeset: 59070b73fde8
User: guerler
Date: 2014-08-28 22:35:59
Summary: ToolForm: Adds limits for repeat blocks and fixes
Affected #: 8 files
diff -r 8d307a592c729ffe5e20aed1f33a56ec6aca0ee9 -r
59070b73fde89d72dae1e5ecdb53df52998a12f2 static/scripts/mvc/tools/tools-form.js
--- a/static/scripts/mvc/tools/tools-form.js
+++ b/static/scripts/mvc/tools/tools-form.js
@@ -36,7 +36,7 @@
this.field_list = {};
// reset sequential input definition list
- this.inputs_sequential = {};
+ this.input_list = {};
// create data model
this.data = new Backbone.Model();
diff -r 8d307a592c729ffe5e20aed1f33a56ec6aca0ee9 -r
59070b73fde89d72dae1e5ecdb53df52998a12f2 static/scripts/mvc/tools/tools-section.js
--- a/static/scripts/mvc/tools/tools-section.js
+++ b/static/scripts/mvc/tools/tools-section.js
@@ -54,91 +54,131 @@
input_def.id = Utils.uuid();
// add to sequential list of inputs
- this.app.inputs_sequential[input_def.id] = input_def;
+ this.app.input_list[input_def.id] = input_def;
// identify field type
var type = input_def.type;
switch(type) {
// conditional field
case 'conditional':
- // add label to input definition root
- input_def.label = input_def.test_param.label;
-
- // add value to input definition root
- input_def.value = input_def.test_param.value;
-
- // build options field
- this._addRow('conditional', input_def, data);
-
- // add fields
- for (var i in input_def.cases) {
- // create id tag
- var sub_section_id = input_def.id + '-section-' + i;
-
- // create sub section
- var sub_section = new View(this.app, {
- inputs : input_def.cases[i].inputs,
- cls : 'ui-table-plain'
- });
-
- // append sub section
- this.table.add('');
- this.table.add(sub_section.$el);
- this.table.append(sub_section_id);
- }
+ this._addConditional(input_def, data);
break;
// repeat block
case 'repeat':
- // create tab field
- var tabs = new Tabs.View({
- title_new : 'Add ' + input_def.title,
- onnew : function() {
- // create id tag
- var sub_section_id = input_def.id + '-section-' +
Utils.uuid();
-
- // create sub section
- var sub_section = new View(self.app, {
- inputs : input_def.inputs,
- cls : 'ui-table-plain'
- });
-
- // add new tab
- tabs.add({
- id : sub_section_id,
- title : input_def.title,
- $el : sub_section.$el,
- ondel : function() {
- // delete tab
- tabs.del(sub_section_id);
-
- // retitle tabs
- tabs.retitle(input_def.title);
-
- // trigger refresh
- self.app.refresh();
- }
- });
+ this._addRepeat(input_def);
+ break;
+ // default single element row
+ default:
+ this._addRow(type, input_def, data);
+ }
+ },
+
+ // add conditional block
+ _addConditional: function(input_def, data) {
+ // add label to input definition root
+ input_def.label = input_def.test_param.label;
+
+ // add value to input definition root
+ input_def.value = input_def.test_param.value;
+
+ // build options field
+ this._addRow('conditional', input_def, data);
+
+ // add fields
+ for (var i in input_def.cases) {
+ // create id tag
+ var sub_section_id = input_def.id + '-section-' + i;
+
+ // create sub section
+ var sub_section = new View(this.app, {
+ inputs : input_def.cases[i].inputs,
+ cls : 'ui-table-plain'
+ });
+
+ // append sub section
+ this.table.add('');
+ this.table.add(sub_section.$el);
+ this.table.append(sub_section_id);
+ }
+ },
+
+ // add repeat block
+ _addRepeat: function(input_def) {
+ // link this
+ var self = this;
+
+ //
+ // create tab field
+ //
+ var tabs = new Tabs.View({
+ title_new : 'Add ' + input_def.title,
+ max : input_def.max,
+ onnew : function() {
+ // create id tag
+ var sub_section_id = input_def.id + '-section-' +
Utils.uuid();
+
+ // create sub section
+ var sub_section = new View(self.app, {
+ inputs : input_def.inputs,
+ cls : 'ui-table-plain'
+ });
+
+ // add new tab
+ tabs.add({
+ id : sub_section_id,
+ title : input_def.title,
+ $el : sub_section.$el,
+ ondel : function() {
+ // delete tab
+ tabs.del(sub_section_id);
// retitle tabs
tabs.retitle(input_def.title);
-
- // show tab
- tabs.show(sub_section_id);
-
+
// trigger refresh
self.app.refresh();
}
});
- // append sub section
- this.table.add('');
- this.table.add(tabs.$el);
- this.table.append(input_def.id);
- break;
- // default single element row
- default:
- this._addRow(type, input_def, data);
+ // retitle tabs
+ tabs.retitle(input_def.title);
+
+ // show tab
+ tabs.show(sub_section_id);
+
+ // trigger refresh
+ self.app.refresh();
+ }
+ });
+
+ //
+ // add min number of tabs
+ //
+ for (var i = 0; i < input_def.min; i++) {
+ // create id tag
+ var sub_section_id = input_def.id + '-section-' + Utils.uuid();
+
+ // create sub section
+ var sub_section = new View(self.app, {
+ inputs : input_def.inputs,
+ cls : 'ui-table-plain'
+ });
+
+ // add tab
+ tabs.add({
+ id : sub_section_id,
+ title : input_def.title,
+ $el : sub_section.$el
+ });
}
+
+ // retitle tabs
+ tabs.retitle(input_def.title);
+
+ // append sub section
+ this.table.add('');
+ this.table.add(tabs.$el);
+ this.table.append(input_def.id);
},
// add table row
@@ -215,7 +255,7 @@
}
// create table row
- this.table.add('<span class="ui-table-form-title">' +
input_def.label + '</span>', '25%');
+ this.table.add('<span class="ui-table-form-title">' +
input_def.label + '</span>', '20%');
this.table.add($input);
// append to table
@@ -342,7 +382,9 @@
var column_field = self.app.field_list[column_list[i]]
if (column_field) {
column_field.update(columns);
- column_field.value(column_field.first());
+ if (!column_field.exists(column_field.value())) {
+ column_field.value(column_field.first());
+ }
}
}
} else {
diff -r 8d307a592c729ffe5e20aed1f33a56ec6aca0ee9 -r
59070b73fde89d72dae1e5ecdb53df52998a12f2 static/scripts/mvc/tools/tools-tree.js
--- a/static/scripts/mvc/tools/tools-tree.js
+++ b/static/scripts/mvc/tools/tools-tree.js
@@ -44,7 +44,7 @@
dict[id] = {};
// add input element if it exists
- var input = self.app.inputs_sequential[id];
+ var input = self.app.input_list[id];
if (input) {
dict[id] = {
input : input
@@ -78,10 +78,13 @@
// get child nodes
var children = $(parent).children();
- // create sublist
+ // create list of referenced elements
var list = [];
- // verify that hierachy level is referenced to identifier
+ // a node level is skipped if a reference of higher priority was found
+ var skip = false;
+
+ // verify that hierarchy level is referenced by target identifier
children.each(function() {
// get child element
var child = this;
@@ -89,15 +92,16 @@
// get id
var id = $(child).attr('id');
- // skip
+ // skip target element
if (id !== identifier) {
// get input element
- var input = self.app.inputs_sequential[id];
+ var input = self.app.input_list[id];
if (input) {
- // check for new reference definition
+ // check for new reference definition with higher priority
if (input.name == name) {
- // stop iteration
- return;
+ // skip iteration for this branch
+ skip = true;
+ return false;
}
// check for referenced element
@@ -108,20 +112,23 @@
}
});
- // merge temporary list with result
- referenced = referenced.concat(list);
-
- // continue iteration
- children.each(function() {
- search(identifier, this);
- });
+ // skip iteration
+ if (!skip) {
+ // merge temporary list with result
+ referenced = referenced.concat(list);
+
+ // continue iteration
+ children.each(function() {
+ search(name, this);
+ });
+ }
}
// get initial node
var node = this.xml.find('#' + identifier);
if (node.length > 0) {
// get parent input element
- var input = self.app.inputs_sequential[identifier];
+ var input = this.app.input_list[identifier];
if (input) {
search(input.name, node.parent());
}
diff -r 8d307a592c729ffe5e20aed1f33a56ec6aca0ee9 -r
59070b73fde89d72dae1e5ecdb53df52998a12f2 static/scripts/mvc/ui/ui-tabs.js
--- a/static/scripts/mvc/ui/ui-tabs.js
+++ b/static/scripts/mvc/ui/ui-tabs.js
@@ -7,7 +7,9 @@
optionsDefault: {
title_new : '',
operations : null,
- onnew : null
+ onnew : null,
+ min : null,
+ max : null
},
// initialize
@@ -96,12 +98,17 @@
this.$content.append($tab_content);
// activate this tab if this is the first tab
- if (_.size(this.list) == 1) {
+ if (this.size() == 1) {
$tab_title.addClass('active');
$tab_content.addClass('active');
this.first_tab = id;
}
+ // hide add tab
+ if (this.options.max && this.size() >= this.options.max) {
+ this.$el.find('#new-tab').hide();
+ }
+
// add click event to remove tab
if (options.ondel) {
var $del_icon = $tab_title.find('#delete');
@@ -148,6 +155,11 @@
if (this.list[id]) {
delete this.list[id];
}
+
+ // show add tab
+ if (this.size() < this.options.max) {
+ this.$el.find('#new-tab').show();
+ }
},
// delete tab
diff -r 8d307a592c729ffe5e20aed1f33a56ec6aca0ee9 -r
59070b73fde89d72dae1e5ecdb53df52998a12f2 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(["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-datasets","mvc/tools/tools-section","mvc/tools/tools-tree"],function(g,k,i,a,f,d,h,j,c){var
e=Backbone.Model.extend({initialize:function(l){this.url=galaxy_config.root+"api/tools/"+l.id+"?io_details=true"}});var
b=Backbone.View.extend({main_el:"body",initialize:function(m){var
l=this;this.options=m;this.model=new e({id:m.id});this.tree=new
c(this);this.field_list={};this.inputs_sequential={};this.data=new
Backbone.Model();this.datasets=new
h({success:function(){l._initializeToolForm()}})},_initializeToolForm:function(){var
l=this;this.model.fetch({error:function(m){console.debug("tools-form::_initializeToolForm()
: Attempt to fetch tool model
failed.")},success:function(){l.inputs=l.model.get("inputs");l.portlet=new
g.View({icon:"fa-wrench",title:"<b>"+l.model.get("name")+"</b>
"+l.model.get("description"),buttons:{execute:new
k.ButtonIcon({icon:"fa-check",tooltip:"Execute the
tool",title:"Execute",floating:"clear",onclick:function(){console.log(l.tree.create(l))}})}});l.message=new
k.Message();l.portlet.append(l.message.$el);$(l.main_el).append(l.portlet.$el);if(l.options.help!=""){$(l.main_el).append(d.help(l.options.help))}if(l.options.citations){$(l.main_el).append(d.citations());var
m=new i.ToolCitationCollection();m.tool_id=l.options.id;var n=new
a.CitationListView({collection:m});n.render();m.fetch()}l.setElement(l.portlet.content());l.section=new
j.View(l,{inputs:l.model.get("inputs")});l.portlet.append(l.section.$el);l.refresh()}})},refresh:function(){this.tree.refresh();for(var
l in
this.field_list){this.field_list[l].trigger("change")}console.debug("tools-form::refresh()
- Recreated tree structure. Refresh.")}});return{View:b}});
\ No newline at end of file
+define(["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-datasets","mvc/tools/tools-section","mvc/tools/tools-tree"],function(g,k,i,a,f,d,h,j,c){var
e=Backbone.Model.extend({initialize:function(l){this.url=galaxy_config.root+"api/tools/"+l.id+"?io_details=true"}});var
b=Backbone.View.extend({main_el:"body",initialize:function(m){var
l=this;this.options=m;this.model=new e({id:m.id});this.tree=new
c(this);this.field_list={};this.input_list={};this.data=new
Backbone.Model();this.datasets=new
h({success:function(){l._initializeToolForm()}})},_initializeToolForm:function(){var
l=this;this.model.fetch({error:function(m){console.debug("tools-form::_initializeToolForm()
: Attempt to fetch tool model
failed.")},success:function(){l.inputs=l.model.get("inputs");l.portlet=new
g.View({icon:"fa-wrench",title:"<b>"+l.model.get("name")+"</b>
"+l.model.get("description"),buttons:{execute:new
k.ButtonIcon({icon:"fa-check",tooltip:"Execute the
tool",title:"Execute",floating:"clear",onclick:function(){console.log(l.tree.create(l))}})}});l.message=new
k.Message();l.portlet.append(l.message.$el);$(l.main_el).append(l.portlet.$el);if(l.options.help!=""){$(l.main_el).append(d.help(l.options.help))}if(l.options.citations){$(l.main_el).append(d.citations());var
m=new i.ToolCitationCollection();m.tool_id=l.options.id;var n=new
a.CitationListView({collection:m});n.render();m.fetch()}l.setElement(l.portlet.content());l.section=new
j.View(l,{inputs:l.model.get("inputs")});l.portlet.append(l.section.$el);l.refresh()}})},refresh:function(){this.tree.refresh();for(var
l in
this.field_list){this.field_list[l].trigger("change")}console.debug("tools-form::refresh()
- Recreated tree structure. Refresh.")}});return{View:b}});
\ No newline at end of file
diff -r 8d307a592c729ffe5e20aed1f33a56ec6aca0ee9 -r
59070b73fde89d72dae1e5ecdb53df52998a12f2 static/scripts/packed/mvc/tools/tools-section.js
--- a/static/scripts/packed/mvc/tools/tools-section.js
+++ b/static/scripts/packed/mvc/tools/tools-section.js
@@ -1,1 +1,1 @@
-define(["utils/utils","mvc/ui/ui-table","mvc/ui/ui-misc","mvc/ui/ui-tabs"],function(c,b,e,a){var
d=Backbone.View.extend({initialize:function(g,f){this.app=g;this.inputs=f.inputs;this.datasets=g.datasets;this.data=g.data;f.cls_tr="form-row";this.table=new
b.View(f);this.setElement(this.table.$el);this.render()},render:function(){this.table.delAll();for(var
f in this.inputs){this._add(this.inputs[f],this.data)}},_add:function(n,h){var o=this;var
k=jQuery.extend(true,{},n);k.id=c.uuid();this.app.inputs_sequential[k.id]=k;var
l=k.type;switch(l){case"conditional":k.label=k.test_param.label;k.value=k.test_param.value;this._addRow("conditional",k,h);for(var
j in k.cases){var g=k.id+"-section-"+j;var f=new
d(this.app,{inputs:k.cases[j].inputs,cls:"ui-table-plain"});this.table.add("");this.table.add(f.$el);this.table.append(g)}break;case"repeat":var
m=new a.View({title_new:"Add "+k.title,onnew:function(){var
i=k.id+"-section-"+c.uuid();var p=new
d(o.app,{inputs:k.inputs,cls:"ui-table-plain"});m.add({id:i,title:k.title,$el:p.$el,ondel:function(){m.del(i);m.retitle(k.title);o.app.refresh()}});m.retitle(k.title);m.show(i);o.app.refresh()}});this.table.add("");this.table.add(m.$el);this.table.append(k.id);break;default:this._addRow(l,k,h)}},_addRow:function(i,f,g){var
k=f.id;var
h=null;switch(i){case"text":h=this._field_text(f,g);break;case"select":h=this._field_select(f,g);break;case"radiobutton":h=this._field_radio(f,g);break;case"data":h=this._field_data(f,g);break;case"data_column":h=this._field_column(f,g);break;case"textarea":h=this._field_textarea(f,g);break;case"conditional":h=this._field_conditional(f,g);break;case"hidden":h=this._field_hidden(f,g);break}if(!h){console.debug("tools-form::_addRow()
: Unmatched field type
("+i+").");return}if(!g.get(k)){g.set(k,f.value)}h.value(g.get(k));this.app.field_list[k]=h;var
j=$("<div/>");j.append(h.$el);if(f.help){j.append('<div
class="ui-table-form-info">'+f.help+"</div>")}this.table.add('<span
class="ui-table-form-title">'+f.label+"</span>","25%");this.table.add(j);this.table.append(k)},_field_conditional:function(f,l){var
g=this;var h=[];for(var j in f.test_param.options){var
k=f.test_param.options[j];h.push({label:k[0],value:k[1]})}var m=f.id;return new
e.Select.View({id:"field-"+m,data:h,value:l.get(m),onchange:function(u){l.set(m,u);for(var
s in f.cases){var o=f.cases[s];var r=f.id+"-section-"+s;var n=g.table.get(r);var
q=false;for(var p in o.inputs){var
t=o.inputs[p].type;if(t&&t!=="hidden"){q=true;break}}if(o.value==u&&q){n.fadeIn("fast")}else{n.hide()}}}})},_field_data:function(f,l){var
g=this;var m=f.id;var k=this.datasets.filterType();var h=[];for(var j in
k){h.push({label:k[j].get("name"),value:k[j].get("id")})}return new
e.Select.View({id:"field-"+m,data:h,value:h[0].value,onchange:function(s){l.set(m,s);var
o=g.app.tree.findReferences(m);var
u=g.datasets.filter(s);if(u&&o.length>0){console.debug("tool-form::field_data()
- Selected dataset "+s+".");var
t=u.get("metadata_column_types");if(!t){console.debug("tool-form::field_data()
- FAILED: Could not find metadata for dataset "+s+".")}var r=[];for(var q
in t){r.push({label:"Column: "+(parseInt(q)+1)+"
["+t[q]+"]",value:q})}for(var p in o){var
n=g.app.field_list[o[p]];if(n){n.update(r);n.value(n.first())}}}else{console.debug("tool-form::field_data()
- FAILED: Could not find dataset
"+s+".")}}})},_field_column:function(f,g){var h=f.id;return new
e.Select.View({id:"field-"+h,value:g.get(h),onchange:function(i){g.set(h,i)}})},_field_select:function(f,l){var
g=[];for(var h in f.options){var j=f.options[h];g.push({label:j[0],value:j[1]})}var
k=e.Select;if(f.display=="checkboxes"){k=e.Checkbox}var m=f.id;return new
k.View({id:"field-"+m,data:g,value:l.get(m),onchange:function(i){l.set(m,i)}})},_field_text:function(f,g){var
h=f.id;return new
e.Input({id:"field-"+h,value:g.get(h),onchange:function(i){g.set(h,i)}})},_field_textarea:function(f,g){var
h=f.id;return new
e.Textarea({id:"field-"+h,onchange:function(){g.set(h,field.value())}})},_field_radio:function(f,g){var
h=f.id;return new
e.RadioButton({id:"field-"+h,data:f.data,value:g.get(h),onchange:function(i){g.set(h,i)}})},_field_hidden:function(f,g){var
h=f.id;return new e.Hidden({id:"field-"+h,value:g.get(h)})}});return{View:d}});
\ No newline at end of file
+define(["utils/utils","mvc/ui/ui-table","mvc/ui/ui-misc","mvc/ui/ui-tabs"],function(c,b,e,a){var
d=Backbone.View.extend({initialize:function(g,f){this.app=g;this.inputs=f.inputs;this.datasets=g.datasets;this.data=g.data;f.cls_tr="form-row";this.table=new
b.View(f);this.setElement(this.table.$el);this.render()},render:function(){this.table.delAll();for(var
f in this.inputs){this._add(this.inputs[f],this.data)}},_add:function(h,j){var g=this;var
f=jQuery.extend(true,{},h);f.id=c.uuid();this.app.input_list[f.id]=f;var
i=f.type;switch(i){case"conditional":this._addConditional(f,j);break;case"repeat":this._addRepeat(f);break;default:this._addRow(i,f,j)}},_addConditional:function(f,j){f.label=f.test_param.label;f.value=f.test_param.value;this._addRow("conditional",f,j);for(var
h in f.cases){var g=f.id+"-section-"+h;var k=new
d(this.app,{inputs:f.cases[h].inputs,cls:"ui-table-plain"});this.table.add("");this.table.add(k.$el);this.table.append(g)}},_addRepeat:function(f){var
g=this;var k=new a.View({title_new:"Add "+f.title,max:f.max,onnew:function(){var
i=f.id+"-section-"+c.uuid();var m=new
d(g.app,{inputs:f.inputs,cls:"ui-table-plain"});k.add({id:i,title:f.title,$el:m.$el,ondel:function(){k.del(i);k.retitle(f.title);g.app.refresh()}});k.retitle(f.title);k.show(i);g.app.refresh()}});for(var
j=0;j<f.min;j++){var h=f.id+"-section-"+c.uuid();var l=new
d(g.app,{inputs:f.inputs,cls:"ui-table-plain"});k.add({id:h,title:f.title,$el:l.$el})}k.retitle(f.title);this.table.add("");this.table.add(k.$el);this.table.append(f.id)},_addRow:function(i,f,g){var
k=f.id;var
h=null;switch(i){case"text":h=this._field_text(f,g);break;case"select":h=this._field_select(f,g);break;case"radiobutton":h=this._field_radio(f,g);break;case"data":h=this._field_data(f,g);break;case"data_column":h=this._field_column(f,g);break;case"textarea":h=this._field_textarea(f,g);break;case"conditional":h=this._field_conditional(f,g);break;case"hidden":h=this._field_hidden(f,g);break}if(!h){console.debug("tools-form::_addRow()
: Unmatched field type
("+i+").");return}if(!g.get(k)){g.set(k,f.value)}h.value(g.get(k));this.app.field_list[k]=h;var
j=$("<div/>");j.append(h.$el);if(f.help){j.append('<div
class="ui-table-form-info">'+f.help+"</div>")}this.table.add('<span
class="ui-table-form-title">'+f.label+"</span>","20%");this.table.add(j);this.table.append(k)},_field_conditional:function(f,l){var
g=this;var h=[];for(var j in f.test_param.options){var
k=f.test_param.options[j];h.push({label:k[0],value:k[1]})}var m=f.id;return new
e.Select.View({id:"field-"+m,data:h,value:l.get(m),onchange:function(u){l.set(m,u);for(var
s in f.cases){var o=f.cases[s];var r=f.id+"-section-"+s;var n=g.table.get(r);var
q=false;for(var p in o.inputs){var
t=o.inputs[p].type;if(t&&t!=="hidden"){q=true;break}}if(o.value==u&&q){n.fadeIn("fast")}else{n.hide()}}}})},_field_data:function(f,l){var
g=this;var m=f.id;var k=this.datasets.filterType();var h=[];for(var j in
k){h.push({label:k[j].get("name"),value:k[j].get("id")})}return new
e.Select.View({id:"field-"+m,data:h,value:h[0].value,onchange:function(s){l.set(m,s);var
o=g.app.tree.findReferences(m);var
u=g.datasets.filter(s);if(u&&o.length>0){console.debug("tool-form::field_data()
- Selected dataset "+s+".");var
t=u.get("metadata_column_types");if(!t){console.debug("tool-form::field_data()
- FAILED: Could not find metadata for dataset "+s+".")}var r=[];for(var q
in t){r.push({label:"Column: "+(parseInt(q)+1)+"
["+t[q]+"]",value:q})}for(var p in o){var
n=g.app.field_list[o[p]];if(n){n.update(r);if(!n.exists(n.value())){n.value(n.first())}}}}else{console.debug("tool-form::field_data()
- FAILED: Could not find dataset
"+s+".")}}})},_field_column:function(f,g){var h=f.id;return new
e.Select.View({id:"field-"+h,value:g.get(h),onchange:function(i){g.set(h,i)}})},_field_select:function(f,l){var
g=[];for(var h in f.options){var j=f.options[h];g.push({label:j[0],value:j[1]})}var
k=e.Select;if(f.display=="checkboxes"){k=e.Checkbox}var m=f.id;return new
k.View({id:"field-"+m,data:g,value:l.get(m),onchange:function(i){l.set(m,i)}})},_field_text:function(f,g){var
h=f.id;return new
e.Input({id:"field-"+h,value:g.get(h),onchange:function(i){g.set(h,i)}})},_field_textarea:function(f,g){var
h=f.id;return new
e.Textarea({id:"field-"+h,onchange:function(){g.set(h,field.value())}})},_field_radio:function(f,g){var
h=f.id;return new
e.RadioButton({id:"field-"+h,data:f.data,value:g.get(h),onchange:function(i){g.set(h,i)}})},_field_hidden:function(f,g){var
h=f.id;return new e.Hidden({id:"field-"+h,value:g.get(h)})}});return{View:d}});
\ No newline at end of file
diff -r 8d307a592c729ffe5e20aed1f33a56ec6aca0ee9 -r
59070b73fde89d72dae1e5ecdb53df52998a12f2 static/scripts/packed/mvc/tools/tools-tree.js
--- a/static/scripts/packed/mvc/tools/tools-tree.js
+++ b/static/scripts/packed/mvc/tools/tools-tree.js
@@ -1,1 +1,1 @@
-define([],function(){return
Backbone.Model.extend({initialize:function(a){this.app=a},refresh:function(){if(!this.app.section){return{}}this.dict={};this.xml=$("<div/>");this._iterate(this.app.section.$el,this.dict,this.xml)},_iterate:function(d,e,b){var
a=this;var c=$(d).children();c.each(function(){var i=this;var
h=$(i).attr("id");if($(i).hasClass("form-row")||$(i).hasClass("tab-pane")){e[h]={};var
f=a.app.inputs_sequential[h];if(f){e[h]={input:f}}var g=$('<div
id="'+h+'"/>');b.append(g);a._iterate(i,e[h],g)}else{a._iterate(i,e,b)}})},findReferences:function(c){var
f=[];var b=this;function d(g,i){var h=$(i).children();var j=[];h.each(function(){var
m=this;var l=$(m).attr("id");if(l!==c){var
k=b.app.inputs_sequential[l];if(k){if(k.name==g){return}if(k.data_ref==g){j.push(l)}}}});f=f.concat(j);h.each(function(){d(c,this)})}var
e=this.xml.find("#"+c);if(e.length>0){var
a=b.app.inputs_sequential[c];if(a){d(a.name,e.parent())}}return f}})});
\ No newline at end of file
+define([],function(){return
Backbone.Model.extend({initialize:function(a){this.app=a},refresh:function(){if(!this.app.section){return{}}this.dict={};this.xml=$("<div/>");this._iterate(this.app.section.$el,this.dict,this.xml)},_iterate:function(d,e,b){var
a=this;var c=$(d).children();c.each(function(){var i=this;var
h=$(i).attr("id");if($(i).hasClass("form-row")||$(i).hasClass("tab-pane")){e[h]={};var
f=a.app.input_list[h];if(f){e[h]={input:f}}var g=$('<div
id="'+h+'"/>');b.append(g);a._iterate(i,e[h],g)}else{a._iterate(i,e,b)}})},findReferences:function(c){var
f=[];var b=this;function d(g,i){var h=$(i).children();var k=[];var
j=false;h.each(function(){var n=this;var m=$(n).attr("id");if(m!==c){var
l=b.app.input_list[m];if(l){if(l.name==g){j=true;return
false}if(l.data_ref==g){k.push(m)}}}});if(!j){f=f.concat(k);h.each(function(){d(g,this)})}}var
e=this.xml.find("#"+c);if(e.length>0){var
a=this.app.input_list[c];if(a){d(a.name,e.parent())}}return f}})});
\ No newline at end of file
diff -r 8d307a592c729ffe5e20aed1f33a56ec6aca0ee9 -r
59070b73fde89d72dae1e5ecdb53df52998a12f2 static/scripts/packed/mvc/ui/ui-tabs.js
--- a/static/scripts/packed/mvc/ui/ui-tabs.js
+++ b/static/scripts/packed/mvc/ui/ui-tabs.js
@@ -1,1 +1,1 @@
-define(["utils/utils"],function(a){var
b=Backbone.View.extend({optionsDefault:{title_new:"",operations:null,onnew:null},initialize:function(e){this.visible=false;this.$nav=null;this.$content=null;this.first_tab=null;this.options=a.merge(e,this.optionsDefault);var
c=$(this._template(this.options));this.$nav=c.find(".tab-navigation");this.$content=c.find(".tab-content");this.setElement(c);this.list={};var
d=this;if(this.options.operations){$.each(this.options.operations,function(g,h){h.$el.prop("id",g);d.$nav.find(".operations").append(h.$el)})}if(this.options.onnew){var
f=$(this._template_tab_new(this.options));this.$nav.append(f);f.tooltip({title:"Add a
new
tab",placement:"bottom",container:d.$el});f.on("click",function(g){f.tooltip("hide");d.options.onnew()})}},size:function(){return
_.size(this.list)},add:function(f){var e=this;var h=f.id;var
g=$(this._template_tab(f));var
d=$(this._template_tab_content(f));this.list[h]=f.ondel?true:false;if(this.options.onnew){this.$nav.find("#new-tab").before(g)}else{this.$nav.append(g)}d.append(f.$el);this.$content.append(d);if(_.size(this.list)==1){g.addClass("active");d.addClass("active");this.first_tab=h}if(f.ondel){var
c=g.find("#delete");c.tooltip({title:"Delete this
tab",placement:"bottom",container:e.$el});c.on("click",function(){c.tooltip("destroy");e.$el.find(".tooltip").remove();f.ondel();return
false})}g.on("click",function(i){i.preventDefault();if(f.onclick){f.onclick()}else{e.show(h)}})},del:function(c){this.$el.find("#tab-"+c).remove();this.$el.find("#"+c).remove();if(this.first_tab==c){this.first_tab=null}if(this.first_tab!=null){this.show(this.first_tab)}if(this.list[c]){delete
this.list[c]}},delRemovable:function(){for(var c in
this.list){this.del(c)}},show:function(c){this.$el.fadeIn("fast");this.visible=true;if(c){this.$el.find(".tab-element").removeClass("active");this.$el.find(".tab-pane").removeClass("active");this.$el.find("#tab-"+c).addClass("active");this.$el.find("#"+c).addClass("active")}},hide:function(){this.$el.fadeOut("fast");this.visible=false},hideOperation:function(c){this.$nav.find("#"+c).hide()},showOperation:function(c){this.$nav.find("#"+c).show()},setOperation:function(e,d){var
c=this.$nav.find("#"+e);c.off("click");c.on("click",d)},title:function(e,d){var
c=this.$el.find("#tab-title-text-"+e);if(d){c.html(d)}return
c.html()},retitle:function(d){var c=0;for(var e in this.list){this.title(e,++c+":
"+d)}},_template:function(c){return'<div class="ui-tabs tabbable
tabs-left"><ul id="tab-navigation" class="tab-navigation nav
nav-tabs"><div class="operations" style="float: right;
margin-bottom: 4px;"></div></ul><div id="tab-content"
class="tab-content"/></div>'},_template_tab_new:function(c){return'<li
id="new-tab"><a href="javascript:void(0);"><i
class="ui-tabs-add fa
fa-plus-circle"/>'+c.title_new+"</a></li>"},_template_tab:function(d){var
c='<li id="tab-'+d.id+'" class="tab-element"><a
id="tab-title-link-'+d.id+'" title=""
href="#'+d.id+'" data-original-title=""><span
id="tab-title-text-'+d.id+'"
class="tab-title-text">'+d.title+"</span>";if(d.ondel){c+='<i
id="delete" class="ui-tabs-delete fa
fa-minus-circle"/>'}c+="</a></li>";return
c},_template_tab_content:function(c){return'<div id="'+c.id+'"
class="tab-pane"/>'}});return{View:b}});
\ No newline at end of file
+define(["utils/utils"],function(a){var
b=Backbone.View.extend({optionsDefault:{title_new:"",operations:null,onnew:null,min:null,max:null},initialize:function(e){this.visible=false;this.$nav=null;this.$content=null;this.first_tab=null;this.options=a.merge(e,this.optionsDefault);var
c=$(this._template(this.options));this.$nav=c.find(".tab-navigation");this.$content=c.find(".tab-content");this.setElement(c);this.list={};var
d=this;if(this.options.operations){$.each(this.options.operations,function(g,h){h.$el.prop("id",g);d.$nav.find(".operations").append(h.$el)})}if(this.options.onnew){var
f=$(this._template_tab_new(this.options));this.$nav.append(f);f.tooltip({title:"Add a
new
tab",placement:"bottom",container:d.$el});f.on("click",function(g){f.tooltip("hide");d.options.onnew()})}},size:function(){return
_.size(this.list)},add:function(f){var e=this;var h=f.id;var
g=$(this._template_tab(f));var
d=$(this._template_tab_content(f));this.list[h]=f.ondel?true:false;if(this.options.onnew){this.$nav.find("#new-tab").before(g)}else{this.$nav.append(g)}d.append(f.$el);this.$content.append(d);if(this.size()==1){g.addClass("active");d.addClass("active");this.first_tab=h}if(this.options.max&&this.size()>=this.options.max){this.$el.find("#new-tab").hide()}if(f.ondel){var
c=g.find("#delete");c.tooltip({title:"Delete this
tab",placement:"bottom",container:e.$el});c.on("click",function(){c.tooltip("destroy");e.$el.find(".tooltip").remove();f.ondel();return
false})}g.on("click",function(i){i.preventDefault();if(f.onclick){f.onclick()}else{e.show(h)}})},del:function(c){this.$el.find("#tab-"+c).remove();this.$el.find("#"+c).remove();if(this.first_tab==c){this.first_tab=null}if(this.first_tab!=null){this.show(this.first_tab)}if(this.list[c]){delete
this.list[c]}if(this.size()<this.options.max){this.$el.find("#new-tab").show()}},delRemovable:function(){for(var
c in
this.list){this.del(c)}},show:function(c){this.$el.fadeIn("fast");this.visible=true;if(c){this.$el.find(".tab-element").removeClass("active");this.$el.find(".tab-pane").removeClass("active");this.$el.find("#tab-"+c).addClass("active");this.$el.find("#"+c).addClass("active")}},hide:function(){this.$el.fadeOut("fast");this.visible=false},hideOperation:function(c){this.$nav.find("#"+c).hide()},showOperation:function(c){this.$nav.find("#"+c).show()},setOperation:function(e,d){var
c=this.$nav.find("#"+e);c.off("click");c.on("click",d)},title:function(e,d){var
c=this.$el.find("#tab-title-text-"+e);if(d){c.html(d)}return
c.html()},retitle:function(d){var c=0;for(var e in this.list){this.title(e,++c+":
"+d)}},_template:function(c){return'<div class="ui-tabs tabbable
tabs-left"><ul id="tab-navigation" class="tab-navigation nav
nav-tabs"><div class="operations" style="float: right;
margin-bottom: 4px;"></div></ul><div id="tab-content"
class="tab-content"/></div>'},_template_tab_new:function(c){return'<li
id="new-tab"><a href="javascript:void(0);"><i
class="ui-tabs-add fa
fa-plus-circle"/>'+c.title_new+"</a></li>"},_template_tab:function(d){var
c='<li id="tab-'+d.id+'" class="tab-element"><a
id="tab-title-link-'+d.id+'" title=""
href="#'+d.id+'" data-original-title=""><span
id="tab-title-text-'+d.id+'"
class="tab-title-text">'+d.title+"</span>";if(d.ondel){c+='<i
id="delete" class="ui-tabs-delete fa
fa-minus-circle"/>'}c+="</a></li>";return
c},_template_tab_content:function(c){return'<div id="'+c.id+'"
class="tab-pane"/>'}});return{View: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.