feat(View): implement ProtoView.instantiate
This commit is contained in:
@ -22,6 +22,7 @@ class ListWrapper {
|
||||
static void set(m, k, v) { m[k] = v; }
|
||||
static contains(m, k) => m.containsKey(k);
|
||||
static map(list, fn) => list.map(fn).toList();
|
||||
static filter(List list, fn) => list.where(fn).toList();
|
||||
static find(List list, fn) => list.firstWhere(fn, orElse:() => null);
|
||||
static any(List list, fn) => list.any(fn);
|
||||
static forEach(list, fn) {
|
||||
|
@ -47,6 +47,9 @@ export class ListWrapper {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
static filter(array, pred:Function) {
|
||||
return array.filter(pred);
|
||||
}
|
||||
static any(list:List, pred:Function) {
|
||||
for (var i = 0 ; i < list.length; ++i) {
|
||||
if (pred(list[i])) return true;
|
||||
|
@ -9,6 +9,9 @@ class DOM {
|
||||
static query(selector) {
|
||||
return document.querySelector(selector);
|
||||
}
|
||||
static ElementList querySelectorAll(el, String selector) {
|
||||
return el.querySelectorAll(selector);
|
||||
}
|
||||
static on(element, event, callback) {
|
||||
element.addEventListener(event, callback);
|
||||
}
|
||||
@ -18,6 +21,12 @@ class DOM {
|
||||
static setInnerHTML(el, value) {
|
||||
el.innerHtml = value;
|
||||
}
|
||||
static Node firstChild(el) {
|
||||
return el.firstChild;
|
||||
}
|
||||
static List<Node> childNodes(el) {
|
||||
return el.childNodes;
|
||||
}
|
||||
static setText(Text text, String value) {
|
||||
text.text = value;
|
||||
}
|
||||
|
@ -1,23 +1,34 @@
|
||||
export var DocumentFragment = window.DocumentFragment;
|
||||
export var Node = window.Node;
|
||||
export var NodeList = window.NodeList;
|
||||
export var Text = window.Text;
|
||||
export var Element = window.HTMLElement;
|
||||
export var TemplateElement = window.HTMLTemplateElement;
|
||||
import {List} from 'facade/collection';
|
||||
|
||||
export class DOM {
|
||||
static query(selector) {
|
||||
return document.querySelector(selector);
|
||||
}
|
||||
static querySelectorAll(el, selector:string):NodeList {
|
||||
return el.querySelectorAll(selector);
|
||||
}
|
||||
static on(el, evt, listener) {
|
||||
el.addEventListener(evt, listener, false);
|
||||
}
|
||||
static getInnerHTML(el) {
|
||||
return el.innerHTML;
|
||||
}
|
||||
static firstChild(el):Node {
|
||||
return el.firstChild;
|
||||
}
|
||||
static childNodes(el):NodeList {
|
||||
return el.childNodes;
|
||||
}
|
||||
static setInnerHTML(el, value) {
|
||||
el.innerHTML = value;
|
||||
}
|
||||
static setText(text:Text, value:String) {
|
||||
static setText(text:Text, value:string) {
|
||||
text.nodeValue = value;
|
||||
}
|
||||
static createTemplate(html) {
|
||||
|
Reference in New Issue
Block a user