refactor(angular): move providers to common library (#27899)

This commit is contained in:
Liam DeBeasi
2023-08-01 15:59:53 -04:00
committed by GitHub
parent 291b1310a6
commit 5b31439ca0
26 changed files with 75 additions and 55 deletions

View File

@@ -1,3 +1,21 @@
// This is required to get ng-packagr to build.
// Remove this when you actually have something to export
export const placeholder = true;
export { ActionSheetController } from './providers/action-sheet-controller';
export { AlertController } from './providers/alert-controller';
export { LoadingController } from './providers/loading-controller';
export { MenuController } from './providers/menu-controller';
export { ModalController } from './providers/modal-controller';
export { PickerController } from './providers/picker-controller';
export { PopoverController } from './providers/popover-controller';
export { ToastController } from './providers/toast-controller';
export { AnimationController } from './providers/animation-controller';
export { GestureController } from './providers/gesture-controller';
export { DomController } from './providers/dom-controller';
export { Config, ConfigToken } from './providers/config';
export { Platform } from './providers/platform';
export { bindLifecycleEvents, AngularDelegate } from './providers/angular-delegate';
export type { IonicWindow } from './types/interfaces';
export { NavParams } from './directives/navigation/nav-params';

View File

@@ -1,7 +1,8 @@
import { Injectable } from '@angular/core';
import { ActionSheetOptions, actionSheetController } from '@ionic/core';
import type { ActionSheetOptions } from '@ionic/core/components';
import { actionSheetController } from '@ionic/core/components';
import { OverlayBaseController } from '../util/overlay';
import { OverlayBaseController } from '../utils/overlay';
@Injectable({
providedIn: 'root',

View File

@@ -1,7 +1,8 @@
import { Injectable } from '@angular/core';
import { AlertOptions, alertController } from '@ionic/core';
import type { AlertOptions } from '@ionic/core/components';
import { alertController } from '@ionic/core/components';
import { OverlayBaseController } from '../util/overlay';
import { OverlayBaseController } from '../utils/overlay';
@Injectable({
providedIn: 'root',

View File

@@ -16,7 +16,7 @@ import {
LIFECYCLE_WILL_ENTER,
LIFECYCLE_WILL_LEAVE,
LIFECYCLE_WILL_UNLOAD,
} from '@ionic/core';
} from '@ionic/core/components';
import { NavParams } from '../directives/navigation/nav-params';

View File

@@ -1,5 +1,6 @@
import { Injectable } from '@angular/core';
import { Animation, createAnimation, getTimeGivenProgression } from '@ionic/core';
import type { Animation } from '@ionic/core/components';
import { createAnimation, getTimeGivenProgression } from '@ionic/core/components';
@Injectable({
providedIn: 'root',

View File

@@ -1,5 +1,5 @@
import { Injectable, InjectionToken } from '@angular/core';
import { Config as CoreConfig, IonicConfig } from '@ionic/core';
import type { Config as CoreConfig, IonicConfig } from '@ionic/core/components';
import { IonicWindow } from '../types/interfaces';

View File

@@ -1,5 +1,6 @@
import { NgZone, Injectable } from '@angular/core';
import { Gesture, GestureConfig, createGesture } from '@ionic/core';
import type { Gesture, GestureConfig } from '@ionic/core/components';
import { createGesture } from '@ionic/core/components';
@Injectable({
providedIn: 'root',

View File

@@ -1,7 +1,8 @@
import { Injectable } from '@angular/core';
import { LoadingOptions, loadingController } from '@ionic/core';
import type { LoadingOptions } from '@ionic/core/components';
import { loadingController } from '@ionic/core/components';
import { OverlayBaseController } from '../util/overlay';
import { OverlayBaseController } from '../utils/overlay';
@Injectable({
providedIn: 'root',

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
import { menuController } from '@ionic/core';
import { menuController } from '@ionic/core/components';
@Injectable({
providedIn: 'root',

View File

@@ -1,7 +1,8 @@
import { Injector, Injectable, EnvironmentInjector, inject } from '@angular/core';
import { ModalOptions, modalController } from '@ionic/core';
import type { ModalOptions } from '@ionic/core/components';
import { modalController } from '@ionic/core/components';
import { OverlayBaseController } from '../util/overlay';
import { OverlayBaseController } from '../utils/overlay';
import { AngularDelegate } from './angular-delegate';

View File

@@ -1,7 +1,8 @@
import { Injectable } from '@angular/core';
import { PickerOptions, pickerController } from '@ionic/core';
import type { PickerOptions } from '@ionic/core';
import { pickerController } from '@ionic/core/components';
import { OverlayBaseController } from '../util/overlay';
import { OverlayBaseController } from '../utils/overlay';
@Injectable({
providedIn: 'root',

View File

@@ -1,6 +1,7 @@
import { DOCUMENT } from '@angular/common';
import { NgZone, Inject, Injectable } from '@angular/core';
import { BackButtonEventDetail, KeyboardEventDetail, Platforms, getPlatforms, isPlatform } from '@ionic/core';
import { getPlatforms, isPlatform } from '@ionic/core/components';
import type { BackButtonEventDetail, KeyboardEventDetail, Platforms } from '@ionic/core/components';
import { Subscription, Subject } from 'rxjs';
// TODO(FW-2827): types

View File

@@ -1,7 +1,8 @@
import { Injector, Injectable, inject, EnvironmentInjector } from '@angular/core';
import { PopoverOptions, popoverController } from '@ionic/core';
import type { PopoverOptions } from '@ionic/core/components';
import { popoverController } from '@ionic/core/components';
import { OverlayBaseController } from '../util/overlay';
import { OverlayBaseController } from '../utils/overlay';
import { AngularDelegate } from './angular-delegate';

View File

@@ -1,7 +1,8 @@
import { Injectable } from '@angular/core';
import { ToastOptions, toastController } from '@ionic/core';
import type { ToastOptions } from '@ionic/core/components';
import { toastController } from '@ionic/core/components';
import { OverlayBaseController } from '../util/overlay';
import { OverlayBaseController } from '../utils/overlay';
@Injectable({
providedIn: 'root',

View File

@@ -7,8 +7,3 @@ export interface IonicWindow extends Window {
Ionic: IonicGlobal;
__zone_symbol__requestAnimationFrame?: (ts: FrameRequestCallback) => number;
}
export interface HTMLStencilElement extends HTMLElement {
componentOnReady?(): Promise<this>;
forceUpdate?(): void;
}

View File

@@ -1,9 +1,8 @@
import { NgZone } from '@angular/core';
import type { Config, IonicWindow } from '@ionic/angular/common';
import { setupConfig } from '@ionic/core';
import { applyPolyfills, defineCustomElements } from '@ionic/core/loader';
import { Config } from './providers/config';
import { IonicWindow } from './types/interfaces';
import { raf } from './util/util';
// TODO(FW-2827): types

View File

@@ -1,7 +1,7 @@
import { Directive, HostListener, Input, Optional } from '@angular/core';
import { Config } from '@ionic/angular/common';
import { AnimationBuilder } from '@ionic/core';
import { Config } from '../../providers/config';
import { NavController } from '../../providers/nav-controller';
import { IonRouterOutlet } from './ion-router-outlet';

View File

@@ -21,12 +21,12 @@ import {
reflectComponentType,
} from '@angular/core';
import { OutletContext, Router, ActivatedRoute, ChildrenOutletContexts, PRIMARY_OUTLET, Data } from '@angular/router';
import { Config } from '@ionic/angular/common';
import { componentOnReady } from '@ionic/core';
import { Observable, BehaviorSubject, Subscription, combineLatest, of } from 'rxjs';
import { distinctUntilChanged, filter, switchMap } from 'rxjs/operators';
import { AnimationBuilder } from '../../ionic-core';
import { Config } from '../../providers/config';
import { NavController } from '../../providers/nav-controller';
import { StackController } from './stack-controller';

View File

@@ -1,6 +1,6 @@
import { ElementRef, Injector, Directive, EnvironmentInjector } from '@angular/core';
import { AngularDelegate } from '@ionic/angular/common';
import { AngularDelegate } from '../../providers/angular-delegate';
import { ProxyCmp, proxyOutputs } from '../angular-component-lib/utils';
@ProxyCmp({

View File

@@ -1,9 +1,9 @@
import { Location } from '@angular/common';
import { ComponentRef, NgZone } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { bindLifecycleEvents } from '@ionic/angular/common';
import { AnimationBuilder, RouterDirection } from '@ionic/core';
import { bindLifecycleEvents } from '../../providers/angular-delegate';
import { NavController } from '../../providers/nav-controller';
import {

View File

@@ -13,27 +13,29 @@ export {
RouterLinkWithHrefDelegateDirective as RouterLinkWithHrefDelegate,
} from './directives/navigation/router-link-delegate';
export { NavParams } from './directives/navigation/nav-params';
export { IonModal } from './directives/overlays/modal';
export { IonPopover } from './directives/overlays/popover';
export * from './directives/proxies';
// PROVIDERS
export { AngularDelegate } from './providers/angular-delegate';
export { ActionSheetController } from './providers/action-sheet-controller';
export { AlertController } from './providers/alert-controller';
export { LoadingController } from './providers/loading-controller';
export { MenuController } from './providers/menu-controller';
export { PickerController } from './providers/picker-controller';
export { ModalController } from './providers/modal-controller';
export { Platform } from './providers/platform';
export { PopoverController } from './providers/popover-controller';
export { ToastController } from './providers/toast-controller';
export {
ActionSheetController,
AlertController,
LoadingController,
MenuController,
ModalController,
PickerController,
PopoverController,
ToastController,
AnimationController,
GestureController,
DomController,
Config,
Platform,
AngularDelegate,
NavParams,
} from '@ionic/angular/common';
export { NavController } from './providers/nav-controller';
export { DomController } from './providers/dom-controller';
export { Config } from './providers/config';
export { AnimationController } from './providers/animation-controller';
export { GestureController } from './providers/gesture-controller';
// ROUTER STRATEGY
export { IonicRouteStrategy } from './util/ionic-router-reuse-strategy';

View File

@@ -1,6 +1,7 @@
import { CommonModule, DOCUMENT } from '@angular/common';
import { ModuleWithProviders, APP_INITIALIZER, NgModule, NgZone } from '@angular/core';
import { Router } from '@angular/router';
import { ModalController, PopoverController, ConfigToken, AngularDelegate } from '@ionic/angular/common';
import { IonicConfig } from '@ionic/core';
import { appInitialize } from './app-initialize';
@@ -22,10 +23,6 @@ import {
import { IonModal } from './directives/overlays/modal';
import { IonPopover } from './directives/overlays/popover';
import { DIRECTIVES } from './directives/proxies-list';
import { AngularDelegate } from './providers/angular-delegate';
import { ConfigToken } from './providers/config';
import { ModalController } from './providers/modal-controller';
import { PopoverController } from './providers/popover-controller';
const DECLARATIONS = [
// generated proxies

View File

@@ -1,12 +1,11 @@
import { Location } from '@angular/common';
import { Injectable, Optional } from '@angular/core';
import { NavigationExtras, Router, UrlSerializer, UrlTree, NavigationStart } from '@angular/router';
import { Platform } from '@ionic/angular/common';
import { AnimationBuilder, NavDirection, RouterDirection } from '@ionic/core';
import { IonRouterOutlet } from '../directives/navigation/ion-router-outlet';
import { Platform } from './platform';
export interface AnimationOptions {
animated?: boolean;
animation?: AnimationBuilder;