mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-21 17:12:43 +00:00
refactor: change modal presenation mode on iOS
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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%"
|
||||||
|
|||||||
@@ -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();
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -82,7 +82,6 @@
|
|||||||
|
|
||||||
<ion-modal
|
<ion-modal
|
||||||
canDismiss="true"
|
canDismiss="true"
|
||||||
[presentingElement]="routerOutlet.nativeEl"
|
|
||||||
[isOpen]="isModalOpen"
|
[isOpen]="isModalOpen"
|
||||||
(ionModalWillDismiss)="onModalDismiss()"
|
(ionModalWillDismiss)="onModalDismiss()"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user