diff --git a/packages/angular/common/src/index.ts b/packages/angular/common/src/index.ts
index e54c778cfe..69f0a345f6 100644
--- a/packages/angular/common/src/index.ts
+++ b/packages/angular/common/src/index.ts
@@ -1,4 +1,3 @@
-export { AlertController } from './providers/alert-controller';
export { LoadingController } from './providers/loading-controller';
export { MenuController } from './providers/menu-controller';
export { DomController } from './providers/dom-controller';
diff --git a/packages/angular/src/index.ts b/packages/angular/src/index.ts
index cefc88d708..badb2088de 100644
--- a/packages/angular/src/index.ts
+++ b/packages/angular/src/index.ts
@@ -20,7 +20,6 @@ export * from './directives/validators';
// PROVIDERS
export {
- AlertController,
LoadingController,
DomController,
NavController,
@@ -34,6 +33,7 @@ export {
ViewDidEnter,
ViewDidLeave,
} from '@ionic/angular/common';
+export { AlertController } from './providers/alert-controller';
export { AnimationController } from './providers/animation-controller';
export { ActionSheetController } from './providers/action-sheet-controller';
export { GestureController } from './providers/gesture-controller';
diff --git a/packages/angular/src/providers/alert-controller.ts b/packages/angular/src/providers/alert-controller.ts
new file mode 100644
index 0000000000..c7e9fff20a
--- /dev/null
+++ b/packages/angular/src/providers/alert-controller.ts
@@ -0,0 +1,13 @@
+import { Injectable } from '@angular/core';
+import { OverlayBaseController } from '@ionic/angular/common';
+import type { AlertOptions } from '@ionic/core';
+import { alertController } from '@ionic/core';
+
+@Injectable({
+ providedIn: 'root',
+})
+export class AlertController extends OverlayBaseController {
+ constructor() {
+ super(alertController);
+ }
+}
diff --git a/packages/angular/standalone/src/index.ts b/packages/angular/standalone/src/index.ts
index 49095b4705..4b10fcb9bf 100644
--- a/packages/angular/standalone/src/index.ts
+++ b/packages/angular/standalone/src/index.ts
@@ -6,6 +6,7 @@ export { IonRouterLink, IonRouterLinkWithHref } from './navigation/router-link-d
export { IonTabs } from './navigation/tabs';
export { provideIonicAngular } from './providers/ionic-angular';
export { ActionSheetController } from './providers/action-sheet-controller';
+export { AlertController } from './providers/alert-controller';
export { AnimationController } from './providers/animation-controller';
export { GestureController } from './providers/gesture-controller';
export { MenuController } from './providers/menu-controller';
@@ -14,7 +15,6 @@ export { PickerController } from './providers/picker-controller';
export { PopoverController } from './providers/popover-controller';
export { ToastController } from './providers/toast-controller';
export {
- AlertController,
LoadingController,
DomController,
NavController,
diff --git a/packages/angular/common/src/providers/alert-controller.ts b/packages/angular/standalone/src/providers/alert-controller.ts
similarity index 84%
rename from packages/angular/common/src/providers/alert-controller.ts
rename to packages/angular/standalone/src/providers/alert-controller.ts
index 799da17a92..525d70ed27 100644
--- a/packages/angular/common/src/providers/alert-controller.ts
+++ b/packages/angular/standalone/src/providers/alert-controller.ts
@@ -1,9 +1,8 @@
import { Injectable } from '@angular/core';
+import { OverlayBaseController } from '@ionic/angular/common';
import type { AlertOptions } from '@ionic/core/components';
import { alertController } from '@ionic/core/components';
-import { OverlayBaseController } from '../utils/overlay';
-
@Injectable({
providedIn: 'root',
})
diff --git a/packages/angular/test/base/e2e/src/lazy/providers.spec.ts b/packages/angular/test/base/e2e/src/lazy/providers.spec.ts
index eaba07fd99..70f01d9135 100644
--- a/packages/angular/test/base/e2e/src/lazy/providers.spec.ts
+++ b/packages/angular/test/base/e2e/src/lazy/providers.spec.ts
@@ -1,7 +1,7 @@
describe('Providers', () => {
beforeEach(() => {
cy.visit('/lazy/providers');
- })
+ });
it('should load all providers', () => {
cy.get('#is-loaded').should('have.text', 'true');
@@ -26,7 +26,7 @@ describe('Providers', () => {
cy.visit('/lazy/providers?firstParam=abc&secondParam=true');
cy.get('#query-params').should('have.text', 'firstParam: abc, firstParam: true');
- })
+ });
// https://github.com/ionic-team/ionic-framework/issues/28337
it('should register menus correctly', () => {
@@ -40,10 +40,15 @@ describe('Providers', () => {
cy.get('ion-action-sheet').should('be.visible');
});
+ it('should open an alert', () => {
+ cy.get('button#open-alert').click();
+
+ cy.get('ion-alert').should('be.visible');
+ });
+
it('should open a picker', () => {
cy.get('button#open-picker').click();
cy.get('ion-picker').should('be.visible');
});
});
-
diff --git a/packages/angular/test/base/e2e/src/standalone/overlay-controllers.spec.ts b/packages/angular/test/base/e2e/src/standalone/overlay-controllers.spec.ts
index e9ac5f08db..271bc82eb7 100644
--- a/packages/angular/test/base/e2e/src/standalone/overlay-controllers.spec.ts
+++ b/packages/angular/test/base/e2e/src/standalone/overlay-controllers.spec.ts
@@ -3,6 +3,12 @@ describe('Overlay Controllers', () => {
cy.visit('/standalone/overlay-controllers');
});
+ it('should present an alert', () => {
+ cy.get('button#open-alert').click();
+
+ cy.get('ion-alert').should('be.visible');
+ });
+
it('should present a modal', () => {
cy.get('button#open-modal').click();
diff --git a/packages/angular/test/base/src/app/lazy/providers/providers.component.html b/packages/angular/test/base/src/app/lazy/providers/providers.component.html
index 78d7fa1521..455ea17a99 100644
--- a/packages/angular/test/base/src/app/lazy/providers/providers.component.html
+++ b/packages/angular/test/base/src/app/lazy/providers/providers.component.html
@@ -45,6 +45,7 @@
+
diff --git a/packages/angular/test/base/src/app/lazy/providers/providers.component.ts b/packages/angular/test/base/src/app/lazy/providers/providers.component.ts
index 6d3b0e4d2f..27efdbf509 100644
--- a/packages/angular/test/base/src/app/lazy/providers/providers.component.ts
+++ b/packages/angular/test/base/src/app/lazy/providers/providers.component.ts
@@ -1,8 +1,17 @@
import { Component, NgZone } from '@angular/core';
import {
- Platform, ModalController, AlertController, ActionSheetController,
- PopoverController, ToastController, PickerController, MenuController,
- LoadingController, NavController, DomController, Config
+ Platform,
+ ModalController,
+ AlertController,
+ ActionSheetController,
+ PopoverController,
+ ToastController,
+ PickerController,
+ MenuController,
+ LoadingController,
+ NavController,
+ DomController,
+ Config,
} from '@ionic/angular';
@Component({
@@ -10,7 +19,6 @@ import {
templateUrl: './providers.component.html',
})
export class ProvidersComponent {
-
isLoaded = false;
isReady = false;
isResumed = false;
@@ -25,7 +33,7 @@ export class ProvidersComponent {
constructor(
private actionSheetCtrl: ActionSheetController,
- alertCtrl: AlertController,
+ private alertCtrl: AlertController,
loadingCtrl: LoadingController,
private menuCtrl: MenuController,
private pickerCtrl: PickerController,
@@ -40,11 +48,21 @@ export class ProvidersComponent {
) {
// test all providers load
if (
- actionSheetCtrl && alertCtrl && loadingCtrl && menuCtrl && pickerCtrl &&
- modalCtrl && platform && popoverCtrl && toastCtrl && navCtrl && domCtrl && config
- ) {
- this.isLoaded = true;
- }
+ actionSheetCtrl &&
+ alertCtrl &&
+ loadingCtrl &&
+ menuCtrl &&
+ pickerCtrl &&
+ modalCtrl &&
+ platform &&
+ popoverCtrl &&
+ toastCtrl &&
+ navCtrl &&
+ domCtrl &&
+ config
+ ) {
+ this.isLoaded = true;
+ }
// test platform ready()
platform.ready().then(() => {
@@ -91,12 +109,26 @@ export class ProvidersComponent {
async openActionSheet() {
const actionSheet = await this.actionSheetCtrl.create({
- buttons: ['Button']
+ buttons: ['Button'],
});
await actionSheet.present();
}
+ async openAlert() {
+ const alert = await this.alertCtrl.create({
+ buttons: [
+ {
+ text: 'Cancel',
+ role: 'cancel',
+ },
+ ],
+ header: 'Alert!',
+ });
+
+ await alert.present();
+ }
+
async openPicker() {
const picker = await this.pickerCtrl.create({
columns: [],
@@ -105,7 +137,7 @@ export class ProvidersComponent {
text: 'Cancel',
role: 'cancel',
},
- ]
+ ],
});
await picker.present();
diff --git a/packages/angular/test/base/src/app/standalone/overlay-controllers/overlay-controllers.component.html b/packages/angular/test/base/src/app/standalone/overlay-controllers/overlay-controllers.component.html
index a3611cf082..15d7e93784 100644
--- a/packages/angular/test/base/src/app/standalone/overlay-controllers/overlay-controllers.component.html
+++ b/packages/angular/test/base/src/app/standalone/overlay-controllers/overlay-controllers.component.html
@@ -1,4 +1,5 @@
+
diff --git a/packages/angular/test/base/src/app/standalone/overlay-controllers/overlay-controllers.component.ts b/packages/angular/test/base/src/app/standalone/overlay-controllers/overlay-controllers.component.ts
index 6572b39e26..213d800e7a 100644
--- a/packages/angular/test/base/src/app/standalone/overlay-controllers/overlay-controllers.component.ts
+++ b/packages/angular/test/base/src/app/standalone/overlay-controllers/overlay-controllers.component.ts
@@ -1,5 +1,5 @@
import { Component } from '@angular/core';
-import { ModalController, PickerController, PopoverController } from '@ionic/angular/standalone';
+import { AlertController, ModalController, PickerController, PopoverController } from '@ionic/angular/standalone';
@Component({
selector: 'app-overlay-controllers',
@@ -8,14 +8,29 @@ import { ModalController, PickerController, PopoverController } from '@ionic/ang
})
export class OverlayControllersComponent {
constructor(
+ private alertCtrl: AlertController,
private modalCtrl: ModalController,
private pickerCtrl: PickerController,
private popoverCtrl: PopoverController
) {}
+ async openAlert() {
+ const alert = await this.alertCtrl.create({
+ buttons: [
+ {
+ text: 'Cancel',
+ role: 'cancel',
+ },
+ ],
+ header: 'Alert!',
+ });
+
+ await alert.present();
+ }
+
async openModal() {
const modal = await this.modalCtrl.create({
- component: DialogComponent
+ component: DialogComponent,
});
await modal.present();
@@ -38,7 +53,7 @@ export class OverlayControllersComponent {
async openPopover(ev: MouseEvent) {
const popover = await this.popoverCtrl.create({
component: DialogComponent,
- event: ev
+ event: ev,
});
await popover.present();
@@ -50,5 +65,4 @@ export class OverlayControllersComponent {
template: '
Dialog Content
',
standalone: true,
})
-class DialogComponent {
-}
+class DialogComponent {}