Compare commits
2 Commits
5850c556c8
...
8e96fb45ed
| Author | SHA1 | Date | |
|---|---|---|---|
| 8e96fb45ed | |||
| c16074cabf |
|
|
@ -6,9 +6,9 @@ import search from "./search";
|
|||
import axios from 'axios';
|
||||
import qs from 'querystring'
|
||||
import $ from 'jquery';
|
||||
import Mustache from 'mustache';
|
||||
import getCaretCoordinates from './caret-position'
|
||||
import moment from 'moment'
|
||||
import "moment/locale/nl"
|
||||
// import mermaid from 'mermaid'
|
||||
// import {Network, parseDOTNetwork} from "vis-network/peer";
|
||||
// import PrismJS from 'prismjs'
|
||||
|
|
@ -20,9 +20,6 @@ import moment from 'moment'
|
|||
// import 'prismjs/components/prism-markup-templating'
|
||||
// import 'prismjs/components/prism-jq'
|
||||
import MD from './markdown'
|
||||
import he from 'he'
|
||||
import {all, create} from 'mathjs'
|
||||
import formulaFunctions from './formula'
|
||||
import actions from './actions'
|
||||
|
||||
moment.locale('nl')
|
||||
|
|
@ -319,26 +316,27 @@ function Editor(holder, input) {
|
|||
})
|
||||
}
|
||||
|
||||
function transformMathExpression(converted, scope) {
|
||||
try {
|
||||
async function transformMathExpression(converted, scope) {
|
||||
return Promise.all([
|
||||
import(/* webpackChunkName: "mathjs" */ 'mathjs'),
|
||||
import(/* webpackChunkName: "mathjs" */ './formula')
|
||||
]).then((promises) => {
|
||||
const mathjs = promises[0]
|
||||
if (math === undefined) {
|
||||
math = create(all)
|
||||
math.import(formulaFunctions)
|
||||
math = mathjs.create(mathjs.all)
|
||||
math.import(promises[1])
|
||||
}
|
||||
|
||||
let expr = converted.substring(1);
|
||||
let parsedExpr = math.parse(expr)
|
||||
let compiled = parsedExpr.compile()
|
||||
let evaluated = compiled.evaluate(scope);
|
||||
if (parsedExpr.isAssignmentNode) {
|
||||
converted = parsedExpr.object.name + " = <i>" + evaluated.toString() + "</i>"
|
||||
} else {
|
||||
converted = "<span class='expression'>" + expr + " = </span><i>" + evaluated.toString() + "</i>"
|
||||
return parsedExpr.object.name + " = <i>" + evaluated.toString() + "</i>"
|
||||
}
|
||||
} catch (e) {
|
||||
converted = converted + ' <span style="background: red; color: white;">' + e.message + '</span>';
|
||||
}
|
||||
return converted;
|
||||
return "<span class='expression'>" + expr + " = </span><i>" + evaluated.toString() + "</i>"
|
||||
}).catch(e => {
|
||||
return converted + ' <span style="background: red; color: white;">' + e.message + '</span>';
|
||||
})
|
||||
}
|
||||
|
||||
function transform(text, element, id, editor, scope) {
|
||||
|
|
@ -359,7 +357,14 @@ function Editor(holder, input) {
|
|||
} else if (converted.startsWith("```", 0) || converted.startsWith("$$", 0)) {
|
||||
converted = MD.render(converted)
|
||||
} else if (converted.startsWith("=", 0)) {
|
||||
converted = transformMathExpression(converted, scope);
|
||||
transformMathExpression(converted, scope)
|
||||
.then(converted => {
|
||||
MD.options.html = true
|
||||
converted = MD.renderInline(converted)
|
||||
MD.options.html = false
|
||||
|
||||
element.html(converted)
|
||||
})
|
||||
} else {
|
||||
let re = /^([A-Z0-9 ]+)::\s*(.*)$/i;
|
||||
let res = text.match(re)
|
||||
|
|
|
|||
|
|
@ -49,6 +49,10 @@ module.exports = env => {
|
|||
new webpack.EnvironmentPlugin({
|
||||
DEBUG: false,
|
||||
NODE_DEBUG: false,
|
||||
}),
|
||||
new webpack.IgnorePlugin({
|
||||
resourceRegExp: /^\.\/locale$/,
|
||||
contextRegExp: /moment$/,
|
||||
})
|
||||
],
|
||||
//
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user