tui-editor
Version:
GFM Markdown Wysiwyg Editor - Productive and Extensible
7 lines • 5.98 kB
JavaScript
/*!
* tui-editor
* @version 1.4.10
* @author NHN FE Development Lab <dl_javascript@nhn.com> (https://nhn.github.io/tui.editor/)
* @license MIT
*/
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("jquery"),function(){try{return require("tui-editor")}catch(e){}}(),function(){try{return require("tui-editor/dist/tui-editor-Viewer")}catch(e){}}(),require("tui-color-picker"));else if("function"==typeof define&&define.amd)define(["jquery","tui-editor","tui-editor/dist/tui-editor-Viewer","tui-color-picker"],t);else{var o="object"==typeof exports?t(require("jquery"),function(){try{return require("tui-editor")}catch(e){}}(),function(){try{return require("tui-editor/dist/tui-editor-Viewer")}catch(e){}}(),require("tui-color-picker")):t(e.$,e.tui.Editor,e.tui.Editor,e.tui.colorPicker);for(var r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(window,(function(e,t,o,r){return function(e){var t={};function o(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=e,o.c=t,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(r,n,function(t){return e[t]}.bind(null,n));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/dist",o(o.s=45)}({0:function(t,o){t.exports=e},1:function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=void 0;try{r=o(4)}catch(e){}if(!r)try{r=o(5)}catch(e){}t.default=r},4:function(e,o){if(void 0===t){var r=new Error("Cannot find module 'undefined'");throw r.code="MODULE_NOT_FOUND",r}e.exports=t},45:function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=l(o(0)),n=l(o(46)),i=l(o(1));function l(e){return e&&e.__esModule?e:{default:e}}var c=/\{color:(.+?)}(.*?)\{color}/g,u=/<span (?:class="colour" )?style="color:(.+?)"(?: class="colour")?>(.*?)/g,a=/<span (?:class="colour" )?style="color:(.+?)"(?: class="colour")?>(.*?)<\/span>/g,s=/rgb\((\d+)[, ]+(\d+)[, ]+(\d+)\)/g,f="#181818",d=0;function p(e){var t=e.options.colorSyntax,o=void 0===t?{}:t,i=o.preset,l=o.useCustomSyntax,f=void 0!==l&&l;e.eventManager.listen("convertorAfterMarkdownToHtmlConverted",(function(e){return f?e.replace(c,(function(e,t,o){return y(o,t).result})):e})),e.eventManager.listen("convertorAfterHtmlToMarkdownConverted",(function(e){var t=f?a:u;return e.replace(t,(function(e,t,o){return t.match(s)&&(t=function(e){return e.replace(s,(function(e,t,o,r){return"#"+b(t)+b(o)+b(r)}))}(t)),f?v(o,t).result:e.replace(/ ?class="colour" ?/g," ").replace(s,t)}))})),e.isViewer()||"default"!==e.getUI().name||(e.addCommand("markdown",{name:"color",exec:function(e,t){var o=e.getEditor(),r=o.getCursor("from"),n=o.getCursor("to"),i=void 0,l=void 0;if(t){if(f){var c=v(o.getSelection(),t);i=c.result,l=c.from,o.replaceSelection(i)}else{var u=y(o.getSelection(),t);i=u.result,l=u.from,o.replaceSelection(i)}o.setSelection({line:r.line,ch:r.ch+l},{line:n.line,ch:r.line===n.line?n.ch+l:n.ch}),e.focus()}}}),e.addCommand("wysiwyg",{name:"color",exec:function(e,t){if(t){var o=e.getEditor(),r=e.componentManager.getManager("tableSelection");if(d=function(e){return e.getRoot().parentNode.scrollTop}(o),o.hasFormat("table")&&r.getSelectedCells().length){r.styleToSelectedCells(g,t);var n=o.getSelection();n.collapse(!0),o.setSelection(n)}else g(o,t)}}}),function(e,t){var o=e.i18n,i=e.getUI().getToolbar(),l=e.options.usageStatistics;e.eventManager.addEventType("colorButtonClicked"),i.insertItem(3,{type:"button",options:{name:"colorSyntax",className:"tui-color",event:"colorButtonClicked",tooltip:o.get("Text color")}});var c=i.indexOfItem("colorSyntax"),u=i.getItem(c).$el,a=(0,r.default)("<div />"),s=(0,r.default)('<button type="button" class="te-apply-button">'+o.get("OK")+"</button>"),f={container:a[0],usageStatistics:l};t&&(f.preset=t);var p=n.default.create(f),g=p.getColor();a.append(s);var v=e.getUI().createPopup({header:!1,title:!1,content:a,className:"tui-popup-color",$target:e.getUI().getToolbar().$el,css:{width:"auto",position:"absolute"}});e.eventManager.listen("focus",(function(){v.hide(),e.isWysiwygMode()&&d&&(e.getSquire().getRoot().parentNode.scrollTop=d,d=0)})),e.eventManager.listen("colorButtonClicked",(function(){if(v.isShow())v.hide();else{var t=u.get(0),o=t.offsetTop,r=t.offsetLeft;v.$el.css({top:o+u.outerHeight(),left:r}),p.slider.toggle(!0),e.eventManager.emit("closeAllPopup"),v.show()}})),e.eventManager.listen("closeAllPopup",(function(){v.hide()})),e.eventManager.listen("removeEditor",(function(){p.off("selectColor"),v.$el.find(".te-apply-button").off("click"),v.remove()})),p.on("selectColor",(function(t){g=t.color,"palette"===t.origin&&(e.exec("color",g),v.hide())})),v.$el.find(".te-apply-button").on("click",(function(){e.exec("color",g)}))}(e,i))}function g(e,t){e.hasFormat("PRE")||(t===f?e.changeFormat(null,{class:"colour",tag:"span"}):e.setTextColour(t))}function v(e,t){return m("{color:"+t+"}",e,"{color}")}function y(e,t){return m('<span style="color:'+t+'">',e,"</span>")}function m(e,t,o){return{result:""+e+t+o,from:e.length,to:e.length+t.length}}function b(e){var t,o=parseInt(e,10);return o=o.toString(16),o=(t="00"+o).substr(t.length-2)}i.default.defineExtension("colorSyntax",p),t.default=p},46:function(e,t){e.exports=r},5:function(e,t){if(void 0===o){var r=new Error("Cannot find module 'undefined'");throw r.code="MODULE_NOT_FOUND",r}e.exports=o}})}));