diff options
author | Wu Cheng-Han | 2017-01-04 23:59:28 +0800 |
---|---|---|
committer | Wu Cheng-Han | 2017-01-04 23:59:28 +0800 |
commit | eaf9218f612f9aa23414decb676d87c812e70f66 (patch) | |
tree | 435be6c16261ee0f1550328d2bb2c2555a79a9c1 /public | |
parent | 08b04e9528cc12f1fe7dcedaab8ce10ab8f6c97f (diff) |
Update to show yaml-metadata and diagram parsing error in the view
Diffstat (limited to '')
-rw-r--r-- | public/js/extra.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/public/js/extra.js b/public/js/extra.js index 1f45606a..4a9cc76e 100644 --- a/public/js/extra.js +++ b/public/js/extra.js @@ -309,6 +309,7 @@ function finishView(view) { svg[0].setAttribute('preserveAspectRatio', 'xMidYMid meet'); } catch (err) { $value.unwrap(); + $value.parent().append('<div class="alert alert-warning">' + err + '</div>'); console.warn(err); } }); @@ -332,6 +333,7 @@ function finishView(view) { $value.children().unwrap().unwrap(); } catch (err) { $value.unwrap(); + $value.parent().append('<div class="alert alert-warning">' + err + '</div>'); console.warn(err); } }); @@ -380,11 +382,11 @@ function finishView(view) { $ele.html($value.text()); mermaid.init(undefined, $ele); } else { - $value.unwrap(); - console.warn(mermaidError); + throw new Error(mermaidError); } } catch (err) { $value.unwrap(); + $value.parent().append('<div class="alert alert-warning">' + err + '</div>'); console.warn(err); } }); @@ -543,6 +545,16 @@ function postProcess(code) { }); } } + // show yaml meta paring error + if (md.metaError) { + var warning = result.find('div#meta-error'); + if (warning && warning.length > 0) { + warning.text(md.metaError) + } else { + warning = $('<div id="meta-error" class="alert alert-warning">' + md.metaError + '</div>') + result.prepend(warning); + } + } return result; } window.postProcess = postProcess; @@ -1122,7 +1134,9 @@ function meta(state, start, end, silent) { try { md.meta = jsyaml.safeLoad(data.join('\n')) || {}; + delete md.metaError; } catch(err) { + md.metaError = err; console.warn(err); return false; } |