mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-17 02:31:34 +08:00
refactor(popover): get popover working with dom, react, angular components
This commit is contained in:
22
packages/react/src/apis/apis.ts
Normal file
22
packages/react/src/apis/apis.ts
Normal 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);
|
||||
});
|
||||
}
|
@ -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);
|
||||
});
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
export { Delegate } from './react-framework-delegate';
|
||||
export { createModal } from './apis/modal';
|
||||
export * from './apis/apis';
|
||||
export * from './utils/wc-shim';
|
Reference in New Issue
Block a user