define(["mvc/ui/ui-modal","mvc/ui/ui-frames","mvc/ui/icon-button"],function(a,b,c){var d=Backbone.Model.extend({}),e=Backbone.Model.extend({defaults:{id:"",type:"",name:"",hda_ldda:"hda",metadata:null},initialize:function(){this.get("metadata")||this._set_metadata(),this.on("change",this._set_metadata,this)},_set_metadata:function(){var a=new d;_.each(_.keys(this.attributes),function(b){if(0===b.indexOf("metadata_")){var c=b.split("metadata_")[1];a.set(c,this.attributes[b]),delete this.attributes[b]}},this),this.set("metadata",a,{silent:!0})},get_metadata:function(a){return this.attributes.metadata.get(a)},urlRoot:galaxy_config.root+"api/datasets"}),f=e.extend({defaults:_.extend({},e.prototype.defaults,{chunk_url:null,first_data_chunk:null,chunk_index:-1,at_eof:!1}),initialize:function(){e.prototype.initialize.call(this),this.attributes.chunk_index=this.attributes.first_data_chunk?1:0,this.attributes.chunk_url=galaxy_config.root+"dataset/display?dataset_id="+this.id,this.attributes.url_viz=galaxy_config.root+"visualization"},get_next_chunk:function(){if(this.attributes.at_eof)return null;var a=this,b=$.Deferred();return $.getJSON(this.attributes.chunk_url,{chunk:a.attributes.chunk_index++}).success(function(c){var d;""!==c.ck_data?d=c:(a.attributes.at_eof=!0,d=null),b.resolve(d)}),b}}),g=Backbone.Collection.extend({model:e}),h=Backbone.View.extend({initialize:function(a){this.row_count=0,this.loading_chunk=!1,new k({model:a.model,$el:this.$el})},expand_to_container:function(){this.$el.height()").attr("id","loading_indicator"),this.$el.append(this.loading_indicator);var a=$("").attr({id:"content_table",cellpadding:0});this.$el.append(a);var b=this.model.get_metadata("column_names"),c=$("").appendTo(a),d=$("").appendTo(c);if(b)d.append("");else for(var e=1;e<=this.model.get_metadata("columns");e++)d.append("");var f=this,g=this.model.get("first_data_chunk");g?this._renderChunk(g):$.when(f.model.get_next_chunk()).then(function(a){f._renderChunk(a)}),this.scroll_elt.scroll(function(){f.attempt_to_fetch()})},scrolled_to_bottom:function(){return!1},_renderCell:function(a,b,c){var d=$("
"+b.join("")+""+e+"").text(a),e=this.model.get_metadata("column_types");return void 0!==c?d.attr("colspan",c).addClass("stringalign"):e&&b"),d=this.model.get_metadata("columns");return this.row_count%2!==0&&c.addClass("dark_row"),b.length===d?_.each(b,function(a,b){c.append(this._renderCell(a,b))},this):b.length>d?(_.each(b.slice(0,d-1),function(a,b){c.append(this._renderCell(a,b))},this),c.append(this._renderCell(b.slice(d-1).join(" "),d-1))):d>5&&b.length===d-1?(_.each(b,function(a,b){c.append(this._renderCell(a,b))},this),c.append($(""))):c.append(this._renderCell(a,0,d)),this.row_count++,c},_renderChunk:function(a){var b=this.$el.find("table");_.each(a.ck_data.split("\n"),function(a){""!==a&&b.append(this._renderRow(a))},this)}}),i=h.extend({initialize:function(a){h.prototype.initialize.call(this,a),scroll_elt=_.find(this.$el.parents(),function(a){return"auto"===$(a).css("overflow")}),scroll_elt||(scroll_elt=window),this.scroll_elt=$(scroll_elt)},scrolled_to_bottom:function(){return this.$el.height()-this.scroll_elt.scrollTop()-this.scroll_elt.height()<=0}}),j=h.extend({initialize:function(a){h.prototype.initialize.call(this,a),this.scroll_elt=this.$el.css({position:"relative",overflow:"scroll",height:a.height||"500px"})},scrolled_to_bottom:function(){return this.$el.scrollTop()+this.$el.innerHeight()>=this.el.scrollHeight}}),k=Backbone.View.extend({col:{chrom:null,start:null,end:null},url_viz:null,dataset_id:null,genome_build:null,file_ext:null,initialize:function(a){function b(a,b){for(var c=0;c