Mithril Table Redraw
by ramnathv
HTML
<script src="//cdn.jsdelivr.net/mithril/0.2.2-rc.1/mithril.min.js"></script>
<div id="app"></div>
CoffeeScript
Table = view: (ctrl, props) ->
m 'table.table.table-condensed',
m 'thead',
m 'tr',
m 'th', 'Key'
m 'th', 'Value'
m 'tbody', props.data.map (v, i) ->
m 'tr',
m 'td', i
m 'td', v
App =
controller: ->
data = m.prop([])
running = m.prop(false)
runApp = (e) ->
data([1..25].map (d) -> Math.random())
if running() then m.redraw()
stopApp = (e) -> running(false)
window.setInterval(runApp, 2000)
{data, running, runApp, stopApp}
view: (ctrl, props) ->
m 'div',
m 'button.btn-lg btn-success',
{onclick: ctrl.runApp}, 'Click to run'
m 'button.btn-lg btn-danger',
{onclick: ctrl.stopApp}, 'Click to stop'
m Table, {data: ctrl.data()}
m.mount(
document.getElementById("app"),
m App
)