Skip to content

Commit

Permalink
fix(overlays): OverlayController interface
Browse files Browse the repository at this point in the history
  • Loading branch information
manucorporat committed Mar 13, 2018
1 parent cc4fecc commit 6e2ca85
Show file tree
Hide file tree
Showing 12 changed files with 25 additions and 38 deletions.
6 changes: 4 additions & 2 deletions angular/src/util/overlay.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@

import { proxyMethod } from '../util/util';


export class OverlayBaseController<Opts, Overlay> {
constructor(private ctrl: string) {}

Expand All @@ -12,4 +10,8 @@ export class OverlayBaseController<Opts, Overlay> {
dismiss(data?: any, role?: string, id = -1): Promise<void> {
return proxyMethod(this.ctrl, 'dismiss', data, role, id);
}

getTop(): Promise<Overlay> {
return proxyMethod(this.ctrl, 'getTop');
}
}
17 changes: 0 additions & 17 deletions angular/src/util/util.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@



export function proxyMethod(ctrlName: string, methodName: string, ...args: any[]) {
const controller = ensureElementInBody(ctrlName);
return controller.componentOnReady()
Expand All @@ -15,18 +13,3 @@ export function ensureElementInBody(elementName: string) {
}
return element as HTMLStencilElement;
}

export function removeAllNodeChildren(element: HTMLElement) {
while (element.firstChild) {
element.removeChild(element.firstChild);
}
}

export function isString(something: any) {
return typeof something === 'string' ? true : false;
}

export function getIonApp(): Promise<HTMLIonAppElement> {
const element = ensureElementInBody('ion-app') as HTMLIonAppElement;
return element.componentOnReady();
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, Listen, Method } from '@stencil/core';
import { ActionSheetOptions, OverlayController } from '../../index';
import { createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';
import { ActionSheetOptions } from '../../index';
import { OverlayController, createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';

@Component({
tag: 'ion-action-sheet-controller'
Expand Down
4 changes: 2 additions & 2 deletions core/src/components/alert-controller/alert-controller.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, Listen, Method } from '@stencil/core';
import { AlertOptions, OverlayController } from '../../index';
import { createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';
import { AlertOptions } from '../../index';
import { OverlayController, createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';

@Component({
tag: 'ion-alert-controller'
Expand Down
4 changes: 2 additions & 2 deletions core/src/components/loading-controller/loading-controller.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, Listen, Method } from '@stencil/core';
import { LoadingOptions, OverlayController } from '../../index';
import { createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';
import { LoadingOptions } from '../../index';
import { OverlayController, createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';


@Component({
Expand Down
1 change: 0 additions & 1 deletion core/src/components/loading/loading.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import mdLeaveAnimation from './animations/md.leave';
theme: 'loading'
}
})

export class Loading implements OverlayInterface {

private durationTimeout: any;
Expand Down
4 changes: 2 additions & 2 deletions core/src/components/modal-controller/modal-controller.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, Listen, Method } from '@stencil/core';
import { ModalOptions, OverlayController } from '../../index';
import { createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';
import { ModalOptions } from '../../index';
import { OverlayController, createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';


@Component({
Expand Down
4 changes: 2 additions & 2 deletions core/src/components/picker-controller/picker-controller.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, Listen, Method } from '@stencil/core';
import { OverlayController, PickerOptions } from '../../index';
import { createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';
import { PickerOptions } from '../../index';
import { OverlayController, createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';


@Component({
Expand Down
4 changes: 2 additions & 2 deletions core/src/components/popover-controller/popover-controller.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, Listen, Method } from '@stencil/core';
import { OverlayController, PopoverOptions } from '../../index';
import { createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';
import { PopoverOptions } from '../../index';
import { OverlayController, createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';

@Component({
tag: 'ion-popover-controller'
Expand Down
4 changes: 2 additions & 2 deletions core/src/components/toast-controller/toast-controller.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, Listen, Method } from '@stencil/core';
import { OverlayController, ToastOptions } from '../../index';
import { createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';
import { ToastOptions } from '../../index';
import { OverlayController, createOverlay, dismissOverlay, getTopOverlay, removeLastOverlay } from '../../utils/overlays';


@Component({
Expand Down
5 changes: 1 addition & 4 deletions core/src/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ export * from './components';

export { DomController, RafCallback } from './global/dom-controller';
export { FrameworkDelegate, FrameworkMountingData } from './utils/dom-framework-delegate';
export { OverlayEventDetail } from './utils/overlays';

export interface Config {
get: (key: string, fallback?: any) => any;
Expand Down Expand Up @@ -157,7 +158,3 @@ declare global {
}
}
}

export interface OverlayController {
getTop(): HTMLElement;
}
6 changes: 6 additions & 0 deletions core/src/utils/overlays.ts
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,12 @@ export interface OverlayInterface {
dismiss(data?: any, role?: string): Promise<void>;
}

export interface OverlayController {
create(opts?: any): Promise<HTMLElement>;
dismiss(data?: any, role?: string, alertId?: number): Promise<void>;
getTop(): HTMLElement;
}

export interface HTMLIonOverlayElement extends HTMLStencilElement, OverlayInterface {}

export type OverlayMap = Map<number, HTMLIonOverlayElement>;
Expand Down

0 comments on commit 6e2ca85

Please sign in to comment.