build - refactor

This commit is contained in:
Tobias Bosch
2014-09-18 14:56:38 -07:00
parent 6a3abf2366
commit afa7616464
15 changed files with 284 additions and 0 deletions

View File

@ -0,0 +1,17 @@
import {DOM} from './dom';
export class App {
constructor() {
this.input = null;
this.list = null;
}
run() {
this.input = DOM.query('input');
this.list = DOM.query('ul');
DOM.on(this.input, 'change', (evt) => this.add(evt));
}
add(evt) {
var html = DOM.getInnerHTML(this.list);
html += '<li>'+this.input.value+'</li>';
DOM.setInnerHTML(this.list, html);
}
}

View File

@ -0,0 +1,18 @@
library dom;
import 'dart:html';
class DOM {
static query(selector) {
return document.query(selector);
}
static on(element, event, callback) {
element.addEventListener(event, callback);
}
static getInnerHTML(el) {
return el.innerHtml;
}
static setInnerHTML(el, value) {
el.innerHtml = value;
}
}

View File

@ -0,0 +1,14 @@
export class DOM {
static query(selector) {
return document.querySelector(selector);
}
static on(el, evt, listener) {
el.addEventListener(evt, listener, false);
}
static getInnerHTML(el) {
return el.innerHTML;
}
static setInnerHTML(el, value) {
el.innerHTML = value;
}
}

View File

@ -0,0 +1,20 @@
<!doctype html>
<html>
<body>
<input type="test">
<ul></ul>
<% if(type === 'dart') { %>
<script src="main.dart" type="application/dart"></script>
<% } else { %>
<script src="../../traceur-runtime.js" type="text/javascript"></script>
<script src="../../assert.js" type="text/javascript"></script>
<script src="app.js" type="text/javascript"></script>
<script src="dom.js" type="text/javascript"></script>
<script>
new (System.get("examples/todo/app").App)().run();
</script>
<% } %>
</body>
</html>

View File

@ -0,0 +1,5 @@
import 'app.dart' show App;
main() {
new App().run();
}