[#94,trasnform][s]: show before / after side by side rather than above and below.

This commit is contained in:
Rufus Pollock
2012-06-29 00:38:30 +01:00
parent 0c767212e2
commit 2734f608ba
2 changed files with 29 additions and 26 deletions

View File

@@ -29,3 +29,11 @@
color: red; color: red;
} }
.recline-transform .before-after .after {
font-style: italic;
}
.recline-transform .before-after .after.different {
font-weight: bold;
}

View File

@@ -66,32 +66,28 @@ my.Transform = Backbone.View.extend({
}, },
editPreviewTemplate: ' \ editPreviewTemplate: ' \
<table class="table table-condensed table-bordered"> \ <table class="table table-condensed table-bordered before-after"> \
<thead> \ <thead> \
<tr> \ <tr> \
<th></th> \ <th>Field</th> \
{{#fields}} \ <th>Before</th> \
<th>{{id}}</th> \ <th>After</th> \
{{/fields}} \
</tr> \ </tr> \
</thead> \ </thead> \
<tbody> \ <tbody> \
{{#row}} \
<tr> \ <tr> \
<th>Before</th> \ <td> \
{{#row.before}} \ {{field}} \
<td class="expression-preview-value"> \
{{.}} \
</td> \ </td> \
{{/row.before}} \ <td class="before {{#different}}different{{/different}}"> \
</tr> \ {{before}} \
<tr> \ </td> \
<th>After</th> \ <td class="after {{#different}}different{{/different}}"> \
{{#row.after}} \ {{after}} \
<td class="expression-preview-value"> \
{{.}} \
</td> \ </td> \
{{/row.after}} \
</tr> \ </tr> \
{{/row}} \
</tbody> \ </tbody> \
</table> \ </table> \
', ',
@@ -111,19 +107,18 @@ my.Transform = Backbone.View.extend({
var $el = self.el.find('.expression-preview-container'); var $el = self.el.find('.expression-preview-container');
var fields = self.model.fields.toJSON(); var fields = self.model.fields.toJSON();
var rows = _.map(previewData.slice(0,4), function(row) { var rows = _.map(previewData.slice(0,4), function(row) {
return _.map(fields, function(field) {
return { return {
before: _.map(fields, function(field) { field: field.id,
return row.before[field.id]; before: row.before[field.id],
}), after: row.after[field.id],
after: _.map(fields, function(field) { different: !_.isEqual(row.before[field.id], row.after[field.id])
return row.after[field.id]; }
}) });
};
}); });
$el.html(''); $el.html('');
_.each(rows, function(row) { _.each(rows, function(row) {
var templated = Mustache.render(self.editPreviewTemplate, { var templated = Mustache.render(self.editPreviewTemplate, {
fields: fields,
row: row row: row
}); });
$el.append(templated); $el.append(templated);