Skip to content

Commit 57d5b29

Browse files
committed
refactor(math-templated): use @pie-lib/math-input registerEmbed/applyStaticMath helpers instead of direct mathquill, remove root mathquill resolution PIE-61
1 parent 68850d0 commit 57d5b29

3 files changed

Lines changed: 6 additions & 21 deletions

File tree

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@
115115
"@pie-lib/test-utils": "2.0.0",
116116
"@pie-lib/text-select": "3.0.0",
117117
"@pie-lib/tools": "2.0.0",
118-
"@pie-lib/translator": "4.0.0",
119-
"@pie-framework/mathquill": "1.2.1-beta.1"
118+
"@pie-lib/translator": "4.0.0"
120119
},
121120
"browserslist": [
122121
">0.5%",

packages/math-templated/src/__tests__/main.test.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,6 @@ import { render } from '@testing-library/react';
33
import userEvent from '@testing-library/user-event';
44
import Main from '../main';
55

6-
const Mathquill = require('@pie-framework/mathquill');
7-
8-
jest.mock('@pie-framework/mathquill', () => ({
9-
StaticMath: jest.fn().mockReturnValue({
10-
latex: jest.fn(),
11-
}),
12-
registerEmbed: jest.fn(),
13-
getInterface: jest.fn().mockReturnThis(),
14-
}));
15-
166
jest.mock('@pie-lib/render-ui', () => ({
177
color: {
188
text: () => '#000',
@@ -46,6 +36,8 @@ jest.mock('@pie-lib/math-input', () => ({
4636
},
4737
HorizontalKeypad: (props) => <div data-testid="horizontal-keypad" {...props} />,
4838
updateSpans: jest.fn(),
39+
registerEmbed: jest.fn(),
40+
applyStaticMath: jest.fn(),
4941
}));
5042

5143
jest.mock('@pie-lib/math-rendering', () => ({

packages/math-templated/src/main.jsx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ import PropTypes from 'prop-types';
33
import { isEmpty, isEqual } from 'lodash-es';
44
import { styled } from '@mui/material/styles';
55
import Tooltip from '@mui/material/Tooltip';
6-
import { mq, HorizontalKeypad, updateSpans } from '@pie-lib/math-input';
6+
import { mq, HorizontalKeypad, updateSpans, registerEmbed, applyStaticMath } from '@pie-lib/math-input';
77
import { color, Collapsible, Readable, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';
88
import { renderMath } from '@pie-lib/math-rendering';
9-
import MathQuill from '@pie-framework/mathquill';
109
import { Customizable } from '@pie-lib/mask-markup';
1110
import CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';
1211
import ReactDOM from 'react-dom';
@@ -366,10 +365,8 @@ export class Main extends React.Component {
366365

367366
UNSAFE_componentWillMount() {
368367
if (typeof window !== 'undefined') {
369-
let MQ = MathQuill.getInterface(3);
370-
371368
if (!registered) {
372-
MQ.registerEmbed('answerBlock', (data) => ({
369+
registerEmbed('answerBlock', (data) => ({
373370
htmlString: `<div class="block-container">
374371
<div class="block-response" id="${data}Index">R</div>
375372
<div class="block-math">
@@ -396,18 +393,15 @@ export class Main extends React.Component {
396393
const indexEl = this.root.querySelector(`#${answerId}Index`);
397394

398395
if (el) {
399-
let MQ = MathQuill.getInterface(3);
400396
const answer = answers[answerId];
401397

402-
el.textContent = (answer && answer.value) || '';
398+
applyStaticMath(el, (answer && answer.value) || '');
403399

404400
if (model.view) {
405401
el.parentElement.parentElement.classList.remove('correct');
406402
el.parentElement.parentElement.classList.remove('incorrect');
407403
}
408404

409-
MQ.StaticMath(el);
410-
411405
indexEl.textContent = 'R';
412406
}
413407
});

0 commit comments

Comments
 (0)