2015-11-04 02:41:03 -06:00
|
|
|
import {transformers} from './transformers';
|
2015-11-02 13:51:49 -06:00
|
|
|
|
2015-11-03 09:19:51 -06:00
|
|
|
export class TableModel {
|
|
|
|
columns: any[];
|
|
|
|
rows: any[];
|
2015-11-02 13:51:49 -06:00
|
|
|
|
2015-11-05 01:36:51 -06:00
|
|
|
constructor() {
|
|
|
|
this.columns = [];
|
|
|
|
this.rows = [];
|
|
|
|
}
|
|
|
|
|
2015-11-03 09:19:51 -06:00
|
|
|
static transform(data, panel) {
|
|
|
|
var model = new TableModel();
|
|
|
|
|
|
|
|
if (!data || data.length === 0) {
|
|
|
|
return model;
|
|
|
|
}
|
|
|
|
|
|
|
|
var transformer = transformers[panel.transform];
|
|
|
|
if (!transformer) {
|
|
|
|
throw {message: 'Transformer ' + panel.transformer + ' not found'};
|
|
|
|
}
|
|
|
|
|
|
|
|
transformer.transform(data, panel, model);
|
|
|
|
return model;
|
|
|
|
}
|
|
|
|
}
|