1
1
import React , { Component } from 'react' ;
2
2
import Editor from 'draft-js-plugins-editor' ;
3
- import PrismDecorator from 'draft-js-prism' ;
4
- import Prism from 'prismjs' ;
5
- import 'prismjs/components/prism-java' ;
6
- import 'prismjs/components/prism-scala' ;
7
- import 'prismjs/components/prism-go' ;
8
- import 'prismjs/components/prism-sql' ;
9
- import 'prismjs/components/prism-bash' ;
10
- import 'prismjs/components/prism-c' ;
11
- import 'prismjs/components/prism-cpp' ;
12
- import 'prismjs/components/prism-kotlin' ;
13
- import 'prismjs/components/prism-perl' ;
14
- import 'prismjs/components/prism-ruby' ;
15
- import 'prismjs/components/prism-swift' ;
16
3
17
4
import createMarkdownShortcutsPlugin from 'draft-js-markdown-shortcuts-plugin' ; // eslint-disable-line
18
5
import Draft , {
@@ -22,29 +9,15 @@ import Draft, {
22
9
EditorState ,
23
10
} from 'draft-js' ;
24
11
import styles from './styles.css' ;
25
- // import initialState from './initialState ';
12
+ import prismPlugin from '../../plugins/prism ' ;
26
13
27
14
window . Draft = Draft ;
28
15
29
- const plugins = [ createMarkdownShortcutsPlugin ( ) ] ;
30
-
31
- const decorators = [
32
- new PrismDecorator ( {
33
- prism : Prism ,
34
- getSyntax ( block ) {
35
- const language = block . getData ( ) . get ( 'language' ) ;
36
- if ( typeof Prism . languages [ language ] === 'object' ) {
37
- return language ;
38
- }
39
- return null ;
40
- } ,
41
- render ( { type, children } ) {
42
- return < span className = { `prism-token token ${ type } ` } > { children } </ span > ;
43
- }
44
- } )
16
+ const plugins = [
17
+ prismPlugin ,
18
+ createMarkdownShortcutsPlugin ( )
45
19
] ;
46
20
47
- // const contentState = ContentState.createFromBlockArray(convertFromRaw(initialState));
48
21
const contentState = ContentState . createFromText ( '' ) ;
49
22
const initialEditorState = EditorState . createWithContent ( contentState ) ;
50
23
@@ -78,7 +51,6 @@ export default class DemoEditor extends Component {
78
51
{ placeholder }
79
52
< div className = { styles . editor } onClick = { this . focus } >
80
53
< Editor
81
- decorators = { decorators }
82
54
editorState = { editorState }
83
55
onChange = { this . onChange }
84
56
plugins = { plugins }
0 commit comments