pixelplanet/utils/markdown-test/mdtest.js

44 lines
949 B
JavaScript
Raw Normal View History

import React, { useState } from 'react';
2021-11-26 12:15:24 +00:00
import ReactDOM from 'react-dom';
2021-11-27 11:54:06 +00:00
import { parse } from '../../src/core/MarkdownParser';
import Markdown from './Markdown';
2021-11-29 04:04:06 +00:00
function parseText(text, setDuration, setMd) {
const startt = Date.now();
2021-11-27 11:54:06 +00:00
const arr = parse(text);
2021-11-26 12:15:24 +00:00
setDuration(Date.now() - startt);
setMd(arr);
2021-11-26 12:15:24 +00:00
}
2021-11-26 12:15:24 +00:00
const App = () => {
const [md, setMd] = useState([]);
2021-11-26 12:15:24 +00:00
const [duration, setDuration] = useState('');
2021-11-26 12:15:24 +00:00
return (
<div>
<textarea
cols="100"
rows="30"
onChange={(evt) => {
2021-11-29 04:04:06 +00:00
parseText(evt.target.value, setDuration, setMd);
}}
2021-11-26 12:15:24 +00:00
/>
2021-11-29 04:04:06 +00:00
<p>Parse-time: {duration}ms</p>
<Markdown mdArray={md} />
2021-11-26 12:15:24 +00:00
<textarea
cols="100"
rows="30"
readOnly
value={JSON.stringify(md, null, 2)}
2021-11-26 12:15:24 +00:00
/>
</div>
);
2021-11-26 12:15:24 +00:00
};
document.addEventListener('DOMContentLoaded', () => {
ReactDOM.render(<App />, document.getElementById('reactroot'));
});