diff --git a/angular/src/module.ts b/angular/src/module.ts index 1712dfff8c..30d0697880 100644 --- a/angular/src/module.ts +++ b/angular/src/module.ts @@ -119,6 +119,7 @@ const PROVIDERS = [ p.NavController, p.Platform, p.Events, + p.DomController ]; @NgModule({ diff --git a/angular/src/providers/dom-controller.ts b/angular/src/providers/dom-controller.ts new file mode 100644 index 0000000000..dc4fec2707 --- /dev/null +++ b/angular/src/providers/dom-controller.ts @@ -0,0 +1,20 @@ +import { Injectable } from '@angular/core'; + +@Injectable() +export class DomController { + + read(cb: RafCallback) { + getQueue().read(cb); + } + + write(cb: RafCallback) { + getQueue().write(cb); + } +} + +function getQueue() { + const ionic = (window as any).Ionic; + return ionic.queue; +} + +export type RafCallback = { (timeStamp?: number): void }; diff --git a/angular/src/providers/index.ts b/angular/src/providers/index.ts index 7592f9a60b..20c06ea0fa 100644 --- a/angular/src/providers/index.ts +++ b/angular/src/providers/index.ts @@ -11,3 +11,4 @@ export { Platform } from './platform'; export { PopoverController } from './popover-controller'; export { ToastController } from './toast-controller'; export { NavController } from './nav-controller'; +export { DomController } from './dom-controller';