Chagned the variable control to use the new format of

generateSchemaView(...) output. Also, set the value in proper format
before rendering them using DynamicVariableCell.
This commit is contained in:
Ashesh Vashi 2016-01-18 14:49:33 +05:30
parent 7e621c9d7f
commit d9f349b60b

View File

@ -38,7 +38,7 @@
var VariableModel = pgNode.VariableModel = pgNode.Model.extend({ var VariableModel = pgNode.VariableModel = pgNode.Model.extend({
defaults: { defaults: {
name: undefined, name: undefined,
value: '', value: undefined,
role: undefined, role: undefined,
database: undefined, database: undefined,
}, },
@ -70,6 +70,7 @@
}, },
validate: function() { validate: function() {
if (_.isUndefined(this.get('value')) || if (_.isUndefined(this.get('value')) ||
_.isNull(this.get('value')) ||
String(this.get('value')).replace(/^\s+|\s+$/g, '') == '') { String(this.get('value')).replace(/^\s+|\s+$/g, '') == '') {
var msg = 'Please enter some value!'; var msg = 'Please enter some value!';
@ -166,7 +167,7 @@
var formatter = self.formatter; var formatter = self.formatter;
formatter.decimals = self.decimals; formatter.decimals = 0;
formatter.decimalSeparator = self.decimalSeparator; formatter.decimalSeparator = self.decimalSeparator;
formatter.orderSeparator = self.orderSeparator; formatter.orderSeparator = self.orderSeparator;
@ -291,12 +292,11 @@
var headerGroups = Backform.generateViewSchema( var headerGroups = Backform.generateViewSchema(
self.field.get('node_info'), self.headerData, 'create', self.field.get('node_info'), self.headerData, 'create',
node, self.field.get('node_data') node, self.field.get('node_data')
); ),
fields = [];
var fields = []; _.each(headerGroups, function(o) {
fields = fields.concat(o.fields);
_.each(headerGroups, function(val, key) {
fields = fields.concat(headerGroups[key]);
}); });
self.headerFields = new Backform.Fields(fields); self.headerFields = new Backform.Fields(fields);
@ -312,7 +312,6 @@
self.listenTo(self.headerData, "select2", self.headerDataChanged); self.listenTo(self.headerData, "select2", self.headerDataChanged);
self.listenTo(self.collection, "remove", self.onRemoveVariable); self.listenTo(self.collection, "remove", self.onRemoveVariable);
}, },
/* /*
* Get the variable data for this node. * Get the variable data for this node.
*/ */
@ -476,6 +475,29 @@
}); });
} }
// Change format of each of the data
// Because - data coming from the server is in string format
self.collection.each(function(model) {
var name = model.get("name");
if (name in self.availVariables) {
switch(self.availVariables[name].vartype) {
case 'real':
var v = parseFloat(model.get('value'));
model.set('value', (isNaN(v) ? undefined : v), {silent: true});
break;
case 'integer':
var v = parseInt(model.get('value'));
model.set('value', (isNaN(v) ? undefined : v), {silent: true});
break;
default:
break;
}
}
});
// Initialize a new Grid instance // Initialize a new Grid instance
var grid = self.grid = new Backgrid.Grid({ var grid = self.grid = new Backgrid.Grid({
columns: gridSchema.columns, columns: gridSchema.columns,