38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import Vue from "vue";
|
|
import { Factory, MessageService } from "src/_base";
|
|
import { ConfirmModal, Modal } from "./";
|
|
export class ModalHelper {
|
|
|
|
private static _modalData = {
|
|
title: "",
|
|
content: "",
|
|
onConfirm: null,
|
|
onCancel: null,
|
|
containername: "modal"
|
|
};
|
|
public static GetModalData() {
|
|
return ModalHelper._modalData;
|
|
};
|
|
|
|
public static ShowModal(view, modalname: string = "modal") {
|
|
|
|
Factory.Get(MessageService).publishToChannel("show-" + modalname, view);
|
|
}
|
|
|
|
public static HideModal(modalname: string = "modal") {
|
|
|
|
Factory.Get(MessageService).publishToChannel("hide-" + modalname);
|
|
}
|
|
|
|
public static AskConfirm(title: string, body: string, onConfirm: Function, onCancel: Function, modalcontainer: string = "modal2") {
|
|
|
|
ModalHelper._modalData.title = title;
|
|
ModalHelper._modalData.content = body;
|
|
ModalHelper._modalData.onCancel = onCancel;
|
|
ModalHelper._modalData.onConfirm = onConfirm;
|
|
ModalHelper._modalData.containername = modalcontainer;
|
|
|
|
this.ShowModal(ConfirmModal, modalcontainer);
|
|
}
|
|
}
|