refactor(popover): get popover working with dom, react, angular components

This commit is contained in:
Dan Bucholtz
2017-12-14 16:21:03 -06:00
parent 85785b9cf7
commit 1ba73a5f29
18 changed files with 402 additions and 41 deletions

View File

@ -0,0 +1,22 @@
import { ModalOptions } from '@ionic/core';
import { Delegate } from '../react-framework-delegate';
import { getOrAppendElement } from '../utils/helpers';
export function createModal(opts: ModalOptions): Promise<HTMLIonModalElement> {
return createOverlayInternal('ion-modal-controller', opts);
}
export function createPopover(opts: ModalOptions): Promise<HTMLIonModalElement> {
return createOverlayInternal('ion-popover-controller', opts);
}
function createOverlayInternal(controllerTagName: string, opts: any) {
opts.delegate = Delegate;
const element = getOrAppendElement(controllerTagName) as HTMLIonModalControllerElement;
return (element as any).componentOnReady().then(() => {
return element.create(opts);
});
}

View File

@ -1,13 +0,0 @@
import { ModalOptions } from '@ionic/core';
import { Delegate } from '../react-framework-delegate';
import { getOrAppendElement } from '../utils/helpers';
export function createModal(opts: ModalOptions): Promise<HTMLIonModalElement> {
opts.delegate = Delegate;
const element = getOrAppendElement('ion-modal-controller') as HTMLIonModalControllerElement;
return (element as any).componentOnReady().then(() => {
return element.create(opts);
});
}

View File

@ -1,3 +1,3 @@
export { Delegate } from './react-framework-delegate';
export { createModal } from './apis/modal';
export * from './apis/apis';
export * from './utils/wc-shim';