UNPKG

last-draft-js-toolbar-plugin

Version:
127 lines (93 loc) 4.43 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Separator = undefined; var _decorateComponentWithProps = require('decorate-component-with-props'); var _decorateComponentWithProps2 = _interopRequireDefault(_decorateComponentWithProps); var _draftJsButtons = require('draft-js-buttons'); var _draftJsButtonsPlugin = require('draft-js-buttons-plugin'); var _createStore = require('./utils/createStore'); var _createStore2 = _interopRequireDefault(_createStore); var _Toolbar = require('./components/Toolbar'); var _Toolbar2 = _interopRequireDefault(_Toolbar); var _Separator = require('./components/Separator'); var _Separator2 = _interopRequireDefault(_Separator); var _buttonStyles = { "buttonWrapper": "draftJsSidebarPlugin__buttonWrapper__1Dmqh", "button": "draftJsSidebarPlugin__button__qi1gf", "active": "draftJsSidebarPlugin__active__3qcpF" }; var _buttonStyles2 = _interopRequireDefault(_buttonStyles); var _toolbarStyles = { "toolbar": "draftJsSidebarPlugin__toolbar__dNtBH" }; var _toolbarStyles2 = _interopRequireDefault(_toolbarStyles); var _modalStyles = { "modalWrapper": "draftJsSidebarPlugin__modalWrapper__EaX74", "modalInput": "draftJsSidebarPlugin__modalInput__1sp75", "modalButton": "draftJsSidebarPlugin__modalButton__ffoIL", "modalButtonWrapper": "draftJsSidebarPlugin__modalButtonWrapper__27s-M", "modalError": "draftJsSidebarPlugin__modalError___AfCV" }; var _modalStyles2 = _interopRequireDefault(_modalStyles); var _colorPickerStyles = { "wrapper": "draftJsSidebarPlugin__wrapper__1udU0", "picker": "draftJsSidebarPlugin__picker__2dADB", "color": "draftJsSidebarPlugin__color__1Xb1m", "closeWrapper": "draftJsSidebarPlugin__closeWrapper__3ofjk", "close": "draftJsSidebarPlugin__close__1uWEp" }; var _colorPickerStyles2 = _interopRequireDefault(_colorPickerStyles); var _getModalByType = require('./components/getModalByType'); var _getModalByType2 = _interopRequireDefault(_getModalByType); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var createToolbarPlugin = function createToolbarPlugin() { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var defaultTheme = { buttonStyles: _buttonStyles2.default, toolbarStyles: _toolbarStyles2.default, modalStyles: _modalStyles2.default, colorPickerStyles: _colorPickerStyles2.default }; var defaultaddLink = undefined; var _config$theme = config.theme, theme = _config$theme === undefined ? defaultTheme : _config$theme, _config$addLink = config.addLink, addLink = _config$addLink === undefined ? defaultaddLink : _config$addLink, _config$structure = config.structure, structure = _config$structure === undefined ? [_draftJsButtons.BoldButton, _draftJsButtons.ItalicButton, _draftJsButtons.UnderlineButton, _draftJsButtonsPlugin.AddLinkButton, _draftJsButtons.BlockquoteButton, _draftJsButtons.CodeBlockButton, _draftJsButtons.UnorderedListButton, _draftJsButtons.OrderedListButton, _draftJsButtonsPlugin.AddColorButton] : _config$structure; var store = (0, _createStore2.default)({ isVisible: false, addLink: addLink }); var toolbarProps = { store: store, structure: structure, getModalByType: _getModalByType2.default, theme: theme }; return { initialize: function initialize(_ref) { var getEditorState = _ref.getEditorState, setEditorState = _ref.setEditorState; store.updateItem('getEditorState', getEditorState); store.updateItem('setEditorState', setEditorState); }, // Re-Render the text-toolbar on selection change onChange: function onChange(editorState) { var selection = editorState.getSelection(); if (selection.getHasFocus() && !selection.isCollapsed()) { store.updateItem('isVisible', true); } else { store.updateItem('isVisible', false); } return editorState; }, Toolbar: (0, _decorateComponentWithProps2.default)(_Toolbar2.default, toolbarProps) }; }; // eslint-disable-line import/no-unresolved /* * Copyright (c) 2016, Globo.com (https://github.com/globocom) * Copyright (c) 2016, vace.nz (https://github.com/vacenz) * Copyright (c) 2016, Nik Graf (https://www.draft-js-plugins.com) * * License: MIT */ exports.default = createToolbarPlugin; exports.Separator = _Separator2.default;