File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/src/app/pages/modal-popup/modal-popup.page.ts
import { Component, Input, OnInit } from "@angular/core";
import { ModalController } from "@ionic/angular";
import { CityService } from "../../services/city.service";
import { HomeService } from "../../services/home.service";
import { AnalyticsService } from "../../services/analytics.service";
@Component({
selector: "app-modal-popup",
templateUrl: "./modal-popup.page.html",
styleUrls: ["./modal-popup.page.scss"],
})
export class ModalPopupPage implements OnInit {
@Input() popup: any;
time: number;
constructor(
public modalCtrl: ModalController,
public cityProvider: CityService,
public homeProvider: HomeService,
public analyticsService: AnalyticsService,
) { }
ngOnInit() {
this.time = new Date().getTime();
document.body.classList.add('modal-open'); // AƱade clase al body
}
cancel(log: boolean = true) {
if (log) {
this.analyticsService.logEvent('Popup Close: ' + this.popup.title, 'Popup', 'close', this.popup);
}
let modals = document.body.getElementsByClassName('modal-popup');
if (!modals || modals.length == 1) {
document.body.classList.remove('modal-open'); // Elimina clase al body
}
this.modalCtrl.dismiss();
}
openAction(popup: any) {
if (!popup || !popup.type_action_id) {
return;
}
this.analyticsService.logEvent('Popup Click: ' + popup.title, 'Popup', 'click', popup);
this.homeProvider.openAction(popup.type_action_id, popup.value, popup.target);
// Diferente de Link
this.cancel(false);
}
}