mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
1 line
1.3 KiB
JavaScript
1 line
1.3 KiB
JavaScript
define(["utils/utils","mvc/ui/ui-table","mvc/ui/ui-portlet","mvc/ui/ui-misc"],function(c,a,b,e){var d=Backbone.View.extend({optionsDefault:{max:null},initialize:function(g){this.options=c.merge(g,this.optionsDefault);this.setElement("<div/>");var f=this;this.button_new=new e.ButtonIcon({icon:"fa-plus",title:"Insert "+g.title_new,tooltip:"Add new "+g.title_new+" block",floating:"clear",onclick:function(){if(g.onnew){g.onnew()}}});this.table=new a.View({cls:"ui-table-plain",content:""});this.$el.append(this.table.$el);this.$el.append(c.wrap(this.button_new.$el));this.list={}},size:function(){return _.size(this.list)},add:function(g){var f=new e.ButtonIcon({icon:"fa-trash-o",tooltip:"Delete this repeat block",cls:"ui-button-icon-plain",onclick:function(){if(g.ondel){g.ondel()}}});var h=new b.View({id:g.id,title:"<b>"+g.title+"</b>",cls:"ui-portlet-repeat",operations:{button_delete:f}});if(!g.ondel){f.remove()}h.append(g.$el);h.$el.addClass("section-row");this.list[g.id]=h;this.table.add(h.$el);this.table.append("row_"+g.id,true);if(this.options.max>0&&this.size()>=this.options.max){this.button_new.disable()}},del:function(g){if(this.list[g]){var f=this.table.get("row_"+g);f.remove();delete this.list[g];this.button_new.enable()}},retitle:function(g){var f=0;for(var h in this.list){this.list[h].title(++f+": "+g)}}});return{View:d}}); |