refactor: change modal presenation mode on iOS

This commit is contained in:
Rainer Killinger
2022-11-04 10:30:41 +01:00
parent bafabb1d4e
commit b1a9043047
7 changed files with 4 additions and 25 deletions

View File

@@ -13,7 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>. * this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
import {Component, OnInit, ViewEncapsulation} from '@angular/core'; import {Component, OnInit, ViewEncapsulation} from '@angular/core';
import {IonRouterOutlet, ModalController} from '@ionic/angular'; import {ModalController} from '@ionic/angular';
import {EditModalComponent} from '../../edit-modal/edit-modal.component'; import {EditModalComponent} from '../../edit-modal/edit-modal.component';
import {DEFAULT_ACTIVE_MENU_ITEMS, MENU_ITEMS} from './menu-items.config'; import {DEFAULT_ACTIVE_MENU_ITEMS, MENU_ITEMS} from './menu-items.config';
import {MenuItemKey} from './menu-item.interface'; import {MenuItemKey} from './menu-item.interface';
@@ -56,7 +56,6 @@ export class NavigationSectionComponent implements OnInit {
public modalController: ModalController, public modalController: ModalController,
private storageProvider: StorageProvider, private storageProvider: StorageProvider,
private translatePipe: TranslatePipe, private translatePipe: TranslatePipe,
private routerOutlet: IonRouterOutlet,
) {} ) {}
ngOnInit() { ngOnInit() {
@@ -101,7 +100,6 @@ export class NavigationSectionComponent implements OnInit {
const modal = await this.modalController.create({ const modal = await this.modalController.create({
component: EditModalComponent, component: EditModalComponent,
canDismiss: true, canDismiss: true,
presentingElement: this.routerOutlet.nativeEl,
componentProps: { componentProps: {
items: Object.entries(this.menuItems).map(([id, item]) => ({ items: Object.entries(this.menuItems).map(([id, item]) => ({
id, id,

View File

@@ -126,7 +126,6 @@ export class AddEventActionChipComponent implements OnDestroy {
component: AddEventReviewModalComponent, component: AddEventReviewModalComponent,
canDismiss: true, canDismiss: true,
cssClass: 'add-modal', cssClass: 'add-modal',
presentingElement: await this.modalController.getTop(),
componentProps: { componentProps: {
dismissAction: () => { dismissAction: () => {
modal.dismiss(); modal.dismiss();

View File

@@ -133,11 +133,7 @@
</ion-button> </ion-button>
</div> </div>
<ion-modal <ion-modal [canDismiss]="true" #mapListModal>
[canDismiss]="true"
[presentingElement]="routerOutlet.nativeEl"
#mapListModal
>
<ng-template> <ng-template>
<map-list-modal <map-list-modal
style="height: 100%" style="height: 100%"

View File

@@ -45,7 +45,6 @@ export class ModalEventCreatorComponent implements OnInit, OnDestroy {
inputItem: item, inputItem: item,
}, },
canDismiss: true, canDismiss: true,
presentingElement: await this.modalController.getTop(),
}); });
return modal.present(); return modal.present();
}), }),

View File

@@ -82,7 +82,6 @@
<ion-modal <ion-modal
canDismiss="true" canDismiss="true"
[presentingElement]="routerOutlet.nativeEl"
[isOpen]="isModalOpen" [isOpen]="isModalOpen"
(ionModalWillDismiss)="onModalDismiss()" (ionModalWillDismiss)="onModalDismiss()"
> >

View File

@@ -18,7 +18,6 @@ import {
ContentChild, ContentChild,
EventEmitter, EventEmitter,
Input, Input,
OnInit,
Output, Output,
TemplateRef, TemplateRef,
ViewChild, ViewChild,
@@ -41,7 +40,7 @@ import {TranslatePipe} from '@ngx-translate/core';
selector: 'stapps-edit-modal', selector: 'stapps-edit-modal',
templateUrl: 'edit-modal.html', templateUrl: 'edit-modal.html',
}) })
export class EditModalComponent implements OnInit { export class EditModalComponent {
@ContentChild(TemplateRef) content: TemplateRef<unknown>; @ContentChild(TemplateRef) content: TemplateRef<unknown>;
@ViewChild('modal') modal: IonModal; @ViewChild('modal') modal: IonModal;
@@ -50,8 +49,6 @@ export class EditModalComponent implements OnInit {
@Output() save = new EventEmitter(); @Output() save = new EventEmitter();
presentingElement: HTMLElement;
constructor( constructor(
readonly modalController: ModalController, readonly modalController: ModalController,
readonly routerOutlet: IonRouterOutlet, readonly routerOutlet: IonRouterOutlet,
@@ -61,11 +58,6 @@ export class EditModalComponent implements OnInit {
readonly config: Config, readonly config: Config,
) {} ) {}
async ngOnInit() {
this.presentingElement =
(await this.modalController.getTop()) || this.routerOutlet.nativeEl;
}
present() { present() {
this.modal.present(); this.modal.present();
this.pendingChanges = false; this.pendingChanges = false;

View File

@@ -13,11 +13,7 @@
~ this program. If not, see <https://www.gnu.org/licenses/>. ~ this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<ion-modal <ion-modal #modal [canDismiss]="!pendingChanges || canDismissModal">
#modal
[presentingElement]="presentingElement"
[canDismiss]="!pendingChanges || canDismissModal"
>
<ng-template> <ng-template>
<ion-header mode="ios"> <ion-header mode="ios">
<ion-toolbar> <ion-toolbar>