Use regular form view for groups

This commit is contained in:
guerler
2016-06-23 10:39:46 -04:00
parent 43a55e8628
commit e25057c0d1
12 changed files with 100 additions and 178 deletions
+10 -4
View File
@@ -7,8 +7,7 @@ define([ 'utils/utils' ], function( Utils ) {
this.app = app;
},
/** Creates a checksum.
*/
/** Creates a checksum. */
checksum: function() {
var sum = '';
var self = this;
@@ -22,8 +21,15 @@ define([ 'utils/utils' ], function( Utils ) {
return sum;
},
/** Convert dom into a dictionary of flat id/value pairs used e.g. on job submission.
*/
/** Set parameter values from model */
set: function( model ) {
for ( var attr in model.attributes ) {
var index = this.match( attr );
index && this.app.field_list[ index ].value( model.get( attr ) );
}
},
/** Convert dom into a dictionary of flat id/value pairs used e.g. on job submission. */
create: function() {
var self = this;
+8
View File
@@ -490,6 +490,14 @@
max-width: 900px;
}
.ui-portlet-plain {
&:extend(.ui-portlet all);
border: none;
.portlet-content {
padding: 0px;
}
}
// popovers
.ui-popover {
max-width: 700px;
@@ -247,7 +247,13 @@ return {
}
]
}
}
},
series : [{
name : 'key',
label : 'Provide a label',
type : 'text',
placeholder : 'Data label'
}]
};
});
@@ -72,9 +72,8 @@
this.chart.set( chart_dict.attributes );
this.chart.state( 'ok', 'Loading saved visualization...' );
this.chart.settings.set( chart_dict.settings );
for ( var j in chart_dict.groups ) {
this.chart.groups.add( chart_dict.groups[ j ] );
}
this.chart.groups.reset();
this.chart.groups.add( chart_dict.groups );
this.chart.set( 'modified', false );
console.debug('Storage::load() - Loading chart type ' + chart_type + '.');
return true;
@@ -126,6 +126,7 @@ define( [ 'mvc/ui/ui-tabs', 'mvc/ui/ui-misc', 'mvc/ui/ui-portlet', 'utils/utils'
'dataset_id' : this.app.options.config.dataset_id,
'title' : 'New Chart'
});
this.chart.groups.reset();
this.chart.groups.add( { id : Utils.uid() } );
this.portlet.hideOperation( 'back' );
},
@@ -1,188 +1,90 @@
/**
* This class renders the chart configuration form.
*/
define( [ 'mvc/ui/ui-table', 'mvc/ui/ui-misc', 'mvc/form/form-repeat', 'utils/utils' ], function( Table, Ui, Repeat, Utils ) {
define( [ 'mvc/ui/ui-table', 'mvc/ui/ui-misc', 'mvc/form/form-view', 'mvc/form/form-repeat', 'utils/utils' ], function( Table, Ui, Form, Repeat, Utils ) {
var GroupView = Backbone.View.extend({
initialize: function( app, options ) {
var self = this;
this.app = app;
this.chart = this.app.chart;
this.chart = app.chart;
this.group = options.group;
this.group_key = new Ui.Input({
placeholder: 'Data label',
onchange: function( value ) {
self.group.set( 'key', value );
}
});
this.table = new Table.View( { content: 'No data column.' } );
this.setElement($('<div/>').append( ( new Ui.Label( { title: 'Provide a label:', cls: 'ui-margin-top' } ) ).$el )
.append( this.group_key.$el.addClass( 'ui-margin-bottom' ) )
.append( ( new Ui.Label( { title: 'Select columns:' } ) ).$el.addClass( 'ui-margin-top' ) )
.append( this.table.$el.addClass( 'ui-margin-bottom' ) ) );
this.chart.on( 'change:dataset_id', function() { self._refreshTable() } );
this.chart.on( 'change:type', function() { self._refreshTable() } );
this.group.on( 'change:key', function() { self._refreshGroupKey() } );
this.group.on( 'change', function() { self._refreshGroup() } );
this._refreshTable();
this._refreshGroupKey();
this._refreshGroup();
this.setElement( $( '<div/>' ) );
this.chart.on( 'change:dataset_id change:type', function() { self.render() } );
this.group.on( 'change', function() { self.form && self.form.data.set( self.group ) } );
this.render();
},
/** Update group selection table */
_refreshTable: function() {
render: function() {
var self = this;
var inputs = this.chart.definition.series && this.chart.definition.series.slice() || [];
_.each( this.chart.definition.columns, function( column, name ) {
inputs.push( { name: name, label: column.title, type: 'select' } );
});
this.form = new Form( {
inputs : inputs,
cls : 'ui-portlet-plain',
onchange: function() {
self.group.set( self.form.data.create() )
self.chart.set( 'modified', true );
}
} );
this.form.data.set( this.group )
this.$el.empty().append( this.form.$el );
var dataset_id = this.chart.get( 'dataset_id' );
var chart_type = this.chart.get( 'type' );
var chart_definition = this.chart.definition;
if ( !dataset_id || !chart_type ) {
return;
}
this.table.delAll();
var select_list = {};
for ( var id in chart_definition.columns ) {
var data_def = chart_definition.columns[ id ];
if ( !data_def ) {
console.debug( 'Group::_refreshTable() - Skipping column definition.' );
continue;
}
var select = new Ui.Select.View( { id : 'select_' + id } );
var title = data_def.title;
if ( data_def.is_unique ) {
title += '&nbsp;(all data labels)';
}
this.table.add( title, '25%' );
this.table.add( select.$el );
this.table.append( id );
select_list[ id ] = select;
}
this.chart.state( 'wait', 'Loading metadata...' );
this.app.deferred.execute( function( process ) {
self.app.datasets.request({
id : dataset_id,
success : function( dataset ) {
for ( var id in select_list ) {
self._addRow( id, dataset, select_list, chart_definition.columns[ id ] )
if ( dataset_id && chart_type ) {
this.chart.state( 'wait', 'Loading metadata...' );
this.app.deferred.execute( function( process ) {
self.app.datasets.request({
id : dataset_id,
success : function( dataset ) {
for ( var id in chart_definition.columns ) {
var index = self.form.data.match( id );
if ( index ) {
var columns = [];
var select = self.form.field_list[ index ];
var input_def = chart_definition.columns[ id ];
input_def.is_auto && columns.push( { 'label': 'Column: Row Number', 'value': 'auto' } );
input_def.is_zero && columns.push( { 'label' : 'Column: None', 'value' : 'zero' } );
var meta = dataset.metadata_column_types;
for ( var key in meta ) {
var valid = [ 'int', 'float' ].indexOf( meta[ key ] ) != -1 ? input_def.is_numeric : input_def.is_text || input_def.is_label;
valid && columns.push( { 'label' : 'Column: ' + ( parseInt( key ) + 1 ), 'value' : key } );
}
select.update( columns );
self.group.set( id, select.value( self.group.get( id ) ) );
}
}
self.chart.state( 'ok', 'Metadata initialized...' );
process.resolve();
}
self.chart.state( 'ok', 'Metadata initialized...' );
process.resolve();
}
});
});
},
/** Add row */
_addRow: function( id, dataset, select_list, column_definition ) {
var self = this;
var is_label = column_definition.is_label;
var is_auto = column_definition.is_auto;
var is_numeric = column_definition.is_numeric;
var is_unique = column_definition.is_unique;
var is_zero = column_definition.is_zero;
var is_text = column_definition.is_text;
var columns = [];
var select = select_list[ id ];
if ( is_auto ) {
columns.push({
'label' : 'Column: Row Number',
'value' : 'auto'
});
}
if ( is_zero ) {
columns.push({
'label' : 'Column: None',
'value' : 'zero'
});
}
var meta = dataset.metadata_column_types;
for ( var key in meta ) {
var valid = false;
if ( meta[ key ] == 'int' || meta[ key ] == 'float' ) {
valid = is_numeric;
} else {
valid = is_text || is_label;
}
if ( valid ) {
columns.push({
'label' : 'Column: ' + ( parseInt( key ) + 1 ),
'value' : key
});
}
}
select.update( columns );
if ( is_unique && this.chart.groups.first() ) {
this.group.set( id, this.chart.groups.first().get( id ) );
}
if ( !select.exists( this.group.get( id ) ) ) {
var first = select.first();
console.debug( 'Group()::_addRow() - Switching model value from "' + this.group.get( id ) + '" to "' + first + '".' );
this.group.set( id, first );
}
select.value( this.group.get( id ) );
this.group.off( 'change:' + id ).on( 'change:' + id, function() {
select.value( self.group.get( id ) );
});
select.setOnChange( function( value ) {
if ( is_unique ) {
self.chart.groups.each( function( group ) {
group.set( id, value );
});
} else {
self.group.set( id, value );
}
self.chart.set( 'modified', true );
});
select.show();
},
/** Update group attributes */
_refreshGroup: function() {
this.group.set( 'date', Utils.time() );
},
/** Update group key */
_refreshGroupKey: function() {
var key_text = this.group.get( 'key' );
key_text === undefined ? '' : key_text;
if ( key_text != this.group_key.value() ) {
this.group_key.value( key_text );
});
}
}
});
return Backbone.View.extend({
initialize: function( app, options ) {
var self = this;
this.app = app;
this.chart = app.chart;
this.repeat = new Repeat.View({
initialize: function( app ) {
var repeat = new Repeat.View({
title : 'Data series',
title_new : 'Data series',
min : 1,
onnew : function() {
self.chart.groups.add( { id : Utils.uid() } );
}
onnew : function() { app.chart.groups.add( { id : Utils.uid() } ) }
});
this.setElement( this.repeat.$el );
this.chart.groups.on( 'add', function( group ) { self._addGroupView( group ) } )
.on( 'remove', function( group ) { self._removeGroupView( group ) } );
},
/** Add group view */
_addGroupView: function( group ) {
var self = this;
this.repeat.add({
id : group.id,
cls : 'ui-portlet-panel',
$el : ( new GroupView( this.app, { group: group } ) ).$el,
ondel : function() { self.chart.groups.remove( group ) }
});
this.chart.set( 'modified', true );
},
/** Remove group view */
_removeGroupView: function( group ) {
this.repeat.del( group.id );
this.chart.set( 'modified', true );
this.setElement( repeat.$el );
app.chart.groups.on( 'add remove reset', function() { app.chart.set( 'modified', true ) } )
.on( 'remove', function( group ) { repeat.del( group.id ) } )
.on( 'reset', function() { repeat.delAll() } )
.on( 'add', function( group ) {
repeat.add({
id : group.id,
cls : 'ui-portlet-panel',
$el : ( new GroupView( app, { group: group } ) ).$el,
ondel : function() { app.chart.groups.remove( group ) }
});
});
}
});
});
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"form-data.js","sources":["../../../src/mvc/form/form-data.js"],"names":["define","Manager","Backbone","Model","extend","initialize","app","this","checksum","sum","self","section","$el","find","each","id","$","attr","field","field_list","JSON","stringify","value","collapsed","create","add","flat_id","input_id","input_value","flat_dict","result_dict","element_list","convert","identifier","head","index","node","input","name","type","section_label","block_indices","block_prefix","block_label","pos","indexOf","length","push","parseInt","substr","sort","a","b","i","test_param","selectedCase","matchCase","flat","undefined","ignore","collapsible_value","payload","p_id","dict","_iterate","match","matchModel","model","callback","visitInputs","inputs","matchResponse","response","search","result","new_id","separator","Array","parent","children","child","hasClass","input_list","truevalue","falsevalue","cases","prefix","context","_","cache","j","Galaxy","emit","debug"],"mappings":"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"}
{"version":3,"file":"form-data.js","sources":["../../../src/mvc/form/form-data.js"],"names":["define","Manager","Backbone","Model","extend","initialize","app","this","checksum","sum","self","section","$el","find","each","id","$","attr","field","field_list","JSON","stringify","value","collapsed","set","model","attributes","index","match","get","create","add","flat_id","input_id","input_value","flat_dict","result_dict","element_list","convert","identifier","head","node","input","name","type","section_label","block_indices","block_prefix","block_label","pos","indexOf","length","push","parseInt","substr","sort","a","b","i","test_param","selectedCase","matchCase","flat","undefined","ignore","collapsible_value","payload","p_id","dict","_iterate","matchModel","callback","visitInputs","inputs","matchResponse","response","search","result","new_id","separator","Array","parent","children","child","hasClass","input_list","truevalue","falsevalue","cases","prefix","context","_","cache","j","Galaxy","emit","debug"],"mappings":"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"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,2 +1,2 @@
define(["utils/utils"],function(){var a=Backbone.Model.extend({initialize:function(a){this.app=a},checksum:function(){var a="",b=this;return this.app.section.$el.find(".section-row").each(function(){var c=$(this).attr("id"),d=b.app.field_list[c];d&&(a+=c+":"+JSON.stringify(d.value&&d.value())+":"+d.collapsed+";")}),a},create:function(){function a(a,b,c){d.flat_dict[a]=b,f[a]=c,d.app.element_list[b]&&d.app.element_list[b].$el.attr("tour_id",a)}function c(e,f){for(var g in f){var h=f[g];if(h.input){var i=h.input,j=e;switch(""!=e&&(j+="|"),j+=i.name,i.type){case"repeat":var k="section-",l=[],m=null;for(var n in h){var o=n.indexOf(k);-1!=o&&(o+=k.length,l.push(parseInt(n.substr(o))),m||(m=n.substr(0,o)))}l.sort(function(a,b){return a-b});var g=0;for(var p in l)c(j+"_"+g++,h[m+l[p]]);break;case"conditional":var q=d.app.field_list[i.id].value();a(j+"|"+i.test_param.name,i.id,q);var r=b(i,q);-1!=r&&c(j,f[i.id+"-section-"+r]);break;case"section":c(!i.flat&&j||"",h);break;default:var s=d.app.field_list[i.id];if(s&&s.value){var q=s.value();if((void 0===i.ignore||i.ignore!=q)&&(s.collapsed&&i.collapsible_value&&(q=i.collapsible_value),a(j,i.id,q),i.payload))for(var t in i.payload)a(t,i.id,i.payload[t])}}}}}var d=this,e={};this._iterate(this.app.section.$el,e);var f={};return this.flat_dict={},c("",e),f},match:function(a){return this.flat_dict&&this.flat_dict[a]},matchCase:function(a,c){return b(a,c)},matchModel:function(a,b){var d=this;c(a.inputs,function(a,c){d.flat_dict[c]&&b(a,d.flat_dict[c])})},matchResponse:function(a){function b(a,e){if("string"==typeof e){var f=d.flat_dict[a];f&&(c[f]=e)}else for(var g in e){var h=g;if(""!==a){var i="|";e instanceof Array&&(i="_"),h=a+i+h}b(h,e[g])}}var c={},d=this;return b("",a),c},_iterate:function(a,b){var c=this,d=$(a).children();d.each(function(){var a=this,d=$(a).attr("id");if($(a).hasClass("section-row")){var e=c.app.input_list[d];b[d]=e&&{input:e}||{},c._iterate(a,b[d])}else c._iterate(a,b)})}}),b=function(a,b){"boolean"==a.test_param.type&&(b="true"==b?a.test_param.truevalue||"true":a.test_param.falsevalue||"false");for(var c in a.cases)if(a.cases[c].value==b)return c;return-1},c=function(a,d,e,f){f=$.extend(!0,{},f),_.each(a,function(a){a&&a.type&&a.name&&(f[a.name]=a)});for(var g in a){var h=a[g],i=e?e+"|"+h.name:h.name;switch(h.type){case"repeat":_.each(h.cache,function(a,b){c(a,d,i+"_"+b,f)});break;case"conditional":if(h.test_param){d(h.test_param,i+"|"+h.test_param.name,f);var j=b(h,h.test_param.value);-1!=j?c(h.cases[j].inputs,d,i,f):Galaxy.emit.debug("form-data::visitInputs() - Invalid case for "+i+".")}else Galaxy.emit.debug("form-data::visitInputs() - Conditional test parameter missing for "+i+".");break;case"section":c(h.inputs,d,i,f);break;default:d(h,i,f)}}};return{Manager:a,visitInputs:c}});
define(["utils/utils"],function(){var a=Backbone.Model.extend({initialize:function(a){this.app=a},checksum:function(){var a="",b=this;return this.app.section.$el.find(".section-row").each(function(){var c=$(this).attr("id"),d=b.app.field_list[c];d&&(a+=c+":"+JSON.stringify(d.value&&d.value())+":"+d.collapsed+";")}),a},set:function(a){for(var b in a.attributes){var c=this.match(b);c&&this.app.field_list[c].value(a.get(b))}},create:function(){function a(a,b,c){d.flat_dict[a]=b,f[a]=c,d.app.element_list[b]&&d.app.element_list[b].$el.attr("tour_id",a)}function c(e,f){for(var g in f){var h=f[g];if(h.input){var i=h.input,j=e;switch(""!=e&&(j+="|"),j+=i.name,i.type){case"repeat":var k="section-",l=[],m=null;for(var n in h){var o=n.indexOf(k);-1!=o&&(o+=k.length,l.push(parseInt(n.substr(o))),m||(m=n.substr(0,o)))}l.sort(function(a,b){return a-b});var g=0;for(var p in l)c(j+"_"+g++,h[m+l[p]]);break;case"conditional":var q=d.app.field_list[i.id].value();a(j+"|"+i.test_param.name,i.id,q);var r=b(i,q);-1!=r&&c(j,f[i.id+"-section-"+r]);break;case"section":c(!i.flat&&j||"",h);break;default:var s=d.app.field_list[i.id];if(s&&s.value){var q=s.value();if((void 0===i.ignore||i.ignore!=q)&&(s.collapsed&&i.collapsible_value&&(q=i.collapsible_value),a(j,i.id,q),i.payload))for(var t in i.payload)a(t,i.id,i.payload[t])}}}}}var d=this,e={};this._iterate(this.app.section.$el,e);var f={};return this.flat_dict={},c("",e),f},match:function(a){return this.flat_dict&&this.flat_dict[a]},matchCase:function(a,c){return b(a,c)},matchModel:function(a,b){var d=this;c(a.inputs,function(a,c){d.flat_dict[c]&&b(a,d.flat_dict[c])})},matchResponse:function(a){function b(a,e){if("string"==typeof e){var f=d.flat_dict[a];f&&(c[f]=e)}else for(var g in e){var h=g;if(""!==a){var i="|";e instanceof Array&&(i="_"),h=a+i+h}b(h,e[g])}}var c={},d=this;return b("",a),c},_iterate:function(a,b){var c=this,d=$(a).children();d.each(function(){var a=this,d=$(a).attr("id");if($(a).hasClass("section-row")){var e=c.app.input_list[d];b[d]=e&&{input:e}||{},c._iterate(a,b[d])}else c._iterate(a,b)})}}),b=function(a,b){"boolean"==a.test_param.type&&(b="true"==b?a.test_param.truevalue||"true":a.test_param.falsevalue||"false");for(var c in a.cases)if(a.cases[c].value==b)return c;return-1},c=function(a,d,e,f){f=$.extend(!0,{},f),_.each(a,function(a){a&&a.type&&a.name&&(f[a.name]=a)});for(var g in a){var h=a[g],i=e?e+"|"+h.name:h.name;switch(h.type){case"repeat":_.each(h.cache,function(a,b){c(a,d,i+"_"+b,f)});break;case"conditional":if(h.test_param){d(h.test_param,i+"|"+h.test_param.name,f);var j=b(h,h.test_param.value);-1!=j?c(h.cases[j].inputs,d,i,f):Galaxy.emit.debug("form-data::visitInputs() - Invalid case for "+i+".")}else Galaxy.emit.debug("form-data::visitInputs() - Conditional test parameter missing for "+i+".");break;case"section":c(h.inputs,d,i,f);break;default:d(h,i,f)}}};return{Manager:a,visitInputs:c}});
//# sourceMappingURL=../../../maps/mvc/form/form-data.js.map
File diff suppressed because one or more lines are too long