Some DOM abstractions

This commit is contained in:
Max Lynch
2015-05-04 13:14:55 -05:00
parent a5702517fc
commit 615cd7eaeb
8 changed files with 59 additions and 39 deletions

View File

@@ -98,3 +98,17 @@ export function windowLoad() {
}
});
}
export function hasAttribute(el: Element, attributeName) {
return el.hasAttribute(attributeName);
}
export function addClass(el: Element, className) {
el.classList.add(className);
}
export function addClasses(el: Element, ...classNames) {
for(let c of classNames) {
el.classList.add(c);
}
}

View File

@@ -1,25 +0,0 @@
/*
import {RenderedElement} from 'ionic/util/render/element';
export class DomRenderedElement extends RenderedElement {
constructor(domElement: Element) {
super(domElement)
}
addClass(className) {
this.element.classList.add(classList);
}
removeClass(className) {
this.element.classList.remove(classList);
}
addClasses(classes) {
for(let c of classes) {
this.element.classList.add(c);
}
}
removeClasses(classes) {
for(let c of classes) {
this.element.classList.remove(c);
}
}
}
*/

View File

@@ -0,0 +1,27 @@
/**
* TODO: Wait until the new ElementRef stuff lands in Angular2.
import {RenderedElement} from 'ionic/util/render/element';
export class DomRenderedElement extends RenderedElement {
constructor(domElement: Element) {
super(domElement)
}
addClass(className) {
this.element.classList.add(classList);
}
removeClass(className) {
this.element.classList.remove(classList);
}
addClasses(...classNames) {
for(let c of classNames) {
this.element.classList.add(c);
}
}
removeClasses(...classNames) {
for(let c of classes) {
this.element.classList.remove(c);
}
}
}
*/

View File

@@ -1,14 +1,16 @@
/*
class RenderedElement {
/**
* TODO: Wait until the new ElementRef stuff lands in Angular2
export class RenderedElement {
constructor(element) {
this.element = element;
}
}
_notImplemented(fnName) {
console.error("RenderedElement." + fnName + "addClass is not implemented. Use a concrete class like DomRenderedElement instead.");
}
addClass(className) { this._notImplemented('addClass'); }
removeClass(className) { this._notImplemented('removeClass'); }
addClasses(className) { this._notImplemented('addClasses'); }
removeClasses(className) { this._notImplemented('removeClasses'); }
addClasses(...classNames) { this._notImplemented('addClasses'); }
removeClasses(...classNames) { this._notImplemented('removeClasses'); }
}
*/
*/