refactor(core): move Meta methods that only have one version from DomAdapter (#32408)
PR Close #32408
This commit is contained in:

committed by
Miško Hevery

parent
1a7c79746d
commit
89434e09c2
@ -50,7 +50,6 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
querySelectorAll(el: any, selector: string): any[] { return el.querySelectorAll(selector); }
|
||||
onAndCancel(el: Node, evt: any, listener: any): Function {
|
||||
el.addEventListener(evt, listener, false);
|
||||
// Needed to follow Dart's subscription semantic, until fix of
|
||||
@ -58,7 +57,6 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||
return () => { el.removeEventListener(evt, listener, false); };
|
||||
}
|
||||
dispatchEvent(el: Node, evt: any) { el.dispatchEvent(evt); }
|
||||
appendChild(el: Node, node: Node) { el.appendChild(node); }
|
||||
remove(node: Node): Node {
|
||||
if (node.parentNode) {
|
||||
node.parentNode.removeChild(node);
|
||||
@ -70,15 +68,6 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
|
||||
doc = doc || this.getDefaultDocument();
|
||||
return doc.createElement(tagName);
|
||||
}
|
||||
getElementsByTagName(element: any, name: string): HTMLElement[] {
|
||||
return element.getElementsByTagName(name);
|
||||
}
|
||||
|
||||
getAttribute(element: Element, attribute: string): string|null {
|
||||
return element.getAttribute(attribute);
|
||||
}
|
||||
setAttribute(element: Element, name: string, value: string) { element.setAttribute(name, value); }
|
||||
|
||||
createHtmlDocument(): HTMLDocument {
|
||||
return document.implementation.createHTMLDocument('fakeTitle');
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ export class Meta {
|
||||
|
||||
getTags(attrSelector: string): HTMLMetaElement[] {
|
||||
if (!attrSelector) return [];
|
||||
const list /*NodeList*/ = this._dom.querySelectorAll(this._doc, `meta[${attrSelector}]`);
|
||||
const list /*NodeList*/ = this._doc.querySelectorAll(`meta[${attrSelector}]`);
|
||||
return list ? [].slice.call(list) : [];
|
||||
}
|
||||
|
||||
@ -99,13 +99,13 @@ export class Meta {
|
||||
}
|
||||
const element: HTMLMetaElement = this._dom.createElement('meta') as HTMLMetaElement;
|
||||
this._setMetaElementAttributes(meta, element);
|
||||
const head = this._dom.getElementsByTagName(this._doc, 'head')[0];
|
||||
this._dom.appendChild(head, element);
|
||||
const head = this._doc.getElementsByTagName('head')[0];
|
||||
head.appendChild(element);
|
||||
return element;
|
||||
}
|
||||
|
||||
private _setMetaElementAttributes(tag: MetaDefinition, el: HTMLMetaElement): HTMLMetaElement {
|
||||
Object.keys(tag).forEach((prop: string) => this._dom.setAttribute(el, prop, tag[prop]));
|
||||
Object.keys(tag).forEach((prop: string) => el.setAttribute(prop, tag[prop]));
|
||||
return el;
|
||||
}
|
||||
|
||||
@ -115,6 +115,6 @@ export class Meta {
|
||||
}
|
||||
|
||||
private _containsAttributes(tag: MetaDefinition, elem: HTMLMetaElement): boolean {
|
||||
return Object.keys(tag).every((key: string) => this._dom.getAttribute(elem, key) === tag[key]);
|
||||
return Object.keys(tag).every((key: string) => elem.getAttribute(key) === tag[key]);
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ export function appInitializerFactory(transitionId: string, document: any, injec
|
||||
const dom = getDOM();
|
||||
const styles: any[] =
|
||||
Array.prototype.slice.apply(document.querySelectorAll(`style[ng-transition]`));
|
||||
styles.filter(el => dom.getAttribute(el, 'ng-transition') === transitionId)
|
||||
styles.filter(el => el.getAttribute('ng-transition') === transitionId)
|
||||
.forEach(el => dom.remove(el));
|
||||
});
|
||||
};
|
||||
|
Reference in New Issue
Block a user