Archived
1
0
This repository has been archived on 2020-12-10. You can view files and clone it, but cannot push or open issues or pull requests.
old/assets/js/modules/formula.js

43 lines
881 B
JavaScript
Raw Normal View History

2018-10-16 16:28:42 +00:00
import Embed from '../blots/embed';
import Quill from '../core/quill';
import Module from '../core/module';
class FormulaBlot extends Embed {
static create(value) {
let node = super.create(value);
if (typeof value === 'string') {
window.katex.render(value, node, {
throwOnError: false,
errorColor: '#f00'
});
node.setAttribute('data-value', value);
}
return node;
}
static value(domNode) {
return domNode.getAttribute('data-value');
}
}
FormulaBlot.blotName = 'formula';
FormulaBlot.className = 'ql-formula';
FormulaBlot.tagName = 'SPAN';
class Formula extends Module {
static register() {
Quill.register(FormulaBlot, true);
}
constructor() {
super();
if (window.katex == null) {
throw new Error('Formula module requires KaTeX.');
}
}
}
export { FormulaBlot, Formula as default };