import * as React from 'react'; import JqxEditor, { IEditorProps } from 'jqwidgets-scripts/jqwidgets-react-tsx/jqxeditor'; class App extends React.PureComponent<{}, IEditorProps> { private myEditor = React.createRef(); constructor(props: {}) { super(props); const createCommand = (name: string): any => { switch (name) { case 'font': return { init: (widget: any): void => { widget.jqxDropDownList({ source: [ { label: 'Arial', value: 'Arial, Helvetica, sans-serif' }, { label: 'Comic Sans MS', value: '"Comic Sans MS", cursive, sans-serif' }, { label: 'Courier New', value: '"Courier New", Courier, monospace' }, { label: 'Georgia', value: 'Georgia,serif' } ] }); } } case 'size': return { init: (widget: any): void => { widget.jqxDropDownList({ source: [ { label: '8pt', value: 'xx-small' }, { label: '12pt', value: 'small' }, { label: '18pt', value: 'large' }, { label: '36pt', value: 'xx-large' } ] }); } } } } this.state = { createCommand, tools: 'bold italic underline | font size | left center right | outdent indent' } } public render() { return ( <b>jqxEditor</b> is a HTML text editor designed to simplify web content creation. You can use it as a replacement of your Textarea or you can create it from a DIV element. <br /> <br /> Features include: <br /> <ul> <li>Text formatting</li> <li>Text alignment</li> <li>Hyperlink dialog</li> <li>Image dialog</li> <li>Bulleted list</li> <li>Numbered list</li> </ul> ); } } export default App;