2020-08-21 10:44:43 +01:00
|
|
|
import { Injectable } from '@angular/core';
|
2021-06-09 10:01:45 +01:00
|
|
|
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';
|
2020-08-21 10:44:43 +01:00
|
|
|
|
|
|
|
|
@Injectable({
|
|
|
|
|
providedIn: 'root'
|
|
|
|
|
})
|
|
|
|
|
export class ToastService {
|
|
|
|
|
|
2021-06-09 10:01:45 +01:00
|
|
|
constructor(
|
|
|
|
|
public toastController: ToastController,
|
|
|
|
|
private animationController: AnimationController,
|
|
|
|
|
private modalController: ModalController,
|
|
|
|
|
) { }
|
2020-08-21 10:44:43 +01:00
|
|
|
|
2021-07-12 11:13:29 +01:00
|
|
|
ngOnInit() {
|
2021-07-12 11:15:17 +01:00
|
|
|
|
2021-07-12 11:13:29 +01:00
|
|
|
}
|
|
|
|
|
|
2020-08-21 10:44:43 +01:00
|
|
|
async presentToast(infoMessage: string) {
|
|
|
|
|
const toast = await this.toastController.create({
|
|
|
|
|
message: infoMessage,
|
|
|
|
|
duration: 2000
|
|
|
|
|
});
|
|
|
|
|
toast.present();
|
|
|
|
|
}
|
|
|
|
|
|
2021-06-09 16:38:41 +01:00
|
|
|
async successMessage(message?: any, callback?) {
|
2021-06-09 10:01:45 +01:00
|
|
|
|
2021-06-15 14:48:25 +01:00
|
|
|
let notification = document.createElement('div')
|
2021-06-16 15:58:44 +01:00
|
|
|
notification.className = 'notification'
|
2021-06-15 14:48:25 +01:00
|
|
|
notification.innerHTML = `
|
|
|
|
|
|
|
|
|
|
<div class="main-content width-100 pa-20">
|
2021-07-14 22:10:22 +01:00
|
|
|
<p class="message d-flex align-center success">
|
2021-06-15 14:48:25 +01:00
|
|
|
<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'
|
2021-06-09 10:01:45 +01:00
|
|
|
setTimeout(()=>{
|
2021-06-09 16:34:14 +01:00
|
|
|
if (callback) {
|
|
|
|
|
callback()
|
|
|
|
|
}
|
2021-06-16 15:58:44 +01:00
|
|
|
|
|
|
|
|
notification.style.right = "-100%"
|
|
|
|
|
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
notification.remove()
|
|
|
|
|
},1000)
|
|
|
|
|
|
|
|
|
|
},6000)
|
2021-06-09 10:01:45 +01:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2021-06-09 16:34:14 +01:00
|
|
|
async badRequest(message?: string, callback?) {
|
2021-06-09 10:01:45 +01:00
|
|
|
|
2021-06-15 14:48:25 +01:00
|
|
|
let notification = document.createElement('div')
|
2021-06-16 15:58:44 +01:00
|
|
|
notification.className = 'notification'
|
2021-06-15 14:48:25 +01:00
|
|
|
notification.innerHTML = `
|
|
|
|
|
|
|
|
|
|
<div class="main-content width-100 pa-20">
|
2021-07-14 22:10:22 +01:00
|
|
|
<p class="message d-flex align-center faild">
|
2021-06-15 14:48:25 +01:00
|
|
|
<ion-icon slot="end" class="title-icon pr-10" src="/assets/images/notification-error.svg"></ion-icon>
|
|
|
|
|
<p class="text">{{ message }}</p>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
`
|
|
|
|
|
|
2021-06-18 16:03:34 +01:00
|
|
|
notification.style.animationName = 'notification-top'
|
|
|
|
|
|
2021-06-15 14:48:25 +01:00
|
|
|
document.body.append(notification)
|
2021-06-15 14:49:41 +01:00
|
|
|
notification.querySelector('.text').innerHTML = message || 'Processo não efetuado'
|
2021-06-09 10:01:45 +01:00
|
|
|
setTimeout(()=>{
|
2021-06-09 16:34:14 +01:00
|
|
|
if (callback) {
|
|
|
|
|
callback()
|
|
|
|
|
}
|
2021-06-16 15:58:44 +01:00
|
|
|
|
|
|
|
|
notification.style.right = "-100%"
|
|
|
|
|
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
notification.remove()
|
|
|
|
|
},1000)
|
|
|
|
|
|
|
|
|
|
},6000)
|
2021-06-15 14:48:25 +01:00
|
|
|
|
2021-06-09 10:01:45 +01:00
|
|
|
}
|
|
|
|
|
|
2021-06-21 09:10:45 +01:00
|
|
|
|
|
|
|
|
async notificationMessage(message?: any, callback?: any,data?: any) {
|
|
|
|
|
|
|
|
|
|
let notification = document.createElement('div')
|
|
|
|
|
notification.className = 'notificationPush'
|
|
|
|
|
notification.innerHTML = `
|
|
|
|
|
|
|
|
|
|
<div class="main-content width-100 pa-20">
|
|
|
|
|
<p class="message d-flex align-left">
|
|
|
|
|
<p class="text">{{ message }}</p>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
`
|
|
|
|
|
|
|
|
|
|
let funcx = ()=>{
|
|
|
|
|
callback(data);
|
|
|
|
|
document.body.removeEventListener('click', funcx);
|
|
|
|
|
notification.remove();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
document.body.append(notification)
|
|
|
|
|
document.body.addEventListener('click', funcx);
|
|
|
|
|
|
|
|
|
|
notification.querySelector('.text').innerHTML = message || 'Processo efetuado'
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
|
|
|
|
|
notification.style.top = "-100%"
|
|
|
|
|
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
notification.remove()
|
|
|
|
|
},1000)
|
|
|
|
|
|
|
|
|
|
},6000)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-07 16:25:36 +01:00
|
|
|
|
|
|
|
|
loading() : HTMLDivElement {
|
|
|
|
|
let loader: HTMLDivElement = document.createElement('div')
|
|
|
|
|
loader.innerHTML = `
|
|
|
|
|
|
|
|
|
|
<div class="loading-blocker">
|
|
|
|
|
<div class="loading-blocker-container">
|
2021-07-12 11:13:29 +01:00
|
|
|
<img src="/assets/images/Blocks-loader.gif" />
|
2021-07-07 16:25:36 +01:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
`
|
|
|
|
|
|
|
|
|
|
document.body.append(loader)
|
|
|
|
|
|
|
|
|
|
loader.addEventListener('click', ()=>{
|
|
|
|
|
// loader.remove()
|
|
|
|
|
})
|
|
|
|
|
return loader
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2020-08-21 10:44:43 +01:00
|
|
|
}
|