mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge pull request #272 from carlfeberhard/bitbucket.dataset-choice
Fixes to dataset chooser
This commit is contained in:
@@ -50,6 +50,7 @@ function _filterDatasetJSON( datasetJSON, where, datasetsOnly ){
|
||||
}
|
||||
|
||||
return datasetJSON.filter( function( json ){
|
||||
console.debug( json )
|
||||
return ( !json.deleted && json.visible )
|
||||
&& ( !datasetsOnly || json.collection_type === undefined )
|
||||
&& ( matches( json, where ) );
|
||||
@@ -248,10 +249,10 @@ var DatasetChoice = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend({
|
||||
_template : function( json ){
|
||||
return _.template([
|
||||
'<label>',
|
||||
'<span class="prompt"><%= json.label %></span>',
|
||||
'<span class="prompt"><%= label %></span>',
|
||||
'<div class="selected"></div>',
|
||||
'</label>'
|
||||
].join(''), { json: json });
|
||||
].join(''))( json );
|
||||
},
|
||||
|
||||
/** return jQ DOM for the selected dataset (only one) */
|
||||
@@ -267,7 +268,7 @@ var DatasetChoice = Backbone.View.extend( BASE_MVC.LoggableMixin ).extend({
|
||||
'<i><%= selected.misc_info %></i>',
|
||||
'</span>',
|
||||
'</div>'
|
||||
].join( '' ), { selected: json.selected[0] }));
|
||||
].join( '' ), { variable : 'selected' })( json.selected[0] ));
|
||||
}
|
||||
return $([
|
||||
'<span class="none-selected-msg">(',
|
||||
@@ -401,7 +402,7 @@ var MultiDatasetChoice = DatasetChoice.extend({
|
||||
'<% }); %>',
|
||||
'</tbody>',
|
||||
'</table>'
|
||||
].join( '' ), { json: json }));
|
||||
].join( '' ), { variable: 'json' })( json ));
|
||||
}
|
||||
return $([
|
||||
'<span class="none-selected-msg">(',
|
||||
|
||||
@@ -82,7 +82,13 @@
|
||||
}
|
||||
|
||||
// modal allowing single or multiple dataset selection - often activated by .dataset-choice above
|
||||
.dataset-choice-modal .list-panel .controls .title .name {
|
||||
font-size: 120%;
|
||||
.dataset-choice-modal .list-panel {
|
||||
.list-item.dataset {
|
||||
border-left-width: 1px;
|
||||
border-right-width: 1px;
|
||||
}
|
||||
.controls .title .name {
|
||||
font-size: 120%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
define(["mvc/dataset/dataset-model","mvc/dataset/dataset-list","mvc/ui/ui-modal","mvc/base-mvc","utils/localization"],function(a,b,c,d,e){function f(a,b,c){function d(a,b){for(var c in b)if(b.hasOwnProperty(c)&&a[c]!==b[c])return!1;return!0}return a.filter(function(a){return!a.deleted&&a.visible&&(!c||void 0===a.collection_type)&&d(a,b)})}var g=function(d,g){function h(){l.resolve(j.getSelectedModels().map(function(a){return a.toJSON()}))}g=_.defaults(g||{},{datasetsOnly:!0,where:{state:"ok"},multiselect:!1,selected:[]}),g.title=g.title||e(g.multiselect?"Choose datasets:":"Choose a dataset:");var i,j,k,l=jQuery.Deferred(),m=g.filter||f;return d=m(d,g.where,g.datasetsOnly),d.length?(g.multiselect&&(k={},k[e("Ok")]=h),i=new c.View({height:"auto",buttons:k,closing_events:!0,closing_callback:function(){l.resolve(null)},body:['<div class="list-panel"></div>'].join("")}),i.$(".modal-header").remove(),i.$(".modal-footer").css("margin-top","0px"),j=new b.DatasetList({title:g.title,subtitle:g.subtitle||e(["Click the checkboxes on the right to select datasets. ","Click the datasets names to see their details. "].join("")),el:i.$body.find(".list-panel"),selecting:!0,selected:g.selected,collection:new a.DatasetAssociationCollection(d)}),j.once("rendered:initial",function(){i.show(),i.$el.addClass("dataset-choice-modal")}),g.multiselect||(j.on("rendered",function(){j.$(".list-actions").hide()}),j.on("view:selected",function(a){l.resolve([a.model.toJSON()])})),j.render(0),l.always(function(){i.hide()})):l.reject("No matches found")},h=Backbone.View.extend(d.LoggableMixin).extend({className:"dataset-choice",initialize:function(a){this.debug(this+"(DatasetChoice).initialize:",a),this.label=void 0!==a.label?e(a.label):"",this.where=a.where,this.datasetsOnly=void 0!==a.datasetsOnly?a.datasetsOnly:!0,this.datasetJSON=a.datasetJSON||[],this.selected=a.selected||[],this._setUpListeners()},_setUpListeners:function(){},render:function(){var a=this.toJSON();return this.$el.html(this._template(a)),this.$(".selected").replaceWith(this._renderSelected(a)),this},_template:function(a){return _.template(["<label>",'<span class="prompt"><%= json.label %></span>','<div class="selected"></div>',"</label>"].join(""),{json:a})},_renderSelected:function(a){return $(a.selected.length?_.template(['<div class="selected">','<span class="title"><%= selected.hid %>: <%= selected.name %></span>','<span class="subtitle">',"<i><%= selected.misc_blurb %></i>","<i>",e("format")+": ","<%= selected.file_ext %></i>","<i><%= selected.misc_info %></i>","</span>","</div>"].join(""),{selected:a.selected[0]}):['<span class="none-selected-msg">(',e("click to select a dataset"),")</span>"].join(""))},toJSON:function(){var a=this;return{label:a.label,datasets:a.datasetJSON,selected:_.compact(_.map(a.selected,function(b){return _.findWhere(a.datasetJSON,{id:b})}))}},events:{click:"chooseWithModal"},chooseWithModal:function(){var a=this;return this._createModal().done(function(b){b?(a.selected=_.pluck(b,"id"),a.trigger("selected",a,b),a.render()):a.trigger("cancelled",a)}).fail(function(){a.trigger("error",a,arguments)})},_createModal:function(){return new g(this.datasetJSON,this._getModalOptions())},_getModalOptions:function(){return{title:this.label,multiselect:!1,selected:this.selected,where:this.where,datasetsOnly:this.datasetsOnly}},toString:function(){return"DatasetChoice("+this.selected+")"}}),i=h.extend({className:h.prototype.className+" multi",cells:{hid:e("History #"),name:e("Name"),misc_blurb:e("Summary"),file_ext:e("Format"),genome_build:e("Genome"),tags:e("Tags"),annotation:e("Annotation")},initialize:function(a){this.showHeaders=void 0!==a.showHeaders?a.showHeaders:!0,this.cells=a.cells||this.cells,h.prototype.initialize.call(this,a)},_renderSelected:function(a){return $(a.selected.length?_.template(['<table class="selected">',"<% if( json.showHeaders ){ %>","<thead><tr>","<% _.map( json.cells, function( val, key ){ %>","<th><%= val %></th>","<% }); %>","</tr></thead>","<% } %>","<tbody>","<% _.map( json.selected, function( selected ){ %>","<tr>","<% _.map( json.cells, function( val, key ){ %>",'<td class="cell-<%= key %>"><%= selected[ key ] %></td>',"<% }) %>","</tr>","<% }); %>","</tbody>","</table>"].join(""),{json:a}):['<span class="none-selected-msg">(',e("click to select a dataset"),")</span>"].join(""))},toJSON:function(){return _.extend(h.prototype.toJSON.call(this),{showHeaders:this.showHeaders,cells:this.cells})},_getModalOptions:function(){return _.extend(h.prototype._getModalOptions.call(this),{multiselect:!0})},toString:function(){return"DatasetChoice("+this.selected+")"}});return{DatasetChoiceModal:g,DatasetChoice:h,MultiDatasetChoice:i}});
|
||||
define(["mvc/dataset/dataset-model","mvc/dataset/dataset-list","mvc/ui/ui-modal","mvc/base-mvc","utils/localization"],function(a,b,c,d,e){function f(a,b,c){function d(a,b){for(var c in b)if(b.hasOwnProperty(c)&&a[c]!==b[c])return!1;return!0}return a.filter(function(a){return console.debug(a),!a.deleted&&a.visible&&(!c||void 0===a.collection_type)&&d(a,b)})}var g=function(d,g){function h(){l.resolve(j.getSelectedModels().map(function(a){return a.toJSON()}))}g=_.defaults(g||{},{datasetsOnly:!0,where:{state:"ok"},multiselect:!1,selected:[]}),g.title=g.title||e(g.multiselect?"Choose datasets:":"Choose a dataset:");var i,j,k,l=jQuery.Deferred(),m=g.filter||f;return d=m(d,g.where,g.datasetsOnly),d.length?(g.multiselect&&(k={},k[e("Ok")]=h),i=new c.View({height:"auto",buttons:k,closing_events:!0,closing_callback:function(){l.resolve(null)},body:['<div class="list-panel"></div>'].join("")}),i.$(".modal-header").remove(),i.$(".modal-footer").css("margin-top","0px"),j=new b.DatasetList({title:g.title,subtitle:g.subtitle||e(["Click the checkboxes on the right to select datasets. ","Click the datasets names to see their details. "].join("")),el:i.$body.find(".list-panel"),selecting:!0,selected:g.selected,collection:new a.DatasetAssociationCollection(d)}),j.once("rendered:initial",function(){i.show(),i.$el.addClass("dataset-choice-modal")}),g.multiselect||(j.on("rendered",function(){j.$(".list-actions").hide()}),j.on("view:selected",function(a){l.resolve([a.model.toJSON()])})),j.render(0),l.always(function(){i.hide()})):l.reject("No matches found")},h=Backbone.View.extend(d.LoggableMixin).extend({className:"dataset-choice",initialize:function(a){this.debug(this+"(DatasetChoice).initialize:",a),this.label=void 0!==a.label?e(a.label):"",this.where=a.where,this.datasetsOnly=void 0!==a.datasetsOnly?a.datasetsOnly:!0,this.datasetJSON=a.datasetJSON||[],this.selected=a.selected||[],this._setUpListeners()},_setUpListeners:function(){},render:function(){var a=this.toJSON();return this.$el.html(this._template(a)),this.$(".selected").replaceWith(this._renderSelected(a)),this},_template:function(a){return _.template(["<label>",'<span class="prompt"><%= label %></span>','<div class="selected"></div>',"</label>"].join(""))(a)},_renderSelected:function(a){return $(a.selected.length?_.template(['<div class="selected">','<span class="title"><%= selected.hid %>: <%= selected.name %></span>','<span class="subtitle">',"<i><%= selected.misc_blurb %></i>","<i>",e("format")+": ","<%= selected.file_ext %></i>","<i><%= selected.misc_info %></i>","</span>","</div>"].join(""),{variable:"selected"})(a.selected[0]):['<span class="none-selected-msg">(',e("click to select a dataset"),")</span>"].join(""))},toJSON:function(){var a=this;return{label:a.label,datasets:a.datasetJSON,selected:_.compact(_.map(a.selected,function(b){return _.findWhere(a.datasetJSON,{id:b})}))}},events:{click:"chooseWithModal"},chooseWithModal:function(){var a=this;return this._createModal().done(function(b){b?(a.selected=_.pluck(b,"id"),a.trigger("selected",a,b),a.render()):a.trigger("cancelled",a)}).fail(function(){a.trigger("error",a,arguments)})},_createModal:function(){return new g(this.datasetJSON,this._getModalOptions())},_getModalOptions:function(){return{title:this.label,multiselect:!1,selected:this.selected,where:this.where,datasetsOnly:this.datasetsOnly}},toString:function(){return"DatasetChoice("+this.selected+")"}}),i=h.extend({className:h.prototype.className+" multi",cells:{hid:e("History #"),name:e("Name"),misc_blurb:e("Summary"),file_ext:e("Format"),genome_build:e("Genome"),tags:e("Tags"),annotation:e("Annotation")},initialize:function(a){this.showHeaders=void 0!==a.showHeaders?a.showHeaders:!0,this.cells=a.cells||this.cells,h.prototype.initialize.call(this,a)},_renderSelected:function(a){return $(a.selected.length?_.template(['<table class="selected">',"<% if( json.showHeaders ){ %>","<thead><tr>","<% _.map( json.cells, function( val, key ){ %>","<th><%= val %></th>","<% }); %>","</tr></thead>","<% } %>","<tbody>","<% _.map( json.selected, function( selected ){ %>","<tr>","<% _.map( json.cells, function( val, key ){ %>",'<td class="cell-<%= key %>"><%= selected[ key ] %></td>',"<% }) %>","</tr>","<% }); %>","</tbody>","</table>"].join(""),{variable:"json"})(a):['<span class="none-selected-msg">(',e("click to select a dataset"),")</span>"].join(""))},toJSON:function(){return _.extend(h.prototype.toJSON.call(this),{showHeaders:this.showHeaders,cells:this.cells})},_getModalOptions:function(){return _.extend(h.prototype._getModalOptions.call(this),{multiselect:!0})},toString:function(){return"DatasetChoice("+this.selected+")"}});return{DatasetChoiceModal:g,DatasetChoice:h,MultiDatasetChoice:i}});
|
||||
//# sourceMappingURL=../../../maps/mvc/dataset/dataset-choice.js.map
|
||||
@@ -2309,6 +2309,7 @@ pre.peek table,pre.peek th,pre.peek tr,pre.peek td{font-family:Monaco,Menlo,Cons
|
||||
.dataset-choice.multi table th{padding:0px;font-weight:normal;font-size:80%;color:grey}
|
||||
.dataset-choice.multi table th:not(:last-child),.dataset-choice.multi table td:not(:last-child){padding-right:8px}
|
||||
.dataset-choice.multi table td.cell-name{font-weight:bold}
|
||||
.dataset-choice-modal .list-panel .list-item.dataset{border-left-width:1px;border-right-width:1px}
|
||||
.dataset-choice-modal .list-panel .controls .title .name{font-size:120%}
|
||||
.peek-column-selector{border-radius:3px;border:1px solid #5f6990}
|
||||
.peek-column-selector td,.peek-column-selector th{padding:4px 10px 4px 4px}
|
||||
|
||||
Reference in New Issue
Block a user