mirror of https://github.com/grafana/grafana
pull/3307/head
parent
90cca93951
commit
1b83742e3e
@ -0,0 +1,31 @@ |
||||
|
||||
export class TableRenderer { |
||||
constructor(private panel, private table) { |
||||
} |
||||
|
||||
formatColumnValue(columnIndex, value) { |
||||
return "value"; |
||||
} |
||||
|
||||
renderCell(columnIndex, value) { |
||||
var colValue = this.formatColumnValue(columnIndex, value); |
||||
return '<td>' + colValue + '</td>'; |
||||
} |
||||
|
||||
render(page) { |
||||
let endPos = Math.min(this.panel.pageSize, this.table.rows.length); |
||||
let startPos = 0; |
||||
var html = ""; |
||||
|
||||
for (var y = startPos; y < endPos; y++) { |
||||
let row = this.table.rows[y]; |
||||
html += '<tr>'; |
||||
for (var i = 0; i < this.table.columns.length; i++) { |
||||
html += this.renderCell(i, row[i]); |
||||
} |
||||
html += '</tr>'; |
||||
} |
||||
|
||||
return html; |
||||
} |
||||
} |
||||
@ -0,0 +1,25 @@ |
||||
import {describe, beforeEach, it, sinon, expect} from 'test/lib/common'; |
||||
|
||||
import {TableModel} from '../table_model'; |
||||
import {TableRenderer} from '../renderer'; |
||||
|
||||
describe('when rendering table', () => { |
||||
describe('given 2 columns', () => { |
||||
var table = new TableModel(); |
||||
table.columns = [{text: 'Time'}, {text: 'Value'}]; |
||||
table.rows.push([1446733230253, 12.4]); |
||||
table.rows.push([1446733231253, 10.4]); |
||||
|
||||
var panel = { |
||||
pageSize: 10 |
||||
}; |
||||
|
||||
it('render should return html', () => { |
||||
var html = new TableRenderer(panel, table).render(0); |
||||
expect(html).to.be('<tr><td>value</td></tr>'); |
||||
}); |
||||
|
||||
}); |
||||
}); |
||||
|
||||
|
||||
Loading…
Reference in new issue