diff --git a/src/mathcommand.js b/src/mathcommand.js
index 745bb7d45..56dda32db 100644
--- a/src/mathcommand.js
+++ b/src/mathcommand.js
@@ -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' );
diff --git a/src/mathediting.js b/src/mathediting.js
index 0938f6481..2105322ba 100644
--- a/src/mathediting.js
+++ b/src/mathediting.js
@@ -54,7 +54,7 @@ export default class MathEditing extends Plugin {
},
model: ( viewElement, modelWriter ) => {
const equation = viewElement.getChild( 0 ).data.trim();
- return modelWriter.createElement( 'mathtex', { equation, type: 'script', display: false } );
+ return modelWriter.createElement( 'mathtex', { equation, type: mathConfig.forceOutputType ? mathConfig.outputType : 'script', display: false } );
}
} )
// MathJax display way (e.g. )
@@ -67,7 +67,7 @@ export default class MathEditing extends Plugin {
},
model: ( viewElement, modelWriter ) => {
const equation = viewElement.getChild( 0 ).data.trim();
- return modelWriter.createElement( 'mathtex', { equation, type: 'script', display: true } );
+ return modelWriter.createElement( 'mathtex', { equation, type: mathConfig.forceOutputType ? mathConfig.outputType : 'script', display: true } );
}
} )
// CKEditor 4 way (e.g. \( \sqrt{\frac{a}{b}} \))
@@ -86,7 +86,7 @@ export default class MathEditing extends Plugin {
equation = equation.substring( 2, equation.length - 2 ).trim();
}
- return modelWriter.createElement( 'mathtex', { equation, type: 'span', display: hasDisplayDelimiters } );
+ return modelWriter.createElement( 'mathtex', { equation, type: mathConfig.forceOutputType ? mathConfig.outputType : 'span', display: hasDisplayDelimiters } );
}
} );
diff --git a/src/mathui.js b/src/mathui.js
index b73464e22..b59b2aa50 100644
--- a/src/mathui.js
+++ b/src/mathui.js
@@ -71,7 +71,7 @@ export default class MathUI extends Plugin {
// Listen to submit button click
this.listenTo( formView, 'submit', () => {
- editor.execute( 'math', formView.equation, formView.displayButtonView.isOn );
+ editor.execute( 'math', formView.equation, formView.displayButtonView.isOn, mathConfig.outputType, mathConfig.forceOutputType );
this._closeFormView();
} );
diff --git a/src/utils.js b/src/utils.js
index 391cad49f..5683fe72c 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -35,7 +35,12 @@ export function getSelectedMathModelWidget( selection ) {
export const defaultConfig = {
+ /*
+ engine: (equation, element, display) => {
+ console.log(equation, element, display);
+ },
+ */
engine: 'mathjax',
- outputMode: 'script',
- forceOutputMode: false
+ outputType: 'script',
+ forceOutputType: false
}
\ No newline at end of file