Merge pull request #19796 from morphologue/master

Type definitions for react-mce 0.6.
This commit is contained in:
Benjamin Lichtman
2017-09-19 14:09:13 -07:00
committed by GitHub
4 changed files with 149 additions and 0 deletions

84
types/react-mce/index.d.ts vendored Normal file
View File

@@ -0,0 +1,84 @@
// Type definitions for react-mce 0.6
// Project: https://github.com/janstuemmel/react-mce
// Definitions by: Gavin Heise <https://github.com/morphologue>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
import * as React from 'react';
import * as ActualTinyMCE from 'tinymce';
type EventHandler = (event: any, editor: ActualTinyMCE.Editor) => void;
interface ReactMCEProps {
// Non-events
config: ActualTinyMCE.Settings;
content?: string;
// Events
onFocusin?: EventHandler;
onFocusout?: EventHandler;
onClick?: EventHandler;
onDblclick?: EventHandler;
onMousedown?: EventHandler;
onMouseup?: EventHandler;
onMousemove?: EventHandler;
onMouseover?: EventHandler;
onBeforepaste?: EventHandler;
onPaste?: EventHandler;
onCut?: EventHandler;
onCopy?: EventHandler;
onSelectionchange?: EventHandler;
onMouseout?: EventHandler;
onMouseenter?: EventHandler;
onMouseleave?: EventHandler;
onKeydown?: EventHandler;
onKeypress?: EventHandler;
onKeyup?: EventHandler;
onContextmenu?: EventHandler;
onDragend?: EventHandler;
onDragover?: EventHandler;
onDraggesture?: EventHandler;
onDragdrop?: EventHandler;
onDrop?: EventHandler;
onDrag?: EventHandler;
onBeforeRenderUI?: EventHandler;
onSetAttrib?: EventHandler;
onPreInit?: EventHandler;
onPostRender?: EventHandler;
onInit?: EventHandler;
onDeactivate?: EventHandler;
onActivate?: EventHandler;
onNodeChange?: EventHandler;
onBeforeExecCommand?: EventHandler;
onExecCommand?: EventHandler;
onShow?: EventHandler;
onHide?: EventHandler;
onProgressState?: EventHandler;
onLoadContent?: EventHandler;
onSaveContent?: EventHandler;
onBeforeSetContent?: EventHandler;
onSetContent?: EventHandler;
onBeforeGetContent?: EventHandler;
onGetContent?: EventHandler;
onVisualAid?: EventHandler;
onRemove?: EventHandler;
onSubmit?: EventHandler;
onReset?: EventHandler;
onBeforeAddUndo?: EventHandler;
onAddUndo?: EventHandler;
onChange?: EventHandler;
onUndo?: EventHandler;
onRedo?: EventHandler;
onClearUndos?: EventHandler;
onObjectSelected?: EventHandler;
onObjectResizeStart?: EventHandler;
onObjectResized?: EventHandler;
onPreProcess?: EventHandler;
onPostProcess?: EventHandler;
onFocus?: EventHandler;
onBlur?: EventHandler;
onDirty?: EventHandler;
}
declare class TinyMCE extends React.Component<ReactMCEProps> { }
export = TinyMCE;

View File

@@ -0,0 +1,40 @@
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import TinyMCE = require('react-mce');
class Example extends React.Component {
private _onChangeTextarea(e: any) {
console.log(e.target.getContent());
}
render() {
return (
<div>
<div>
<h3>TinyMCE Textarea</h3>
<TinyMCE
content="Hello"
config={{
plugins: 'autolink link image lists print preview',
toolbar: 'undo redo | bold italic | alignleft aligncenter alignright'
}}
onChange={(e, editor) => this._onChangeTextarea(e)}
/>
</div>
<div>
<h3>TinyMCE Inline</h3>
<TinyMCE
config={{ inline: true }}
content="Click here!"
/>
</div>
</div>
);
}
}
ReactDOM.render(<Example />, document.getElementById('root'));

View File

@@ -0,0 +1,24 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6",
"dom"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"jsx": "react",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"react-mce-tests.tsx"
]
}

View File

@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }