Add output options

This commit is contained in:
Sauli Anto
2019-09-17 19:39:49 +03:00
parent fe3c7ba393
commit 4bae994b4f
4 changed files with 20 additions and 10 deletions

View File

@@ -2,7 +2,8 @@ import Command from '@ckeditor/ckeditor5-core/src/command';
import { getSelectedMathModelWidget } from './utils';
export default class MathCommand extends Command {
execute( equation, display ) {
execute( equation, display, outputType, forceOutputType ) {
console.log( 'execute', display, outputType, forceOutputType );
const model = this.editor.model;
const selection = model.document.selection;
const selectedElement = selection.getSelectedElement();
@@ -11,11 +12,15 @@ export default class MathCommand extends Command {
let mathtex;
if ( selectedElement && selectedElement.is( 'mathtex' ) ) {
// Update selected element
const mode = selectedElement.getAttribute( 'mode' );
mathtex = writer.createElement( 'mathtex', { equation, mode, display } );
const typeAttr = selectedElement.getAttribute( 'type' );
// Use already set type if found and is not forced
const type = forceOutputType ? outputType : typeAttr || outputType;
mathtex = writer.createElement( 'mathtex', { equation, type, display } );
} else {
// Create new model element
mathtex = writer.createElement( 'mathtex', { equation, mode: 'script', display } );
mathtex = writer.createElement( 'mathtex', { equation, type: outputType, display } );
}
model.insertContent( mathtex );
writer.setSelection( mathtex, 'on' );