From daf78643575fd7fa11b4babf75f1b3605c3bef3d Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Mon, 6 Nov 2023 16:10:30 -0500 Subject: [PATCH 1/4] refactor(angular): gesture controller uses correct core instance --- .../common/src/providers/gesture-controller.ts | 12 ++++-------- packages/angular/src/index.ts | 3 ++- packages/angular/src/providers/gesture-controller.ts | 12 ++++++++++++ packages/angular/standalone/src/index.ts | 2 +- .../standalone/src/providers/gesture-controller.ts | 12 ++++++++++++ 5 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 packages/angular/src/providers/gesture-controller.ts create mode 100644 packages/angular/standalone/src/providers/gesture-controller.ts diff --git a/packages/angular/common/src/providers/gesture-controller.ts b/packages/angular/common/src/providers/gesture-controller.ts index 6a1564d6553..fb171ce5bf8 100644 --- a/packages/angular/common/src/providers/gesture-controller.ts +++ b/packages/angular/common/src/providers/gesture-controller.ts @@ -1,12 +1,8 @@ -import { NgZone, Injectable } from '@angular/core'; -import type { Gesture, GestureConfig } from '@ionic/core/components'; -import { createGesture } from '@ionic/core/components'; +import { NgZone } from '@angular/core'; +import type { Gesture, GestureConfig, createGesture as _createGesture } from '@ionic/core/components'; -@Injectable({ - providedIn: 'root', -}) export class GestureController { - constructor(private zone: NgZone) {} + constructor(private zone: NgZone, private createGesture: typeof _createGesture) {} /** * Create a new gesture */ @@ -20,6 +16,6 @@ export class GestureController { }); } - return createGesture(opts); + return this.createGesture(opts); } } diff --git a/packages/angular/src/index.ts b/packages/angular/src/index.ts index 9320357deaf..dab7396d0ef 100644 --- a/packages/angular/src/index.ts +++ b/packages/angular/src/index.ts @@ -23,7 +23,6 @@ export { AlertController, LoadingController, PickerController, - GestureController, DomController, NavController, Config, @@ -38,11 +37,13 @@ export { } from '@ionic/angular/common'; export { AnimationController } from './providers/animation-controller'; export { ActionSheetController } from './providers/action-sheet-controller'; +export { GestureController } from './providers/gesture-controller'; export { MenuController } from './providers/menu-controller'; export { ModalController } from './providers/modal-controller'; export { PopoverController } from './providers/popover-controller'; export { ToastController } from './providers/toast-controller'; + // PACKAGE MODULE export { IonicModule } from './ionic-module'; diff --git a/packages/angular/src/providers/gesture-controller.ts b/packages/angular/src/providers/gesture-controller.ts new file mode 100644 index 00000000000..b051c866428 --- /dev/null +++ b/packages/angular/src/providers/gesture-controller.ts @@ -0,0 +1,12 @@ +import { Injectable, NgZone } from '@angular/core'; +import { GestureController as GestureControllerBase } from '@ionic/angular/common'; +import { createGesture } from '@ionic/core'; + +@Injectable({ + providedIn: 'root', +}) +export class GestureController extends GestureControllerBase { + constructor(ngZone: NgZone) { + super(ngZone, createGesture); + } +} diff --git a/packages/angular/standalone/src/index.ts b/packages/angular/standalone/src/index.ts index aa01fdb58e7..29d1950a53a 100644 --- a/packages/angular/standalone/src/index.ts +++ b/packages/angular/standalone/src/index.ts @@ -7,6 +7,7 @@ export { IonTabs } from './navigation/tabs'; export { provideIonicAngular } from './providers/ionic-angular'; export { ActionSheetController } from './providers/action-sheet-controller'; export { AnimationController } from './providers/animation-controller'; +export { GestureController } from './providers/gesture-controller'; export { MenuController } from './providers/menu-controller'; export { ModalController } from './providers/modal-controller'; export { PopoverController } from './providers/popover-controller'; @@ -15,7 +16,6 @@ export { AlertController, LoadingController, PickerController, - GestureController, DomController, NavController, Config, diff --git a/packages/angular/standalone/src/providers/gesture-controller.ts b/packages/angular/standalone/src/providers/gesture-controller.ts new file mode 100644 index 00000000000..484957f84bd --- /dev/null +++ b/packages/angular/standalone/src/providers/gesture-controller.ts @@ -0,0 +1,12 @@ +import { Injectable, NgZone } from '@angular/core'; +import { GestureController as GestureControllerBase } from '@ionic/angular/common'; +import { createGesture } from '@ionic/core/components'; + +@Injectable({ + providedIn: 'root', +}) +export class GestureController extends GestureControllerBase { + constructor(ngZone: NgZone) { + super(ngZone, createGesture); + } +} From 6c7d0bbaaddc46614761d9bc612ff50cd5ce32f1 Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Wed, 8 Nov 2023 11:33:25 -0500 Subject: [PATCH 2/4] chore: simplify based on team discussion yesterday --- packages/angular/common/src/index.ts | 4 ++-- .../src/providers/gesture-controller.ts | 21 ------------------- .../src/providers/gesture-controller.ts | 21 +++++++++++++++---- .../src/providers/gesture-controller.ts | 21 +++++++++++++++---- 4 files changed, 36 insertions(+), 31 deletions(-) delete mode 100644 packages/angular/common/src/providers/gesture-controller.ts diff --git a/packages/angular/common/src/index.ts b/packages/angular/common/src/index.ts index 3b43a61ac24..5e0cfe267ea 100644 --- a/packages/angular/common/src/index.ts +++ b/packages/angular/common/src/index.ts @@ -1,9 +1,9 @@ export { AlertController } from './providers/alert-controller'; +export { AnimationController } from './providers/animation-controller'; +export { GestureController } from './providers/gesture-controller'; export { LoadingController } from './providers/loading-controller'; export { MenuController } from './providers/menu-controller'; export { PickerController } from './providers/picker-controller'; - -export { GestureController } from './providers/gesture-controller'; export { DomController } from './providers/dom-controller'; export { NavController } from './providers/nav-controller'; diff --git a/packages/angular/common/src/providers/gesture-controller.ts b/packages/angular/common/src/providers/gesture-controller.ts deleted file mode 100644 index fb171ce5bf8..00000000000 --- a/packages/angular/common/src/providers/gesture-controller.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NgZone } from '@angular/core'; -import type { Gesture, GestureConfig, createGesture as _createGesture } from '@ionic/core/components'; - -export class GestureController { - constructor(private zone: NgZone, private createGesture: typeof _createGesture) {} - /** - * Create a new gesture - */ - create(opts: GestureConfig, runInsideAngularZone = false): Gesture { - if (runInsideAngularZone) { - Object.getOwnPropertyNames(opts).forEach((key) => { - if (typeof opts[key] === 'function') { - const fn = opts[key]; - opts[key] = (...props: any[]) => this.zone.run(() => fn(...props)); - } - }); - } - - return this.createGesture(opts); - } -} diff --git a/packages/angular/src/providers/gesture-controller.ts b/packages/angular/src/providers/gesture-controller.ts index b051c866428..6ca5c7c2eff 100644 --- a/packages/angular/src/providers/gesture-controller.ts +++ b/packages/angular/src/providers/gesture-controller.ts @@ -1,12 +1,25 @@ import { Injectable, NgZone } from '@angular/core'; -import { GestureController as GestureControllerBase } from '@ionic/angular/common'; +import type { Gesture, GestureConfig } from '@ionic/core'; import { createGesture } from '@ionic/core'; @Injectable({ providedIn: 'root', }) -export class GestureController extends GestureControllerBase { - constructor(ngZone: NgZone) { - super(ngZone, createGesture); +export class GestureController { + constructor(private zone: NgZone) {} + /** + * Create a new gesture + */ + create(opts: GestureConfig, runInsideAngularZone = false): Gesture { + if (runInsideAngularZone) { + Object.getOwnPropertyNames(opts).forEach((key) => { + if (typeof opts[key] === 'function') { + const fn = opts[key]; + opts[key] = (...props: any[]) => this.zone.run(() => fn(...props)); + } + }); + } + + return createGesture(opts); } } diff --git a/packages/angular/standalone/src/providers/gesture-controller.ts b/packages/angular/standalone/src/providers/gesture-controller.ts index 484957f84bd..9ec58b66517 100644 --- a/packages/angular/standalone/src/providers/gesture-controller.ts +++ b/packages/angular/standalone/src/providers/gesture-controller.ts @@ -1,12 +1,25 @@ import { Injectable, NgZone } from '@angular/core'; -import { GestureController as GestureControllerBase } from '@ionic/angular/common'; +import type { Gesture, GestureConfig } from '@ionic/core/components'; import { createGesture } from '@ionic/core/components'; @Injectable({ providedIn: 'root', }) -export class GestureController extends GestureControllerBase { - constructor(ngZone: NgZone) { - super(ngZone, createGesture); +export class GestureController { + constructor(private zone: NgZone) {} + /** + * Create a new gesture + */ + create(opts: GestureConfig, runInsideAngularZone = false): Gesture { + if (runInsideAngularZone) { + Object.getOwnPropertyNames(opts).forEach((key) => { + if (typeof opts[key] === 'function') { + const fn = opts[key]; + opts[key] = (...props: any[]) => this.zone.run(() => fn(...props)); + } + }); + } + + return createGesture(opts); } } From d5d14b2395e5a37b054e5b40ccca31b677be903a Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Thu, 9 Nov 2023 20:16:40 -0500 Subject: [PATCH 3/4] chore: remove exports --- packages/angular/common/src/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/angular/common/src/index.ts b/packages/angular/common/src/index.ts index 5e0cfe267ea..2e7d50473ab 100644 --- a/packages/angular/common/src/index.ts +++ b/packages/angular/common/src/index.ts @@ -1,6 +1,4 @@ export { AlertController } from './providers/alert-controller'; -export { AnimationController } from './providers/animation-controller'; -export { GestureController } from './providers/gesture-controller'; export { LoadingController } from './providers/loading-controller'; export { MenuController } from './providers/menu-controller'; export { PickerController } from './providers/picker-controller'; From 3ee19fb5b6637a7b575471d318a02e63e134ae7d Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Thu, 9 Nov 2023 20:27:46 -0500 Subject: [PATCH 4/4] chore: prettier --- packages/angular/src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/angular/src/index.ts b/packages/angular/src/index.ts index dab7396d0ef..5d3608ab581 100644 --- a/packages/angular/src/index.ts +++ b/packages/angular/src/index.ts @@ -43,7 +43,6 @@ export { ModalController } from './providers/modal-controller'; export { PopoverController } from './providers/popover-controller'; export { ToastController } from './providers/toast-controller'; - // PACKAGE MODULE export { IonicModule } from './ionic-module';