[#68,fields][m]: add format attribute plus support for renderer and deriver functions.

This commit is contained in:
Rufus Pollock
2012-04-10 01:24:34 +01:00
parent 103d2a513c
commit 0f4a0a6189
2 changed files with 89 additions and 8 deletions

View File

@@ -38,6 +38,37 @@ test('Field: basics', function () {
equal('XX', out[0].label);
});
test('Field: deriver and renderer', function () {
var doc = new recline.Model.Document({x: 123});
var cellRenderer = function(value, field) {
return '<span class="field-' + field.id + '">' + value + '</span>';
}
var deriver = function(val, field, doc) {
return doc.get('x') * 2
}
var field = new recline.Model.Field({id: 'computed', is_derived: true}, {
deriver: deriver
});
var out = doc.getFieldValue(field);
var exp = 246;
equal(out, exp);
var field = new recline.Model.Field({id: 'x'}, {
renderer: cellRenderer
});
var out = doc.getFieldValue(field);
var exp = '<span class="field-x">123</span>'
equal(out, exp);
var field = new recline.Model.Field({id: 'computed'}, {
renderer: cellRenderer,
deriver: deriver
});
var out = doc.getFieldValue(field);
var exp = '<span class="field-computed">246</span>'
equal(out, exp);
});
// =================================
// Dataset