arch-editor
Version:
Rich text editor with a high degree of customization.
2 lines • 2.12 kB
JavaScript
/*! For license information please see default.js.LICENSE.txt */
!function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{defaultCustomStyleMap:function(){return a},defaultDecorator:function(){return d},defaultEditorState:function(){return u},defaultKeyBindingFn:function(){return i},defaultStrategy:function(){return y},getDefaultKeyCommandState:function(){return l}});var r=require("draft-js"),n=require("./composite"),o=require("./draftUtils"),i=function(e){return 76===e.keyCode&&e.ctrlKey&&e.altKey?"format-clear":79===e.keyCode&&e.ctrlKey&&e.altKey?"ordered-list-item":83===e.keyCode&&e.ctrlKey&&e.altKey?"strikethrough":84===e.keyCode&&e.ctrlKey&&e.altKey?"unstyled":85===e.keyCode&&e.ctrlKey&&e.altKey?"unordered-list-item":112===e.keyCode&&e.ctrlKey&&e.altKey?"header-one":113===e.keyCode&&e.ctrlKey&&e.altKey?"header-two":114===e.keyCode&&e.ctrlKey&&e.altKey?"header-three":(0,r.getDefaultKeyBinding)(e)},a={STRIKETHROUGH:{textDecoration:"line-through",textDecorationColor:"red"},UNDERLINE:{textDecoration:"underline",textDecorationColor:"initial"}},l=function(e,t){switch(e){case"format-clear":return(0,o.clearInlineStyles)(t);case"strikethrough":return r.RichUtils.toggleInlineStyle(t,"STRIKETHROUGH");case"header-one":case"header-two":case"header-three":case"unstyled":case"ordered-list-item":case"unordered-list-item":return r.RichUtils.toggleBlockType(t,e);default:return r.RichUtils.handleKeyCommand(t,e)}},y=[{strategy:(0,n.findEntitiesByType)("LINK"),component:n.EntityLink},{strategy:(0,n.findEntitiesByRegex)(/[a-zA-z]+:\/\/[^\s]*/g),component:n.EntityLink},{strategy:(0,n.findEntitiesByRegex)(/[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+/g),component:n.EntityEmail}],d=new r.CompositeDecorator(y),u=r.EditorState.createEmpty(d);module.exports=t}();