Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const options = settings => {
if (props.isTopPopup) {
return {
top: settings.decoratorRect.y - 30 + 'px', // change this value (30) for manage the distance between cursor and bottom edge of popover
transform: 'scale(1) translateY(-100%)'
};
}
return {
top: settings.decoratorRect.y + 'px',
transform: 'scale(1)'
};
};
this.linkPlugin = createLinkPlugin();
this.toolbarPlugin = createToolbarPlugin();
this.emojiPlugin = createEmojiPlugin({
useNativeArt: true,
selectButtonContent: ,
positionSuggestions: settings => {
return {
left: settings.decoratorRect.x + 'px',
boxShadow: '0 0 12px 0 rgba(0, 0, 0, 0.1)',
transformOrigin: '1em 0%',
position: 'fixed',
transition: 'all 0.2s cubic-bezier(0.3, 1.2, 0.2, 1) 0s',
...options(settings)
};
}
});
}
// It is important to import the Editor which accepts plugins.
import Editor from 'draft-js-plugins-editor';
import createToolbarPlugin from 'draft-js-static-toolbar-plugin';
import React from 'react';
// Creates an Instance. At this step, a configuration object can be passed in
// as an argument.
const toolbarPlugin = createToolbarPlugin();
// The Editor accepts an array of plugins. In this case, only the toolbarPlugin
// is passed in, although it is possible to pass in multiple plugins.
const MyEditor = ({ editorState, onChange }) => (
);
export default MyEditor;
toolbarStructure = [HeadlineTwoButton, HeadlineThreeButton, ...toolbarStructure];
}
const plugins = [linkPlugin];
if (props.withAttachmentButton) {
const attachmentPlugin = createAttachmentPlugin({
...modalConfig
});
const { AttachmentButton, Attachments } = attachmentPlugin;
toolbarStructure.push(AttachmentButton);
plugins.push(attachmentPlugin);
components.Attachments = Attachments;
components.AttachmentButton = AttachmentButton;
}
const staticToolbarPlugin = createToolbarPlugin({
structure: toolbarStructure,
// we need this for toolbar plugin to add css classes to buttons and toolbar
theme: {
buttonStyles: {
active: 'active',
button: 'btn btn-default',
buttonWrapper: 'btn-group'
},
toolbarStyles: {
toolbar: classNames('editor-toolbar', props.toolbarPosition)
}
}
});
plugins.push(staticToolbarPlugin);
const { Toolbar } = staticToolbarPlugin;
const { LinkButton } = linkPlugin;
const components = {};
const toolbarStructure = [BoldButton, ItalicButton, UnorderedListButton, ToolbarSeparator, LinkButton, ToolbarSeparator];
const plugins = [counterPlugin, linkPlugin];
if (props.withAttachmentButton) {
const attachmentPlugin = createAttachmentPlugin({
...modalConfig
});
const { AttachmentButton, Attachments } = attachmentPlugin;
toolbarStructure.push(AttachmentButton);
plugins.push(attachmentPlugin);
components.Attachments = Attachments;
}
const staticToolbarPlugin = createToolbarPlugin({
structure: toolbarStructure,
// we need this for toolbar plugin to add css classes to buttons and toolbar
theme: {
buttonStyles: {
active: 'active',
button: 'btn btn-default',
buttonWrapper: 'btn-group'
},
toolbarStyles: {
toolbar: 'editor-toolbar'
}
}
});
plugins.push(staticToolbarPlugin);
this.plugins = plugins;
// of the toolbar. This can be useful for displaying sub
// menus or requesting additional information from the user.
this.props.onOverrideContent(HeadlinesPicker);
render() {
return (
<div>
<button>
H
</button>
</div>
);
}
}
const toolbarPlugin = createToolbarPlugin();
const { Toolbar } = toolbarPlugin;
const plugins = [toolbarPlugin];
const text = 'Remember to place the component bellow the Editor component …';
export default class CustomToolbarEditor extends Component {
state = {
editorState: createEditorStateWithText(text),
};
onChange = (editorState) => {
this.setState({
editorState,
});
};
// of the toolbar. This can be useful for displaying sub
// menus or requesting additional information from the user.
this.props.onOverrideContent(HeadlinesPicker);
render() {
return (
<div>
<button>
H
</button>
</div>
);
}
}
const toolbarPlugin = createToolbarPlugin({
structure: [
BoldButton,
ItalicButton,
UnderlineButton,
CodeButton,
Separator,
HeadlinesButton,
UnorderedListButton,
OrderedListButton,
BlockquoteButton,
CodeBlockButton
]
});
const {Toolbar} = toolbarPlugin;
const plugins = [toolbarPlugin];
const text = 'In this editor a toolbar shows up once you select part of the text …';
import React, { Component } from 'react';
import Editor, { createEditorStateWithText } from 'draft-js-plugins-editor';
import createToolbarPlugin from 'draft-js-static-toolbar-plugin';
import editorStyles from './editorStyles.css';
const inlineToolbarPlugin = createToolbarPlugin();
const { Toolbar } = inlineToolbarPlugin;
const plugins = [inlineToolbarPlugin];
const text = 'The toolbar above the editor can be used for formatting text, as in conventional static editors …';
export default class SimpleInlineToolbarEditor extends Component {
state = {
editorState: createEditorStateWithText(text),
};
onChange = (editorState) => {
this.setState({
editorState,
});
};
focus = () => {
import React, { Component } from 'react';
import Editor, { createEditorStateWithText } from 'draft-js-plugins-editor';
import createToolbarPlugin from 'draft-js-static-toolbar-plugin';
import editorStyles from './editorStyles.css';
import buttonStyles from './buttonStyles.css';
import toolbarStyles from './toolbarStyles.css';
const toolbarPlugin = createToolbarPlugin({
theme: { buttonStyles, toolbarStyles }
});
const { Toolbar } = toolbarPlugin;
const plugins = [toolbarPlugin];
const text = 'In this editor a toolbar with a lot more options shows up once you select part of the text …';
export default class ThemedToolbarEditor extends Component {
state = {
editorState: createEditorStateWithText(text),
};
onChange = (editorState) => {
this.setState({
editorState,
});