build - refactor
This commit is contained in:
17
modules/examples/src/todo/app.es6d
Normal file
17
modules/examples/src/todo/app.es6d
Normal 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);
|
||||
}
|
||||
}
|
18
modules/examples/src/todo/dom.dart
Normal file
18
modules/examples/src/todo/dom.dart
Normal 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;
|
||||
}
|
||||
}
|
14
modules/examples/src/todo/dom.es6
Normal file
14
modules/examples/src/todo/dom.es6
Normal 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;
|
||||
}
|
||||
}
|
20
modules/examples/src/todo/index.html
Normal file
20
modules/examples/src/todo/index.html
Normal 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>
|
5
modules/examples/src/todo/main.dart
Normal file
5
modules/examples/src/todo/main.dart
Normal file
@ -0,0 +1,5 @@
|
||||
import 'app.dart' show App;
|
||||
|
||||
main() {
|
||||
new App().run();
|
||||
}
|
Reference in New Issue
Block a user