mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
90 lines
2.3 KiB
TypeScript
90 lines
2.3 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { AnimationController, ModalController, ToastController } from '@ionic/angular';
|
|
import { BadRequestPage } from '../shared/popover/bad-request/bad-request.page';
|
|
import { SuccessMessagePage } from '../shared/popover/success-message/success-message.page';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class ToastService {
|
|
|
|
constructor(
|
|
public toastController: ToastController,
|
|
private animationController: AnimationController,
|
|
private modalController: ModalController,
|
|
) { }
|
|
|
|
async presentToast(infoMessage: string) {
|
|
const toast = await this.toastController.create({
|
|
message: infoMessage,
|
|
duration: 2000
|
|
});
|
|
toast.present();
|
|
}
|
|
|
|
async successMessage(message?: any, callback?) {
|
|
|
|
let notification = document.createElement('div')
|
|
notification.className = 'notification'
|
|
notification.innerHTML = `
|
|
|
|
<div class="main-content width-100 pa-20">
|
|
<p class="message d-flex align-center">
|
|
<ion-icon slot="end" class="title-icon pr-10" src="/assets/images/nofitication-success.svg"></ion-icon>
|
|
<p class="text">{{ message }}</p>
|
|
</p>
|
|
|
|
</div>
|
|
`
|
|
|
|
document.body.append(notification)
|
|
notification.querySelector('.text').innerHTML = message || 'Processo efetuado'
|
|
setTimeout(()=>{
|
|
if (callback) {
|
|
callback()
|
|
}
|
|
|
|
notification.style.right = "-100%"
|
|
|
|
setTimeout(()=>{
|
|
notification.remove()
|
|
},1000)
|
|
|
|
},6000)
|
|
|
|
}
|
|
|
|
async badRequest(message?: string, callback?) {
|
|
|
|
let notification = document.createElement('div')
|
|
notification.className = 'notification'
|
|
notification.innerHTML = `
|
|
|
|
<div class="main-content width-100 pa-20">
|
|
<p class="message d-flex align-center">
|
|
<ion-icon slot="end" class="title-icon pr-10" src="/assets/images/notification-error.svg"></ion-icon>
|
|
<p class="text">{{ message }}</p>
|
|
</p>
|
|
|
|
</div>
|
|
`
|
|
|
|
document.body.append(notification)
|
|
notification.querySelector('.text').innerHTML = message || 'Processo não efetuado'
|
|
setTimeout(()=>{
|
|
if (callback) {
|
|
callback()
|
|
}
|
|
|
|
notification.style.right = "-100%"
|
|
|
|
setTimeout(()=>{
|
|
notification.remove()
|
|
},1000)
|
|
|
|
},6000)
|
|
|
|
}
|
|
|
|
}
|