chore(ssr): fix document.body reference (#18863)

This commit is contained in:
Adam Bradley
2019-07-23 14:11:09 -05:00
committed by GitHub
parent 798103bf63
commit a8455a90ff
5 changed files with 39 additions and 36 deletions

View File

@ -5,17 +5,17 @@ export const raf = (h: any) => {
return (win.__zone_symbol__requestAnimationFrame) ? win.__zone_symbol__requestAnimationFrame(h) : requestAnimationFrame(h);
};
export function proxyMethod(ctrlName: string, doc: Document, methodName: string, ...args: any[]) {
export const proxyMethod = (ctrlName: string, doc: Document, methodName: string, ...args: any[]) => {
const controller = ensureElementInBody(ctrlName, doc);
return controller.componentOnReady()
.then(() => (controller as any)[methodName].apply(controller, args));
}
};
export function ensureElementInBody(elementName: string, doc: Document) {
export const ensureElementInBody = (elementName: string, doc: Document) => {
let element = doc.querySelector(elementName);
if (!element) {
element = doc.createElement(elementName);
doc.body.appendChild(element);
}
return element as HTMLStencilElement;
}
};