UNPKG

@wandelbots/wandelbots-js-react-components

Version:

React UI toolkit for building applications on top of the Wandelbots platform

45 lines (36 loc) 942 B
import { action, makeObservable, observable } from "mobx" import type { LogLevel, LogMessage } from "./LogViewer" export class LogStore { messages: LogMessage[] = [] constructor() { makeObservable(this, { messages: observable, addMessage: action, clearMessages: action, }) } addMessage = (message: string, level: LogLevel = "info") => { const logMessage: LogMessage = { id: Math.random().toString(36).substring(2, 11), timestamp: new Date(), message, level, } this.messages.push(logMessage) } clearMessages = () => { this.messages = [] } addInfo = (message: string) => { this.addMessage(message, "info") } addWarning = (message: string) => { this.addMessage(message, "warning") } addError = (message: string) => { this.addMessage(message, "error") } addDebug = (message: string) => { this.addMessage(message, "debug") } }