mobilizon/js/src/plugins/notifier.ts
Thomas Citharel 48935e2168
Add global search
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-08-28 10:02:06 +02:00

40 lines
796 B
TypeScript

import { App } from "vue";
export class Notifier {
private app: App;
constructor(app: App) {
this.app = app;
}
success(message: string): void {
this.notification(message, "success");
}
error(message: string): void {
this.notification(message, "danger");
}
info(message: string): void {
this.notification(message, "info");
}
private notification(message: string, type: string) {
this.app.config.globalProperties.$oruga.notification.open({
message,
duration: 5000,
position: "bottom-right",
type,
hasIcon: true,
});
}
}
export const notifierPlugin = {
install(app: App) {
const notifier = new Notifier(app);
app.config.globalProperties.$notifier = notifier;
app.provide("notifier", notifier);
},
};