diff --git a/src/core/BaseModel.coffee b/src/core/BaseModel.coffee index 267781f..f20e5cc 100644 --- a/src/core/BaseModel.coffee +++ b/src/core/BaseModel.coffee @@ -77,9 +77,9 @@ class BaseModel @dialog.title = title @dialog.init() - publish: (t, m) -> + publish: (t, m, e) -> mt = @meta() - _courrier.trigger t, { id: @pid, name: @name, data: { m: m, icon: mt.icon, iconclass: mt.iconclass } } + _courrier.trigger t, { id: @pid, name: @name, data: { m: m, icon: mt.icon, iconclass: mt.iconclass }, error: e } notify: (m) -> @publish "notification", m @@ -88,7 +88,7 @@ class BaseModel @publish "warning", m error: (m) -> - @publish "error", m + (@_api.throwe @name) + @publish "error", m, (@_api.throwe @name) fail: (m) -> @publish "fail", m diff --git a/src/packages/GraphEditor/main.coffee b/src/packages/GraphEditor/main.coffee index 43eef9d..606fffb 100644 --- a/src/packages/GraphEditor/main.coffee +++ b/src/packages/GraphEditor/main.coffee @@ -178,12 +178,18 @@ class GraphEditor extends this.OS.GUI.BaseApplication renderSVG: (silent) -> me = @ id = Math.floor(Math.random() * 100000) + 1 - if silent - mermaid.parseError = (e, h) -> - else - mermaid.parseError = (e, h) -> - me.error e - mermaid.render "c#{id}", @editor.getValue(), (text, f) -> + #if silent + # mermaid.parseError = (e, h) -> + #else + # mermaid.parseError = (e, h) -> + # me.error e + text = @editor.getValue() + try + mermaid.parse text + catch e + me.error __("Syntax error: {0}", e.str) if not silent + return + mermaid.render "c#{id}", text, (text, f) -> me.preview.innerHTML = text $(me.preview).append me.btctn me.calibrate()