import m from "mithril" import { gridMountpoints } from "../mainlayout" import {ModalType, ModalView, iModalView} from "../widgets/Modal" export interface iWrongEditSelectionMessage{ elementname: string } export const WrongEditSelectionMessage: m.Component = { view: (vnode) => { return ( m(ModalView, { title: "Falsche Auswahl", type: ModalType.ERROR, width: '33%' } as iModalView, m("p", `Zum Editieren muss genau 1 ${vnode.attrs.elementname} ausgewählt sein!`), m("div.w3-bar.w3-padding-16", [ m("button.w3-button.w3-theme.w3-right", {onclick: () => {m.mount(gridMountpoints.modalhook, null)}}, "OK"), ] ) ) ) } } export interface iServerErrorMessage { error: { messages: string[], status: number } } export const ServerErrorMessage: m.Component = { view: (vnode) => { return ( m(ModalView, { title: "Fehler", type: ModalType.ERROR, width: "33%" } as iModalView, m("div.w3-panel", vnode.attrs.error.messages.map((message) => { return m("div", message) }), m("div.w3-small", `(HTML-Status: ${vnode.attrs.error.status})`) ), m("div.w3-bar.w3-padding-16", m("button.w3-button.w3-theme.w3-right", {onclick: () => {m.mount(gridMountpoints.modalhook, null)}}, "OK"), ) ) ) } } export function showServerError (e) { let servererror:iServerErrorMessage = {error: {messages:[], status: e.code}} console.log(JSON.stringify(e), e.message) if (e.response != undefined && e.response["messages"] != undefined) { if (!Array.isArray(e.response["messages"])) { e.response["messages"] = [e.response["messages"]] } servererror.error.messages = e.response.messages } else if (e.response != undefined) { servererror.error.messages = [JSON.stringify(e.response)] } else { servererror.error.messages = [JSON.stringify(e)] } m.mount(gridMountpoints.modalhook, { view: () => {return m(ServerErrorMessage, {error: servererror.error } as iServerErrorMessage)} }) }