@kedao/editor
Version:
Rich Text Editor Based On Draft.js
227 lines • 7 kB
JavaScript
import React from 'react';
export default function Controls(lang, editor) {
return [
{
key: 'undo',
title: lang.controls.undo,
text: React.createElement("i", { className: "bfi-undo" }),
type: 'editor-method',
command: 'undo'
},
{
key: 'redo',
title: lang.controls.redo,
text: React.createElement("i", { className: "bfi-redo" }),
type: 'editor-method',
command: 'redo'
},
{
key: 'remove-styles',
title: lang.controls.removeStyles,
text: React.createElement("i", { className: "bfi-format_clear" }),
type: 'editor-method',
command: 'removeSelectionInlineStyles'
},
{
key: 'hr',
title: lang.controls.hr,
text: React.createElement("i", { className: "bfi-hr" }),
type: 'editor-method',
command: 'insertHorizontalLine'
},
{
key: 'bold',
title: lang.controls.bold,
text: React.createElement("i", { className: "bfi-bold" }),
type: 'inline-style',
command: 'bold'
},
{
key: 'italic',
title: lang.controls.italic,
text: React.createElement("i", { className: "bfi-italic" }),
type: 'inline-style',
command: 'italic'
},
{
key: 'underline',
title: lang.controls.underline,
text: React.createElement("i", { className: "bfi-underlined" }),
type: 'inline-style',
command: 'underline'
},
{
key: 'strike-through',
title: lang.controls.strikeThrough,
text: React.createElement("i", { className: "bfi-strikethrough" }),
type: 'inline-style',
command: 'strikethrough'
},
{
key: 'superscript',
title: lang.controls.superScript,
text: React.createElement("i", { className: "bfi-superscript" }),
type: 'inline-style',
command: 'superscript'
},
{
key: 'subscript',
title: lang.controls.subScript,
text: React.createElement("i", { className: "bfi-subscript" }),
type: 'inline-style',
command: 'subscript'
},
{
key: 'headings',
title: lang.controls.headings,
type: 'headings'
},
{
key: 'blockquote',
title: lang.controls.blockQuote,
text: React.createElement("i", { className: "bfi-quote" }),
type: 'block-type',
command: 'blockquote'
},
{
key: 'code',
title: lang.controls.code,
text: React.createElement("i", { className: "bfi-code" }),
type: 'block-type',
command: 'code-block'
},
{
key: 'list-ul',
title: lang.controls.unorderedList,
text: React.createElement("i", { className: "bfi-list" }),
type: 'block-type',
command: 'unordered-list-item'
},
{
key: 'list-ol',
title: lang.controls.orderedList,
text: React.createElement("i", { className: "bfi-list-numbered" }),
type: 'block-type',
command: 'ordered-list-item'
},
{
key: 'link',
title: lang.controls.link,
type: 'link'
},
{
key: 'text-color',
title: lang.controls.color,
type: 'text-color'
},
{
key: 'line-height',
title: lang.controls.lineHeight,
type: 'line-height'
},
{
key: 'letter-spacing',
title: lang.controls.letterSpacing,
type: 'letter-spacing'
},
{
key: 'text-indent',
title: lang.controls.textIndent,
type: 'text-indent'
},
{
key: 'font-size',
title: lang.controls.fontSize,
type: 'font-size'
},
{
key: 'font-family',
title: lang.controls.fontFamily,
type: 'font-family'
},
{
key: 'text-align',
title: lang.controls.textAlign,
type: 'text-align'
},
{
key: 'media',
title: lang.controls.media,
text: React.createElement("i", { className: "bfi-media" }),
type: 'media'
},
{
key: 'emoji',
title: lang.controls.emoji,
text: React.createElement("i", { className: "bfi-emoji" }),
type: 'emoji'
},
{
key: 'clear',
title: lang.controls.clear,
text: React.createElement("i", { className: "bfi-clear_all" }),
type: 'editor-method',
command: 'clearEditorContent'
},
{
key: 'fullscreen',
title: editor.state.isFullscreen
? lang.controls.exitFullscreen
: lang.controls.fullscreen,
text: (React.createElement("i", { className: editor.state.isFullscreen ? 'bfi-fullscreen-exit' : 'bfi-fullscreen' })),
type: 'editor-method',
command: 'toggleFullscreen'
},
{
key: 'modal',
type: 'modal'
},
{
key: 'button',
type: 'button'
},
{
key: 'dropdown',
type: 'dropdown'
},
{
key: 'component',
type: 'component'
}
];
}
export const imageControlItems = {
'float-left': {
text: React.createElement("span", { "data-float": "left" }, "\uE91E"),
command: 'setImageFloat|left'
},
'float-right': {
text: React.createElement("span", { "data-float": "right" }, "\uE914"),
command: 'setImageFloat|right'
},
'align-left': {
text: React.createElement("span", { "data-align": "left" }, "\uE027"),
command: 'setImageAlignment|left'
},
'align-center': {
text: React.createElement("span", { "data-align": "center" }, "\uE028"),
command: 'setImageAlignment|center'
},
'align-right': {
text: React.createElement("span", { "data-align": "right" }, "\uE029"),
command: 'setImageAlignment|right'
},
size: {
text: React.createElement("span", null, "\uE3C2"),
command: 'toggleSizeEditor'
},
link: {
text: React.createElement("span", null, "\uE91A"),
command: 'toggleLinkEditor'
},
remove: {
text: React.createElement("span", null, "\uE9AC"),
command: 'removeImage'
}
};
//# sourceMappingURL=controls.js.map