From e1c45dd9afeed1a677066150dad68aacf10efa06 Mon Sep 17 00:00:00 2001 From: "kyuwoo.choi" Date: Wed, 7 Jun 2017 18:25:10 +0900 Subject: [PATCH] chore: version update to 0.12.13 --- dist/tui-editor.css | 10 +++ dist/tui-editor.js | 189 +++++++++++++++++++++++++++++++---------- dist/tui-editor.min.js | 30 +++---- 3 files changed, 167 insertions(+), 62 deletions(-) diff --git a/dist/tui-editor.css b/dist/tui-editor.css index fc35e1a734..9f392510c4 100644 --- a/dist/tui-editor.css +++ b/dist/tui-editor.css @@ -726,6 +726,16 @@ height: 100px; } +@media screen and (max-width: 480px) { + .tui-popup-wrapper { + max-width: 300px; + } + + .tui-editor-popup { + margin-left: -150px; + } +} + /** * Toast UI Colorpicker * @version 1.0.2 diff --git a/dist/tui-editor.js b/dist/tui-editor.js index 79f529a133..c83e60ab36 100644 --- a/dist/tui-editor.js +++ b/dist/tui-editor.js @@ -738,6 +738,22 @@ return this.getMarkdown(); } + /** + * insert text + * @param {string} text - text string to insert + * @memberof ToastUIEditor + */ + + }, { + key: 'insertText', + value: function insertText(text) { + if (this.isMarkdownMode()) { + this.mdEditor.replaceSelection(text); + } else { + this.wwEditor.insertText(text); + } + } + /** * Add widget to selection * @api @@ -1022,6 +1038,21 @@ return this.getCurrentModeEditor().getTextObject(range); } + /** + * get selected text + * @returns {string} - selected text + * @memberof ToastUIEditor + */ + + }, { + key: 'getSelectedText', + value: function getSelectedText() { + var range = this.getRange(); + var textObject = this.getTextObject(range); + + return textObject.getTextContent() || ''; + } + /** * Get instance of TUIEditor * @api @@ -4132,6 +4163,18 @@ this.getEditor().saveUndoState(); } + /** + * insert given text to cursor position or selected area + * @param {string} text - text string to insert + * @memberof WysiwygEditor + */ + + }, { + key: 'insertText', + value: function insertText(text) { + this.editor.insertPlainText(text); + } + /** * getValue * Get value of wysiwyg editor @@ -11335,23 +11378,7 @@ */ var util = tui.util; - - /** - * graceful decode uri component - * @param {string} uri - string to be decoded - * @returns {string} decoded string - * @ignore - */ - function decodeURIComponentGraceful(uri) { - var decodedURI = void 0; - try { - decodedURI = decodeURIComponent(uri); - } catch (e) { - decodedURI = uri; - } - - return decodedURI; - } + var URLRegex = /(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})(\/([^\s]*))?/g; /** * ImportManager @@ -11373,14 +11400,24 @@ } /** - * Initialize event handler - * @memberOf ImportManager - * @private + * graceful decode uri component + * @param {string} uri - string to be decoded + * @param {Function} decodeFunction - function to be used to decode + * @returns {string} decoded string + * @memberof ImportManager + * @static */ _createClass(ImportManager, [{ key: '_initEvent', + + + /** + * Initialize event handler + * @memberOf ImportManager + * @private + */ value: function _initEvent() { var _this = this; @@ -11453,13 +11490,24 @@ }, { key: '_decodeURL', value: function _decodeURL(ev) { - if (ev.source === 'markdown' && ev.data.text.length === 1 && ev.data.text[0].match(/https?:\/\//g)) { - ev.data.update(null, null, [decodeURIComponentGraceful(ev.data.text[0])]); + if (ev.source === 'markdown' && ev.data.text) { + var newTexts = []; + + ev.data.text.forEach(function (text) { + text = text.replace(URLRegex, function (match) { + return ImportManager.decodeURIGraceful(match); + }); + newTexts.push(text); + }); + + ev.data.update(null, null, newTexts); } else if (ev.source === 'wysiwyg' && ev.$clipboardContainer.find('A')) { var $anchor = ev.$clipboardContainer.find('A'); $anchor.each(function (index, element) { - $(element).text(decodeURIComponentGraceful($(element).text())); + var text = $(element).text(); + var decodeFunction = text.match(URLRegex) ? decodeURI : decodeURIComponent; + $(element).text(ImportManager.decodeURIGraceful(text, decodeFunction)); }); } } @@ -11524,6 +11572,21 @@ return state && (state.codeBlock || state.list || state.task || state.code); } + }], [{ + key: 'decodeURIGraceful', + value: function decodeURIGraceful(uri) { + var decodeFunction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : decodeURI; + + var decodedURI = void 0; + try { + decodedURI = decodeFunction(uri); + decodedURI = decodedURI.replace(/ /g, '%20').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\[/g, '%5B').replace(/\]/g, '%5D').replace(//g, '%3E'); + } catch (e) { + decodedURI = uri; + } + + return decodedURI; + } }]); return ImportManager; @@ -12140,7 +12203,7 @@ // check the block quote marker // Add condition by Junghwan Park - if (currentLine.match(FIND_LIST_RX) /*&& !currentLine.match(/^ {0,6}>/)*/ || state.src.charCodeAt(pos++) !== 0x3E /* > */) { + if (currentLine.match(FIND_LIST_RX /*&& !currentLine.match(/^ {0,6}>/)*/) || state.src.charCodeAt(pos++) !== 0x3E /* > */) { return false; } @@ -13048,7 +13111,7 @@ DefaultUI.prototype._initPopupAddLink = function () { this.popupAddLink = new _popupAddLink2.default({ $target: this.$el, - eventManager: this.editor.eventManager + editor: this.editor }); }; @@ -14316,14 +14379,18 @@ var _i18n2 = _interopRequireDefault(_i18n); + var _importManager = __webpack_require__(31); + + var _importManager2 = _interopRequireDefault(_importManager); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - /** - * @fileoverview Implements PopupAddLink - * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Team/NHN Ent. - */ + var util = tui.util; /** + * @fileoverview Implements PopupAddLink + * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Team/NHN Ent. + */ - var util = tui.util; + var URL_REGEX = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})(\/([^\s]*))?$/; /** * PopupAddLink @@ -14337,7 +14404,7 @@ */ function PopupAddLink(options) { /* eslint-disable indent */ - var POPUP_CONTENT = ['', '', '', '', '
', '', '', '
'].join(''); + var POPUP_CONTENT = '\n \n \n \n
\n \n \n
'; /* eslint-enable indent */ options = util.extend({ @@ -14348,65 +14415,93 @@ _layerpopup2.default.call(this, options); + this._editor = options.editor; + this.render(); + this._initDOM(); this._bindContentEvent(); - this._linkWithEventManager(options.eventManager); + this._linkWithEventManager(options.editor.eventManager); } PopupAddLink.prototype = util.extend({}, _layerpopup2.default.prototype); + PopupAddLink.prototype._initDOM = function () { + var el = this.$el.get(0); + this._inputText = el.querySelector('.te-link-text-input'); + this._inputURL = el.querySelector('.te-url-input'); + }; + PopupAddLink.prototype._bindContentEvent = function () { - var self = this; + var _this = this; this.on('click .te-ok-button', function () { - self.trigger('okButtonClicked', self); - self.hide(); + _this.trigger('okButtonClicked', _this); + _this.hide(); }); this.on('click .te-close-button', function () { - self.trigger('closeButtonClicked', self); - self.hide(); + _this.trigger('closeButtonClicked', _this); + _this.hide(); }); this.on('shown', function () { - self.$el.find('.te-link-text-input').focus(); + var inputText = _this._inputText; + var inputURL = _this._inputURL; + + var selectedText = _this._editor.getSelectedText().trim(); + + inputText.value = selectedText; + if (URL_REGEX.exec(selectedText)) { + inputURL.value = selectedText; + } + + if (selectedText.length > 0 && inputURL.value.length < 1) { + inputURL.focus(); + } else { + inputText.focus(); + inputText.setSelectionRange(0, selectedText.length); + } }); this.on('hidden', function () { - self.resetInputs(); + _this.resetInputs(); }); }; PopupAddLink.prototype._linkWithEventManager = function (eventManager) { - var self = this; + var _this2 = this; eventManager.listen('focus', function () { - self.hide(); + _this2.hide(); }); eventManager.listen('openPopupAddLink', function () { eventManager.emit('closeAllPopup'); - self.show(); + _this2.show(); }); eventManager.listen('closeAllPopup', function () { - self.hide(); + _this2.hide(); }); this.on('okButtonClicked', function () { - eventManager.emit('command', 'AddLink', self.getValue()); + eventManager.emit('command', 'AddLink', _this2.getValue()); }); }; PopupAddLink.prototype.getValue = function () { + var linkText = _importManager2.default.decodeURIGraceful(this._inputText.value, decodeURIComponent); + var url = _importManager2.default.decodeURIGraceful(this._inputURL.value, decodeURI); + return { - linkText: this.$el.find('.te-link-text-input').val(), - url: this.$el.find('.te-url-input').val().replace(/\(/g, '%28').replace(/\)/g, '%29') + linkText: linkText, + url: url }; }; PopupAddLink.prototype.resetInputs = function () { - this.$el.find('input').val(''); + this._inputText.value = ''; + this._inputURL.value = ''; }; module.exports = PopupAddLink; diff --git a/dist/tui-editor.min.js b/dist/tui-editor.min.js index 07261e9d16..fe5a3e095c 100644 --- a/dist/tui-editor.min.js +++ b/dist/tui-editor.min.js @@ -1,16 +1,16 @@ !function e(t,o,n){function i(s,l){if(!o[s]){if(!t[s]){var a="function"==typeof require&&require;if(!l&&a)return a(s,!0);if(r)return r(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=o[s]={exports:{}};t[s][0].call(u.exports,function(e){var o=t[s][1][e];return i(o?o:e)},u,u.exports,e,t,o,n)}return o[s].exports}for(var r="function"==typeof require&&require,s=0;st)return e+"";for(;n1?void r(a.call(arguments),function(e){this.add(e)},this):(t=this.getItemID(e),o=this.items,o[t]||(this.length+=1),void(o[t]=e))},o.prototype.remove=function(e){var t,o,i=[];return this.length?arguments.length>1?i=n.map(a.call(arguments),function(e){return this.remove(e)},this):(t=this.items,l(e)&&(e=this.getItemID(e)),t[e]?(this.length-=1,o=t[e],delete t[e],o):i):i},o.prototype.clear=function(){this.items={},this.length=0},o.prototype.has=function(e){var t,o;return!!this.length&&(t=s(e),o=!1,t?this.each(function(t){if(e(t)===!0)return o=!0,!1}):(e=l(e)?this.getItemID(e):e,o=n.isExisty(this.items[e])),o)},o.prototype.doWhenHas=function(e,t,o){var i=this.items[e];n.isExisty(i)&&t.call(o||this,i)},o.prototype.find=function(e){var t=new o;return this.hasOwnProperty("getItemID")&&(t.getItemID=this.getItemID),this.each(function(o){e(o)===!0&&t.add(o)}),t},o.prototype.groupBy=function(e,t){var i,r,s={},l=n.isFunction,a=l(e),c=this.getItemID;if(n.isArray(e)){if(n.forEachArray(e,function(e){s[e+""]=new o(c)}),!t)return s;e=t,a=!0}return this.each(function(t){a?r=e(t):(r=t[e],l(r)&&(r=r.apply(t))),i=s[r],i||(i=s[r]=new o(c)),i.add(t)}),s},o.prototype.single=function(){var e;return this.each(function(t){return e=t,!1},this),e},o.prototype.sort=function(e){var t=[];return this.each(function(e){t.push(e)}),s(e)&&(t=t.sort(e)),t},o.prototype.each=function(e,t){i(this.items,e,t||this)},o.prototype.toArray=function(){return this.length?n.map(this.items,function(e){return e}):[]},t.exports=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,o){(function(e){"use strict";var o=e.tui.util,n=o.browser,i="_evt",r={START:["touchstart","mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"}},s={on:function(e,t,n,i){return o.isString(t)?void o.forEach(t.split(" "),function(t){s._on(e,t,n,i)}):void o.forEachOwnProperties(t,function(t,o){s._on(e,o,t,n)})},_on:function(e,t,n,r){var l,a,c;l=t+o.stamp(n)+(r?"_"+o.stamp(r):""),e[i]&&e[i][l]||(a=function(t){n.call(r||e,t||window.event)},c=a,"addEventListener"in e?"mouseenter"===t||"mouseleave"===t?(a=function(t){t=t||window.event,s._checkMouse(e,t)&&c(t)},e.addEventListener("mouseenter"===t?"mouseover":"mouseout",a,!1)):("mousewheel"===t&&e.addEventListener("DOMMouseScroll",a,!1),e.addEventListener(t,a,!1)):"attachEvent"in e&&e.attachEvent("on"+t,a),e[i]=e[i]||{},e[i][l]=a)},off:function(e,t,n,i){return o.isString(t)?void o.forEach(t.split(" "),function(t){s._off(e,t,n,i)}):void o.forEachOwnProperties(t,function(t,o){s._off(e,o,t,n)})},_off:function(e,t,n,r){var s=t+o.stamp(n)+(r?"_"+o.stamp(r):""),l=e[i]&&e[i][s];if(l){if("removeEventListener"in e)"mouseenter"===t||"mouseleave"===t?e.removeEventListener("mouseenter"===t?"mouseover":"mouseout",l,!1):("mousewheel"===t&&e.removeEventListener("DOMMouseScroll",l,!1),e.removeEventListener(t,l,!1));else if("detachEvent"in e)try{e.detachEvent("on"+t,l)}catch(a){}if(delete e[i][s],!o.keys(e[i]).length)return o.browser.msie&&o.browser.version<9?void(e[i]=null):void delete e[i]}},once:function(e,t,n,i){function r(){n.apply(i||e,arguments),l._off(e,t,r,i)}var l=this;return o.isObject(t)?void o.forEachOwnProperties(t,function(t,o){s.once(e,o,t,n)}):void s.on(e,t,r,i)},stopPropagation:function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},preventDefault:function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},stop:function(e){s.preventDefault(e),s.stopPropagation(e)},disableScrollPropagation:function(e){s.on(e,"mousewheel MozMousePixelScroll",s.stopPropagation)},disableClickPropagation:function(e){s.on(e,r.START.join(" ")+" click dblclick",s.stopPropagation)},getMousePosition:function(e,t){var o;return t?(o=t.getBoundingClientRect(),[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]):[e.clientX,e.clientY]},getWheelDelta:function(e){var t=0;return e.wheelDelta&&(t=e.wheelDelta/120),e.detail&&(t=-e.detail/3),t},_checkMouse:function(e,t){var o=t.relatedTarget;if(!o)return!0;try{for(;o&&o!==e;)o=o.parentNode}catch(n){return!1}return o!==e},trigger:function(e,t,n){var i=/(mouse|click)/;o.isUndefined(n)&&i.exec(t)&&(n=s.mouseEvent(t)),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent&&e.fireEvent("on"+t,n)},mouseEvent:function(e,t){var i,r;return r=o.extend({bubbles:!0,cancelable:"mousemove"!==e,view:window,wheelDelta:0,detail:0,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:void 0},t),n.msie&&n.version<9&&delete r.wheelDelta,"function"==typeof document.createEvent?(i=document.createEvent("MouseEvents"),i.initMouseEvent(e,r.bubbles,r.cancelable,r.view,r.detail,r.screenX,r.screenY,r.clientX,r.clientY,r.ctrlKey,r.altKey,r.shiftKey,r.metaKey,r.button,document.body.parentNode)):document.createEventObject&&(i=document.createEventObject(),o.forEach(r,function(e,t){i[t]=e},this),i.button={0:1,1:4,2:2}[i.button]||i.button),i},getMouseButton:function(e){var t,o="0,1,3,5,7",n="2,6",i="4";return document.implementation.hasFeature("MouseEvents","2.0")?e.button:(t=e.button+"",~o.indexOf(t)?0:~n.indexOf(t)?2:~i.indexOf(t)?1:void 0)}};t.exports=s}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,o){(function(o){"use strict";function n(e){return e.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}var i,r=e("./domevent"),s=e("./collection"),l=o.tui.util,a="_pos",c=/^auto$|^$|%/;i={appendHTMLElement:function(e,t,o){var n;return o=o||"",n=document.createElement(e),n.className=o,t?t.appendChild(n):document.body.appendChild(n),n},remove:function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},get:function(e){return document.getElementById(e)},_matcher:function(e,t){var o=/^\./,n=/^#/;return o.test(t)?i.hasClass(e,t.replace(".","")):n.test(t)?e.id===t.replace("#",""):e.nodeName.toLowerCase()===t.toLowerCase()},find:function(e,t,o){function n(e,t){for(var l,u=e.childNodes,d=0,f=u.length;d0&&(n(l,t),s))break}var r=[],s=!1,a=l.isUndefined(o)||o===!1,c=l.isFunction(o);return l.isString(t)&&(t=i.get(t)),t=t||window.document.body,n(t,e),a?r[0]||null:r},closest:function(e,t){var o=e.parentNode;if(i._matcher(e,t))return e;for(;o&&o!==window.document.body;){if(i._matcher(o,t))return o;o=o.parentNode}},text:function(e){var t="",o=0,n=e.nodeType;if(n){if(1===n||9===n||11===n){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)t+=i.text(e)}else if(3===n||4===n)return e.nodeValue}else for(;e[o];o+=1)t+=i.text(e[o]);return t},setData:function(e,t,o){return"dataset"in e?void(e.dataset[t]=o):void e.setAttribute("data-"+t,o)},getData:function(e,t){return"dataset"in e?e.dataset[t]:e.getAttribute("data-"+t)},hasClass:function(e,t){var o;return l.isUndefined(e.classList)?(o=i.getClass(e),o.length>0&&new RegExp("(^|\\s)"+t+"(\\s|$)").test(o)):e.classList.contains(t)},addClass:function(e,t){var o;l.isUndefined(e.classList)?i.hasClass(e,t)||(o=i.getClass(e),i.setClass(e,(o?o+" ":"")+t)):l.forEachArray(t.split(" "),function(t){e.classList.add(t)})},setClass:function(e,t){l.isUndefined(e.className.baseVal)?e.className=t:e.className.baseVal=t},removeClass:function(e,t){var o="";l.isUndefined(e.classList)?(o=(" "+i.getClass(e)+" ").replace(" "+t+" "," "),i.setClass(e,n(o))):e.classList.remove(t)},getClass:function(e){return e&&e.className?l.isUndefined(e.className.baseVal)?e.className:e.className.baseVal:""},getStyle:function(e,t){var o,n=e.style[t]||e.currentStyle&&e.currentStyle[t];return n&&"auto"!==n||!document.defaultView||(o=document.defaultView.getComputedStyle(e,null),n=o?o[t]:null),"auto"===n?null:n},getComputedStyle:function(e){var t=document.defaultView;return t&&t.getComputedStyle?document.defaultView.getComputedStyle(e):{getPropertyValue:function(t){var o=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),o.test(t)&&(t=t.replace(o,function(){return arguments[2].toUpperCase()})),e.currentStyle[t]?e.currentStyle[t]:null}}},setPosition:function(e,t,o){t=l.isUndefined(t)?0:t,o=l.isUndefined(o)?0:o,e[a]=[t,o],e.style.left=t+"px",e.style.top=o+"px"},getPosition:function(e,t){var o,n,i;return t&&(e[a]=null),e[a]?e[a]:(o=0,n=0,(c.test(e.style.left)||c.test(e.style.top))&&"getBoundingClientRect"in e?(i=e.getBoundingClientRect(),o=i.left,n=i.top):(o=parseFloat(e.style.left||0),n=parseFloat(e.style.top||0)),[o,n])},getSize:function(e){var t,o=i.getStyle(e,"width"),n=i.getStyle(e,"height");return(c.test(o)||c.test(n))&&"getBoundingClientRect"in e?(t=e.getBoundingClientRect(),o=t.width,n=t.height):(o=parseFloat(o||0),n=parseFloat(n||0)),[o,n]},testProp:function(e){for(var t=document.documentElement.style,o=0,n=e.length;o50?"white":"black",l.setStrokeColor(i,n),o||this.fire("_selectColor",{color:a.rgbToHEX.apply(null,this.getRGB())})},n.prototype.moveSaturationAndValue=function(e,t,o){var n,i,r,s;e=e||0,t=t||0,n=Math.abs(f[0]),i=f[1],r=e*i/100-n,s=i-t*i/100-n,this._moveColorSliderHandle(r,s,o)},n.prototype._moveColorSliderByPosition=function(e,t){var o=f[0];this._moveColorSliderHandle(e+o,t+o)},n.prototype.getSaturationAndValue=function(){var e,t,o=Math.abs(f[0]),n=o+f[1],i=l.getTranslateXY(this.sliderHandleElement);return e=(i[1]+o)/n*100,t=100-(i[0]+o)/n*100,[e,t]},n.prototype._moveHueHandle=function(e,t){var o,n,i=this.huebarHandleElement,r=this.baseColorElement;e=Math.max(p[0],e),e=Math.min(p[1],e),l.setTranslateY(i,e),o=a.hsvToRGB(this.getHue(),100,100),n=a.rgbToHEX.apply(null,o),l.setGradientColorStop(r,n),t||this.fire("_selectColor",{color:a.rgbToHEX.apply(null,this.getRGB())})},n.prototype.moveHue=function(e,t){var o,n,i=0;o=Math.abs(p[0]),n=o+p[1],e=e||0,i=n*e/h-o,this._moveHueHandle(i,t)},n.prototype._moveHueByPosition=function(e){var t=p[0];this._moveHueHandle(e+t)},n.prototype.getHue=function(){var e,t,o=this.huebarHandleElement,n=l.getTranslateXY(o);return e=Math.abs(p[0]),t=e+p[1],(n[0]+e)*h/t},n.prototype.getHSV=function(){var e=this.getSaturationAndValue(),t=this.getHue();return[t].concat(e)},n.prototype.getRGB=function(){return a.hsvToRGB.apply(null,this.getHSV())},n.prototype._prepareColorSliderForMouseEvent=function(e){var t,o=this.options,n=r.closest(e.target,"."+o.cssPrefix+"slider-part");return t=this._dragDataCache={isColorSlider:r.hasClass(n,o.cssPrefix+"slider-left"),parentElement:n}},n.prototype._onClick=function(e){var t=this._prepareColorSliderForMouseEvent(e),o=s.getMousePosition(e.originEvent,t.parentElement);t.isColorSlider?this._moveColorSliderByPosition(o[0],o[1]):this._moveHueByPosition(o[1]),this._dragDataCache=null},n.prototype._onDragStart=function(e){this._prepareColorSliderForMouseEvent(e)},n.prototype._onDrag=function(e){var t=this._dragDataCache,o=s.getMousePosition(e.originEvent,t.parentElement);t.isColorSlider?this._moveColorSliderByPosition(o[0],o[1]):this._moveHueByPosition(o[1])},n.prototype._onDragEnd=function(){this._dragDataCache=null},i.CustomEvents.mixin(n),t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../template/slider":14,"./colorutil":2,"./core/domevent":4,"./core/domutil":5,"./core/drag":6,"./core/view":7,"./svgvml":12}],12:[function(e,t,o){(function(e){"use strict";var o=e.tui.util,n=/[\.\-0-9]+/g,i=-6,r={isOldBrowser:function(){var e=r._isOldBrowser;return o.isExisty(e)||(r._isOldBrowser=e=o.browser.msie&&o.browser.version<9),e},getTranslateXY:function(e){var t;return r.isOldBrowser()?(t=e.style,[parseFloat(t.top),parseFloat(t.left)]):(t=e.getAttribute("transform"))?(t=t.match(n),[parseFloat(t[1]),parseFloat(t[0])]):[0,0]},setTranslateXY:function(e,t,o){r.isOldBrowser()?(e.style.left=t+"px",e.style.top=o+"px"):e.setAttribute("transform","translate("+t+","+o+")")},setTranslateY:function(e,t){r.isOldBrowser()?e.style.top=t+"px":e.setAttribute("transform","translate("+i+","+t+")")},setStrokeColor:function(e,t){r.isOldBrowser()?e.strokecolor=t:e.setAttribute("stroke",t)},setGradientColorStop:function(e,t){r.isOldBrowser()?e.color=t:e.setAttribute("stop-color",t)}};t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],13:[function(e,t,o){"use strict";var n=['
    {{colorList}}
','
','','','{{color}}',"
"].join("\n"),i='
  • ';t.exports={layout:n,item:i}},{}],14:[function(e,t,o){(function(e){"use strict";var o=e.tui.util,n=['
    {{slider}}
    ','
    {{huebar}}
    '].join("\n"),i=['',"",'','','',"",'','','',"","",'','','',""].join("\n"),r=['
    ','','',"",'','',"",'',"
    "].join("\n"),s=['',"",'','','','','','','','',"","",'','',""].join("\n"),l=['
    ','','',"",'',"
    "].join("\n"),a=o.browser.msie&&o.browser.version<9;a&&e.document.namespaces.add("v","urn:schemas-microsoft-com:vml"),t.exports={layout:n,slider:a?r:i,huebar:a?l:s}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1]);(function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p="";return __webpack_require__(0)})([function(module,exports,__webpack_require__){"use strict";var _editor=__webpack_require__(1);var _editor2=_interopRequireDefault(_editor);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i=0;i-=1){if(__nedInstance[i]===this){__nedInstance.splice(i,1)}}}},{key:"hide",value:function hide(){this.eventManager.emit("hide",this)}},{key:"show",value:function show(){this.eventManager.emit("show",this);this.getCodeMirror().refresh()}},{key:"scrollTop",value:function scrollTop(value){return this.getCurrentModeEditor().scrollTop(value)}},{key:"setUI",value:function setUI(UI){this._ui=UI}},{key:"getUI",value:function getUI(){return this._ui}},{key:"reset",value:function reset(){this.wwEditor.reset();this.mdEditor.reset()}},{key:"getRange",value:function getRange(){return this.getCurrentModeEditor().getRange()}},{key:"getTextObject",value:function getTextObject(range){return this.getCurrentModeEditor().getTextObject(range)}}],[{key:"getInstances",value:function getInstances(){return __nedInstance}},{key:"defineExtension",value:function defineExtension(name,ext){_extManager2.default.defineExtension(name,ext)}},{key:"factory",value:function factory(options){var tuiEditor=void 0;if(options.viewOnly){tuiEditor=new _viewOnly2.default(options)}else{tuiEditor=new ToastUIEditor(options);tuiEditor.addCommand(_bold2.default);tuiEditor.addCommand(_italic2.default);tuiEditor.addCommand(_blockquote2.default);tuiEditor.addCommand(_heading2.default);tuiEditor.addCommand(_paragraph2.default);tuiEditor.addCommand(_hr2.default);tuiEditor.addCommand(_addLink2.default);tuiEditor.addCommand(_addImage2.default);tuiEditor.addCommand(_ul2.default);tuiEditor.addCommand(_ol2.default);tuiEditor.addCommand(_table2.default);tuiEditor.addCommand(_task2.default);tuiEditor.addCommand(_code2.default);tuiEditor.addCommand(_codeBlock2.default);tuiEditor.addCommand(_strike2.default);tuiEditor.addCommand(_bold4.default);tuiEditor.addCommand(_italic4.default);tuiEditor.addCommand(_blockquote4.default);tuiEditor.addCommand(_ul4.default);tuiEditor.addCommand(_ol4.default);tuiEditor.addCommand(_addImage4.default);tuiEditor.addCommand(_addLink4.default);tuiEditor.addCommand(_hr4.default);tuiEditor.addCommand(_heading4.default);tuiEditor.addCommand(_paragraph4.default);tuiEditor.addCommand(_increaseDepth2.default);tuiEditor.addCommand(_decreaseDepth2.default);tuiEditor.addCommand(_task4.default);tuiEditor.addCommand(_table4.default);tuiEditor.addCommand(_tableAddRow2.default);tuiEditor.addCommand(_tableAddCol2.default);tuiEditor.addCommand(_tableRemoveRow2.default);tuiEditor.addCommand(_tableRemoveCol2.default);tuiEditor.addCommand(_tableAlignCol2.default);tuiEditor.addCommand(_tableRemove2.default);tuiEditor.addCommand(_code4.default);tuiEditor.addCommand(_codeBlock4.default);tuiEditor.addCommand(_strike4.default)}return tuiEditor}}]);return ToastUIEditor}();ToastUIEditor.i18n=_i18n2.default;ToastUIEditor.markdownItRenderer=_convertor2.default.getMarkdownHighlightRenderer();module.exports=ToastUIEditor},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");if(initialValue){cmTextarea.text(initialValue);this._emitMarkdownEditorContentChangedEvent(initialValue)}this.$editorContainerEl.append(cmTextarea);this.cm=CodeMirror.fromTextArea(cmTextarea[0],{lineWrapping:true,mode:"gfm",theme:"default",dragDrop:true,allowDropFileTypes:["image"],extraKeys:{Enter:"newlineAndIndentContinue",Tab:"subListIndentTab","Shift-Tab":"indentLess","Alt-Up":"replaceLineTextToUpper","Alt-Down":"replaceLineTextToLower"},indentUnit:4});this._initEvent()}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.cm.getWrapperElement().addEventListener("click",function(){_this.eventManager.emit("click",{source:"markdown"})});this.cm.on("beforeChange",function(cm,ev){if(ev.origin==="paste"){_this.eventManager.emit("pasteBefore",{source:"markdown",data:ev})}});this.cm.on("change",function(cm,cmEvent){_this._emitMarkdownEditorContentChangedEvent();_this._emitMarkdownEditorChangeEvent(cmEvent)});this.cm.on("focus",function(){_this.eventManager.emit("focus",{source:"markdown"});_this.getEditor().refresh()});this.cm.on("blur",function(){_this.eventManager.emit("blur",{source:"markdown"})});this.cm.on("scroll",function(cm,eventData){_this.eventManager.emit("scroll",{source:"markdown",data:eventData})});this.cm.on("keydown",function(cm,keyboardEvent){_this.eventManager.emit("keydown",{source:"markdown",data:keyboardEvent});_this.eventManager.emit("keyMap",{source:"markdown",keyMap:keyMapper.convert(keyboardEvent),data:keyboardEvent})});this.cm.on("keyup",function(cm,keyboardEvent){_this.eventManager.emit("keyup",{source:"markdown",data:keyboardEvent})});this.cm.on("copy",function(cm,ev){_this.eventManager.emit("copy",{source:"markdown",data:ev})});this.cm.on("cut",function(cm,ev){_this.eventManager.emit("cut",{source:"markdown",data:ev})});this.cm.on("paste",function(cm,clipboardEvent){_this.eventManager.emit("paste",{source:"markdown",data:clipboardEvent})});this.cm.on("drop",function(cm,eventData){eventData.preventDefault();_this.eventManager.emit("drop",{source:"markdown",data:eventData})});this.cm.on("cursorActivity",function(){var token=_this.cm.getTokenAt(_this.cm.getCursor());var base=token.state.base;var overlay=token.state.overlay;var state={bold:!!base.strong,italic:!!base.em,strike:!!base.strikethrough,code:!!overlay.code,codeBlock:!!overlay.codeBlock,quote:!!base.quote,list:!!base.list,task:!!base.task,source:"markdown"};if(!_this._latestState||_this._isStateChanged(_this._latestState,state)){_this.eventManager.emit("stateChange",state);_this._latestState=state}})}},{key:"getCurrentRange",value:function getCurrentRange(){var from=this.cm.getCursor("from"),to=this.cm.getCursor("to");return{from:from,to:to,collapsed:from===to}}},{key:"focus",value:function focus(){this.cm.focus()}},{key:"blur",value:function blur(){this.cm.getInputField().blur()}},{key:"remove",value:function remove(){this.cm.toTextArea()}},{key:"setValue",value:function setValue(markdown){this.getEditor().setValue(markdown);this._emitMarkdownEditorContentChangedEvent();this.moveCursorToEnd();this.getEditor().refresh()}},{key:"getValue",value:function getValue(){return this.cm.getValue("\n")}},{key:"getEditor",value:function getEditor(){return this.cm}},{key:"reset",value:function reset(){this.setValue("")}},{key:"_emitMarkdownEditorContentChangedEvent",value:function _emitMarkdownEditorContentChangedEvent(){this.eventManager.emit("contentChangedFromMarkdown",this)}},{key:"_cloneCMEventObject",value:function _cloneCMEventObject(e){return{from:{line:e.from.line,ch:e.from.ch},to:{line:e.to.line,ch:e.to.ch}}}},{key:"_emitMarkdownEditorChangeEvent",value:function _emitMarkdownEditorChangeEvent(e){if(e.origin!=="setValue"){var eventObj={source:"markdown"};this.eventManager.emit("changeFromMarkdown",eventObj);this.eventManager.emit("change",eventObj)}}},{key:"getCaretPosition",value:function getCaretPosition(){return this.cm.cursorCoords()}},{key:"addWidget",value:function addWidget(selection,node,style,offset){if(offset){selection.ch+=offset}this.cm.addWidget(selection.end,node,true,style)}},{key:"replaceSelection",value:function replaceSelection(content,selection){if(selection){this.cm.setSelection(selection.from,selection.to)}this.cm.replaceSelection(content);this.focus()}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){var cursor=this.cm.getCursor(),selection={from:{line:cursor.line,ch:cursor.ch+offset},to:{line:cursor.line,ch:cursor.ch+offset+overwriteLength}};this.replaceSelection(content,selection)}},{key:"setHeight",value:function setHeight(height){this.$editorContainerEl.height(height);if(height==="auto"){this.$editorContainerEl.find(".CodeMirror").height("auto")}}},{key:"moveCursorToEnd",value:function moveCursorToEnd(){var doc=this.getEditor().getDoc(),lastLine=doc.lastLine();doc.setCursor(lastLine,doc.getLine(lastLine).length)}},{key:"moveCursorToStart",value:function moveCursorToStart(){var doc=this.getEditor().getDoc(),firstLine=doc.firstLine();doc.setCursor(firstLine,0)}},{key:"scrollTop",value:function scrollTop(value){if(value){this.cm.scrollTo(0,value)}return this.cm.getScrollInfo().top}},{key:"getRange",value:function getRange(){var start=this.getEditor().getCursor("from");var end=this.getEditor().getCursor("to");return{start:{line:start.line,ch:start.ch},end:{line:end.line,ch:end.ch}}}},{key:"getTextObject",value:function getTextObject(range){return new _mdTextObject2.default(this,range)}},{key:"_isStateChanged",value:function _isStateChanged(previousState,currentState){var result=false;tui.util.forEach(currentState,function(currentStateTypeValue,stateType){result=previousState[stateType]!==currentStateTypeValue;return!result});return result}}],[{key:"factory",value:function factory($el,eventManager){var mde=new MarkdownEditor($el,eventManager);mde.init();mde.componentManager.addManager(_mdListManager2.default);return mde}}]);return MarkdownEditor}();module.exports=MarkdownEditor},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i","?","AT","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","","","CONTEXT_MENU","","SLEEP","NUMPAD0","NUMPAD1","NUMPAD2","NUMPAD3","NUMPAD4","NUMPAD5","NUMPAD6","NUMPAD7","NUMPAD8","NUMPAD9","MULTIPLY","ADD","SEPARATOR","SUBTRACT","DECIMAL","DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","","","","","","","","","NUM_LOCK","SCROLL_LOCK","WIN_OEM_FJ_JISHO","WIN_OEM_FJ_MASSHOU","WIN_OEM_FJ_TOUROKU","WIN_OEM_FJ_LOYA","WIN_OEM_FJ_ROYA","","","","","","","","","","@","!",'"',"#","$","%","&","_","(",")","*","+","|","-","{","}","~","","","","","VOLUME_MUTE","VOLUME_DOWN","VOLUME_UP","","",";","=",",","-",".","/","`","","","","","","","","","","","","","","","","","","","","","","","","","","","[","\\","]","'","","META","ALTGR","","WIN_ICO_HELP","WIN_ICO_00","","WIN_ICO_CLEAR","","","WIN_OEM_RESET","WIN_OEM_JUMP","WIN_OEM_PA1","WIN_OEM_PA2","WIN_OEM_PA3","WIN_OEM_WSCTRL","WIN_OEM_CUSEL","WIN_OEM_ATTN","WIN_OEM_FINISH","WIN_OEM_COPY","WIN_OEM_AUTO","WIN_OEM_ENLW","WIN_OEM_BACKTAB","ATTN","CRSEL","EXSEL","EREOF","PLAY","ZOOM","","PA1","WIN_OEM_CLEAR",""];var sharedInstance=void 0;var KeyMapper=function(){function KeyMapper(options){_classCallCheck(this,KeyMapper);this._setSplitter(options)}_createClass(KeyMapper,[{key:"_setSplitter",value:function _setSplitter(options){var splitter=options?options.splitter:"+";this._splitter=splitter}},{key:"convert",value:function convert(event){var keyMap=[];if(event.shiftKey){keyMap.push("SHIFT")}if(event.ctrlKey){keyMap.push("CTRL")}if(event.metaKey){keyMap.push("META")}if(event.altKey){keyMap.push("ALT")}var keyChar=this._getKeyCodeChar(event.keyCode);if(keyChar){keyMap.push(keyChar)}return keyMap.join(this._splitter)}},{key:"_getKeyCodeChar",value:function _getKeyCodeChar(keyCode){var keyCodeCharacter=KEYBOARD_MAP[keyCode];return keyCodeCharacter}}],[{key:"getSharedInstance",value:function getSharedInstance(){if(!sharedInstance){sharedInstance=new KeyMapper}return sharedInstance}}]);return KeyMapper}();module.exports=KeyMapper},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i?!@#$%^&*()_=+\\\/'";: \r\[\]]*\|+)+/i;var FIND_HEADING_RX=/^#+\s/;var FIND_BLOCK_RX=/^ {0,3}(```|\||>)/;var MdListManager=function(){function MdListManager(mde){_classCallCheck(this,MdListManager);this.mde=mde;this.eventManager=mde.eventManager;this.name="list"}_createClass(MdListManager,[{key:"isListOrParagraph",value:function isListOrParagraph(line){return!FIND_BLOCK_RX.test(line)&&!FIND_TABLE_RX.test(line)&&!FIND_HEADING_RX.test(line)}},{key:"appendBlankLineIfNeed",value:function appendBlankLineIfNeed(cm,index,endLineNumber,startLineNumber){var doc=cm.getDoc();var cursorPositionFactor=0;var isMultiLineSelection=startLineNumber!==endLineNumber;var nextLineOfLastIndex=doc.getLine(this._getEndLineNumberOfList(doc,endLineNumber)+1);var previousLineOfFirstIndex=doc.getLine(this._getStartLineNumberOfList(doc,startLineNumber)-1);var nextLine=doc.getLine(index+1);if(isMultiLineSelection&&this._isNeedAppendBlankLine(nextLineOfLastIndex)||!isMultiLineSelection&&this._isNeedAppendBlankLine(nextLine)){doc.replaceRange("\n",{line:index,ch:doc.getLine(index).length})}var previousLine=doc.getLine(index-1);if(isMultiLineSelection&&this._isNeedAppendBlankLine(previousLineOfFirstIndex)||!isMultiLineSelection&&this._isNeedAppendBlankLine(previousLine)){doc.replaceRange("\n",{line:startLineNumber,ch:0});cursorPositionFactor+=1}if(!isMultiLineSelection){var currentLineNumber=index+cursorPositionFactor;cm.setCursor(currentLineNumber,doc.getLine(currentLineNumber).length)}}},{key:"_isNeedAppendBlankLine",value:function _isNeedAppendBlankLine(line){return line&&line.length!==0&&!this._isAList(line)}},{key:"createSortedLineRange",value:function createSortedLineRange(range){var isReversed=range.from.line>range.to.line;var rangeStart={line:isReversed?range.to.line:range.from.line,ch:0};var rangeEnd={line:isReversed?range.from.line:range.to.line,ch:0};return{start:rangeStart.line,end:rangeEnd.line}}},{key:"expandLineRangeIfNeed",value:function expandLineRangeIfNeed(doc,range,comparator){var lineRange=this.createSortedLineRange(range);var start=lineRange.start;var end=lineRange.end;var isRangeStartInUlOrTask=this._isDifferentListType(comparator,doc.getLine(start));var isRangeEndInUlOrTask=this._isDifferentListType(comparator,doc.getLine(end));if(isRangeStartInUlOrTask){start=this._getStartLineNumberOfList(doc,start)}if(isRangeEndInUlOrTask){end=this._getEndLineNumberOfList(doc,end)}return{start:start,end:end}}},{key:"replaceLineText",value:function replaceLineText(doc,lineNumber,regexp,replacePattern){var line=doc.getLine(lineNumber);var currentLineStart={line:lineNumber,ch:0};var currentLineEnd={line:lineNumber,ch:line.length};line=line.replace(regexp,replacePattern);doc.replaceRange(line,currentLineStart,currentLineEnd)}},{key:"_isDifferentListType",value:function _isDifferentListType(comparator,line){return line&&line.length!==0&&comparator.call(this,line)}},{key:"_isAList",value:function _isAList(line){return line&&line.length!==0&&this._isListLine(line)}},{key:"_isListLine",value:function _isListLine(line){ -return!!(line.match(FIND_MD_TASK_RX)||line.match(FIND_MD_UL_RX)||line.match(FIND_MD_OL_RX))}},{key:"_getStartLineNumberOfList",value:function _getStartLineNumberOfList(doc,startLineNumber){var lineNumber=void 0;for(lineNumber=startLineNumber;lineNumber>0;lineNumber-=1){var previousLine=doc.getLine(lineNumber-1);if(!previousLine||!this._isListLine(previousLine)){break}}return lineNumber}},{key:"_getEndLineNumberOfList",value:function _getEndLineNumberOfList(doc,endLineNumber){var lineCount=doc.lineCount();var lineNumber=void 0;for(lineNumber=endLineNumber;lineNumber\n/g,"
    "))}});this.eventManager.listen("previewNeedsRefresh",function(value){_this.refresh(value||latestMarkdownValue)});this.$el.on("scroll",function(event){_this.eventManager.emit("scroll",{source:"preview",data:event})})}},{key:"_initContentSection",value:function _initContentSection(){this.$previewContent=$('
    ');this.$el.append(this.$previewContent)}},{key:"refresh",value:function refresh(markdown){this.render(this.convertor.toHTMLWithCodeHightlight(markdown))}},{key:"render",value:function render(html){var finalHtml=html;var processedDataByHook=this.eventManager.emit("previewBeforeHook",html);if(processedDataByHook){finalHtml=processedDataByHook[0]}this.$previewContent.empty();this.$previewContent.html(finalHtml);this.eventManager.emit("replaceCodeBlockElementsBefore");_codeBlockManager2.default.replaceElements(this.$previewContent,this.isViewOnly);this.eventManager.emit("previewRenderAfter",this)}},{key:"setHeight",value:function setHeight(height){this.$el.height(height)}},{key:"isVisible",value:function isVisible(){return this.$el.css("display")!=="none"}}]);return Preview}();module.exports=Preview},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i'+type+""}else{html=hljs.getLanguage(type)?hljs.highlight(type,codeText).value:escape(codeText,false)}return html}},{key:"_getViewMode",value:function _getViewMode(isViewOnly,isWysiwygMode){var replaceMode=void 0;if(isViewOnly){replaceMode="viewOnly"}else if(isWysiwygMode){replaceMode="wysiwyg"}else{replaceMode="preview"}return replaceMode}},{key:"_replaceElement",value:function _replaceElement(containerElement,codeBlockElement,replace,id){var $codeBlock=$(codeBlockElement);var type=$codeBlock.data("language");var beforeParentNode=codeBlockElement.parentNode;var codeText=$codeBlock.data("code-text");var $newCodeBlock=$(replace({id:id,containerElement:containerElement,codeBlockElement:codeBlockElement,type:type,codeText:decodeURIComponent(codeText)}));if($newCodeBlock.length){if(codeBlockElement!==$newCodeBlock[0]&&beforeParentNode===codeBlockElement.parentNode){$codeBlock.replaceWith($newCodeBlock)}$newCodeBlock[0].id=id;$newCodeBlock.data("language",type);$newCodeBlock.addClass(CUSTOM_CODE_BLOCK_CLASS_NAME);if(tui.util.isEmpty($newCodeBlock.data("code-text"))){$newCodeBlock.data("code-text",codeText)}}else{codeBlockElement.id=id}}},{key:"replaceElements",value:function replaceElements($container,isViewOnly,isWysiwygMode){var _this=this;var $codeBlocks=$container.find("."+CUSTOM_CODE_BLOCK_CLASS_NAME);var containerElement=$container[0];var viewMode=this._getViewMode(isViewOnly,isWysiwygMode);var replaceElement=$.proxy(this._replaceElement,this);var timestamp=(new Date).getTime();$codeBlocks.each(function(index,codeBlockElement){var id=CUSTOM_CODE_BLOCK_CLASS_NAME+"-"+timestamp+"-"+index;var replacer=_this._elementReplacer.get($(codeBlockElement).data("language"));var replace=replacer?replacer[viewMode]:null;if(replace){replaceElement(containerElement,codeBlockElement,replace,id)}else{codeBlockElement.id=id}})}},{key:"_restoreElement",value:function _restoreElement(codeBlockElement){var $codeBlock=$(codeBlockElement);var type=$codeBlock.data("language");var codeText=decodeURIComponent($codeBlock.data("code-text"));var $pre=$('
    ');if(codeText){$pre.html("
    "+escape(codeText,false).replace(/\n/g,"
    ")+"
    ")}$codeBlock.replaceWith($pre)}},{key:"restoreElements",value:function restoreElements($wweContainer){var $codeBlocks=$wweContainer.find("."+CUSTOM_CODE_BLOCK_CLASS_NAME);var restoreElement=$.proxy(this._restoreElement,this);$codeBlocks.each(function(index,codeBlockElement){restoreElement(codeBlockElement)})}},{key:"updateCodeTextById",value:function updateCodeTextById(containerElement,id,codeText){var $codeBlock=$(containerElement).find("#"+id);$codeBlock.data("code-text",encodeURIComponent(codeText))}}],[{key:"getSharedInstance",value:function getSharedInstance(){if(!sharedInstance){sharedInstance=new CodeBlockManager}return sharedInstance}}]);return CodeBlockManager}();function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}exports.CodeBlockManager=CodeBlockManager;exports.default=CodeBlockManager.getSharedInstance()},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i(
    |
    |
    |
    )<\/\1>/g,FIND_UNNECESSARY_BR=/(?:
    |
    |
    |
    )<\/(.+?)>/g,FIND_BLOCK_TAGNAME_RX=/\b(H[\d]|LI|P|BLOCKQUOTE|TD|PRE)\b/;var EDITOR_CONTENT_CSS_CLASSNAME="tui-editor-contents";var canObserveMutations=typeof MutationObserver!=="undefined";var WysiwygEditor=function(){function WysiwygEditor($el,eventManager){var _this=this;var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};_classCallCheck(this,WysiwygEditor);this.componentManager=new _componentManager2.default(this);this.eventManager=eventManager;this.$editorContainerEl=$el;this._height=0;this._silentChange=false;this._keyEventHandlers={};this._managers={};this._options=$.extend({useCommandShortcut:true},options);this._initEvent();this._initDefaultKeyEventHandler();this.debouncedPostProcessForChange=util.debounce(function(){return _this.postProcessForChange()},0)}_createClass(WysiwygEditor,[{key:"init",value:function init(){var $editorBody=$("
    ");this.$editorContainerEl.append($editorBody);this.editor=new _squireExt2.default($editorBody[0],{blockTag:"DIV",leafNodeNames:{HR:false}});if(!this._options.useCommandShortcut){this.editor.blockCommandShortcuts()}this._clipboardManager=new _wwClipboardManager2.default(this);this._initSquireEvent();this._clipboardManager.init();this.get$Body().addClass(EDITOR_CONTENT_CSS_CLASSNAME);this.$editorContainerEl.css("position","relative")}},{key:"_preprocessForInlineElement",value:function _preprocessForInlineElement(html){return html.replace(/
    ( *)
    $1B|>STRONG|^B$|^STRONG$)/.test(data.path),italic:/(>I|>EM|^I$|^EM$)/.test(data.path),strike:/(^S>|>S$|>S>|^S$)/.test(data.path),code:/CODE/.test(data.path),codeBlock:/PRE/.test(data.path),quote:/BLOCKQUOTE/.test(data.path),list:/LI(?!.task-list-item)/.test(self._getLastLiString(data.path)),task:/LI.task-list-item/.test(self._getLastLiString(data.path)),source:"wysiwyg"};self.eventManager.emit("stateChange",state)})}},{key:"_getLastLiString",value:function _getLastLiString(path){var foundedListItem=/LI[^UO]*$/.exec(path);var result=void 0;if(foundedListItem){result=foundedListItem[0]}else{result=""}return result}},{key:"_onKeyDown",value:function _onKeyDown(keyboardEvent){var keyMap=keyMapper.convert(keyboardEvent);if(keyboardEvent.keyCode){this.eventManager.emit("keyMap",{source:"wysiwyg",keyMap:keyMap,data:keyboardEvent});if(!keyboardEvent.defaultPrevented){this.eventManager.emit("wysiwygKeyEvent",{keyMap:keyMap,data:keyboardEvent})}}}},{key:"_initDefaultKeyEventHandler",value:function _initDefaultKeyEventHandler(){var self=this;this.addKeyEventHandler("ENTER",function(ev,range){if(self._isInOrphanText(range)){self.defer(function(){self._wrapDefaultBlockToOrphanTexts();self.breakToNewDefaultBlock(range,"before")})}self.defer(function(){self._scrollToRangeIfNeed()})});this.addKeyEventHandler("TAB",function(ev){var sq=self.getEditor();var range=sq.getSelection();var isAbleToInput4Spaces=range.collapsed&&self._isCursorNotInRestrictedAreaOfTabAction(sq);var isTextSelection=!range.collapsed&&_domUtils2.default.isTextNode(range.commonAncestorContainer);ev.preventDefault();if(isAbleToInput4Spaces||isTextSelection){sq.insertPlainText("    ");return false}return true})}},{key:"_wrapDefaultBlockToOrphanTexts",value:function _wrapDefaultBlockToOrphanTexts(){var textNodes=this.get$Body().contents().filter(this.findTextNodeFilter);textNodes.each(function(i,node){if(node.nextSibling&&node.nextSibling.tagName==="BR"){$(node.nextSibling).remove()}$(node).wrap("
    ")})}},{key:"_scrollToRangeIfNeed",value:function _scrollToRangeIfNeed(){var range=this.getEditor().getSelection().cloneRange();var cursorTop=this.getEditor().getCursorPosition(range).top-this.$editorContainerEl.offset().top;if(cursorTop>=this.get$Body().height()){range.endContainer.scrollIntoView()}}},{key:"_isInOrphanText",value:function _isInOrphanText(range){return range.startContainer.nodeType===Node.TEXT_NODE&&range.startContainer.parentNode===this.get$Body()[0]}},{key:"_wrapDefaultBlockTo",value:function _wrapDefaultBlockTo(range){this.saveSelection(range);this._joinSplitedTextNodes();this.restoreSavedSelection();range=this.getEditor().getSelection().cloneRange();var textElem=range.startContainer;var cursorOffset=range.startOffset;var block=this.getEditor().createDefaultBlock([range.startContainer]);var insertTargetNode=_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset);if(insertTargetNode){range.setStartBefore(insertTargetNode)}else{range.selectNodeContents(range.startContainer)}range.collapse(true);range.insertNode(block);range.setStart(textElem,cursorOffset);range.collapse(true);this.getEditor().setSelection(range)}},{key:"findTextNodeFilter",value:function findTextNodeFilter(){return this.nodeType===Node.TEXT_NODE}},{key:"_joinSplitedTextNodes",value:function _joinSplitedTextNodes(){var prevNode=void 0,lastGroup=void 0;var nodesToRemove=[];var textNodes=this.get$Body().contents().filter(this.findTextNodeFilter);textNodes.each(function(i,node){if(prevNode===node.previousSibling){lastGroup.nodeValue+=node.nodeValue;nodesToRemove.push(node)}else{lastGroup=node}prevNode=node});$(nodesToRemove).remove()}},{key:"saveSelection",value:function saveSelection(range){var sq=this.getEditor();if(!range){range=sq.getSelection().cloneRange()}this.getEditor()._saveRangeToBookmark(range)}},{key:"restoreSavedSelection",value:function restoreSavedSelection(){var sq=this.getEditor();sq.setSelection(sq._getRangeAndRemoveBookmark())}},{key:"reset",value:function reset(){this.setValue("")}},{key:"changeBlockFormatTo",value:function changeBlockFormatTo(targetTagName){this.getEditor().changeBlockFormatTo(targetTagName);this.eventManager.emit("wysiwygRangeChangeAfter",this)}},{key:"makeEmptyBlockCurrentSelection",value:function makeEmptyBlockCurrentSelection(){var self=this;this.getEditor().modifyBlocks(function(frag){if(!frag.textContent){frag=self.getEditor().createDefaultBlock()}return frag})}},{key:"focus",value:function focus(){this.editor.focus()}},{key:"blur",value:function blur(){this.editor.blur()}},{key:"remove",value:function remove(){this.getEditor().destroy();this.editor=null;this.$body=null}},{key:"setHeight",value:function setHeight(height){this._height=height;if(height==="auto"){this.get$Body().css("overflow","visible");this.get$Body().css("height","auto")}else{this.get$Body().css("overflow","auto");this.get$Body().css("height","100%");this.$editorContainerEl.height(height)}}},{key:"setValue",value:function setValue(html){html=this.eventManager.emitReduce("wysiwygSetValueBefore",html);this.editor.setHTML(html);_codeBlockManager2.default.replaceElements(this.$editorContainerEl,false,true);this.eventManager.emit("wysiwygSetValueAfter",this);this.eventManager.emit("contentChangedFromWysiwyg",this);this.moveCursorToEnd();this.getEditor().preserveLastLine();this.getEditor().removeLastUndoStack();this.getEditor().saveUndoState()}},{key:"getValue",value:function getValue(){_codeBlockManager2.default.restoreElements(this.$editorContainerEl,false,true);this._prepareGetHTML();var html=this.editor.getHTML();html=html.replace(FIND_EMPTY_LINE,function(match,tag){var result=void 0;if(tag==="li"){result=match}else if(tag==="td"||tag==="th"){result="<"+tag+">"}else{result="
    "}return result});html=html.replace(FIND_UNNECESSARY_BR,"");html=html.replace(/
    /g,"");html=html.replace(/<\/div>/g,"
    ");html=this.eventManager.emitReduce("wysiwygProcessHTMLText",html);return html}},{key:"_prepareGetHTML",value:function _prepareGetHTML(){var self=this;self.get$Body().attr("lastGetValue",Date.now());self._joinSplitedTextNodes();self.getEditor().modifyDocument(function(){self.eventManager.emit("wysiwygGetValueBefore",self)})}},{key:"postProcessForChange",value:function postProcessForChange(){var self=this;self.getEditor().modifyDocument(function(){self.eventManager.emit("wysiwygRangeChangeAfter",self)})}},{key:"readySilentChange",value:function readySilentChange(){if(canObserveMutations&&!this.getEditor().isIgnoreChange()){this._silentChange=true}}},{key:"getEditor",value:function getEditor(){return this.editor}},{key:"replaceSelection",value:function replaceSelection(content,range){this.getEditor().replaceSelection(content,range)}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){this.getEditor().replaceRelativeOffset(content,offset,overwriteLength)}},{key:"addWidget",value:function addWidget(range,node,style,offset){var pos=this.getEditor().getSelectionPosition(range,style,offset);var editorContainerPos=this.$editorContainerEl.offset();this.$editorContainerEl.append(node);$(node).css({position:"absolute",top:pos.top-editorContainerPos.top,left:pos.left-editorContainerPos.left})}},{key:"get$Body",value:function get$Body(){return this.getEditor().get$Body()}},{key:"hasFormatWithRx",value:function hasFormatWithRx(rx){return this.getEditor().getPath().match(rx)}},{key:"breakToNewDefaultBlock",value:function breakToNewDefaultBlock(range,where){var div=this.editor.createDefaultBlock();var currentNode=_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset)||_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset-1);var appendBefore=_domUtils2.default.getParentUntil(currentNode,this.get$Body()[0]);if(where==="before"){$(appendBefore).before(div)}else{$(appendBefore).after(div)}range.setStart(div,0);range.collapse(true);this.editor.setSelection(range)}},{key:"replaceContentText",value:function replaceContentText(container,from,to){var before=$(container).html();$(container).html(before.replace(from,to))}},{key:"unwrapBlockTag",value:function unwrapBlockTag(condition){if(!condition){condition=function condition(tagName){return FIND_BLOCK_TAGNAME_RX.test(tagName)}}this.getEditor().changeBlockFormat(condition);this.eventManager.emit("wysiwygRangeChangeAfter",this)}},{key:"moveCursorToEnd",value:function moveCursorToEnd(){this.getEditor().moveCursorToEnd();this.getEditor().scrollTop(this.get$Body().height());this._correctRangeAfterMoveCursor("end")}},{key:"moveCursorToStart",value:function moveCursorToStart(){this.getEditor().moveCursorToStart();this.getEditor().scrollTop(0)}},{key:"scrollTop",value:function scrollTop(value){return this.getEditor().scrollTop(value)}},{key:"_correctRangeAfterMoveCursor",value:function _correctRangeAfterMoveCursor(direction){var range=this.getEditor().getSelection().cloneRange();var cursorContainer=this.get$Body()[0];if(direction==="start"){while(cursorContainer.firstChild){cursorContainer=cursorContainer.firstChild}}else{while(cursorContainer.lastChild){cursorContainer=cursorContainer.lastChild}}if(cursorContainer.tagName==="BR"){range.setStartBefore(cursorContainer)}else{range.setStartAfter(cursorContainer)}range.collapse(true);this.getEditor().setSelection(range)}},{key:"getRange",value:function getRange(){return this.getEditor().getSelection().cloneRange()}},{key:"getTextObject",value:function getTextObject(range){return new _wwTextObject2.default(this,range)}},{key:"defer",value:function defer(callback,delayOffset){var self=this;var delay=delayOffset?delayOffset:0;setTimeout(function(){if(self.isEditorValid()){callback(self)}},delay)}},{key:"isEditorValid",value:function isEditorValid(){return this.getEditor()&&$.contains(this.$editorContainerEl[0].ownerDocument,this.$editorContainerEl[0])}},{key:"_isCursorNotInRestrictedAreaOfTabAction",value:function _isCursorNotInRestrictedAreaOfTabAction(editor){return!editor.hasFormat("li")&&!editor.hasFormat("blockquote")&&!editor.hasFormat("table")}}],[{key:"factory",value:function factory($el,eventManager,options){var wwe=new WysiwygEditor($el,eventManager,options);wwe.init();wwe.componentManager.addManager(_wwListManager2.default);wwe.componentManager.addManager(_wwTaskManager2.default);wwe.componentManager.addManager(_wwTableSelectionManager2.default);wwe.componentManager.addManager(_wwTableManager2.default);wwe.componentManager.addManager(_wwHrManager2.default);wwe.componentManager.addManager(_wwPManager2.default);wwe.componentManager.addManager(_wwHeadingManager2.default);wwe.componentManager.addManager(_wwCodeBlockManager2.default);return wwe}}]);return WysiwygEditor}();module.exports=WysiwygEditor},function(module,exports){"use strict";var FIND_ZWB=/\u200B/g;var util=tui.util;var isTextNode=function isTextNode(node){return node&&node.nodeType===Node.TEXT_NODE};var isElemNode=function isElemNode(node){return node&&node.nodeType===Node.ELEMENT_NODE} -;var getNodeName=function getNodeName(node){if(isElemNode(node)){return node.tagName}return"TEXT"};var getTextLength=function getTextLength(node){var len=void 0;if(isElemNode(node)){len=node.textContent.replace(FIND_ZWB,"").length}else if(isTextNode(node)){len=node.nodeValue.replace(FIND_ZWB,"").length}return len};var getOffsetLength=function getOffsetLength(node){var len=void 0;if(isElemNode(node)){len=node.childNodes.length}else if(isTextNode(node)){len=node.nodeValue.replace(FIND_ZWB,"").length}return len};var getNodeOffsetOfParent=function getNodeOffsetOfParent(node){var childNodesOfParent=node.parentNode.childNodes;var i=void 0,t=void 0,found=void 0;for(i=0,t=childNodesOfParent.length;i=0){currentNode=node.childNodes[index]}return currentNode};var getNodeWithDirectionUntil=function getNodeWithDirectionUntil(direction,node,untilNodeName){var directionKey=direction+"Sibling";var nodeName=void 0,foundedNode=void 0;while(node&&!node[directionKey]){nodeName=getNodeName(node.parentNode);if(nodeName===untilNodeName||nodeName==="BODY"){break}node=node.parentNode}if(node[directionKey]){foundedNode=node[directionKey]}return foundedNode};var getPrevOffsetNodeUntil=function getPrevOffsetNodeUntil(node,index,untilNodeName){var prevNode=void 0;if(index>0){prevNode=getChildNodeByOffset(node,index-1)}else{prevNode=getNodeWithDirectionUntil("previous",node,untilNodeName)}return prevNode};var getParentUntilBy=function getParentUntilBy(node,condition){var foundedNode=void 0;while(node.parentNode&&!condition(node.parentNode)){node=node.parentNode}if(condition(node.parentNode)){foundedNode=node}return foundedNode};var getParentUntil=function getParentUntil(node,untilNode){var foundedNode=void 0;if(util.isString(untilNode)){foundedNode=getParentUntilBy(node,function(targetNode){return untilNode===getNodeName(targetNode)})}else{foundedNode=getParentUntilBy(node,function(targetNode){return untilNode===targetNode})}return foundedNode};var getNodeWithDirectionUnderParent=function getNodeWithDirectionUnderParent(direction,node,underNode){var directionKey=direction+"Sibling";var foundedNode=void 0;node=getParentUntil(node,underNode);if(node&&node[directionKey]){foundedNode=node[directionKey]}return foundedNode};var getTopPrevNodeUnder=function getTopPrevNodeUnder(node,underNode){return getNodeWithDirectionUnderParent("previous",node,underNode)};var getTopNextNodeUnder=function getTopNextNodeUnder(node,underNode){return getNodeWithDirectionUnderParent("next",node,underNode)};var getTopBlockNode=function getTopBlockNode(node){return getParentUntil(node,"BODY")};var getPrevTextNode=function getPrevTextNode(node){node=node.previousSibling||node.parentNode;while(!isTextNode(node)&&getNodeName(node)!=="BODY"){if(node.previousSibling){node=node.previousSibling;while(node.lastChild){node=node.lastChild}}else{node=node.parentNode}}if(getNodeName(node)==="BODY"){node=null}return node};var findOffsetNode=function findOffsetNode(root,offsetList,textNodeFilter){var result=[];var text="";var walkerOffset=0;var newWalkerOffset=void 0;if(!offsetList.length){return result}var offset=offsetList.shift();var walker=document.createTreeWalker(root,4,null,false);while(walker.nextNode()){text=walker.currentNode.nodeValue||"";if(textNodeFilter){text=textNodeFilter(text)}newWalkerOffset=walkerOffset+text.length;while(newWalkerOffset>=offset){result.push({container:walker.currentNode,offsetInContainer:offset-walkerOffset,offset:offset});if(!offsetList.length){return result}offset=offsetList.shift()}walkerOffset=newWalkerOffset}do{result.push({container:walker.currentNode,offsetInContainer:text.length,offset:offset});offset=offsetList.shift()}while(!util.isUndefined(offset));return result};var getNodeInfo=function getNodeInfo(node){var path={};path.tagName=node.nodeName;if(node.id){path.id=node.id}var className=node.className.trim();if(className){path.className=className}return path};var getPath=function getPath(node,root){var paths=[];while(node&&node!==root){if(isElemNode(node)){paths.unshift(getNodeInfo(node))}node=node.parentNode}return paths};var getTableCellByDirection=function getTableCellByDirection(node,direction){var isForward=true;var targetElement=null;if(tui.util.isUndefined(direction)||direction!=="next"&&direction!=="previous"){return null}else if(direction==="previous"){isForward=false}if(isForward){targetElement=node.nextElementSibling}else{targetElement=node.previousElementSibling}return targetElement};var getSiblingRowCellByDirection=function getSiblingRowCellByDirection(node,direction,needEdgeCell){var isForward=true;var tableCellElement=null;var $node=void 0,index=void 0,$targetRowElement=void 0,$currentContainer=void 0,$siblingContainer=void 0,isSiblingContainerExists=void 0;if(tui.util.isUndefined(direction)||direction!=="next"&&direction!=="previous"){return null}else if(direction==="previous"){isForward=false}if(node){$node=$(node);if(isForward){$targetRowElement=$node.parent().next();$currentContainer=$node.parents("thead");$siblingContainer=$currentContainer[0]&&$currentContainer.next();isSiblingContainerExists=$siblingContainer&&getNodeName($siblingContainer[0])==="TBODY";index=0}else{$targetRowElement=$node.parent().prev();$currentContainer=$node.parents("tbody");$siblingContainer=$currentContainer[0]&&$currentContainer.prev();isSiblingContainerExists=$siblingContainer&&getNodeName($siblingContainer[0])==="THEAD";index=node.parentNode.childNodes.length-1}if(tui.util.isUndefined(needEdgeCell)||!needEdgeCell){index=getNodeOffsetOfParent(node)}if($targetRowElement[0]){tableCellElement=$targetRowElement.children("td,th")[index]}else if($currentContainer[0]&&isSiblingContainerExists){tableCellElement=$siblingContainer.find("td,th")[index]}return tableCellElement}return null};module.exports={getNodeName:getNodeName,isTextNode:isTextNode,isElemNode:isElemNode,getTextLength:getTextLength,getOffsetLength:getOffsetLength,getPrevOffsetNodeUntil:getPrevOffsetNodeUntil,getNodeOffsetOfParent:getNodeOffsetOfParent,getChildNodeByOffset:getChildNodeByOffset,getTopPrevNodeUnder:getTopPrevNodeUnder,getTopNextNodeUnder:getTopNextNodeUnder,getParentUntil:getParentUntil,getTopBlockNode:getTopBlockNode,getPrevTextNode:getPrevTextNode,findOffsetNode:findOffsetNode,getPath:getPath,getNodeInfo:getNodeInfo,getTableCellByDirection:getTableCellByDirection,getSiblingRowCellByDirection:getSiblingRowCellByDirection}},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");this._extendRange(range);$clipboardContainer.append(range.cloneContents());this._updateCopyDataForListTypeIfNeed(range,$clipboardContainer);this.wwe.eventManager.emit("copyBefore",{source:"wysiwyg",$clipboardContainer:$clipboardContainer});this._setClipboardData(clipboardEvent,$clipboardContainer.html(),$clipboardContainer.text())}},{key:"_clearClipboardArea",value:function _clearClipboardArea(){if(this._$clipboardArea){this._$clipboardArea.remove();this._$clipboardArea=null}}},{key:"_onCopyAfter",value:function _onCopyAfter(){this.wwe.getEditor().get$Body().focus();this._clearClipboardArea()}},{key:"_onCutAfter",value:function _onCutAfter(){var range=this.wwe.getEditor().getSelection();range.deleteContents();this.wwe.getEditor().focus();this._clearClipboardArea()}},{key:"_onWillPaste",value:function _onWillPaste(pasteData){var _this=this;var $clipboardContainer=$("
    ").append(pasteData.fragment.cloneNode(true));this._setTableBookmark($clipboardContainer);if(this._pasteToTable($clipboardContainer)){pasteData.preventDefault()}else{this._preparePaste($clipboardContainer);this._setTableBookmark($clipboardContainer);pasteData.fragment=document.createDocumentFragment();$($clipboardContainer[0].childNodes).each(function(index,element){pasteData.fragment.appendChild(element)})}var handler=function handler(){_this.wwe.getEditor().removeEventListener("input",handler);_this.wwe.eventManager.emit("wysiwygRangeChangeAfter",_this);_this._focusTableBookmark()};this.wwe.getEditor().addEventListener("input",handler)}},{key:"_setClipboardData",value:function _setClipboardData(clipboardEvent,htmlContent,textContent){if(tui.util.browser.msie){clipboardEvent.squirePrevented=true;this._$clipboardArea=this._createClipboardArea();this._$clipboardArea.html(htmlContent);this._$clipboardArea.focus();window.getSelection().selectAllChildren(this._$clipboardArea[0])}else{clipboardEvent.preventDefault();clipboardEvent.stopPropagation();clipboardEvent.clipboardData.setData("text/html",htmlContent);clipboardEvent.clipboardData.setData("text/plain",textContent)}}},{key:"_createClipboardArea",value:function _createClipboardArea(){return $("
    ").attr({contenteditable:"true",style:"position:fixed; overflow:hidden; top:0; right:100%; width:1px; height:1px;"}).appendTo(document.body)}},{key:"_updateCopyDataForListTypeIfNeed",value:function _updateCopyDataForListTypeIfNeed(range,$clipboardContainer){var commonAncestorNodeName=range.commonAncestorContainer.nodeName;if(commonAncestorNodeName!=="UL"&&commonAncestorNodeName!=="OL"){return}var $newParent=$("<"+commonAncestorNodeName+" />");$newParent.append($clipboardContainer.html());$clipboardContainer.html("");$clipboardContainer.append($newParent)}},{key:"_removeEmptyFontElement",value:function _removeEmptyFontElement($clipboardContainer){$clipboardContainer.children("font").each(function(index,element){var $element=$(element);if(!$element.text().trim()){$element.remove()}})}},{key:"_pasteToTable",value:function _pasteToTable($clipboardContainer){var tableManager=this.wwe.componentManager.getManager("table");var tableSelectionManager=this.wwe.componentManager.getManager("tableSelection");var range=this.wwe.getEditor().getSelection();var pastingToTable=tableManager.isInTable(range);var childNodes=$clipboardContainer[0].childNodes;var containsOneTableOnly=childNodes.length===1&&childNodes[0].nodeName==="TABLE";var processed=false;if(pastingToTable){if(containsOneTableOnly){tableManager.pasteClipboardData($clipboardContainer.first());$clipboardContainer.html("");processed=true}else if(tableSelectionManager.getSelectedCells().length){alert(_i18n2.default.get("Cannot paste values ​​other than a table in the cell selection state"));$clipboardContainer.html("");processed=true}}return processed}},{key:"_preparePaste",value:function _preparePaste($clipboardContainer){this._removeEmptyFontElement($clipboardContainer);this._pch.preparePaste($clipboardContainer);this.wwe.eventManager.emit("pasteBefore",{source:"wysiwyg",$clipboardContainer:$clipboardContainer})}},{key:"_setTableBookmark",value:function _setTableBookmark($clipboardContainer){var $lastNode=$($clipboardContainer[0].childNodes).last();var isLastNodeTable=$lastNode[0]&&$lastNode[0].nodeName==="TABLE";if(isLastNodeTable){$lastNode.addClass(PASTE_TABLE_BOOKMARK)}}},{key:"_focusTableBookmark",value:function _focusTableBookmark(){var sq=this.wwe.getEditor();var range=sq.getSelection().cloneRange();var $bookmarkedTable=sq.get$Body().find("."+PASTE_TABLE_BOOKMARK);var $bookmarkedCell=sq.get$Body().find("."+PASTE_TABLE_CELL_BOOKMARK);if($bookmarkedTable.length){$bookmarkedTable.removeClass(PASTE_TABLE_BOOKMARK);range.setEndAfter($bookmarkedTable[0]);range.collapse(false);sq.setSelection(range)}if($bookmarkedCell.length){$bookmarkedCell.removeClass(PASTE_TABLE_CELL_BOOKMARK);range.selectNodeContents($bookmarkedCell[0]);range.collapse(false);sq.setSelection(range)}}},{key:"_extendRange",value:function _extendRange(range){if(_domUtils2.default.isTextNode(range.commonAncestorContainer)&&(range.startOffset!==0||range.commonAncestorContainer.textContent.length!==range.endOffset)&&range.commonAncestorContainer.nodeName!=="TD"){return}if(range.startOffset===0){range=this._extendStartRange(range)}if(range.endOffset===_domUtils2.default.getOffsetLength(range.endContainer)){range=this._extendEndRange(range)}if(this._isWholeCommonAncestorContainerSelected(range)){range.selectNode(range.commonAncestorContainer)}this.wwe.getEditor().setSelection(range)}},{key:"_extendStartRange",value:function _extendStartRange(range){var newBound=range.startContainer;while(newBound.parentNode!==range.commonAncestorContainer&&newBound.parentNode!==this.wwe.get$Body()[0]&&!newBound.previousSibling){newBound=newBound.parentNode}range.setStart(newBound.parentNode,_domUtils2.default.getNodeOffsetOfParent(newBound));return range}},{key:"_extendEndRange",value:function _extendEndRange(range){var newBound=range.endContainer;var boundNext=newBound.nextSibling;while(newBound.parentNode!==range.commonAncestorContainer&&newBound.parentNode!==this.wwe.get$Body()[0]&&(!boundNext||_domUtils2.default.getNodeName(boundNext)==="BR"&&newBound.parentNode.lastChild===boundNext)){newBound=newBound.parentNode;boundNext=newBound.nextSibling}range.setEnd(newBound.parentNode,_domUtils2.default.getNodeOffsetOfParent(newBound)+1);return range}},{key:"_isWholeCommonAncestorContainerSelected",value:function _isWholeCommonAncestorContainerSelected(range){return range.commonAncestorContainer.nodeType===Node.ELEMENT_NODE&&range.commonAncestorContainer!==this.wwe.get$Body()[0]&&range.startOffset===0&&range.endOffset===range.commonAncestorContainer.childNodes.length&&range.commonAncestorContainer===range.startContainer&&range.commonAncestorContainer===range.endContainer}}]);return WwClipboardManager}();module.exports=WwClipboardManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");var nodeName=void 0,node=void 0,isPastingList=void 0;this._pasteFirstAid($container);var childNodes=util.toArray($container[0].childNodes);if(childNodes.length&&childNodes[0].tagName==="DIV"){$tempContainer.append(this._unwrapFragmentFirstChildForPasteAsInline(childNodes[0]));childNodes.shift()}while(childNodes.length){node=childNodes[0];nodeName=_domUtils2.default.getNodeName(node);isPastingList=nodeName==="LI"||nodeName==="UL"||nodeName==="OL";if(codeblockManager.isInCodeBlock(range)){$tempContainer.append(codeblockManager.prepareToPasteOnCodeblock(childNodes))}else if(isPastingList){$tempContainer.append(this._prepareToPasteList(childNodes,range,firstBlockIsTaken));firstBlockIsTaken=true}else{$tempContainer.append(childNodes.shift())}}$container.html($tempContainer.html())}},{key:"_wrapOrphanNodeWithDiv",value:function _wrapOrphanNodeWithDiv($container){var $tempContainer=$("
    ");var array=util.toArray($container[0].childNodes);var currentDiv=void 0;util.forEachArray(array,function(node){var isTextNode=node.nodeType===3;var isInlineNode=/^(SPAN|A|CODE|EM|I|STRONG|B|S|ABBR|ACRONYM|CITE|DFN|KBD|SAMP|VAR|BDO|Q|SUB|SUP)$/gi.test(node.tagName);if(isTextNode||isInlineNode){if(!currentDiv){currentDiv=document.createElement("div");$tempContainer.append(currentDiv)}currentDiv.appendChild(node)}else{if(currentDiv&¤tDiv.lastChild.tagName!=="BR"){currentDiv.appendChild($("
    ")[0])}currentDiv=null;$tempContainer.append(node)}});return $tempContainer.html()}},{key:"_pasteFirstAid",value:function _pasteFirstAid($container){var _this=this;var blockTags="div, section, article, aside, nav, menus, p";$container.html((0,_htmlSanitizer2.default)($container.html(),true));$container.find("*").each(function(i,node){_this._removeStyles(node)});this._unwrapIfNonBlockElementHasBr($container);this._unwrapNestedBlocks($container,blockTags);this._removeUnnecessaryBlocks($container,blockTags);$container.html(this._wrapOrphanNodeWithDiv($container));this._preElementAid($container);this._tableElementAid($container);$container.children("br").remove()}},{key:"_preElementAid",value:function _preElementAid($container){var codeblockManager=this.wwe.componentManager.getManager("codeblock");codeblockManager.splitCodeblockToEachLine($container)}},{key:"_unwrapIfNonBlockElementHasBr",value:function _unwrapIfNonBlockElementHasBr($container){var nonBlockElements=$container.find("span, a, b, em, i, s");nonBlockElements.each(function(i,node){var brChildren=$(node).children("br");if(brChildren.length&&node.nodeName!=="LI"&&node.nodeName!=="UL"){brChildren.eq(0).unwrap()}})}},{key:"_unwrapNestedBlocks",value:function _unwrapNestedBlocks($container,blockTags){var $leafElements=$container.find(":not(:has(*))").not("b,s,i,em,code,span");$leafElements.each(function(i,node){var leafElement=node.nodeName==="BR"?$(node.parentNode):$(node);while(leafElement.parents(blockTags).length){var $parent=leafElement.parent(blockTags);if($parent.length&&$parent[0]!==$container[0]){leafElement.unwrap()}else{leafElement=leafElement.parent()}}})}},{key:"_removeUnnecessaryBlocks",value:function _removeUnnecessaryBlocks($container,blockTags){$container.find(blockTags).each(function(index,blockElement){var $blockElement=$(blockElement);var tagName=blockElement.tagName;var isDivElement=tagName==="DIV";var isInListItem=$blockElement.parent("li").length!==0;var isInBlockquote=$blockElement.parent("blockquote").length!==0;var hasBlockChildElement=$blockElement.children(blockTags).length;if(isDivElement&&(isInListItem||isInBlockquote||!hasBlockChildElement)){return}$blockElement.replaceWith($blockElement.html())})}},{key:"_removeStyles",value:function _removeStyles(node){var $node=$(node);var colorValue=void 0;if(_domUtils2.default.getNodeName($node[0])!=="SPAN"){$node.removeAttr("style")}else{if($node.attr("style")){colorValue=$node.css("color")}$node.removeAttr("style");if(colorValue){$node.css("color",colorValue)}else{$node.contents().unwrap()}}}},{key:"_prepareToPasteList",value:function _prepareToPasteList(nodes,rangeInfo,firstBlockIsTaken){var nodeName=_domUtils2.default.getNodeName(nodes[0]);var node=nodes.shift();var newFragment=this.wwe.getEditor().getDocument().createDocumentFragment();if(nodeName!=="LI"&&nodes.length&&nodes[0].tagName==="LI"){nodeName="LI";node=this._makeNodeAndAppend({tagName:nodeName},node)}if(nodeName==="OL"||nodeName==="UL"){if(!firstBlockIsTaken&&this.wwe.getEditor().hasFormat("LI")){$(newFragment).append(this._wrapCurrentFormat(node))}else{$(newFragment).append(node)}}else if(nodeName==="LI"){var listGroup=this.wwe.getEditor().getDocument().createDocumentFragment();listGroup.appendChild(node);while(nodes.length&&nodes[0].tagName==="LI"){listGroup.appendChild(nodes.shift())}if(!firstBlockIsTaken&&this.wwe.getEditor().hasFormat("LI")){$(newFragment).append(this._wrapCurrentFormat(listGroup))}else if(rangeInfo&&(rangeInfo.commonAncestorName==="UL"||rangeInfo.commonAncestorName==="OL")){$(newFragment).append(this._makeNodeAndAppend({tagName:rangeInfo.commonAncestorName},listGroup))}else{$(newFragment).append(this._makeNodeAndAppend({tagName:"UL"},listGroup))}}return newFragment}},{key:"_unwrapFragmentFirstChildForPasteAsInline",value:function _unwrapFragmentFirstChildForPasteAsInline(node){$(node).find("br").remove();return node.childNodes}},{key:"_wrapCurrentFormat",value:function _wrapCurrentFormat(nodes){var _this2=this;var currentTagName=void 0;this._eachCurrentPath(function(path){if(path.tagName!=="DIV"){if(_domUtils2.default.isElemNode(nodes)){currentTagName=nodes.tagName}else{currentTagName=nodes.firstChild.tagName}if(path.tagName!==currentTagName){nodes=_this2._makeNodeAndAppend(path,nodes)}}});return nodes}},{key:"_eachCurrentPath",value:function _eachCurrentPath(iteratee){var paths=_domUtils2.default.getPath(this.wwe.getEditor().getSelection().startContainer,this.wwe.get$Body()[0]);for(var i=paths.length-1;i>-1;i-=1){iteratee(paths[i])}}},{key:"_makeNodeAndAppend",value:function _makeNodeAndAppend(pathInfo,content){var node=$("<"+pathInfo.tagName+"/>");node.append(content);if(pathInfo.id){node.attr("id",pathInfo.id)}if(pathInfo.className){node.addClass(pathInfo.className)}return node[0]}},{key:"_tableElementAid",value:function _tableElementAid($container){this._completeTableIfNeed($container);this._updateTableIDClassName($container)}},{key:"_completeTableIfNeed",value:function _completeTableIfNeed($container){var tableManager=this.wwe.componentManager.getManager("table");var wrapperTr=tableManager.wrapDanglingTableCellsIntoTrIfNeed($container);if(wrapperTr){$container.append(wrapperTr)}var wrapperTbody=tableManager.wrapTrsIntoTbodyIfNeed($container);if(wrapperTbody){$container.append(wrapperTbody)}var wrapperTable=tableManager.wrapTheadAndTbodyIntoTableIfNeed($container);if(wrapperTable){$container.append(wrapperTable)}}},{key:"_updateTableIDClassName",value:function _updateTableIDClassName($container){var tableManager=this.wwe.componentManager.getManager("table");$container.find("table").each(function(index,table){$(table).removeClass(function(idx,className){return className.replace(/.*\s*(te-content-table-\d+)\s*.*/,"$1")})});$container.find("table").each(function(index,table){$(table).addClass(tableManager.getTableIDClassName())})}}]);return WwPasteContentHelper}();module.exports=WwPasteContentHelper},function(module,exports){"use strict";var util=tui.util;var HTML_ATTR_LIST_RX=new RegExp("^(abbr|align|alt|axis|bgcolor|border|cellpadding|cellspacing|class|clear|"+"color|cols|compact|coords|dir|face|headers|height|hreflang|hspace|"+"ismap|lang|language|nohref|nowrap|rel|rev|rows|rules|"+"scope|scrolling|shape|size|span|start|summary|tabindex|target|title|type|"+"valign|value|vspace|width|checked|mathvariant|encoding|id|name|"+"background|cite|href|longdesc|src|usemap|xlink:href|data-+|checked|style)","g");var SVG_ATTR_LIST_RX=new RegExp("^(accent-height|accumulate|additive|alphabetic|arabic-form|ascent|"+"baseProfile|bbox|begin|by|calcMode|cap-height|class|color|color-rendering|content|"+"cx|cy|d|dx|dy|descent|display|dur|end|fill|fill-rule|font-family|font-size|font-stretch|"+"font-style|font-variant|font-weight|from|fx|fy|g1|g2|glyph-name|gradientUnits|hanging|"+"height|horiz-adv-x|horiz-origin-x|ideographic|k|keyPoints|keySplines|keyTimes|lang|"+"marker-end|marker-mid|marker-start|markerHeight|markerUnits|markerWidth|mathematical|"+"max|min|offset|opacity|orient|origin|overline-position|overline-thickness|panose-1|"+"path|pathLength|points|preserveAspectRatio|r|refX|refY|repeatCount|repeatDur|"+"requiredExtensions|requiredFeatures|restart|rotate|rx|ry|slope|stemh|stemv|stop-color|"+"stop-opacity|strikethrough-position|strikethrough-thickness|stroke|stroke-dasharray|"+"stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|"+"stroke-width|systemLanguage|target|text-anchor|to|transform|type|u1|u2|underline-position|"+"underline-thickness|unicode|unicode-range|units-per-em|values|version|viewBox|visibility|"+"width|widths|x|x-height|x1|x2|xlink:actuate|xlink:arcrole|xlink:role|xlink:show|xlink:title|"+"xlink:type|xml:base|xml:lang|xml:space|xmlns|xmlns:xlink|y|y1|y2|zoomAndPan)","g");function htmlSanitizer(html,needHtmlText){var $html=$("
    ");html=html.replace(//g,"");$html.append(html);removeUnnecessaryTags($html);leaveOnlyWhitelistAttribute($html);return finalizeHtml($html,needHtmlText)}function removeUnnecessaryTags($html){$html.find("script, iframe, textarea, form, button, select, meta, style, link, title").remove()}function leaveOnlyWhitelistAttribute($html){$html.find("*").each(function(index,node){var blacklist=util.toArray(node.attributes).filter(function(attr){var isHTMLAttr=attr.name.match(HTML_ATTR_LIST_RX);var isSVGAttr=attr.name.match(SVG_ATTR_LIST_RX);return!isHTMLAttr&&!isSVGAttr});util.forEachArray(blacklist,function(attr){node.attributes.removeNamedItem(attr.name)})})}function finalizeHtml($html,needHtmlText){var returnValue=void 0;if(needHtmlText){returnValue=$html[0].innerHTML}else{var frag=document.createDocumentFragment();var childNodes=tui.util.toArray($html[0].childNodes);var length=childNodes.length;for(var i=0;i");$(node).find("div").children("ul, ol").appendTo(node)}})}},{key:"_prepareInsertBlankToBetweenSameList",value:function _prepareInsertBlankToBetweenSameList(html){return html.replace(/<\/(ul|ol)>(
    |
    ){0,}<\1>/g,":BLANK_LINE:<$1>")}},{key:"getLinesOfSelection",value:function getLinesOfSelection(start,end){var lines=[];var isEndPassed=false;var needNext=true;var nextLine=void 0;if(_domUtils2.default.isTextNode(start)){start=$(start).parents("div").first()[0]}if(_domUtils2.default.isTextNode(end)){end=$(end).parents("div").first()[0]}for(var line=start;needNext;line=nextLine){if($(line).is("DIV")){lines.push(line);if(line===end){isEndPassed=true}nextLine=line.nextElementSibling}else{break}needNext=nextLine&&!isEndPassed}return lines}}]);return WwListManager}();module.exports=WwListManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i";var TABLE_CELL_SELECTED_CLASS_NAME="te-cell-selected";var WwTableManager=function(){function WwTableManager(wwe){_classCallCheck(this,WwTableManager);this.wwe=wwe;this.eventManager=wwe.eventManager;this.name="table";this._lastCellNode=null;this._init()}_createClass(WwTableManager,[{key:"_init",value:function _init(){this._initKeyHandler();this._initEvent();this.tableID=0}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.eventManager.listen("wysiwygRangeChangeAfter.table",function(){var range=_this.wwe.getEditor().getSelection();var isRangeInTable=_this.isInTable(range);_this._unwrapBlockInTable();_this._completeTableIfNeed();if(!isRangeInTable){var selectionManager=_this.wwe.componentManager.getManager("tableSelection");selectionManager.removeClassAttrbuteFromAllCellsIfNeed()}_this._insertDefaultBlockBetweenTable()});this.eventManager.listen("wysiwygSetValueAfter.table",function(){_this._unwrapBlockInTable();_this._insertDefaultBlockBetweenTable()});this.eventManager.listen("wysiwygProcessHTMLText.table",function(html){return html.replace(/
    (<\/td>|<\/th>)/g,"$1")});this.eventManager.listen("cut.table",function(){var selectionManager=_this.wwe.componentManager.getManager("tableSelection");var $selectedCells=selectionManager.getSelectedCells();if($selectedCells.length){$selectedCells.get().forEach(function(cell){return $(cell).html(BASIC_CELL_CONTENT)})}selectionManager.removeClassAttrbuteFromAllCellsIfNeed()});this.eventManager.listen("copyBefore.table",function(_ref){var $clipboardContainer=_ref.$clipboardContainer;return _this.updateTableHtmlOfClipboardIfNeed($clipboardContainer)});this.onBindedPaste=this._onPaste.bind(this);this.wwe.getEditor().addEventListener("paste",this.onBindedPaste)}},{key:"updateTableHtmlOfClipboardIfNeed",value:function updateTableHtmlOfClipboardIfNeed($clipboardContainer){var _this2=this;var selectionManager=this.wwe.componentManager.getManager("tableSelection");var $selectedCells=selectionManager.getSelectedCells();if($selectedCells.length){selectionManager.createRangeBySelectedCells();var fragment=this.wwe.getEditor().getSelection().cloneContents();$(fragment).children().each(function(index,node){var $node=$(node);if(!_this2.isTableOrSubTableElement(node.nodeName)){return}else if(node.nodeName==="TABLE"&&$node.find("thead").length===0&&$node.find("tbody").length===0){$node.remove()}else if(node.previousSibling&&node.previousSibling.nodeName==="TABLE"){node.previousSibling.appendChild(node)}else{_this2._completeIncompleteTable(node);if(node.nodeName!=="TABLE"&&node.nodeName!=="THEAD"){$(node).closest("table").find("thead").remove()}}});$clipboardContainer.append(fragment);$clipboardContainer.find("."+TABLE_CELL_SELECTED_CLASS_NAME).removeClass(TABLE_CELL_SELECTED_CLASS_NAME)}}},{key:"pasteClipboardData",value:function pasteClipboardData($clipboardTable){if(this.wwe.componentManager.getManager("tableSelection").getSelectedCells().length){return}this._expandTableIfNeed($clipboardTable);this._pasteDataIntoTable($clipboardTable)}},{key:"_onPaste",value:function _onPaste(ev){var range=this.wwe.getEditor().getSelection();var isNotPastingIntoTextNode=!_domUtils2.default.isTextNode(range.commonAncestorContainer);if(this.isInTable(range)&&!range.collapsed&&isNotPastingIntoTextNode){ev.preventDefault()}}},{key:"_initKeyHandler",value:function _initKeyHandler(){var _this3=this;this.keyEventHandlers={DEFAULT:function DEFAULT(ev,range,keymap){var isRangeInTable=_this3.isInTable(range);if(isRangeInTable&&!_this3._isSingleModifierKey(keymap)){_this3._recordUndoStateIfNeed(range);_this3._removeBRIfNeed(range);_this3._removeContentsAndChangeSelectionIfNeed(range,keymap,ev)}else if(!isRangeInTable&&_this3._lastCellNode){_this3._recordUndoStateAndResetCellNode(range)}if(isRangeInTable&&!_this3._isModifierKeyPushed(ev)){_this3.wwe.getEditor().modifyDocument(function(){var selectionManager=_this3.wwe.componentManager.getManager("tableSelection");selectionManager.removeClassAttrbuteFromAllCellsIfNeed()})}},ENTER:function ENTER(ev,range){var isNeedNext=void 0;if(_this3._isAfterTable(range)){ev.preventDefault();range.setStart(range.startContainer,range.startOffset-1);_this3.wwe.breakToNewDefaultBlock(range);isNeedNext=false}else if(_this3._isBeforeTable(range)){ev.preventDefault();_this3.wwe.breakToNewDefaultBlock(range,"before");isNeedNext=false}else if(_this3.isInTable(range)){_this3._appendBrIfTdOrThNotHaveAsLastChild(range);isNeedNext=false}return isNeedNext},BACK_SPACE:function BACK_SPACE(ev,range,keymap){return _this3._handleBackspaceAndDeleteKeyEvent(ev,range,keymap)},DELETE:function DELETE(ev,range,keymap){return _this3._handleBackspaceAndDeleteKeyEvent(ev,range,keymap)},TAB:function TAB(){return _this3._moveCursorTo("next","cell")},"SHIFT+TAB":function SHIFTTAB(ev){return _this3._moveCursorTo("previous","cell",ev)},UP:function UP(ev){return _this3._moveCursorTo("previous","row",ev)},DOWN:function DOWN(ev){return _this3._moveCursorTo("next","row",ev)}};util.forEach(this.keyEventHandlers,function(handler,key){return _this3.wwe.addKeyEventHandler(key,handler)})}},{key:"isInTable",value:function isInTable(range){var target=void 0,result=void 0;if(range.collapsed){target=range.startContainer;result=!!$(target).closest("[contenteditable=true] table").length}else{target=range.commonAncestorContainer;result=!!$(target).closest("[contenteditable=true] table").length||!!$(range.cloneContents()).find("table").length}return result}},{key:"_isBeforeTable",value:function _isBeforeTable(range){return _domUtils2.default.getNodeName(_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset))==="TABLE"}},{key:"_isAfterTable",value:function _isAfterTable(range){var prevElem=_domUtils2.default.getPrevOffsetNodeUntil(range.startContainer,range.startOffset);return _domUtils2.default.getNodeName(prevElem)==="TABLE"&&range.commonAncestorContainer===this.wwe.get$Body()[0]}},{key:"_handleBackspaceAndDeleteKeyEvent",value:function _handleBackspaceAndDeleteKeyEvent(ev,range,keymap){var isBackspace=keymap==="BACK_SPACE";var isTextOrElementDelete=range.commonAncestorContainer.nodeType!==3&&range.commonAncestorContainer!==this.wwe.get$Body()[0];var isNeedNext=void 0;if(range.collapsed){if(this.isInTable(range)){if(isBackspace){this._tableHandlerOnBackspace(range,ev)}else{this._tableHandlerOnDelete(range,ev)}this._insertBRIfNeed(range);this._removeContentsAndChangeSelectionIfNeed(range,keymap,ev);isNeedNext=false}else if(!isBackspace&&this._isBeforeTable(range)||isBackspace&&this._isAfterTable(range)){ev.preventDefault();var startOffset=isBackspace?range.startOffset-1:range.startOffset;this._removeTable(range,_domUtils2.default.getChildNodeByOffset(range.startContainer,startOffset));isNeedNext=false}}else if(this.isInTable(range)){if(isTextOrElementDelete){ev.preventDefault();this._removeContentsAndChangeSelectionIfNeed(range,keymap,ev);isNeedNext=false}}return isNeedNext}},{key:"_tableHandlerOnBackspace",value:function _tableHandlerOnBackspace(range,event){var prevNode=_domUtils2.default.getPrevOffsetNodeUntil(range.startContainer,range.startOffset,"TR"),prevNodeName=_domUtils2.default.getNodeName(prevNode);if(!prevNode||prevNodeName==="TD"||prevNodeName==="TH"){event.preventDefault()}else if(prevNodeName==="BR"&&prevNode.parentNode.childNodes.length!==1){event.preventDefault();$(prevNode).remove()}}},{key:"isNonTextDeleting",value:function isNonTextDeleting(range){var currentElement=range.startContainer;var nextNode=currentElement.nextSibling;var nextNodeName=_domUtils2.default.getNodeName(nextNode);var currentNodeName=_domUtils2.default.getNodeName(currentElement);var isCellDeleting=currentNodeName===nextNodeName&¤tNodeName!=="TEXT";var isEndOfText=(!nextNode||nextNodeName==="BR"&&nextNode.parentNode.lastChild===nextNode)&&_domUtils2.default.isTextNode(currentElement)&&range.startOffset===currentElement.nodeValue.length;var isLastCellOfRow=!isEndOfText&&$(currentElement).parents("tr").children().last()[0]===currentElement&&(currentNodeName==="TD"||currentNodeName==="TH");return isCellDeleting||isEndOfText||isLastCellOfRow}},{key:"_tableHandlerOnDelete",value:function _tableHandlerOnDelete(range,event){var needPreventDefault=this.isNonTextDeleting(range);if(needPreventDefault){event.preventDefault();range.startContainer.normalize()}}},{key:"_appendBrIfTdOrThNotHaveAsLastChild",value:function _appendBrIfTdOrThNotHaveAsLastChild(range){var startContainerNodeName=_domUtils2.default.getNodeName(range.startContainer);var tdOrTh=void 0;if(startContainerNodeName==="TD"||startContainerNodeName==="TH"){tdOrTh=range.startContainer}else{var paths=$(range.startContainer).parentsUntil("tr");tdOrTh=paths[paths.length-1]}if(_domUtils2.default.getNodeName(tdOrTh.lastChild)!=="BR"&&_domUtils2.default.getNodeName(tdOrTh.lastChild)!=="DIV"&&!isIE10And11){$(tdOrTh).append($("
    ")[0])}}},{key:"_unwrapBlockInTable",value:function _unwrapBlockInTable(){this.wwe.get$Body().find("td div,th div,tr>br,td>br,th>br").each(function(index,node){if(_domUtils2.default.getNodeName(node)==="BR"){var parentNodeName=_domUtils2.default.getNodeName(node.parentNode);var isInTableCell=/TD|TH/.test(parentNodeName);var isEmptyTableCell=node.parentNode.textContent.length===0;var isLastBR=node.parentNode.lastChild===node;if(parentNodeName==="TR"||isInTableCell&&!isEmptyTableCell&&isLastBR){$(node).remove()}}else{$(node).children().unwrap()}})}},{key:"_insertDefaultBlockBetweenTable",value:function _insertDefaultBlockBetweenTable(){this.wwe.get$Body().find("table").each(function(index,node){if(node.nextElementSibling&&node.nextElementSibling.nodeName==="TABLE"){$("

    ").insertAfter(node)}})}},{key:"_removeTable",value:function _removeTable(range,table){if(table.tagName==="TABLE"){this.wwe.getEditor().saveUndoState(range);this.wwe.saveSelection(range);$(table).remove();this.wwe.restoreSavedSelection()}}},{key:"_recordUndoStateIfNeed",value:function _recordUndoStateIfNeed(range){var currentCellNode=_domUtils2.default.getParentUntil(range.startContainer,"TR");if(range.collapsed&¤tCellNode&&this._lastCellNode!==currentCellNode){this.wwe.getEditor().saveUndoState(range);this._lastCellNode=currentCellNode}}},{key:"_recordUndoStateAndResetCellNode",value:function _recordUndoStateAndResetCellNode(range){this.wwe.getEditor().saveUndoState(range);this.resetLastCellNode()}},{key:"_pasteDataIntoTable",value:function _pasteDataIntoTable(fragment){var range=this.wwe.getEditor().getSelection();var tableData=this._getTableDataFromTable(fragment);var startContainer=range.startContainer;var parentNode=startContainer.parentNode;var isTextInTableCell=parentNode.tagName==="TD"||parentNode.tagName==="TH";var isTableCell=startContainer.tagName==="TD"||startContainer.tagName==="TH";var isTextNode=startContainer.nodeType===3;var brString=isIE10?"":"
    ";var anchorElement=void 0,td=void 0,tr=void 0,tdContent=void 0;if(isTextNode&&isTextInTableCell){anchorElement=parentNode}else if(isTableCell){anchorElement=startContainer}else{anchorElement=$(startContainer).find("th,td")[0]}td=anchorElement;while(tableData.length){tr=tableData.shift();while(td&&tr.length){tdContent=tr.shift();if(tdContent.length){td.textContent=tdContent}else{td.innerHTML=brString}td=_domUtils2.default.getTableCellByDirection(td,"next")}td=_domUtils2.default.getSiblingRowCellByDirection(anchorElement,"next",false);anchorElement=td}}},{key:"_getTableDataFromTable",value:function _getTableDataFromTable(fragment){var $fragment=$(fragment);var tableData=[];var trs=$fragment.find("tr");trs.each(function(i,tr){var trData=[];var tds=$(tr).children();tds.each(function(index,cell){trData.push(cell.textContent)});if(trData.length){tableData.push(trData)}});return tableData}},{key:"_removeTableContents",value:function _removeTableContents(selectedCells){this.wwe.getEditor().saveUndoState();selectedCells.each(function(i,cell){var brHTMLString=isIE10?"":"
    ";$(cell).html(brHTMLString)})}},{key:"wrapDanglingTableCellsIntoTrIfNeed",value:function wrapDanglingTableCellsIntoTrIfNeed($container){var danglingTableCells=$container.children("td,th");var tr=void 0;if(danglingTableCells.length){var $wrapperTr=$("");danglingTableCells.each(function(i,cell){$wrapperTr.append(cell)});tr=$wrapperTr[0]}return tr}},{key:"wrapTrsIntoTbodyIfNeed",value:function wrapTrsIntoTbodyIfNeed($container){var danglingTrs=$container.children("tr");var ths=danglingTrs.find("th");var tbody=void 0;if(ths.length){ths.each(function(i,node){var $node=$(node);var td=$("");td.html($node.html());td.insertBefore(node);$node.detach()})}if(danglingTrs.length){var $wrapperTableBody=$("");danglingTrs.each(function(i,tr){$wrapperTableBody.append(tr)});tbody=$wrapperTableBody[0]}return tbody}},{key:"wrapTheadAndTbodyIntoTableIfNeed",value:function wrapTheadAndTbodyIntoTableIfNeed($container){var danglingThead=$container.children("thead");var danglingTbody=$container.children("tbody");var $wrapperTable=$("
    ");var table=void 0;if(!danglingTbody.length&&danglingThead.length){$wrapperTable.append(danglingThead[0]);$wrapperTable.append("");table=$wrapperTable[0]}else if(danglingTbody.length&&!danglingThead.length){$wrapperTable.append("");$wrapperTable.append(danglingTbody[0]);table=$wrapperTable[0]}else if(danglingTbody.length&&danglingThead.length){$wrapperTable.append(danglingThead[0]);$wrapperTable.append(danglingTbody[0]);table=$wrapperTable[0]}return table}},{key:"isTableOrSubTableElement",value:function isTableOrSubTableElement(pastingNodeName){return pastingNodeName==="TABLE"||pastingNodeName==="TBODY"||pastingNodeName==="THEAD"||pastingNodeName==="TR"||pastingNodeName==="TD"}},{key:"_stuffTableCellsIntoIncompleteRow",value:function _stuffTableCellsIntoIncompleteRow($trs,maximumCellLength){$trs.each(function(rowIndex,row){var $row=$(row);var tableCells=$row.find("th,td");var parentNodeName=_domUtils2.default.getNodeName($row.parent()[0]);var cellTagName=parentNodeName==="THEAD"?"th":"td";for(var cellLength=tableCells.length;cellLength")[0];$table.prepend(absentNode)}else if(isTbodyNotExists){absentNode=$("")[0];$table.append(absentNode)}}},{key:"tableCellAppendAidForTableElement",value:function tableCellAppendAidForTableElement(node){var $table=$(node);this._addTbodyOrTheadIfNeed($table);this._addTrIntoContainerIfNeed($table);var trs=$table.find("tr");var tableAidInformation=this.prepareToTableCellStuffing(trs);var maximumCellLength=tableAidInformation.maximumCellLength;var needTableCellStuffingAid=tableAidInformation.needTableCellStuffingAid;if(needTableCellStuffingAid){this._stuffTableCellsIntoIncompleteRow(trs,maximumCellLength)}}},{key:"_generateTheadAndTbodyFromTbody",value:function _generateTheadAndTbodyFromTbody(node){var tr=$("");var thead=$("");tr.append(tableCellGenerator($(node).find("tr").eq(0).find("td").length,"th"));thead.append(tr);return{thead:thead[0],tbody:node}}},{key:"_generateTheadAndTbodyFromThead",value:function _generateTheadAndTbodyFromThead(node){var tr=$("");var tbody=$("");tr.append(tableCellGenerator($(node).find("th").length,"td"));tbody.append(tr);return{thead:node,tbody:tbody[0]}}},{key:"_generateTheadAndTbodyFromTr",value:function _generateTheadAndTbodyFromTr(node){var $node=$(node);var thead=$("");var tbody=$("");var theadRow=void 0,tbodyRow=void 0;if($node.children()[0].tagName==="TH"){theadRow=node;tbodyRow=$(""+tableCellGenerator($node.find("th").length,"td")+"")[0]}else{theadRow=$(""+tableCellGenerator($node.find("td").length,"th")+"")[0];tbodyRow=node}thead.append(theadRow);tbody.append(tbodyRow);return{thead:thead[0],tbody:tbody[0]}}},{key:"_completeIncompleteTable",value:function _completeIncompleteTable(node,useHeader){var nodeName=node.tagName;var table=void 0,completedTableContents=void 0;useHeader=util.isUndefined(useHeader)?true:useHeader;if(nodeName==="TABLE"){table=node}else{table=$("
    ");table.insertAfter(node);if(nodeName==="TBODY"){completedTableContents=this._generateTheadAndTbodyFromTbody(node)}else if(nodeName==="THEAD"){completedTableContents=this._generateTheadAndTbodyFromThead(node)}else if(nodeName==="TR"){completedTableContents=this._generateTheadAndTbodyFromTr(node)}if(useHeader){table.append(completedTableContents.thead)}table.append(completedTableContents.tbody)}this.tableCellAppendAidForTableElement(table)}},{key:"_completeTableIfNeed",value:function _completeTableIfNeed(){var _this4=this;var $body=this.wwe.getEditor().get$Body();$body.children().each(function(index,node){var $node=$(node);if(!_this4.isTableOrSubTableElement(node.nodeName)){return}else if(node.nodeName==="TABLE"&&$node.find("thead").length===0&&$node.find("tbody").length===0){$node.remove()}_this4._completeIncompleteTable(node)})}},{key:"resetLastCellNode",value:function resetLastCellNode(){this._lastCellNode=null}},{key:"setLastCellNode",value:function setLastCellNode(node){this._lastCellNode=node}},{key:"_isSingleModifierKey",value:function _isSingleModifierKey(keymap){return keymap==="META"||keymap==="SHIFT"||keymap==="ALT"||keymap==="CONTROL"}},{key:"_isModifierKeyPushed",value:function _isModifierKeyPushed(ev){return ev.metaKey||ev.ctrlKey||ev.altKey||ev.shiftKey}},{key:"_addTrIntoContainerIfNeed",value:function _addTrIntoContainerIfNeed($table){var $trContainers=$table.children();$trContainers.each(function(i,container){var hasNoRows=$(container).find("tr").length===0;if(hasNoRows){$(container).append($("")[0])}})}},{key:"_expandTableIfNeed",value:function _expandTableIfNeed(fragment){var range=this.wwe.getEditor().getSelection().cloneRange();var $table=$(range.startContainer).parents("table");var difference=this._getColumnAndRowDifference(fragment,range);if(difference.column<0){this._appendCellForAllRow($table,difference.column)}if(difference.row<0){this._appendRow($table,difference.row)}}},{key:"_getColumnAndRowDifference",value:function _getColumnAndRowDifference(fragment,range){var tableData=this._getTableDataFromTable(fragment);var rowLength=tableData.length;var columnLength=tableData[0].length;var $currentCell=$(range.startContainer).closest("th,td");var $currentRow=$currentCell.parent();var currentColumnIndex=_domUtils2.default.getNodeOffsetOfParent($currentCell[0]);var currentRowIndex=_domUtils2.default.getNodeOffsetOfParent($currentCell[0].parentNode);var $table=$currentRow.parents("table");var tableColumnLength=$table.find("tr").eq(0).children().length;var tableRowLength=$table.find("tr").length;var isInTbody=$currentRow.parents("tbody").length;if(isInTbody){currentRowIndex+=1}return{row:tableRowLength-(currentRowIndex+rowLength),column:tableColumnLength-(currentColumnIndex+columnLength)}}},{key:"_appendCellForAllRow",value:function _appendCellForAllRow($table,columnDifference){var brString=isIE10?"":"
    ";$table.find("tr").each(function(i,row){var tagName=void 0;for(var index=columnDifference;index<0;index+=1){if(i===0){tagName="th"}else{tagName="td"}$(row).append($("<"+tagName+">"+brString+"")[0])}})}},{key:"_appendRow",value:function _appendRow($table,rowDifference){var newRow=$table.find("tr").last().clone();var brHTMLSting=isIE10?"":"
    ";newRow.find("td").html(brHTMLSting);for(;rowDifference<0;rowDifference+=1){$table.find("tbody").append(newRow.clone()[0])}}},{key:"_getSiblingTextNodeByDirection",value:function _getSiblingTextNodeByDirection(currentTextNode,isNext){var isPreviousLineExist=currentTextNode.previousSibling&¤tTextNode.previousSibling.nodeName==="BR"&¤tTextNode.previousSibling.previousSibling&¤tTextNode.previousSibling.previousSibling.nodeType===3;var isNextLineExist=currentTextNode.nextSibling&¤tTextNode.nextSibling.nodeName==="BR"&¤tTextNode.nextSibling.nextSibling&¤tTextNode.nextSibling.nextSibling.nodeType===3;var target=void 0;if(isNext&&isNextLineExist){target=currentTextNode.nextSibling.nextSibling}else if(!isNext&&isPreviousLineExist){target=currentTextNode.previousSibling.previousSibling}return target}},{key:"_changeSelectionToTargetCell",value:function _changeSelectionToTargetCell(currentCell,range,direction,scale){var startContainer=range.startContainer;var isNext=direction==="next";var isRow=scale==="row";var target=void 0,textOffset=void 0;if(isRow){if(_domUtils2.default.isTextNode(startContainer)){target=this._getSiblingTextNodeByDirection(startContainer,isNext);if(target){textOffset=target.length")}}},{key:"destroy",value:function destroy(){var _this5=this;this.eventManager.removeEventHandler("wysiwygRangeChangeAfter.table");this.eventManager.removeEventHandler("wysiwygSetValueAfter.table") -;this.eventManager.removeEventHandler("wysiwygProcessHTMLText.table");this.eventManager.removeEventHandler("cut.table");this.eventManager.removeEventHandler("copyBefore.table");this.wwe.getEditor().removeEventListener("paste",this.onBindedPaste);util.forEach(this.keyEventHandlers,function(handler,key){return _this5.wwe.removeKeyEventHandler(key,handler)})}}]);return WwTableManager}();function tableCellGenerator(amount,tagName){var brHTMLString="
    ";var cellString="<"+tagName+">"+brHTMLString+"";var tdString="";for(var i=0;i0;if(isSameRow){if(isColumnIncreases){range.setStart(selectionEnd,0);range.setEnd(selectionStart,1)}else{range.setStart(selectionStart,0);range.setEnd(selectionEnd,1)}}else if(isRowIncreases){range.setStart(selectionStart,0);range.setEnd(selectionEnd,1)}else{range.setStart(selectionEnd,0);range.setEnd(selectionStart,1)}return range}},{key:"getSelectionRangeFromTable",value:function getSelectionRangeFromTable(selectionStart,selectionEnd){var nodeOffsetOfParent=_domUtils2.default.getNodeOffsetOfParent;var startRowOffset=nodeOffsetOfParent(selectionStart.parentNode);var endRowOffset=nodeOffsetOfParent(selectionEnd.parentNode);var startCellOffset=nodeOffsetOfParent(selectionStart);var endCellOffset=nodeOffsetOfParent(selectionEnd);var startCellContainer=_domUtils2.default.getParentUntil(selectionStart,"TABLE");var endCellContainer=_domUtils2.default.getParentUntil(selectionEnd,"TABLE");var isReversedTheadAndTbodySelect=_domUtils2.default.getNodeName(startCellContainer)==="TBODY"&&_domUtils2.default.getNodeName(endCellContainer)==="THEAD";var isTheadAndTbodySelect=startCellContainer!==endCellContainer;var isBothInTbody=!!$(selectionStart).parents("tbody").length&&!!$(selectionEnd).parents("tbody").length;var start={row:startRowOffset,cell:startCellOffset};var end={row:endRowOffset,cell:endCellOffset};var from=void 0,to=void 0;if(isReversedTheadAndTbodySelect){start.row+=1}else if(isTheadAndTbodySelect){end.row+=1}else if(isBothInTbody){start.row+=1;end.row+=1}if(startRowOffset>endRowOffset||startRowOffset===endRowOffset&&startCellOffset>endCellOffset){from=end;to=start}else{from=start;to=end}return{from:from,to:to}}},{key:"highlightTableCellsBy",value:function highlightTableCellsBy(selectionStart,selectionEnd){var trs=$(selectionStart).parents("[contenteditable=true] table").find("tr");var selection=this.getSelectionRangeFromTable(selectionStart,selectionEnd);var rowFrom=selection.from.row;var cellFrom=selection.from.cell;var rowTo=selection.to.row;var cellTo=selection.to.cell;trs.each(function(rowIndex,row){$(row).find("td,th").each(function(cellIndex,cell){var $cell=$(cell);var isFromRow=rowIndex===rowFrom;var isToRow=rowIndex===rowTo;if(isFromRow&&cellIndexcellTo||rowIndexrowTo){$cell.removeClass(TABLE_CELL_SELECTED_CLASS_NAME)}else{$cell.addClass(TABLE_CELL_SELECTED_CLASS_NAME)}})})}},{key:"removeClassAttrbuteFromAllCellsIfNeed",value:function removeClassAttrbuteFromAllCellsIfNeed(){this.wwe.get$Body().find("td."+TABLE_CELL_SELECTED_CLASS_NAME+",th."+TABLE_CELL_SELECTED_CLASS_NAME).each(function(i,node){var $node=$(node);$node.removeClass(TABLE_CELL_SELECTED_CLASS_NAME);if(!$node.attr("class").length){$node.removeAttr("class")}})}},{key:"getSelectedCells",value:function getSelectedCells(){return this.wwe.get$Body().find("."+TABLE_CELL_SELECTED_CLASS_NAME)}},{key:"createRangeBySelectedCells",value:function createRangeBySelectedCells(){var sq=this.wwe.getEditor();var range=sq.getSelection().cloneRange();var selectedCells=this.getSelectedCells();var tableManager=this.wwe.componentManager.getManager("table");var firstSelectedCell=selectedCells.first()[0];var lastSelectedCell=selectedCells.last()[0];if(selectedCells.length&&tableManager.isInTable(range)){range.setStart(firstSelectedCell,0);range.setEnd(lastSelectedCell,lastSelectedCell.childNodes.length);sq.setSelection(range)}}},{key:"styleToSelectedCells",value:function styleToSelectedCells(onStyle){this.createRangeBySelectedCells();onStyle(this.wwe.getEditor())}},{key:"destroy",value:function destroy(){this.eventManager.removeEventHandler("mousedown.tableSelection");this.eventManager.removeEventHandler("mouseover.tableSelection");this.eventManager.removeEventHandler("mouseup.tableSelection");this.eventManager.removeEventHandler("copyBefore.tableSelection");this.eventManager.removeEventHandler("pasteBefore.tableSelection")}}]);return WwTableSelectionManager}();module.exports=WwTableSelectionManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")})}}]);return WwHrManager}();function findTextNodeFilter(){return this.nodeType===Node.TEXT_NODE}module.exports=WwHrManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");$wrapper.html(html);$wrapper.find("p").each(function(pIndex,para){var content=para.innerHTML;var lines=content.split(/
    /gi);var lastIndex=lines.length-1;var nextElement=para.nextElementSibling||para.nextSibling;var splitedContent="";splitedContent=lines.map(function(line,index){var result="";if(index>0&&index"}if(line){result="
    "+line+"
    "}return result});if(nextElement&&nextElement.nodeName==="P"){splitedContent.push("

    ")}$(para).replaceWith($(splitedContent.join("")))});html=$wrapper.html()}return html}},{key:"_ensurePtagContentWrappedWithDiv",value:function _ensurePtagContentWrappedWithDiv(){this.wwe.get$Body().find("p").each(function(index,node){if($(node).find("div").length<=0){$(node).wrapInner("
    ")}if($(node).next().is("p")){$(node).append("

    ")}})}},{key:"_unwrapPtags",value:function _unwrapPtags(){this.wwe.get$Body().find("div").each(function(index,node){if($(node).parent().is("p")){$(node).unwrap()}})}}]);return WwPManager}();module.exports=WwPManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")}})}},{key:"_unwrapHeading",value:function _unwrapHeading(){this.wwe.unwrapBlockTag(function(node){return FIND_HEADING_RX.test(node)})}},{key:"_onEnter",value:function _onEnter(event,range){var _this3=this;if(range.startOffset>0){this.wwe.defer(function(wwe){_this3._unwrapHeading();wwe.getEditor().removeLastUndoStack()})}else{event.preventDefault();this._insertEmptyBlockToPrevious(range)}}},{key:"_insertEmptyBlockToPrevious",value:function _insertEmptyBlockToPrevious(range){this.wwe.getEditor().saveUndoState(range);$("

    ").insertBefore(_domUtils2.default.getParentUntil(range.startContainer,this.wwe.get$Body()[0]))}},{key:"_removePrevTopNodeIfNeed",value:function _removePrevTopNodeIfNeed(event,range){var isHandled=false;if(range.collapsed&&range.startOffset===0){var startContainer=range.startContainer;var prevTopNode=_domUtils2.default.getTopPrevNodeUnder(startContainer,this.wwe.get$Body()[0]);var isPrevTopNodeEmpty=prevTopNode&&prevTopNode.textContent.length===0;var sq=this.wwe.getEditor();if(startContainer.textContent.length===0){isHandled=this._removeHedingAndChangeSelection(event,range,prevTopNode)}else if(isPrevTopNodeEmpty){event.preventDefault();sq.saveUndoState(range);$(prevTopNode).remove();isHandled=true}}return isHandled}},{key:"_removeHedingAndChangeSelection",value:function _removeHedingAndChangeSelection(event,range,prevTopNode){var startContainer=range.startContainer;var sq=this.wwe.getEditor();var $Body=this.wwe.get$Body();var isHeading=FIND_HEADING_RX.test(_domUtils2.default.getNodeName(startContainer));var headingElement=isHeading?startContainer:$(startContainer).parents("h1,h2,h3,h4,h5,h6")[0];var targetNode=prevTopNode;var offset=1;if(!event.defaultPrevented){event.preventDefault();sq.saveUndoState(range)}$(headingElement).remove();if(!prevTopNode){targetNode=$Body.children("div").first()[0];offset=0}range.setStart(targetNode,offset);range.collapse(true);sq.setSelection(range);return true}}]);return WwHeadingManager}();module.exports=WwHeadingManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i":">"};var FIND_ZWS_RX=/\u200B/g;var CODEBLOCK_ATTR_NAME="data-te-codeblock";var WwCodeBlockManager=function(){function WwCodeBlockManager(wwe){_classCallCheck(this,WwCodeBlockManager);this.wwe=wwe;this.eventManager=wwe.eventManager;this.name="codeblock";this._init()}_createClass(WwCodeBlockManager,[{key:"_init",value:function _init(){this._initKeyHandler();this._initEvent()}},{key:"_initKeyHandler",value:function _initKeyHandler(){this.wwe.addKeyEventHandler("BACK_SPACE",this._removeCodeblockIfNeed.bind(this))}},{key:"_initEvent",value:function _initEvent(){var self=this;this.eventManager.listen("wysiwygSetValueAfter",function(){self.splitCodeblockToEachLine()});this.eventManager.listen("wysiwygProcessHTMLText",function(html){return self._mergeCodeblockEachlinesFromHTMLText(html)})}},{key:"prepareToPasteOnCodeblock",value:function prepareToPasteOnCodeblock(nodes){var range=this.wwe.getEditor().getSelection().cloneRange();var frag=this.wwe.getEditor().getDocument().createDocumentFragment();if(nodes.length===1&&this._isCodeBlock(nodes[0])){frag.appendChild(this._copyCodeblockTypeFromRangeCodeblock(nodes.shift(),range))}else{frag.appendChild(this._copyCodeblockTypeFromRangeCodeblock(this.convertToCodeblock(nodes),range))}return frag}},{key:"convertToCodeblock",value:function convertToCodeblock(nodes){var $codeblock=$("
    ");var self=this;var node=nodes.shift();while(util.isTruthy(node)){$codeblock.append(self._makeCodeBlockLineHtml(util.isString(node)?node:node.textContent));node=nodes.shift()}$codeblock.attr(CODEBLOCK_ATTR_NAME,"");return $codeblock[0]}},{key:"_copyCodeblockTypeFromRangeCodeblock",value:function _copyCodeblockTypeFromRangeCodeblock(element,range){var blockNode=_domUtils2.default.getParentUntil(range.commonAncestorContainer,this.wwe.get$Body()[0]);if(_domUtils2.default.getNodeName(blockNode)==="PRE"){var attrs=$(blockNode).prop("attributes");util.forEach(attrs,function(attr){$(element).attr(attr.name,attr.value)})}return element}},{key:"_mergeCodeblockEachlinesFromHTMLText",value:function _mergeCodeblockEachlinesFromHTMLText(html){html=html.replace(/(.*?)<\/pre>/g,function(match,codeAttr,code){code=code.replace(/
    /g,"\n");code=code.replace(/
    /g,"");code=code.replace(/\n$/,"");return"
    "+code+"
    "});return html}},{key:"splitCodeblockToEachLine",value:function splitCodeblockToEachLine(node){var self=this;if(!node){node=this.wwe.get$Body()}$(node).find("pre").each(function(index,pre){var $pre=$(pre);var lang=$pre.find("code").attr("data-language");var textLines=void 0;if($pre.children().length>1){textLines=[];$pre.children().each(function(idx,childNode){if((childNode.nodeName==="DIV"||childNode.nodeName==="P")&&!$(childNode).find("br").length){$(childNode).append("
    ")}})}$pre.find("br").replaceWith("\n");textLines=$pre.text().replace(/\s+$/,"").split(/\n/g);if(lang){$pre.attr("data-language",lang);$pre.addClass("lang-"+lang)}$pre.empty();util.forEach(textLines,function(line){$pre.append(self._makeCodeBlockLineHtml(line))});$pre.attr(CODEBLOCK_ATTR_NAME,"")})}},{key:"_makeCodeBlockLineHtml",value:function _makeCodeBlockLineHtml(lineContent){if(!lineContent){lineContent="
    "}else{lineContent=sanitizeHtmlCode(lineContent)}return"
    "+lineContent+"
    "}},{key:"_removeCodeblockIfNeed",value:function _removeCodeblockIfNeed(ev,range){var self=this;if(!this.isInCodeBlock(range)){return true}var pre=$(range.startContainer).closest("pre");var $div=$(pre).find("div").eq(0);var codeContent=$div.text().replace(FIND_ZWS_RX,"");if((range.startOffset===0||codeContent.length===0)&&$(pre).find("div").length<=1){this.wwe.getEditor().modifyBlocks(function(){var newFrag=self.wwe.getEditor().getDocument().createDocumentFragment();var content=void 0;if(codeContent.length===0){content="
    "}else{content=$div.html().replace(FIND_ZWS_RX,"")}$(newFrag).append($("
    "+content+"
    "));return newFrag});return false}return true}},{key:"isInCodeBlock",value:function isInCodeBlock(range){var target=void 0;if(range.collapsed){target=range.startContainer}else{target=range.commonAncestorContainer}return this._isCodeBlock(target)}},{key:"_isCodeBlock",value:function _isCodeBlock(element){return!!$(element).closest("pre").length}}]);return WwCodeBlockManager}();function sanitizeHtmlCode(code){return code.replace(/[<>&]/g,function(tag){return tagEntities[tag]||tag})}module.exports=WwCodeBlockManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1){throw new Error("too many"+eventName+"handlers in squire")}var handler=handlers[0].bind(this);handlers[0]=function(event){if(!event.defaultPrevented&&!event.squirePrevented){handler(event)}}}},{key:"changeBlockFormat",value:function changeBlockFormat(srcCondition,targetTagName){var _this2=this;this.modifyBlocks(function(frag){var current=void 0,newFrag=void 0,newBlock=void 0,nextBlock=void 0,tagName=void 0,lastNodeOfNextBlock=void 0,appendChidToNextBlock=void 0;if(frag.childNodes.length){current=frag.childNodes[0]}else{current=_this2.createDefaultBlock();frag.appendChild(current)}if(srcCondition){while(current.firstChild){current=current.firstChild}appendChidToNextBlock=function appendChidToNextBlock(node){nextBlock.appendChild(node)};while(current!==frag){tagName=current.tagName;if(util.isFunction(srcCondition)?srcCondition(tagName):tagName===srcCondition){nextBlock=current.childNodes[0];if(!_domUtils2.default.isElemNode(nextBlock)||current.childNodes.length>1){nextBlock=_this2.createDefaultBlock();util.forEachArray(util.toArray(current.childNodes),appendChidToNextBlock);lastNodeOfNextBlock=nextBlock.lastChild;if(lastNodeOfNextBlock&&_domUtils2.default.getNodeName(lastNodeOfNextBlock)==="BR"){nextBlock.removeChild(lastNodeOfNextBlock)}}if(targetTagName){newBlock=_this2.createElement(targetTagName,[nextBlock])}else{newBlock=nextBlock}newFrag=_this2.getDocument().createDocumentFragment();newFrag.appendChild(newBlock);frag=newFrag;break}current=current.parentNode}}if((!newFrag||!srcCondition)&&targetTagName&&_domUtils2.default.getNodeName(frag.childNodes[0])==="DIV"){frag=_this2.createElement(targetTagName,[frag.childNodes[0]])}return frag})}},{key:"changeBlockFormatTo",value:function changeBlockFormatTo(targetTagName){this.changeBlockFormat(function(tagName){return FIND_BLOCK_TAGNAME_RX.test(tagName)},targetTagName)}},{key:"getCaretPosition",value:function getCaretPosition(){return this.getCursorPosition()}},{key:"replaceSelection",value:function replaceSelection(content,selection){if(selection){this.setSelection(selection)}this._ignoreChange=true;this.insertHTML(content)}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){var selection=this.getSelection().cloneRange();this._replaceRelativeOffsetOfSelection(content,offset,overwriteLength,selection)}},{key:"_replaceRelativeOffsetOfSelection", -value:function _replaceRelativeOffsetOfSelection(content,offset,overwriteLength,selection){var startSelectionInfo=void 0,endSelectionInfo=void 0,finalOffset=void 0;var endOffsetNode=selection.endContainer;var endTextOffset=selection.endOffset;if(_domUtils2.default.getNodeName(endOffsetNode)!=="TEXT"){endOffsetNode=this._getClosestTextNode(endOffsetNode,endTextOffset);if(endOffsetNode){if(_domUtils2.default.isTextNode(endOffsetNode)){endTextOffset=endOffsetNode.nodeValue.length}else{endTextOffset=endOffsetNode.textContent.length}}}if(endOffsetNode){startSelectionInfo=this.getSelectionInfoByOffset(endOffsetNode,endTextOffset+offset);selection.setStart(startSelectionInfo.element,startSelectionInfo.offset);finalOffset=endTextOffset+(offset+overwriteLength);endSelectionInfo=this.getSelectionInfoByOffset(endOffsetNode,finalOffset);selection.setEnd(endSelectionInfo.element,endSelectionInfo.offset);this.replaceSelection(content,selection)}else{this.replaceSelection(content)}}},{key:"_getClosestTextNode",value:function _getClosestTextNode(node,offset){var foundNode=_domUtils2.default.getChildNodeByOffset(node,offset-1);if(_domUtils2.default.getNodeName(foundNode)!=="TEXT"){foundNode=foundNode.previousSibling}return foundNode}},{key:"getSelectionInfoByOffset",value:function getSelectionInfoByOffset(anchorElement,offset){var traceElement=void 0,traceElementLength=void 0,traceOffset=void 0,stepLength=void 0;var direction=offset>=0?"next":"previous";var offsetAbs=Math.abs(offset);var latestAvailableElement=traceElement;if(direction==="next"){traceElement=anchorElement}else{traceElement=anchorElement.previousSibling}traceOffset=offsetAbs;stepLength=0;while(traceElement){if(_domUtils2.default.isTextNode(traceElement)){traceElementLength=traceElement.nodeValue.length}else{traceElementLength=traceElement.textContent.length}stepLength+=traceElementLength;if(offsetAbs<=stepLength){break}traceOffset-=traceElementLength;if(_domUtils2.default.getTextLength(traceElement)>0){latestAvailableElement=traceElement}traceElement=traceElement[direction+"Sibling"]}if(!traceElement){traceElement=latestAvailableElement;traceOffset=_domUtils2.default.getTextLength(traceElement)}if(direction==="previous"){traceOffset=_domUtils2.default.getTextLength(traceElement)-traceOffset}return{element:traceElement,offset:traceOffset}}},{key:"getSelectionPosition",value:function getSelectionPosition(selection,style,offset){var marker=this.createElement("INPUT");var range=selection.cloneRange();var endSelectionInfo=this.getSelectionInfoByOffset(selection.endContainer,selection.endOffset+(offset||0));range.setStart(range.startContainer,range.startOffset);range.setEnd(endSelectionInfo.element,endSelectionInfo.offset);this._ignoreChange=true;this.insertElement(marker,range);var pos=$(marker).offset();if(style!=="over"){pos.top+=$(marker).outerHeight()}marker.parentNode.removeChild(marker);selection.setStart(selection.endContainer,selection.endOffset);selection.collapse(true);this.setSelection(selection);return pos}},{key:"removeLastUndoStack",value:function removeLastUndoStack(){if(this._undoStack.length){this._undoStackLength-=1;this._undoIndex-=1;this._undoStack.pop();this._isInUndoState=false}}},{key:"replaceParent",value:function replaceParent(node,from,to){var target=$(node).closest(from);if(target.length){target.wrapInner("<"+to+"/>");target.children().unwrap()}}},{key:"preserveLastLine",value:function preserveLastLine(){var lastBlock=this.get$Body().children().last();if(_domUtils2.default.getNodeName(lastBlock[0])!=="DIV"){this._ignoreChange=true;$(this.createDefaultBlock()).insertAfter(lastBlock)}}},{key:"scrollTop",value:function scrollTop(top){if(util.isUndefined(top)){return this.get$Body().scrollTop()}return this.get$Body().scrollTop(top)}},{key:"isIgnoreChange",value:function isIgnoreChange(){return this._ignoreChange}},{key:"focus",value:function focus(){var scrollTop=this.scrollTop();Squire.prototype.focus.call(this);if(scrollTop!==this.scrollTop()){this.scrollTop(scrollTop)}return this}},{key:"blockCommandShortcuts",value:function blockCommandShortcuts(){var _this3=this;var isMac=/Mac/.test(navigator.platform);var meta=isMac?"meta":"ctrl";var keys=["b","i","u","shift-7","shift-5","shift-6","shift-8","shift-9","[","]"];keys.forEach(function(key){_this3.setKeyHandler(meta+"-"+key,function(editor,keyboardEvent){keyboardEvent.preventDefault()})})}}]);return SquireExt}(Squire);module.exports=SquireExt},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0){range.setStart(range.startContainer,range.startOffset-1)}}},{key:"expandEndOffset",value:function expandEndOffset(){var range=this._range;if(_domUtils2.default.isTextNode(range.endContainer)&&range.endOffset','
    ','
    ','
    ','
    ',"
    ",'
    ','
    ',"
    ","
    "].join("");var Layout=function(){function Layout(options,eventManager){_classCallCheck(this,Layout);this.$el=$(options.el);this.height=options.height;this.type=options.initialEditType;this.eventManager=eventManager;this.init();this._initEvent()}_createClass(Layout,[{key:"init",value:function init(){this._renderLayout();this._initMarkdownAndPreviewSection();this._initWysiwygSection()}},{key:"_initEvent",value:function _initEvent(){this.eventManager.listen("hide",this.hide.bind(this));this.eventManager.listen("show",this.show.bind(this))}},{key:"_renderLayout",value:function _renderLayout(){this.$containerEl=$(containerTmpl).appendTo(this.$el)}},{key:"switchToWYSIWYG",value:function switchToWYSIWYG(){this.$containerEl.removeClass("te-md-mode");this.$containerEl.addClass("te-ww-mode")}},{key:"switchToMarkdown",value:function switchToMarkdown(){this.$containerEl.removeClass("te-ww-mode");this.$containerEl.addClass("te-md-mode")}},{key:"_initMarkdownAndPreviewSection",value:function _initMarkdownAndPreviewSection(){this.$mdEditorContainerEl=this.$containerEl.find(".te-md-container .te-editor");this.$previewEl=this.$containerEl.find(".te-md-container .te-preview")}},{key:"_initWysiwygSection",value:function _initWysiwygSection(){this.$wwEditorContainerEl=this.$containerEl.find(".te-ww-container .te-editor")}},{key:"_verticalSplitStyle",value:function _verticalSplitStyle(){this.$containerEl.find(".te-md-container").removeClass("te-preview-style-tab");this.$containerEl.find(".te-md-container").addClass("te-preview-style-vertical")}},{key:"_tabStyle",value:function _tabStyle(){this.$containerEl.find(".te-md-container").removeClass("te-preview-style-vertical");this.$containerEl.find(".te-md-container").addClass("te-preview-style-tab")}},{key:"changePreviewStyle",value:function changePreviewStyle(style){if(style==="tab"){this._tabStyle()}else if(style==="vertical"){this._verticalSplitStyle()}}},{key:"hide",value:function hide(){this.$el.find(".tui-editor").addClass("te-hide")}},{key:"show",value:function show(){this.$el.find(".tui-editor").removeClass("te-hide")}},{key:"remove",value:function remove(){this.$el.find(".tui-editor").remove()}},{key:"getEditorEl",value:function getEditorEl(){return this.$containerEl}},{key:"getPreviewEl",value:function getPreviewEl(){return this.$previewEl}},{key:"getMdEditorContainerEl",value:function getMdEditorContainerEl(){return this.$mdEditorContainerEl}},{key:"getWwEditorContainerEl",value:function getWwEditorContainerEl(){return this.$wwEditorContainerEl}}]);return Layout}();module.exports=Layout},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,CommandManager);this._command=new util.Map;this._mdCommand=new util.Map;this._wwCommand=new util.Map;this._options=$.extend({useCommandShortcut:true},options);this.base=base;this.keyMapCommand={};this._initEvent()}_createClass(CommandManager,[{key:"_addCommandBefore",value:function _addCommandBefore(command){var commandWrapper={command:command};this.base.eventManager.emit("addCommandBefore",commandWrapper);return commandWrapper.command||command}},{key:"addCommand",value:function addCommand(command){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}if(args.length){command=CommandManager.command.apply(CommandManager,[command].concat(args))}command=this._addCommandBefore(command);var name=command.getName();var commandBase=void 0;if(command.isMDType()){commandBase=this._mdCommand}else if(command.isWWType()){commandBase=this._wwCommand}else if(command.isGlobalType()){commandBase=this._command}commandBase.set(name,command);if(command.keyMap){this.keyMapCommand[command.keyMap[KEYMAP_OS_INDEX]]=name}return command}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.base.eventManager.listen("command",function(){_this.exec.apply(_this,arguments)});this.base.eventManager.listen("keyMap",function(ev){if(!_this._options.useCommandShortcut){return}var command=_this.keyMapCommand[ev.keyMap];if(command){ev.data.preventDefault();_this.exec(command)}})}},{key:"exec",value:function exec(name){var commandToRun=void 0,result=void 0;var context=this.base;commandToRun=this._command.get(name);if(!commandToRun){if(this.base.isMarkdownMode()){commandToRun=this._mdCommand.get(name);context=this.base.mdEditor}else{commandToRun=this._wwCommand.get(name);context=this.base.wwEditor}}if(commandToRun){var _commandToRun;for(var _len2=arguments.length,args=Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2]}args.unshift(context);result=(_commandToRun=commandToRun).exec.apply(_commandToRun,args)}return result}}]);return CommandManager}();CommandManager.command=function(type,props){var command=_command2.default.factory(type,props.name,props.keyMap);util.extend(command,props);return command};module.exports=CommandManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i/gi,"
    ");var onerrorStripeRegex=/(]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;while(onerrorStripeRegex.exec(markdown)){markdown=markdown.replace(onerrorStripeRegex,"$1$3")}var renderedHTML=markdownitHighlight.render(markdown);renderedHTML=this._removeBrToMarkPassAttributeInCode(renderedHTML);return renderedHTML}},{key:"_markdownToHtml",value:function _markdownToHtml(markdown){markdown=markdown.replace(/
    /gi,"
    ");var onerrorStripeRegex=/(]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;while(onerrorStripeRegex.exec(markdown)){markdown=markdown.replace(onerrorStripeRegex,"$1$3")}var renderedHTML=markdownit.render(markdown);renderedHTML=this._removeBrToMarkPassAttributeInCode(renderedHTML);return renderedHTML}},{key:"_removeBrToMarkPassAttributeInCode",value:function _removeBrToMarkPassAttributeInCode(renderedHTML){var $wrapperDiv=$("
    ");$wrapperDiv.html(renderedHTML);$wrapperDiv.find("code, pre").each(function(i,codeOrPre){var $code=$(codeOrPre);$code.html($code.html().replace(/<br data-tomark-pass>/,"<br>"))});renderedHTML=$wrapperDiv.html();return renderedHTML}},{key:"toHTMLWithCodeHightlight",value:function toHTMLWithCodeHightlight(markdown){var html=this._markdownToHtmlWithCodeHighlight(markdown);html=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",html);return html}},{key:"toHTML",value:function toHTML(markdown){var html=this._markdownToHtml(markdown);html=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",html);return html}},{key:"initHtmlSanitizer",value:function initHtmlSanitizer(){this.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){return(0,_htmlSanitizer2.default)(html,true)})}},{key:"toMarkdown",value:function toMarkdown(html,toMarkOptions){var resultArray=[];html=this.eventManager.emitReduce("convertorBeforeHtmlToMarkdownConverted",html);var markdown=toMark(this._appendAttributeForBrIfNeed(html),toMarkOptions);markdown=this.eventManager.emitReduce("convertorAfterHtmlToMarkdownConverted",markdown);tui.util.forEach(markdown.split("\n"),function(line,index){var FIND_TABLE_RX=/^\|[^|]*\|/gi;var FIND_CODE_RX=/`[^`]*
    [^`]*`/gi;if(!FIND_CODE_RX.test(line)&&!FIND_TABLE_RX.test(line)){line=line.replace(/
    /gi,"
    \n")}resultArray[index]=line});return resultArray.join("\n")}},{key:"_appendAttributeForBrIfNeed",value:function _appendAttributeForBrIfNeed(html){var FIND_BR_RX=/
    /gi;var FIND_DOUBLE_BR_RX=/

    /gi;var FIND_PASSING_AND_NORMAL_BR_RX=/

    (.)/gi;var FIRST_TWO_BRS_BEFORE_RX=/([^>]|<\/b>|<\/i>|<\/s>|]*>)/;var TWO_BRS_RX=/

    /;var FIND_FIRST_TWO_BRS_RX=new RegExp(FIRST_TWO_BRS_BEFORE_RX.source+TWO_BRS_RX.source,"g");html=html.replace(FIND_BR_RX,"
    ");html=html.replace(FIND_DOUBLE_BR_RX,"

    ");var div=document.createElement("div");var $div=$(div);$div.html(html);$div.find("pre br,code br").each(function(index,node){if(node.hasAttribute("data-tomark-pass")){node.removeAttribute("data-tomark-pass")}});html=$div.html().replace(/
    /gi,"
    ");html=html.replace(FIND_BR_RX,"
    ");html=html.replace(FIND_PASSING_AND_NORMAL_BR_RX,"

    $1");html=html.replace(FIND_FIRST_TWO_BRS_RX,"$1

    ");return html}}],[{key:"factory", -value:function factory(eventManager){return new Convertor(eventManager)}},{key:"getMarkdownHighlightRenderer",value:function getMarkdownHighlightRenderer(){return markdownitHighlight}}]);return Convertor}();module.exports=Convertor},function(module,exports){"use strict";var MarkdownitTaskRenderer=function MarkdownitTaskRenderer(markdownit){markdownit.core.ruler.after("inline","tui-task-list",function(state){var TASK_LIST_ITEM_CLASS_NAME="task-list-item";var CHECKED_CLASS_NAME="checked";var tokens=state.tokens;var className;var tokenIndex;for(tokenIndex=2;tokenIndex/g,">").replace(/"/g,""").replace(/'/g,"'")}module.exports=MarkdownitCodeBlockRenderer},function(module,exports){"use strict";module.exports=function code(state,startLine,endLine){var FIND_LIST_RX=/ {0,3}(?:-|\*|\d\.) /;var lines=state.src.split("\n");var currentLine=lines[startLine];var nextLine,last,token,emptyLines=0;if(currentLine.match(FIND_LIST_RX)||state.sCount[startLine]-state.blkIndent<4){return false}last=nextLine=startLine+1;while(nextLine=2&&state.parentType==="list"){break}nextLine++;continue}emptyLines=0;if(state.sCount[nextLine]-state.blkIndent>=4){nextLine++;last=nextLine;continue}break}state.line=last;token=state.push("code_block","code",0);token.content=state.getLines(startLine,last,4+state.blkIndent,true);token.map=[startLine,state.line];return true}},function(module,exports){"use strict";module.exports=function blockquote(state,startLine,endLine,silent){var FIND_LIST_RX=/(?:-|\*|\d+\.) {1,4}(?:> {0,3})[^>]*$/;var sourceLines=state.src.split("\n");var currentLine=sourceLines[startLine];var nextLine,lastLineEmpty,oldTShift,oldSCount,oldBMarks,oldIndent,oldParentType,lines,initial,offset,ch,terminatorRules,token,i,l,terminate,pos=state.bMarks[startLine]+state.tShift[startLine],max=state.eMarks[startLine];if(currentLine.match(FIND_LIST_RX)||state.src.charCodeAt(pos++)!==62){return false}if(silent){return true}if(state.src.charCodeAt(pos)===32){pos++}oldIndent=state.blkIndent;state.blkIndent=0;initial=offset=state.sCount[startLine]+pos-(state.bMarks[startLine]+state.tShift[startLine]);oldBMarks=[state.bMarks[startLine]];state.bMarks[startLine]=pos;while(pos=max;oldSCount=[state.sCount[startLine]];state.sCount[startLine]=offset-initial;oldTShift=[state.tShift[startLine]];state.tShift[startLine]=pos-state.bMarks[startLine];terminatorRules=state.md.block.ruler.getRules("blockquote");for(nextLine=startLine+1;nextLine=max){break}if(state.src.charCodeAt(pos++)===62){if(state.src.charCodeAt(pos)===32){pos++}initial=offset=state.sCount[nextLine]+pos-(state.bMarks[nextLine]+state.tShift[nextLine]);oldBMarks.push(state.bMarks[nextLine]);state.bMarks[nextLine]=pos;while(pos=max;oldSCount.push(state.sCount[nextLine]);state.sCount[nextLine]=offset-initial;oldTShift.push(state.tShift[nextLine]);state.tShift[nextLine]=pos-state.bMarks[nextLine];continue}if(lastLineEmpty){break}terminate=false;for(i=0,l=terminatorRules.length;i";token.map=lines=[startLine,0];state.md.block.tokenize(state,startLine,nextLine);token=state.push("blockquote_close","blockquote",-1);token.markup=">";state.parentType=oldParentType;lines[1]=state.line;for(i=0;iendLine){return false}nextLine=startLine+1;if(state.sCount[nextLine]=state.eMarks[nextLine]){return false}ch=state.src.charCodeAt(pos);if(ch!==124&&ch!==45&&ch!==58){return false}lineText=getLine(state,startLine+1);if(!/^[-:| ]+$/.test(lineText)){return false}columns=lineText.split("|");aligns=[];for(i=0;ialignCount){return false}else if(columnCount|$))/i,/<\/(script|pre|style)>/i,true],[/^/,true],[/^<\?/,/\?>/,true],[/^/,true],[/^/,true],[new RegExp("^<("+voidTagNames.join("|")+")","i"),/^\/?>$/,true],[new RegExp("^|$))","i"),/^$/,true],[/^(?:<[A-Za-z][A-Za-z0-9\-]*(?:\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\s*=\s*(?:[^"'=<>`\x00-\x20]+|'[^']*'|"[^"]*"))?)*\s*\/?>|<\/[A-Za-z][A-Za-z0-9\-]*\s*>)\s*$/,/^$/,false]];module.exports=function html_block(state,startLine,endLine,silent){var i,nextLine,token,lineText,pos=state.bMarks[startLine]+state.tShift[startLine],max=state.eMarks[startLine];if(!state.md.options.html){return false}if(state.src.charCodeAt(pos)!==60){return false}lineText=state.src.slice(pos,max);for(i=0;i18;if(ev.target.hasAttribute(TASK_ATTR_NAME)&&!isBeneathTaskBox){$(ev.target).toggleClass(TASK_CHECKED_CLASS_NAME);this.eventManager.emit("change",{source:"viewOnly",data:ev})}}},{key:"setMarkdown",value:function setMarkdown(markdown){this.markdownValue=markdown=markdown||"";this.preview.refresh(this.markdownValue);this.eventManager.emit("setMarkdownAfter",this.markdownValue)}},{key:"setValue",value:function setValue(markdown){this.setMarkdown(markdown)}},{key:"on",value:function on(type,handler){this.eventManager.listen(type,handler)}},{key:"off",value:function off(type){this.eventManager.removeEventHandler(type)}},{key:"remove",value:function remove(){this.eventManager.emit("removeEditor");this.preview.$el.off("mousedown",$.proxy(this._toggleTask,this));this.options=null;this.eventManager=null;this.commandManager=null;this.convertor=null;this.preview=null}},{key:"addHook",value:function addHook(type,handler){this.eventManager.removeEventHandler(type);this.eventManager.listen(type,handler)}},{key:"isViewOnly",value:function isViewOnly(){return true}},{key:"isMarkdownMode",value:function isMarkdownMode(){return false}},{key:"isWysiwygMode",value:function isWysiwygMode(){return false}}]);return ToastUIEditorViewOnly}();module.exports=ToastUIEditorViewOnly},function(module,exports,__webpack_require__){"use strict";var _toolbar=__webpack_require__(41);var _toolbar2=_interopRequireDefault(_toolbar);var _tab=__webpack_require__(45);var _tab2=_interopRequireDefault(_tab);var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _modeSwitch=__webpack_require__(48);var _modeSwitch2=_interopRequireDefault(_modeSwitch);var _popupAddLink=__webpack_require__(49);var _popupAddLink2=_interopRequireDefault(_popupAddLink);var _popupAddImage=__webpack_require__(50);var _popupAddImage2=_interopRequireDefault(_popupAddImage);var _popupTableUtils=__webpack_require__(51);var _popupTableUtils2=_interopRequireDefault(_popupTableUtils);var _popupAddTable=__webpack_require__(52);var _popupAddTable2=_interopRequireDefault(_popupAddTable);var _popupAddHeading=__webpack_require__(53);var _popupAddHeading2=_interopRequireDefault(_popupAddHeading);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var containerTmpl=['
    ','
    ','
    ','
    ','
    ',"
    "].join("");function DefaultUI(editor){this.name="default";this.type=editor.options.initialEditType;this.editor=editor;this.init(editor.options.el);this._initEvent()}DefaultUI.prototype.init=function($container){this._renderLayout($container);this._initEditorSection();this._initToolbar();this._initModeSwitch();this._initPopupAddLink();this._initPopupAddImage();this._initPopupAddTable();this._initPopupAddHeading();this._initPopupTableUtils();this._initMarkdownTab()};DefaultUI.prototype._initEditorSection=function(){this.$el.find(".te-editor-section").append(this.editor.layout.getEditorEl())};DefaultUI.prototype._initEvent=function(){var self=this;this.editor.eventManager.listen("hide",this.hide.bind(this));this.editor.eventManager.listen("show",this.show.bind(this));this.editor.eventManager.listen("changeMode",function(){self.markdownTabControl()});this.editor.eventManager.listen("changePreviewStyle",function(){self.markdownTabControl()})};DefaultUI.prototype._renderLayout=function($container){this.$el=$(containerTmpl).appendTo($container)};DefaultUI.prototype._initToolbar=function(){this.toolbar=new _toolbar2.default(this.editor.eventManager);this.$el.find(".te-toolbar-section").append(this.toolbar.$el)};DefaultUI.prototype._initModeSwitch=function(){var self=this;this.modeSwitch=new _modeSwitch2.default(this.type==="markdown"?_modeSwitch2.default.TYPE.MARKDOWN:_modeSwitch2.default.TYPE.WYSIWYG);this.$el.find(".te-mode-switch-section").append(this.modeSwitch.$el);this.modeSwitch.on("modeSwitched",function(ev,type){self.editor.changeMode(type)})};DefaultUI.prototype.markdownTabControl=function(){if(this.editor.isMarkdownMode()&&this.editor.getCurrentPreviewStyle()==="tab"){this.$el.find(".te-markdown-tab-section").show();this.markdownTab.activate("Editor")}else{this.$el.find(".te-markdown-tab-section").hide()}};DefaultUI.prototype._initMarkdownTab=function(){var editor=this.editor;this.markdownTab=new _tab2.default({items:["Editor","Preview"],sections:[editor.layout.getMdEditorContainerEl(),editor.layout.getPreviewEl()]});this.$el.find(".te-markdown-tab-section").append(this.markdownTab.$el);this.markdownTab.on("itemClick",function(ev,itemText){if(itemText==="Preview"){editor.eventManager.emit("previewNeedsRefresh")}else{editor.getCodeMirror().focus()}})};DefaultUI.prototype._initPopupAddLink=function(){this.popupAddLink=new _popupAddLink2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype._initPopupAddImage=function(){this.popupAddImage=new _popupAddImage2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype._initPopupAddTable=function(){this.popupAddTable=new _popupAddTable2.default({$target:this.$el,eventManager:this.editor.eventManager,$button:this.$el.find("button.tui-table"),css:{position:"absolute"}})};DefaultUI.prototype._initPopupAddHeading=function(){this.popupAddHeading=new _popupAddHeading2.default({$target:this.$el,eventManager:this.editor.eventManager,$button:this.$el.find("button.tui-heading"),css:{position:"absolute"}})};DefaultUI.prototype._initPopupTableUtils=function(){var self=this;this.editor.eventManager.listen("contextmenu",function(ev){if($(ev.data.target).parents("[contenteditable=true] table").length>0){ev.data.preventDefault();self.editor.eventManager.emit("openPopupTableUtils",ev.data)}});this.popupTableUtils=new _popupTableUtils2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype.hide=function(){this.$el.addClass("te-hide")};DefaultUI.prototype.show=function(){this.$el.removeClass("te-hide")};DefaultUI.prototype.remove=function(){this.$el.remove()};DefaultUI.prototype.createPopup=function(options){return _layerpopup2.default.factory(options)};module.exports=DefaultUI},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(42);var _uicontroller2=_interopRequireDefault(_uicontroller);var _button=__webpack_require__(43);var _button2=_interopRequireDefault(_button);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function Toolbar(eventManager){_uicontroller2.default.call(this,{tagName:"div",className:"tui-editor-defaultUI-toolbar"});this.buttons=[];this.eventManager=eventManager;this.render();this._initButton()}Toolbar.prototype=util.extend({},_uicontroller2.default.prototype);Toolbar.prototype.render=function(){this.$buttonContainer=this.$el};Toolbar.prototype.addButton=function(buttons,index){var _this=this;var TOOLBAR_GROUP_CLASS_NAME="tui-toolbar-button-group";var $buttonWrap=$('
    ');if(util.isArray(buttons)){util.forEach(buttons,function(button){$buttonWrap.append(_this._setButton(button).$el)})}else{$buttonWrap.append(this._setButton(buttons).$el)}if(index){this.$buttonContainer.find("."+TOOLBAR_GROUP_CLASS_NAME).eq(index-1).after($buttonWrap)}else{this.$buttonContainer.append($buttonWrap)}};Toolbar.prototype._setButton=function(button){var ev=this.eventManager;if(!button.render){button=new _button2.default(button)}button.on("command",function emitCommandEvent($,commandName){ev.emit("command",commandName)});button.on("event",function emitEventByCommand($,eventName){ev.emit(eventName)});this.buttons.push(button);return button};Toolbar.prototype._initButton=function(){var _this2=this;this.addButton(new _button2.default({className:"tui-heading",event:"openHeadingSelect",tooltip:_i18n2.default.get("Headings")}));this.addButton([new _button2.default({className:"tui-bold",command:"Bold",tooltip:_i18n2.default.get("Bold"),state:"bold"}),new _button2.default({className:"tui-italic",command:"Italic",tooltip:_i18n2.default.get("Italic"),state:"italic"}),new _button2.default({className:"tui-strike",command:"Strike",text:"~",tooltip:_i18n2.default.get("Strike"),state:"strike"})]);this.addButton([new _button2.default({className:"tui-ul",command:"UL",tooltip:_i18n2.default.get("Unordered list")}),new _button2.default({className:"tui-ol",command:"OL",tooltip:_i18n2.default.get("Ordered list")}),new _button2.default({className:"tui-task",command:"Task",tooltip:_i18n2.default.get("Task")})]);this.addButton([new _button2.default({className:"tui-hrline",command:"HR",tooltip:_i18n2.default.get("Line")}),new _button2.default({className:"tui-table",event:"openPopupAddTable",tooltip:_i18n2.default.get("Insert table")})]);this.addButton([new _button2.default({className:"tui-image",event:"openPopupAddImage",tooltip:_i18n2.default.get("Insert image")}),new _button2.default({className:"tui-link",event:"openPopupAddLink",tooltip:_i18n2.default.get("Insert link")})]);this.addButton(new _button2.default({className:"tui-quote",command:"Blockquote",tooltip:_i18n2.default.get("Blockquote"),state:"quote"}));this.addButton([new _button2.default({className:"tui-codeblock",command:"CodeBlock",text:"CB",tooltip:_i18n2.default.get("Insert codeblock"),state:"codeBlock"}),new _button2.default({className:"tui-code",command:"Code",tooltip:_i18n2.default.get("Code"),state:"code"})]);this.eventManager.listen("stateChange",function(ev){util.forEach(_this2.buttons,function(button){if(button.state){if(ev[button.state]){button.$el.addClass("active")}else{button.$el.removeClass("active")}}})})};module.exports=Toolbar},function(module,exports){"use strict";var util=tui.util;var _id=0;function UIController(options){options=util.extend({tagName:"div"},options||{});this.tagName=options.tagName;this.className=options.className;this.$el=null;this._initID();this.setRootElement(options.rootElement)}UIController.prototype.on=function(aType,aFn){var self=this;if(util.isObject(aType)){util.forEach(aType,function(fn,type){self._addEvent(type,fn)})}else{this._addEvent(aType,aFn)}};UIController.prototype._addEvent=function(type,fn){var parsedType=this._parseEventType(type),event=parsedType[0],selector=parsedType[1];if(selector){this.$el.on(event,selector,fn)}else{this.$el.on(event,fn)}};UIController.prototype.off=function(type,fn){if(type){var parsedType=this._parseEventType(type);var event=parsedType[0];var selector=parsedType[1];if(selector){this.$el.off(event,selector,fn)}else{this.$el.off(event,fn)}}else{this.$el.off()}};UIController.prototype._parseEventType=function(type){var splitType=type.split(" "),event=splitType.shift(),selector=splitType.join(" ");return[event,selector]};UIController.prototype.attachEvents=function(events){var self=this;var eventlist=events||this.events;var handler=void 0;if(eventlist){util.forEach(eventlist,function(handlerName,type){if(self[handlerName]){type=self.getEventNameWithNamespace(type);handler=util.bind(self[handlerName],self);self.on(type,handler)}else{throw new Error("UIController#attachEvents: "+handlerName+"란 메서드가 없습니다.")}})}};UIController.prototype.detachEvents=function(){this.$el.off(".uicEvent"+this.id)};UIController.prototype.setRootElement=function($el){var className=this.className;var tagName=this.tagName;if(!$el){className=className||"uic"+this.id;$el=$("<"+tagName+' class="'+className+'"/>')}this.$el=$el};UIController.prototype.trigger=function(){var _$el;(_$el=this.$el).trigger.apply(_$el,arguments)};UIController.prototype._initID=function(){this.id=_id;_id+=1};UIController.prototype.getEventNameWithNamespace=function(event){var eventSplited=event.split(" ");eventSplited[0]+=".uicEvent"+this.id;return eventSplited.join(" ")};UIController.prototype.addUIC=function(uic,targetSEL){if(targetSEL){this.$el.find(targetSEL).append(uic.$el)}else{this.$el.append(uic.$el)}};UIController.prototype.remove=function(){this.detachEvents();this.$el.remove()};UIController.prototype.destroy=function(){var self=this;this.remove();this.detachEvents();util.forEachOwnProperties(this,function(value,key){self[key]=null})};UIController.extend=function(props){var newUIC=util.defineClass(this,props);newUIC.extend=UIController.extend;return newUIC};module.exports=UIController},function(module,exports,__webpack_require__){"use strict";var UIController=__webpack_require__(42);var Tooltip=__webpack_require__(44);var util=tui.util;var tooltip=new Tooltip;function Button(options){UIController.call(this,{tagName:"button",className:options.className+" tui-toolbar-icons",rootElement:options.$el});this._setOptions(options);this.render();this.attachEvents({click:"_onClick"});if(options.tooltip){this.attachEvents({mouseover:"_onOver",mouseout:"_onOut"})}}Button.prototype=util.extend({},UIController.prototype);Button.prototype._setOptions=function(options){this.command=options.command;this.event=options.event;this.text=options.text;this.tooltip=options.tooltip;this.style=options.style;this.state=options.state};Button.prototype.render=function(){this.$el.text(this.text);this.$el.attr("type","button");if(this.style){this.$el.attr("style",this.style)}};Button.prototype._onClick=function(){if(this.command){this.trigger("command",this.command)}else{this.trigger("event",this.event)}this.trigger("clicked")};Button.prototype._onOver=function(){tooltip.show(this.$el,this.tooltip)};Button.prototype._onOut=function(){tooltip.hide()};module.exports=Button},function(module,exports){"use strict";var TOOLTIP_CONTENT='
    ';function Tooltip(){this.$el=$(TOOLTIP_CONTENT);this.$el.appendTo("body");this.$el.hide()}Tooltip.prototype.show=function(target,text){this.$el.css({top:target.offset().top+target.height()+13,left:target.offset().left+3}).find(".text").html(text).end().show()};Tooltip.prototype.hide=function(){this.$el.hide()};module.exports=Tooltip},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(42);var _uicontroller2=_interopRequireDefault(_uicontroller);var _templater=__webpack_require__(46);var _templater2=_interopRequireDefault(_templater);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var buttonTmpl='';function Tab(options){_uicontroller2.default.call(this,{tagName:"div",className:"te-tab"});options=util.extend({},options);this.items=options.items;this.sections=options.sections;this._$activeButton=null;this.render();this._initItemClickEvent(options.onItemClick);this._applyInitName(options.initName)}Tab.prototype=util.extend({},_uicontroller2.default.prototype);Tab.prototype.render=function(){var buttonHtml=(0,_templater2.default)(buttonTmpl,this._getButtonData());this.$el.html(buttonHtml);this.attachEvents({"click button":"_onButtonClick"})};Tab.prototype._applyInitName=function(initName){if(initName){this.activate(initName)}};Tab.prototype._getButtonData=function(){var buttonData=[];for(var i=0,len=this.items.length;i','','',"
    ",'
    '].join("");function LayerPopup(options){options=util.extend({},options);_uicontroller2.default.call(this,{tagName:"div",className:CLASS_PREFIX+"wrapper",rootElement:options.$el});options=util.extend({},options);this._setId();this._initTarget(options);this._initExternalPopupHtmlIfNeed(options);this._initCloserOpener(options);this._initContent(options) -;this._initTitle(options);this._initClassName(options);this._initCssStyles(options)}LayerPopup.prototype=util.extend({},_uicontroller2.default.prototype);LayerPopup.prototype._initTarget=function(options){this.$target=options.$target||$("body")};LayerPopup.prototype._initExternalPopupHtmlIfNeed=function(options){if(options.$el){this.$el=options.$el;this._isExternalHtmlUse=true}};LayerPopup.prototype._initCloserOpener=function(options){this.openerCssQuery=options.openerCssQuery;this.closerCssQuery=options.closerCssQuery};LayerPopup.prototype._initContent=function(options){if(options.content){this.$content=$(options.content)}else if(options.textContent){this.$content=options.textContent}};LayerPopup.prototype._initTitle=function(options){this.title=options.title};LayerPopup.prototype._initClassName=function(options){if(options.className){this.className=options.className}};LayerPopup.prototype.render=function(){this._renderLayout();this._renderTitle();this._renderContent();this._attachPopupEvent()};LayerPopup.prototype._renderLayout=function(){if(!this._isExternalHtmlUse){this.$el.html(LAYOUT_TEMPLATE);this.$el.addClass(this.className);this.hide();this.$target.append(this.$el);this.$body=this.$el.find(this._getFullClassName("body"));if(this.title===false){this.$el.find(this._getFullClassName("header")).remove()}}else{this.hide();if(this.$target){this.$target.append(this.$el)}}};LayerPopup.prototype._renderContent=function(){if(!this._isExternalHtmlUse){this.setContent(this.$content)}};LayerPopup.prototype._renderTitle=function(){if(!this._isExternalHtmlUse&&this.title!==false){this.setTitle(this.title)}};LayerPopup.prototype._getFullClassName=function(lastName){return"."+CLASS_PREFIX+lastName};LayerPopup.prototype._attachOpenerCloserEvent=function(){var self=this;if(this.openerCssQuery){$(this.openerCssQuery).on("click."+this._getId(),function(){self.show()})}if(this.closerCssQuery){$(this.closerCssQuery).on("click."+this._getId(),function(){self.hide()})}};LayerPopup.prototype._detachOpenerCloserEvent=function(){if(this.openerCssQuery){$(this.openerCssQuery).off("."+this._getId())}if(this.closerCssQuery){$(this.closerCssQuery).off("."+this._getId())}};LayerPopup.prototype._attachPopupControlEvent=function(){var self=this;this.on("click "+this._getFullClassName("close-button"),function(){self.hide()})};LayerPopup.prototype._detachPopupEvent=function(){this.off();this._detachOpenerCloserEvent()};LayerPopup.prototype._attachPopupEvent=function(){this._attachPopupControlEvent();this._attachOpenerCloserEvent()};LayerPopup.prototype._setId=function(){this._id=_id;_id+=1};LayerPopup.prototype._getId=function(){return this._id};LayerPopup.prototype.setContent=function($content){this.$body.empty();this.$body.append($content)};LayerPopup.prototype.setTitle=function(title){var $title=this.$el.find(this._getFullClassName("title"));$title.empty();$title.append(title)};LayerPopup.prototype.hide=function(){this.$el.css("display","none");this._isShow=false;this.trigger("hidden",this)};LayerPopup.prototype.show=function(){this.$el.css("display","block");this._isShow=true;this.trigger("shown",this)};LayerPopup.prototype.isShow=function(){return this._isShow};LayerPopup.prototype.remove=function(){this.trigger("remove",this);this._detachPopupEvent();this.$el.empty();this.$el.remove()};LayerPopup.prototype.css=function(){var _$el;(_$el=this.$el).css.apply(_$el,arguments)};LayerPopup.prototype._initCssStyles=function(options){if(options.css){this.css(options.css)}};LayerPopup.factory=function(options){var popup=new LayerPopup(options);popup.render();return popup};LayerPopup.CLASS_PREFIX=CLASS_PREFIX;module.exports=LayerPopup},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(42);var _uicontroller2=_interopRequireDefault(_uicontroller);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var TYPE={MARKDOWN:"markdown",WYSIWYG:"wysiwyg"};function ModeSwitch(initialType){_uicontroller2.default.call(this,{tagName:"div",className:"te-mode-switch"});this._render();this._switchType(util.isExisty(initialType)?initialType:TYPE.MARKDOWN)}ModeSwitch.prototype=util.extend({},_uicontroller2.default.prototype);ModeSwitch.prototype._render=function(){this.$buttons={};this.$buttons.markdown=$('");this.$buttons.wysiwyg=$('");this.$el.append(this.$buttons.markdown);this.$el.append(this.$buttons.wysiwyg);this.attachEvents({"click .markdown":"_changeMarkdown","click .wysiwyg":"_changeWysiwyg"})};ModeSwitch.prototype._changeMarkdown=function(){this._switchType(TYPE.MARKDOWN)};ModeSwitch.prototype._changeWysiwyg=function(){this._switchType(TYPE.WYSIWYG)};ModeSwitch.prototype._setActiveButton=function(type){util.forEach(this.$buttons,function($button){$button.removeClass("active")});this.$buttons[type].addClass("active")};ModeSwitch.prototype._switchType=function(type){if(this.type===type){return}this.type=type;this._setActiveButton(type);this.trigger("modeSwitched",this.type)};ModeSwitch.TYPE=TYPE;module.exports=ModeSwitch},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddLink(options){var POPUP_CONTENT=['",'','",'','
    ','",'","
    "].join("");options=util.extend({title:_i18n2.default.get("Insert link"),className:"te-popup-add-link tui-editor-popup",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.render();this._bindContentEvent();this._linkWithEventManager(options.eventManager)}PopupAddLink.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddLink.prototype._bindContentEvent=function(){var self=this;this.on("click .te-ok-button",function(){self.trigger("okButtonClicked",self);self.hide()});this.on("click .te-close-button",function(){self.trigger("closeButtonClicked",self);self.hide()});this.on("shown",function(){self.$el.find(".te-link-text-input").focus()});this.on("hidden",function(){self.resetInputs()})};PopupAddLink.prototype._linkWithEventManager=function(eventManager){var self=this;eventManager.listen("focus",function(){self.hide()});eventManager.listen("openPopupAddLink",function(){eventManager.emit("closeAllPopup");self.show()});eventManager.listen("closeAllPopup",function(){self.hide()});this.on("okButtonClicked",function(){eventManager.emit("command","AddLink",self.getValue())})};PopupAddLink.prototype.getValue=function(){return{linkText:this.$el.find(".te-link-text-input").val(),url:this.$el.find(".te-url-input").val().replace(/\(/g,"%28").replace(/\)/g,"%29")}};PopupAddLink.prototype.resetInputs=function(){this.$el.find("input").val("")};module.exports=PopupAddLink},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _tab=__webpack_require__(45);var _tab2=_interopRequireDefault(_tab);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddImage(options){var POPUP_CONTENT=['
    ','
    ','",'',"
    ",'
    ','",'',"
    ",'",'','
    ','",'","
    "].join("");options=util.extend({title:_i18n2.default.get("Insert image"),className:"te-popup-add-image tui-editor-popup",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.render();this._bindContentEvent();this._linkWithEventManager()}PopupAddImage.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddImage.prototype._bindContentEvent=function(){var self=this;this.on("click .te-ok-button",function(){self.trigger("okButtonClicked",self);self.hide()});this.on("click .te-close-button",function(){self.trigger("closeButtonClicked",self);self.hide()});this.on("shown",function(){self.$el.find(".te-image-url-input").focus()});this.on("hidden",function(){self.resetInputs()});this.tab.on("itemClick",function(){self.resetInputs()});this.on("change .te-image-file-input",function(){var filename=self.$el.find(".te-image-file-input").val().split("\\").pop();self.$el.find(".te-alt-text-input").val(filename)})};PopupAddImage.prototype._linkWithEventManager=function(){var _this=this;this.eventManager.listen("focus",function(){_this.hide()});this.eventManager.listen("openPopupAddImage",function(){_this.eventManager.emit("closeAllPopup");_this.show()});this.eventManager.listen("closeAllPopup",function(){_this.hide()});this.on("okButtonClicked",function(){var imageUrl=_this.$el.find(".te-image-url-input").val();var altText=_this.$el.find(".te-alt-text-input").val();if(imageUrl){_this.applyImage(imageUrl,altText)}else{_this.eventManager.emit("addImageBlobHook",_this.$el.find(".te-image-file-input")[0].files[0],function(url,text){return _this.applyImage(url,altText||text)},"ui")}})};PopupAddImage.prototype.applyImage=function(imageUrl,altText){this.eventManager.emit("command","AddImage",{imageUrl:imageUrl,altText:altText||"image"});this.hide()};PopupAddImage.prototype._renderContent=function(){var $popup=this.$el;_layerpopup2.default.prototype._renderContent.call(this);this.tab=new _tab2.default({initName:_i18n2.default.get("File"),items:[_i18n2.default.get("File"),_i18n2.default.get("URL")],sections:[$popup.find(".te-file-type"),$popup.find(".te-url-type")]});this.$body.find(".te-tab-section").append(this.tab.$el)};PopupAddImage.prototype._getImageFileForm=function(){return this.$el.find("form")};PopupAddImage.prototype.resetInputs=function(){this.$el.find("input").val("")};module.exports=PopupAddImage},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupTableUtils(options){var POPUP_CONTENT=['",'",'",'",'",'",'",'"].join("");options=util.extend({title:false,className:"te-popup-table-utils",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.render();this._bindContentEvent();this._linkWithEventManager()}PopupTableUtils.prototype=util.extend({},_layerpopup2.default.prototype);PopupTableUtils.prototype._bindContentEvent=function(){var self=this;this.on("click .te-table-add-row",function(){self.eventManager.emit("command","AddRow")});this.on("click .te-table-add-col",function(){self.eventManager.emit("command","AddCol")});this.on("click .te-table-remove-row",function(){self.eventManager.emit("command","RemoveRow")});this.on("click .te-table-col-align-left",function(){self.eventManager.emit("command","AlignCol","left")});this.on("click .te-table-col-align-center",function(){self.eventManager.emit("command","AlignCol","center")});this.on("click .te-table-col-align-right",function(){self.eventManager.emit("command","AlignCol","right")});this.on("click .te-table-remove-col",function(){self.eventManager.emit("command","RemoveCol")});this.on("click .te-table-remove",function(){self.eventManager.emit("command","RemoveTable")})};PopupTableUtils.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("mousedown",function(){self.hide()});this.eventManager.listen("openPopupTableUtils",function(event){var offset=self.$el.parent().offset();var x=event.clientX-offset.left;var y=event.clientY-offset.top+$(window).scrollTop();self.eventManager.emit("closeAllPopup");self.$el.css({position:"absolute",top:y+5,left:x+10});self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};module.exports=PopupTableUtils},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var POPUP_CONTENT=['
    ','
    ','
    ','
    ',"
    ",'

    '].join("");var CELL_WIDTH=25,CELL_HEIGHT=17,MIN_ROW_INDEX=7,MAX_ROW_INDEX=14,MIN_COL_INDEX=5,MAX_COL_INDEX=9,MIN_ROW_SELECTION_INDEX=1,MIN_COL_SELECTION_INDEX=1,HEADER_ROW_COUNT=1,LAST_BORDER=1;function PopupAddTable(options){options=util.extend({title:false,className:"te-popup-add-table",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this._selectedBound={};this._tableBound={};this.eventManager=options.eventManager;this.$button=options.$button;this.render();this._cacheElements();this._bindContentEvent();this._linkWithEventManager();this._setTableSizeByBound(MIN_COL_INDEX,MIN_ROW_INDEX)}PopupAddTable.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddTable.prototype._cacheElements=function(){this.$header=this.$el.find(".te-table-header");this.$body=this.$el.find(".te-table-body");this.$selection=this.$el.find(".te-selection-area");this.$desc=this.$el.find(".te-description")};PopupAddTable.prototype._bindContentEvent=function(){var self=this;this.on("mousemove .te-table-selection",function(ev){var x=ev.pageX-self._selectionOffset.left;var y=ev.pageY-self._selectionOffset.top;var bound=self._getSelectionBoundByOffset(x,y);self._resizeTableBySelectionIfNeed(bound.col,bound.row);self._setSelectionAreaByBound(bound.col,bound.row);self._setDisplayText(bound.col,bound.row);self._setSelectedBound(bound.col,bound.row)});this.on("click .te-table-selection",function(){var tableSize=self._getSelectedTableSize();self.eventManager.emit("command","Table",tableSize.col,tableSize.row)})};PopupAddTable.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openPopupAddTable",function(){self.eventManager.emit("closeAllPopup");self.$el.css({top:self.$button.position().top+self.$button.height()+5,left:self.$button.position().left});self.show();self._selectionOffset=self.$el.find(".te-table-selection").offset()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};PopupAddTable.prototype._resizeTableBySelectionIfNeed=function(col,row){var resizedBound=this._getResizedTableBound(col,row);if(resizedBound){this._setTableSizeByBound(resizedBound.col,resizedBound.row)}};PopupAddTable.prototype._getResizedTableBound=function(col,row){var resizedCol=void 0,resizedRow=void 0,resizedBound=void 0;if(col>=MIN_COL_INDEX&&col=MIN_ROW_INDEX&&rowthis._tableBound.row){bound.row=this._tableBound.row}if(bound.colthis._tableBound.col){bound.col=this._tableBound.col}return bound};PopupAddTable.prototype._setSelectionAreaByBound=function(col,row){var boundOffset=this._getOffsetByBound(col,row);this._setSelectionArea(boundOffset.x,boundOffset.y)};PopupAddTable.prototype._setSelectedBound=function(col,row){this._selectedBound.col=col;this._selectedBound.row=row};PopupAddTable.prototype._getSelectedTableSize=function(){return{row:this._selectedBound.row+1,col:this._selectedBound.col+1}};PopupAddTable.prototype._setDisplayText=function(col,row){this.$desc.html(col+1+" x "+(row+1))};PopupAddTable.prototype._setTableSize=function(x,y){x+=LAST_BORDER;y+=LAST_BORDER;this.$header.css({height:CELL_HEIGHT,width:x});this.$body.css({height:y,width:x});this.$el.css({width:x+30})};PopupAddTable.prototype._setSelectionArea=function(x,y){x+=LAST_BORDER;y+=LAST_BORDER;this.$selection.css({height:y,width:x})};PopupAddTable.CELL_WIDTH=CELL_WIDTH;PopupAddTable.CELL_HEIGHT=CELL_HEIGHT;PopupAddTable.MIN_ROW_SELECTION_INDEX=MIN_ROW_SELECTION_INDEX;PopupAddTable.MIN_COL_SELECTION_INDEX=MIN_COL_SELECTION_INDEX;module.exports=PopupAddTable},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddHeading(options){var POPUP_CONTENT=["
      ",'
    • '+_i18n2.default.get("Heading")+" 1

    • ",'
    • '+_i18n2.default.get("Heading")+" 2

    • ",'
    • '+_i18n2.default.get("Heading")+" 3

    • ",'
    • '+_i18n2.default.get("Heading")+" 4

    • ",'
    • '+_i18n2.default.get("Heading")+" 5
    • ",'
    • '+_i18n2.default.get("Heading")+" 6
    • ",'
    • '+_i18n2.default.get("Paragraph")+"
    • ","
    "].join("");options=util.extend({title:false,className:"te-heading-add",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.$button=options.$button;this.render();this._linkWithEventManager();this._bindEvent()}PopupAddHeading.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddHeading.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openHeadingSelect",function(){self.eventManager.emit("closeAllPopup");self.$el.css({top:self.$button.position().top+self.$button.height()+5,left:self.$button.position().left});self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};PopupAddHeading.prototype._bindEvent=function(){var self=this;this.on("click li",function(){self.eventManager.emit("command",$(this).data("type"),$(this).data("value"))})};module.exports=PopupAddHeading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var boldRegex=/^[\*_]{2,}[^\*_]*[\*_]{2,}$/;var Bold=_commandManager2.default.command("markdown",{name:"Bold",keyMap:["CTRL+B","META+B"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isEmpty=!selection;if(isEmpty&&cursor.ch>1){var tmpSelection=this.expendSelection(doc,cursor);selection=tmpSelection||selection}var isRemoved=this.isNeedRemove(selection);var result=isRemoved?this.remove(selection):this.append(selection);doc.replaceSelection(result,"around");if(isEmpty&&!isRemoved){this.setCursorToCenter(doc,cursor)}cm.focus()},isNeedRemove:function isNeedRemove(text){return boldRegex.test(text)},append:function append(text){return"**"+text+"**"},remove:function remove(text){return text.substr(2,text.length-4)},expendSelection:function expendSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){result=tmpSelection}else{doc.setSelection(cursor)}return result},setCursorToCenter:function setCursorToCenter(doc,cursor){doc.setCursor(cursor.line,cursor.ch+2)}});module.exports=Bold},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var boldItalicRegex=/^[\*_]{3,}[^\*_]*[\*_]{3,}$/;var italicRegex=/^[\*_][^\*_]*[\*_]$/;var Italic=_commandManager2.default.command("markdown",{name:"Italic",keyMap:["CTRL+I","META+I"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isEmpty=!selection;var isWithBold=false;var tmpSelection=void 0;if(isEmpty){if(cursor.ch>2){tmpSelection=this.expendWithBoldSelection(doc,cursor);if(tmpSelection){isWithBold="with"}}if(isWithBold!=="with"&&cursor.ch>1){isWithBold=this.expendOnlyBoldSelection(doc,cursor)}if(!isWithBold&&cursor.ch>0){this.expendSelection(doc,cursor);selection=tmpSelection||selection}}var isRemoved=this.isNeedRemove(selection);var result=isRemoved?this.remove(selection):this.append(selection);doc.replaceSelection(result,"around");if(isEmpty){this.setCursorToCenter(doc,cursor,isRemoved)}cm.focus()},isNeedRemove:function isNeedRemove(text){return italicRegex.test(text)||boldItalicRegex.test(text)},append:function append(text){return"_"+text+"_"},remove:function remove(text){return text.substr(1,text.length-2)},expendWithBoldSelection:function expendWithBoldSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-3};var end={line:cursor.line,ch:cursor.ch+3};doc.setSelection(start,end);if(tmpSelection==="******"||tmpSelection==="______"){result=tmpSelection}else{doc.setSelection(cursor)}return result},expendOnlyBoldSelection:function expendOnlyBoldSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=false;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){doc.setSelection(cursor);result="only"}return result},expendSelection:function expendSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){result=tmpSelection}else{doc.setSelection(cursor)}return result},setCursorToCenter:function setCursorToCenter(doc,cursor,isRemoved){var pos=isRemoved?-1:1;doc.setCursor(cursor.line,cursor.ch+pos)}});module.exports=Italic},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var strikeRegex=/^[~~](.*[\s\n]*.*)*[~~]$/;var Strike=_commandManager2.default.command("markdown",{name:"Strike",keyMap:["CTRL+S","META+S"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isNeedToRemove=this.hasStrikeSyntax(selection);var result=void 0;if(isNeedToRemove){result=this.remove(selection)}else{result=this.append(selection)}doc.replaceSelection(result,"around");var isEmptySelection=!selection;if(isEmptySelection&&!isNeedToRemove){this.setCursorToCenter(doc,cursor,isNeedToRemove)}cm.focus()},hasStrikeSyntax:function hasStrikeSyntax(text){return strikeRegex.test(text)},append:function append(text){return"~~"+text+"~~"},remove:function remove(text){return text.substr(2,text.length-4)},setCursorToCenter:function setCursorToCenter(doc,cursor,isRemoved){var pos=isRemoved?-2:2;doc.setCursor(cursor.line,cursor.ch+pos)}});module.exports=Strike},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Blockquote=_commandManager2.default.command("markdown",{name:"Blockquote",keyMap:["CTRL+Q","META+Q"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var textToModify=doc.getRange(from,to);var textLinesToModify=textToModify.split("\n");var lineLength=textLinesToModify.length;for(var i=0;i"+textLinesToModify[i]}doc.replaceRange(textLinesToModify.join("\n"),from,to);range.to.ch+=1;doc.setCursor(range.to);cm.focus()}});module.exports=Blockquote},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var FIND_HEADING_RX=/^#+\s/g;var Heading=_commandManager2.default.command("markdown",{name:"Heading",exec:function exec(mde,size){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var lengthOfCurrentLineBefore=doc.getLine(to.line).length;var textToModify=doc.getRange(from,to);var textLinesToModify=textToModify.split("\n");util.forEachArray(textLinesToModify,function(line,index){textLinesToModify[index]=getHeadingMarkdown(line,size)});doc.replaceRange(textLinesToModify.join("\n"),from,to);range.to.ch+=doc.getLine(to.line).length-lengthOfCurrentLineBefore;doc.setSelection(from,range.to);cm.focus()}});function getHeadingMarkdown(text,size){var foundedHeading=text.match(FIND_HEADING_RX);var heading="";do{heading+="#";size-=1}while(size>0);if(foundedHeading){text=text.split(foundedHeading[0])[1]}return heading+" "+text}module.exports=Heading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var Paragraph=_commandManager2.default.command("markdown",{name:"Paragraph",exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var lengthOfCurrentLineBefore=doc.getLine(to.line).length;var textToModify=doc.getRange(from,to);var textLines=textToModify.split("\n");util.forEachArray(textLines,function(line,index){textLines[index]=getParagraphMarkdown(line)});doc.replaceRange(textLines.join("\n"),from,to);range.to.ch+=doc.getLine(to.line).length-lengthOfCurrentLineBefore;doc.setSelection(from,to);cm.focus()}});function getParagraphMarkdown(lineText){var headingRx=/^(#{1,6}| *((?:\*|-|\d\.)(?: \[[ xX]])?)) /;return lineText.replace(headingRx,"")}module.exports=Paragraph},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HR=_commandManager2.default.command("markdown",{name:"HR",keyMap:["CTRL+L","META+L"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var replaceText="";var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};if(range.collapsed){replaceText=doc.getLine(from.line);from.ch=0;to.ch=doc.getLineHandle(range.to.line).text.length}if(doc.getLine(from.line).length){replaceText+="\n\n* * *\n\n"}else{replaceText+="\n* * *\n"}doc.replaceRange(replaceText,from,to);cm.focus()}});module.exports=HR},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddLink=_commandManager2.default.command("markdown",{name:"AddLink",exec:function exec(mde,data){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};var replaceText="["+data.linkText+"]("+data.url+")";doc.replaceRange(replaceText,from,to);cm.focus()}});module.exports=AddLink},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddImage=_commandManager2.default.command("markdown",{name:"AddImage",exec:function exec(mde,data){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};var replaceText="!["+data.altText+"]("+data.imageUrl+")";doc.replaceRange(replaceText,from,to,"+addImage");cm.focus()}});module.exports=AddImage -},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var FIND_MD_OL_RX=/^[ \t]*[\d]+\. .*/;var FIND_MD_UL_RX=/^[ \t]*[-*] .*/;var FIND_MD_TASK_RX=/^[ \t]*[-*]( \[[ xX]])? .*/;var UL=_commandManager2.default.command("markdown",{name:"UL",keyMap:["CTRL+U","META+U"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var listManager=mde.componentManager.getManager("list");var lineRange=listManager.expandLineRangeIfNeed(doc,range,isOlOrTask);var startLineNumber=lineRange.start;var endLineNumber=lineRange.end;var line=void 0,currentLineStart=void 0;for(var i=startLineNumber;i<=endLineNumber;i+=1){currentLineStart={line:i,ch:0};line=doc.getLine(i);if(listManager.isListOrParagraph(line)){if(isOlOrTask(line)){listManager.replaceLineText(doc,i,/[\d]+\. /,"* ")}else if(!line.match(FIND_MD_UL_RX)){doc.replaceRange("* ",currentLineStart)}if(i===endLineNumber){listManager.appendBlankLineIfNeed(cm,i,endLineNumber,startLineNumber)}}else{break}}cm.focus()}});function isOlOrTask(line){return!!(line&&(line.match(FIND_MD_TASK_RX)||line.match(FIND_MD_OL_RX)))}module.exports=UL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var FIND_MD_OL_RX=/^[ \t]*[\d]+\. .*/;var FIND_MD_UL_RX=/^[ \t]*[-*] .*/;var FIND_MD_TASK_RX=/^[ \t]*[-*]( \[[ xX]])? .*/;var OL=_commandManager2.default.command("markdown",{name:"OL",keyMap:["CTRL+O","META+O"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var listManager=mde.componentManager.getManager("list");var lineRange=listManager.expandLineRangeIfNeed(doc,range,isUlOrTask);var startLineNumber=lineRange.start;var endLineNumber=lineRange.end;var ordinalNumber=1;var line=void 0,currentLineStart=void 0;for(var i=startLineNumber;i<=endLineNumber;i+=1){currentLineStart={line:i,ch:0};line=doc.getLine(i);if(listManager.isListOrParagraph(line)){if(isUlOrTask(line)){listManager.replaceLineText(doc,i,/[*-] /,ordinalNumber+". ")}else if(!line.match(FIND_MD_OL_RX)){doc.replaceRange(ordinalNumber+". ",currentLineStart)}ordinalNumber+=1;if(i===endLineNumber){listManager.appendBlankLineIfNeed(cm,i,endLineNumber,startLineNumber)}}else{break}}cm.focus()}});function isUlOrTask(line){return!!(line&&(line.match(FIND_MD_TASK_RX)||line.match(FIND_MD_UL_RX)))}module.exports=OL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Table=_commandManager2.default.command("markdown",{name:"Table",exec:function exec(mde,col,row,data){var cm=mde.getEditor();var doc=cm.getDoc();var table="\n";if(cm.getCursor().ch>0){table+="\n"}table+=makeHeader(col,data);table+=makeBody(col,row-1,data);doc.replaceSelection(table);if(!data){cm.setCursor(cm.getCursor().line-row,2)}mde.focus()}});function makeHeader(col,data){var header="|";var border="|";var index=0;while(col){if(data){header+=" "+data[index]+" |";index+=1}else{header+=" |"}border+=" --- |";col-=1}return header+"\n"+border+"\n"}function makeBody(col,row,data){var body="";var index=col;for(var irow=0;irow";var $block=$(block);if($block.is("DIV")){$block.wrap(headingHTML)}else{var $wrapperHeading=$(headingHTML);$wrapperHeading.insertBefore(block);$wrapperHeading.html($block.html());$block.remove()}});return fragment})}}});module.exports=Heading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Paragraph=_commandManager2.default.command("wysiwyg",{name:"Paragraph",exec:function exec(wwe){var sq=wwe.getEditor();sq.focus();if(!sq.hasFormat("TABLE")&&!sq.hasFormat("PRE")){sq.modifyBlocks(function(fragment){var $newFragment=$(document.createDocumentFragment());$(fragment).children().each(function(index,block){if(block.nodeName.match(/h\d/i)){$newFragment.append($(block).children())}else if(block.nodeName.match(/ul|ol/i)){$(block).find("li").each(function(i,listItem){$newFragment.append($(listItem).children())})}else{$newFragment.append(block)}});return $newFragment[0]})}}});module.exports=Paragraph},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var UL=_commandManager2.default.command("wysiwyg",{name:"UL",keyMap:["CTRL+U","META+U"],exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection();var listManager=wwe.componentManager.getManager("list");var start=range.startContainer;var startOffset=range.startOffset;var end=range.endContainer;var endOffset=range.endOffset;sq.focus();sq.saveUndoState(range);var lines=listManager.getLinesOfSelection(start,end);for(var i=0;i';tableHTMLString+=makeHeader(col,data);tableHTMLString+=makeBody(col,row-1,data);tableHTMLString+="";sq.insertHTML(tableHTMLString);sq.focus();if(!data){focusToFirstTh(sq,wwe.get$Body().find("."+tableIDClassName))}}});function focusToFirstTh(sq,$table){var range=sq.getSelection();range.selectNodeContents($table.find("th")[0]);range.collapse(true);sq.setSelection(range)}function makeHeader(col,data){var header="";var index=0;while(col){header+="";if(data){header+=data[index];index+=1}header+="";col-=1}header+="";return header}function makeBody(col,row,data){var body="";var index=col;for(var irow=0;irow";for(var icol=0;icol";if(data){body+=data[index];index+=1}body+=""}body+=""}body+="";return body}module.exports=Table},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddRow=_commandManager2.default.command("wysiwyg",{name:"AddRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $tr=void 0,$newRow=void 0;sq.focus();if(sq.hasFormat("TD")){sq.saveUndoState(range);$tr=$(range.startContainer).closest("tr");$newRow=getNewRow($tr);$newRow.insertAfter($tr);focusToFirstTd(sq,$newRow)}else if(sq.hasFormat("TH")){sq.saveUndoState(range);$tr=$(range.startContainer).parents("thead").next("tbody").children("tr").eq(0);$newRow=getNewRow($tr);$newRow.insertBefore($tr);focusToFirstTd(sq,$newRow)}}});function getNewRow($tr){var cloned=$tr.clone();var htmlString=tui.util.browser.msie?"":"
    ";cloned.find("td").html(htmlString);return cloned}function focusToFirstTd(sq,$tr){var range=sq.getSelection();range.selectNodeContents($tr.find("td")[0]);range.collapse(true);sq.setSelection(range)}module.exports=AddRow},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(11);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddCol=_commandManager2.default.command("wysiwyg",{name:"AddCol",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $cell=void 0;sq.focus();if(sq.hasFormat("TR")){sq.saveUndoState(range);$cell=getCellByRange(range);addColToCellAfter($cell);focusToNextCell(sq,$cell)}}});function getCellByRange(range){var cell=range.startContainer;if(_domUtils2.default.getNodeName(cell)==="TD"||_domUtils2.default.getNodeName(cell)==="TH"){cell=$(cell)}else{cell=$(cell).parentsUntil("tr")}return cell}function addColToCellAfter($cell){var index=$cell.index();var cellToAdd=void 0;$cell.parents("table").find("tr").each(function(n,tr){if(_domUtils2.default.getNodeName(tr.parentNode)==="TBODY"){cellToAdd=$("")}else{cellToAdd=$("")}if(!tui.util.browser.msie){cellToAdd.append($("
    ")[0])}$(cellToAdd).insertAfter($(tr).children().eq(index))})}function focusToNextCell(sq,$cell){var range=sq.getSelection();range.selectNodeContents($cell.next()[0]);range.collapse(true);sq.setSelection(range)}module.exports=AddCol},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RemoveRow=_commandManager2.default.command("wysiwyg",{name:"RemoveRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $table=$(range.startContainer).parents("table");var selectionMgr=wwe.componentManager.getManager("tableSelection");var tableMgr=wwe.componentManager.getManager("table");var $tr=getTrs(range,selectionMgr,$table);var tbodyRowLength=$table.find("tbody tr").length;sq.focus();if((sq.hasFormat("TD")||sq.hasFormat("TABLE"))&&tbodyRowLength>1){sq.saveUndoState(range);var $nextFocus=$tr.last().next()[0]?$tr.last().next():$tr.first().prev();if($nextFocus.length){focusToFirstTd(sq,range,$nextFocus,tableMgr)}$tr.remove()}selectionMgr.removeClassAttrbuteFromAllCellsIfNeed()}});function focusToFirstTd(sq,range,$tr,tableMgr){var nextFocusCell=$tr.find("td")[0];range.setStart(nextFocusCell,0);range.collapse(true);tableMgr.setLastCellNode(nextFocusCell);sq.setSelection(range)}function getSelectedRows(firstSelectedCell,rangeInformation,$table){var tbodyRowLength=$table.find("tbody tr").length;var isStartContainerInThead=$(firstSelectedCell).parents("thead").length;var startRowIndex=rangeInformation.from.row;var endRowIndex=rangeInformation.to.row;if(isStartContainerInThead){startRowIndex+=1}var isWholeTbodySelected=(startRowIndex===1||isStartContainerInThead)&&endRowIndex===tbodyRowLength;if(isWholeTbodySelected){endRowIndex-=1}return $table.find("tr").slice(startRowIndex,endRowIndex+1)}function getTrs(range,selectionMgr,$table){var selectedCells=selectionMgr.getSelectedCells();var rangeInformation=void 0,trs=void 0;if(selectedCells.length){rangeInformation=selectionMgr.getSelectionRangeFromTable(selectedCells.first()[0],selectedCells.last()[0]);trs=getSelectedRows(selectedCells.first()[0],rangeInformation,$table)}else{var cell=$(range.startContainer).closest("td,th")[0];rangeInformation=selectionMgr.getSelectionRangeFromTable(cell,cell);trs=getSelectedRows(cell,rangeInformation,$table)}return trs}module.exports=RemoveRow},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(11);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RemoveCol=_commandManager2.default.command("wysiwyg",{name:"RemoveCol",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var tableMgr=wwe.componentManager.getManager("table");var isAbleToRemoveColumn=$(range.startContainer).closest("table").find("thead tr th").length>1;sq.focus();range.collapse(true);sq.setSelection(range);if(sq.hasFormat("TR",null,range)&&isAbleToRemoveColumn){sq.saveUndoState(range);var $cell=getCellByRange(range);var $nextFocus=$cell.next().length?$cell.next():$cell.prev();removeColByCell($cell);focusToCell(sq,$nextFocus,tableMgr)}}});function getCellByRange(range){var cell=range.startContainer;if(_domUtils2.default.getNodeName(cell)==="TD"||_domUtils2.default.getNodeName(cell)==="TH"){cell=$(cell)}else{cell=$(cell).parentsUntil("tr")}return cell}function removeColByCell($cell){var index=$cell.index();$cell.parents("table").find("tr").each(function(n,tr){$(tr).children().eq(index).remove()})}function focusToCell(sq,$cell,tableMgr){var nextFocusCell=$cell[0];if($cell.length){var range=sq.getSelection();range.selectNodeContents($cell[0]);range.collapse(true);sq.setSelection(range);tableMgr.setLastCellNode(nextFocusCell)}}module.exports=RemoveCol},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(11);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AlignCol=_commandManager2.default.command("wysiwyg",{name:"AlignCol",exec:function exec(wwe,alignDirection){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var selectionMgr=wwe.componentManager.getManager("tableSelection");var rangeInformation=getRangeInformation(range,selectionMgr);sq.focus();if(sq.hasFormat("TR")){sq.saveUndoState(range);var $table=$(range.startContainer).parents("table");var selectionInformation=getSelectionInformation($table,rangeInformation);setAlignAttributeToTableCells($table,alignDirection,selectionInformation)}selectionMgr.removeClassAttrbuteFromAllCellsIfNeed()}});function setAlignAttributeToTableCells($table,alignDirection,selectionInformation){var isDivided=selectionInformation.isDivided||false;var start=selectionInformation.startColumnIndex;var end=selectionInformation.endColumnIndex;var columnLength=$table.find("tr").eq(0).find("td,th").length;$table.find("tr").each(function(n,tr){$(tr).children("td,th").each(function(index,cell){if(isDivided&&(start<=index&&index<=columnLength||index<=end)){$(cell).attr("align",alignDirection)}else if(start<=index&&index<=end){$(cell).attr("align",alignDirection)}})})}function getSelectionInformation($table,rangeInformation){var columnLength=$table.find("tr").eq(0).find("td,th").length;var from=rangeInformation.from;var to=rangeInformation.to;var startColumnIndex=void 0,endColumnIndex=void 0,isDivided=void 0;if(from.row===to.row){startColumnIndex=from.cell;endColumnIndex=to.cell}else if(from.row"+codeBlockBody+"
    ");focusToFirstCode(wwe.get$Body().find("."+CODEBLOCK_CLASS_PREFIX+codeBlockID),wwe);codeBlockID+=1}sq.focus()}});function focusToFirstCode($pre,wwe){var range=wwe.getEditor().getSelection().cloneRange();range.setStartBefore($pre.find("div")[0].firstChild);range.collapse(true);wwe.getEditor().setSelection(range)}function getCodeBlockBody(range,wwe){var mgr=wwe.componentManager.getManager("codeblock");var contents=void 0,nodes=void 0;if(range.collapsed){nodes=[$("

    ")[0]]}else{contents=range.extractContents();nodes=tui.util.toArray(contents.childNodes)}var codeBlock=mgr.convertToCodeblock(nodes).innerHTML;return codeBlock}module.exports=CodeBlock},function(module,exports){"use strict";CodeMirror.overlayMode=function(base,overlay,combine){return{startState:function startState(){return{base:CodeMirror.startState(base),overlay:CodeMirror.startState(overlay),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function copyState(state){return{base:CodeMirror.copyState(base,state.base),overlay:CodeMirror.copyState(overlay,state.overlay),basePos:state.basePos,baseCur:null,overlayPos:state.overlayPos,overlayCur:null}},token:function token(stream,state){if(stream!=state.streamSeen||Math.min(state.basePos,state.overlayPos)` "'(~]+/,fencedCodeRE=new RegExp("^("+(modeCfg.fencedCodeBlocks===true?"~~~+|```+":modeCfg.fencedCodeBlocks)+")[ \\t]*([\\w+#]*)");function switchInline(stream,state,f){state.f=state.inline=f;return f(stream,state)}function switchBlock(stream,state,f){state.f=state.block=f;return f(stream,state)}function lineIsEmpty(line){return!line||!/\S/.test(line.string)}function blankLine(state){state.linkTitle=false;state.em=false;state.strong=false;state.strikethrough=false;state.quote=0;state.indentedCode=false;if(!htmlFound&&state.f==htmlBlock){state.f=inlineNormal;state.block=blockNormal}state.trailingSpace=0;state.trailingSpaceNewLine=false;state.prevLine=state.thisLine;state.thisLine=null;return null}function blockNormal(stream,state){var sol=stream.sol();var prevLineIsList=state.list!==false,prevLineIsIndentedCode=state.indentedCode;state.indentedCode=false;if(prevLineIsList){if(state.indentationDiff>=0){if(state.indentationDiff<4){state.indentation-=state.indentationDiff}state.list=null}if(state.indentation>0){state.list=null;state.listDepth=Math.floor(state.indentation/4)+1}else{state.list=false;state.listDepth=0}}var match=null;if(state.indentationDiff>=4){stream.skipToEnd();if(prevLineIsIndentedCode||lineIsEmpty(state.prevLine)){state.indentation-=4;state.indentedCode=true;return code}else{return null}}else if(stream.eatSpace()){return null}else if((match=stream.match(atxHeaderRE))&&match[1].length<=6){state.header=match[1].length;if(modeCfg.highlightFormatting)state.formatting="header";state.f=state.inline;return getType(state)}else if(!lineIsEmpty(state.prevLine)&&!state.quote&&!prevLineIsList&&!prevLineIsIndentedCode&&(match=stream.match(setextHeaderRE))){state.header=match[0].charAt(0)=="="?1:2;if(modeCfg.highlightFormatting)state.formatting="header";state.f=state.inline;return getType(state)}else if(stream.eat(">")){state.quote=sol?1:state.quote+1;if(modeCfg.highlightFormatting)state.formatting="quote";stream.eatSpace();return getType(state)}else if(stream.peek()==="["){return switchInline(stream,state,footnoteLink)}else if(stream.match(hrRE,true)){state.hr=true;return hr}else if((lineIsEmpty(state.prevLine)||prevLineIsList)&&(stream.match(ulRE,false)||stream.match(olRE,false))){var listType=null;if(stream.match(ulRE,true)){listType="ul"}else{stream.match(olRE,true);listType="ol"}state.indentation=stream.column()+stream.current().length;state.list=true;state.listDepth++;if(modeCfg.taskLists&&stream.match(taskListRE,false)){state.taskList=true;state.task=true}state.f=state.inline;if(modeCfg.highlightFormatting)state.formatting=["list","list-"+listType];return getType(state)}else if(modeCfg.fencedCodeBlocks&&(match=stream.match(fencedCodeRE,true))){state.fencedChars=match[1];state.localMode=getMode(match[2]);if(state.localMode)state.localState=state.localMode.startState();state.f=state.block=local;if(modeCfg.highlightFormatting)state.formatting="code-block";state.code=true;return getType(state)}return switchInline(stream,state,state.inline)}function htmlBlock(stream,state){var style=htmlMode.token(stream,state.htmlState);if(htmlFound&&state.htmlState.tagStart===null&&!state.htmlState.context&&state.htmlState.tokenize.isInText||state.md_inside&&stream.current().indexOf(">")>-1){state.f=inlineNormal;state.block=blockNormal;state.htmlState=null}return style}function local(stream,state){if(stream.sol()&&state.fencedChars&&stream.match(state.fencedChars,false)){state.localMode=state.localState=null;state.f=state.block=leavingLocal;return null}else if(state.localMode){return state.localMode.token(stream,state.localState)}else{stream.skipToEnd();return code}}function leavingLocal(stream,state){stream.match(state.fencedChars);state.block=blockNormal;state.f=inlineNormal;state.fencedChars=null;if(modeCfg.highlightFormatting)state.formatting="code-block";state.code=true;var returnType=getType(state);state.code=false;return returnType}function getType(state){var styles=[];if(state.formatting){styles.push(formatting);if(typeof state.formatting==="string")state.formatting=[state.formatting];for(var i=0;i=state.quote){styles.push(formatting+"-"+state.formatting[i]+"-"+state.quote)}else{styles.push("error")}}}}if(state.taskOpen){styles.push("meta");return styles.length?styles.join(" "):null}if(state.taskClosed){styles.push("property");return styles.length?styles.join(" "):null}if(state.linkHref){styles.push(linkhref,"url")}else{if(state.strong){styles.push(strong)}if(state.em){styles.push(em)}if(state.strikethrough){styles.push(strikethrough)}if(state.linkText){styles.push(linktext)}if(state.code){styles.push(code)}}if(state.header){styles.push(header);styles.push(header+"-"+state.header)}if(state.quote){styles.push(quote);if(!modeCfg.maxBlockquoteDepth||modeCfg.maxBlockquoteDepth>=state.quote){styles.push(quote+"-"+state.quote)}else{styles.push(quote+"-"+modeCfg.maxBlockquoteDepth)}}if(state.list!==false){var listMod=(state.listDepth-1)%3;if(!listMod){styles.push(list1)}else if(listMod===1){styles.push(list2)}else{styles.push(list3)}}if(state.trailingSpaceNewLine){styles.push("trailing-space-new-line")}else if(state.trailingSpace){styles.push("trailing-space-"+(state.trailingSpace%2?"a":"b"))}return styles.length?styles.join(" "):null}function handleText(stream,state){if(stream.match(textRE,true)){return getType(state)}return undefined}function inlineNormal(stream,state){var style=state.text(stream,state);if(typeof style!=="undefined")return style;if(state.list){state.list=null;return getType(state)}if(state.taskList){var taskOpen=stream.match(taskListRE,true)[1]!=="x";if(taskOpen)state.taskOpen=true;else state.taskClosed=true;if(modeCfg.highlightFormatting)state.formatting="task";state.taskList=false;return getType(state)}state.taskOpen=false;state.taskClosed=false;if(state.header&&stream.match(/^#+$/,true)){if(modeCfg.highlightFormatting)state.formatting="header";return getType(state)}var sol=stream.sol();var ch=stream.next();if(ch==="\\"){stream.next();if(modeCfg.highlightFormatting){var type=getType(state);return type?type+" formatting-escape":"formatting-escape"}}if(state.linkTitle){state.linkTitle=false;var matchCh=ch;if(ch==="("){matchCh=")"}matchCh=(matchCh+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");var regex="^\\s*(?:[^"+matchCh+"\\\\]+|\\\\\\\\|\\\\.)"+matchCh;if(stream.match(new RegExp(regex),true)){return linkhref}}if(ch==="`"){var previousFormatting=state.formatting;if(modeCfg.highlightFormatting)state.formatting="code";var t=getType(state);var before=stream.pos;stream.eatWhile("`");var difference=1+stream.pos-before;if(!state.code){codeDepth=difference;state.code=true;return getType(state)}else{if(difference===codeDepth){state.code=false;return t}state.formatting=previousFormatting;return getType(state)}}else if(state.code){return getType(state)}if(ch==="!"&&stream.match(/\[[^\]]*\] ?(?:\(|\[)/,false)){stream.match(/\[[^\]]*\]/);return image}if(ch==="["&&stream.match(/.*\](\(.*\)| ?\[.*\])/,false)){state.linkText=true;if(modeCfg.highlightFormatting)state.formatting="link";return getType(state)}if(ch==="]"&&state.linkText&&stream.match(/\(.*\)| ?\[.*\]/,false)){if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);state.linkText=false;state.inline=state.f=linkHref;return type}if(ch==="<"&&stream.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,false)){state.f=state.inline=linkInline;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkinline}if(ch==="<"&&stream.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,false)){state.f=state.inline=linkInline;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkemail}var ignoreUnderscore=false;if(!modeCfg.underscoresBreakWords){if(ch==="_"&&stream.peek()!=="_"&&stream.match(/(\w)/,false)){var prevPos=stream.pos-2;if(prevPos>=0){var prevCh=stream.string.charAt(prevPos);if(prevCh!=="_"&&prevCh.match(/(\w)/,false)){ignoreUnderscore=true}}}}if(ch==="*"||ch==="_"&&!ignoreUnderscore){if(sol&&stream.peek()===" "){}else if(state.strong===ch&&stream.eat(ch)){if(modeCfg.highlightFormatting)state.formatting="strong";var t=getType(state);state.strong=false;return t}else if(!state.strong&&stream.eat(ch)){state.strong=ch;if(modeCfg.highlightFormatting)state.formatting="strong";return getType(state)}else if(state.em===ch){if(modeCfg.highlightFormatting)state.formatting="em";var t=getType(state);state.em=false;return t}else if(!state.em){state.em=ch;if(modeCfg.highlightFormatting)state.formatting="em";return getType(state)}}else if(ch===" "){if(stream.eat("*")||stream.eat("_")){if(stream.peek()===" "){return getType(state)}else{stream.backUp(1)}}}if(modeCfg.strikethrough){if(ch==="~"&&stream.eatWhile(ch)){if(state.strikethrough){if(modeCfg.highlightFormatting)state.formatting="strikethrough";var t=getType(state);state.strikethrough=false;return t}else if(stream.match(/^[^\s]/,false)){state.strikethrough=true;if(modeCfg.highlightFormatting)state.formatting="strikethrough";return getType(state)}}else if(ch===" "){if(stream.match(/^~~/,true)){if(stream.peek()===" "){return getType(state)}else{stream.backUp(2)}}}}if(ch===" "){if(stream.match(/ +$/,false)){state.trailingSpace++}else if(state.trailingSpace){state.trailingSpaceNewLine=true}}return getType(state)}function linkInline(stream,state){var ch=stream.next();if(ch===">"){state.f=state.inline=inlineNormal;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkinline}stream.match(/^[^>]+/,true);return linkinline}function linkHref(stream,state){if(stream.eatSpace()){return null}var ch=stream.next();if(ch==="("||ch==="["){state.f=state.inline=getLinkHrefInside(ch==="("?")":"]");if(modeCfg.highlightFormatting)state.formatting="link-string";state.linkHref=true;return getType(state)}return"error"}function getLinkHrefInside(endChar){return function(stream,state){var ch=stream.next();if(ch===endChar){state.f=state.inline=inlineNormal;if(modeCfg.highlightFormatting)state.formatting="link-string";var returnState=getType(state);state.linkHref=false;return returnState}if(stream.match(inlineRE(endChar),true)){stream.backUp(1)}state.linkHref=true;return getType(state)}}function footnoteLink(stream,state){if(stream.match(/^[^\]]*\]:/,false)){state.f=footnoteLinkInside;stream.next();if(modeCfg.highlightFormatting)state.formatting="link";state.linkText=true;return getType(state)}return switchInline(stream,state,inlineNormal)}function footnoteLinkInside(stream,state){if(stream.match(/^\]:/,true)){state.f=state.inline=footnoteUrl;if(modeCfg.highlightFormatting)state.formatting="link";var returnType=getType(state);state.linkText=false;return returnType}stream.match(/^[^\]]+/,true);return linktext}function footnoteUrl(stream,state){if(stream.eatSpace()){return null}stream.match(/^[^\s]+/,true);if(stream.peek()===undefined){state.linkTitle=true}else{stream.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,true)}state.f=state.inline=inlineNormal;return linkhref+" url"}var savedInlineRE=[];function inlineRE(endChar){if(!savedInlineRE[endChar]){endChar=(endChar+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");savedInlineRE[endChar]=new RegExp("^(?:[^\\\\]|\\\\.)*?("+endChar+")")}return savedInlineRE[endChar]}var mode={startState:function startState(){return{f:blockNormal,prevLine:null,thisLine:null,block:blockNormal,htmlState:null,indentation:0,inline:inlineNormal,text:handleText,formatting:false,linkText:false,linkHref:false,linkTitle:false,em:false,strong:false,header:0,hr:false,task:false,taskList:false,list:false,listDepth:0,quote:0,trailingSpace:0,trailingSpaceNewLine:false,strikethrough:false,fencedChars:null}},copyState:function copyState(s){return{f:s.f,prevLine:s.prevLine,thisLine:s.this,block:s.block,htmlState:s.htmlState&&CodeMirror.copyState(htmlMode,s.htmlState),indentation:s.indentation,localMode:s.localMode,localState:s.localMode?CodeMirror.copyState(s.localMode,s.localState):null,inline:s.inline,text:s.text,formatting:false,linkTitle:s.linkTitle,code:s.code,em:s.em,strong:s.strong,strikethrough:s.strikethrough,header:s.header,hr:s.hr,taskList:s.taskList,task:s.task,list:s.list,listDepth:s.listDepth,quote:s.quote,indentedCode:s.indentedCode,trailingSpace:s.trailingSpace,trailingSpaceNewLine:s.trailingSpaceNewLine,md_inside:s.md_inside,fencedChars:s.fencedChars}},token:function token(stream,state){state.formatting=false;if(stream!=state.thisLine){var forceBlankLine=state.header||state.hr;state.header=0;state.hr=false;if(stream.match(/^\s*$/,true)||forceBlankLine){blankLine(state);if(!forceBlankLine)return null;state.prevLine=null}state.prevLine=state.thisLine;state.thisLine=stream;state.taskList=false;state.task=false;state.trailingSpace=0;state.trailingSpaceNewLine=false;state.f=state.block;var indentation=stream.match(/^\s*/,true)[0].replace(/\t/g," ").length;var difference=Math.floor((indentation-state.indentation)/4)*4;if(difference>4)difference=4;var adjustedIndentation=state.indentation+difference;state.indentationDiff=adjustedIndentation-state.indentation;state.indentation=adjustedIndentation;if(indentation>0)return null}return state.f(stream,state)},innerMode:function innerMode(state){if(state.block==htmlBlock)return{state:state.htmlState,mode:htmlMode};if(state.localState)return{state:state.localState,mode:state.localMode};return{state:state,mode:mode}},blankLine:blankLine,getType:getType,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return mode},"xml");CodeMirror.defineMIME("text/x-markdown","markdown")},function(module,exports){"use strict";var urlRE=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;CodeMirror.defineMode("gfm",function(config,modeConfig){var codeDepth=0;function blankLine(state){state.code=false;return null}var gfmOverlay={startState:function startState(){return{code:false,codeBlock:false,ateSpace:false}},copyState:function copyState(s){return{code:s.code,codeBlock:s.codeBlock,ateSpace:s.ateSpace}},token:function token(stream,state){state.combineTokens=null;if(state.codeBlock){if(stream.match(/^```+/)){state.codeBlock=false;return null}stream.skipToEnd();return null}if(stream.sol()){state.code=false}if(stream.sol()&&stream.match(/^```+/)){stream.skipToEnd();state.codeBlock=true;return null}if(stream.peek()==="`"){stream.next();var before=stream.pos;stream.eatWhile("`");var difference=1+stream.pos-before;if(!state.code){codeDepth=difference;state.code=true}else{if(difference===codeDepth){state.code=false}}return null}else if(state.code){stream.next();return null}if(stream.eatSpace()){state.ateSpace=true;return null}if(stream.sol()||state.ateSpace){state.ateSpace=false}stream.next();return null},blankLine:blankLine};var markdownConfig={underscoresBreakWords:false,taskLists:true,fencedCodeBlocks:"```",strikethrough:true};for(var attr in modeConfig){markdownConfig[attr]=modeConfig[attr]}markdownConfig.name="markdown";return CodeMirror.overlayMode(CodeMirror.getMode(config,markdownConfig),gfmOverlay)},"markdown");CodeMirror.defineMIME("text/x-gfm","gfm")},function(module,exports){"use strict";var listRE=/^(\s*)(>[> ]*|[*+-]\s(?:\[(?:x|\s)\]\s)?|(\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(\s*)/,emptyListRE=/^(\s*)(>[> ]*|[*+-]\s(?:\[(?:x|\s)\]\s)?|(\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(\s*)$/,FIND_CODEBLOCK_START_RX=/^ *(`{3,}|~{3,})[ \.]*\S+ */,unorderedListRE=/[*+-]\s/;CodeMirror.commands.subListIndentTab=function(cm){if(cm.getOption("disableInput"))return CodeMirror.Pass;var ranges=cm.listSelections();for(var i=0;i0){cm.replaceRange("",{line:pos.line,ch:0},{line:pos.line,ch:line.length});replacements[i]="\n"}else if(isCodeBlockStart){replacements[i]="\n\n```"}else{var indent=match[1],after=match[5],bullet;if(indent.length===pos.ch){bullet=""}else if(unorderedListRE.test(match[2])||match[2].indexOf(">")>=0){bullet=match[2]}else{bullet=parseInt(match[3],10)+1+match[4]}replacements[i]="\n"+indent+bullet+after}}cm.replaceSelections(replacements);if(isCodeBlockStart){cm.setCursor(pos.line+1,0)}}},function(module,exports){"use strict";CodeMirror.commands.replaceLineTextToUpper=function(cm){if(cm.getOption("disableInput")){return CodeMirror.Pass}var ranges=cm.listSelections();var lineAdjustment=-1;for(var i=0;i0){replaceSingleLine(cm,from,to,lineAdjustment)}else if(!isRangeCollapsed(range)){var topLine=from.line0){var upper=from.line===topLine?from:to;var bottom=from.line===topLine?to:from;replaceMultiLine(cm,upper,bottom,lineAdjustment)}}}};CodeMirror.commands.replaceLineTextToLower=function(cm){if(cm.getOption("disableInput")){return CodeMirror.Pass}var ranges=cm.listSelections();var lineAdjustment=1;for(var i=0;i0?bottom:upper;var replacement=cm.getLine(edgeLineOfConcern.line+lineAdjustment);var targetLine=void 0;if(lineAdjustment>0){targetLine=upper}else{targetLine=bottom}cm.replaceRange(replacement,{line:targetLine.line,ch:0},{line:targetLine.line,ch:cm.getLine(targetLine.line).length},"+input");cm.replaceRange(rangeContent,{line:upper.line+lineAdjustment,ch:0},{line:bottom.line+lineAdjustment,ch:cm.getLine(bottom.line+lineAdjustment).length},"+input");cm.setSelection({line:upper.line+lineAdjustment,ch:upper.ch},{line:bottom.line+lineAdjustment,ch:bottom.ch})}},function(module,exports,__webpack_require__){"use strict";var extManager=__webpack_require__(30);var FIND_TASK_RX=/^\s*\* \[[xX ]\] [^\n]*/gm;var FIND_CHECKED_TASK_RX=/^\s*\* \[[xX]\] [^\n]*/gm;extManager.defineExtension("taskCounter",function(editor){editor.getTaskCount=function(){var found=void 0,count=void 0;if(editor.isViewOnly()){count=editor.preview.$el.find(".task-list-item").length}else if(editor.isMarkdownMode()){found=editor.mdEditor.getValue().match(FIND_TASK_RX);count=found?found.length:0}else{count=editor.wwEditor.get$Body().find(".task-list-item").length}return count};editor.getCheckedTaskCount=function(){var found=void 0,count=void 0;if(editor.isViewOnly()){count=editor.preview.$el.find(".task-list-item.checked").length}else if(editor.isMarkdownMode()){found=editor.mdEditor.getValue().match(FIND_CHECKED_TASK_RX);count=found?found.length:0}else{count=editor.wwEditor.get$Body().find(".task-list-item.checked").length}return count}})},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(30);var _extManager2=_interopRequireDefault(_extManager);var _scrollFollow=__webpack_require__(99);var _scrollFollow2=_interopRequireDefault(_scrollFollow);var _scrollFollow3=__webpack_require__(100);var _scrollFollow4=_interopRequireDefault(_scrollFollow3);var _button=__webpack_require__(43);var _button2=_interopRequireDefault(_button);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_extManager2.default.defineExtension("scrollFollow",function(editor){var className="tui-scrollfollow";var TOOL_TIP={active:_i18n2.default.get("Auto scroll enabled"),inActive:_i18n2.default.get("Auto scroll disabled")};if(editor.isViewOnly()){return}var cm=editor.getCodeMirror();var sectionManager=new _scrollFollow4.default(cm,editor.preview);var scrollSync=new _scrollFollow2.default(sectionManager,cm,editor.preview.$el);var isScrollable=false;var isActive=true;var button=void 0;if(editor.getUI().name==="default"){button=new _button2.default({className:className,command:"scrollFollowToggle",tooltip:TOOL_TIP.active,$el:$('')});editor.getUI().toolbar.addButton(button);changeButtonVisiblityStateIfNeed();editor.on("changeMode",changeButtonVisiblityStateIfNeed);editor.on("changePreviewStyle",changeButtonVisiblityStateIfNeed);editor.addCommand("markdown",{name:"scrollFollowToggle",exec:function exec(){isActive=!isActive;button._onOut();if(isActive){button.$el.addClass("active");button.tooltip=TOOL_TIP.active}else{button.$el.removeClass("active");button.tooltip=TOOL_TIP.inActive}button._onOver()}})}cm.on("change",function(){isScrollable=false;sectionManager.makeSectionList()});function changeButtonVisiblityStateIfNeed(){if(editor.mdPreviewStyle==="vertical"&&editor.currentMode==="markdown"){button.$el.show()}else{button.$el.hide()}}editor.on("previewRenderAfter",function(){sectionManager.sectionMatch();scrollSync.syncPreviewScrollTopToMarkdown();isScrollable=true});editor.eventManager.listen("scroll",function(event){if(!isActive){return}if(isScrollable&&editor.preview.isVisible()){if(event.source==="markdown"&&!scrollSync.isMarkdownScrollEventBlocked){scrollSync.syncPreviewScrollTopToMarkdown()}else if(event.source==="preview"&&!scrollSync.isPreviewScrollEventBlocked){scrollSync.syncMarkdownScrollTopToPreview()}}else{scrollSync.saveScrollInfo()}})})},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0?section.start-1:0,"local");return height}},{key:"_getEditorLineHeightGapInSection",value:function _getEditorLineHeightGapInSection(section,line){var gap=this.cm.heightAtLine(line,"local");gap-=this.cm.heightAtLine(section.start>0?section.start-1:0,"local");return Math.max(gap,0)}},{key:"_getEditorSectionScrollRatio",value:function _getEditorSectionScrollRatio(section,line){var isOneLine=section.end===section.start;var ratio=void 0;if(isOneLine){ratio=0}else{ratio=this._getEditorLineHeightGapInSection(section,line)/this._getEditorSectionHeight(section)}return ratio}},{key:"_getScrollFactorsOfEditor",value:function _getScrollFactorsOfEditor(){var cm=this.cm;var scrollInfo=cm.getScrollInfo();var topLine=void 0,topSection=void 0,ratio=void 0,factors=void 0;scrollInfo=this._fallbackScrollInfoIfIncorrect(scrollInfo);var isEditorBottom=scrollInfo.height-scrollInfo.top<=scrollInfo.clientHeight;if(isEditorBottom){ -factors={isEditorBottom:isEditorBottom}}else{topLine=cm.coordsChar({left:scrollInfo.left,top:scrollInfo.top},"local").line;topSection=this.sectionManager.sectionByLine(topLine);ratio=this._getEditorSectionScrollRatio(topSection,topLine);factors={section:topSection,sectionRatio:ratio}}return factors}},{key:"_getScrollInfoForMarkdown",value:function _getScrollInfoForMarkdown(){var _this=this;var sectionList=this.sectionManager.getSectionList();var factors=void 0;tui.util.forEachArray(sectionList,function(section){var $div=section.$previewSectionEl;var $preview=$div.parent().parent();var isPreviewBottom=$preview[0].clientHeight-$preview.scrollTop()<=$preview[0].height;var needNext=true;if(isPreviewBottom){factors={isPreviewBottom:isPreviewBottom};needNext=false}else if(_this._isTopSection($preview,$div)){factors={section:section,sectionRatio:_this._getMarkdownEditorScrollRatio($preview,$div)};needNext=false}return needNext});return factors}},{key:"_getMarkdownEditorScrollRatio",value:function _getMarkdownEditorScrollRatio($preview,$div){return($preview.scrollTop()-$div[0].offsetTop)/$div.height()}},{key:"_getScrollTopForPreview",value:function _getScrollTopForPreview(){var scrollTop=void 0;var scrollFactors=this._getScrollFactorsOfEditor();var section=scrollFactors.section;var ratio=scrollFactors.sectionRatio;if(scrollFactors.isEditorBottom){scrollTop=this.$contents.height()}else if(section.$previewSectionEl){scrollTop=section.$previewSectionEl[0].offsetTop;scrollTop+=section.$previewSectionEl.height()*ratio-SCROLL_TOP_PADDING}scrollTop=scrollTop&&Math.max(scrollTop,0);return scrollTop}},{key:"_getScrollTopForMarkdown",value:function _getScrollTopForMarkdown(){var scrollTop=void 0;var scrollFactors=this._getScrollInfoForMarkdown();var ratio=scrollFactors.sectionRatio;if(scrollFactors.isPreviewBottom){scrollTop=this.cm.getScrollInfo().height}else if(scrollFactors.section){var section=scrollFactors.section;var coordsAtStart=this.cm.charCoords({line:section.start,char:0},"local");var coordsAtEnd=this.cm.charCoords({line:section.end,char:0},"local");scrollTop=coordsAtStart.top;scrollTop+=(coordsAtEnd.top-coordsAtStart.top)*ratio}scrollTop=scrollTop&&Math.max(scrollTop,0);return scrollTop}},{key:"syncPreviewScrollTopToMarkdown",value:function syncPreviewScrollTopToMarkdown(){var _this2=this;var $previewContainerEl=this.$previewContainerEl;var sourceScrollTop=$previewContainerEl.scrollTop();var targetScrollTop=this._getScrollTopForPreview();this.isPreviewScrollEventBlocked=true;this._animateRun(sourceScrollTop,targetScrollTop,function(deltaScrollTop){clearTimeout(_this2.releaseTimer);$previewContainerEl.scrollTop(deltaScrollTop);_this2.releaseTimer=setTimeout(function(){_this2.isPreviewScrollEventBlocked=false},SCROLL_BOCKING_RESET_DELAY)})}},{key:"syncMarkdownScrollTopToPreview",value:function syncMarkdownScrollTopToPreview(){var _this3=this;var codeMirror=this.cm;var codeMirrorScrollInfo=codeMirror.getScrollInfo();var sourceScrollTop=codeMirrorScrollInfo.top;var targetScrollTop=this._getScrollTopForMarkdown();this.isMarkdownScrollEventBlocked=true;this._animateRun(sourceScrollTop,targetScrollTop,function(deltaScrollTop){clearTimeout(_this3.releaseTimer);codeMirror.scrollTo(0,deltaScrollTop);_this3.releaseTimer=setTimeout(function(){_this3.isMarkdownScrollEventBlocked=false},SCROLL_BOCKING_RESET_DELAY)})}},{key:"_animateRun",value:function _animateRun(originValue,targetValue,stepCB){var valueDiff=targetValue-originValue,startTime=Date.now(),self=this;if(this._currentTimeoutId){clearTimeout(this._currentTimeoutId)}function step(){var stepTime=Date.now();var progress=(stepTime-startTime)/200;var deltaValue=void 0;if(progress<1){deltaValue=originValue+valueDiff*Math.cos((1-progress)*Math.PI/2);stepCB(Math.ceil(deltaValue));self._currentTimeoutId=setTimeout(step,1)}else{stepCB(targetValue);self._currentTimeoutId=null}}step()}},{key:"_fallbackScrollInfoIfIncorrect",value:function _fallbackScrollInfoIfIncorrect(scrollInfo){return scrollInfo.height<0&&this._savedScrollInfo?this._savedScrollInfo:scrollInfo}},{key:"saveScrollInfo",value:function saveScrollInfo(){this._savedScrollInfo=this.cm.getScrollInfo()}},{key:"_isTopSection",value:function _isTopSection($preview,$div){var previewScrollTop=$preview.scrollTop();var divOffsetTop=$div[0].offsetTop;var divHeight=$div.height();var isSectionBegin=previewScrollTop>=divOffsetTop-PREVIEW_MARGIN_TOP;var isSectionEnd=previewScrollTop>divOffsetTop+divHeight;return isSectionBegin&&!isSectionEnd}}]);return ScrollSync}();module.exports=ScrollSync},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i ?)+\s/;var FIND_IMAGE_RX=/^ {0,3}!\[([^\[\]]*)]\(([^)]*)\)/;var FIND_SETEXT_HEADER_RX=/^ *(?:={1,}|-{1,})\s*$/;var FIND_CODEBLOCK_END_RX=/^ *(`{3,}|~{3,})[ ]*$/;var FIND_CODEBLOCK_START_RX=/^ *(`{3,}|~{3,})[ .]*(\S+)? */;var FIND_SPACE=/\s/g;var SectionManager=function(){function SectionManager(cm,preview){_classCallCheck(this,SectionManager);this.cm=cm;this.preview=preview;this.$previewContent=preview.$el.find(".tui-editor-contents");this._sectionList=null;this._currentSection=null}_createClass(SectionManager,[{key:"_addNewSection",value:function _addNewSection(start,end){var newSection=this._makeSectionData(start,end);this._sectionList.push(newSection);this._currentSection=newSection}},{key:"getSectionList",value:function getSectionList(){return this._sectionList}},{key:"_makeSectionData",value:function _makeSectionData(start,end){return{start:start,end:end,$previewSectionEl:null}}},{key:"_updateCurrentSectionEnd",value:function _updateCurrentSectionEnd(end){this._currentSection.end=end}},{key:"_eachLineState",value:function _eachLineState(iteratee){var isSection=void 0,i=void 0,lineString=void 0,nextLineString=void 0,prevLineString=void 0,isTrimming=true,onTable=false,onCodeBlock=false,trimCapture="";var isRightAfterImageSection=false;var isEnsuredSection=false;var codeblockStartLineIndex=void 0;var lineLength=this.cm.getDoc().lineCount();for(i=0;i
    ");_this2._sectionList[index].$previewSectionEl=$(childs).wrapAll($sectionDiv).parent()}})}},{key:"_getPreviewSections",value:function _getPreviewSections(){var sections=[];var lastSection=0;var isRightAfterImageSection=false;sections[0]=[];this.$previewContent.contents().filter(findElementNodeFilter).each(function(index,el){var isParagraph=el.tagName==="P";var isHeading=el.tagName.match(/^(H1|H2|H3|H4|H5|H6)$/);var isImage=isParagraph&&el.childNodes[0].nodeName==="IMG";if((isHeading||isImage||isRightAfterImageSection)&§ions[lastSection].length){sections.push([]);lastSection+=1;isRightAfterImageSection=false}if(isImage){isRightAfterImageSection=true}sections[lastSection].push(el)});return sections}},{key:"sectionByLine",value:function sectionByLine(line){var sectionIndex=void 0;var sectionList=this._sectionList;var sectionLength=sectionList.length;for(sectionIndex=0;sectionIndex(.*?)/g;var colorHtmlCompleteRx=/(.*?)<\/span>/g;var decimalColorRx=/rgb\((\d+)[, ]+(\d+)[, ]+(\d+)\)/g;var RESET_COLOR="#181818";_extManager2.default.defineExtension("colorSyntax",function(editor){var useCustomSyntax=false;var preset=void 0;if(editor.options.colorSyntax){useCustomSyntax=!!editor.options.colorSyntax.useCustomSyntax;preset=editor.options.colorSyntax.preset}editor.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){var replacement=void 0;if(!useCustomSyntax){replacement=html}else{replacement=html.replace(colorSyntaxRx,function(matched,p1,p2){return makeHTMLColorSyntax(p2,p1)})}return replacement});editor.eventManager.listen("convertorAfterHtmlToMarkdownConverted",function(markdown){var findRx=useCustomSyntax?colorHtmlCompleteRx:colorHtmlRx;return markdown.replace(findRx,function(founded,color,text){var replacement=void 0;if(color.match(decimalColorRx)){color=changeDecColorToHex(color)}if(!useCustomSyntax){replacement=founded.replace(/ ?class="colour" ?/g," ").replace(decimalColorRx,color)}else{replacement=makeCustomColorSyntax(text,color)}return replacement})});if(!editor.isViewOnly()&&editor.getUI().name==="default"){editor.addCommand("markdown",{name:"color",exec:function exec(mde,color){var cm=mde.getEditor();if(!color){return}if(!useCustomSyntax){cm.replaceSelection(makeHTMLColorSyntax(cm.getSelection(),color))}else{cm.replaceSelection(makeCustomColorSyntax(cm.getSelection(),color))}mde.focus()}});editor.addCommand("wysiwyg",{name:"color",exec:function exec(wwe,color){var sq=wwe.getEditor();if(!color){return}if(!sq.hasFormat("PRE")){if(color===RESET_COLOR){sq.changeFormat(null,{class:"colour",tag:"span"})}else{sq.setTextColour(color)}}sq.focus()}});initUI(editor,preset)}});function initUI(editor,preset){var className="tui-color";editor.eventManager.addEventType("colorButtonClicked");editor.getUI().toolbar.addButton({className:className,event:"colorButtonClicked",tooltip:_i18n2.default.get("Text color")},2);var $button=editor.getUI().toolbar.$el.find("button."+className);var $colorPickerContainer=$("
    ");var $buttonBar=$('');var cpOptions={container:$colorPickerContainer[0]};if(preset){cpOptions.preset=preset}var colorPicker=tui.component.colorpicker.create(cpOptions);var selectedColor=colorPicker.getColor();$colorPickerContainer.append($buttonBar);var popup=editor.getUI().createPopup({title:false,content:$colorPickerContainer,className:"tui-popup-color",$target:editor.getUI().$el,css:{width:"auto",position:"absolute"}});editor.eventManager.listen("focus",function(){popup.hide()});editor.eventManager.listen("colorButtonClicked",function(){editor.eventManager.emit("closeAllPopup");if(popup.isShow()){popup.hide()}else{popup.$el.css({top:$button.position().top+$button.height()+5,left:$button.position().left});popup.show();colorPicker.slider.toggle(true)}});editor.eventManager.listen("closeAllPopup",function(){popup.hide()});editor.eventManager.listen("removeEditor",function(){colorPicker.off("selectColor")});colorPicker.on("selectColor",function(e){selectedColor=e.color;if(e.origin==="palette"){editor.exec("color",selectedColor);popup.hide()}});popup.$el.find(".te-apply-button").on("click",function(){editor.exec("color",selectedColor)})}function makeCustomColorSyntax(text,color){return"{color:"+color+"}"+text+"{color}"}function makeHTMLColorSyntax(text,color){return''+text+""}function changeDecColorToHex(color){return color.replace(decimalColorRx,function(colorValue,r,g,b){r=parseInt(r,10);g=parseInt(g,10);b=parseInt(b,10);var colorHexValue=get2DigitNumberString(r.toString(16))+get2DigitNumberString(g.toString(16))+get2DigitNumberString(b.toString(16));return"#"+colorHexValue})}function get2DigitNumberString(numberStr){return numberStr==="0"?"00":numberStr}},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(30);var _extManager2=_interopRequireDefault(_extManager);var _markerList=__webpack_require__(103);var _markerList2=_interopRequireDefault(_markerList);var _markerManager=__webpack_require__(104);var _markerManager2=_interopRequireDefault(_markerManager);var _wysiwygMarkerHelper=__webpack_require__(106);var _wysiwygMarkerHelper2=_interopRequireDefault(_wysiwygMarkerHelper);var _viewOnlyMarkerHelper=__webpack_require__(107);var _viewOnlyMarkerHelper2=_interopRequireDefault(_viewOnlyMarkerHelper);var _markdownMarkerHelper=__webpack_require__(108);var _markdownMarkerHelper2=_interopRequireDefault(_markdownMarkerHelper);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var MARKER_UPDATE_DELAY=100;var FIND_CRLF_RX=/(\n)|(\r\n)|(\r)/g;_extManager2.default.defineExtension("mark",function(editor){var ml=new _markerList2.default;var mm=new _markerManager2.default(ml);var wmh=void 0,mmh=void 0,vmh=void 0;editor.eventManager.addEventType("markerUpdated");if(editor.isViewOnly()){vmh=new _viewOnlyMarkerHelper2.default(editor.preview)}else{wmh=new _wysiwygMarkerHelper2.default(editor.getSquire());mmh=new _markdownMarkerHelper2.default(editor.getCodeMirror())}function getHelper(){var helper=void 0;if(editor.isViewOnly()){helper=vmh}else if(editor.isWysiwygMode()){helper=wmh}else{helper=mmh}return helper}function updateMarkWhenResizing(){var helper=getHelper();ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll())}$(window).on("resize",updateMarkWhenResizing);editor.on("removeEditor",function(){$(window).off("resize",updateMarkWhenResizing)});editor.on("setMarkdownAfter",function(){var helper=getHelper();mm.resetContent(helper.getTextContent())});editor.setValueWithMarkers=function(value,markerDataCollection){var helper=void 0;ml.resetMarkers();markerDataCollection.forEach(function(markerData){ml.addMarker(markerData.start,markerData.end,markerData.id)});editor.setValue(value);mm.resetContent(value.replace(FIND_CRLF_RX,""));if(editor.isViewOnly()||editor.isWysiwygMode()){helper=getHelper();mm.updateMarkersByContent(helper.getTextContent())}else{helper=mmh}ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll());return ml.getAll()};editor.getMarker=function(id){return ml.getMarker(id)};editor.getMarkersAll=function(){return ml.getAll()};editor.removeMarker=function(id){return ml.removeMarker(id)};editor.exportMarkers=function(){var markersData=void 0;if(editor.isMarkdownMode()){markersData=ml.getMarkersData()}else if(editor.isViewOnly()||editor.isWysiwygMode()){mm.updateMarkersByContent(editor.getValue().replace(FIND_CRLF_RX,""));markersData=ml.getMarkersData();mm.updateMarkersByContent(getHelper().getTextContent())}return markersData};editor.selectMarker=function(id){var helper=getHelper();var marker=editor.getMarker(id);if(marker){helper.selectOffsetRange(marker.start,marker.end)}};editor.addMarker=function(start,end,id){var marker=void 0;var helper=getHelper();if(!id){id=start;marker=helper.getMarkerInfoOfCurrentSelection()}else{marker={start:start,end:end};marker=helper.updateMarkerWithExtraInfo(marker)}if(marker){marker.id=id;marker=ml.addMarker(marker);ml.sortBy("end");editor.eventManager.emit("markerUpdated",[marker])}return marker};editor.clearSelect=function(){getHelper().clearSelect()};if(!editor.isViewOnly()){editor.on("changeMode",function(){editor._updateMarkers()});editor.on("change",util.debounce(function(){editor._updateMarkers()},MARKER_UPDATE_DELAY));editor._updateMarkers=function(){var helper=getHelper();if(!ml.getAll().length){return}mm.updateMarkersByContent(helper.getTextContent());ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll())}}})},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;iend||marker.end>start){return true}return false});return rangeMarkers}},{key:"getAll",value:function getAll(){return this._sortedMarkers}},{key:"resetMarkers",value:function resetMarkers(){this._sortedMarkers=[];this._markersWithId={}}},{key:"sortBy",value:function sortBy(rangeKey){this._sortedMarkers.sort(function(a,b){return a[rangeKey]-b[rangeKey]})}},{key:"getMarkersData",value:function getMarkersData(){return this.getAll().map(function(marker){return{start:marker.start,end:marker.end,id:marker.id}})}}]);return Markerlist}();module.exports=Markerlist},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;imarker.start){startDiff=start-marker.start}else{startDiff=0}return startDiff}},{key:"_calculateEndDiff",value:function _calculateEndDiff(start,end,diff,marker){var endDiff=void 0;if(end<=marker.end){endDiff=diff}else if(start<=marker.end&&end>marker.start){endDiff=start-marker.end}else{endDiff=0}return endDiff}},{key:"_getUpdateMarkersWithDiffs",value:function _getUpdateMarkersWithDiffs(markerDiffs){var updatedMarkers=[],markerList=this.markerList;util.forEachOwnProperties(markerDiffs,function(markerDiff,id){var marker=markerList.getMarker(id);markerList.updateMarker(id,{start:marker.start+=markerDiff.start,end:marker.end+=markerDiff.end});updatedMarkers.push(marker)});return updatedMarkers}}]);return MarkerManager}();module.exports=MarkerManager},function(module,exports){"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1e3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1;var DIFF_INSERT=1;var DIFF_EQUAL=0;diff_match_patch.Diff;diff_match_patch.prototype.diff_main=function(text1,text2,opt_checklines,opt_deadline){if(typeof opt_deadline=="undefined"){if(this.Diff_Timeout<=0){opt_deadline=Number.MAX_VALUE}else{opt_deadline=(new Date).getTime()+this.Diff_Timeout*1e3}}var deadline=opt_deadline;if(text1==null||text2==null){throw new Error("Null input. (diff_main)")}if(text1==text2){if(text1){return[[DIFF_EQUAL,text1]]}return[]}if(typeof opt_checklines=="undefined"){opt_checklines=true}var checklines=opt_checklines;var commonlength=this.diff_commonPrefix(text1,text2);var commonprefix=text1.substring(0,commonlength);text1=text1.substring(commonlength);text2=text2.substring(commonlength);commonlength=this.diff_commonSuffix(text1,text2);var commonsuffix=text1.substring(text1.length-commonlength);text1=text1.substring(0,text1.length-commonlength);text2=text2.substring(0,text2.length-commonlength);var diffs=this.diff_compute_(text1,text2,checklines,deadline);if(commonprefix){diffs.unshift([DIFF_EQUAL,commonprefix])}if(commonsuffix){diffs.push([DIFF_EQUAL,commonsuffix])}this.diff_cleanupMerge(diffs);return diffs};diff_match_patch.prototype.diff_compute_=function(text1,text2,checklines,deadline){var diffs;if(!text1){return[[DIFF_INSERT,text2]]}if(!text2){return[[DIFF_DELETE,text1]]}var longtext=text1.length>text2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;var i=longtext.indexOf(shorttext);if(i!=-1){diffs=[[DIFF_INSERT,longtext.substring(0,i)],[DIFF_EQUAL,shorttext],[DIFF_INSERT,longtext.substring(i+shorttext.length)]];if(text1.length>text2.length){diffs[0][0]=diffs[2][0]=DIFF_DELETE}return diffs}if(shorttext.length==1){return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]}var hm=this.diff_halfMatch_(text1,text2);if(hm){var text1_a=hm[0];var text1_b=hm[1];var text2_a=hm[2];var text2_b=hm[3];var mid_common=hm[4];var diffs_a=this.diff_main(text1_a,text2_a,checklines,deadline);var diffs_b=this.diff_main(text1_b,text2_b,checklines,deadline);return diffs_a.concat([[DIFF_EQUAL,mid_common]],diffs_b)}if(checklines&&text1.length>100&&text2.length>100){return this.diff_lineMode_(text1,text2,deadline)}return this.diff_bisect_(text1,text2,deadline)};diff_match_patch.prototype.diff_lineMode_=function(text1,text2,deadline){var a=this.diff_linesToChars_(text1,text2);text1=a.chars1;text2=a.chars2;var linearray=a.lineArray;var diffs=this.diff_main(text1,text2,false,deadline);this.diff_charsToLines_(diffs,linearray);this.diff_cleanupSemantic(diffs);diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";while(pointer=1&&count_insert>=1){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert);pointer=pointer-count_delete-count_insert;var a=this.diff_main(text_delete,text_insert,false,deadline);for(var j=a.length-1;j>=0;j--){diffs.splice(pointer,0,a[j])}pointer=pointer+a.length}count_insert=0;count_delete=0;text_delete="";text_insert="";break}pointer++}diffs.pop();return diffs};diff_match_patch.prototype.diff_bisect_=function(text1,text2,deadline){var text1_length=text1.length;var text2_length=text2.length;var max_d=Math.ceil((text1_length+text2_length)/2);var v_offset=max_d;var v_length=2*max_d;var v1=new Array(v_length);var v2=new Array(v_length);for(var x=0;xdeadline){break}for(var k1=-d+k1start;k1<=d-k1end;k1+=2){var k1_offset=v_offset+k1;var x1;if(k1==-d||k1!=d&&v1[k1_offset-1]text1_length){k1end+=2}else if(y1>text2_length){k1start+=2}else if(front){var k2_offset=v_offset+delta-k1;if(k2_offset>=0&&k2_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}for(var k2=-d+k2start;k2<=d-k2end;k2+=2){var k2_offset=v_offset+k2;var x2;if(k2==-d||k2!=d&&v2[k2_offset-1]text1_length){k2end+=2}else if(y2>text2_length){k2start+=2}else if(!front){var k1_offset=v_offset+delta-k2;if(k1_offset>=0&&k1_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}}return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]};diff_match_patch.prototype.diff_bisectSplit_=function(text1,text2,x,y,deadline){var text1a=text1.substring(0,x);var text2a=text2.substring(0,y);var text1b=text1.substring(x);var text2b=text2.substring(y);var diffs=this.diff_main(text1a,text2a,false,deadline);var diffsb=this.diff_main(text1b,text2b,false,deadline);return diffs.concat(diffsb)} -;diff_match_patch.prototype.diff_linesToChars_=function(text1,text2){var lineArray=[];var lineHash={};lineArray[0]="";function diff_linesToCharsMunge_(text){var chars="";var lineStart=0;var lineEnd=-1;var lineArrayLength=lineArray.length;while(lineEndtext2_length){text1=text1.substring(text1_length-text2_length)}else if(text1_lengthtext2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;if(longtext.length<4||shorttext.length*2=longtext.length){return[best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b,best_common]}else{return null}}var hm1=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/4));var hm2=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/2));var hm;if(!hm1&&!hm2){return null}else if(!hm2){hm=hm1}else if(!hm1){hm=hm2}else{hm=hm1[4].length>hm2[4].length?hm1:hm2}var text1_a,text1_b,text2_a,text2_b;if(text1.length>text2.length){text1_a=hm[0];text1_b=hm[1];text2_a=hm[2];text2_b=hm[3]}else{text2_a=hm[0];text2_b=hm[1];text1_a=hm[2];text1_b=hm[3]}var mid_common=hm[4];return[text1_a,text1_b,text2_a,text2_b,mid_common]};diff_match_patch.prototype.diff_cleanupSemantic=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var length_insertions1=0;var length_deletions1=0;var length_insertions2=0;var length_deletions2=0;while(pointer0?equalities[equalitiesLength-1]:-1;length_insertions1=0;length_deletions1=0;length_insertions2=0;length_deletions2=0;lastequality=null;changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}this.diff_cleanupSemanticLossless(diffs);pointer=1;while(pointer=overlap_length2){if(overlap_length1>=deletion.length/2||overlap_length1>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,insertion.substring(0,overlap_length1)]);diffs[pointer-1][1]=deletion.substring(0,deletion.length-overlap_length1);diffs[pointer+1][1]=insertion.substring(overlap_length1);pointer++}}else{if(overlap_length2>=deletion.length/2||overlap_length2>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,deletion.substring(0,overlap_length2)]);diffs[pointer-1][0]=DIFF_INSERT;diffs[pointer-1][1]=insertion.substring(0,insertion.length-overlap_length2);diffs[pointer+1][0]=DIFF_DELETE;diffs[pointer+1][1]=deletion.substring(overlap_length2);pointer++}}pointer++}pointer++}};diff_match_patch.prototype.diff_cleanupSemanticLossless=function(diffs){function diff_cleanupSemanticScore_(one,two){if(!one||!two){return 6}var char1=one.charAt(one.length-1);var char2=two.charAt(0);var nonAlphaNumeric1=char1.match(diff_match_patch.nonAlphaNumericRegex_);var nonAlphaNumeric2=char2.match(diff_match_patch.nonAlphaNumericRegex_);var whitespace1=nonAlphaNumeric1&&char1.match(diff_match_patch.whitespaceRegex_);var whitespace2=nonAlphaNumeric2&&char2.match(diff_match_patch.whitespaceRegex_);var lineBreak1=whitespace1&&char1.match(diff_match_patch.linebreakRegex_);var lineBreak2=whitespace2&&char2.match(diff_match_patch.linebreakRegex_);var blankLine1=lineBreak1&&one.match(diff_match_patch.blanklineEndRegex_);var blankLine2=lineBreak2&&two.match(diff_match_patch.blanklineStartRegex_);if(blankLine1||blankLine2){return 5}else if(lineBreak1||lineBreak2){return 4}else if(nonAlphaNumeric1&&!whitespace1&&whitespace2){return 3}else if(whitespace1||whitespace2){return 2}else if(nonAlphaNumeric1||nonAlphaNumeric2){return 1}return 0}var pointer=1;while(pointer=bestScore){bestScore=score;bestEquality1=equality1;bestEdit=edit;bestEquality2=equality2}}if(diffs[pointer-1][1]!=bestEquality1){if(bestEquality1){diffs[pointer-1][1]=bestEquality1}else{diffs.splice(pointer-1,1);pointer--}diffs[pointer][1]=bestEdit;if(bestEquality2){diffs[pointer+1][1]=bestEquality2}else{diffs.splice(pointer+1,1);pointer--}}}pointer++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\s/;diff_match_patch.linebreakRegex_=/[\r\n]/;diff_match_patch.blanklineEndRegex_=/\n\r?\n$/;diff_match_patch.blanklineStartRegex_=/^\r?\n\r?\n/;diff_match_patch.prototype.diff_cleanupEfficiency=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var pre_ins=false;var pre_del=false;var post_ins=false;var post_del=false;while(pointer0?equalities[equalitiesLength-1]:-1;post_ins=post_del=false}changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch.prototype.diff_cleanupMerge=function(diffs){diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";var commonlength;while(pointer1){if(count_delete!==0&&count_insert!==0){commonlength=this.diff_commonPrefix(text_insert,text_delete);if(commonlength!==0){if(pointer-count_delete-count_insert>0&&diffs[pointer-count_delete-count_insert-1][0]==DIFF_EQUAL){diffs[pointer-count_delete-count_insert-1][1]+=text_insert.substring(0,commonlength)}else{diffs.splice(0,0,[DIFF_EQUAL,text_insert.substring(0,commonlength)]);pointer++}text_insert=text_insert.substring(commonlength);text_delete=text_delete.substring(commonlength)}commonlength=this.diff_commonSuffix(text_insert,text_delete);if(commonlength!==0){diffs[pointer][1]=text_insert.substring(text_insert.length-commonlength)+diffs[pointer][1];text_insert=text_insert.substring(0,text_insert.length-commonlength);text_delete=text_delete.substring(0,text_delete.length-commonlength)}}if(count_delete===0){diffs.splice(pointer-count_insert,count_delete+count_insert,[DIFF_INSERT,text_insert])}else if(count_insert===0){diffs.splice(pointer-count_delete,count_delete+count_insert,[DIFF_DELETE,text_delete])}else{diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete],[DIFF_INSERT,text_insert])}pointer=pointer-count_delete-count_insert+(count_delete?1:0)+(count_insert?1:0)+1}else if(pointer!==0&&diffs[pointer-1][0]==DIFF_EQUAL){diffs[pointer-1][1]+=diffs[pointer][1];diffs.splice(pointer,1)}else{pointer++}count_insert=0;count_delete=0;text_delete="";text_insert="";break}}if(diffs[diffs.length-1][1]===""){diffs.pop()}var changes=false;pointer=1;while(pointerloc){break}last_chars1=chars1;last_chars2=chars2}if(diffs.length!=x&&diffs[x][0]===DIFF_DELETE){return last_chars2}return last_chars2+(loc-last_chars1)};diff_match_patch.prototype.diff_prettyHtml=function(diffs){var html=[];var pattern_amp=/&/g;var pattern_lt=//g;var pattern_para=/\n/g;for(var x=0;x");switch(op){case DIFF_INSERT:html[x]=''+text+"";break;case DIFF_DELETE:html[x]=''+text+"";break;case DIFF_EQUAL:html[x]=""+text+"";break}}return html.join("")};diff_match_patch.prototype.diff_text1=function(diffs){var text=[];for(var x=0;xthis.Match_MaxBits){throw new Error("Pattern too long for this browser.")}var s=this.match_alphabet_(pattern);var dmp=this;function match_bitapScore_(e,x){var accuracy=e/pattern.length;var proximity=Math.abs(loc-x);if(!dmp.Match_Distance){return proximity?1:accuracy}return accuracy+proximity/dmp.Match_Distance}var score_threshold=this.Match_Threshold;var best_loc=text.indexOf(pattern,loc);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold);best_loc=text.lastIndexOf(pattern,loc+pattern.length);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold)}}var matchmask=1<=start;j--){var charMatch=s[text.charAt(j-1)];if(d===0){rd[j]=(rd[j+1]<<1|1)&charMatch}else{rd[j]=(rd[j+1]<<1|1)&charMatch|((last_rd[j+1]|last_rd[j])<<1|1)|last_rd[j+1]}if(rd[j]&matchmask){var score=match_bitapScore_(d,j-1);if(score<=score_threshold){score_threshold=score;best_loc=j-1;if(best_loc>loc){start=Math.max(1,2*loc-best_loc)}else{break}}}}if(match_bitapScore_(d+1,loc)>score_threshold){break}last_rd=rd}return best_loc};diff_match_patch.prototype.match_alphabet_=function(pattern){var s={};for(var i=0;i2){this.diff_cleanupSemantic(diffs);this.diff_cleanupEfficiency(diffs)}}else if(a&&(typeof a==="undefined"?"undefined":_typeof(a))=="object"&&typeof opt_b=="undefined"&&typeof opt_c=="undefined"){diffs=a;text1=this.diff_text1(diffs)}else if(typeof a=="string"&&opt_b&&(typeof opt_b==="undefined"?"undefined":_typeof(opt_b))=="object"&&typeof opt_c=="undefined"){text1=a;diffs=opt_b}else if(typeof a=="string"&&typeof opt_b=="string"&&opt_c&&(typeof opt_c==="undefined"?"undefined":_typeof(opt_c))=="object"){text1=a;diffs=opt_c}else{throw new Error("Unknown call format to patch_make.")}if(diffs.length===0){return[]}var patches=[];var patch=new diff_match_patch.patch_obj;var patchDiffLength=0;var char_count1=0;var char_count2=0;var prepatch_text=text1;var postpatch_text=text1;for(var x=0;x=2*this.Patch_Margin){if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch);patch=new diff_match_patch.patch_obj;patchDiffLength=0;prepatch_text=postpatch_text;char_count1=char_count2}}break}if(diff_type!==DIFF_INSERT){char_count1+=diff_text.length}if(diff_type!==DIFF_DELETE){char_count2+=diff_text.length}}if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch)}return patches};diff_match_patch.prototype.patch_deepCopy=function(patches){var patchesCopy=[];for(var x=0;xthis.Match_MaxBits){start_loc=this.match_main(text,text1.substring(0,this.Match_MaxBits),expected_loc);if(start_loc!=-1){end_loc=this.match_main(text,text1.substring(text1.length-this.Match_MaxBits),expected_loc+text1.length-this.Match_MaxBits);if(end_loc==-1||start_loc>=end_loc){start_loc=-1}}}else{start_loc=this.match_main(text,text1,expected_loc)}if(start_loc==-1){results[x]=false;delta-=patches[x].length2-patches[x].length1}else{results[x]=true;delta=start_loc-expected_loc;var text2;if(end_loc==-1){text2=text.substring(start_loc,start_loc+text1.length)}else{text2=text.substring(start_loc,end_loc+this.Match_MaxBits)}if(text1==text2){text=text.substring(0,start_loc)+this.diff_text2(patches[x].diffs)+text.substring(start_loc+text1.length)}else{var diffs=this.diff_main(text1,text2,false);if(text1.length>this.Match_MaxBits&&this.diff_levenshtein(diffs)/text1.length>this.Patch_DeleteThreshold){results[x]=false}else{this.diff_cleanupSemanticLossless(diffs);var index1=0;var index2;for(var y=0;ydiffs[0][1].length){var extraLength=paddingLength-diffs[0][1].length;diffs[0][1]=nullPadding.substring(diffs[0][1].length)+diffs[0][1];patch.start1-=extraLength;patch.start2-=extraLength;patch.length1+=extraLength;patch.length2+=extraLength}patch=patches[patches.length-1];diffs=patch.diffs;if(diffs.length==0||diffs[diffs.length-1][0]!=DIFF_EQUAL){diffs.push([DIFF_EQUAL,nullPadding]);patch.length1+=paddingLength;patch.length2+=paddingLength}else if(paddingLength>diffs[diffs.length-1][1].length){var extraLength=paddingLength-diffs[diffs.length-1][1].length;diffs[diffs.length-1][1]+=nullPadding.substring(0,extraLength);patch.length1+=extraLength;patch.length2+=extraLength}return nullPadding};diff_match_patch.prototype.patch_splitMax=function(patches){var patch_size=this.Match_MaxBits;for(var x=0;x2*patch_size){patch.length1+=diff_text.length;start1+=diff_text.length;empty=false;patch.diffs.push([diff_type,diff_text]);bigpatch.diffs.shift()}else{diff_text=diff_text.substring(0,patch_size-patch.length1-this.Patch_Margin);patch.length1+=diff_text.length;start1+=diff_text.length;if(diff_type===DIFF_EQUAL){patch.length2+=diff_text.length;start2+=diff_text.length}else{empty=false}patch.diffs.push([diff_type,diff_text]);if(diff_text==bigpatch.diffs[0][1]){bigpatch.diffs.shift()}else{bigpatch.diffs[0][1]=bigpatch.diffs[0][1].substring(diff_text.length)}}}precontext=this.diff_text2(patch.diffs);precontext=precontext.substring(precontext.length-this.Patch_Margin);var postcontext=this.diff_text1(bigpatch.diffs).substring(0,this.Patch_Margin);if(postcontext!==""){patch.length1+=postcontext.length;patch.length2+=postcontext.length;if(patch.diffs.length!==0&&patch.diffs[patch.diffs.length-1][0]===DIFF_EQUAL){patch.diffs[patch.diffs.length-1][1]+=postcontext}else{patch.diffs.push([DIFF_EQUAL,postcontext])}}if(!empty){patches.splice(++x,0,patch)}}}};diff_match_patch.prototype.patch_toText=function(patches){var text=[];for(var x=0;xhead.line||anchor.line===head.line&&anchor.ch>head.ch;if(isReversedSelection){var temp=head;head=anchor;anchor=temp}return{anchor:anchor,head:head}}},{key:"_findOffsetCursor",value:function _findOffsetCursor(offsetlist){var doc=this.cm.getDoc();var beforeLength=0;var result=[];var lineLength=doc.lineCount();var offsetIndex=0;var currentLength=0;var lineIndex=void 0;for(lineIndex=0;lineIndex=offsetlist[offsetIndex]){result.push({line:lineIndex,ch:offsetlist[offsetIndex]-beforeLength});offsetIndex+=1;if(util.isUndefined(offsetlist[offsetIndex])){return result}}beforeLength=currentLength}while(!util.isUndefined(offsetlist[offsetIndex])){result.push({line:lineIndex,ch:currentLength-beforeLength});offsetIndex+=1}return result}},{key:"selectOffsetRange",value:function selectOffsetRange(start,end){var foundCursor=this._findOffsetCursor([start,end]);this.cm.setSelection({line:foundCursor[0].line,ch:foundCursor[0].ch},{line:foundCursor[1].line,ch:foundCursor[1].ch})}},{key:"clearSelect",value:function clearSelect(){var selection=this.cm.getDoc().listSelections()[0];if(selection){this.cm.setCursor(selection.to())}}}]);return MarkdownMarkerHelper}();module.exports=MarkdownMarkerHelper},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(30);var _extManager2=_interopRequireDefault(_extManager);var _mergedTableCreator=__webpack_require__(110);var _mergedTableCreator2=_interopRequireDefault(_mergedTableCreator);var _tableUnmergePreparer=__webpack_require__(113);var _tableUnmergePreparer2=_interopRequireDefault(_tableUnmergePreparer);var _toMarkRenderer=__webpack_require__(114);var _toMarkRenderer2=_interopRequireDefault(_toMarkRenderer);var _wwMergedTableManager=__webpack_require__(115);var _wwMergedTableManager2=_interopRequireDefault(_wwMergedTableManager);var _wwMergedTableSelectionManager=__webpack_require__(117);var _wwMergedTableSelectionManager2=_interopRequireDefault(_wwMergedTableSelectionManager);var _mergedTableAddRow=__webpack_require__(118);var _mergedTableAddRow2=_interopRequireDefault(_mergedTableAddRow);var _mergedTableAddCol=__webpack_require__(119);var _mergedTableAddCol2=_interopRequireDefault(_mergedTableAddCol);var _mergedTableRemoveRow=__webpack_require__(120);var _mergedTableRemoveRow2=_interopRequireDefault(_mergedTableRemoveRow);var _mergedTableRemoveCol=__webpack_require__(121);var _mergedTableRemoveCol2=_interopRequireDefault(_mergedTableRemoveCol);var _mergedTableAlignCol=__webpack_require__(122);var _mergedTableAlignCol2=_interopRequireDefault(_mergedTableAlignCol);var _mergeCell=__webpack_require__(123);var _mergeCell2=_interopRequireDefault(_mergeCell);var _unmergeCell=__webpack_require__(124);var _unmergeCell2=_interopRequireDefault(_unmergeCell);var _mergedTableUI=__webpack_require__(125);var _mergedTableUI2=_interopRequireDefault(_mergedTableUI);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}__webpack_require__(126);_extManager2.default.defineExtension("tableExtension",function(editor){var eventManager=editor.eventManager;editor.toMarkOptions=editor.toMarkOptions||{};editor.toMarkOptions.renderer=_toMarkRenderer2.default;_bindEvents(eventManager);if(editor.isViewOnly()){return}var wwComponentManager=editor.wwEditor.componentManager;var popupTableUtils=editor._ui.popupTableUtils;_addCommands(editor);_changeWysiwygManagers(wwComponentManager);if(editor._ui.popupTableUtils){_mergedTableUI2.default.updateContextMenu(popupTableUtils,eventManager,wwComponentManager.getManager("tableSelection"))}});function _addCommands(editor){editor.addCommand(_mergeCell2.default);editor.addCommand(_unmergeCell2.default)}function _changeWysiwygManagers(wwComponentManager){wwComponentManager.removeManager("table");wwComponentManager.removeManager("tableSelection");wwComponentManager.addManager(_wwMergedTableManager2.default);wwComponentManager.addManager(_wwMergedTableSelectionManager2.default)}function _changeHtml(html,onChangeTable){var $tempDiv=$("
    "+html+"
    ");var $tables=$tempDiv.find("table");if($tables.length){$tables.get().forEach(function(tableElement){var changedTableElement=onChangeTable(tableElement);$(tableElement).replaceWith(changedTableElement)});html=$tempDiv.html()}return html}function _snatchWysiwygCommand(commandWrapper){var command=commandWrapper.command;if(!command.isWWType()){return}switch(command.getName()){case"AddRow":commandWrapper.command=_mergedTableAddRow2.default;break;case"AddCol":commandWrapper.command=_mergedTableAddCol2.default;break;case"RemoveRow":commandWrapper.command=_mergedTableRemoveRow2.default;break;case"RemoveCol":commandWrapper.command=_mergedTableRemoveCol2.default;break;case"AlignCol":commandWrapper.command=_mergedTableAlignCol2.default;break;default:}}function _bindEvents(eventManager){eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){return _changeHtml(html,_mergedTableCreator2.default)});eventManager.listen("convertorBeforeHtmlToMarkdownConverted",function(html){return _changeHtml(html,_tableUnmergePreparer2.default)});eventManager.listen("addCommandBefore",_snatchWysiwygCommand)}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"])_i["return"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}}();exports._extractPropertiesForMerge=_extractPropertiesForMerge;exports._parseTableCell=_parseTableCell;exports._createTableObjectFrom$Table=_createTableObjectFrom$Table;exports._divideTrs=_divideTrs;exports._mergeByColspan=_mergeByColspan;exports._getRemovalTdCountsByRowspan=_getRemovalTdCountsByRowspan;exports._mergeByRowspan=_mergeByRowspan;exports.default=createMergedTable;var _tableRenderer=__webpack_require__(111);var _tableRenderer2=_interopRequireDefault(_tableRenderer);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _extractPropertiesForMerge(value,type,oppossitType){var regex=new RegExp("^((?:"+oppossitType+"=[0-9]+:)?)"+type+"=([0-9]+):(.*)");var regexResult=regex.exec(value);var mergeCount=1;if(regexResult){mergeCount=parseInt(regexResult[2],10);value=regexResult[1]+regexResult[3]}return[mergeCount,value]}function _parseTableCell(cell){var nodeName=cell.nodeName;var align=cell.align||"";var content=cell.innerHTML.trim();var colspan=null;var rowspan=null;var _extractPropertiesFor=_extractPropertiesForMerge(content,"@cols","@rows");var _extractPropertiesFor2=_slicedToArray(_extractPropertiesFor,2);colspan=_extractPropertiesFor2[0];content=_extractPropertiesFor2[1];var _extractPropertiesFor3=_extractPropertiesForMerge(content,"@rows","@cols");var _extractPropertiesFor4=_slicedToArray(_extractPropertiesFor3,2);rowspan=_extractPropertiesFor4[0];content=_extractPropertiesFor4[1];return{nodeName:nodeName,colspan:colspan,rowspan:rowspan,content:content,align:align}}function _createTableObjectFrom$Table($table){return $table.find("tr").get().map(function(tr){return $(tr).find("td, th").get().map(_parseTableCell)})}function _findIndex(arr,onFind){var foundIndex=-1;tui.util.forEach(arr,function(item,index){var nextFind=true;if(onFind(item,index)){foundIndex=index;nextFind=false}return nextFind});return foundIndex}function _divideTrs(trs){var tbodyStartIndex=_findIndex(trs,function(tr){return tr[0].nodeName==="TD"});return[trs.slice(0,tbodyStartIndex),trs.slice(tbodyStartIndex)]}function _mergeByColspan(trs){trs.forEach(function(tr){var tdCount=tr.length;var removalCount=0;tr.forEach(function(td){removalCount+=td.colspan-1});tr.splice(tdCount-removalCount)})}function _getRemovalTdCountsByRowspan(trs){var trIndexes=trs.map(function(tr,index){return index});var removalCounts=trIndexes.map(function(){return 0});trs.forEach(function(tr,trIndex){var rowspanTds=tr.filter(function(td){return td.rowspan>1});var startTrIndexForRemoval=trIndex+1;rowspanTds.forEach(function(td){var removeCount=td.colspan;var endTrIndexForRemoval=startTrIndexForRemoval+(td.rowspan-1);trIndexes.slice(startTrIndexForRemoval,endTrIndexForRemoval).forEach(function(removeIndex){removalCounts[removeIndex]+=removeCount})})});return removalCounts}function _mergeByRowspan(trs){var removalCounts=_getRemovalTdCountsByRowspan(trs);trs.forEach(function(tr,trIndex){tr.splice(tr.length-removalCounts[trIndex])})}function createMergedTable(tableElement){var table=_createTableObjectFrom$Table($(tableElement));var _divideTrs2=_divideTrs(table),_divideTrs3=_slicedToArray(_divideTrs2,2),thead=_divideTrs3[0],tbody=_divideTrs3[1];_mergeByColspan(thead);_mergeByColspan(tbody);_mergeByRowspan(tbody);return $(_tableRenderer2.default.createTableHtml(table))[0]}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _createCellHtml(cell){var attrs=cell.colspan>1?' colspan="'+cell.colspan+'"':"";attrs+=cell.rowspan>1?' rowspan="'+cell.rowspan+'"':"";attrs+=cell.align?' align="'+cell.align+'"':"";return"<"+cell.nodeName+attrs+">"+cell.content+""}function _createTheadOrTbodyHtml(trs,wrapperNodeName){var html="";if(trs.length){html=trs.map(function(tr){var tdHtml=tr.map(_createCellHtml).join("");return""+tdHtml+""}).join("");html="<"+wrapperNodeName+">"+html+""}return html}function createTableHtml(renderData){var thead=[renderData[0]];var tbody=renderData.slice(1);var theadHtml=_createTheadOrTbodyHtml(thead,"THEAD");var tbodyHtml=_createTheadOrTbodyHtml(tbody,"TBODY");var className=renderData.className?' class="'+renderData.className+'"':"";return""+(theadHtml+tbodyHtml)+""}function replaceTable($table,tableData){var cellIndexData=_tableDataHandler2.default.createCellIndexData(tableData);var renderData=_tableDataHandler2.default.createRenderData(tableData,cellIndexData);var $newTable=$(createTableHtml(renderData));$table.replaceWith($newTable);return $newTable}function focusToCell(sq,range,targetCell){range.selectNodeContents(targetCell);range.collapse(true);sq.setSelection(range)}exports.default={createTableHtml:createTableHtml,replaceTable:replaceTable,focusToCell:focusToCell}},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createTableData=createTableData;exports.createCellIndexData=createCellIndexData;function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i1;var rowMerged=rowspan>1;var nodeName=cellData.nodeName;if(!colMerged&&!rowMerged){return}var limitRowIndex=startRowIndex+rowspan;var limitCellIndex=startCellIndex+colspan;util.range(startRowIndex,limitRowIndex).forEach(function(rowIndex){base[rowIndex]=base[rowIndex]||[];util.range(startCellIndex,limitCellIndex).forEach(function(cellIndex){var mergedData={nodeName:nodeName};if(rowIndex===startRowIndex&&cellIndex===startCellIndex){return}if(colMerged){mergedData.colMergeWith=startCellIndex}if(rowMerged){mergedData.rowMergeWith=startRowIndex}base[rowIndex][cellIndex]=mergedData})})}function createTableData($table){var tableData=[];$table.find("tr").each(function(rowIndex,tr){var stackedColCount=0;tableData[rowIndex]=tableData[rowIndex]||[];$(tr).children().each(function(colIndex,cell){var cellData=_parseCell(cell,rowIndex,colIndex);if(!cellData){return}var dataColIndex=colIndex+stackedColCount;while(tableData[rowIndex][dataColIndex]){dataColIndex+=1;stackedColCount+=1}tableData[rowIndex][dataColIndex]=cellData;_addMergedCell(tableData,cellData,rowIndex,dataColIndex)})});if($table[0].className){tableData.className=$table[0].className}return tableData}function createCellIndexData(tableData){var mappingData=[];tableData.forEach(function(row,rowIndex){var mappingRow=[];row.forEach(function(cell,colIndex){if(util.isUndefined(cell.colMergeWith)&&util.isUndefined(cell.rowMergeWith)){mappingRow.push({rowIndex:rowIndex,colIndex:colIndex})}});mappingData.push(mappingRow)});return mappingData}function _getHeaderAligns(tableData){var headRowData=tableData[0];return headRowData.map(function(cellData){var align=void 0;if(util.isExisty(cellData.colMergeWith)){align=headRowData[cellData.colMergeWith].align}else{align=cellData.align}return align})}function createRenderData(tableData,cellIndexData){var headerAligns=_getHeaderAligns(tableData);var renderData=cellIndexData.map(function(row){return row.map(function(_ref){var rowIndex=_ref.rowIndex,colIndex=_ref.colIndex;return util.extend({align:headerAligns[colIndex]},tableData[rowIndex][colIndex])})});if(tableData.className){renderData.className=tableData.className}return renderData}var BASIC_CELL_CONTENT=tui.util.browser.msie?"":"
    ";function createBasicCell(rowIndex,colIndex,nodeName){return{nodeName:nodeName||"TD",colspan:1,rowspan:1,content:BASIC_CELL_CONTENT,elementIndex:{rowIndex:rowIndex,colIndex:colIndex}}}function findElementRowIndex($cell){var $tr=$cell.closest("tr");var rowIndex=$tr.prevAll().length;if($tr.parent()[0].nodeName==="TBODY"){rowIndex+=1}return rowIndex}function findElementColIndex($cell){return $cell.closest("td, th").prevAll().length}function findCellIndex(cellIndexData,$cell){var elementRowIndex=findElementRowIndex($cell);var elementColIndex=findElementColIndex($cell);return cellIndexData[elementRowIndex][elementColIndex]}function findRowMergedLastIndex(tableData,rowIndex,colIndex){var cellData=tableData[rowIndex][colIndex];var foundRowIndex=rowIndex;if(cellData.rowspan>1){foundRowIndex+=cellData.rowspan-1}return foundRowIndex}function findColMergedLastIndex(tableData,rowIndex,colIndex){var cellData=tableData[rowIndex][colIndex];var foundColIndex=colIndex;if(cellData.colspan>1){foundColIndex+=cellData.colspan-1}return foundColIndex}function findElementIndex(tableData,rowIndex,colIndex){var cellData=tableData[rowIndex][colIndex];rowIndex=util.isExisty(cellData.rowMergeWith)?cellData.rowMergeWith:rowIndex;colIndex=util.isExisty(cellData.colMergeWith)?cellData.colMergeWith:colIndex;return tableData[rowIndex][colIndex].elementIndex}function stuffCellsIntoIncompleteRow(tableData,limitIndex){tableData.forEach(function(rowData,rowIndex){var startIndex=rowData.length;var nodeName=rowData[0].nodeName;util.range(startIndex,limitIndex).forEach(function(colIndex){rowData.push(createBasicCell(rowIndex,colIndex,nodeName))})})}function addTbodyOrTheadIfNeed(tableData){var header=tableData[0];var cellCount=header.length;var added=true;if(!cellCount&&tableData[1]){util.range(0,tableData[1].length).forEach(function(colIndex){header.push(createBasicCell(0,colIndex,"TH"))})}else if(tableData[0][0].nodeName!=="TH"){var _ref2;var newHeader=util.range(0,cellCount).map(function(colIndex){return createBasicCell(0,colIndex,"TH")});(_ref2=[]).concat.apply(_ref2,_toConsumableArray(tableData)).forEach(function(cellData){if(cellData.elementIndex){cellData.elementIndex.rowIndex+=1}});tableData.unshift(newHeader)}else if(tableData.length===1){var newRow=util.range(0,cellCount).map(function(colIndex){return createBasicCell(1,colIndex,"TD")});tableData.push(newRow)}else{added=false}return added}exports.default={createTableData:createTableData,createCellIndexData:createCellIndexData,createRenderData:createRenderData,findElementRowIndex:findElementRowIndex,findElementColIndex:findElementColIndex,findCellIndex:findCellIndex,createBasicCell:createBasicCell,findRowMergedLastIndex:findRowMergedLastIndex,findColMergedLastIndex:findColMergedLastIndex,findElementIndex:findElementIndex,stuffCellsIntoIncompleteRow:stuffCellsIntoIncompleteRow,addTbodyOrTheadIfNeed:addTbodyOrTheadIfNeed}},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._prependMergeSyntaxToContent=_prependMergeSyntaxToContent;exports.default=prepareTableUnmerge;function _prependMergeSyntaxToContent(cell){var $cell=$(cell);var colspan=$cell.attr("colspan")||"";var rowspan=$cell.attr("rowspan")||"";var content=$cell.html();if(colspan){content="@cols="+colspan+":"+content}if(rowspan){content="@rows="+rowspan+":"+content}if(content){$cell.html(content)}}function prepareTableUnmerge(tableElement){$(tableElement).find("td, th").get().forEach(_prependMergeSyntaxToContent);return tableElement}},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._getAdditionalThCount=_getAdditionalThCount;exports._createTheadMarkdown=_createTheadMarkdown;var toMark=window.toMark;var RX_COLS=/@cols=[0-9]+:/g;function _createRepeatString(str,count){return tui.util.range(0,count).map(function(){return str}).join("")}function _makeTableHeadAlignText(thElement){var align=thElement.align;var textContent=(thElement.textContent||thElement.innerText).replace(RX_COLS,"");var textLength=textContent.length;var leftAlignValue="";var rightAlignValue="";if(align){if(align==="left"){leftAlignValue=":";textLength-=1}else if(align==="right"){rightAlignValue=":";textLength-=1}else if(align==="center"){rightAlignValue=":";leftAlignValue=":";textLength-=2}}textLength=Math.max(textLength,3);return leftAlignValue+_createRepeatString("-",textLength)+rightAlignValue}function _getAdditionalThCount(ths){var additionalThCount=0;ths.filter(function(th){return $(th).attr("colspan")}).forEach(function(th){additionalThCount+=parseInt($(th).attr("colspan"),10)-1});return additionalThCount}function _createTheadMarkdown(theadElement,theadContentMarkdown){var ths=$(theadElement).find("th").get();var align=ths.map(function(th){return" "+_makeTableHeadAlignText(th)+" |"}).join("");align+=_createRepeatString(" --- |",_getAdditionalThCount(ths));return theadContentMarkdown?theadContentMarkdown+"|"+align+"\n":""}exports.default=toMark.Renderer.factory(toMark.gfmRenderer,{THEAD:_createTheadMarkdown})},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1});return isHeader&&hasHeaderMerge}},{key:"_isExactlyFit",value:function _isExactlyFit(clipboardTableData,targetRowCount,targetColCount){return targetRowCount%clipboardTableData.length===0&&targetColCount%clipboardTableData[0].length===0}},{key:"_updateClipboardTableData",value:function _updateClipboardTableData(clipboardTableData,targetRowCount,targetColCount){var clipboardRowCount=clipboardTableData.length;var clipboardColCount=clipboardTableData[0].length;var increaseRowCount=parseInt(targetRowCount/clipboardRowCount,10);var increaseColCount=parseInt(targetColCount/clipboardColCount,10);if(increaseRowCount>1){var originalData=JSON.parse(JSON.stringify(clipboardTableData));util.range(0,increaseRowCount-1).forEach(function(){var newRows=JSON.parse(JSON.stringify(originalData));clipboardTableData.push.apply(clipboardTableData,_toConsumableArray(newRows))})}if(increaseColCount>1){var _originalData=JSON.parse(JSON.stringify(clipboardTableData));util.range(0,increaseColCount-1).forEach(function(){var newData=JSON.parse(JSON.stringify(_originalData));clipboardTableData.forEach(function(rowData,rowIndex){rowData.push.apply(rowData,_toConsumableArray(newData[rowIndex]))})})}}},{key:"_updateTableDataByClipboardData",value:function _updateTableDataByClipboardData(clipboardTableData,tableData,startCellIndex){var startRowIndex=startCellIndex.rowIndex;var startColIndex=startCellIndex.colIndex;clipboardTableData.forEach(function(rowData,rowIndex){var updateRowIndex=startRowIndex+rowIndex;rowData.forEach(function(cellData,colIndex){var updateColIndex=startColIndex+colIndex;var prevCellData=tableData[updateRowIndex][updateColIndex];cellData.nodeName=prevCellData.nodeName;tableData[updateRowIndex][updateColIndex]=cellData})})}},{key:"_isPossibleToPaste",value:function _isPossibleToPaste(tableData,startCellIndex,endCellIndex){var startRowIndex=startCellIndex.rowIndex;var startColIndex=startCellIndex.colIndex;var endRowIndex=endCellIndex.rowIndex;var endColIndex=endCellIndex.colIndex;var filterdTableData=tableData.slice(startRowIndex,endRowIndex+1);var firstRow=filterdTableData[0].slice(startColIndex,endColIndex+1);var isPossible=!any(firstRow,function(cellData){return util.isExisty(cellData.rowMergeWith)});if(isPossible){var firstCells=util.pluck(filterdTableData,startColIndex);isPossible=!any(firstCells,function(cellData){return util.isExisty(cellData.colMergeWith)})}if(isPossible&&tableData.length>endRowIndex+1){var nextRow=tableData[endRowIndex+1].slice(startColIndex,endColIndex+1);isPossible=!any(nextRow,function(cellData){return util.isExisty(cellData.rowMergeWith)})}if(isPossible&&tableData[0].length>endColIndex+1){var nextCells=util.pluck(filterdTableData,endColIndex+1);isPossible=!any(nextCells,function(cellData){return util.isExisty(cellData.colMergeWith)})}return isPossible}},{key:"_spliceClipboardData",value:function _spliceClipboardData(clipboardTableData,targetRowCount,targetColCount){clipboardTableData.splice(targetRowCount);clipboardTableData.forEach(function(rowData){rowData.splice(targetColCount)})}},{key:"_bookmarkLastTd",value:function _bookmarkLastTd(_ref){var endRowIndex=_ref.rowIndex,endColIndex=_ref.colIndex;var sq=this.wwe.getEditor();var $bookmarkedTable=sq.get$Body().find("."+PASTE_TABLE_BOOKMARK);var tableData=_tableDataHandler2.default.createTableData($bookmarkedTable);var lastCellData=tableData[endRowIndex][endColIndex];endRowIndex=util.isExisty(lastCellData.rowMergeWith)?lastCellData.rowMergeWith:endRowIndex;endColIndex=util.isExisty(lastCellData.colMergeWith)?lastCellData.colMergeWith:endColIndex;var lastCellIndex=tableData[endRowIndex][endColIndex].elementIndex;var lastTd=$bookmarkedTable.find("tr").eq(lastCellIndex.rowIndex).children()[lastCellIndex.colIndex];$bookmarkedTable.removeClass(PASTE_TABLE_BOOKMARK);$(lastTd).addClass(PASTE_TABLE_CELL_BOOKMARK)}},{key:"_updateClipboardDataForPasteToSamllerSelectedArea",value:function _updateClipboardDataForPasteToSamllerSelectedArea(clipboardTableData,tableData,targetRowCount,targetColCount,startRange){var updated=true;var startCellIndex={rowIndex:0,colIndex:0};var endCellIndex={rowIndex:targetRowCount-1,colIndex:targetColCount-1};if(this._isPossibleToPaste(clipboardTableData,startCellIndex,endCellIndex)){this._spliceClipboardData(clipboardTableData,targetRowCount,targetColCount);this._updateTableDataByClipboardData(clipboardTableData,tableData,startRange)}else{updated=false}return updated}},{key:"_pasteToSelectedArea",value:function _pasteToSelectedArea($table,clipboardTableData,tableData,$selectedCells){var _tableRangeHandler$ge2=_tableRangeHandler2.default.getTableSelectionRange(tableData,$selectedCells),startRange=_tableRangeHandler$ge2.start,endRange=_tableRangeHandler$ge2.end;var targetRowCount=endRange.rowIndex-startRange.rowIndex+1;var targetColCount=endRange.colIndex-startRange.colIndex+1;var clipboardRowCount=clipboardTableData.length;var clipboardColCount=clipboardTableData[0].length;var isSelectionLargerThanData=targetRowCount>=clipboardRowCount&&targetColCount>=clipboardColCount;var alertMessage=_i18n2.default.get("Cannot change part of merged cell");var updated=true;var endCellIndex=void 0;if(this._hasRowMergedHeader(clipboardTableData,tableData,startRange)){alertMessage=_i18n2.default.get("Cannot paste row merged cells into the table header");updated=false}else if(this._isExactlyFit(clipboardTableData,targetRowCount,targetColCount)){endCellIndex=endRange;this._updateClipboardTableData(clipboardTableData,targetRowCount,targetColCount);this._updateTableDataByClipboardData(clipboardTableData,tableData,startRange)}else if(isSelectionLargerThanData){endCellIndex={rowIndex:startRange.rowIndex+clipboardRowCount-1,colIndex:startRange.colIndex+clipboardColCount-1};if(this._isPossibleToPaste(tableData,startRange,endCellIndex)){this._updateTableDataByClipboardData(clipboardTableData,tableData,startRange)}else{updated=false}}else{endCellIndex={rowIndex:startRange.rowIndex+targetRowCount-1,colIndex:startRange.colIndex+targetColCount-1};updated=this._updateClipboardDataForPasteToSamllerSelectedArea(clipboardTableData,tableData,targetRowCount,targetColCount,startRange)}if(updated){tableData.className+=" "+PASTE_TABLE_BOOKMARK;_tableRenderer2.default.replaceTable($table,tableData);this._bookmarkLastTd(endCellIndex)}else{alert(alertMessage);this.wwe.getEditor().focus()}}},{key:"_findEndCellIndex",value:function _findEndCellIndex(clipboardTableData,_ref2){var startRowIndex=_ref2.rowIndex,startColIndex=_ref2.colIndex;return{rowIndex:startRowIndex+clipboardTableData.length-1,colIndex:startColIndex+clipboardTableData[0].length-1}}},{key:"_expandRow",value:function _expandRow(tableData,expandCount){var startRowIndex=tableData.length;var cellCount=tableData[0].length;var newRows=util.range(startRowIndex,startRowIndex+expandCount).map(function(rowIndex){return util.range(0,cellCount).map(function(colIndex){return _tableDataHandler2.default.createBasicCell(rowIndex,colIndex)})});tableData.push.apply(tableData,_toConsumableArray(newRows))}},{key:"_expandCoumn",value:function _expandCoumn(tableData,expandCount){var startCellIndex=tableData[0].length;var additionalCellRange=util.range(startCellIndex,startCellIndex+expandCount);tableData.forEach(function(rowData,rowIndex){var nodeName=rowData[0].nodeName;var newCells=additionalCellRange.map(function(colIndex){return _tableDataHandler2.default.createBasicCell(rowIndex,colIndex,nodeName)});rowData.push.apply(rowData,_toConsumableArray(newCells))})}},{key:"_expandTableDataIfNeed",value:function _expandTableDataIfNeed(tableData,startCellIndex,endCellIndex){var expandRowCount=endCellIndex.rowIndex-tableData.length+1;var expandCellCount=endCellIndex.colIndex-tableData[0].length+1;if(expandRowCount>0){this._expandRow(tableData,expandRowCount)}if(expandCellCount>0){this._expandCoumn(tableData,expandCellCount)}}},{key:"_pasteAllClipboardTableData",value:function _pasteAllClipboardTableData($table,clipboardTableData,tableData,startCellIndex){var endCellIndex=this._findEndCellIndex(clipboardTableData,startCellIndex);if(this._hasRowMergedHeader(clipboardTableData,tableData,startCellIndex)){alert(_i18n2.default.get("Cannot paste row merged cells into the table header"));this.wwe.getEditor().focus();return}this._expandTableDataIfNeed(tableData,startCellIndex,endCellIndex);if(this._isPossibleToPaste(tableData,startCellIndex,endCellIndex)){this._updateTableDataByClipboardData(clipboardTableData,tableData,startCellIndex);tableData.className+=" "+PASTE_TABLE_BOOKMARK;_tableRenderer2.default.replaceTable($table,tableData);this._bookmarkLastTd(endCellIndex)}else{alert(_i18n2.default.get("Cannot change part of merged cell"));this.wwe.getEditor().focus()}}},{key:"pasteClipboardData",value:function pasteClipboardData($clipboardTable){var clipboardTableData=_tableDataHandler2.default.createTableData($clipboardTable);var tableSelectionManager=this.wwe.componentManager.getManager("tableSelection");var $selectedCells=tableSelectionManager.getSelectedCells();var $startCell=$(this._findStartCell($selectedCells));var $table=$startCell.closest("table");var tableData=_tableDataHandler2.default.createTableData($table);var startCellIndex=this._findStartCellIndex(tableData,$startCell);if($selectedCells.length>1){this._pasteToSelectedArea($table,clipboardTableData,tableData,$selectedCells)}else{this._pasteAllClipboardTableData($table,clipboardTableData,tableData,startCellIndex)}}}]);return WwMergedTableManager}(_wwTableManager2.default);function any(arr,contition){var result=false;util.forEach(arr,function(item){result=contition(item);return!result});return result}module.exports=WwMergedTableManager},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function _findUnmergedRange(tableData,$start,$end){var cellIndexData=_tableDataHandler2.default.createCellIndexData(tableData);var startCellIndex=_tableDataHandler2.default.findCellIndex(cellIndexData,$start);var endCellIndex=_tableDataHandler2.default.findCellIndex(cellIndexData,$end);var startRowIndex=void 0,endRowIndex=void 0,startColIndex=void 0,endColIndex=void 0;if(startCellIndex.rowIndex>endCellIndex.rowIndex){startRowIndex=endCellIndex.rowIndex;endRowIndex=startCellIndex.rowIndex}else{startRowIndex=startCellIndex.rowIndex;endRowIndex=endCellIndex.rowIndex}if(startCellIndex.colIndex>endCellIndex.colIndex){startColIndex=endCellIndex.colIndex;endColIndex=startCellIndex.colIndex}else{startColIndex=startCellIndex.colIndex;endColIndex=endCellIndex.colIndex}return{start:{rowIndex:startRowIndex,colIndex:startColIndex},end:{rowIndex:endRowIndex,colIndex:endColIndex}}}function _expandRowMergedRange(tableData,tableRange,rangeType){var rowIndex=tableRange[rangeType].rowIndex;var rowData=tableData[rowIndex];util.range(tableRange.start.colIndex,tableRange.end.colIndex+1).forEach(function(colIndex){var cellData=rowData[colIndex];var rowMergeWith=cellData.rowMergeWith;var lastRowMergedIndex=-1;if(util.isExisty(rowMergeWith)){if(rowMergeWith1){lastRowMergedIndex=rowIndex+cellData.rowspan-1}if(lastRowMergedIndex>tableRange.end.rowIndex){tableRange.end.rowIndex=lastRowMergedIndex}})}function _expandColMergedRange(tableData,tableRange,rowIndex,colIndex){var rowData=tableData[rowIndex];var cellData=rowData[colIndex];var colMergeWith=cellData.colMergeWith;var lastColMergedIndex=-1;if(util.isExisty(colMergeWith)){if(colMergeWith1){lastColMergedIndex=colIndex+cellData.colspan-1}if(lastColMergedIndex>tableRange.end.colIndex){tableRange.end.colIndex=lastColMergedIndex}}function _expandMergedRange(tableData,tableRange){var rangeStr="";while(rangeStr!==JSON.stringify(tableRange)){rangeStr=JSON.stringify(tableRange);_expandRowMergedRange(tableData,tableRange,"start");_expandRowMergedRange(tableData,tableRange,"end");util.range(tableRange.start.rowIndex,tableRange.end.rowIndex+1).forEach(function(rowIndex){_expandColMergedRange(tableData,tableRange,rowIndex,tableRange.start.colIndex);_expandColMergedRange(tableData,tableRange,rowIndex,tableRange.end.colIndex)})}return tableRange}function findSelectionRange(tableData,$start,$end){var unmergedRange=_findUnmergedRange(tableData,$start,$end);return _expandMergedRange(tableData,unmergedRange)}function getTableSelectionRange(tableData,$selectedCells,$startContainer){var cellIndexData=_tableDataHandler2.default.createCellIndexData(tableData);var tableRange={};if($selectedCells.length){var startRange=_tableDataHandler2.default.findCellIndex(cellIndexData,$selectedCells.first());var endRange=util.extend({},startRange);$selectedCells.each(function(index,cell){var cellIndex=_tableDataHandler2.default.findCellIndex(cellIndexData,$(cell));var cellData=tableData[cellIndex.rowIndex][cellIndex.colIndex];var lastRowMergedIndex=cellIndex.rowIndex+cellData.rowspan-1;var lastColMergedIndex=cellIndex.colIndex+cellData.colspan-1;endRange.rowIndex=Math.max(endRange.rowIndex,lastRowMergedIndex);endRange.colIndex=Math.max(endRange.colIndex,lastColMergedIndex)});tableRange.start=startRange;tableRange.end=endRange}else{var cellIndex=_tableDataHandler2.default.findCellIndex(cellIndexData,$startContainer);tableRange.start=cellIndex;tableRange.end=util.extend({},cellIndex)}return tableRange}exports.default={findSelectionRange:findSelectionRange,getTableSelectionRange:getTableSelectionRange}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;irowIndex){merger.rowspan+=1;newCell=util.extend({},cellData)}}else if(cellData.rowspan>1){cellData.rowspan+=1;newCell=_createRowMergedCell(rowIndex)}if(!newCell){newCell=_tableDataHandler2.default.createBasicCell(rowIndex+1,colIndex)}prevCell=newCell;return newCell})}function _addRow(tableData,tableRange){var startRowIndex=tableRange.start.rowIndex;var endRange=tableRange.end;var endRowIndex=_tableDataHandler2.default.findRowMergedLastIndex(tableData,endRange.rowIndex,endRange.colIndex);var newRows=util.range(startRowIndex,endRowIndex+1).map(function(){return _createNewRow(tableData,endRowIndex)});tableData.splice.apply(tableData,_toConsumableArray([endRowIndex+1,0].concat(newRows)))}function _findFocusTd($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);var newRowIndex=_tableDataHandler2.default.findRowMergedLastIndex(tableData,rowIndex,colIndex)+1;var cellElementIndex=_tableDataHandler2.default.findElementIndex(tableData,newRowIndex,colIndex);return $newTable.find("tr").eq(cellElementIndex.rowIndex).find("td")[cellElementIndex.colIndex]}exports.default=AddRow},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._createNewColumns=_createNewColumns;exports._addColumns=_addColumns;var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);var _tableRangeHandler=__webpack_require__(116);var _tableRangeHandler2=_interopRequireDefault(_tableRangeHandler);var _tableRenderer=__webpack_require__(111);var _tableRenderer2=_interopRequireDefault(_tableRenderer);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);icolIndex){merger.colspan+=1;newCell=util.extend({},cellData)}}else if(cellData.colspan>1){cellData.colspan+=1;newCell=_createColMergedCell(colIndex,cellData.nodeName)}if(!newCell){newCell=_tableDataHandler2.default.createBasicCell(rowIndex,colIndex+1,cellData.nodeName)}return newCell}function _createNewColumns(tableData,startColIndex,endColIndex){var colIndexes=util.range(startColIndex,endColIndex+1);var newColumns=[];var prevCells=null;tableData.forEach(function(rowData,rowIndex){var newCells=colIndexes.map(function(colIndex,index){var prevCell=prevCells?prevCells[index-1]:null;return _createNewCell(rowData,rowIndex,endColIndex,prevCell)});prevCells=newCells;newColumns.push(newCells)});return newColumns}function _addColumns(tableData,tableRange){var endRange=tableRange.end;var endColIndex=_tableDataHandler2.default.findColMergedLastIndex(tableData,endRange.rowIndex,endRange.colIndex);var newColumns=_createNewColumns(tableData,tableRange.start.colIndex,endColIndex);var newColIndex=endColIndex+1;tableData.forEach(function(rowData,rowIndex){rowData.splice.apply(rowData,_toConsumableArray([newColIndex,0].concat(newColumns[rowIndex])))})}function _findFocusCell($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);var newColIndex=_tableDataHandler2.default.findColMergedLastIndex(tableData,rowIndex,colIndex)+1;var cellElementIndex=_tableDataHandler2.default.findElementIndex(tableData,rowIndex,newColIndex);return $newTable.find("tr").eq(cellElementIndex.rowIndex).find("td, th")[cellElementIndex.colIndex]}exports.default=AddCol},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._removeRow=_removeRow;var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);var _tableRangeHandler=__webpack_require__(116);var _tableRangeHandler2=_interopRequireDefault(_tableRangeHandler);var _tableRenderer=__webpack_require__(111);var _tableRenderer2=_interopRequireDefault(_tableRenderer);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var RemoveRow=_commandManager2.default.command("wysiwyg",{name:"RemoveRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();sq.focus();if(!sq.hasFormat("TABLE")){return}var $startContainer=$(range.startContainer);var $table=$startContainer.closest("table");var tableData=_tableDataHandler2.default.createTableData($table);var beforeRowLength=tableData.length;var $selectedCells=wwe.componentManager.getManager("tableSelection").getSelectedCells();var tableRange=_tableRangeHandler2.default.getTableSelectionRange(tableData,$selectedCells,$startContainer);_removeRow(tableData,tableRange);if(beforeRowLength===tableData.length){return}var $newTable=_tableRenderer2.default.replaceTable($table,tableData);var focusTd=_findFocusTd($newTable,tableRange.end.rowIndex,tableRange.start.colIndex);_tableRenderer2.default.focusToCell(sq,range,focusTd)}});function _updateRowspan(tableData,startRowIndex,endRowIndex){util.range(startRowIndex,endRowIndex+1).forEach(function(rowIndex){tableData[rowIndex].forEach(function(cell,cellIndex){if(util.isExisty(cell.rowMergeWith)){var merger=tableData[cell.rowMergeWith][cellIndex];if(merger.rowspan){merger.rowspan-=1}}else if(cell.rowspan>1){var lastMergedRowIndex=rowIndex+cell.rowspan-1;cell.rowspan-=endRowIndex-rowIndex+1;if(lastMergedRowIndex>endRowIndex){tableData[endRowIndex+1][cellIndex]=util.extend({},cell)}}})})}function _updateMergeStartIndex(tableData,startRowIndex,endRowIndex){tableData.slice(endRowIndex+1).forEach(function(row){row.forEach(function(cell){if(util.isExisty(cell.rowMergeWith)&&cell.rowMergeWith>=startRowIndex){cell.rowMergeWith=endRowIndex+1}})})}function _removeRow(tableData,tableRange){var startRowIndex=tableRange.start.rowIndex;var endRange=tableRange.end;var endRowIndex=_tableDataHandler2.default.findRowMergedLastIndex(tableData,endRange.rowIndex,endRange.colIndex);var removeCount=endRowIndex-startRowIndex+1;if(removeCount===tableData.length-1){return}_updateRowspan(tableData,startRowIndex,endRowIndex);_updateMergeStartIndex(tableData,startRowIndex,endRowIndex);tableData.splice(startRowIndex,removeCount)}function _findFocusTd($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);if(tableData.length-11){var lastMergedCellIndex=colIndex+cellData.colspan-1;cellData.colspan-=endColIndex-colIndex+1;if(lastMergedCellIndex>endColIndex){rowData[endColIndex+1]=util.extend({},cellData)}}})})}function _updateMergeStartIndex(tableData,startColIndex,endColIndex){tableData.forEach(function(rowData){rowData.slice(endColIndex+1).forEach(function(cellData){if(util.isExisty(cellData.colMergeWith)&&cellData.colMergeWith>=startColIndex){cellData.colMergeWith=endColIndex+1}})})}function _removeColumns(tableData,tableRange){var startColIndex=tableRange.start.colIndex;var endRange=tableRange.end;var endColIndex=_tableDataHandler2.default.findColMergedLastIndex(tableData,endRange.rowIndex,endRange.colIndex);var removeCount=endColIndex-startColIndex+1;if(removeCount===tableData[0].length){return}_updateColspan(tableData,startColIndex,endColIndex);_updateMergeStartIndex(tableData,startColIndex,endColIndex);tableData.forEach(function(row){row.splice(startColIndex,removeCount)})}function _findFocusCell($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);if(tableData[0].length-1";var MergeCell=_commandManager2.default.command("wysiwyg",{name:"MergeCells",exec:function exec(wwe){var sq=wwe.getEditor();sq.focus();if(!sq.hasFormat("TABLE")){return}var selectionManager=wwe.componentManager.getManager("tableSelection");var $selectedCells=selectionManager.getSelectedCells();if($selectedCells.length<2||selectionManager.hasSelectedBothThAndTd($selectedCells)){return}var range=sq.getSelection().cloneRange();var $startContainer=$(range.startContainer);var $table=$startContainer.closest("table");var tableData=_tableDataHandler2.default.createTableData($table);var tableRange=_tableRangeHandler2.default.getTableSelectionRange(tableData,$selectedCells,$startContainer);_mergeCells(tableData,tableRange);var $newTable=_tableRenderer2.default.replaceTable($table,tableData);var focusCell=_findFocusCell($newTable,tableRange.start.rowIndex,tableRange.start.colIndex);_tableRenderer2.default.focusToCell(sq,range,focusCell)}});function _pickContent(targetRows,startColIndex,endColIndex){var _ref;var limitColIndex=endColIndex+1;var cells=(_ref=[]).concat.apply(_ref,_toConsumableArray(targetRows.map(function(rowData){return rowData.slice(startColIndex,limitColIndex)})));var foundCellData=cells.filter(function(_ref2){var content=_ref2.content;return content&&content!==BASIC_CELL_CONTENT});return foundCellData.length?foundCellData[0].content:BASIC_CELL_CONTENT}function _initCellData(targetRows,startColIndex,endColIndex){var _ref3;var limitColIndex=endColIndex+1;var targetCells=targetRows.map(function(rowData){return rowData.slice(startColIndex,limitColIndex)});(_ref3=[]).concat.apply(_ref3,_toConsumableArray(targetCells)).slice(1).forEach(function(cellData){var nodeName=cellData.nodeName;util.forEach(cellData,function(value,name){return delete cellData[name]});cellData.nodeName=nodeName})}function _updateRowMergeWith(targetRows,startColIndex,endColIndex,rowMergeWith){var limitColIndex=endColIndex+1;targetRows.forEach(function(rowData){rowData.slice(startColIndex,limitColIndex).forEach(function(cellData){cellData.rowMergeWith=rowMergeWith})})}function _updateColMergeWith(targetRows,startColIndex,endColIndex,colMergeWith){var limitColIndex=endColIndex+1;targetRows.forEach(function(rowData){rowData.slice(startColIndex,limitColIndex).forEach(function(cellData){cellData.colMergeWith=colMergeWith})})}function _mergeCells(tableData,_ref4){var startRange=_ref4.start,endRange=_ref4.end;var startRowIndex=startRange.rowIndex;var startColIndex=startRange.colIndex;var endRowIndex=endRange.rowIndex;var endColIndex=endRange.colIndex;var merger=tableData[startRowIndex][startColIndex];var targetRows=tableData.slice(startRowIndex,endRowIndex+1);var rowspan=endRowIndex-startRowIndex+1;var colspan=endColIndex-startColIndex+1;merger.rowspan=rowspan;merger.colspan=colspan;merger.content=_pickContent(targetRows,startColIndex,endColIndex);_initCellData(targetRows,startColIndex,endColIndex);if(rowspan>1){_updateRowMergeWith(targetRows.slice(1),startColIndex,endColIndex,startRowIndex)}if(colspan>1){_updateColMergeWith(targetRows,startColIndex+1,endColIndex,startColIndex)}}function _findFocusCell($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);var cellElementIndex=_tableDataHandler2.default.findElementIndex(tableData,rowIndex,colIndex);return $newTable.find("tr").eq(cellElementIndex.rowIndex).find("td, th")[cellElementIndex.colIndex]}exports.default=MergeCell},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._hasMergedCell=_hasMergedCell;exports._unmergeCells=_unmergeCells;var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);var _tableRangeHandler=__webpack_require__(116);var _tableRangeHandler2=_interopRequireDefault(_tableRangeHandler);var _tableRenderer=__webpack_require__(111);var _tableRenderer2=_interopRequireDefault(_tableRenderer);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i1||cellData.rowspan>1}).length}function _updateMergedCells(tableData,startRowIndex,startColIndex,rowspan,colspan){var limitRowIndex=startRowIndex+rowspan;var limitColIndex=startColIndex+colspan;var colRange=util.range(startColIndex,limitColIndex);util.range(startRowIndex,limitRowIndex).forEach(function(rowIndex){var rowData=tableData[rowIndex];var startIndex=rowIndex===startRowIndex?1:0;colRange.slice(startIndex).forEach(function(colIndex){rowData[colIndex]=_tableDataHandler2.default.createBasicCell(rowIndex,colIndex,rowData[colIndex].nodeName)})})}function _unmergeCells(tableData,_ref3){var startRange=_ref3.start,endRange=_ref3.end;var colRange=util.range(startRange.colIndex,endRange.colIndex+1);util.range(startRange.rowIndex,endRange.rowIndex+1).forEach(function(rowIndex){colRange.forEach(function(colIndex){var cellData=tableData[rowIndex][colIndex];var colspan=cellData.colspan,rowspan=cellData.rowspan;if(colspan>1||rowspan>1){cellData.colspan=1;cellData.rowspan=1;_updateMergedCells(tableData,rowIndex,colIndex,rowspan,colspan)}})})}function _findFocusCell($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);var cellElementIndex=_tableDataHandler2.default.findElementIndex(tableData,rowIndex,colIndex);return $newTable.find("tr").eq(cellElementIndex.rowIndex).find("td, th")[cellElementIndex.colIndex]}exports.default=UnmergeCell},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _changeContent(popupTableUtils){var POPUP_CONTENT=['",'",'",'",'",'",'",'",'",'"].join("");var $popupContent=$(POPUP_CONTENT);popupTableUtils.$content=$popupContent;popupTableUtils.setContent($popupContent)}function _bindEvents(popupTableUtils,eventManager,selectionManager){var $popupContent=popupTableUtils.$content;var $mergeBtn=$($popupContent[4]);var $unmergeBtn=$($popupContent[5]);popupTableUtils.on("click .te-table-merge",function(){eventManager.emit("command","MergeCells")});popupTableUtils.on("click .te-table-unmerge",function(){eventManager.emit("command","UnmergeCells")});eventManager.listen("openPopupTableUtils",function(){var $selectedCells=selectionManager.getSelectedCells();var selectedCellCount=$selectedCells.length;if(selectedCellCount){if(selectedCellCount<2||selectionManager.hasSelectedBothThAndTd($selectedCells)){$mergeBtn.hide()}else{$mergeBtn.show()}if($selectedCells.is("[rowspan], [colspan]")){$unmergeBtn.show()}else{$unmergeBtn.hide()}}else{$mergeBtn.hide();$unmergeBtn.hide()}})}function updateContextMenu(popupTableUtils,eventManager,selectionManager){_changeContent(popupTableUtils);_bindEvents(popupTableUtils,eventManager,selectionManager)}exports.default={updateContextMenu:updateContextMenu}},function(module,exports,__webpack_require__){"use strict";var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_i18n2.default.setLang(["ko","ko_KR"],{"Merge cells":"셀 병합","Unmerge cells":"셀 병합해제","Cannot change part of merged cell":"병합 된 셀의 일부를 변경할 수 없습니다.","Cannot paste row merged cells into the table header":"테이블 헤더에는 행 병합된 셀을 붙여넣을 수 없습니다."});_i18n2.default.setLang(["en","en_US"],{"Merge cells":"Merge cells","Unmerge cells":"Unmerge cells","Cannot change part of merged cell":"Cannot change part of merged cell.","Cannot paste row merged cells into the table header":"Cannot paste row merged cells into the table header."});_i18n2.default.setLang(["ja","ja_JP"],{"Merge cells":"セルの結合","Unmerge cells":"セルの結合を解除","Cannot change part of merged cell":"結合されたセルの一部を変更することはできません。","Cannot paste row merged cells into the table header":"行にマージされたセルをヘッダーに貼り付けることはできません。"});_i18n2.default.setLang(["nl","nl_NL"],{"Merge cells":"cellen samenvoegen","Unmerge cells":"Samenvoegen cellen ongedaan maken","Cannot change part of merged cell":"Kan geen deel uit van samengevoegde cel te veranderen.","Cannot paste row merged cells into the table header":"Kan niet plakken rij samengevoegde cellen in de koptekst. "});_i18n2.default.setLang(["zh","zh_CN"],{"Merge cells":"合并单元格","Unmerge cells":"取消合并单元格","Cannot change part of merged cell":"无法更改合并单元格的一部分。","Cannot paste row merged cells into the table header":"无法将行合并单元格粘贴到标题中。"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["en","en_US"],{Markdown:"Markdown",WYSIWYG:"WYSIWYG",Headings:"Headings",Paragraph:"Paragraph",Bold:"Bold",Italic:"Italic",Strike:"Strike",Code:"Code",Line:"Line",Blockquote:"Blockquote","Unordered list":"Unordered list","Ordered list":"Ordered list",Task:"Task","Insert link":"Insert link","Insert codeblock":"Insert codeblock","Insert table":"Insert table","Insert image":"Insert image",Heading:"Heading","Image URL":"Image URL","Select image file":"Select image file",Description:"Description",OK:"OK",Cancel:"Cancel",File:"File",URL:"URL","Link text":"Link text","Add row":"Add row","Add col":"Add col","Remove row":"Remove row","Remove col":"Remove col","Align left":"Align left","Align center":"Align center","Align right":"Align right","Remove table":"Remove table","Would you like to paste as table?":"Would you like to paste as table?","Text color":"Text color","Auto scroll enabled":"Auto scroll enabled","Auto scroll disabled":"Auto scroll disabled","Cannot paste values ​​other than a table in the cell selection state":"Cannot paste values ​​other than a table in the cell selection state."})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["ko","ko_KR"],{Markdown:"마크다운",WYSIWYG:"위지윅",Headings:"제목크기",Paragraph:"본문",Bold:"굵게",Italic:"기울임꼴",Strike:"취소선",Code:"코드",Line:"문단나눔",Blockquote:"인용구","Unordered list":"글머리 기호","Ordered list":"번호 매기기",Task:"체크박스","Insert link":"링크 삽입","Insert codeblock":"코드블럭 삽입","Insert table":"표 삽입","Insert image":"이미지 삽입",Heading:"제목","Image URL":"이미지 주소","Select image file":"이미지 파일을 선택하세요.",Description:"설명",OK:"확인",Cancel:"취소",File:"파일",URL:"주소","Link text":"링크 텍스트","Add row":"행 추가","Add col":"열 추가","Remove row":"행 삭제","Remove col":"열 삭제","Align left":"왼쪽 정렬","Align center":"가운데 정렬","Align right":"오른쪽 정렬","Remove table":"표 삭제","Would you like to paste as table?":"표형태로 붙여 넣겠습니까?","Text color":"글자 색상","Auto scroll enabled":"자동 스크롤 켜짐","Auto scroll disabled":"자동 스크롤 꺼짐","Cannot paste values ​​other than a table in the cell selection state.":"셀 선택 상태에서는 테이블 이외의 값은 붙여넣을 수 없습니다."})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["zh","zh_CN"],{Markdown:"Markdown",WYSIWYG:"所见即所得",Headings:"标题",Paragraph:"文本",Bold:"加粗",Italic:"斜体字",Strike:"删除线",Code:"内嵌代码",Line:"画水平线",Blockquote:"引用块","Unordered list":"无序列表","Ordered list":"有序列表",Task:"任务","Insert link":"插入链接","Insert codeblock":"插入代码块","Insert table":"插入表格","Insert image":"插入图片",Heading:"标题","Image URL":"图片网址","Select image file":"选择映像文件",Description:"说明",OK:"确认",Cancel:"取消",File:"文件",URL:"URL","Link text":"链接文本","Add row":"添加一行","Add col":"添加列","Remove row":"删除行","Remove col":"删除列","Align left":"左对齐","Align center":"居中对齐","Align right":"右对齐","Remove table":"删除表","Would you like to paste as table?":"你想粘贴表吗?","Text color":"文字色相","Auto scroll enabled":"自动滚动启用","Auto scroll disabled":"自动的滚动作非使用","Cannot paste values ​​other than a table in the cell selection state":"在单元格选择状态下无法粘贴表格以外的值。"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["ja","ja_JP"],{Markdown:"マークダウン",WYSIWYG:"WYSIWYG",Headings:"見出し",Paragraph:"本文",Bold:"太字",Italic:"イタリック",Strike:"ストライク",Code:"コード",Line:"ライン",Blockquote:"引用","Unordered list":"番号なしリスト","Ordered list":"順序付きリスト",Task:"タスク","Insert link":"リンク挿入","Insert codeblock":"コードブロック挿入","Insert table":"テーブル挿入","Insert image":"画像挿入",Heading:"見出し","Image URL":"イメージURL","Select image file":"画像ファイル選択",Description:"ディスクリプション ",OK:"はい",Cancel:"キャンセル",File:"ファイル",URL:"URL","Link text":"リンクテキスト","Add row":"行追加","Add col":"列追加","Remove row":"行削除","Remove col":"列削除","Align left":"左揃え","Align center":"中央揃え","Align right":"右揃え","Remove table":"テーブル削除","Would you like to paste as table?":"テーブルを貼り付けますか?","Text color":"文字色相","Auto scroll enabled":"自動スクロールが有効","Auto scroll disabled":"自動スクロールを無効に","Cannot paste values ​​other than a table in the cell selection state":"表以外の値をセル選択状態に貼り付けることはできません。"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["nl","nl_NL"],{Markdown:"Markdown",WYSIWYG:"WYSIWYG",Headings:"Koppen",Paragraph:"tekst",Bold:"Vet",Italic:"Cursief",Strike:"Doorhalen",Code:"Code",Line:"Regel",Blockquote:"Citaatblok","Unordered list":"Opsomming","Ordered list":"Genummerde opsomming",Task:"Taak","Insert link":"Link invoegen","Insert codeblock":"Codeblok toevoegen","Insert table":"Tabel invoegen","Insert image":"Afbeelding invoegen",Heading:"Kop","Image URL":"Afbeelding URL","Select image file":"Selecteer een afbeelding",Description:"Omschrijving",OK:"OK",Cancel:"Annuleren",File:"Bestand",URL:"URL","Link text":"Link tekst","Add row":"Rij toevoegen","Add col":"Kolom toevoegen","Remove row":"Rij verwijderen","Remove col":"Kolom verwijderen","Align left":"Links uitlijnen","Align center":"Centreren","Align right":"Rechts uitlijnen","Remove table":"Verwijder tabel","Would you like to paste as table?":"Wil je dit als tabel plakken?","Text color":"Tekstkleur","Auto scroll enabled":"Autoscroll ingeschakeld","Auto scroll disabled":"Autoscroll uitgeschakeld","Cannot paste values ​​other than a table in the cell selection state":"Kan geen waardes anders dan de tabel in de cell plakken"})}]); \ No newline at end of file +;__webpack_require__(102);__webpack_require__(109);window.tui=window.tui||{};window.tui.Editor=_editor2.default;__webpack_require__(127);__webpack_require__(128);__webpack_require__(129);__webpack_require__(130);__webpack_require__(131);$.fn.tuiEditor=function(){var options=void 0,instance=void 0;var el=this[0];if(el){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}options=args[0]||{};instance=$.data(el,"tuiEditor");if(instance){if(typeof options==="string"){var _instance;return(_instance=instance)[options].apply(_instance,_toConsumableArray(args.slice(1)))}}else{options.el=el;instance=_editor2.default.factory(options);$.data(el,"tuiEditor",instance)}}return this}},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i=0;i-=1){if(__nedInstance[i]===this){__nedInstance.splice(i,1)}}}},{key:"hide",value:function hide(){this.eventManager.emit("hide",this)}},{key:"show",value:function show(){this.eventManager.emit("show",this);this.getCodeMirror().refresh()}},{key:"scrollTop",value:function scrollTop(value){return this.getCurrentModeEditor().scrollTop(value)}},{key:"setUI",value:function setUI(UI){this._ui=UI}},{key:"getUI",value:function getUI(){return this._ui}},{key:"reset",value:function reset(){this.wwEditor.reset();this.mdEditor.reset()}},{key:"getRange",value:function getRange(){return this.getCurrentModeEditor().getRange()}},{key:"getTextObject",value:function getTextObject(range){return this.getCurrentModeEditor().getTextObject(range)}},{key:"getSelectedText",value:function getSelectedText(){var range=this.getRange();var textObject=this.getTextObject(range);return textObject.getTextContent()||""}}],[{key:"getInstances",value:function getInstances(){return __nedInstance}},{key:"defineExtension",value:function defineExtension(name,ext){_extManager2.default.defineExtension(name,ext)}},{key:"factory",value:function factory(options){var tuiEditor=void 0;if(options.viewOnly){tuiEditor=new _viewOnly2.default(options)}else{tuiEditor=new ToastUIEditor(options);tuiEditor.addCommand(_bold2.default);tuiEditor.addCommand(_italic2.default);tuiEditor.addCommand(_blockquote2.default);tuiEditor.addCommand(_heading2.default);tuiEditor.addCommand(_paragraph2.default);tuiEditor.addCommand(_hr2.default);tuiEditor.addCommand(_addLink2.default);tuiEditor.addCommand(_addImage2.default);tuiEditor.addCommand(_ul2.default);tuiEditor.addCommand(_ol2.default);tuiEditor.addCommand(_table2.default);tuiEditor.addCommand(_task2.default);tuiEditor.addCommand(_code2.default);tuiEditor.addCommand(_codeBlock2.default);tuiEditor.addCommand(_strike2.default);tuiEditor.addCommand(_bold4.default);tuiEditor.addCommand(_italic4.default);tuiEditor.addCommand(_blockquote4.default);tuiEditor.addCommand(_ul4.default);tuiEditor.addCommand(_ol4.default);tuiEditor.addCommand(_addImage4.default);tuiEditor.addCommand(_addLink4.default);tuiEditor.addCommand(_hr4.default);tuiEditor.addCommand(_heading4.default);tuiEditor.addCommand(_paragraph4.default);tuiEditor.addCommand(_increaseDepth2.default);tuiEditor.addCommand(_decreaseDepth2.default);tuiEditor.addCommand(_task4.default);tuiEditor.addCommand(_table4.default);tuiEditor.addCommand(_tableAddRow2.default);tuiEditor.addCommand(_tableAddCol2.default);tuiEditor.addCommand(_tableRemoveRow2.default);tuiEditor.addCommand(_tableRemoveCol2.default);tuiEditor.addCommand(_tableAlignCol2.default);tuiEditor.addCommand(_tableRemove2.default);tuiEditor.addCommand(_code4.default);tuiEditor.addCommand(_codeBlock4.default);tuiEditor.addCommand(_strike4.default)}return tuiEditor}}]);return ToastUIEditor}();ToastUIEditor.i18n=_i18n2.default;ToastUIEditor.markdownItRenderer=_convertor2.default.getMarkdownHighlightRenderer();module.exports=ToastUIEditor},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");if(initialValue){cmTextarea.text(initialValue);this._emitMarkdownEditorContentChangedEvent(initialValue)}this.$editorContainerEl.append(cmTextarea);this.cm=CodeMirror.fromTextArea(cmTextarea[0],{lineWrapping:true,mode:"gfm",theme:"default",dragDrop:true,allowDropFileTypes:["image"],extraKeys:{Enter:"newlineAndIndentContinue",Tab:"subListIndentTab","Shift-Tab":"indentLess","Alt-Up":"replaceLineTextToUpper","Alt-Down":"replaceLineTextToLower"},indentUnit:4});this._initEvent()}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.cm.getWrapperElement().addEventListener("click",function(){_this.eventManager.emit("click",{source:"markdown"})});this.cm.on("beforeChange",function(cm,ev){if(ev.origin==="paste"){_this.eventManager.emit("pasteBefore",{source:"markdown",data:ev})}});this.cm.on("change",function(cm,cmEvent){_this._emitMarkdownEditorContentChangedEvent();_this._emitMarkdownEditorChangeEvent(cmEvent)});this.cm.on("focus",function(){_this.eventManager.emit("focus",{source:"markdown"});_this.getEditor().refresh()});this.cm.on("blur",function(){_this.eventManager.emit("blur",{source:"markdown"})});this.cm.on("scroll",function(cm,eventData){_this.eventManager.emit("scroll",{source:"markdown",data:eventData})});this.cm.on("keydown",function(cm,keyboardEvent){_this.eventManager.emit("keydown",{source:"markdown",data:keyboardEvent});_this.eventManager.emit("keyMap",{source:"markdown",keyMap:keyMapper.convert(keyboardEvent),data:keyboardEvent})});this.cm.on("keyup",function(cm,keyboardEvent){_this.eventManager.emit("keyup",{source:"markdown",data:keyboardEvent})});this.cm.on("copy",function(cm,ev){_this.eventManager.emit("copy",{source:"markdown",data:ev})});this.cm.on("cut",function(cm,ev){_this.eventManager.emit("cut",{source:"markdown",data:ev})});this.cm.on("paste",function(cm,clipboardEvent){_this.eventManager.emit("paste",{source:"markdown",data:clipboardEvent})});this.cm.on("drop",function(cm,eventData){eventData.preventDefault();_this.eventManager.emit("drop",{source:"markdown",data:eventData})});this.cm.on("cursorActivity",function(){var token=_this.cm.getTokenAt(_this.cm.getCursor());var base=token.state.base;var overlay=token.state.overlay;var state={bold:!!base.strong,italic:!!base.em,strike:!!base.strikethrough,code:!!overlay.code,codeBlock:!!overlay.codeBlock,quote:!!base.quote,list:!!base.list,task:!!base.task,source:"markdown"};if(!_this._latestState||_this._isStateChanged(_this._latestState,state)){_this.eventManager.emit("stateChange",state);_this._latestState=state}})}},{key:"getCurrentRange",value:function getCurrentRange(){var from=this.cm.getCursor("from"),to=this.cm.getCursor("to");return{from:from,to:to,collapsed:from===to}}},{key:"focus",value:function focus(){this.cm.focus()}},{key:"blur",value:function blur(){this.cm.getInputField().blur()}},{key:"remove",value:function remove(){this.cm.toTextArea()}},{key:"setValue",value:function setValue(markdown){this.getEditor().setValue(markdown);this._emitMarkdownEditorContentChangedEvent();this.moveCursorToEnd();this.getEditor().refresh()}},{key:"getValue",value:function getValue(){return this.cm.getValue("\n")}},{key:"getEditor",value:function getEditor(){return this.cm}},{key:"reset",value:function reset(){this.setValue("")}},{key:"_emitMarkdownEditorContentChangedEvent",value:function _emitMarkdownEditorContentChangedEvent(){this.eventManager.emit("contentChangedFromMarkdown",this)}},{key:"_cloneCMEventObject",value:function _cloneCMEventObject(e){return{from:{line:e.from.line,ch:e.from.ch},to:{line:e.to.line,ch:e.to.ch}}}},{key:"_emitMarkdownEditorChangeEvent",value:function _emitMarkdownEditorChangeEvent(e){if(e.origin!=="setValue"){var eventObj={source:"markdown"};this.eventManager.emit("changeFromMarkdown",eventObj);this.eventManager.emit("change",eventObj)}}},{key:"getCaretPosition",value:function getCaretPosition(){return this.cm.cursorCoords()}},{key:"addWidget",value:function addWidget(selection,node,style,offset){if(offset){selection.ch+=offset}this.cm.addWidget(selection.end,node,true,style)}},{key:"replaceSelection",value:function replaceSelection(content,selection){if(selection){this.cm.setSelection(selection.from,selection.to)}this.cm.replaceSelection(content);this.focus()}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){var cursor=this.cm.getCursor(),selection={from:{line:cursor.line,ch:cursor.ch+offset},to:{line:cursor.line,ch:cursor.ch+offset+overwriteLength}};this.replaceSelection(content,selection)}},{key:"setHeight",value:function setHeight(height){this.$editorContainerEl.height(height);if(height==="auto"){this.$editorContainerEl.find(".CodeMirror").height("auto")}}},{key:"moveCursorToEnd",value:function moveCursorToEnd(){var doc=this.getEditor().getDoc(),lastLine=doc.lastLine();doc.setCursor(lastLine,doc.getLine(lastLine).length)}},{key:"moveCursorToStart",value:function moveCursorToStart(){var doc=this.getEditor().getDoc(),firstLine=doc.firstLine();doc.setCursor(firstLine,0)}},{key:"scrollTop",value:function scrollTop(value){if(value){this.cm.scrollTo(0,value)}return this.cm.getScrollInfo().top}},{key:"getRange",value:function getRange(){var start=this.getEditor().getCursor("from");var end=this.getEditor().getCursor("to");return{start:{line:start.line,ch:start.ch},end:{line:end.line,ch:end.ch}}}},{key:"getTextObject",value:function getTextObject(range){return new _mdTextObject2.default(this,range)}},{key:"_isStateChanged",value:function _isStateChanged(previousState,currentState){var result=false;tui.util.forEach(currentState,function(currentStateTypeValue,stateType){result=previousState[stateType]!==currentStateTypeValue;return!result});return result}}],[{key:"factory",value:function factory($el,eventManager){var mde=new MarkdownEditor($el,eventManager);mde.init();mde.componentManager.addManager(_mdListManager2.default);return mde}}]);return MarkdownEditor}();module.exports=MarkdownEditor},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i","?","AT","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","","","CONTEXT_MENU","","SLEEP","NUMPAD0","NUMPAD1","NUMPAD2","NUMPAD3","NUMPAD4","NUMPAD5","NUMPAD6","NUMPAD7","NUMPAD8","NUMPAD9","MULTIPLY","ADD","SEPARATOR","SUBTRACT","DECIMAL","DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","","","","","","","","","NUM_LOCK","SCROLL_LOCK","WIN_OEM_FJ_JISHO","WIN_OEM_FJ_MASSHOU","WIN_OEM_FJ_TOUROKU","WIN_OEM_FJ_LOYA","WIN_OEM_FJ_ROYA","","","","","","","","","","@","!",'"',"#","$","%","&","_","(",")","*","+","|","-","{","}","~","","","","","VOLUME_MUTE","VOLUME_DOWN","VOLUME_UP","","",";","=",",","-",".","/","`","","","","","","","","","","","","","","","","","","","","","","","","","","","[","\\","]","'","","META","ALTGR","","WIN_ICO_HELP","WIN_ICO_00","","WIN_ICO_CLEAR","","","WIN_OEM_RESET","WIN_OEM_JUMP","WIN_OEM_PA1","WIN_OEM_PA2","WIN_OEM_PA3","WIN_OEM_WSCTRL","WIN_OEM_CUSEL","WIN_OEM_ATTN","WIN_OEM_FINISH","WIN_OEM_COPY","WIN_OEM_AUTO","WIN_OEM_ENLW","WIN_OEM_BACKTAB","ATTN","CRSEL","EXSEL","EREOF","PLAY","ZOOM","","PA1","WIN_OEM_CLEAR",""];var sharedInstance=void 0;var KeyMapper=function(){function KeyMapper(options){_classCallCheck(this,KeyMapper);this._setSplitter(options)}_createClass(KeyMapper,[{key:"_setSplitter",value:function _setSplitter(options){var splitter=options?options.splitter:"+";this._splitter=splitter}},{key:"convert",value:function convert(event){var keyMap=[];if(event.shiftKey){keyMap.push("SHIFT")}if(event.ctrlKey){keyMap.push("CTRL")}if(event.metaKey){keyMap.push("META")}if(event.altKey){keyMap.push("ALT")}var keyChar=this._getKeyCodeChar(event.keyCode);if(keyChar){keyMap.push(keyChar)}return keyMap.join(this._splitter)}},{key:"_getKeyCodeChar",value:function _getKeyCodeChar(keyCode){var keyCodeCharacter=KEYBOARD_MAP[keyCode];return keyCodeCharacter}}],[{key:"getSharedInstance",value:function getSharedInstance(){if(!sharedInstance){sharedInstance=new KeyMapper}return sharedInstance}}]);return KeyMapper}();module.exports=KeyMapper},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i?!@#$%^&*()_=+\\\/'";: \r\[\]]*\|+)+/i;var FIND_HEADING_RX=/^#+\s/;var FIND_BLOCK_RX=/^ {0,3}(```|\||>)/;var MdListManager=function(){function MdListManager(mde){_classCallCheck(this,MdListManager);this.mde=mde;this.eventManager=mde.eventManager;this.name="list"}_createClass(MdListManager,[{key:"isListOrParagraph",value:function isListOrParagraph(line){return!FIND_BLOCK_RX.test(line)&&!FIND_TABLE_RX.test(line)&&!FIND_HEADING_RX.test(line)}},{key:"appendBlankLineIfNeed",value:function appendBlankLineIfNeed(cm,index,endLineNumber,startLineNumber){var doc=cm.getDoc();var cursorPositionFactor=0;var isMultiLineSelection=startLineNumber!==endLineNumber;var nextLineOfLastIndex=doc.getLine(this._getEndLineNumberOfList(doc,endLineNumber)+1);var previousLineOfFirstIndex=doc.getLine(this._getStartLineNumberOfList(doc,startLineNumber)-1);var nextLine=doc.getLine(index+1);if(isMultiLineSelection&&this._isNeedAppendBlankLine(nextLineOfLastIndex)||!isMultiLineSelection&&this._isNeedAppendBlankLine(nextLine)){doc.replaceRange("\n",{line:index,ch:doc.getLine(index).length})}var previousLine=doc.getLine(index-1);if(isMultiLineSelection&&this._isNeedAppendBlankLine(previousLineOfFirstIndex)||!isMultiLineSelection&&this._isNeedAppendBlankLine(previousLine)){doc.replaceRange("\n",{line:startLineNumber,ch:0});cursorPositionFactor+=1}if(!isMultiLineSelection){var currentLineNumber=index+cursorPositionFactor;cm.setCursor(currentLineNumber,doc.getLine(currentLineNumber).length)}}},{key:"_isNeedAppendBlankLine",value:function _isNeedAppendBlankLine(line){return line&&line.length!==0&&!this._isAList(line)}},{key:"createSortedLineRange",value:function createSortedLineRange(range){var isReversed=range.from.line>range.to.line;var rangeStart={line:isReversed?range.to.line:range.from.line,ch:0};var rangeEnd={line:isReversed?range.from.line:range.to.line,ch:0};return{start:rangeStart.line,end:rangeEnd.line}}},{key:"expandLineRangeIfNeed",value:function expandLineRangeIfNeed(doc,range,comparator){var lineRange=this.createSortedLineRange(range);var start=lineRange.start;var end=lineRange.end;var isRangeStartInUlOrTask=this._isDifferentListType(comparator,doc.getLine(start));var isRangeEndInUlOrTask=this._isDifferentListType(comparator,doc.getLine(end));if(isRangeStartInUlOrTask){start=this._getStartLineNumberOfList(doc,start)}if(isRangeEndInUlOrTask){end=this._getEndLineNumberOfList(doc,end)}return{start:start,end:end}}},{key:"replaceLineText",value:function replaceLineText(doc,lineNumber,regexp,replacePattern){var line=doc.getLine(lineNumber);var currentLineStart={line:lineNumber,ch:0};var currentLineEnd={line:lineNumber,ch:line.length};line=line.replace(regexp,replacePattern) +;doc.replaceRange(line,currentLineStart,currentLineEnd)}},{key:"_isDifferentListType",value:function _isDifferentListType(comparator,line){return line&&line.length!==0&&comparator.call(this,line)}},{key:"_isAList",value:function _isAList(line){return line&&line.length!==0&&this._isListLine(line)}},{key:"_isListLine",value:function _isListLine(line){return!!(line.match(FIND_MD_TASK_RX)||line.match(FIND_MD_UL_RX)||line.match(FIND_MD_OL_RX))}},{key:"_getStartLineNumberOfList",value:function _getStartLineNumberOfList(doc,startLineNumber){var lineNumber=void 0;for(lineNumber=startLineNumber;lineNumber>0;lineNumber-=1){var previousLine=doc.getLine(lineNumber-1);if(!previousLine||!this._isListLine(previousLine)){break}}return lineNumber}},{key:"_getEndLineNumberOfList",value:function _getEndLineNumberOfList(doc,endLineNumber){var lineCount=doc.lineCount();var lineNumber=void 0;for(lineNumber=endLineNumber;lineNumber\n/g,"
    "))}});this.eventManager.listen("previewNeedsRefresh",function(value){_this.refresh(value||latestMarkdownValue)});this.$el.on("scroll",function(event){_this.eventManager.emit("scroll",{source:"preview",data:event})})}},{key:"_initContentSection",value:function _initContentSection(){this.$previewContent=$('
    ');this.$el.append(this.$previewContent)}},{key:"refresh",value:function refresh(markdown){this.render(this.convertor.toHTMLWithCodeHightlight(markdown))}},{key:"render",value:function render(html){var finalHtml=html;var processedDataByHook=this.eventManager.emit("previewBeforeHook",html);if(processedDataByHook){finalHtml=processedDataByHook[0]}this.$previewContent.empty();this.$previewContent.html(finalHtml);this.eventManager.emit("replaceCodeBlockElementsBefore");_codeBlockManager2.default.replaceElements(this.$previewContent,this.isViewOnly);this.eventManager.emit("previewRenderAfter",this)}},{key:"setHeight",value:function setHeight(height){this.$el.height(height)}},{key:"isVisible",value:function isVisible(){return this.$el.css("display")!=="none"}}]);return Preview}();module.exports=Preview},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i'+type+""}else{html=hljs.getLanguage(type)?hljs.highlight(type,codeText).value:escape(codeText,false)}return html}},{key:"_getViewMode",value:function _getViewMode(isViewOnly,isWysiwygMode){var replaceMode=void 0;if(isViewOnly){replaceMode="viewOnly"}else if(isWysiwygMode){replaceMode="wysiwyg"}else{replaceMode="preview"}return replaceMode}},{key:"_replaceElement",value:function _replaceElement(containerElement,codeBlockElement,replace,id){var $codeBlock=$(codeBlockElement);var type=$codeBlock.data("language");var beforeParentNode=codeBlockElement.parentNode;var codeText=$codeBlock.data("code-text");var $newCodeBlock=$(replace({id:id,containerElement:containerElement,codeBlockElement:codeBlockElement,type:type,codeText:decodeURIComponent(codeText)}));if($newCodeBlock.length){if(codeBlockElement!==$newCodeBlock[0]&&beforeParentNode===codeBlockElement.parentNode){$codeBlock.replaceWith($newCodeBlock)}$newCodeBlock[0].id=id;$newCodeBlock.data("language",type);$newCodeBlock.addClass(CUSTOM_CODE_BLOCK_CLASS_NAME);if(tui.util.isEmpty($newCodeBlock.data("code-text"))){$newCodeBlock.data("code-text",codeText)}}else{codeBlockElement.id=id}}},{key:"replaceElements",value:function replaceElements($container,isViewOnly,isWysiwygMode){var _this=this;var $codeBlocks=$container.find("."+CUSTOM_CODE_BLOCK_CLASS_NAME);var containerElement=$container[0];var viewMode=this._getViewMode(isViewOnly,isWysiwygMode);var replaceElement=$.proxy(this._replaceElement,this);var timestamp=(new Date).getTime();$codeBlocks.each(function(index,codeBlockElement){var id=CUSTOM_CODE_BLOCK_CLASS_NAME+"-"+timestamp+"-"+index;var replacer=_this._elementReplacer.get($(codeBlockElement).data("language"));var replace=replacer?replacer[viewMode]:null;if(replace){replaceElement(containerElement,codeBlockElement,replace,id)}else{codeBlockElement.id=id}})}},{key:"_restoreElement",value:function _restoreElement(codeBlockElement){var $codeBlock=$(codeBlockElement);var type=$codeBlock.data("language");var codeText=decodeURIComponent($codeBlock.data("code-text"));var $pre=$('
    ');if(codeText){$pre.html("
    "+escape(codeText,false).replace(/\n/g,"
    ")+"
    ")}$codeBlock.replaceWith($pre)}},{key:"restoreElements",value:function restoreElements($wweContainer){var $codeBlocks=$wweContainer.find("."+CUSTOM_CODE_BLOCK_CLASS_NAME);var restoreElement=$.proxy(this._restoreElement,this);$codeBlocks.each(function(index,codeBlockElement){restoreElement(codeBlockElement)})}},{key:"updateCodeTextById",value:function updateCodeTextById(containerElement,id,codeText){var $codeBlock=$(containerElement).find("#"+id);$codeBlock.data("code-text",encodeURIComponent(codeText))}}],[{key:"getSharedInstance",value:function getSharedInstance(){if(!sharedInstance){sharedInstance=new CodeBlockManager}return sharedInstance}}]);return CodeBlockManager}();function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}exports.CodeBlockManager=CodeBlockManager;exports.default=CodeBlockManager.getSharedInstance()},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i(
    |
    |
    |
    )<\/\1>/g,FIND_UNNECESSARY_BR=/(?:
    |
    |
    |
    )<\/(.+?)>/g,FIND_BLOCK_TAGNAME_RX=/\b(H[\d]|LI|P|BLOCKQUOTE|TD|PRE)\b/;var EDITOR_CONTENT_CSS_CLASSNAME="tui-editor-contents";var canObserveMutations=typeof MutationObserver!=="undefined";var WysiwygEditor=function(){function WysiwygEditor($el,eventManager){var _this=this;var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};_classCallCheck(this,WysiwygEditor);this.componentManager=new _componentManager2.default(this);this.eventManager=eventManager;this.$editorContainerEl=$el;this._height=0;this._silentChange=false;this._keyEventHandlers={};this._managers={};this._options=$.extend({useCommandShortcut:true},options);this._initEvent();this._initDefaultKeyEventHandler();this.debouncedPostProcessForChange=util.debounce(function(){return _this.postProcessForChange()},0)}_createClass(WysiwygEditor,[{key:"init",value:function init(){var $editorBody=$("
    ");this.$editorContainerEl.append($editorBody);this.editor=new _squireExt2.default($editorBody[0],{blockTag:"DIV",leafNodeNames:{HR:false}});if(!this._options.useCommandShortcut){this.editor.blockCommandShortcuts()}this._clipboardManager=new _wwClipboardManager2.default(this);this._initSquireEvent();this._clipboardManager.init();this.get$Body().addClass(EDITOR_CONTENT_CSS_CLASSNAME);this.$editorContainerEl.css("position","relative")}},{key:"_preprocessForInlineElement",value:function _preprocessForInlineElement(html){return html.replace(/
    ( *)
    $1B|>STRONG|^B$|^STRONG$)/.test(data.path),italic:/(>I|>EM|^I$|^EM$)/.test(data.path),strike:/(^S>|>S$|>S>|^S$)/.test(data.path),code:/CODE/.test(data.path),codeBlock:/PRE/.test(data.path),quote:/BLOCKQUOTE/.test(data.path),list:/LI(?!.task-list-item)/.test(self._getLastLiString(data.path)),task:/LI.task-list-item/.test(self._getLastLiString(data.path)),source:"wysiwyg"};self.eventManager.emit("stateChange",state)})}},{key:"_getLastLiString",value:function _getLastLiString(path){var foundedListItem=/LI[^UO]*$/.exec(path);var result=void 0;if(foundedListItem){result=foundedListItem[0]}else{result=""}return result}},{key:"_onKeyDown",value:function _onKeyDown(keyboardEvent){var keyMap=keyMapper.convert(keyboardEvent);if(keyboardEvent.keyCode){this.eventManager.emit("keyMap",{source:"wysiwyg",keyMap:keyMap,data:keyboardEvent});if(!keyboardEvent.defaultPrevented){this.eventManager.emit("wysiwygKeyEvent",{keyMap:keyMap,data:keyboardEvent})}}}},{key:"_initDefaultKeyEventHandler",value:function _initDefaultKeyEventHandler(){var self=this;this.addKeyEventHandler("ENTER",function(ev,range){if(self._isInOrphanText(range)){self.defer(function(){self._wrapDefaultBlockToOrphanTexts();self.breakToNewDefaultBlock(range,"before")})}self.defer(function(){self._scrollToRangeIfNeed()})});this.addKeyEventHandler("TAB",function(ev){var sq=self.getEditor();var range=sq.getSelection();var isAbleToInput4Spaces=range.collapsed&&self._isCursorNotInRestrictedAreaOfTabAction(sq);var isTextSelection=!range.collapsed&&_domUtils2.default.isTextNode(range.commonAncestorContainer);ev.preventDefault();if(isAbleToInput4Spaces||isTextSelection){sq.insertPlainText("    ");return false}return true})}},{key:"_wrapDefaultBlockToOrphanTexts",value:function _wrapDefaultBlockToOrphanTexts(){var textNodes=this.get$Body().contents().filter(this.findTextNodeFilter);textNodes.each(function(i,node){if(node.nextSibling&&node.nextSibling.tagName==="BR"){$(node.nextSibling).remove()}$(node).wrap("
    ")})}},{key:"_scrollToRangeIfNeed",value:function _scrollToRangeIfNeed(){var range=this.getEditor().getSelection().cloneRange();var cursorTop=this.getEditor().getCursorPosition(range).top-this.$editorContainerEl.offset().top;if(cursorTop>=this.get$Body().height()){range.endContainer.scrollIntoView()}}},{key:"_isInOrphanText",value:function _isInOrphanText(range){return range.startContainer.nodeType===Node.TEXT_NODE&&range.startContainer.parentNode===this.get$Body()[0]}},{key:"_wrapDefaultBlockTo",value:function _wrapDefaultBlockTo(range){this.saveSelection(range);this._joinSplitedTextNodes();this.restoreSavedSelection();range=this.getEditor().getSelection().cloneRange();var textElem=range.startContainer;var cursorOffset=range.startOffset;var block=this.getEditor().createDefaultBlock([range.startContainer]);var insertTargetNode=_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset);if(insertTargetNode){range.setStartBefore(insertTargetNode)}else{range.selectNodeContents(range.startContainer)}range.collapse(true);range.insertNode(block);range.setStart(textElem,cursorOffset);range.collapse(true);this.getEditor().setSelection(range)}},{key:"findTextNodeFilter",value:function findTextNodeFilter(){return this.nodeType===Node.TEXT_NODE}},{key:"_joinSplitedTextNodes",value:function _joinSplitedTextNodes(){var prevNode=void 0,lastGroup=void 0;var nodesToRemove=[];var textNodes=this.get$Body().contents().filter(this.findTextNodeFilter);textNodes.each(function(i,node){if(prevNode===node.previousSibling){lastGroup.nodeValue+=node.nodeValue;nodesToRemove.push(node)}else{lastGroup=node}prevNode=node});$(nodesToRemove).remove()}},{key:"saveSelection",value:function saveSelection(range){var sq=this.getEditor();if(!range){range=sq.getSelection().cloneRange()}this.getEditor()._saveRangeToBookmark(range)}},{key:"restoreSavedSelection",value:function restoreSavedSelection(){var sq=this.getEditor();sq.setSelection(sq._getRangeAndRemoveBookmark())}},{key:"reset",value:function reset(){this.setValue("")}},{key:"changeBlockFormatTo",value:function changeBlockFormatTo(targetTagName){this.getEditor().changeBlockFormatTo(targetTagName);this.eventManager.emit("wysiwygRangeChangeAfter",this)}},{key:"makeEmptyBlockCurrentSelection",value:function makeEmptyBlockCurrentSelection(){var self=this;this.getEditor().modifyBlocks(function(frag){if(!frag.textContent){frag=self.getEditor().createDefaultBlock()}return frag})}},{key:"focus",value:function focus(){this.editor.focus()}},{key:"blur",value:function blur(){this.editor.blur()}},{key:"remove",value:function remove(){this.getEditor().destroy();this.editor=null;this.$body=null}},{key:"setHeight",value:function setHeight(height){this._height=height;if(height==="auto"){this.get$Body().css("overflow","visible");this.get$Body().css("height","auto")}else{this.get$Body().css("overflow","auto");this.get$Body().css("height","100%");this.$editorContainerEl.height(height)}}},{key:"setValue",value:function setValue(html){html=this.eventManager.emitReduce("wysiwygSetValueBefore",html);this.editor.setHTML(html);_codeBlockManager2.default.replaceElements(this.$editorContainerEl,false,true);this.eventManager.emit("wysiwygSetValueAfter",this);this.eventManager.emit("contentChangedFromWysiwyg",this);this.moveCursorToEnd();this.getEditor().preserveLastLine();this.getEditor().removeLastUndoStack();this.getEditor().saveUndoState()}},{key:"insertText",value:function insertText(text){this.editor.insertPlainText(text)}},{key:"getValue",value:function getValue(){_codeBlockManager2.default.restoreElements(this.$editorContainerEl,false,true);this._prepareGetHTML();var html=this.editor.getHTML();html=html.replace(FIND_EMPTY_LINE,function(match,tag){var result=void 0;if(tag==="li"){result=match}else if(tag==="td"||tag==="th"){result="<"+tag+">"}else{result="
    "}return result});html=html.replace(FIND_UNNECESSARY_BR,"");html=html.replace(/
    /g,"");html=html.replace(/<\/div>/g,"
    ");html=this.eventManager.emitReduce("wysiwygProcessHTMLText",html);return html}},{key:"_prepareGetHTML",value:function _prepareGetHTML(){var self=this;self.get$Body().attr("lastGetValue",Date.now());self._joinSplitedTextNodes();self.getEditor().modifyDocument(function(){self.eventManager.emit("wysiwygGetValueBefore",self)})}},{key:"postProcessForChange",value:function postProcessForChange(){var self=this;self.getEditor().modifyDocument(function(){self.eventManager.emit("wysiwygRangeChangeAfter",self)})}},{key:"readySilentChange",value:function readySilentChange(){if(canObserveMutations&&!this.getEditor().isIgnoreChange()){this._silentChange=true}}},{key:"getEditor",value:function getEditor(){return this.editor}},{key:"replaceSelection",value:function replaceSelection(content,range){this.getEditor().replaceSelection(content,range)}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){this.getEditor().replaceRelativeOffset(content,offset,overwriteLength)}},{key:"addWidget",value:function addWidget(range,node,style,offset){var pos=this.getEditor().getSelectionPosition(range,style,offset);var editorContainerPos=this.$editorContainerEl.offset();this.$editorContainerEl.append(node);$(node).css({position:"absolute",top:pos.top-editorContainerPos.top,left:pos.left-editorContainerPos.left})}},{key:"get$Body",value:function get$Body(){return this.getEditor().get$Body()}},{key:"hasFormatWithRx",value:function hasFormatWithRx(rx){return this.getEditor().getPath().match(rx)}},{key:"breakToNewDefaultBlock",value:function breakToNewDefaultBlock(range,where){var div=this.editor.createDefaultBlock();var currentNode=_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset)||_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset-1);var appendBefore=_domUtils2.default.getParentUntil(currentNode,this.get$Body()[0]);if(where==="before"){$(appendBefore).before(div)}else{$(appendBefore).after(div)}range.setStart(div,0);range.collapse(true);this.editor.setSelection(range)}},{key:"replaceContentText",value:function replaceContentText(container,from,to){var before=$(container).html();$(container).html(before.replace(from,to))}},{key:"unwrapBlockTag",value:function unwrapBlockTag(condition){if(!condition){condition=function condition(tagName){return FIND_BLOCK_TAGNAME_RX.test(tagName)}}this.getEditor().changeBlockFormat(condition);this.eventManager.emit("wysiwygRangeChangeAfter",this)}},{key:"moveCursorToEnd",value:function moveCursorToEnd(){this.getEditor().moveCursorToEnd();this.getEditor().scrollTop(this.get$Body().height());this._correctRangeAfterMoveCursor("end")}},{key:"moveCursorToStart",value:function moveCursorToStart(){this.getEditor().moveCursorToStart();this.getEditor().scrollTop(0)}},{key:"scrollTop",value:function scrollTop(value){return this.getEditor().scrollTop(value)}},{key:"_correctRangeAfterMoveCursor",value:function _correctRangeAfterMoveCursor(direction){var range=this.getEditor().getSelection().cloneRange();var cursorContainer=this.get$Body()[0];if(direction==="start"){while(cursorContainer.firstChild){cursorContainer=cursorContainer.firstChild}}else{while(cursorContainer.lastChild){cursorContainer=cursorContainer.lastChild}}if(cursorContainer.tagName==="BR"){range.setStartBefore(cursorContainer)}else{range.setStartAfter(cursorContainer)}range.collapse(true);this.getEditor().setSelection(range)}},{key:"getRange",value:function getRange(){return this.getEditor().getSelection().cloneRange()}},{key:"getTextObject",value:function getTextObject(range){return new _wwTextObject2.default(this,range)}},{key:"defer",value:function defer(callback,delayOffset){var self=this;var delay=delayOffset?delayOffset:0;setTimeout(function(){if(self.isEditorValid()){callback(self)}},delay)}},{key:"isEditorValid",value:function isEditorValid(){return this.getEditor()&&$.contains(this.$editorContainerEl[0].ownerDocument,this.$editorContainerEl[0])}},{key:"_isCursorNotInRestrictedAreaOfTabAction",value:function _isCursorNotInRestrictedAreaOfTabAction(editor){return!editor.hasFormat("li")&&!editor.hasFormat("blockquote")&&!editor.hasFormat("table")}}],[{key:"factory",value:function factory($el,eventManager,options){var wwe=new WysiwygEditor($el,eventManager,options);wwe.init();wwe.componentManager.addManager(_wwListManager2.default);wwe.componentManager.addManager(_wwTaskManager2.default);wwe.componentManager.addManager(_wwTableSelectionManager2.default);wwe.componentManager.addManager(_wwTableManager2.default);wwe.componentManager.addManager(_wwHrManager2.default);wwe.componentManager.addManager(_wwPManager2.default) +;wwe.componentManager.addManager(_wwHeadingManager2.default);wwe.componentManager.addManager(_wwCodeBlockManager2.default);return wwe}}]);return WysiwygEditor}();module.exports=WysiwygEditor},function(module,exports){"use strict";var FIND_ZWB=/\u200B/g;var util=tui.util;var isTextNode=function isTextNode(node){return node&&node.nodeType===Node.TEXT_NODE};var isElemNode=function isElemNode(node){return node&&node.nodeType===Node.ELEMENT_NODE};var getNodeName=function getNodeName(node){if(isElemNode(node)){return node.tagName}return"TEXT"};var getTextLength=function getTextLength(node){var len=void 0;if(isElemNode(node)){len=node.textContent.replace(FIND_ZWB,"").length}else if(isTextNode(node)){len=node.nodeValue.replace(FIND_ZWB,"").length}return len};var getOffsetLength=function getOffsetLength(node){var len=void 0;if(isElemNode(node)){len=node.childNodes.length}else if(isTextNode(node)){len=node.nodeValue.replace(FIND_ZWB,"").length}return len};var getNodeOffsetOfParent=function getNodeOffsetOfParent(node){var childNodesOfParent=node.parentNode.childNodes;var i=void 0,t=void 0,found=void 0;for(i=0,t=childNodesOfParent.length;i=0){currentNode=node.childNodes[index]}return currentNode};var getNodeWithDirectionUntil=function getNodeWithDirectionUntil(direction,node,untilNodeName){var directionKey=direction+"Sibling";var nodeName=void 0,foundedNode=void 0;while(node&&!node[directionKey]){nodeName=getNodeName(node.parentNode);if(nodeName===untilNodeName||nodeName==="BODY"){break}node=node.parentNode}if(node[directionKey]){foundedNode=node[directionKey]}return foundedNode};var getPrevOffsetNodeUntil=function getPrevOffsetNodeUntil(node,index,untilNodeName){var prevNode=void 0;if(index>0){prevNode=getChildNodeByOffset(node,index-1)}else{prevNode=getNodeWithDirectionUntil("previous",node,untilNodeName)}return prevNode};var getParentUntilBy=function getParentUntilBy(node,condition){var foundedNode=void 0;while(node.parentNode&&!condition(node.parentNode)){node=node.parentNode}if(condition(node.parentNode)){foundedNode=node}return foundedNode};var getParentUntil=function getParentUntil(node,untilNode){var foundedNode=void 0;if(util.isString(untilNode)){foundedNode=getParentUntilBy(node,function(targetNode){return untilNode===getNodeName(targetNode)})}else{foundedNode=getParentUntilBy(node,function(targetNode){return untilNode===targetNode})}return foundedNode};var getNodeWithDirectionUnderParent=function getNodeWithDirectionUnderParent(direction,node,underNode){var directionKey=direction+"Sibling";var foundedNode=void 0;node=getParentUntil(node,underNode);if(node&&node[directionKey]){foundedNode=node[directionKey]}return foundedNode};var getTopPrevNodeUnder=function getTopPrevNodeUnder(node,underNode){return getNodeWithDirectionUnderParent("previous",node,underNode)};var getTopNextNodeUnder=function getTopNextNodeUnder(node,underNode){return getNodeWithDirectionUnderParent("next",node,underNode)};var getTopBlockNode=function getTopBlockNode(node){return getParentUntil(node,"BODY")};var getPrevTextNode=function getPrevTextNode(node){node=node.previousSibling||node.parentNode;while(!isTextNode(node)&&getNodeName(node)!=="BODY"){if(node.previousSibling){node=node.previousSibling;while(node.lastChild){node=node.lastChild}}else{node=node.parentNode}}if(getNodeName(node)==="BODY"){node=null}return node};var findOffsetNode=function findOffsetNode(root,offsetList,textNodeFilter){var result=[];var text="";var walkerOffset=0;var newWalkerOffset=void 0;if(!offsetList.length){return result}var offset=offsetList.shift();var walker=document.createTreeWalker(root,4,null,false);while(walker.nextNode()){text=walker.currentNode.nodeValue||"";if(textNodeFilter){text=textNodeFilter(text)}newWalkerOffset=walkerOffset+text.length;while(newWalkerOffset>=offset){result.push({container:walker.currentNode,offsetInContainer:offset-walkerOffset,offset:offset});if(!offsetList.length){return result}offset=offsetList.shift()}walkerOffset=newWalkerOffset}do{result.push({container:walker.currentNode,offsetInContainer:text.length,offset:offset});offset=offsetList.shift()}while(!util.isUndefined(offset));return result};var getNodeInfo=function getNodeInfo(node){var path={};path.tagName=node.nodeName;if(node.id){path.id=node.id}var className=node.className.trim();if(className){path.className=className}return path};var getPath=function getPath(node,root){var paths=[];while(node&&node!==root){if(isElemNode(node)){paths.unshift(getNodeInfo(node))}node=node.parentNode}return paths};var getTableCellByDirection=function getTableCellByDirection(node,direction){var isForward=true;var targetElement=null;if(tui.util.isUndefined(direction)||direction!=="next"&&direction!=="previous"){return null}else if(direction==="previous"){isForward=false}if(isForward){targetElement=node.nextElementSibling}else{targetElement=node.previousElementSibling}return targetElement};var getSiblingRowCellByDirection=function getSiblingRowCellByDirection(node,direction,needEdgeCell){var isForward=true;var tableCellElement=null;var $node=void 0,index=void 0,$targetRowElement=void 0,$currentContainer=void 0,$siblingContainer=void 0,isSiblingContainerExists=void 0;if(tui.util.isUndefined(direction)||direction!=="next"&&direction!=="previous"){return null}else if(direction==="previous"){isForward=false}if(node){$node=$(node);if(isForward){$targetRowElement=$node.parent().next();$currentContainer=$node.parents("thead");$siblingContainer=$currentContainer[0]&&$currentContainer.next();isSiblingContainerExists=$siblingContainer&&getNodeName($siblingContainer[0])==="TBODY";index=0}else{$targetRowElement=$node.parent().prev();$currentContainer=$node.parents("tbody");$siblingContainer=$currentContainer[0]&&$currentContainer.prev();isSiblingContainerExists=$siblingContainer&&getNodeName($siblingContainer[0])==="THEAD";index=node.parentNode.childNodes.length-1}if(tui.util.isUndefined(needEdgeCell)||!needEdgeCell){index=getNodeOffsetOfParent(node)}if($targetRowElement[0]){tableCellElement=$targetRowElement.children("td,th")[index]}else if($currentContainer[0]&&isSiblingContainerExists){tableCellElement=$siblingContainer.find("td,th")[index]}return tableCellElement}return null};module.exports={getNodeName:getNodeName,isTextNode:isTextNode,isElemNode:isElemNode,getTextLength:getTextLength,getOffsetLength:getOffsetLength,getPrevOffsetNodeUntil:getPrevOffsetNodeUntil,getNodeOffsetOfParent:getNodeOffsetOfParent,getChildNodeByOffset:getChildNodeByOffset,getTopPrevNodeUnder:getTopPrevNodeUnder,getTopNextNodeUnder:getTopNextNodeUnder,getParentUntil:getParentUntil,getTopBlockNode:getTopBlockNode,getPrevTextNode:getPrevTextNode,findOffsetNode:findOffsetNode,getPath:getPath,getNodeInfo:getNodeInfo,getTableCellByDirection:getTableCellByDirection,getSiblingRowCellByDirection:getSiblingRowCellByDirection}},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");this._extendRange(range);$clipboardContainer.append(range.cloneContents());this._updateCopyDataForListTypeIfNeed(range,$clipboardContainer);this.wwe.eventManager.emit("copyBefore",{source:"wysiwyg",$clipboardContainer:$clipboardContainer});this._setClipboardData(clipboardEvent,$clipboardContainer.html(),$clipboardContainer.text())}},{key:"_clearClipboardArea",value:function _clearClipboardArea(){if(this._$clipboardArea){this._$clipboardArea.remove();this._$clipboardArea=null}}},{key:"_onCopyAfter",value:function _onCopyAfter(){this.wwe.getEditor().get$Body().focus();this._clearClipboardArea()}},{key:"_onCutAfter",value:function _onCutAfter(){var range=this.wwe.getEditor().getSelection();range.deleteContents();this.wwe.getEditor().focus();this._clearClipboardArea()}},{key:"_onWillPaste",value:function _onWillPaste(pasteData){var _this=this;var $clipboardContainer=$("
    ").append(pasteData.fragment.cloneNode(true));this._setTableBookmark($clipboardContainer);if(this._pasteToTable($clipboardContainer)){pasteData.preventDefault()}else{this._preparePaste($clipboardContainer);this._setTableBookmark($clipboardContainer);pasteData.fragment=document.createDocumentFragment();$($clipboardContainer[0].childNodes).each(function(index,element){pasteData.fragment.appendChild(element)})}var handler=function handler(){_this.wwe.getEditor().removeEventListener("input",handler);_this.wwe.eventManager.emit("wysiwygRangeChangeAfter",_this);_this._focusTableBookmark()};this.wwe.getEditor().addEventListener("input",handler)}},{key:"_setClipboardData",value:function _setClipboardData(clipboardEvent,htmlContent,textContent){if(tui.util.browser.msie){clipboardEvent.squirePrevented=true;this._$clipboardArea=this._createClipboardArea();this._$clipboardArea.html(htmlContent);this._$clipboardArea.focus();window.getSelection().selectAllChildren(this._$clipboardArea[0])}else{clipboardEvent.preventDefault();clipboardEvent.stopPropagation();clipboardEvent.clipboardData.setData("text/html",htmlContent);clipboardEvent.clipboardData.setData("text/plain",textContent)}}},{key:"_createClipboardArea",value:function _createClipboardArea(){return $("
    ").attr({contenteditable:"true",style:"position:fixed; overflow:hidden; top:0; right:100%; width:1px; height:1px;"}).appendTo(document.body)}},{key:"_updateCopyDataForListTypeIfNeed",value:function _updateCopyDataForListTypeIfNeed(range,$clipboardContainer){var commonAncestorNodeName=range.commonAncestorContainer.nodeName;if(commonAncestorNodeName!=="UL"&&commonAncestorNodeName!=="OL"){return}var $newParent=$("<"+commonAncestorNodeName+" />");$newParent.append($clipboardContainer.html());$clipboardContainer.html("");$clipboardContainer.append($newParent)}},{key:"_removeEmptyFontElement",value:function _removeEmptyFontElement($clipboardContainer){$clipboardContainer.children("font").each(function(index,element){var $element=$(element);if(!$element.text().trim()){$element.remove()}})}},{key:"_pasteToTable",value:function _pasteToTable($clipboardContainer){var tableManager=this.wwe.componentManager.getManager("table");var tableSelectionManager=this.wwe.componentManager.getManager("tableSelection");var range=this.wwe.getEditor().getSelection();var pastingToTable=tableManager.isInTable(range);var childNodes=$clipboardContainer[0].childNodes;var containsOneTableOnly=childNodes.length===1&&childNodes[0].nodeName==="TABLE";var processed=false;if(pastingToTable){if(containsOneTableOnly){tableManager.pasteClipboardData($clipboardContainer.first());$clipboardContainer.html("");processed=true}else if(tableSelectionManager.getSelectedCells().length){alert(_i18n2.default.get("Cannot paste values ​​other than a table in the cell selection state"));$clipboardContainer.html("");processed=true}}return processed}},{key:"_preparePaste",value:function _preparePaste($clipboardContainer){this._removeEmptyFontElement($clipboardContainer);this._pch.preparePaste($clipboardContainer);this.wwe.eventManager.emit("pasteBefore",{source:"wysiwyg",$clipboardContainer:$clipboardContainer})}},{key:"_setTableBookmark",value:function _setTableBookmark($clipboardContainer){var $lastNode=$($clipboardContainer[0].childNodes).last();var isLastNodeTable=$lastNode[0]&&$lastNode[0].nodeName==="TABLE";if(isLastNodeTable){$lastNode.addClass(PASTE_TABLE_BOOKMARK)}}},{key:"_focusTableBookmark",value:function _focusTableBookmark(){var sq=this.wwe.getEditor();var range=sq.getSelection().cloneRange();var $bookmarkedTable=sq.get$Body().find("."+PASTE_TABLE_BOOKMARK);var $bookmarkedCell=sq.get$Body().find("."+PASTE_TABLE_CELL_BOOKMARK);if($bookmarkedTable.length){$bookmarkedTable.removeClass(PASTE_TABLE_BOOKMARK);range.setEndAfter($bookmarkedTable[0]);range.collapse(false);sq.setSelection(range)}if($bookmarkedCell.length){$bookmarkedCell.removeClass(PASTE_TABLE_CELL_BOOKMARK);range.selectNodeContents($bookmarkedCell[0]);range.collapse(false);sq.setSelection(range)}}},{key:"_extendRange",value:function _extendRange(range){if(_domUtils2.default.isTextNode(range.commonAncestorContainer)&&(range.startOffset!==0||range.commonAncestorContainer.textContent.length!==range.endOffset)&&range.commonAncestorContainer.nodeName!=="TD"){return}if(range.startOffset===0){range=this._extendStartRange(range)}if(range.endOffset===_domUtils2.default.getOffsetLength(range.endContainer)){range=this._extendEndRange(range)}if(this._isWholeCommonAncestorContainerSelected(range)){range.selectNode(range.commonAncestorContainer)}this.wwe.getEditor().setSelection(range)}},{key:"_extendStartRange",value:function _extendStartRange(range){var newBound=range.startContainer;while(newBound.parentNode!==range.commonAncestorContainer&&newBound.parentNode!==this.wwe.get$Body()[0]&&!newBound.previousSibling){newBound=newBound.parentNode}range.setStart(newBound.parentNode,_domUtils2.default.getNodeOffsetOfParent(newBound));return range}},{key:"_extendEndRange",value:function _extendEndRange(range){var newBound=range.endContainer;var boundNext=newBound.nextSibling;while(newBound.parentNode!==range.commonAncestorContainer&&newBound.parentNode!==this.wwe.get$Body()[0]&&(!boundNext||_domUtils2.default.getNodeName(boundNext)==="BR"&&newBound.parentNode.lastChild===boundNext)){newBound=newBound.parentNode;boundNext=newBound.nextSibling}range.setEnd(newBound.parentNode,_domUtils2.default.getNodeOffsetOfParent(newBound)+1);return range}},{key:"_isWholeCommonAncestorContainerSelected",value:function _isWholeCommonAncestorContainerSelected(range){return range.commonAncestorContainer.nodeType===Node.ELEMENT_NODE&&range.commonAncestorContainer!==this.wwe.get$Body()[0]&&range.startOffset===0&&range.endOffset===range.commonAncestorContainer.childNodes.length&&range.commonAncestorContainer===range.startContainer&&range.commonAncestorContainer===range.endContainer}}]);return WwClipboardManager}();module.exports=WwClipboardManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");var nodeName=void 0,node=void 0,isPastingList=void 0;this._pasteFirstAid($container);var childNodes=util.toArray($container[0].childNodes);if(childNodes.length&&childNodes[0].tagName==="DIV"){$tempContainer.append(this._unwrapFragmentFirstChildForPasteAsInline(childNodes[0]));childNodes.shift()}while(childNodes.length){node=childNodes[0];nodeName=_domUtils2.default.getNodeName(node);isPastingList=nodeName==="LI"||nodeName==="UL"||nodeName==="OL";if(codeblockManager.isInCodeBlock(range)){$tempContainer.append(codeblockManager.prepareToPasteOnCodeblock(childNodes))}else if(isPastingList){$tempContainer.append(this._prepareToPasteList(childNodes,range,firstBlockIsTaken));firstBlockIsTaken=true}else{$tempContainer.append(childNodes.shift())}}$container.html($tempContainer.html())}},{key:"_wrapOrphanNodeWithDiv",value:function _wrapOrphanNodeWithDiv($container){var $tempContainer=$("
    ");var array=util.toArray($container[0].childNodes);var currentDiv=void 0;util.forEachArray(array,function(node){var isTextNode=node.nodeType===3;var isInlineNode=/^(SPAN|A|CODE|EM|I|STRONG|B|S|ABBR|ACRONYM|CITE|DFN|KBD|SAMP|VAR|BDO|Q|SUB|SUP)$/gi.test(node.tagName);if(isTextNode||isInlineNode){if(!currentDiv){currentDiv=document.createElement("div");$tempContainer.append(currentDiv)}currentDiv.appendChild(node)}else{if(currentDiv&¤tDiv.lastChild.tagName!=="BR"){currentDiv.appendChild($("
    ")[0])}currentDiv=null;$tempContainer.append(node)}});return $tempContainer.html()}},{key:"_pasteFirstAid",value:function _pasteFirstAid($container){var _this=this;var blockTags="div, section, article, aside, nav, menus, p";$container.html((0,_htmlSanitizer2.default)($container.html(),true));$container.find("*").each(function(i,node){_this._removeStyles(node)});this._unwrapIfNonBlockElementHasBr($container);this._unwrapNestedBlocks($container,blockTags);this._removeUnnecessaryBlocks($container,blockTags);$container.html(this._wrapOrphanNodeWithDiv($container));this._preElementAid($container);this._tableElementAid($container);$container.children("br").remove()}},{key:"_preElementAid",value:function _preElementAid($container){var codeblockManager=this.wwe.componentManager.getManager("codeblock");codeblockManager.splitCodeblockToEachLine($container)}},{key:"_unwrapIfNonBlockElementHasBr",value:function _unwrapIfNonBlockElementHasBr($container){var nonBlockElements=$container.find("span, a, b, em, i, s");nonBlockElements.each(function(i,node){var brChildren=$(node).children("br");if(brChildren.length&&node.nodeName!=="LI"&&node.nodeName!=="UL"){brChildren.eq(0).unwrap()}})}},{key:"_unwrapNestedBlocks",value:function _unwrapNestedBlocks($container,blockTags){var $leafElements=$container.find(":not(:has(*))").not("b,s,i,em,code,span");$leafElements.each(function(i,node){var leafElement=node.nodeName==="BR"?$(node.parentNode):$(node);while(leafElement.parents(blockTags).length){var $parent=leafElement.parent(blockTags);if($parent.length&&$parent[0]!==$container[0]){leafElement.unwrap()}else{leafElement=leafElement.parent()}}})}},{key:"_removeUnnecessaryBlocks",value:function _removeUnnecessaryBlocks($container,blockTags){$container.find(blockTags).each(function(index,blockElement){var $blockElement=$(blockElement);var tagName=blockElement.tagName;var isDivElement=tagName==="DIV";var isInListItem=$blockElement.parent("li").length!==0;var isInBlockquote=$blockElement.parent("blockquote").length!==0;var hasBlockChildElement=$blockElement.children(blockTags).length;if(isDivElement&&(isInListItem||isInBlockquote||!hasBlockChildElement)){return}$blockElement.replaceWith($blockElement.html())})}},{key:"_removeStyles",value:function _removeStyles(node){var $node=$(node);var colorValue=void 0;if(_domUtils2.default.getNodeName($node[0])!=="SPAN"){$node.removeAttr("style")}else{if($node.attr("style")){colorValue=$node.css("color")}$node.removeAttr("style");if(colorValue){$node.css("color",colorValue)}else{$node.contents().unwrap()}}}},{key:"_prepareToPasteList",value:function _prepareToPasteList(nodes,rangeInfo,firstBlockIsTaken){var nodeName=_domUtils2.default.getNodeName(nodes[0]);var node=nodes.shift();var newFragment=this.wwe.getEditor().getDocument().createDocumentFragment();if(nodeName!=="LI"&&nodes.length&&nodes[0].tagName==="LI"){nodeName="LI";node=this._makeNodeAndAppend({tagName:nodeName},node)}if(nodeName==="OL"||nodeName==="UL"){if(!firstBlockIsTaken&&this.wwe.getEditor().hasFormat("LI")){$(newFragment).append(this._wrapCurrentFormat(node))}else{$(newFragment).append(node)}}else if(nodeName==="LI"){var listGroup=this.wwe.getEditor().getDocument().createDocumentFragment();listGroup.appendChild(node);while(nodes.length&&nodes[0].tagName==="LI"){listGroup.appendChild(nodes.shift())}if(!firstBlockIsTaken&&this.wwe.getEditor().hasFormat("LI")){$(newFragment).append(this._wrapCurrentFormat(listGroup))}else if(rangeInfo&&(rangeInfo.commonAncestorName==="UL"||rangeInfo.commonAncestorName==="OL")){$(newFragment).append(this._makeNodeAndAppend({tagName:rangeInfo.commonAncestorName},listGroup))}else{$(newFragment).append(this._makeNodeAndAppend({tagName:"UL"},listGroup))}}return newFragment}},{key:"_unwrapFragmentFirstChildForPasteAsInline",value:function _unwrapFragmentFirstChildForPasteAsInline(node){$(node).find("br").remove();return node.childNodes}},{key:"_wrapCurrentFormat",value:function _wrapCurrentFormat(nodes){var _this2=this;var currentTagName=void 0;this._eachCurrentPath(function(path){if(path.tagName!=="DIV"){if(_domUtils2.default.isElemNode(nodes)){currentTagName=nodes.tagName}else{currentTagName=nodes.firstChild.tagName}if(path.tagName!==currentTagName){nodes=_this2._makeNodeAndAppend(path,nodes)}}});return nodes}},{key:"_eachCurrentPath",value:function _eachCurrentPath(iteratee){var paths=_domUtils2.default.getPath(this.wwe.getEditor().getSelection().startContainer,this.wwe.get$Body()[0]);for(var i=paths.length-1;i>-1;i-=1){iteratee(paths[i])}}},{key:"_makeNodeAndAppend",value:function _makeNodeAndAppend(pathInfo,content){var node=$("<"+pathInfo.tagName+"/>");node.append(content);if(pathInfo.id){node.attr("id",pathInfo.id)}if(pathInfo.className){node.addClass(pathInfo.className)}return node[0]}},{key:"_tableElementAid",value:function _tableElementAid($container){this._completeTableIfNeed($container);this._updateTableIDClassName($container)}},{key:"_completeTableIfNeed",value:function _completeTableIfNeed($container){var tableManager=this.wwe.componentManager.getManager("table");var wrapperTr=tableManager.wrapDanglingTableCellsIntoTrIfNeed($container);if(wrapperTr){$container.append(wrapperTr)}var wrapperTbody=tableManager.wrapTrsIntoTbodyIfNeed($container);if(wrapperTbody){$container.append(wrapperTbody)}var wrapperTable=tableManager.wrapTheadAndTbodyIntoTableIfNeed($container);if(wrapperTable){$container.append(wrapperTable)}}},{key:"_updateTableIDClassName",value:function _updateTableIDClassName($container){var tableManager=this.wwe.componentManager.getManager("table");$container.find("table").each(function(index,table){$(table).removeClass(function(idx,className){return className.replace(/.*\s*(te-content-table-\d+)\s*.*/,"$1")})});$container.find("table").each(function(index,table){$(table).addClass(tableManager.getTableIDClassName())})}}]);return WwPasteContentHelper}();module.exports=WwPasteContentHelper},function(module,exports){"use strict";var util=tui.util;var HTML_ATTR_LIST_RX=new RegExp("^(abbr|align|alt|axis|bgcolor|border|cellpadding|cellspacing|class|clear|"+"color|cols|compact|coords|dir|face|headers|height|hreflang|hspace|"+"ismap|lang|language|nohref|nowrap|rel|rev|rows|rules|"+"scope|scrolling|shape|size|span|start|summary|tabindex|target|title|type|"+"valign|value|vspace|width|checked|mathvariant|encoding|id|name|"+"background|cite|href|longdesc|src|usemap|xlink:href|data-+|checked|style)","g");var SVG_ATTR_LIST_RX=new RegExp("^(accent-height|accumulate|additive|alphabetic|arabic-form|ascent|"+"baseProfile|bbox|begin|by|calcMode|cap-height|class|color|color-rendering|content|"+"cx|cy|d|dx|dy|descent|display|dur|end|fill|fill-rule|font-family|font-size|font-stretch|"+"font-style|font-variant|font-weight|from|fx|fy|g1|g2|glyph-name|gradientUnits|hanging|"+"height|horiz-adv-x|horiz-origin-x|ideographic|k|keyPoints|keySplines|keyTimes|lang|"+"marker-end|marker-mid|marker-start|markerHeight|markerUnits|markerWidth|mathematical|"+"max|min|offset|opacity|orient|origin|overline-position|overline-thickness|panose-1|"+"path|pathLength|points|preserveAspectRatio|r|refX|refY|repeatCount|repeatDur|"+"requiredExtensions|requiredFeatures|restart|rotate|rx|ry|slope|stemh|stemv|stop-color|"+"stop-opacity|strikethrough-position|strikethrough-thickness|stroke|stroke-dasharray|"+"stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|"+"stroke-width|systemLanguage|target|text-anchor|to|transform|type|u1|u2|underline-position|"+"underline-thickness|unicode|unicode-range|units-per-em|values|version|viewBox|visibility|"+"width|widths|x|x-height|x1|x2|xlink:actuate|xlink:arcrole|xlink:role|xlink:show|xlink:title|"+"xlink:type|xml:base|xml:lang|xml:space|xmlns|xmlns:xlink|y|y1|y2|zoomAndPan)","g");function htmlSanitizer(html,needHtmlText){var $html=$("
    ");html=html.replace(//g,"");$html.append(html);removeUnnecessaryTags($html);leaveOnlyWhitelistAttribute($html);return finalizeHtml($html,needHtmlText)}function removeUnnecessaryTags($html){$html.find("script, iframe, textarea, form, button, select, meta, style, link, title").remove()}function leaveOnlyWhitelistAttribute($html){$html.find("*").each(function(index,node){var blacklist=util.toArray(node.attributes).filter(function(attr){var isHTMLAttr=attr.name.match(HTML_ATTR_LIST_RX);var isSVGAttr=attr.name.match(SVG_ATTR_LIST_RX);return!isHTMLAttr&&!isSVGAttr});util.forEachArray(blacklist,function(attr){node.attributes.removeNamedItem(attr.name)})})}function finalizeHtml($html,needHtmlText){var returnValue=void 0;if(needHtmlText){returnValue=$html[0].innerHTML}else{var frag=document.createDocumentFragment();var childNodes=tui.util.toArray($html[0].childNodes);var length=childNodes.length;for(var i=0;i");$(node).find("div").children("ul, ol").appendTo(node)}})}},{key:"_prepareInsertBlankToBetweenSameList",value:function _prepareInsertBlankToBetweenSameList(html){return html.replace(/<\/(ul|ol)>(
    |
    ){0,}<\1>/g,":BLANK_LINE:<$1>")}},{key:"getLinesOfSelection",value:function getLinesOfSelection(start,end){var lines=[];var isEndPassed=false;var needNext=true;var nextLine=void 0;if(_domUtils2.default.isTextNode(start)){start=$(start).parents("div").first()[0]}if(_domUtils2.default.isTextNode(end)){end=$(end).parents("div").first()[0]}for(var line=start;needNext;line=nextLine){if($(line).is("DIV")){lines.push(line);if(line===end){isEndPassed=true}nextLine=line.nextElementSibling}else{break}needNext=nextLine&&!isEndPassed}return lines}}]);return WwListManager}();module.exports=WwListManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i";var TABLE_CELL_SELECTED_CLASS_NAME="te-cell-selected";var WwTableManager=function(){function WwTableManager(wwe){_classCallCheck(this,WwTableManager);this.wwe=wwe;this.eventManager=wwe.eventManager;this.name="table";this._lastCellNode=null;this._init()}_createClass(WwTableManager,[{key:"_init",value:function _init(){this._initKeyHandler();this._initEvent();this.tableID=0}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.eventManager.listen("wysiwygRangeChangeAfter.table",function(){var range=_this.wwe.getEditor().getSelection();var isRangeInTable=_this.isInTable(range);_this._unwrapBlockInTable();_this._completeTableIfNeed();if(!isRangeInTable){var selectionManager=_this.wwe.componentManager.getManager("tableSelection");selectionManager.removeClassAttrbuteFromAllCellsIfNeed()}_this._insertDefaultBlockBetweenTable()});this.eventManager.listen("wysiwygSetValueAfter.table",function(){_this._unwrapBlockInTable();_this._insertDefaultBlockBetweenTable()});this.eventManager.listen("wysiwygProcessHTMLText.table",function(html){return html.replace(/
    (<\/td>|<\/th>)/g,"$1")});this.eventManager.listen("cut.table",function(){var selectionManager=_this.wwe.componentManager.getManager("tableSelection");var $selectedCells=selectionManager.getSelectedCells();if($selectedCells.length){$selectedCells.get().forEach(function(cell){return $(cell).html(BASIC_CELL_CONTENT)})}selectionManager.removeClassAttrbuteFromAllCellsIfNeed()});this.eventManager.listen("copyBefore.table",function(_ref){var $clipboardContainer=_ref.$clipboardContainer;return _this.updateTableHtmlOfClipboardIfNeed($clipboardContainer)});this.onBindedPaste=this._onPaste.bind(this);this.wwe.getEditor().addEventListener("paste",this.onBindedPaste)}},{key:"updateTableHtmlOfClipboardIfNeed",value:function updateTableHtmlOfClipboardIfNeed($clipboardContainer){var _this2=this;var selectionManager=this.wwe.componentManager.getManager("tableSelection");var $selectedCells=selectionManager.getSelectedCells();if($selectedCells.length){selectionManager.createRangeBySelectedCells();var fragment=this.wwe.getEditor().getSelection().cloneContents();$(fragment).children().each(function(index,node){var $node=$(node);if(!_this2.isTableOrSubTableElement(node.nodeName)){return}else if(node.nodeName==="TABLE"&&$node.find("thead").length===0&&$node.find("tbody").length===0){$node.remove()}else if(node.previousSibling&&node.previousSibling.nodeName==="TABLE"){node.previousSibling.appendChild(node)}else{_this2._completeIncompleteTable(node);if(node.nodeName!=="TABLE"&&node.nodeName!=="THEAD"){$(node).closest("table").find("thead").remove()}}});$clipboardContainer.append(fragment);$clipboardContainer.find("."+TABLE_CELL_SELECTED_CLASS_NAME).removeClass(TABLE_CELL_SELECTED_CLASS_NAME)}}},{key:"pasteClipboardData",value:function pasteClipboardData($clipboardTable){if(this.wwe.componentManager.getManager("tableSelection").getSelectedCells().length){return}this._expandTableIfNeed($clipboardTable);this._pasteDataIntoTable($clipboardTable)}},{key:"_onPaste",value:function _onPaste(ev){var range=this.wwe.getEditor().getSelection();var isNotPastingIntoTextNode=!_domUtils2.default.isTextNode(range.commonAncestorContainer);if(this.isInTable(range)&&!range.collapsed&&isNotPastingIntoTextNode){ev.preventDefault()}}},{key:"_initKeyHandler",value:function _initKeyHandler(){var _this3=this;this.keyEventHandlers={DEFAULT:function DEFAULT(ev,range,keymap){var isRangeInTable=_this3.isInTable(range);if(isRangeInTable&&!_this3._isSingleModifierKey(keymap)){_this3._recordUndoStateIfNeed(range);_this3._removeBRIfNeed(range);_this3._removeContentsAndChangeSelectionIfNeed(range,keymap,ev)}else if(!isRangeInTable&&_this3._lastCellNode){_this3._recordUndoStateAndResetCellNode(range)}if(isRangeInTable&&!_this3._isModifierKeyPushed(ev)){_this3.wwe.getEditor().modifyDocument(function(){var selectionManager=_this3.wwe.componentManager.getManager("tableSelection");selectionManager.removeClassAttrbuteFromAllCellsIfNeed()})}},ENTER:function ENTER(ev,range){var isNeedNext=void 0;if(_this3._isAfterTable(range)){ev.preventDefault();range.setStart(range.startContainer,range.startOffset-1);_this3.wwe.breakToNewDefaultBlock(range);isNeedNext=false}else if(_this3._isBeforeTable(range)){ev.preventDefault();_this3.wwe.breakToNewDefaultBlock(range,"before");isNeedNext=false}else if(_this3.isInTable(range)){_this3._appendBrIfTdOrThNotHaveAsLastChild(range);isNeedNext=false}return isNeedNext},BACK_SPACE:function BACK_SPACE(ev,range,keymap){return _this3._handleBackspaceAndDeleteKeyEvent(ev,range,keymap)},DELETE:function DELETE(ev,range,keymap){return _this3._handleBackspaceAndDeleteKeyEvent(ev,range,keymap)},TAB:function TAB(){return _this3._moveCursorTo("next","cell")},"SHIFT+TAB":function SHIFTTAB(ev){return _this3._moveCursorTo("previous","cell",ev)},UP:function UP(ev){return _this3._moveCursorTo("previous","row",ev)},DOWN:function DOWN(ev){return _this3._moveCursorTo("next","row",ev)}};util.forEach(this.keyEventHandlers,function(handler,key){return _this3.wwe.addKeyEventHandler(key,handler)})}},{key:"isInTable",value:function isInTable(range){var target=void 0,result=void 0;if(range.collapsed){target=range.startContainer;result=!!$(target).closest("[contenteditable=true] table").length}else{target=range.commonAncestorContainer;result=!!$(target).closest("[contenteditable=true] table").length||!!$(range.cloneContents()).find("table").length}return result}},{key:"_isBeforeTable",value:function _isBeforeTable(range){return _domUtils2.default.getNodeName(_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset))==="TABLE"}},{key:"_isAfterTable",value:function _isAfterTable(range){var prevElem=_domUtils2.default.getPrevOffsetNodeUntil(range.startContainer,range.startOffset);return _domUtils2.default.getNodeName(prevElem)==="TABLE"&&range.commonAncestorContainer===this.wwe.get$Body()[0]}},{key:"_handleBackspaceAndDeleteKeyEvent",value:function _handleBackspaceAndDeleteKeyEvent(ev,range,keymap){var isBackspace=keymap==="BACK_SPACE";var isTextOrElementDelete=range.commonAncestorContainer.nodeType!==3&&range.commonAncestorContainer!==this.wwe.get$Body()[0];var isNeedNext=void 0;if(range.collapsed){if(this.isInTable(range)){if(isBackspace){this._tableHandlerOnBackspace(range,ev)}else{this._tableHandlerOnDelete(range,ev)}this._insertBRIfNeed(range);this._removeContentsAndChangeSelectionIfNeed(range,keymap,ev);isNeedNext=false}else if(!isBackspace&&this._isBeforeTable(range)||isBackspace&&this._isAfterTable(range)){ev.preventDefault();var startOffset=isBackspace?range.startOffset-1:range.startOffset;this._removeTable(range,_domUtils2.default.getChildNodeByOffset(range.startContainer,startOffset));isNeedNext=false}}else if(this.isInTable(range)){if(isTextOrElementDelete){ev.preventDefault();this._removeContentsAndChangeSelectionIfNeed(range,keymap,ev);isNeedNext=false}}return isNeedNext}},{key:"_tableHandlerOnBackspace",value:function _tableHandlerOnBackspace(range,event){var prevNode=_domUtils2.default.getPrevOffsetNodeUntil(range.startContainer,range.startOffset,"TR"),prevNodeName=_domUtils2.default.getNodeName(prevNode);if(!prevNode||prevNodeName==="TD"||prevNodeName==="TH"){event.preventDefault()}else if(prevNodeName==="BR"&&prevNode.parentNode.childNodes.length!==1){event.preventDefault();$(prevNode).remove()}}},{key:"isNonTextDeleting",value:function isNonTextDeleting(range){var currentElement=range.startContainer;var nextNode=currentElement.nextSibling;var nextNodeName=_domUtils2.default.getNodeName(nextNode);var currentNodeName=_domUtils2.default.getNodeName(currentElement);var isCellDeleting=currentNodeName===nextNodeName&¤tNodeName!=="TEXT";var isEndOfText=(!nextNode||nextNodeName==="BR"&&nextNode.parentNode.lastChild===nextNode)&&_domUtils2.default.isTextNode(currentElement)&&range.startOffset===currentElement.nodeValue.length;var isLastCellOfRow=!isEndOfText&&$(currentElement).parents("tr").children().last()[0]===currentElement&&(currentNodeName==="TD"||currentNodeName==="TH");return isCellDeleting||isEndOfText||isLastCellOfRow}},{key:"_tableHandlerOnDelete",value:function _tableHandlerOnDelete(range,event){var needPreventDefault=this.isNonTextDeleting(range);if(needPreventDefault){event.preventDefault();range.startContainer.normalize()}}},{key:"_appendBrIfTdOrThNotHaveAsLastChild",value:function _appendBrIfTdOrThNotHaveAsLastChild(range){var startContainerNodeName=_domUtils2.default.getNodeName(range.startContainer);var tdOrTh=void 0;if(startContainerNodeName==="TD"||startContainerNodeName==="TH"){tdOrTh=range.startContainer}else{var paths=$(range.startContainer).parentsUntil("tr");tdOrTh=paths[paths.length-1]}if(_domUtils2.default.getNodeName(tdOrTh.lastChild)!=="BR"&&_domUtils2.default.getNodeName(tdOrTh.lastChild)!=="DIV"&&!isIE10And11){$(tdOrTh).append($("
    ")[0])}}},{key:"_unwrapBlockInTable",value:function _unwrapBlockInTable(){this.wwe.get$Body().find("td div,th div,tr>br,td>br,th>br").each(function(index,node){if(_domUtils2.default.getNodeName(node)==="BR"){var parentNodeName=_domUtils2.default.getNodeName(node.parentNode);var isInTableCell=/TD|TH/.test(parentNodeName);var isEmptyTableCell=node.parentNode.textContent.length===0;var isLastBR=node.parentNode.lastChild===node;if(parentNodeName==="TR"||isInTableCell&&!isEmptyTableCell&&isLastBR){$(node).remove()}}else{$(node).children().unwrap()}})}},{key:"_insertDefaultBlockBetweenTable",value:function _insertDefaultBlockBetweenTable(){this.wwe.get$Body().find("table").each(function(index,node){if(node.nextElementSibling&&node.nextElementSibling.nodeName==="TABLE"){$("

    ").insertAfter(node)}})}},{key:"_removeTable",value:function _removeTable(range,table){if(table.tagName==="TABLE"){this.wwe.getEditor().saveUndoState(range);this.wwe.saveSelection(range);$(table).remove();this.wwe.restoreSavedSelection()}}},{key:"_recordUndoStateIfNeed",value:function _recordUndoStateIfNeed(range){var currentCellNode=_domUtils2.default.getParentUntil(range.startContainer,"TR");if(range.collapsed&¤tCellNode&&this._lastCellNode!==currentCellNode){this.wwe.getEditor().saveUndoState(range);this._lastCellNode=currentCellNode}}},{key:"_recordUndoStateAndResetCellNode",value:function _recordUndoStateAndResetCellNode(range){this.wwe.getEditor().saveUndoState(range);this.resetLastCellNode()}},{key:"_pasteDataIntoTable",value:function _pasteDataIntoTable(fragment){var range=this.wwe.getEditor().getSelection();var tableData=this._getTableDataFromTable(fragment);var startContainer=range.startContainer;var parentNode=startContainer.parentNode;var isTextInTableCell=parentNode.tagName==="TD"||parentNode.tagName==="TH";var isTableCell=startContainer.tagName==="TD"||startContainer.tagName==="TH";var isTextNode=startContainer.nodeType===3;var brString=isIE10?"":"
    ";var anchorElement=void 0,td=void 0,tr=void 0,tdContent=void 0;if(isTextNode&&isTextInTableCell){anchorElement=parentNode}else if(isTableCell){anchorElement=startContainer}else{anchorElement=$(startContainer).find("th,td")[0]}td=anchorElement;while(tableData.length){tr=tableData.shift();while(td&&tr.length){tdContent=tr.shift();if(tdContent.length){td.textContent=tdContent}else{td.innerHTML=brString}td=_domUtils2.default.getTableCellByDirection(td,"next")}td=_domUtils2.default.getSiblingRowCellByDirection(anchorElement,"next",false);anchorElement=td}}},{key:"_getTableDataFromTable",value:function _getTableDataFromTable(fragment){var $fragment=$(fragment);var tableData=[];var trs=$fragment.find("tr");trs.each(function(i,tr){var trData=[];var tds=$(tr).children();tds.each(function(index,cell){trData.push(cell.textContent)});if(trData.length){tableData.push(trData)}});return tableData}},{key:"_removeTableContents",value:function _removeTableContents(selectedCells){this.wwe.getEditor().saveUndoState();selectedCells.each(function(i,cell){var brHTMLString=isIE10?"":"
    ";$(cell).html(brHTMLString)})}},{key:"wrapDanglingTableCellsIntoTrIfNeed",value:function wrapDanglingTableCellsIntoTrIfNeed($container){var danglingTableCells=$container.children("td,th");var tr=void 0;if(danglingTableCells.length){var $wrapperTr=$("");danglingTableCells.each(function(i,cell){$wrapperTr.append(cell)});tr=$wrapperTr[0]}return tr}},{key:"wrapTrsIntoTbodyIfNeed",value:function wrapTrsIntoTbodyIfNeed($container){var danglingTrs=$container.children("tr");var ths=danglingTrs.find("th");var tbody=void 0;if(ths.length){ths.each(function(i,node){var $node=$(node);var td=$("");td.html($node.html());td.insertBefore(node);$node.detach()})}if(danglingTrs.length){var $wrapperTableBody=$("");danglingTrs.each(function(i,tr){$wrapperTableBody.append(tr)});tbody=$wrapperTableBody[0]}return tbody}},{key:"wrapTheadAndTbodyIntoTableIfNeed",value:function wrapTheadAndTbodyIntoTableIfNeed($container){var danglingThead=$container.children("thead");var danglingTbody=$container.children("tbody");var $wrapperTable=$("
    ");var table=void 0;if(!danglingTbody.length&&danglingThead.length){$wrapperTable.append(danglingThead[0]);$wrapperTable.append("");table=$wrapperTable[0]}else if(danglingTbody.length&&!danglingThead.length){$wrapperTable.append("");$wrapperTable.append(danglingTbody[0]);table=$wrapperTable[0]}else if(danglingTbody.length&&danglingThead.length){$wrapperTable.append(danglingThead[0]);$wrapperTable.append(danglingTbody[0]);table=$wrapperTable[0]}return table}},{key:"isTableOrSubTableElement",value:function isTableOrSubTableElement(pastingNodeName){return pastingNodeName==="TABLE"||pastingNodeName==="TBODY"||pastingNodeName==="THEAD"||pastingNodeName==="TR"||pastingNodeName==="TD"}},{key:"_stuffTableCellsIntoIncompleteRow",value:function _stuffTableCellsIntoIncompleteRow($trs,maximumCellLength){$trs.each(function(rowIndex,row){var $row=$(row);var tableCells=$row.find("th,td");var parentNodeName=_domUtils2.default.getNodeName($row.parent()[0]);var cellTagName=parentNodeName==="THEAD"?"th":"td";for(var cellLength=tableCells.length;cellLength")[0];$table.prepend(absentNode)}else if(isTbodyNotExists){absentNode=$("")[0];$table.append(absentNode)}}},{key:"tableCellAppendAidForTableElement",value:function tableCellAppendAidForTableElement(node){var $table=$(node);this._addTbodyOrTheadIfNeed($table);this._addTrIntoContainerIfNeed($table);var trs=$table.find("tr");var tableAidInformation=this.prepareToTableCellStuffing(trs);var maximumCellLength=tableAidInformation.maximumCellLength;var needTableCellStuffingAid=tableAidInformation.needTableCellStuffingAid;if(needTableCellStuffingAid){this._stuffTableCellsIntoIncompleteRow(trs,maximumCellLength)}}},{key:"_generateTheadAndTbodyFromTbody",value:function _generateTheadAndTbodyFromTbody(node){var tr=$("");var thead=$("");tr.append(tableCellGenerator($(node).find("tr").eq(0).find("td").length,"th"));thead.append(tr);return{thead:thead[0],tbody:node}}},{key:"_generateTheadAndTbodyFromThead",value:function _generateTheadAndTbodyFromThead(node){var tr=$("");var tbody=$("");tr.append(tableCellGenerator($(node).find("th").length,"td"));tbody.append(tr);return{thead:node,tbody:tbody[0]}}},{key:"_generateTheadAndTbodyFromTr",value:function _generateTheadAndTbodyFromTr(node){var $node=$(node);var thead=$("");var tbody=$("");var theadRow=void 0,tbodyRow=void 0;if($node.children()[0].tagName==="TH"){theadRow=node;tbodyRow=$(""+tableCellGenerator($node.find("th").length,"td")+"")[0]}else{theadRow=$(""+tableCellGenerator($node.find("td").length,"th")+"")[0];tbodyRow=node}thead.append(theadRow);tbody.append(tbodyRow);return{thead:thead[0],tbody:tbody[0]}}},{key:"_completeIncompleteTable",value:function _completeIncompleteTable(node,useHeader){var nodeName=node.tagName;var table=void 0,completedTableContents=void 0;useHeader=util.isUndefined(useHeader)?true:useHeader;if(nodeName==="TABLE"){table=node}else{table=$("
    ");table.insertAfter(node);if(nodeName==="TBODY"){completedTableContents=this._generateTheadAndTbodyFromTbody(node)}else if(nodeName==="THEAD"){completedTableContents=this._generateTheadAndTbodyFromThead(node)}else if(nodeName==="TR"){completedTableContents=this._generateTheadAndTbodyFromTr(node)}if(useHeader){table.append(completedTableContents.thead)}table.append(completedTableContents.tbody)}this.tableCellAppendAidForTableElement(table)}},{key:"_completeTableIfNeed",value:function _completeTableIfNeed(){var _this4=this;var $body=this.wwe.getEditor().get$Body();$body.children().each(function(index,node){var $node=$(node);if(!_this4.isTableOrSubTableElement(node.nodeName)){return}else if(node.nodeName==="TABLE"&&$node.find("thead").length===0&&$node.find("tbody").length===0){$node.remove()}_this4._completeIncompleteTable(node)})}},{key:"resetLastCellNode",value:function resetLastCellNode(){this._lastCellNode=null}},{key:"setLastCellNode",value:function setLastCellNode(node){this._lastCellNode=node}},{key:"_isSingleModifierKey",value:function _isSingleModifierKey(keymap){return keymap==="META"||keymap==="SHIFT"||keymap==="ALT"||keymap==="CONTROL"}},{key:"_isModifierKeyPushed",value:function _isModifierKeyPushed(ev){return ev.metaKey||ev.ctrlKey||ev.altKey||ev.shiftKey}},{key:"_addTrIntoContainerIfNeed",value:function _addTrIntoContainerIfNeed($table){var $trContainers=$table.children();$trContainers.each(function(i,container){var hasNoRows=$(container).find("tr").length===0;if(hasNoRows){$(container).append($("")[0])}})}},{key:"_expandTableIfNeed",value:function _expandTableIfNeed(fragment){var range=this.wwe.getEditor().getSelection().cloneRange();var $table=$(range.startContainer).parents("table");var difference=this._getColumnAndRowDifference(fragment,range);if(difference.column<0){this._appendCellForAllRow($table,difference.column)}if(difference.row<0){this._appendRow($table,difference.row)}}},{key:"_getColumnAndRowDifference",value:function _getColumnAndRowDifference(fragment,range){var tableData=this._getTableDataFromTable(fragment);var rowLength=tableData.length;var columnLength=tableData[0].length;var $currentCell=$(range.startContainer).closest("th,td");var $currentRow=$currentCell.parent();var currentColumnIndex=_domUtils2.default.getNodeOffsetOfParent($currentCell[0]);var currentRowIndex=_domUtils2.default.getNodeOffsetOfParent($currentCell[0].parentNode);var $table=$currentRow.parents("table");var tableColumnLength=$table.find("tr").eq(0).children().length;var tableRowLength=$table.find("tr").length;var isInTbody=$currentRow.parents("tbody").length;if(isInTbody){currentRowIndex+=1}return{row:tableRowLength-(currentRowIndex+rowLength),column:tableColumnLength-(currentColumnIndex+columnLength)}}},{key:"_appendCellForAllRow",value:function _appendCellForAllRow($table,columnDifference){var brString=isIE10?"":"
    ";$table.find("tr").each(function(i,row){var tagName=void 0;for(var index=columnDifference;index<0;index+=1){if(i===0){tagName="th"}else{tagName="td"}$(row).append($("<"+tagName+">"+brString+"")[0])}})}},{key:"_appendRow",value:function _appendRow($table,rowDifference){var newRow=$table.find("tr").last().clone();var brHTMLSting=isIE10?"":"
    ";newRow.find("td").html(brHTMLSting);for(;rowDifference<0;rowDifference+=1){$table.find("tbody").append(newRow.clone()[0])}}},{key:"_getSiblingTextNodeByDirection",value:function _getSiblingTextNodeByDirection(currentTextNode,isNext){var isPreviousLineExist=currentTextNode.previousSibling&¤tTextNode.previousSibling.nodeName==="BR"&¤tTextNode.previousSibling.previousSibling&¤tTextNode.previousSibling.previousSibling.nodeType===3;var isNextLineExist=currentTextNode.nextSibling&¤tTextNode.nextSibling.nodeName==="BR"&¤tTextNode.nextSibling.nextSibling&¤tTextNode.nextSibling.nextSibling.nodeType===3;var target=void 0;if(isNext&&isNextLineExist){target=currentTextNode.nextSibling.nextSibling}else if(!isNext&&isPreviousLineExist){target=currentTextNode.previousSibling.previousSibling}return target}},{key:"_changeSelectionToTargetCell",value:function _changeSelectionToTargetCell(currentCell,range,direction,scale){var startContainer=range.startContainer;var isNext=direction==="next";var isRow=scale==="row";var target=void 0,textOffset=void 0;if(isRow){if(_domUtils2.default.isTextNode(startContainer)){target=this._getSiblingTextNodeByDirection(startContainer,isNext);if(target){textOffset=target.length")}}},{key:"destroy",value:function destroy(){var _this5=this;this.eventManager.removeEventHandler("wysiwygRangeChangeAfter.table");this.eventManager.removeEventHandler("wysiwygSetValueAfter.table");this.eventManager.removeEventHandler("wysiwygProcessHTMLText.table");this.eventManager.removeEventHandler("cut.table");this.eventManager.removeEventHandler("copyBefore.table");this.wwe.getEditor().removeEventListener("paste",this.onBindedPaste);util.forEach(this.keyEventHandlers,function(handler,key){return _this5.wwe.removeKeyEventHandler(key,handler)})}}]);return WwTableManager}();function tableCellGenerator(amount,tagName){var brHTMLString="
    ";var cellString="<"+tagName+">"+brHTMLString+"";var tdString="";for(var i=0;i0;if(isSameRow){if(isColumnIncreases){range.setStart(selectionEnd,0);range.setEnd(selectionStart,1)}else{range.setStart(selectionStart,0);range.setEnd(selectionEnd,1)}}else if(isRowIncreases){range.setStart(selectionStart,0);range.setEnd(selectionEnd,1)}else{range.setStart(selectionEnd,0);range.setEnd(selectionStart,1)}return range}},{key:"getSelectionRangeFromTable",value:function getSelectionRangeFromTable(selectionStart,selectionEnd){var nodeOffsetOfParent=_domUtils2.default.getNodeOffsetOfParent;var startRowOffset=nodeOffsetOfParent(selectionStart.parentNode);var endRowOffset=nodeOffsetOfParent(selectionEnd.parentNode);var startCellOffset=nodeOffsetOfParent(selectionStart);var endCellOffset=nodeOffsetOfParent(selectionEnd);var startCellContainer=_domUtils2.default.getParentUntil(selectionStart,"TABLE");var endCellContainer=_domUtils2.default.getParentUntil(selectionEnd,"TABLE");var isReversedTheadAndTbodySelect=_domUtils2.default.getNodeName(startCellContainer)==="TBODY"&&_domUtils2.default.getNodeName(endCellContainer)==="THEAD";var isTheadAndTbodySelect=startCellContainer!==endCellContainer;var isBothInTbody=!!$(selectionStart).parents("tbody").length&&!!$(selectionEnd).parents("tbody").length;var start={row:startRowOffset,cell:startCellOffset};var end={row:endRowOffset,cell:endCellOffset};var from=void 0,to=void 0;if(isReversedTheadAndTbodySelect){start.row+=1}else if(isTheadAndTbodySelect){end.row+=1}else if(isBothInTbody){start.row+=1;end.row+=1}if(startRowOffset>endRowOffset||startRowOffset===endRowOffset&&startCellOffset>endCellOffset){from=end;to=start}else{from=start;to=end}return{from:from,to:to}}},{key:"highlightTableCellsBy",value:function highlightTableCellsBy(selectionStart,selectionEnd){var trs=$(selectionStart).parents("[contenteditable=true] table").find("tr");var selection=this.getSelectionRangeFromTable(selectionStart,selectionEnd);var rowFrom=selection.from.row;var cellFrom=selection.from.cell;var rowTo=selection.to.row;var cellTo=selection.to.cell;trs.each(function(rowIndex,row){$(row).find("td,th").each(function(cellIndex,cell){var $cell=$(cell);var isFromRow=rowIndex===rowFrom;var isToRow=rowIndex===rowTo;if(isFromRow&&cellIndexcellTo||rowIndexrowTo){$cell.removeClass(TABLE_CELL_SELECTED_CLASS_NAME)}else{$cell.addClass(TABLE_CELL_SELECTED_CLASS_NAME)}})})}},{key:"removeClassAttrbuteFromAllCellsIfNeed",value:function removeClassAttrbuteFromAllCellsIfNeed(){this.wwe.get$Body().find("td."+TABLE_CELL_SELECTED_CLASS_NAME+",th."+TABLE_CELL_SELECTED_CLASS_NAME).each(function(i,node){var $node=$(node);$node.removeClass(TABLE_CELL_SELECTED_CLASS_NAME);if(!$node.attr("class").length){$node.removeAttr("class")}})}},{key:"getSelectedCells",value:function getSelectedCells(){return this.wwe.get$Body().find("."+TABLE_CELL_SELECTED_CLASS_NAME)}},{key:"createRangeBySelectedCells",value:function createRangeBySelectedCells(){var sq=this.wwe.getEditor();var range=sq.getSelection().cloneRange();var selectedCells=this.getSelectedCells();var tableManager=this.wwe.componentManager.getManager("table");var firstSelectedCell=selectedCells.first()[0];var lastSelectedCell=selectedCells.last()[0];if(selectedCells.length&&tableManager.isInTable(range)){range.setStart(firstSelectedCell,0);range.setEnd(lastSelectedCell,lastSelectedCell.childNodes.length);sq.setSelection(range)}}},{key:"styleToSelectedCells",value:function styleToSelectedCells(onStyle){this.createRangeBySelectedCells();onStyle(this.wwe.getEditor())}},{key:"destroy",value:function destroy(){this.eventManager.removeEventHandler("mousedown.tableSelection");this.eventManager.removeEventHandler("mouseover.tableSelection");this.eventManager.removeEventHandler("mouseup.tableSelection");this.eventManager.removeEventHandler("copyBefore.tableSelection");this.eventManager.removeEventHandler("pasteBefore.tableSelection")}}]);return WwTableSelectionManager}();module.exports=WwTableSelectionManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")})}}]);return WwHrManager}();function findTextNodeFilter(){return this.nodeType===Node.TEXT_NODE}module.exports=WwHrManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");$wrapper.html(html);$wrapper.find("p").each(function(pIndex,para){var content=para.innerHTML;var lines=content.split(/
    /gi);var lastIndex=lines.length-1;var nextElement=para.nextElementSibling||para.nextSibling;var splitedContent="";splitedContent=lines.map(function(line,index){var result="";if(index>0&&index"}if(line){result="
    "+line+"
    "}return result});if(nextElement&&nextElement.nodeName==="P"){splitedContent.push("

    ")}$(para).replaceWith($(splitedContent.join("")))});html=$wrapper.html()}return html}},{key:"_ensurePtagContentWrappedWithDiv",value:function _ensurePtagContentWrappedWithDiv(){this.wwe.get$Body().find("p").each(function(index,node){if($(node).find("div").length<=0){$(node).wrapInner("
    ")}if($(node).next().is("p")){$(node).append("

    ")}})}},{key:"_unwrapPtags",value:function _unwrapPtags(){this.wwe.get$Body().find("div").each(function(index,node){if($(node).parent().is("p")){$(node).unwrap()}})}}]);return WwPManager}();module.exports=WwPManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")}})}},{key:"_unwrapHeading",value:function _unwrapHeading(){this.wwe.unwrapBlockTag(function(node){return FIND_HEADING_RX.test(node)})}},{key:"_onEnter",value:function _onEnter(event,range){var _this3=this;if(range.startOffset>0){this.wwe.defer(function(wwe){_this3._unwrapHeading();wwe.getEditor().removeLastUndoStack()})}else{event.preventDefault();this._insertEmptyBlockToPrevious(range)}}},{key:"_insertEmptyBlockToPrevious",value:function _insertEmptyBlockToPrevious(range){this.wwe.getEditor().saveUndoState(range);$("

    ").insertBefore(_domUtils2.default.getParentUntil(range.startContainer,this.wwe.get$Body()[0]))}},{key:"_removePrevTopNodeIfNeed",value:function _removePrevTopNodeIfNeed(event,range){var isHandled=false;if(range.collapsed&&range.startOffset===0){var startContainer=range.startContainer;var prevTopNode=_domUtils2.default.getTopPrevNodeUnder(startContainer,this.wwe.get$Body()[0]);var isPrevTopNodeEmpty=prevTopNode&&prevTopNode.textContent.length===0;var sq=this.wwe.getEditor();if(startContainer.textContent.length===0){isHandled=this._removeHedingAndChangeSelection(event,range,prevTopNode)}else if(isPrevTopNodeEmpty){event.preventDefault();sq.saveUndoState(range);$(prevTopNode).remove();isHandled=true}}return isHandled}},{key:"_removeHedingAndChangeSelection",value:function _removeHedingAndChangeSelection(event,range,prevTopNode){var startContainer=range.startContainer;var sq=this.wwe.getEditor();var $Body=this.wwe.get$Body();var isHeading=FIND_HEADING_RX.test(_domUtils2.default.getNodeName(startContainer));var headingElement=isHeading?startContainer:$(startContainer).parents("h1,h2,h3,h4,h5,h6")[0];var targetNode=prevTopNode;var offset=1;if(!event.defaultPrevented){event.preventDefault();sq.saveUndoState(range)}$(headingElement).remove();if(!prevTopNode){targetNode=$Body.children("div").first()[0];offset=0}range.setStart(targetNode,offset);range.collapse(true);sq.setSelection(range);return true}}]);return WwHeadingManager}();module.exports=WwHeadingManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i":">"};var FIND_ZWS_RX=/\u200B/g;var CODEBLOCK_ATTR_NAME="data-te-codeblock";var WwCodeBlockManager=function(){function WwCodeBlockManager(wwe){_classCallCheck(this,WwCodeBlockManager);this.wwe=wwe;this.eventManager=wwe.eventManager;this.name="codeblock";this._init()}_createClass(WwCodeBlockManager,[{key:"_init",value:function _init(){this._initKeyHandler();this._initEvent()}},{key:"_initKeyHandler",value:function _initKeyHandler(){this.wwe.addKeyEventHandler("BACK_SPACE",this._removeCodeblockIfNeed.bind(this))}},{key:"_initEvent",value:function _initEvent(){var self=this;this.eventManager.listen("wysiwygSetValueAfter",function(){self.splitCodeblockToEachLine()});this.eventManager.listen("wysiwygProcessHTMLText",function(html){return self._mergeCodeblockEachlinesFromHTMLText(html)})}},{key:"prepareToPasteOnCodeblock",value:function prepareToPasteOnCodeblock(nodes){var range=this.wwe.getEditor().getSelection().cloneRange();var frag=this.wwe.getEditor().getDocument().createDocumentFragment();if(nodes.length===1&&this._isCodeBlock(nodes[0])){frag.appendChild(this._copyCodeblockTypeFromRangeCodeblock(nodes.shift(),range))}else{frag.appendChild(this._copyCodeblockTypeFromRangeCodeblock(this.convertToCodeblock(nodes),range))}return frag}},{key:"convertToCodeblock",value:function convertToCodeblock(nodes){var $codeblock=$("
    ");var self=this;var node=nodes.shift();while(util.isTruthy(node)){$codeblock.append(self._makeCodeBlockLineHtml(util.isString(node)?node:node.textContent));node=nodes.shift()}$codeblock.attr(CODEBLOCK_ATTR_NAME,"");return $codeblock[0]}},{key:"_copyCodeblockTypeFromRangeCodeblock",value:function _copyCodeblockTypeFromRangeCodeblock(element,range){var blockNode=_domUtils2.default.getParentUntil(range.commonAncestorContainer,this.wwe.get$Body()[0]);if(_domUtils2.default.getNodeName(blockNode)==="PRE"){var attrs=$(blockNode).prop("attributes");util.forEach(attrs,function(attr){$(element).attr(attr.name,attr.value)})}return element}},{key:"_mergeCodeblockEachlinesFromHTMLText",value:function _mergeCodeblockEachlinesFromHTMLText(html){html=html.replace(/(.*?)<\/pre>/g,function(match,codeAttr,code){code=code.replace(/
    /g,"\n");code=code.replace(/
    /g,"");code=code.replace(/\n$/,"");return"
    "+code+"
    "});return html}},{key:"splitCodeblockToEachLine",value:function splitCodeblockToEachLine(node){var self=this;if(!node){node=this.wwe.get$Body()}$(node).find("pre").each(function(index,pre){var $pre=$(pre);var lang=$pre.find("code").attr("data-language");var textLines=void 0;if($pre.children().length>1){textLines=[];$pre.children().each(function(idx,childNode){if((childNode.nodeName==="DIV"||childNode.nodeName==="P")&&!$(childNode).find("br").length){$(childNode).append("
    ")}})}$pre.find("br").replaceWith("\n");textLines=$pre.text().replace(/\s+$/,"").split(/\n/g);if(lang){$pre.attr("data-language",lang);$pre.addClass("lang-"+lang)}$pre.empty();util.forEach(textLines,function(line){$pre.append(self._makeCodeBlockLineHtml(line))});$pre.attr(CODEBLOCK_ATTR_NAME,"")})}},{key:"_makeCodeBlockLineHtml",value:function _makeCodeBlockLineHtml(lineContent){if(!lineContent){lineContent="
    "}else{lineContent=sanitizeHtmlCode(lineContent)}return"
    "+lineContent+"
    "}},{key:"_removeCodeblockIfNeed",value:function _removeCodeblockIfNeed(ev,range){var self=this;if(!this.isInCodeBlock(range)){return true}var pre=$(range.startContainer).closest("pre");var $div=$(pre).find("div").eq(0);var codeContent=$div.text().replace(FIND_ZWS_RX,"");if((range.startOffset===0||codeContent.length===0)&&$(pre).find("div").length<=1){this.wwe.getEditor().modifyBlocks(function(){var newFrag=self.wwe.getEditor().getDocument().createDocumentFragment();var content=void 0;if(codeContent.length===0){content="
    "}else{content=$div.html().replace(FIND_ZWS_RX,"")}$(newFrag).append($("
    "+content+"
    "));return newFrag});return false}return true}},{key:"isInCodeBlock",value:function isInCodeBlock(range){var target=void 0;if(range.collapsed){target=range.startContainer}else{target=range.commonAncestorContainer}return this._isCodeBlock(target)}},{key:"_isCodeBlock",value:function _isCodeBlock(element){return!!$(element).closest("pre").length}}]);return WwCodeBlockManager}();function sanitizeHtmlCode(code){return code.replace(/[<>&]/g,function(tag){return tagEntities[tag]||tag})}module.exports=WwCodeBlockManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1){throw new Error("too many"+eventName+"handlers in squire")}var handler=handlers[0].bind(this);handlers[0]=function(event){if(!event.defaultPrevented&&!event.squirePrevented){handler(event)}}}},{key:"changeBlockFormat",value:function changeBlockFormat(srcCondition,targetTagName){var _this2=this;this.modifyBlocks(function(frag){var current=void 0,newFrag=void 0,newBlock=void 0,nextBlock=void 0,tagName=void 0,lastNodeOfNextBlock=void 0,appendChidToNextBlock=void 0;if(frag.childNodes.length){current=frag.childNodes[0]}else{current=_this2.createDefaultBlock();frag.appendChild(current)}if(srcCondition){while(current.firstChild){current=current.firstChild}appendChidToNextBlock=function appendChidToNextBlock(node){nextBlock.appendChild(node)};while(current!==frag){tagName=current.tagName;if(util.isFunction(srcCondition)?srcCondition(tagName):tagName===srcCondition){nextBlock=current.childNodes[0];if(!_domUtils2.default.isElemNode(nextBlock)||current.childNodes.length>1){nextBlock=_this2.createDefaultBlock();util.forEachArray(util.toArray(current.childNodes),appendChidToNextBlock);lastNodeOfNextBlock=nextBlock.lastChild;if(lastNodeOfNextBlock&&_domUtils2.default.getNodeName(lastNodeOfNextBlock)==="BR"){nextBlock.removeChild(lastNodeOfNextBlock)}}if(targetTagName){newBlock=_this2.createElement(targetTagName,[nextBlock])}else{newBlock=nextBlock}newFrag=_this2.getDocument().createDocumentFragment();newFrag.appendChild(newBlock);frag=newFrag;break}current=current.parentNode}}if((!newFrag||!srcCondition)&&targetTagName&&_domUtils2.default.getNodeName(frag.childNodes[0])==="DIV"){frag=_this2.createElement(targetTagName,[frag.childNodes[0]])}return frag})}},{key:"changeBlockFormatTo",value:function changeBlockFormatTo(targetTagName){this.changeBlockFormat(function(tagName){return FIND_BLOCK_TAGNAME_RX.test(tagName)},targetTagName)}},{key:"getCaretPosition",value:function getCaretPosition(){return this.getCursorPosition()}},{key:"replaceSelection", +value:function replaceSelection(content,selection){if(selection){this.setSelection(selection)}this._ignoreChange=true;this.insertHTML(content)}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){var selection=this.getSelection().cloneRange();this._replaceRelativeOffsetOfSelection(content,offset,overwriteLength,selection)}},{key:"_replaceRelativeOffsetOfSelection",value:function _replaceRelativeOffsetOfSelection(content,offset,overwriteLength,selection){var startSelectionInfo=void 0,endSelectionInfo=void 0,finalOffset=void 0;var endOffsetNode=selection.endContainer;var endTextOffset=selection.endOffset;if(_domUtils2.default.getNodeName(endOffsetNode)!=="TEXT"){endOffsetNode=this._getClosestTextNode(endOffsetNode,endTextOffset);if(endOffsetNode){if(_domUtils2.default.isTextNode(endOffsetNode)){endTextOffset=endOffsetNode.nodeValue.length}else{endTextOffset=endOffsetNode.textContent.length}}}if(endOffsetNode){startSelectionInfo=this.getSelectionInfoByOffset(endOffsetNode,endTextOffset+offset);selection.setStart(startSelectionInfo.element,startSelectionInfo.offset);finalOffset=endTextOffset+(offset+overwriteLength);endSelectionInfo=this.getSelectionInfoByOffset(endOffsetNode,finalOffset);selection.setEnd(endSelectionInfo.element,endSelectionInfo.offset);this.replaceSelection(content,selection)}else{this.replaceSelection(content)}}},{key:"_getClosestTextNode",value:function _getClosestTextNode(node,offset){var foundNode=_domUtils2.default.getChildNodeByOffset(node,offset-1);if(_domUtils2.default.getNodeName(foundNode)!=="TEXT"){foundNode=foundNode.previousSibling}return foundNode}},{key:"getSelectionInfoByOffset",value:function getSelectionInfoByOffset(anchorElement,offset){var traceElement=void 0,traceElementLength=void 0,traceOffset=void 0,stepLength=void 0;var direction=offset>=0?"next":"previous";var offsetAbs=Math.abs(offset);var latestAvailableElement=traceElement;if(direction==="next"){traceElement=anchorElement}else{traceElement=anchorElement.previousSibling}traceOffset=offsetAbs;stepLength=0;while(traceElement){if(_domUtils2.default.isTextNode(traceElement)){traceElementLength=traceElement.nodeValue.length}else{traceElementLength=traceElement.textContent.length}stepLength+=traceElementLength;if(offsetAbs<=stepLength){break}traceOffset-=traceElementLength;if(_domUtils2.default.getTextLength(traceElement)>0){latestAvailableElement=traceElement}traceElement=traceElement[direction+"Sibling"]}if(!traceElement){traceElement=latestAvailableElement;traceOffset=_domUtils2.default.getTextLength(traceElement)}if(direction==="previous"){traceOffset=_domUtils2.default.getTextLength(traceElement)-traceOffset}return{element:traceElement,offset:traceOffset}}},{key:"getSelectionPosition",value:function getSelectionPosition(selection,style,offset){var marker=this.createElement("INPUT");var range=selection.cloneRange();var endSelectionInfo=this.getSelectionInfoByOffset(selection.endContainer,selection.endOffset+(offset||0));range.setStart(range.startContainer,range.startOffset);range.setEnd(endSelectionInfo.element,endSelectionInfo.offset);this._ignoreChange=true;this.insertElement(marker,range);var pos=$(marker).offset();if(style!=="over"){pos.top+=$(marker).outerHeight()}marker.parentNode.removeChild(marker);selection.setStart(selection.endContainer,selection.endOffset);selection.collapse(true);this.setSelection(selection);return pos}},{key:"removeLastUndoStack",value:function removeLastUndoStack(){if(this._undoStack.length){this._undoStackLength-=1;this._undoIndex-=1;this._undoStack.pop();this._isInUndoState=false}}},{key:"replaceParent",value:function replaceParent(node,from,to){var target=$(node).closest(from);if(target.length){target.wrapInner("<"+to+"/>");target.children().unwrap()}}},{key:"preserveLastLine",value:function preserveLastLine(){var lastBlock=this.get$Body().children().last();if(_domUtils2.default.getNodeName(lastBlock[0])!=="DIV"){this._ignoreChange=true;$(this.createDefaultBlock()).insertAfter(lastBlock)}}},{key:"scrollTop",value:function scrollTop(top){if(util.isUndefined(top)){return this.get$Body().scrollTop()}return this.get$Body().scrollTop(top)}},{key:"isIgnoreChange",value:function isIgnoreChange(){return this._ignoreChange}},{key:"focus",value:function focus(){var scrollTop=this.scrollTop();Squire.prototype.focus.call(this);if(scrollTop!==this.scrollTop()){this.scrollTop(scrollTop)}return this}},{key:"blockCommandShortcuts",value:function blockCommandShortcuts(){var _this3=this;var isMac=/Mac/.test(navigator.platform);var meta=isMac?"meta":"ctrl";var keys=["b","i","u","shift-7","shift-5","shift-6","shift-8","shift-9","[","]"];keys.forEach(function(key){_this3.setKeyHandler(meta+"-"+key,function(editor,keyboardEvent){keyboardEvent.preventDefault()})})}}]);return SquireExt}(Squire);module.exports=SquireExt},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0){range.setStart(range.startContainer,range.startOffset-1)}}},{key:"expandEndOffset",value:function expandEndOffset(){var range=this._range;if(_domUtils2.default.isTextNode(range.endContainer)&&range.endOffset','
    ','
    ','
    ','
    ',"
    ",'
    ','
    ',"
    ","
    "].join("");var Layout=function(){function Layout(options,eventManager){_classCallCheck(this,Layout);this.$el=$(options.el);this.height=options.height;this.type=options.initialEditType;this.eventManager=eventManager;this.init();this._initEvent()}_createClass(Layout,[{key:"init",value:function init(){this._renderLayout();this._initMarkdownAndPreviewSection();this._initWysiwygSection()}},{key:"_initEvent",value:function _initEvent(){this.eventManager.listen("hide",this.hide.bind(this));this.eventManager.listen("show",this.show.bind(this))}},{key:"_renderLayout",value:function _renderLayout(){this.$containerEl=$(containerTmpl).appendTo(this.$el)}},{key:"switchToWYSIWYG",value:function switchToWYSIWYG(){this.$containerEl.removeClass("te-md-mode");this.$containerEl.addClass("te-ww-mode")}},{key:"switchToMarkdown",value:function switchToMarkdown(){this.$containerEl.removeClass("te-ww-mode");this.$containerEl.addClass("te-md-mode")}},{key:"_initMarkdownAndPreviewSection",value:function _initMarkdownAndPreviewSection(){this.$mdEditorContainerEl=this.$containerEl.find(".te-md-container .te-editor");this.$previewEl=this.$containerEl.find(".te-md-container .te-preview")}},{key:"_initWysiwygSection",value:function _initWysiwygSection(){this.$wwEditorContainerEl=this.$containerEl.find(".te-ww-container .te-editor")}},{key:"_verticalSplitStyle",value:function _verticalSplitStyle(){this.$containerEl.find(".te-md-container").removeClass("te-preview-style-tab");this.$containerEl.find(".te-md-container").addClass("te-preview-style-vertical")}},{key:"_tabStyle",value:function _tabStyle(){this.$containerEl.find(".te-md-container").removeClass("te-preview-style-vertical");this.$containerEl.find(".te-md-container").addClass("te-preview-style-tab")}},{key:"changePreviewStyle",value:function changePreviewStyle(style){if(style==="tab"){this._tabStyle()}else if(style==="vertical"){this._verticalSplitStyle()}}},{key:"hide",value:function hide(){this.$el.find(".tui-editor").addClass("te-hide")}},{key:"show",value:function show(){this.$el.find(".tui-editor").removeClass("te-hide")}},{key:"remove",value:function remove(){this.$el.find(".tui-editor").remove()}},{key:"getEditorEl",value:function getEditorEl(){return this.$containerEl}},{key:"getPreviewEl",value:function getPreviewEl(){return this.$previewEl}},{key:"getMdEditorContainerEl",value:function getMdEditorContainerEl(){return this.$mdEditorContainerEl}},{key:"getWwEditorContainerEl",value:function getWwEditorContainerEl(){return this.$wwEditorContainerEl}}]);return Layout}();module.exports=Layout},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,CommandManager);this._command=new util.Map;this._mdCommand=new util.Map;this._wwCommand=new util.Map;this._options=$.extend({useCommandShortcut:true},options);this.base=base;this.keyMapCommand={};this._initEvent()}_createClass(CommandManager,[{key:"_addCommandBefore",value:function _addCommandBefore(command){var commandWrapper={command:command};this.base.eventManager.emit("addCommandBefore",commandWrapper);return commandWrapper.command||command}},{key:"addCommand",value:function addCommand(command){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}if(args.length){command=CommandManager.command.apply(CommandManager,[command].concat(args))}command=this._addCommandBefore(command);var name=command.getName();var commandBase=void 0;if(command.isMDType()){commandBase=this._mdCommand}else if(command.isWWType()){commandBase=this._wwCommand}else if(command.isGlobalType()){commandBase=this._command}commandBase.set(name,command);if(command.keyMap){this.keyMapCommand[command.keyMap[KEYMAP_OS_INDEX]]=name}return command}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.base.eventManager.listen("command",function(){_this.exec.apply(_this,arguments)});this.base.eventManager.listen("keyMap",function(ev){if(!_this._options.useCommandShortcut){return}var command=_this.keyMapCommand[ev.keyMap];if(command){ev.data.preventDefault();_this.exec(command)}})}},{key:"exec",value:function exec(name){var commandToRun=void 0,result=void 0;var context=this.base;commandToRun=this._command.get(name);if(!commandToRun){if(this.base.isMarkdownMode()){commandToRun=this._mdCommand.get(name);context=this.base.mdEditor}else{commandToRun=this._wwCommand.get(name);context=this.base.wwEditor}}if(commandToRun){var _commandToRun;for(var _len2=arguments.length,args=Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2]}args.unshift(context);result=(_commandToRun=commandToRun).exec.apply(_commandToRun,args)}return result}}]);return CommandManager}();CommandManager.command=function(type,props){var command=_command2.default.factory(type,props.name,props.keyMap);util.extend(command,props);return command};module.exports=CommandManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:decodeURI;var decodedURI=void 0;try{decodedURI=decodeFunction(uri);decodedURI=decodedURI.replace(/ /g,"%20").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\[/g,"%5B").replace(/\]/g,"%5D").replace(//g,"%3E")}catch(e){decodedURI=uri}return decodedURI}}]);return ImportManager}();module.exports=ImportManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i/gi,"
    ");var onerrorStripeRegex=/(]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;while(onerrorStripeRegex.exec(markdown)){markdown=markdown.replace(onerrorStripeRegex,"$1$3")}var renderedHTML=markdownitHighlight.render(markdown);renderedHTML=this._removeBrToMarkPassAttributeInCode(renderedHTML);return renderedHTML}},{key:"_markdownToHtml",value:function _markdownToHtml(markdown){markdown=markdown.replace(/
    /gi,"
    ");var onerrorStripeRegex=/(]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;while(onerrorStripeRegex.exec(markdown)){markdown=markdown.replace(onerrorStripeRegex,"$1$3")}var renderedHTML=markdownit.render(markdown);renderedHTML=this._removeBrToMarkPassAttributeInCode(renderedHTML);return renderedHTML}},{key:"_removeBrToMarkPassAttributeInCode",value:function _removeBrToMarkPassAttributeInCode(renderedHTML){var $wrapperDiv=$("
    ");$wrapperDiv.html(renderedHTML);$wrapperDiv.find("code, pre").each(function(i,codeOrPre){var $code=$(codeOrPre);$code.html($code.html().replace(/<br data-tomark-pass>/,"<br>"))});renderedHTML=$wrapperDiv.html();return renderedHTML}},{key:"toHTMLWithCodeHightlight",value:function toHTMLWithCodeHightlight(markdown){var html=this._markdownToHtmlWithCodeHighlight(markdown);html=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",html);return html}},{key:"toHTML",value:function toHTML(markdown){var html=this._markdownToHtml(markdown);html=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",html);return html}},{key:"initHtmlSanitizer",value:function initHtmlSanitizer(){this.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){return(0,_htmlSanitizer2.default)(html,true)})}},{key:"toMarkdown",value:function toMarkdown(html,toMarkOptions){var resultArray=[];html=this.eventManager.emitReduce("convertorBeforeHtmlToMarkdownConverted",html);var markdown=toMark(this._appendAttributeForBrIfNeed(html),toMarkOptions);markdown=this.eventManager.emitReduce("convertorAfterHtmlToMarkdownConverted",markdown);tui.util.forEach(markdown.split("\n"),function(line,index){var FIND_TABLE_RX=/^\|[^|]*\|/gi;var FIND_CODE_RX=/`[^`]*
    [^`]*`/gi;if(!FIND_CODE_RX.test(line)&&!FIND_TABLE_RX.test(line)){line=line.replace(/
    /gi,"
    \n")}resultArray[index]=line});return resultArray.join("\n")}},{key:"_appendAttributeForBrIfNeed",value:function _appendAttributeForBrIfNeed(html){var FIND_BR_RX=/
    /gi;var FIND_DOUBLE_BR_RX=/

    /gi +;var FIND_PASSING_AND_NORMAL_BR_RX=/

    (.)/gi;var FIRST_TWO_BRS_BEFORE_RX=/([^>]|<\/b>|<\/i>|<\/s>|]*>)/;var TWO_BRS_RX=/

    /;var FIND_FIRST_TWO_BRS_RX=new RegExp(FIRST_TWO_BRS_BEFORE_RX.source+TWO_BRS_RX.source,"g");html=html.replace(FIND_BR_RX,"
    ");html=html.replace(FIND_DOUBLE_BR_RX,"

    ");var div=document.createElement("div");var $div=$(div);$div.html(html);$div.find("pre br,code br").each(function(index,node){if(node.hasAttribute("data-tomark-pass")){node.removeAttribute("data-tomark-pass")}});html=$div.html().replace(/
    /gi,"
    ");html=html.replace(FIND_BR_RX,"
    ");html=html.replace(FIND_PASSING_AND_NORMAL_BR_RX,"

    $1");html=html.replace(FIND_FIRST_TWO_BRS_RX,"$1

    ");return html}}],[{key:"factory",value:function factory(eventManager){return new Convertor(eventManager)}},{key:"getMarkdownHighlightRenderer",value:function getMarkdownHighlightRenderer(){return markdownitHighlight}}]);return Convertor}();module.exports=Convertor},function(module,exports){"use strict";var MarkdownitTaskRenderer=function MarkdownitTaskRenderer(markdownit){markdownit.core.ruler.after("inline","tui-task-list",function(state){var TASK_LIST_ITEM_CLASS_NAME="task-list-item";var CHECKED_CLASS_NAME="checked";var tokens=state.tokens;var className;var tokenIndex;for(tokenIndex=2;tokenIndex/g,">").replace(/"/g,""").replace(/'/g,"'")}module.exports=MarkdownitCodeBlockRenderer},function(module,exports){"use strict";module.exports=function code(state,startLine,endLine){var FIND_LIST_RX=/ {0,3}(?:-|\*|\d\.) /;var lines=state.src.split("\n");var currentLine=lines[startLine];var nextLine,last,token,emptyLines=0;if(currentLine.match(FIND_LIST_RX)||state.sCount[startLine]-state.blkIndent<4){return false}last=nextLine=startLine+1;while(nextLine=2&&state.parentType==="list"){break}nextLine++;continue}emptyLines=0;if(state.sCount[nextLine]-state.blkIndent>=4){nextLine++;last=nextLine;continue}break}state.line=last;token=state.push("code_block","code",0);token.content=state.getLines(startLine,last,4+state.blkIndent,true);token.map=[startLine,state.line];return true}},function(module,exports){"use strict";module.exports=function blockquote(state,startLine,endLine,silent){var FIND_LIST_RX=/(?:-|\*|\d+\.) {1,4}(?:> {0,3})[^>]*$/;var sourceLines=state.src.split("\n");var currentLine=sourceLines[startLine];var nextLine,lastLineEmpty,oldTShift,oldSCount,oldBMarks,oldIndent,oldParentType,lines,initial,offset,ch,terminatorRules,token,i,l,terminate,pos=state.bMarks[startLine]+state.tShift[startLine],max=state.eMarks[startLine];if(currentLine.match(FIND_LIST_RX)||state.src.charCodeAt(pos++)!==62){return false}if(silent){return true}if(state.src.charCodeAt(pos)===32){pos++}oldIndent=state.blkIndent;state.blkIndent=0;initial=offset=state.sCount[startLine]+pos-(state.bMarks[startLine]+state.tShift[startLine]);oldBMarks=[state.bMarks[startLine]];state.bMarks[startLine]=pos;while(pos=max;oldSCount=[state.sCount[startLine]];state.sCount[startLine]=offset-initial;oldTShift=[state.tShift[startLine]];state.tShift[startLine]=pos-state.bMarks[startLine];terminatorRules=state.md.block.ruler.getRules("blockquote");for(nextLine=startLine+1;nextLine=max){break}if(state.src.charCodeAt(pos++)===62){if(state.src.charCodeAt(pos)===32){pos++}initial=offset=state.sCount[nextLine]+pos-(state.bMarks[nextLine]+state.tShift[nextLine]);oldBMarks.push(state.bMarks[nextLine]);state.bMarks[nextLine]=pos;while(pos=max;oldSCount.push(state.sCount[nextLine]);state.sCount[nextLine]=offset-initial;oldTShift.push(state.tShift[nextLine]);state.tShift[nextLine]=pos-state.bMarks[nextLine];continue}if(lastLineEmpty){break}terminate=false;for(i=0,l=terminatorRules.length;i";token.map=lines=[startLine,0];state.md.block.tokenize(state,startLine,nextLine);token=state.push("blockquote_close","blockquote",-1);token.markup=">";state.parentType=oldParentType;lines[1]=state.line;for(i=0;iendLine){return false}nextLine=startLine+1;if(state.sCount[nextLine]=state.eMarks[nextLine]){return false}ch=state.src.charCodeAt(pos);if(ch!==124&&ch!==45&&ch!==58){return false}lineText=getLine(state,startLine+1);if(!/^[-:| ]+$/.test(lineText)){return false}columns=lineText.split("|");aligns=[];for(i=0;ialignCount){return false}else if(columnCount|$))/i,/<\/(script|pre|style)>/i,true],[/^/,true],[/^<\?/,/\?>/,true],[/^/,true],[/^/,true],[new RegExp("^<("+voidTagNames.join("|")+")","i"),/^\/?>$/,true],[new RegExp("^|$))","i"),/^$/,true],[/^(?:<[A-Za-z][A-Za-z0-9\-]*(?:\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\s*=\s*(?:[^"'=<>`\x00-\x20]+|'[^']*'|"[^"]*"))?)*\s*\/?>|<\/[A-Za-z][A-Za-z0-9\-]*\s*>)\s*$/,/^$/,false]];module.exports=function html_block(state,startLine,endLine,silent){var i,nextLine,token,lineText,pos=state.bMarks[startLine]+state.tShift[startLine],max=state.eMarks[startLine];if(!state.md.options.html){return false}if(state.src.charCodeAt(pos)!==60){return false}lineText=state.src.slice(pos,max);for(i=0;i18;if(ev.target.hasAttribute(TASK_ATTR_NAME)&&!isBeneathTaskBox){$(ev.target).toggleClass(TASK_CHECKED_CLASS_NAME);this.eventManager.emit("change",{source:"viewOnly",data:ev})}}},{key:"setMarkdown",value:function setMarkdown(markdown){this.markdownValue=markdown=markdown||"";this.preview.refresh(this.markdownValue);this.eventManager.emit("setMarkdownAfter",this.markdownValue)}},{key:"setValue",value:function setValue(markdown){this.setMarkdown(markdown)}},{key:"on",value:function on(type,handler){this.eventManager.listen(type,handler)}},{key:"off",value:function off(type){this.eventManager.removeEventHandler(type)}},{key:"remove",value:function remove(){this.eventManager.emit("removeEditor");this.preview.$el.off("mousedown",$.proxy(this._toggleTask,this));this.options=null;this.eventManager=null;this.commandManager=null;this.convertor=null;this.preview=null}},{key:"addHook",value:function addHook(type,handler){this.eventManager.removeEventHandler(type);this.eventManager.listen(type,handler)}},{key:"isViewOnly",value:function isViewOnly(){return true}},{key:"isMarkdownMode",value:function isMarkdownMode(){return false}},{key:"isWysiwygMode",value:function isWysiwygMode(){return false}}]);return ToastUIEditorViewOnly}();module.exports=ToastUIEditorViewOnly},function(module,exports,__webpack_require__){"use strict";var _toolbar=__webpack_require__(41);var _toolbar2=_interopRequireDefault(_toolbar);var _tab=__webpack_require__(45);var _tab2=_interopRequireDefault(_tab);var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _modeSwitch=__webpack_require__(48);var _modeSwitch2=_interopRequireDefault(_modeSwitch);var _popupAddLink=__webpack_require__(49);var _popupAddLink2=_interopRequireDefault(_popupAddLink);var _popupAddImage=__webpack_require__(50);var _popupAddImage2=_interopRequireDefault(_popupAddImage);var _popupTableUtils=__webpack_require__(51);var _popupTableUtils2=_interopRequireDefault(_popupTableUtils);var _popupAddTable=__webpack_require__(52);var _popupAddTable2=_interopRequireDefault(_popupAddTable);var _popupAddHeading=__webpack_require__(53);var _popupAddHeading2=_interopRequireDefault(_popupAddHeading);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var containerTmpl=['
    ','
    ','
    ','
    ','
    ',"
    "].join("");function DefaultUI(editor){this.name="default";this.type=editor.options.initialEditType;this.editor=editor;this.init(editor.options.el);this._initEvent()}DefaultUI.prototype.init=function($container){this._renderLayout($container);this._initEditorSection();this._initToolbar();this._initModeSwitch();this._initPopupAddLink();this._initPopupAddImage();this._initPopupAddTable();this._initPopupAddHeading();this._initPopupTableUtils();this._initMarkdownTab()};DefaultUI.prototype._initEditorSection=function(){this.$el.find(".te-editor-section").append(this.editor.layout.getEditorEl())};DefaultUI.prototype._initEvent=function(){var self=this;this.editor.eventManager.listen("hide",this.hide.bind(this));this.editor.eventManager.listen("show",this.show.bind(this));this.editor.eventManager.listen("changeMode",function(){self.markdownTabControl()});this.editor.eventManager.listen("changePreviewStyle",function(){self.markdownTabControl()})};DefaultUI.prototype._renderLayout=function($container){this.$el=$(containerTmpl).appendTo($container)};DefaultUI.prototype._initToolbar=function(){this.toolbar=new _toolbar2.default(this.editor.eventManager);this.$el.find(".te-toolbar-section").append(this.toolbar.$el)};DefaultUI.prototype._initModeSwitch=function(){var self=this;this.modeSwitch=new _modeSwitch2.default(this.type==="markdown"?_modeSwitch2.default.TYPE.MARKDOWN:_modeSwitch2.default.TYPE.WYSIWYG);this.$el.find(".te-mode-switch-section").append(this.modeSwitch.$el);this.modeSwitch.on("modeSwitched",function(ev,type){self.editor.changeMode(type)})};DefaultUI.prototype.markdownTabControl=function(){if(this.editor.isMarkdownMode()&&this.editor.getCurrentPreviewStyle()==="tab"){this.$el.find(".te-markdown-tab-section").show();this.markdownTab.activate("Editor")}else{this.$el.find(".te-markdown-tab-section").hide()}};DefaultUI.prototype._initMarkdownTab=function(){var editor=this.editor;this.markdownTab=new _tab2.default({items:["Editor","Preview"],sections:[editor.layout.getMdEditorContainerEl(),editor.layout.getPreviewEl()]});this.$el.find(".te-markdown-tab-section").append(this.markdownTab.$el);this.markdownTab.on("itemClick",function(ev,itemText){if(itemText==="Preview"){editor.eventManager.emit("previewNeedsRefresh")}else{editor.getCodeMirror().focus()}})};DefaultUI.prototype._initPopupAddLink=function(){this.popupAddLink=new _popupAddLink2.default({$target:this.$el,editor:this.editor})};DefaultUI.prototype._initPopupAddImage=function(){this.popupAddImage=new _popupAddImage2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype._initPopupAddTable=function(){this.popupAddTable=new _popupAddTable2.default({$target:this.$el,eventManager:this.editor.eventManager,$button:this.$el.find("button.tui-table"),css:{position:"absolute"}})};DefaultUI.prototype._initPopupAddHeading=function(){this.popupAddHeading=new _popupAddHeading2.default({$target:this.$el,eventManager:this.editor.eventManager,$button:this.$el.find("button.tui-heading"),css:{position:"absolute"}})};DefaultUI.prototype._initPopupTableUtils=function(){var self=this;this.editor.eventManager.listen("contextmenu",function(ev){if($(ev.data.target).parents("[contenteditable=true] table").length>0){ev.data.preventDefault();self.editor.eventManager.emit("openPopupTableUtils",ev.data)}});this.popupTableUtils=new _popupTableUtils2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype.hide=function(){this.$el.addClass("te-hide")};DefaultUI.prototype.show=function(){this.$el.removeClass("te-hide")};DefaultUI.prototype.remove=function(){this.$el.remove()};DefaultUI.prototype.createPopup=function(options){return _layerpopup2.default.factory(options)};module.exports=DefaultUI},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(42);var _uicontroller2=_interopRequireDefault(_uicontroller);var _button=__webpack_require__(43);var _button2=_interopRequireDefault(_button);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function Toolbar(eventManager){_uicontroller2.default.call(this,{tagName:"div",className:"tui-editor-defaultUI-toolbar"});this.buttons=[];this.eventManager=eventManager;this.render();this._initButton()}Toolbar.prototype=util.extend({},_uicontroller2.default.prototype);Toolbar.prototype.render=function(){this.$buttonContainer=this.$el};Toolbar.prototype.addButton=function(buttons,index){var _this=this;var TOOLBAR_GROUP_CLASS_NAME="tui-toolbar-button-group";var $buttonWrap=$('
    ');if(util.isArray(buttons)){util.forEach(buttons,function(button){$buttonWrap.append(_this._setButton(button).$el)})}else{$buttonWrap.append(this._setButton(buttons).$el)}if(index){this.$buttonContainer.find("."+TOOLBAR_GROUP_CLASS_NAME).eq(index-1).after($buttonWrap)}else{this.$buttonContainer.append($buttonWrap)}};Toolbar.prototype._setButton=function(button){var ev=this.eventManager;if(!button.render){button=new _button2.default(button)}button.on("command",function emitCommandEvent($,commandName){ev.emit("command",commandName)});button.on("event",function emitEventByCommand($,eventName){ev.emit(eventName)});this.buttons.push(button);return button};Toolbar.prototype._initButton=function(){var _this2=this;this.addButton(new _button2.default({className:"tui-heading",event:"openHeadingSelect",tooltip:_i18n2.default.get("Headings")}));this.addButton([new _button2.default({className:"tui-bold",command:"Bold",tooltip:_i18n2.default.get("Bold"),state:"bold"}),new _button2.default({className:"tui-italic",command:"Italic",tooltip:_i18n2.default.get("Italic"),state:"italic"}),new _button2.default({className:"tui-strike",command:"Strike",text:"~",tooltip:_i18n2.default.get("Strike"),state:"strike"})]);this.addButton([new _button2.default({className:"tui-ul",command:"UL",tooltip:_i18n2.default.get("Unordered list")}),new _button2.default({className:"tui-ol",command:"OL",tooltip:_i18n2.default.get("Ordered list")}),new _button2.default({className:"tui-task",command:"Task",tooltip:_i18n2.default.get("Task")})]);this.addButton([new _button2.default({className:"tui-hrline",command:"HR",tooltip:_i18n2.default.get("Line")}),new _button2.default({className:"tui-table",event:"openPopupAddTable",tooltip:_i18n2.default.get("Insert table")})]);this.addButton([new _button2.default({className:"tui-image",event:"openPopupAddImage",tooltip:_i18n2.default.get("Insert image")}),new _button2.default({className:"tui-link",event:"openPopupAddLink",tooltip:_i18n2.default.get("Insert link")})]);this.addButton(new _button2.default({className:"tui-quote",command:"Blockquote",tooltip:_i18n2.default.get("Blockquote"),state:"quote"}));this.addButton([new _button2.default({className:"tui-codeblock",command:"CodeBlock",text:"CB",tooltip:_i18n2.default.get("Insert codeblock"),state:"codeBlock"}),new _button2.default({className:"tui-code",command:"Code",tooltip:_i18n2.default.get("Code"),state:"code"})]);this.eventManager.listen("stateChange",function(ev){util.forEach(_this2.buttons,function(button){if(button.state){if(ev[button.state]){button.$el.addClass("active")}else{button.$el.removeClass("active")}}})})};module.exports=Toolbar},function(module,exports){"use strict";var util=tui.util;var _id=0;function UIController(options){options=util.extend({tagName:"div"},options||{});this.tagName=options.tagName;this.className=options.className;this.$el=null;this._initID();this.setRootElement(options.rootElement)}UIController.prototype.on=function(aType,aFn){var self=this;if(util.isObject(aType)){util.forEach(aType,function(fn,type){self._addEvent(type,fn)})}else{this._addEvent(aType,aFn)}};UIController.prototype._addEvent=function(type,fn){var parsedType=this._parseEventType(type),event=parsedType[0],selector=parsedType[1];if(selector){this.$el.on(event,selector,fn)}else{this.$el.on(event,fn)}};UIController.prototype.off=function(type,fn){if(type){var parsedType=this._parseEventType(type);var event=parsedType[0];var selector=parsedType[1];if(selector){this.$el.off(event,selector,fn)}else{this.$el.off(event,fn)}}else{this.$el.off()}};UIController.prototype._parseEventType=function(type){var splitType=type.split(" "),event=splitType.shift(),selector=splitType.join(" ");return[event,selector]};UIController.prototype.attachEvents=function(events){var self=this;var eventlist=events||this.events;var handler=void 0;if(eventlist){util.forEach(eventlist,function(handlerName,type){if(self[handlerName]){type=self.getEventNameWithNamespace(type);handler=util.bind(self[handlerName],self);self.on(type,handler)}else{throw new Error("UIController#attachEvents: "+handlerName+"란 메서드가 없습니다.")}})}};UIController.prototype.detachEvents=function(){this.$el.off(".uicEvent"+this.id)};UIController.prototype.setRootElement=function($el){var className=this.className;var tagName=this.tagName;if(!$el){className=className||"uic"+this.id;$el=$("<"+tagName+' class="'+className+'"/>')}this.$el=$el};UIController.prototype.trigger=function(){var _$el;(_$el=this.$el).trigger.apply(_$el,arguments)};UIController.prototype._initID=function(){this.id=_id;_id+=1};UIController.prototype.getEventNameWithNamespace=function(event){var eventSplited=event.split(" ");eventSplited[0]+=".uicEvent"+this.id;return eventSplited.join(" ")};UIController.prototype.addUIC=function(uic,targetSEL){if(targetSEL){this.$el.find(targetSEL).append(uic.$el)}else{this.$el.append(uic.$el)}};UIController.prototype.remove=function(){this.detachEvents();this.$el.remove()};UIController.prototype.destroy=function(){var self=this;this.remove();this.detachEvents();util.forEachOwnProperties(this,function(value,key){self[key]=null})};UIController.extend=function(props){var newUIC=util.defineClass(this,props);newUIC.extend=UIController.extend;return newUIC};module.exports=UIController},function(module,exports,__webpack_require__){"use strict";var UIController=__webpack_require__(42);var Tooltip=__webpack_require__(44);var util=tui.util;var tooltip=new Tooltip;function Button(options){UIController.call(this,{tagName:"button",className:options.className+" tui-toolbar-icons",rootElement:options.$el});this._setOptions(options);this.render();this.attachEvents({click:"_onClick"});if(options.tooltip){this.attachEvents({mouseover:"_onOver",mouseout:"_onOut"})}}Button.prototype=util.extend({},UIController.prototype);Button.prototype._setOptions=function(options){this.command=options.command;this.event=options.event;this.text=options.text;this.tooltip=options.tooltip;this.style=options.style;this.state=options.state};Button.prototype.render=function(){this.$el.text(this.text);this.$el.attr("type","button");if(this.style){this.$el.attr("style",this.style)}};Button.prototype._onClick=function(){if(this.command){this.trigger("command",this.command)}else{this.trigger("event",this.event)}this.trigger("clicked")};Button.prototype._onOver=function(){tooltip.show(this.$el,this.tooltip)};Button.prototype._onOut=function(){tooltip.hide()};module.exports=Button},function(module,exports){"use strict";var TOOLTIP_CONTENT='
    ';function Tooltip(){this.$el=$(TOOLTIP_CONTENT);this.$el.appendTo("body");this.$el.hide()}Tooltip.prototype.show=function(target,text){this.$el.css({top:target.offset().top+target.height()+13,left:target.offset().left+3}).find(".text").html(text).end().show()};Tooltip.prototype.hide=function(){this.$el.hide()};module.exports=Tooltip},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(42);var _uicontroller2=_interopRequireDefault(_uicontroller);var _templater=__webpack_require__(46);var _templater2=_interopRequireDefault(_templater);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var buttonTmpl='';function Tab(options){_uicontroller2.default.call(this,{tagName:"div",className:"te-tab"});options=util.extend({},options);this.items=options.items;this.sections=options.sections;this._$activeButton=null;this.render();this._initItemClickEvent(options.onItemClick);this._applyInitName(options.initName)}Tab.prototype=util.extend({},_uicontroller2.default.prototype);Tab.prototype.render=function(){var buttonHtml=(0,_templater2.default)(buttonTmpl,this._getButtonData());this.$el.html(buttonHtml);this.attachEvents({"click button":"_onButtonClick"})};Tab.prototype._applyInitName=function(initName){if(initName){this.activate(initName)}};Tab.prototype._getButtonData=function(){var buttonData=[];for(var i=0,len=this.items.length;i','','',"
    ",'
    '].join("");function LayerPopup(options){options=util.extend({},options);_uicontroller2.default.call(this,{tagName:"div",className:CLASS_PREFIX+"wrapper",rootElement:options.$el});options=util.extend({},options);this._setId();this._initTarget(options);this._initExternalPopupHtmlIfNeed(options);this._initCloserOpener(options);this._initContent(options);this._initTitle(options);this._initClassName(options);this._initCssStyles(options)}LayerPopup.prototype=util.extend({},_uicontroller2.default.prototype);LayerPopup.prototype._initTarget=function(options){this.$target=options.$target||$("body")};LayerPopup.prototype._initExternalPopupHtmlIfNeed=function(options){if(options.$el){this.$el=options.$el;this._isExternalHtmlUse=true}};LayerPopup.prototype._initCloserOpener=function(options){this.openerCssQuery=options.openerCssQuery;this.closerCssQuery=options.closerCssQuery};LayerPopup.prototype._initContent=function(options){if(options.content){this.$content=$(options.content)}else if(options.textContent){this.$content=options.textContent}};LayerPopup.prototype._initTitle=function(options){this.title=options.title};LayerPopup.prototype._initClassName=function(options){if(options.className){this.className=options.className}};LayerPopup.prototype.render=function(){this._renderLayout();this._renderTitle();this._renderContent();this._attachPopupEvent()};LayerPopup.prototype._renderLayout=function(){if(!this._isExternalHtmlUse){this.$el.html(LAYOUT_TEMPLATE);this.$el.addClass(this.className);this.hide();this.$target.append(this.$el);this.$body=this.$el.find(this._getFullClassName("body"));if(this.title===false){this.$el.find(this._getFullClassName("header")).remove()}}else{this.hide();if(this.$target){this.$target.append(this.$el)}}};LayerPopup.prototype._renderContent=function(){if(!this._isExternalHtmlUse){this.setContent(this.$content)}};LayerPopup.prototype._renderTitle=function(){if(!this._isExternalHtmlUse&&this.title!==false){this.setTitle(this.title)}};LayerPopup.prototype._getFullClassName=function(lastName){return"."+CLASS_PREFIX+lastName};LayerPopup.prototype._attachOpenerCloserEvent=function(){var self=this;if(this.openerCssQuery){$(this.openerCssQuery).on("click."+this._getId(),function(){self.show()})}if(this.closerCssQuery){$(this.closerCssQuery).on("click."+this._getId(),function(){self.hide()})}};LayerPopup.prototype._detachOpenerCloserEvent=function(){if(this.openerCssQuery){$(this.openerCssQuery).off("."+this._getId())}if(this.closerCssQuery){$(this.closerCssQuery).off("."+this._getId())}};LayerPopup.prototype._attachPopupControlEvent=function(){var self=this;this.on("click "+this._getFullClassName("close-button"),function(){self.hide()})};LayerPopup.prototype._detachPopupEvent=function(){this.off();this._detachOpenerCloserEvent()};LayerPopup.prototype._attachPopupEvent=function(){this._attachPopupControlEvent();this._attachOpenerCloserEvent()};LayerPopup.prototype._setId=function(){this._id=_id;_id+=1};LayerPopup.prototype._getId=function(){return this._id};LayerPopup.prototype.setContent=function($content){this.$body.empty();this.$body.append($content)};LayerPopup.prototype.setTitle=function(title){var $title=this.$el.find(this._getFullClassName("title"));$title.empty();$title.append(title)};LayerPopup.prototype.hide=function(){this.$el.css("display","none");this._isShow=false;this.trigger("hidden",this)};LayerPopup.prototype.show=function(){this.$el.css("display","block");this._isShow=true;this.trigger("shown",this)};LayerPopup.prototype.isShow=function(){return this._isShow};LayerPopup.prototype.remove=function(){this.trigger("remove",this);this._detachPopupEvent();this.$el.empty();this.$el.remove()};LayerPopup.prototype.css=function(){var _$el;(_$el=this.$el).css.apply(_$el,arguments)};LayerPopup.prototype._initCssStyles=function(options){if(options.css){this.css(options.css)}};LayerPopup.factory=function(options){var popup=new LayerPopup(options);popup.render();return popup};LayerPopup.CLASS_PREFIX=CLASS_PREFIX;module.exports=LayerPopup},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(42);var _uicontroller2=_interopRequireDefault(_uicontroller);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var TYPE={MARKDOWN:"markdown",WYSIWYG:"wysiwyg"};function ModeSwitch(initialType){_uicontroller2.default.call(this,{tagName:"div",className:"te-mode-switch"});this._render();this._switchType(util.isExisty(initialType)?initialType:TYPE.MARKDOWN)}ModeSwitch.prototype=util.extend({},_uicontroller2.default.prototype);ModeSwitch.prototype._render=function(){this.$buttons={};this.$buttons.markdown=$('");this.$buttons.wysiwyg=$('");this.$el.append(this.$buttons.markdown);this.$el.append(this.$buttons.wysiwyg);this.attachEvents({"click .markdown":"_changeMarkdown","click .wysiwyg":"_changeWysiwyg"})};ModeSwitch.prototype._changeMarkdown=function(){this._switchType(TYPE.MARKDOWN)};ModeSwitch.prototype._changeWysiwyg=function(){this._switchType(TYPE.WYSIWYG)};ModeSwitch.prototype._setActiveButton=function(type){util.forEach(this.$buttons,function($button){$button.removeClass("active")});this.$buttons[type].addClass("active")};ModeSwitch.prototype._switchType=function(type){if(this.type===type){return}this.type=type;this._setActiveButton(type);this.trigger("modeSwitched",this.type)};ModeSwitch.TYPE=TYPE;module.exports=ModeSwitch},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);var _importManager=__webpack_require__(31);var _importManager2=_interopRequireDefault(_importManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var URL_REGEX=/^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})(\/([^\s]*))?$/;function PopupAddLink(options){var POPUP_CONTENT='\n \n \n \n
    \n \n \n
    ";options=util.extend({title:_i18n2.default.get("Insert link"),className:"te-popup-add-link tui-editor-popup",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this._editor=options.editor;this.render();this._initDOM();this._bindContentEvent();this._linkWithEventManager(options.editor.eventManager)}PopupAddLink.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddLink.prototype._initDOM=function(){var el=this.$el.get(0);this._inputText=el.querySelector(".te-link-text-input");this._inputURL=el.querySelector(".te-url-input")};PopupAddLink.prototype._bindContentEvent=function(){var _this=this;this.on("click .te-ok-button",function(){_this.trigger("okButtonClicked",_this);_this.hide()});this.on("click .te-close-button",function(){_this.trigger("closeButtonClicked",_this);_this.hide()});this.on("shown",function(){var inputText=_this._inputText;var inputURL=_this._inputURL;var selectedText=_this._editor.getSelectedText().trim();inputText.value=selectedText;if(URL_REGEX.exec(selectedText)){inputURL.value=selectedText}if(selectedText.length>0&&inputURL.value.length<1){inputURL.focus()}else{inputText.focus();inputText.setSelectionRange(0,selectedText.length)}});this.on("hidden",function(){_this.resetInputs()})};PopupAddLink.prototype._linkWithEventManager=function(eventManager){var _this2=this;eventManager.listen("focus",function(){_this2.hide()});eventManager.listen("openPopupAddLink",function(){eventManager.emit("closeAllPopup");_this2.show()});eventManager.listen("closeAllPopup",function(){_this2.hide()});this.on("okButtonClicked",function(){eventManager.emit("command","AddLink",_this2.getValue())})};PopupAddLink.prototype.getValue=function(){var linkText=_importManager2.default.decodeURIGraceful(this._inputText.value,decodeURIComponent);var url=_importManager2.default.decodeURIGraceful(this._inputURL.value,decodeURI);return{linkText:linkText,url:url}};PopupAddLink.prototype.resetInputs=function(){this._inputText.value="";this._inputURL.value=""};module.exports=PopupAddLink},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _tab=__webpack_require__(45);var _tab2=_interopRequireDefault(_tab);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddImage(options){var POPUP_CONTENT=['
    ','
    ','",'',"
    ",'
    ','",'',"
    ",'",'','
    ','",'","
    "].join("");options=util.extend({title:_i18n2.default.get("Insert image"),className:"te-popup-add-image tui-editor-popup",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.render();this._bindContentEvent();this._linkWithEventManager()}PopupAddImage.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddImage.prototype._bindContentEvent=function(){var self=this;this.on("click .te-ok-button",function(){self.trigger("okButtonClicked",self);self.hide()});this.on("click .te-close-button",function(){self.trigger("closeButtonClicked",self);self.hide()});this.on("shown",function(){self.$el.find(".te-image-url-input").focus()});this.on("hidden",function(){self.resetInputs()});this.tab.on("itemClick",function(){self.resetInputs()});this.on("change .te-image-file-input",function(){var filename=self.$el.find(".te-image-file-input").val().split("\\").pop();self.$el.find(".te-alt-text-input").val(filename)})};PopupAddImage.prototype._linkWithEventManager=function(){var _this=this;this.eventManager.listen("focus",function(){_this.hide()});this.eventManager.listen("openPopupAddImage",function(){_this.eventManager.emit("closeAllPopup");_this.show()});this.eventManager.listen("closeAllPopup",function(){_this.hide()});this.on("okButtonClicked",function(){var imageUrl=_this.$el.find(".te-image-url-input").val();var altText=_this.$el.find(".te-alt-text-input").val();if(imageUrl){_this.applyImage(imageUrl,altText)}else{_this.eventManager.emit("addImageBlobHook",_this.$el.find(".te-image-file-input")[0].files[0],function(url,text){return _this.applyImage(url,altText||text)},"ui")}})};PopupAddImage.prototype.applyImage=function(imageUrl,altText){this.eventManager.emit("command","AddImage",{imageUrl:imageUrl,altText:altText||"image"});this.hide()};PopupAddImage.prototype._renderContent=function(){var $popup=this.$el;_layerpopup2.default.prototype._renderContent.call(this);this.tab=new _tab2.default({initName:_i18n2.default.get("File"),items:[_i18n2.default.get("File"),_i18n2.default.get("URL")],sections:[$popup.find(".te-file-type"),$popup.find(".te-url-type")]});this.$body.find(".te-tab-section").append(this.tab.$el)};PopupAddImage.prototype._getImageFileForm=function(){return this.$el.find("form")};PopupAddImage.prototype.resetInputs=function(){this.$el.find("input").val("")};module.exports=PopupAddImage},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupTableUtils(options){var POPUP_CONTENT=['",'",'",'",'",'",'",'"].join("");options=util.extend({title:false,className:"te-popup-table-utils",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.render();this._bindContentEvent();this._linkWithEventManager()}PopupTableUtils.prototype=util.extend({},_layerpopup2.default.prototype);PopupTableUtils.prototype._bindContentEvent=function(){var self=this;this.on("click .te-table-add-row",function(){self.eventManager.emit("command","AddRow")});this.on("click .te-table-add-col",function(){self.eventManager.emit("command","AddCol")});this.on("click .te-table-remove-row",function(){self.eventManager.emit("command","RemoveRow")});this.on("click .te-table-col-align-left",function(){self.eventManager.emit("command","AlignCol","left")});this.on("click .te-table-col-align-center",function(){self.eventManager.emit("command","AlignCol","center")});this.on("click .te-table-col-align-right",function(){self.eventManager.emit("command","AlignCol","right")});this.on("click .te-table-remove-col",function(){self.eventManager.emit("command","RemoveCol")});this.on("click .te-table-remove",function(){self.eventManager.emit("command","RemoveTable")})};PopupTableUtils.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("mousedown",function(){self.hide()});this.eventManager.listen("openPopupTableUtils",function(event){var offset=self.$el.parent().offset();var x=event.clientX-offset.left;var y=event.clientY-offset.top+$(window).scrollTop();self.eventManager.emit("closeAllPopup");self.$el.css({position:"absolute",top:y+5,left:x+10});self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};module.exports=PopupTableUtils},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var POPUP_CONTENT=['
    ','
    ','
    ','
    ',"
    ",'

    '].join("");var CELL_WIDTH=25,CELL_HEIGHT=17,MIN_ROW_INDEX=7,MAX_ROW_INDEX=14,MIN_COL_INDEX=5,MAX_COL_INDEX=9,MIN_ROW_SELECTION_INDEX=1,MIN_COL_SELECTION_INDEX=1,HEADER_ROW_COUNT=1,LAST_BORDER=1;function PopupAddTable(options){options=util.extend({title:false,className:"te-popup-add-table",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this._selectedBound={};this._tableBound={};this.eventManager=options.eventManager;this.$button=options.$button;this.render();this._cacheElements();this._bindContentEvent();this._linkWithEventManager();this._setTableSizeByBound(MIN_COL_INDEX,MIN_ROW_INDEX)}PopupAddTable.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddTable.prototype._cacheElements=function(){this.$header=this.$el.find(".te-table-header");this.$body=this.$el.find(".te-table-body");this.$selection=this.$el.find(".te-selection-area");this.$desc=this.$el.find(".te-description")};PopupAddTable.prototype._bindContentEvent=function(){var self=this;this.on("mousemove .te-table-selection",function(ev){var x=ev.pageX-self._selectionOffset.left;var y=ev.pageY-self._selectionOffset.top;var bound=self._getSelectionBoundByOffset(x,y);self._resizeTableBySelectionIfNeed(bound.col,bound.row);self._setSelectionAreaByBound(bound.col,bound.row);self._setDisplayText(bound.col,bound.row);self._setSelectedBound(bound.col,bound.row)});this.on("click .te-table-selection",function(){var tableSize=self._getSelectedTableSize();self.eventManager.emit("command","Table",tableSize.col,tableSize.row)})};PopupAddTable.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openPopupAddTable",function(){self.eventManager.emit("closeAllPopup");self.$el.css({top:self.$button.position().top+self.$button.height()+5,left:self.$button.position().left});self.show();self._selectionOffset=self.$el.find(".te-table-selection").offset()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};PopupAddTable.prototype._resizeTableBySelectionIfNeed=function(col,row){var resizedBound=this._getResizedTableBound(col,row);if(resizedBound){this._setTableSizeByBound(resizedBound.col,resizedBound.row)}};PopupAddTable.prototype._getResizedTableBound=function(col,row){var resizedCol=void 0,resizedRow=void 0,resizedBound=void 0;if(col>=MIN_COL_INDEX&&col=MIN_ROW_INDEX&&rowthis._tableBound.row){bound.row=this._tableBound.row}if(bound.colthis._tableBound.col){bound.col=this._tableBound.col}return bound};PopupAddTable.prototype._setSelectionAreaByBound=function(col,row){var boundOffset=this._getOffsetByBound(col,row);this._setSelectionArea(boundOffset.x,boundOffset.y)};PopupAddTable.prototype._setSelectedBound=function(col,row){this._selectedBound.col=col;this._selectedBound.row=row};PopupAddTable.prototype._getSelectedTableSize=function(){return{row:this._selectedBound.row+1,col:this._selectedBound.col+1}};PopupAddTable.prototype._setDisplayText=function(col,row){this.$desc.html(col+1+" x "+(row+1))};PopupAddTable.prototype._setTableSize=function(x,y){x+=LAST_BORDER;y+=LAST_BORDER;this.$header.css({height:CELL_HEIGHT,width:x});this.$body.css({height:y,width:x});this.$el.css({width:x+30})};PopupAddTable.prototype._setSelectionArea=function(x,y){x+=LAST_BORDER;y+=LAST_BORDER;this.$selection.css({height:y,width:x})};PopupAddTable.CELL_WIDTH=CELL_WIDTH;PopupAddTable.CELL_HEIGHT=CELL_HEIGHT;PopupAddTable.MIN_ROW_SELECTION_INDEX=MIN_ROW_SELECTION_INDEX;PopupAddTable.MIN_COL_SELECTION_INDEX=MIN_COL_SELECTION_INDEX;module.exports=PopupAddTable},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(47);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddHeading(options){var POPUP_CONTENT=["
      ",'
    • '+_i18n2.default.get("Heading")+" 1

    • ",'
    • '+_i18n2.default.get("Heading")+" 2

    • ",'
    • '+_i18n2.default.get("Heading")+" 3

    • ",'
    • '+_i18n2.default.get("Heading")+" 4

    • ",'
    • '+_i18n2.default.get("Heading")+" 5
    • ",'
    • '+_i18n2.default.get("Heading")+" 6
    • ",'
    • '+_i18n2.default.get("Paragraph")+"
    • ","
    "].join("");options=util.extend({title:false,className:"te-heading-add",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.$button=options.$button;this.render();this._linkWithEventManager();this._bindEvent()}PopupAddHeading.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddHeading.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openHeadingSelect",function(){self.eventManager.emit("closeAllPopup");self.$el.css({top:self.$button.position().top+self.$button.height()+5,left:self.$button.position().left});self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};PopupAddHeading.prototype._bindEvent=function(){var self=this;this.on("click li",function(){self.eventManager.emit("command",$(this).data("type"),$(this).data("value"))})};module.exports=PopupAddHeading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var boldRegex=/^[\*_]{2,}[^\*_]*[\*_]{2,}$/;var Bold=_commandManager2.default.command("markdown",{name:"Bold",keyMap:["CTRL+B","META+B"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isEmpty=!selection;if(isEmpty&&cursor.ch>1){var tmpSelection=this.expendSelection(doc,cursor);selection=tmpSelection||selection}var isRemoved=this.isNeedRemove(selection);var result=isRemoved?this.remove(selection):this.append(selection);doc.replaceSelection(result,"around");if(isEmpty&&!isRemoved){this.setCursorToCenter(doc,cursor)}cm.focus()},isNeedRemove:function isNeedRemove(text){return boldRegex.test(text)},append:function append(text){return"**"+text+"**"},remove:function remove(text){return text.substr(2,text.length-4)},expendSelection:function expendSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){result=tmpSelection}else{doc.setSelection(cursor)}return result},setCursorToCenter:function setCursorToCenter(doc,cursor){doc.setCursor(cursor.line,cursor.ch+2)}});module.exports=Bold},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var boldItalicRegex=/^[\*_]{3,}[^\*_]*[\*_]{3,}$/;var italicRegex=/^[\*_][^\*_]*[\*_]$/;var Italic=_commandManager2.default.command("markdown",{name:"Italic",keyMap:["CTRL+I","META+I"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isEmpty=!selection;var isWithBold=false;var tmpSelection=void 0;if(isEmpty){if(cursor.ch>2){tmpSelection=this.expendWithBoldSelection(doc,cursor);if(tmpSelection){isWithBold="with"}}if(isWithBold!=="with"&&cursor.ch>1){isWithBold=this.expendOnlyBoldSelection(doc,cursor)}if(!isWithBold&&cursor.ch>0){this.expendSelection(doc,cursor);selection=tmpSelection||selection}}var isRemoved=this.isNeedRemove(selection);var result=isRemoved?this.remove(selection):this.append(selection);doc.replaceSelection(result,"around");if(isEmpty){this.setCursorToCenter(doc,cursor,isRemoved)}cm.focus()},isNeedRemove:function isNeedRemove(text){return italicRegex.test(text)||boldItalicRegex.test(text)},append:function append(text){return"_"+text+"_"},remove:function remove(text){return text.substr(1,text.length-2)},expendWithBoldSelection:function expendWithBoldSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-3};var end={line:cursor.line,ch:cursor.ch+3};doc.setSelection(start,end);if(tmpSelection==="******"||tmpSelection==="______"){result=tmpSelection}else{doc.setSelection(cursor)}return result},expendOnlyBoldSelection:function expendOnlyBoldSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=false;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){doc.setSelection(cursor);result="only"}return result},expendSelection:function expendSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){result=tmpSelection}else{doc.setSelection(cursor)}return result},setCursorToCenter:function setCursorToCenter(doc,cursor,isRemoved){var pos=isRemoved?-1:1;doc.setCursor(cursor.line,cursor.ch+pos)}});module.exports=Italic},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var strikeRegex=/^[~~](.*[\s\n]*.*)*[~~]$/;var Strike=_commandManager2.default.command("markdown",{name:"Strike",keyMap:["CTRL+S","META+S"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isNeedToRemove=this.hasStrikeSyntax(selection);var result=void 0;if(isNeedToRemove){result=this.remove(selection)}else{result=this.append(selection)}doc.replaceSelection(result,"around");var isEmptySelection=!selection;if(isEmptySelection&&!isNeedToRemove){this.setCursorToCenter(doc,cursor,isNeedToRemove)}cm.focus()},hasStrikeSyntax:function hasStrikeSyntax(text){return strikeRegex.test(text)},append:function append(text){return"~~"+text+"~~"},remove:function remove(text){return text.substr(2,text.length-4)},setCursorToCenter:function setCursorToCenter(doc,cursor,isRemoved){var pos=isRemoved?-2:2;doc.setCursor(cursor.line,cursor.ch+pos)}});module.exports=Strike},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Blockquote=_commandManager2.default.command("markdown",{name:"Blockquote",keyMap:["CTRL+Q","META+Q"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var textToModify=doc.getRange(from,to);var textLinesToModify=textToModify.split("\n");var lineLength=textLinesToModify.length;for(var i=0;i"+textLinesToModify[i]}doc.replaceRange(textLinesToModify.join("\n"),from,to);range.to.ch+=1;doc.setCursor(range.to);cm.focus()}});module.exports=Blockquote},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var FIND_HEADING_RX=/^#+\s/g;var Heading=_commandManager2.default.command("markdown",{name:"Heading",exec:function exec(mde,size){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var lengthOfCurrentLineBefore=doc.getLine(to.line).length;var textToModify=doc.getRange(from,to);var textLinesToModify=textToModify.split("\n");util.forEachArray(textLinesToModify,function(line,index){textLinesToModify[index]=getHeadingMarkdown(line,size)});doc.replaceRange(textLinesToModify.join("\n"),from,to);range.to.ch+=doc.getLine(to.line).length-lengthOfCurrentLineBefore;doc.setSelection(from,range.to);cm.focus()}});function getHeadingMarkdown(text,size){var foundedHeading=text.match(FIND_HEADING_RX);var heading="";do{heading+="#";size-=1}while(size>0);if(foundedHeading){text=text.split(foundedHeading[0])[1]}return heading+" "+text}module.exports=Heading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var Paragraph=_commandManager2.default.command("markdown",{name:"Paragraph",exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var lengthOfCurrentLineBefore=doc.getLine(to.line).length;var textToModify=doc.getRange(from,to);var textLines=textToModify.split("\n");util.forEachArray(textLines,function(line,index){textLines[index]=getParagraphMarkdown(line)});doc.replaceRange(textLines.join("\n"),from,to);range.to.ch+=doc.getLine(to.line).length-lengthOfCurrentLineBefore;doc.setSelection(from,to);cm.focus()}});function getParagraphMarkdown(lineText){var headingRx=/^(#{1,6}| *((?:\*|-|\d\.)(?: \[[ xX]])?)) /;return lineText.replace(headingRx,"")}module.exports=Paragraph},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HR=_commandManager2.default.command("markdown",{name:"HR",keyMap:["CTRL+L","META+L"],exec:function exec(mde){var cm=mde.getEditor() +;var doc=cm.getDoc();var replaceText="";var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};if(range.collapsed){replaceText=doc.getLine(from.line);from.ch=0;to.ch=doc.getLineHandle(range.to.line).text.length}if(doc.getLine(from.line).length){replaceText+="\n\n* * *\n\n"}else{replaceText+="\n* * *\n"}doc.replaceRange(replaceText,from,to);cm.focus()}});module.exports=HR},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddLink=_commandManager2.default.command("markdown",{name:"AddLink",exec:function exec(mde,data){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};var replaceText="["+data.linkText+"]("+data.url+")";doc.replaceRange(replaceText,from,to);cm.focus()}});module.exports=AddLink},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddImage=_commandManager2.default.command("markdown",{name:"AddImage",exec:function exec(mde,data){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};var replaceText="!["+data.altText+"]("+data.imageUrl+")";doc.replaceRange(replaceText,from,to,"+addImage");cm.focus()}});module.exports=AddImage},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var FIND_MD_OL_RX=/^[ \t]*[\d]+\. .*/;var FIND_MD_UL_RX=/^[ \t]*[-*] .*/;var FIND_MD_TASK_RX=/^[ \t]*[-*]( \[[ xX]])? .*/;var UL=_commandManager2.default.command("markdown",{name:"UL",keyMap:["CTRL+U","META+U"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var listManager=mde.componentManager.getManager("list");var lineRange=listManager.expandLineRangeIfNeed(doc,range,isOlOrTask);var startLineNumber=lineRange.start;var endLineNumber=lineRange.end;var line=void 0,currentLineStart=void 0;for(var i=startLineNumber;i<=endLineNumber;i+=1){currentLineStart={line:i,ch:0};line=doc.getLine(i);if(listManager.isListOrParagraph(line)){if(isOlOrTask(line)){listManager.replaceLineText(doc,i,/[\d]+\. /,"* ")}else if(!line.match(FIND_MD_UL_RX)){doc.replaceRange("* ",currentLineStart)}if(i===endLineNumber){listManager.appendBlankLineIfNeed(cm,i,endLineNumber,startLineNumber)}}else{break}}cm.focus()}});function isOlOrTask(line){return!!(line&&(line.match(FIND_MD_TASK_RX)||line.match(FIND_MD_OL_RX)))}module.exports=UL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var FIND_MD_OL_RX=/^[ \t]*[\d]+\. .*/;var FIND_MD_UL_RX=/^[ \t]*[-*] .*/;var FIND_MD_TASK_RX=/^[ \t]*[-*]( \[[ xX]])? .*/;var OL=_commandManager2.default.command("markdown",{name:"OL",keyMap:["CTRL+O","META+O"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var listManager=mde.componentManager.getManager("list");var lineRange=listManager.expandLineRangeIfNeed(doc,range,isUlOrTask);var startLineNumber=lineRange.start;var endLineNumber=lineRange.end;var ordinalNumber=1;var line=void 0,currentLineStart=void 0;for(var i=startLineNumber;i<=endLineNumber;i+=1){currentLineStart={line:i,ch:0};line=doc.getLine(i);if(listManager.isListOrParagraph(line)){if(isUlOrTask(line)){listManager.replaceLineText(doc,i,/[*-] /,ordinalNumber+". ")}else if(!line.match(FIND_MD_OL_RX)){doc.replaceRange(ordinalNumber+". ",currentLineStart)}ordinalNumber+=1;if(i===endLineNumber){listManager.appendBlankLineIfNeed(cm,i,endLineNumber,startLineNumber)}}else{break}}cm.focus()}});function isUlOrTask(line){return!!(line&&(line.match(FIND_MD_TASK_RX)||line.match(FIND_MD_UL_RX)))}module.exports=OL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Table=_commandManager2.default.command("markdown",{name:"Table",exec:function exec(mde,col,row,data){var cm=mde.getEditor();var doc=cm.getDoc();var table="\n";if(cm.getCursor().ch>0){table+="\n"}table+=makeHeader(col,data);table+=makeBody(col,row-1,data);doc.replaceSelection(table);if(!data){cm.setCursor(cm.getCursor().line-row,2)}mde.focus()}});function makeHeader(col,data){var header="|";var border="|";var index=0;while(col){if(data){header+=" "+data[index]+" |";index+=1}else{header+=" |"}border+=" --- |";col-=1}return header+"\n"+border+"\n"}function makeBody(col,row,data){var body="";var index=col;for(var irow=0;irow";var $block=$(block);if($block.is("DIV")){$block.wrap(headingHTML)}else{var $wrapperHeading=$(headingHTML);$wrapperHeading.insertBefore(block);$wrapperHeading.html($block.html());$block.remove()}});return fragment})}}});module.exports=Heading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Paragraph=_commandManager2.default.command("wysiwyg",{name:"Paragraph",exec:function exec(wwe){var sq=wwe.getEditor();sq.focus();if(!sq.hasFormat("TABLE")&&!sq.hasFormat("PRE")){sq.modifyBlocks(function(fragment){var $newFragment=$(document.createDocumentFragment());$(fragment).children().each(function(index,block){if(block.nodeName.match(/h\d/i)){$newFragment.append($(block).children())}else if(block.nodeName.match(/ul|ol/i)){$(block).find("li").each(function(i,listItem){$newFragment.append($(listItem).children())})}else{$newFragment.append(block)}});return $newFragment[0]})}}});module.exports=Paragraph},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var UL=_commandManager2.default.command("wysiwyg",{name:"UL",keyMap:["CTRL+U","META+U"],exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection();var listManager=wwe.componentManager.getManager("list");var start=range.startContainer;var startOffset=range.startOffset;var end=range.endContainer;var endOffset=range.endOffset;sq.focus();sq.saveUndoState(range);var lines=listManager.getLinesOfSelection(start,end);for(var i=0;i';tableHTMLString+=makeHeader(col,data);tableHTMLString+=makeBody(col,row-1,data);tableHTMLString+="";sq.insertHTML(tableHTMLString);sq.focus();if(!data){focusToFirstTh(sq,wwe.get$Body().find("."+tableIDClassName))}}});function focusToFirstTh(sq,$table){var range=sq.getSelection();range.selectNodeContents($table.find("th")[0]);range.collapse(true);sq.setSelection(range)}function makeHeader(col,data){var header="";var index=0;while(col){header+="";if(data){header+=data[index];index+=1}header+="";col-=1}header+="";return header}function makeBody(col,row,data){var body="";var index=col;for(var irow=0;irow";for(var icol=0;icol";if(data){body+=data[index];index+=1}body+=""}body+=""}body+="";return body}module.exports=Table},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddRow=_commandManager2.default.command("wysiwyg",{name:"AddRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $tr=void 0,$newRow=void 0;sq.focus();if(sq.hasFormat("TD")){sq.saveUndoState(range);$tr=$(range.startContainer).closest("tr");$newRow=getNewRow($tr);$newRow.insertAfter($tr);focusToFirstTd(sq,$newRow)}else if(sq.hasFormat("TH")){sq.saveUndoState(range);$tr=$(range.startContainer).parents("thead").next("tbody").children("tr").eq(0);$newRow=getNewRow($tr);$newRow.insertBefore($tr);focusToFirstTd(sq,$newRow)}}});function getNewRow($tr){var cloned=$tr.clone();var htmlString=tui.util.browser.msie?"":"
    ";cloned.find("td").html(htmlString);return cloned}function focusToFirstTd(sq,$tr){var range=sq.getSelection();range.selectNodeContents($tr.find("td")[0]);range.collapse(true);sq.setSelection(range)}module.exports=AddRow},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(11);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddCol=_commandManager2.default.command("wysiwyg",{name:"AddCol",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $cell=void 0;sq.focus();if(sq.hasFormat("TR")){sq.saveUndoState(range);$cell=getCellByRange(range);addColToCellAfter($cell);focusToNextCell(sq,$cell)}}});function getCellByRange(range){var cell=range.startContainer;if(_domUtils2.default.getNodeName(cell)==="TD"||_domUtils2.default.getNodeName(cell)==="TH"){cell=$(cell)}else{cell=$(cell).parentsUntil("tr")}return cell}function addColToCellAfter($cell){var index=$cell.index();var cellToAdd=void 0;$cell.parents("table").find("tr").each(function(n,tr){if(_domUtils2.default.getNodeName(tr.parentNode)==="TBODY"){cellToAdd=$("")}else{cellToAdd=$("")}if(!tui.util.browser.msie){cellToAdd.append($("
    ")[0])}$(cellToAdd).insertAfter($(tr).children().eq(index))})}function focusToNextCell(sq,$cell){var range=sq.getSelection();range.selectNodeContents($cell.next()[0]);range.collapse(true);sq.setSelection(range)}module.exports=AddCol},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RemoveRow=_commandManager2.default.command("wysiwyg",{name:"RemoveRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $table=$(range.startContainer).parents("table");var selectionMgr=wwe.componentManager.getManager("tableSelection");var tableMgr=wwe.componentManager.getManager("table");var $tr=getTrs(range,selectionMgr,$table);var tbodyRowLength=$table.find("tbody tr").length;sq.focus();if((sq.hasFormat("TD")||sq.hasFormat("TABLE"))&&tbodyRowLength>1){sq.saveUndoState(range);var $nextFocus=$tr.last().next()[0]?$tr.last().next():$tr.first().prev();if($nextFocus.length){focusToFirstTd(sq,range,$nextFocus,tableMgr)}$tr.remove()}selectionMgr.removeClassAttrbuteFromAllCellsIfNeed()}});function focusToFirstTd(sq,range,$tr,tableMgr){var nextFocusCell=$tr.find("td")[0];range.setStart(nextFocusCell,0);range.collapse(true);tableMgr.setLastCellNode(nextFocusCell);sq.setSelection(range)}function getSelectedRows(firstSelectedCell,rangeInformation,$table){var tbodyRowLength=$table.find("tbody tr").length;var isStartContainerInThead=$(firstSelectedCell).parents("thead").length;var startRowIndex=rangeInformation.from.row;var endRowIndex=rangeInformation.to.row;if(isStartContainerInThead){startRowIndex+=1}var isWholeTbodySelected=(startRowIndex===1||isStartContainerInThead)&&endRowIndex===tbodyRowLength;if(isWholeTbodySelected){endRowIndex-=1}return $table.find("tr").slice(startRowIndex,endRowIndex+1)}function getTrs(range,selectionMgr,$table){var selectedCells=selectionMgr.getSelectedCells();var rangeInformation=void 0,trs=void 0;if(selectedCells.length){rangeInformation=selectionMgr.getSelectionRangeFromTable(selectedCells.first()[0],selectedCells.last()[0]);trs=getSelectedRows(selectedCells.first()[0],rangeInformation,$table)}else{var cell=$(range.startContainer).closest("td,th")[0];rangeInformation=selectionMgr.getSelectionRangeFromTable(cell,cell);trs=getSelectedRows(cell,rangeInformation,$table)}return trs}module.exports=RemoveRow},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(11);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RemoveCol=_commandManager2.default.command("wysiwyg",{name:"RemoveCol",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var tableMgr=wwe.componentManager.getManager("table");var isAbleToRemoveColumn=$(range.startContainer).closest("table").find("thead tr th").length>1;sq.focus();range.collapse(true);sq.setSelection(range);if(sq.hasFormat("TR",null,range)&&isAbleToRemoveColumn){sq.saveUndoState(range);var $cell=getCellByRange(range);var $nextFocus=$cell.next().length?$cell.next():$cell.prev();removeColByCell($cell);focusToCell(sq,$nextFocus,tableMgr)}}});function getCellByRange(range){var cell=range.startContainer;if(_domUtils2.default.getNodeName(cell)==="TD"||_domUtils2.default.getNodeName(cell)==="TH"){cell=$(cell)}else{cell=$(cell).parentsUntil("tr")}return cell}function removeColByCell($cell){var index=$cell.index();$cell.parents("table").find("tr").each(function(n,tr){$(tr).children().eq(index).remove()})}function focusToCell(sq,$cell,tableMgr){var nextFocusCell=$cell[0];if($cell.length){var range=sq.getSelection();range.selectNodeContents($cell[0]);range.collapse(true);sq.setSelection(range);tableMgr.setLastCellNode(nextFocusCell)}}module.exports=RemoveCol},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(11);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AlignCol=_commandManager2.default.command("wysiwyg",{name:"AlignCol",exec:function exec(wwe,alignDirection){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var selectionMgr=wwe.componentManager.getManager("tableSelection");var rangeInformation=getRangeInformation(range,selectionMgr);sq.focus();if(sq.hasFormat("TR")){sq.saveUndoState(range);var $table=$(range.startContainer).parents("table");var selectionInformation=getSelectionInformation($table,rangeInformation);setAlignAttributeToTableCells($table,alignDirection,selectionInformation)}selectionMgr.removeClassAttrbuteFromAllCellsIfNeed()}});function setAlignAttributeToTableCells($table,alignDirection,selectionInformation){var isDivided=selectionInformation.isDivided||false;var start=selectionInformation.startColumnIndex;var end=selectionInformation.endColumnIndex;var columnLength=$table.find("tr").eq(0).find("td,th").length;$table.find("tr").each(function(n,tr){$(tr).children("td,th").each(function(index,cell){if(isDivided&&(start<=index&&index<=columnLength||index<=end)){$(cell).attr("align",alignDirection)}else if(start<=index&&index<=end){$(cell).attr("align",alignDirection)}})})}function getSelectionInformation($table,rangeInformation){var columnLength=$table.find("tr").eq(0).find("td,th").length;var from=rangeInformation.from;var to=rangeInformation.to;var startColumnIndex=void 0,endColumnIndex=void 0,isDivided=void 0;if(from.row===to.row){startColumnIndex=from.cell;endColumnIndex=to.cell}else if(from.row"+codeBlockBody+"
    ");focusToFirstCode(wwe.get$Body().find("."+CODEBLOCK_CLASS_PREFIX+codeBlockID),wwe);codeBlockID+=1}sq.focus()}});function focusToFirstCode($pre,wwe){var range=wwe.getEditor().getSelection().cloneRange();range.setStartBefore($pre.find("div")[0].firstChild);range.collapse(true);wwe.getEditor().setSelection(range)}function getCodeBlockBody(range,wwe){var mgr=wwe.componentManager.getManager("codeblock");var contents=void 0,nodes=void 0;if(range.collapsed){nodes=[$("

    ")[0]]}else{contents=range.extractContents();nodes=tui.util.toArray(contents.childNodes)}var codeBlock=mgr.convertToCodeblock(nodes).innerHTML;return codeBlock}module.exports=CodeBlock},function(module,exports){"use strict";CodeMirror.overlayMode=function(base,overlay,combine){return{startState:function startState(){return{base:CodeMirror.startState(base),overlay:CodeMirror.startState(overlay),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function copyState(state){return{base:CodeMirror.copyState(base,state.base),overlay:CodeMirror.copyState(overlay,state.overlay),basePos:state.basePos,baseCur:null,overlayPos:state.overlayPos,overlayCur:null}},token:function token(stream,state){if(stream!=state.streamSeen||Math.min(state.basePos,state.overlayPos)` "'(~]+/,fencedCodeRE=new RegExp("^("+(modeCfg.fencedCodeBlocks===true?"~~~+|```+":modeCfg.fencedCodeBlocks)+")[ \\t]*([\\w+#]*)");function switchInline(stream,state,f){state.f=state.inline=f;return f(stream,state)}function switchBlock(stream,state,f){state.f=state.block=f;return f(stream,state)}function lineIsEmpty(line){return!line||!/\S/.test(line.string)}function blankLine(state){state.linkTitle=false;state.em=false;state.strong=false;state.strikethrough=false;state.quote=0;state.indentedCode=false;if(!htmlFound&&state.f==htmlBlock){state.f=inlineNormal;state.block=blockNormal}state.trailingSpace=0;state.trailingSpaceNewLine=false;state.prevLine=state.thisLine;state.thisLine=null;return null}function blockNormal(stream,state){var sol=stream.sol();var prevLineIsList=state.list!==false,prevLineIsIndentedCode=state.indentedCode;state.indentedCode=false;if(prevLineIsList){if(state.indentationDiff>=0){if(state.indentationDiff<4){state.indentation-=state.indentationDiff}state.list=null}if(state.indentation>0){state.list=null;state.listDepth=Math.floor(state.indentation/4)+1}else{state.list=false;state.listDepth=0}}var match=null;if(state.indentationDiff>=4){stream.skipToEnd();if(prevLineIsIndentedCode||lineIsEmpty(state.prevLine)){state.indentation-=4;state.indentedCode=true;return code}else{return null}}else if(stream.eatSpace()){return null}else if((match=stream.match(atxHeaderRE))&&match[1].length<=6){state.header=match[1].length;if(modeCfg.highlightFormatting)state.formatting="header";state.f=state.inline;return getType(state)}else if(!lineIsEmpty(state.prevLine)&&!state.quote&&!prevLineIsList&&!prevLineIsIndentedCode&&(match=stream.match(setextHeaderRE))){state.header=match[0].charAt(0)=="="?1:2;if(modeCfg.highlightFormatting)state.formatting="header";state.f=state.inline;return getType(state)}else if(stream.eat(">")){state.quote=sol?1:state.quote+1;if(modeCfg.highlightFormatting)state.formatting="quote";stream.eatSpace();return getType(state)}else if(stream.peek()==="["){return switchInline(stream,state,footnoteLink)}else if(stream.match(hrRE,true)){state.hr=true;return hr}else if((lineIsEmpty(state.prevLine)||prevLineIsList)&&(stream.match(ulRE,false)||stream.match(olRE,false))){var listType=null;if(stream.match(ulRE,true)){listType="ul"}else{stream.match(olRE,true);listType="ol"}state.indentation=stream.column()+stream.current().length;state.list=true;state.listDepth++;if(modeCfg.taskLists&&stream.match(taskListRE,false)){state.taskList=true;state.task=true}state.f=state.inline;if(modeCfg.highlightFormatting)state.formatting=["list","list-"+listType];return getType(state)}else if(modeCfg.fencedCodeBlocks&&(match=stream.match(fencedCodeRE,true))){state.fencedChars=match[1];state.localMode=getMode(match[2]);if(state.localMode)state.localState=state.localMode.startState();state.f=state.block=local;if(modeCfg.highlightFormatting)state.formatting="code-block";state.code=true;return getType(state)}return switchInline(stream,state,state.inline)}function htmlBlock(stream,state){var style=htmlMode.token(stream,state.htmlState);if(htmlFound&&state.htmlState.tagStart===null&&!state.htmlState.context&&state.htmlState.tokenize.isInText||state.md_inside&&stream.current().indexOf(">")>-1){state.f=inlineNormal;state.block=blockNormal;state.htmlState=null}return style}function local(stream,state){if(stream.sol()&&state.fencedChars&&stream.match(state.fencedChars,false)){state.localMode=state.localState=null;state.f=state.block=leavingLocal;return null}else if(state.localMode){return state.localMode.token(stream,state.localState)}else{stream.skipToEnd();return code}}function leavingLocal(stream,state){stream.match(state.fencedChars);state.block=blockNormal;state.f=inlineNormal;state.fencedChars=null;if(modeCfg.highlightFormatting)state.formatting="code-block";state.code=true;var returnType=getType(state);state.code=false;return returnType}function getType(state){var styles=[];if(state.formatting){styles.push(formatting);if(typeof state.formatting==="string")state.formatting=[state.formatting];for(var i=0;i=state.quote){styles.push(formatting+"-"+state.formatting[i]+"-"+state.quote)}else{styles.push("error")}}}}if(state.taskOpen){styles.push("meta");return styles.length?styles.join(" "):null}if(state.taskClosed){styles.push("property");return styles.length?styles.join(" "):null}if(state.linkHref){styles.push(linkhref,"url")}else{if(state.strong){styles.push(strong)}if(state.em){styles.push(em)}if(state.strikethrough){styles.push(strikethrough)}if(state.linkText){styles.push(linktext)}if(state.code){styles.push(code)}}if(state.header){styles.push(header);styles.push(header+"-"+state.header)}if(state.quote){styles.push(quote);if(!modeCfg.maxBlockquoteDepth||modeCfg.maxBlockquoteDepth>=state.quote){styles.push(quote+"-"+state.quote)}else{styles.push(quote+"-"+modeCfg.maxBlockquoteDepth)}}if(state.list!==false){var listMod=(state.listDepth-1)%3;if(!listMod){styles.push(list1)}else if(listMod===1){styles.push(list2)}else{styles.push(list3)}}if(state.trailingSpaceNewLine){styles.push("trailing-space-new-line")}else if(state.trailingSpace){styles.push("trailing-space-"+(state.trailingSpace%2?"a":"b"))}return styles.length?styles.join(" "):null}function handleText(stream,state){if(stream.match(textRE,true)){return getType(state)}return undefined}function inlineNormal(stream,state){var style=state.text(stream,state);if(typeof style!=="undefined")return style;if(state.list){state.list=null;return getType(state)}if(state.taskList){var taskOpen=stream.match(taskListRE,true)[1]!=="x";if(taskOpen)state.taskOpen=true;else state.taskClosed=true;if(modeCfg.highlightFormatting)state.formatting="task";state.taskList=false;return getType(state)}state.taskOpen=false;state.taskClosed=false;if(state.header&&stream.match(/^#+$/,true)){if(modeCfg.highlightFormatting)state.formatting="header";return getType(state)}var sol=stream.sol();var ch=stream.next();if(ch==="\\"){stream.next();if(modeCfg.highlightFormatting){var type=getType(state);return type?type+" formatting-escape":"formatting-escape"}}if(state.linkTitle){state.linkTitle=false;var matchCh=ch;if(ch==="("){matchCh=")"}matchCh=(matchCh+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");var regex="^\\s*(?:[^"+matchCh+"\\\\]+|\\\\\\\\|\\\\.)"+matchCh;if(stream.match(new RegExp(regex),true)){return linkhref}}if(ch==="`"){var previousFormatting=state.formatting;if(modeCfg.highlightFormatting)state.formatting="code";var t=getType(state);var before=stream.pos;stream.eatWhile("`");var difference=1+stream.pos-before;if(!state.code){codeDepth=difference;state.code=true;return getType(state)}else{if(difference===codeDepth){state.code=false;return t}state.formatting=previousFormatting;return getType(state)}}else if(state.code){return getType(state)}if(ch==="!"&&stream.match(/\[[^\]]*\] ?(?:\(|\[)/,false)){stream.match(/\[[^\]]*\]/);return image}if(ch==="["&&stream.match(/.*\](\(.*\)| ?\[.*\])/,false)){state.linkText=true;if(modeCfg.highlightFormatting)state.formatting="link";return getType(state)}if(ch==="]"&&state.linkText&&stream.match(/\(.*\)| ?\[.*\]/,false)){if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);state.linkText=false;state.inline=state.f=linkHref;return type}if(ch==="<"&&stream.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,false)){state.f=state.inline=linkInline;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkinline}if(ch==="<"&&stream.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,false)){state.f=state.inline=linkInline;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkemail}var ignoreUnderscore=false;if(!modeCfg.underscoresBreakWords){if(ch==="_"&&stream.peek()!=="_"&&stream.match(/(\w)/,false)){var prevPos=stream.pos-2;if(prevPos>=0){var prevCh=stream.string.charAt(prevPos);if(prevCh!=="_"&&prevCh.match(/(\w)/,false)){ignoreUnderscore=true}}}}if(ch==="*"||ch==="_"&&!ignoreUnderscore){if(sol&&stream.peek()===" "){}else if(state.strong===ch&&stream.eat(ch)){if(modeCfg.highlightFormatting)state.formatting="strong";var t=getType(state);state.strong=false;return t}else if(!state.strong&&stream.eat(ch)){state.strong=ch;if(modeCfg.highlightFormatting)state.formatting="strong";return getType(state)}else if(state.em===ch){if(modeCfg.highlightFormatting)state.formatting="em";var t=getType(state);state.em=false;return t}else if(!state.em){state.em=ch;if(modeCfg.highlightFormatting)state.formatting="em";return getType(state)}}else if(ch===" "){if(stream.eat("*")||stream.eat("_")){if(stream.peek()===" "){return getType(state)}else{stream.backUp(1)}}}if(modeCfg.strikethrough){if(ch==="~"&&stream.eatWhile(ch)){if(state.strikethrough){if(modeCfg.highlightFormatting)state.formatting="strikethrough";var t=getType(state);state.strikethrough=false;return t}else if(stream.match(/^[^\s]/,false)){state.strikethrough=true;if(modeCfg.highlightFormatting)state.formatting="strikethrough";return getType(state)}}else if(ch===" "){if(stream.match(/^~~/,true)){if(stream.peek()===" "){return getType(state)}else{stream.backUp(2)}}}}if(ch===" "){if(stream.match(/ +$/,false)){state.trailingSpace++}else if(state.trailingSpace){state.trailingSpaceNewLine=true}}return getType(state)}function linkInline(stream,state){var ch=stream.next();if(ch===">"){state.f=state.inline=inlineNormal;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkinline}stream.match(/^[^>]+/,true);return linkinline}function linkHref(stream,state){if(stream.eatSpace()){return null}var ch=stream.next();if(ch==="("||ch==="["){state.f=state.inline=getLinkHrefInside(ch==="("?")":"]");if(modeCfg.highlightFormatting)state.formatting="link-string";state.linkHref=true;return getType(state)}return"error"}function getLinkHrefInside(endChar){return function(stream,state){var ch=stream.next();if(ch===endChar){state.f=state.inline=inlineNormal;if(modeCfg.highlightFormatting)state.formatting="link-string";var returnState=getType(state);state.linkHref=false;return returnState}if(stream.match(inlineRE(endChar),true)){stream.backUp(1)}state.linkHref=true;return getType(state)}}function footnoteLink(stream,state){if(stream.match(/^[^\]]*\]:/,false)){state.f=footnoteLinkInside;stream.next();if(modeCfg.highlightFormatting)state.formatting="link";state.linkText=true;return getType(state)}return switchInline(stream,state,inlineNormal)}function footnoteLinkInside(stream,state){if(stream.match(/^\]:/,true)){state.f=state.inline=footnoteUrl;if(modeCfg.highlightFormatting)state.formatting="link";var returnType=getType(state);state.linkText=false;return returnType}stream.match(/^[^\]]+/,true);return linktext}function footnoteUrl(stream,state){if(stream.eatSpace()){return null}stream.match(/^[^\s]+/,true);if(stream.peek()===undefined){state.linkTitle=true}else{stream.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,true)}state.f=state.inline=inlineNormal;return linkhref+" url"}var savedInlineRE=[];function inlineRE(endChar){if(!savedInlineRE[endChar]){endChar=(endChar+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");savedInlineRE[endChar]=new RegExp("^(?:[^\\\\]|\\\\.)*?("+endChar+")")}return savedInlineRE[endChar]}var mode={startState:function startState(){return{f:blockNormal,prevLine:null,thisLine:null,block:blockNormal,htmlState:null,indentation:0,inline:inlineNormal,text:handleText,formatting:false,linkText:false,linkHref:false,linkTitle:false,em:false,strong:false,header:0,hr:false,task:false,taskList:false,list:false,listDepth:0,quote:0,trailingSpace:0,trailingSpaceNewLine:false,strikethrough:false,fencedChars:null}},copyState:function copyState(s){return{f:s.f,prevLine:s.prevLine,thisLine:s.this,block:s.block,htmlState:s.htmlState&&CodeMirror.copyState(htmlMode,s.htmlState),indentation:s.indentation,localMode:s.localMode,localState:s.localMode?CodeMirror.copyState(s.localMode,s.localState):null,inline:s.inline,text:s.text,formatting:false,linkTitle:s.linkTitle,code:s.code,em:s.em,strong:s.strong,strikethrough:s.strikethrough,header:s.header,hr:s.hr,taskList:s.taskList,task:s.task,list:s.list,listDepth:s.listDepth,quote:s.quote,indentedCode:s.indentedCode,trailingSpace:s.trailingSpace,trailingSpaceNewLine:s.trailingSpaceNewLine,md_inside:s.md_inside,fencedChars:s.fencedChars}},token:function token(stream,state){state.formatting=false;if(stream!=state.thisLine){var forceBlankLine=state.header||state.hr;state.header=0;state.hr=false;if(stream.match(/^\s*$/,true)||forceBlankLine){blankLine(state);if(!forceBlankLine)return null;state.prevLine=null}state.prevLine=state.thisLine;state.thisLine=stream;state.taskList=false;state.task=false;state.trailingSpace=0;state.trailingSpaceNewLine=false;state.f=state.block;var indentation=stream.match(/^\s*/,true)[0].replace(/\t/g," ").length;var difference=Math.floor((indentation-state.indentation)/4)*4;if(difference>4)difference=4;var adjustedIndentation=state.indentation+difference;state.indentationDiff=adjustedIndentation-state.indentation;state.indentation=adjustedIndentation;if(indentation>0)return null}return state.f(stream,state)},innerMode:function innerMode(state){if(state.block==htmlBlock)return{state:state.htmlState,mode:htmlMode};if(state.localState)return{state:state.localState,mode:state.localMode};return{state:state,mode:mode}},blankLine:blankLine,getType:getType,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return mode},"xml");CodeMirror.defineMIME("text/x-markdown","markdown")},function(module,exports){"use strict";var urlRE=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;CodeMirror.defineMode("gfm",function(config,modeConfig){var codeDepth=0;function blankLine(state){state.code=false;return null}var gfmOverlay={startState:function startState(){return{code:false,codeBlock:false,ateSpace:false}},copyState:function copyState(s){return{code:s.code,codeBlock:s.codeBlock,ateSpace:s.ateSpace}},token:function token(stream,state){state.combineTokens=null;if(state.codeBlock){if(stream.match(/^```+/)){state.codeBlock=false;return null}stream.skipToEnd();return null}if(stream.sol()){state.code=false}if(stream.sol()&&stream.match(/^```+/)){stream.skipToEnd();state.codeBlock=true;return null}if(stream.peek()==="`"){stream.next();var before=stream.pos;stream.eatWhile("`");var difference=1+stream.pos-before;if(!state.code){codeDepth=difference;state.code=true}else{if(difference===codeDepth){state.code=false}}return null}else if(state.code){stream.next();return null}if(stream.eatSpace()){state.ateSpace=true;return null}if(stream.sol()||state.ateSpace){state.ateSpace=false}stream.next();return null},blankLine:blankLine};var markdownConfig={underscoresBreakWords:false,taskLists:true,fencedCodeBlocks:"```",strikethrough:true};for(var attr in modeConfig){markdownConfig[attr]=modeConfig[attr]}markdownConfig.name="markdown";return CodeMirror.overlayMode(CodeMirror.getMode(config,markdownConfig),gfmOverlay)},"markdown");CodeMirror.defineMIME("text/x-gfm","gfm")},function(module,exports){"use strict";var listRE=/^(\s*)(>[> ]*|[*+-]\s(?:\[(?:x|\s)\]\s)?|(\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(\s*)/,emptyListRE=/^(\s*)(>[> ]*|[*+-]\s(?:\[(?:x|\s)\]\s)?|(\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(\s*)$/,FIND_CODEBLOCK_START_RX=/^ *(`{3,}|~{3,})[ \.]*\S+ */,unorderedListRE=/[*+-]\s/;CodeMirror.commands.subListIndentTab=function(cm){if(cm.getOption("disableInput"))return CodeMirror.Pass;var ranges=cm.listSelections();for(var i=0;i0){cm.replaceRange("",{line:pos.line,ch:0},{line:pos.line,ch:line.length});replacements[i]="\n"}else if(isCodeBlockStart){replacements[i]="\n\n```"}else{var indent=match[1],after=match[5],bullet;if(indent.length===pos.ch){bullet=""}else if(unorderedListRE.test(match[2])||match[2].indexOf(">")>=0){bullet=match[2]}else{bullet=parseInt(match[3],10)+1+match[4]}replacements[i]="\n"+indent+bullet+after}}cm.replaceSelections(replacements);if(isCodeBlockStart){cm.setCursor(pos.line+1,0)}}},function(module,exports){"use strict";CodeMirror.commands.replaceLineTextToUpper=function(cm){if(cm.getOption("disableInput")){return CodeMirror.Pass}var ranges=cm.listSelections();var lineAdjustment=-1;for(var i=0;i0){replaceSingleLine(cm,from,to,lineAdjustment)}else if(!isRangeCollapsed(range)){var topLine=from.line0){var upper=from.line===topLine?from:to;var bottom=from.line===topLine?to:from;replaceMultiLine(cm,upper,bottom,lineAdjustment)}}}};CodeMirror.commands.replaceLineTextToLower=function(cm){if(cm.getOption("disableInput")){return CodeMirror.Pass}var ranges=cm.listSelections();var lineAdjustment=1;for(var i=0;i0?bottom:upper;var replacement=cm.getLine(edgeLineOfConcern.line+lineAdjustment);var targetLine=void 0;if(lineAdjustment>0){targetLine=upper}else{targetLine=bottom}cm.replaceRange(replacement,{line:targetLine.line,ch:0},{line:targetLine.line,ch:cm.getLine(targetLine.line).length},"+input");cm.replaceRange(rangeContent,{line:upper.line+lineAdjustment,ch:0},{line:bottom.line+lineAdjustment,ch:cm.getLine(bottom.line+lineAdjustment).length},"+input");cm.setSelection({line:upper.line+lineAdjustment,ch:upper.ch},{line:bottom.line+lineAdjustment,ch:bottom.ch})}},function(module,exports,__webpack_require__){"use strict";var extManager=__webpack_require__(30);var FIND_TASK_RX=/^\s*\* \[[xX ]\] [^\n]*/gm;var FIND_CHECKED_TASK_RX=/^\s*\* \[[xX]\] [^\n]*/gm;extManager.defineExtension("taskCounter",function(editor){editor.getTaskCount=function(){var found=void 0,count=void 0;if(editor.isViewOnly()){count=editor.preview.$el.find(".task-list-item").length}else if(editor.isMarkdownMode()){found=editor.mdEditor.getValue().match(FIND_TASK_RX);count=found?found.length:0}else{count=editor.wwEditor.get$Body().find(".task-list-item").length}return count};editor.getCheckedTaskCount=function(){var found=void 0,count=void 0;if(editor.isViewOnly()){count=editor.preview.$el.find(".task-list-item.checked").length}else if(editor.isMarkdownMode()){found=editor.mdEditor.getValue().match(FIND_CHECKED_TASK_RX);count=found?found.length:0}else{count=editor.wwEditor.get$Body().find(".task-list-item.checked").length}return count}})},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(30);var _extManager2=_interopRequireDefault(_extManager);var _scrollFollow=__webpack_require__(99);var _scrollFollow2=_interopRequireDefault(_scrollFollow);var _scrollFollow3=__webpack_require__(100);var _scrollFollow4=_interopRequireDefault(_scrollFollow3);var _button=__webpack_require__(43);var _button2=_interopRequireDefault(_button);var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_extManager2.default.defineExtension("scrollFollow",function(editor){var className="tui-scrollfollow";var TOOL_TIP={active:_i18n2.default.get("Auto scroll enabled"),inActive:_i18n2.default.get("Auto scroll disabled")};if(editor.isViewOnly()){return}var cm=editor.getCodeMirror();var sectionManager=new _scrollFollow4.default(cm,editor.preview);var scrollSync=new _scrollFollow2.default(sectionManager,cm,editor.preview.$el);var isScrollable=false;var isActive=true;var button=void 0;if(editor.getUI().name==="default"){button=new _button2.default({className:className,command:"scrollFollowToggle",tooltip:TOOL_TIP.active,$el:$('')});editor.getUI().toolbar.addButton(button);changeButtonVisiblityStateIfNeed();editor.on("changeMode",changeButtonVisiblityStateIfNeed);editor.on("changePreviewStyle",changeButtonVisiblityStateIfNeed);editor.addCommand("markdown",{name:"scrollFollowToggle",exec:function exec(){isActive=!isActive;button._onOut();if(isActive){button.$el.addClass("active");button.tooltip=TOOL_TIP.active}else{button.$el.removeClass("active");button.tooltip=TOOL_TIP.inActive}button._onOver()}})}cm.on("change",function(){isScrollable=false;sectionManager.makeSectionList()});function changeButtonVisiblityStateIfNeed(){if(editor.mdPreviewStyle==="vertical"&&editor.currentMode==="markdown"){button.$el.show()}else{button.$el.hide()}}editor.on("previewRenderAfter",function(){sectionManager.sectionMatch();scrollSync.syncPreviewScrollTopToMarkdown();isScrollable=true});editor.eventManager.listen("scroll",function(event){if(!isActive){return}if(isScrollable&&editor.preview.isVisible()){if(event.source==="markdown"&&!scrollSync.isMarkdownScrollEventBlocked){scrollSync.syncPreviewScrollTopToMarkdown()}else if(event.source==="preview"&&!scrollSync.isPreviewScrollEventBlocked){scrollSync.syncMarkdownScrollTopToPreview()}}else{scrollSync.saveScrollInfo()}})})},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0?section.start-1:0,"local");return height}},{key:"_getEditorLineHeightGapInSection",value:function _getEditorLineHeightGapInSection(section,line){var gap=this.cm.heightAtLine(line,"local");gap-=this.cm.heightAtLine(section.start>0?section.start-1:0,"local");return Math.max(gap,0)}},{key:"_getEditorSectionScrollRatio",value:function _getEditorSectionScrollRatio(section,line){var isOneLine=section.end===section.start;var ratio=void 0;if(isOneLine){ratio=0}else{ratio=this._getEditorLineHeightGapInSection(section,line)/this._getEditorSectionHeight(section)}return ratio}},{key:"_getScrollFactorsOfEditor",value:function _getScrollFactorsOfEditor(){var cm=this.cm;var scrollInfo=cm.getScrollInfo();var topLine=void 0,topSection=void 0,ratio=void 0,factors=void 0;scrollInfo=this._fallbackScrollInfoIfIncorrect(scrollInfo);var isEditorBottom=scrollInfo.height-scrollInfo.top<=scrollInfo.clientHeight;if(isEditorBottom){factors={isEditorBottom:isEditorBottom}}else{topLine=cm.coordsChar({left:scrollInfo.left,top:scrollInfo.top},"local").line;topSection=this.sectionManager.sectionByLine(topLine);ratio=this._getEditorSectionScrollRatio(topSection,topLine);factors={section:topSection,sectionRatio:ratio}}return factors}},{key:"_getScrollInfoForMarkdown",value:function _getScrollInfoForMarkdown(){var _this=this;var sectionList=this.sectionManager.getSectionList();var factors=void 0;tui.util.forEachArray(sectionList,function(section){var $div=section.$previewSectionEl;var $preview=$div.parent().parent();var isPreviewBottom=$preview[0].clientHeight-$preview.scrollTop()<=$preview[0].height;var needNext=true;if(isPreviewBottom){factors={isPreviewBottom:isPreviewBottom};needNext=false}else if(_this._isTopSection($preview,$div)){factors={section:section,sectionRatio:_this._getMarkdownEditorScrollRatio($preview,$div)};needNext=false}return needNext});return factors}},{key:"_getMarkdownEditorScrollRatio",value:function _getMarkdownEditorScrollRatio($preview,$div){return($preview.scrollTop()-$div[0].offsetTop)/$div.height()}},{key:"_getScrollTopForPreview",value:function _getScrollTopForPreview(){var scrollTop=void 0;var scrollFactors=this._getScrollFactorsOfEditor();var section=scrollFactors.section;var ratio=scrollFactors.sectionRatio;if(scrollFactors.isEditorBottom){scrollTop=this.$contents.height()}else if(section.$previewSectionEl){scrollTop=section.$previewSectionEl[0].offsetTop;scrollTop+=section.$previewSectionEl.height()*ratio-SCROLL_TOP_PADDING}scrollTop=scrollTop&&Math.max(scrollTop,0);return scrollTop}},{key:"_getScrollTopForMarkdown",value:function _getScrollTopForMarkdown(){var scrollTop=void 0;var scrollFactors=this._getScrollInfoForMarkdown();var ratio=scrollFactors.sectionRatio;if(scrollFactors.isPreviewBottom){scrollTop=this.cm.getScrollInfo().height}else if(scrollFactors.section){var section=scrollFactors.section;var coordsAtStart=this.cm.charCoords({line:section.start,char:0},"local");var coordsAtEnd=this.cm.charCoords({line:section.end,char:0},"local");scrollTop=coordsAtStart.top;scrollTop+=(coordsAtEnd.top-coordsAtStart.top)*ratio}scrollTop=scrollTop&&Math.max(scrollTop,0);return scrollTop}},{key:"syncPreviewScrollTopToMarkdown",value:function syncPreviewScrollTopToMarkdown(){var _this2=this;var $previewContainerEl=this.$previewContainerEl;var sourceScrollTop=$previewContainerEl.scrollTop();var targetScrollTop=this._getScrollTopForPreview();this.isPreviewScrollEventBlocked=true;this._animateRun(sourceScrollTop,targetScrollTop,function(deltaScrollTop){clearTimeout(_this2.releaseTimer);$previewContainerEl.scrollTop(deltaScrollTop);_this2.releaseTimer=setTimeout(function(){_this2.isPreviewScrollEventBlocked=false},SCROLL_BOCKING_RESET_DELAY)})}},{key:"syncMarkdownScrollTopToPreview",value:function syncMarkdownScrollTopToPreview(){var _this3=this;var codeMirror=this.cm;var codeMirrorScrollInfo=codeMirror.getScrollInfo();var sourceScrollTop=codeMirrorScrollInfo.top;var targetScrollTop=this._getScrollTopForMarkdown();this.isMarkdownScrollEventBlocked=true;this._animateRun(sourceScrollTop,targetScrollTop,function(deltaScrollTop){clearTimeout(_this3.releaseTimer);codeMirror.scrollTo(0,deltaScrollTop);_this3.releaseTimer=setTimeout(function(){_this3.isMarkdownScrollEventBlocked=false},SCROLL_BOCKING_RESET_DELAY)})}},{key:"_animateRun",value:function _animateRun(originValue,targetValue,stepCB){var valueDiff=targetValue-originValue,startTime=Date.now(),self=this;if(this._currentTimeoutId){clearTimeout(this._currentTimeoutId)}function step(){var stepTime=Date.now();var progress=(stepTime-startTime)/200;var deltaValue=void 0;if(progress<1){deltaValue=originValue+valueDiff*Math.cos((1-progress)*Math.PI/2);stepCB(Math.ceil(deltaValue));self._currentTimeoutId=setTimeout(step,1)}else{stepCB(targetValue);self._currentTimeoutId=null}}step()}},{key:"_fallbackScrollInfoIfIncorrect",value:function _fallbackScrollInfoIfIncorrect(scrollInfo){return scrollInfo.height<0&&this._savedScrollInfo?this._savedScrollInfo:scrollInfo}},{key:"saveScrollInfo",value:function saveScrollInfo(){this._savedScrollInfo=this.cm.getScrollInfo()}},{key:"_isTopSection",value:function _isTopSection($preview,$div){var previewScrollTop=$preview.scrollTop();var divOffsetTop=$div[0].offsetTop;var divHeight=$div.height();var isSectionBegin=previewScrollTop>=divOffsetTop-PREVIEW_MARGIN_TOP;var isSectionEnd=previewScrollTop>divOffsetTop+divHeight;return isSectionBegin&&!isSectionEnd}}]);return ScrollSync}();module.exports=ScrollSync},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i ?)+\s/;var FIND_IMAGE_RX=/^ {0,3}!\[([^\[\]]*)]\(([^)]*)\)/;var FIND_SETEXT_HEADER_RX=/^ *(?:={1,}|-{1,})\s*$/;var FIND_CODEBLOCK_END_RX=/^ *(`{3,}|~{3,})[ ]*$/;var FIND_CODEBLOCK_START_RX=/^ *(`{3,}|~{3,})[ .]*(\S+)? */;var FIND_SPACE=/\s/g;var SectionManager=function(){function SectionManager(cm,preview){_classCallCheck(this,SectionManager);this.cm=cm;this.preview=preview;this.$previewContent=preview.$el.find(".tui-editor-contents");this._sectionList=null;this._currentSection=null}_createClass(SectionManager,[{key:"_addNewSection",value:function _addNewSection(start,end){var newSection=this._makeSectionData(start,end);this._sectionList.push(newSection);this._currentSection=newSection}},{key:"getSectionList",value:function getSectionList(){return this._sectionList}},{key:"_makeSectionData",value:function _makeSectionData(start,end){return{start:start,end:end,$previewSectionEl:null}}},{key:"_updateCurrentSectionEnd",value:function _updateCurrentSectionEnd(end){this._currentSection.end=end}},{key:"_eachLineState",value:function _eachLineState(iteratee){var isSection=void 0,i=void 0,lineString=void 0,nextLineString=void 0,prevLineString=void 0,isTrimming=true,onTable=false,onCodeBlock=false,trimCapture="";var isRightAfterImageSection=false;var isEnsuredSection=false;var codeblockStartLineIndex=void 0;var lineLength=this.cm.getDoc().lineCount();for(i=0;i
    ");_this2._sectionList[index].$previewSectionEl=$(childs).wrapAll($sectionDiv).parent()}})}},{key:"_getPreviewSections",value:function _getPreviewSections(){var sections=[];var lastSection=0;var isRightAfterImageSection=false;sections[0]=[];this.$previewContent.contents().filter(findElementNodeFilter).each(function(index,el){var isParagraph=el.tagName==="P";var isHeading=el.tagName.match(/^(H1|H2|H3|H4|H5|H6)$/);var isImage=isParagraph&&el.childNodes[0].nodeName==="IMG";if((isHeading||isImage||isRightAfterImageSection)&§ions[lastSection].length){sections.push([]);lastSection+=1;isRightAfterImageSection=false}if(isImage){isRightAfterImageSection=true}sections[lastSection].push(el)});return sections}},{key:"sectionByLine",value:function sectionByLine(line){var sectionIndex=void 0;var sectionList=this._sectionList;var sectionLength=sectionList.length;for(sectionIndex=0;sectionIndex(.*?)/g;var colorHtmlCompleteRx=/(.*?)<\/span>/g;var decimalColorRx=/rgb\((\d+)[, ]+(\d+)[, ]+(\d+)\)/g;var RESET_COLOR="#181818";_extManager2.default.defineExtension("colorSyntax",function(editor){var useCustomSyntax=false;var preset=void 0;if(editor.options.colorSyntax){useCustomSyntax=!!editor.options.colorSyntax.useCustomSyntax;preset=editor.options.colorSyntax.preset}editor.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){var replacement=void 0;if(!useCustomSyntax){replacement=html}else{replacement=html.replace(colorSyntaxRx,function(matched,p1,p2){return makeHTMLColorSyntax(p2,p1)})}return replacement});editor.eventManager.listen("convertorAfterHtmlToMarkdownConverted",function(markdown){var findRx=useCustomSyntax?colorHtmlCompleteRx:colorHtmlRx;return markdown.replace(findRx,function(founded,color,text){var replacement=void 0;if(color.match(decimalColorRx)){color=changeDecColorToHex(color)}if(!useCustomSyntax){replacement=founded.replace(/ ?class="colour" ?/g," ").replace(decimalColorRx,color)}else{replacement=makeCustomColorSyntax(text,color)}return replacement})});if(!editor.isViewOnly()&&editor.getUI().name==="default"){editor.addCommand("markdown",{name:"color",exec:function exec(mde,color){var cm=mde.getEditor();if(!color){return}if(!useCustomSyntax){cm.replaceSelection(makeHTMLColorSyntax(cm.getSelection(),color))}else{cm.replaceSelection(makeCustomColorSyntax(cm.getSelection(),color))}mde.focus()}});editor.addCommand("wysiwyg",{name:"color",exec:function exec(wwe,color){var sq=wwe.getEditor();if(!color){return}if(!sq.hasFormat("PRE")){if(color===RESET_COLOR){sq.changeFormat(null,{class:"colour",tag:"span"})}else{sq.setTextColour(color)}}sq.focus()}});initUI(editor,preset)}});function initUI(editor,preset){var className="tui-color";editor.eventManager.addEventType("colorButtonClicked");editor.getUI().toolbar.addButton({className:className,event:"colorButtonClicked",tooltip:_i18n2.default.get("Text color")},2);var $button=editor.getUI().toolbar.$el.find("button."+className);var $colorPickerContainer=$("
    ");var $buttonBar=$('');var cpOptions={container:$colorPickerContainer[0]};if(preset){cpOptions.preset=preset}var colorPicker=tui.component.colorpicker.create(cpOptions);var selectedColor=colorPicker.getColor();$colorPickerContainer.append($buttonBar);var popup=editor.getUI().createPopup({title:false,content:$colorPickerContainer,className:"tui-popup-color",$target:editor.getUI().$el,css:{width:"auto",position:"absolute"}});editor.eventManager.listen("focus",function(){popup.hide()});editor.eventManager.listen("colorButtonClicked",function(){editor.eventManager.emit("closeAllPopup");if(popup.isShow()){popup.hide()}else{popup.$el.css({top:$button.position().top+$button.height()+5,left:$button.position().left});popup.show();colorPicker.slider.toggle(true)}});editor.eventManager.listen("closeAllPopup",function(){popup.hide()});editor.eventManager.listen("removeEditor",function(){colorPicker.off("selectColor")});colorPicker.on("selectColor",function(e){selectedColor=e.color;if(e.origin==="palette"){editor.exec("color",selectedColor);popup.hide()}});popup.$el.find(".te-apply-button").on("click",function(){editor.exec("color",selectedColor)})}function makeCustomColorSyntax(text,color){return"{color:"+color+"}"+text+"{color}"}function makeHTMLColorSyntax(text,color){return''+text+""}function changeDecColorToHex(color){return color.replace(decimalColorRx,function(colorValue,r,g,b){r=parseInt(r,10);g=parseInt(g,10);b=parseInt(b,10);var colorHexValue=get2DigitNumberString(r.toString(16))+get2DigitNumberString(g.toString(16))+get2DigitNumberString(b.toString(16));return"#"+colorHexValue})}function get2DigitNumberString(numberStr){return numberStr==="0"?"00":numberStr}},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(30);var _extManager2=_interopRequireDefault(_extManager);var _markerList=__webpack_require__(103);var _markerList2=_interopRequireDefault(_markerList);var _markerManager=__webpack_require__(104);var _markerManager2=_interopRequireDefault(_markerManager);var _wysiwygMarkerHelper=__webpack_require__(106);var _wysiwygMarkerHelper2=_interopRequireDefault(_wysiwygMarkerHelper);var _viewOnlyMarkerHelper=__webpack_require__(107);var _viewOnlyMarkerHelper2=_interopRequireDefault(_viewOnlyMarkerHelper);var _markdownMarkerHelper=__webpack_require__(108);var _markdownMarkerHelper2=_interopRequireDefault(_markdownMarkerHelper);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var MARKER_UPDATE_DELAY=100;var FIND_CRLF_RX=/(\n)|(\r\n)|(\r)/g;_extManager2.default.defineExtension("mark",function(editor){var ml=new _markerList2.default;var mm=new _markerManager2.default(ml);var wmh=void 0,mmh=void 0,vmh=void 0;editor.eventManager.addEventType("markerUpdated");if(editor.isViewOnly()){vmh=new _viewOnlyMarkerHelper2.default(editor.preview)}else{wmh=new _wysiwygMarkerHelper2.default(editor.getSquire());mmh=new _markdownMarkerHelper2.default(editor.getCodeMirror())}function getHelper(){var helper=void 0;if(editor.isViewOnly()){helper=vmh}else if(editor.isWysiwygMode()){helper=wmh}else{helper=mmh}return helper}function updateMarkWhenResizing(){var helper=getHelper();ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll())}$(window).on("resize",updateMarkWhenResizing);editor.on("removeEditor",function(){$(window).off("resize",updateMarkWhenResizing)});editor.on("setMarkdownAfter",function(){var helper=getHelper();mm.resetContent(helper.getTextContent())});editor.setValueWithMarkers=function(value,markerDataCollection){var helper=void 0;ml.resetMarkers();markerDataCollection.forEach(function(markerData){ml.addMarker(markerData.start,markerData.end,markerData.id)});editor.setValue(value);mm.resetContent(value.replace(FIND_CRLF_RX,""));if(editor.isViewOnly()||editor.isWysiwygMode()){helper=getHelper();mm.updateMarkersByContent(helper.getTextContent())}else{helper=mmh}ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll());return ml.getAll()};editor.getMarker=function(id){return ml.getMarker(id)};editor.getMarkersAll=function(){return ml.getAll()};editor.removeMarker=function(id){return ml.removeMarker(id)};editor.exportMarkers=function(){var markersData=void 0;if(editor.isMarkdownMode()){markersData=ml.getMarkersData()}else if(editor.isViewOnly()||editor.isWysiwygMode()){mm.updateMarkersByContent(editor.getValue().replace(FIND_CRLF_RX,""));markersData=ml.getMarkersData();mm.updateMarkersByContent(getHelper().getTextContent())}return markersData};editor.selectMarker=function(id){var helper=getHelper();var marker=editor.getMarker(id);if(marker){helper.selectOffsetRange(marker.start,marker.end)}};editor.addMarker=function(start,end,id){var marker=void 0;var helper=getHelper();if(!id){id=start;marker=helper.getMarkerInfoOfCurrentSelection()}else{marker={start:start,end:end};marker=helper.updateMarkerWithExtraInfo(marker)}if(marker){marker.id=id;marker=ml.addMarker(marker);ml.sortBy("end");editor.eventManager.emit("markerUpdated",[marker])}return marker};editor.clearSelect=function(){getHelper().clearSelect()};if(!editor.isViewOnly()){editor.on("changeMode",function(){editor._updateMarkers()});editor.on("change",util.debounce(function(){editor._updateMarkers()},MARKER_UPDATE_DELAY));editor._updateMarkers=function(){var helper=getHelper();if(!ml.getAll().length){return}mm.updateMarkersByContent(helper.getTextContent());ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll())}}})},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;iend||marker.end>start){return true}return false});return rangeMarkers}},{key:"getAll",value:function getAll(){return this._sortedMarkers}},{key:"resetMarkers",value:function resetMarkers(){this._sortedMarkers=[];this._markersWithId={}}},{key:"sortBy",value:function sortBy(rangeKey){this._sortedMarkers.sort(function(a,b){return a[rangeKey]-b[rangeKey]})}},{key:"getMarkersData",value:function getMarkersData(){return this.getAll().map(function(marker){return{start:marker.start,end:marker.end,id:marker.id}})}}]);return Markerlist}();module.exports=Markerlist},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;imarker.start){startDiff=start-marker.start}else{startDiff=0}return startDiff}},{key:"_calculateEndDiff",value:function _calculateEndDiff(start,end,diff,marker){var endDiff=void 0;if(end<=marker.end){endDiff=diff}else if(start<=marker.end&&end>marker.start){endDiff=start-marker.end}else{endDiff=0}return endDiff}},{key:"_getUpdateMarkersWithDiffs",value:function _getUpdateMarkersWithDiffs(markerDiffs){var updatedMarkers=[],markerList=this.markerList;util.forEachOwnProperties(markerDiffs,function(markerDiff,id){var marker=markerList.getMarker(id);markerList.updateMarker(id,{start:marker.start+=markerDiff.start,end:marker.end+=markerDiff.end});updatedMarkers.push(marker)});return updatedMarkers}}]);return MarkerManager}();module.exports=MarkerManager},function(module,exports){"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1e3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1;var DIFF_INSERT=1;var DIFF_EQUAL=0;diff_match_patch.Diff;diff_match_patch.prototype.diff_main=function(text1,text2,opt_checklines,opt_deadline){if(typeof opt_deadline=="undefined"){if(this.Diff_Timeout<=0){opt_deadline=Number.MAX_VALUE}else{opt_deadline=(new Date).getTime()+this.Diff_Timeout*1e3}}var deadline=opt_deadline;if(text1==null||text2==null){throw new Error("Null input. (diff_main)")}if(text1==text2){if(text1){return[[DIFF_EQUAL,text1]]}return[]}if(typeof opt_checklines=="undefined"){opt_checklines=true}var checklines=opt_checklines;var commonlength=this.diff_commonPrefix(text1,text2);var commonprefix=text1.substring(0,commonlength);text1=text1.substring(commonlength);text2=text2.substring(commonlength);commonlength=this.diff_commonSuffix(text1,text2);var commonsuffix=text1.substring(text1.length-commonlength);text1=text1.substring(0,text1.length-commonlength);text2=text2.substring(0,text2.length-commonlength);var diffs=this.diff_compute_(text1,text2,checklines,deadline);if(commonprefix){diffs.unshift([DIFF_EQUAL,commonprefix])}if(commonsuffix){diffs.push([DIFF_EQUAL,commonsuffix])}this.diff_cleanupMerge(diffs);return diffs};diff_match_patch.prototype.diff_compute_=function(text1,text2,checklines,deadline){var diffs;if(!text1){return[[DIFF_INSERT,text2]]}if(!text2){return[[DIFF_DELETE,text1]]}var longtext=text1.length>text2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;var i=longtext.indexOf(shorttext);if(i!=-1){diffs=[[DIFF_INSERT,longtext.substring(0,i)],[DIFF_EQUAL,shorttext],[DIFF_INSERT,longtext.substring(i+shorttext.length)]];if(text1.length>text2.length){diffs[0][0]=diffs[2][0]=DIFF_DELETE}return diffs}if(shorttext.length==1){return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]}var hm=this.diff_halfMatch_(text1,text2);if(hm){var text1_a=hm[0];var text1_b=hm[1];var text2_a=hm[2];var text2_b=hm[3];var mid_common=hm[4];var diffs_a=this.diff_main(text1_a,text2_a,checklines,deadline);var diffs_b=this.diff_main(text1_b,text2_b,checklines,deadline);return diffs_a.concat([[DIFF_EQUAL,mid_common]],diffs_b)}if(checklines&&text1.length>100&&text2.length>100){return this.diff_lineMode_(text1,text2,deadline)}return this.diff_bisect_(text1,text2,deadline)};diff_match_patch.prototype.diff_lineMode_=function(text1,text2,deadline){var a=this.diff_linesToChars_(text1,text2);text1=a.chars1;text2=a.chars2;var linearray=a.lineArray;var diffs=this.diff_main(text1,text2,false,deadline);this.diff_charsToLines_(diffs,linearray);this.diff_cleanupSemantic(diffs);diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";while(pointer=1&&count_insert>=1){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert);pointer=pointer-count_delete-count_insert;var a=this.diff_main(text_delete,text_insert,false,deadline);for(var j=a.length-1;j>=0;j--){diffs.splice(pointer,0,a[j])}pointer=pointer+a.length}count_insert=0;count_delete=0;text_delete="";text_insert="";break}pointer++}diffs.pop();return diffs};diff_match_patch.prototype.diff_bisect_=function(text1,text2,deadline){var text1_length=text1.length;var text2_length=text2.length;var max_d=Math.ceil((text1_length+text2_length)/2);var v_offset=max_d;var v_length=2*max_d;var v1=new Array(v_length);var v2=new Array(v_length);for(var x=0;xdeadline){break}for(var k1=-d+k1start;k1<=d-k1end;k1+=2){var k1_offset=v_offset+k1;var x1;if(k1==-d||k1!=d&&v1[k1_offset-1]text1_length){k1end+=2}else if(y1>text2_length){k1start+=2}else if(front){var k2_offset=v_offset+delta-k1;if(k2_offset>=0&&k2_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}for(var k2=-d+k2start;k2<=d-k2end;k2+=2){var k2_offset=v_offset+k2;var x2;if(k2==-d||k2!=d&&v2[k2_offset-1]text1_length){k2end+=2}else if(y2>text2_length){k2start+=2}else if(!front){var k1_offset=v_offset+delta-k2;if(k1_offset>=0&&k1_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}}return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]};diff_match_patch.prototype.diff_bisectSplit_=function(text1,text2,x,y,deadline){var text1a=text1.substring(0,x);var text2a=text2.substring(0,y);var text1b=text1.substring(x);var text2b=text2.substring(y);var diffs=this.diff_main(text1a,text2a,false,deadline);var diffsb=this.diff_main(text1b,text2b,false,deadline);return diffs.concat(diffsb)};diff_match_patch.prototype.diff_linesToChars_=function(text1,text2){var lineArray=[];var lineHash={};lineArray[0]="";function diff_linesToCharsMunge_(text){var chars="";var lineStart=0;var lineEnd=-1;var lineArrayLength=lineArray.length;while(lineEndtext2_length){text1=text1.substring(text1_length-text2_length)}else if(text1_lengthtext2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;if(longtext.length<4||shorttext.length*2=longtext.length){return[best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b,best_common]}else{return null}}var hm1=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/4));var hm2=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/2));var hm;if(!hm1&&!hm2){return null}else if(!hm2){hm=hm1}else if(!hm1){hm=hm2}else{hm=hm1[4].length>hm2[4].length?hm1:hm2}var text1_a,text1_b,text2_a,text2_b;if(text1.length>text2.length){text1_a=hm[0];text1_b=hm[1];text2_a=hm[2];text2_b=hm[3]}else{text2_a=hm[0];text2_b=hm[1];text1_a=hm[2];text1_b=hm[3]}var mid_common=hm[4];return[text1_a,text1_b,text2_a,text2_b,mid_common]};diff_match_patch.prototype.diff_cleanupSemantic=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var length_insertions1=0;var length_deletions1=0;var length_insertions2=0;var length_deletions2=0;while(pointer0?equalities[equalitiesLength-1]:-1;length_insertions1=0;length_deletions1=0;length_insertions2=0;length_deletions2=0;lastequality=null;changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}this.diff_cleanupSemanticLossless(diffs);pointer=1;while(pointer=overlap_length2){if(overlap_length1>=deletion.length/2||overlap_length1>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,insertion.substring(0,overlap_length1)]);diffs[pointer-1][1]=deletion.substring(0,deletion.length-overlap_length1);diffs[pointer+1][1]=insertion.substring(overlap_length1);pointer++}}else{if(overlap_length2>=deletion.length/2||overlap_length2>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,deletion.substring(0,overlap_length2)]);diffs[pointer-1][0]=DIFF_INSERT;diffs[pointer-1][1]=insertion.substring(0,insertion.length-overlap_length2);diffs[pointer+1][0]=DIFF_DELETE;diffs[pointer+1][1]=deletion.substring(overlap_length2);pointer++}}pointer++}pointer++}};diff_match_patch.prototype.diff_cleanupSemanticLossless=function(diffs){function diff_cleanupSemanticScore_(one,two){if(!one||!two){return 6}var char1=one.charAt(one.length-1);var char2=two.charAt(0);var nonAlphaNumeric1=char1.match(diff_match_patch.nonAlphaNumericRegex_);var nonAlphaNumeric2=char2.match(diff_match_patch.nonAlphaNumericRegex_);var whitespace1=nonAlphaNumeric1&&char1.match(diff_match_patch.whitespaceRegex_);var whitespace2=nonAlphaNumeric2&&char2.match(diff_match_patch.whitespaceRegex_);var lineBreak1=whitespace1&&char1.match(diff_match_patch.linebreakRegex_);var lineBreak2=whitespace2&&char2.match(diff_match_patch.linebreakRegex_);var blankLine1=lineBreak1&&one.match(diff_match_patch.blanklineEndRegex_);var blankLine2=lineBreak2&&two.match(diff_match_patch.blanklineStartRegex_);if(blankLine1||blankLine2){return 5}else if(lineBreak1||lineBreak2){return 4}else if(nonAlphaNumeric1&&!whitespace1&&whitespace2){return 3}else if(whitespace1||whitespace2){return 2}else if(nonAlphaNumeric1||nonAlphaNumeric2){return 1}return 0}var pointer=1;while(pointer=bestScore){bestScore=score;bestEquality1=equality1;bestEdit=edit;bestEquality2=equality2}}if(diffs[pointer-1][1]!=bestEquality1){if(bestEquality1){diffs[pointer-1][1]=bestEquality1}else{diffs.splice(pointer-1,1);pointer--}diffs[pointer][1]=bestEdit;if(bestEquality2){diffs[pointer+1][1]=bestEquality2}else{diffs.splice(pointer+1,1);pointer--}}}pointer++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\s/;diff_match_patch.linebreakRegex_=/[\r\n]/;diff_match_patch.blanklineEndRegex_=/\n\r?\n$/;diff_match_patch.blanklineStartRegex_=/^\r?\n\r?\n/;diff_match_patch.prototype.diff_cleanupEfficiency=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var pre_ins=false;var pre_del=false;var post_ins=false;var post_del=false;while(pointer0?equalities[equalitiesLength-1]:-1;post_ins=post_del=false}changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch.prototype.diff_cleanupMerge=function(diffs){diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";var commonlength;while(pointer1){if(count_delete!==0&&count_insert!==0){commonlength=this.diff_commonPrefix(text_insert,text_delete);if(commonlength!==0){if(pointer-count_delete-count_insert>0&&diffs[pointer-count_delete-count_insert-1][0]==DIFF_EQUAL){diffs[pointer-count_delete-count_insert-1][1]+=text_insert.substring(0,commonlength)}else{diffs.splice(0,0,[DIFF_EQUAL,text_insert.substring(0,commonlength)]);pointer++}text_insert=text_insert.substring(commonlength);text_delete=text_delete.substring(commonlength)}commonlength=this.diff_commonSuffix(text_insert,text_delete);if(commonlength!==0){diffs[pointer][1]=text_insert.substring(text_insert.length-commonlength)+diffs[pointer][1];text_insert=text_insert.substring(0,text_insert.length-commonlength);text_delete=text_delete.substring(0,text_delete.length-commonlength)}}if(count_delete===0){diffs.splice(pointer-count_insert,count_delete+count_insert,[DIFF_INSERT,text_insert])}else if(count_insert===0){diffs.splice(pointer-count_delete,count_delete+count_insert,[DIFF_DELETE,text_delete])}else{diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete],[DIFF_INSERT,text_insert])}pointer=pointer-count_delete-count_insert+(count_delete?1:0)+(count_insert?1:0)+1}else if(pointer!==0&&diffs[pointer-1][0]==DIFF_EQUAL){diffs[pointer-1][1]+=diffs[pointer][1];diffs.splice(pointer,1)}else{pointer++}count_insert=0;count_delete=0;text_delete="";text_insert="";break}}if(diffs[diffs.length-1][1]===""){diffs.pop()}var changes=false;pointer=1;while(pointerloc){break}last_chars1=chars1;last_chars2=chars2}if(diffs.length!=x&&diffs[x][0]===DIFF_DELETE){return last_chars2}return last_chars2+(loc-last_chars1)};diff_match_patch.prototype.diff_prettyHtml=function(diffs){var html=[];var pattern_amp=/&/g;var pattern_lt=//g;var pattern_para=/\n/g;for(var x=0;x");switch(op){case DIFF_INSERT:html[x]=''+text+"";break;case DIFF_DELETE:html[x]=''+text+"";break;case DIFF_EQUAL:html[x]=""+text+"";break}}return html.join("")};diff_match_patch.prototype.diff_text1=function(diffs){var text=[];for(var x=0;xthis.Match_MaxBits){throw new Error("Pattern too long for this browser.")}var s=this.match_alphabet_(pattern);var dmp=this;function match_bitapScore_(e,x){var accuracy=e/pattern.length;var proximity=Math.abs(loc-x);if(!dmp.Match_Distance){return proximity?1:accuracy}return accuracy+proximity/dmp.Match_Distance}var score_threshold=this.Match_Threshold;var best_loc=text.indexOf(pattern,loc);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold);best_loc=text.lastIndexOf(pattern,loc+pattern.length);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold)}}var matchmask=1<=start;j--){var charMatch=s[text.charAt(j-1)];if(d===0){rd[j]=(rd[j+1]<<1|1)&charMatch}else{rd[j]=(rd[j+1]<<1|1)&charMatch|((last_rd[j+1]|last_rd[j])<<1|1)|last_rd[j+1]}if(rd[j]&matchmask){var score=match_bitapScore_(d,j-1);if(score<=score_threshold){score_threshold=score;best_loc=j-1;if(best_loc>loc){start=Math.max(1,2*loc-best_loc)}else{break}}}}if(match_bitapScore_(d+1,loc)>score_threshold){break}last_rd=rd}return best_loc};diff_match_patch.prototype.match_alphabet_=function(pattern){var s={};for(var i=0;i2){this.diff_cleanupSemantic(diffs);this.diff_cleanupEfficiency(diffs)}}else if(a&&(typeof a==="undefined"?"undefined":_typeof(a))=="object"&&typeof opt_b=="undefined"&&typeof opt_c=="undefined"){diffs=a;text1=this.diff_text1(diffs)}else if(typeof a=="string"&&opt_b&&(typeof opt_b==="undefined"?"undefined":_typeof(opt_b))=="object"&&typeof opt_c=="undefined"){text1=a;diffs=opt_b}else if(typeof a=="string"&&typeof opt_b=="string"&&opt_c&&(typeof opt_c==="undefined"?"undefined":_typeof(opt_c))=="object"){text1=a;diffs=opt_c}else{throw new Error("Unknown call format to patch_make.")}if(diffs.length===0){return[]}var patches=[];var patch=new diff_match_patch.patch_obj;var patchDiffLength=0;var char_count1=0;var char_count2=0;var prepatch_text=text1;var postpatch_text=text1;for(var x=0;x=2*this.Patch_Margin){if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch);patch=new diff_match_patch.patch_obj;patchDiffLength=0;prepatch_text=postpatch_text;char_count1=char_count2}}break}if(diff_type!==DIFF_INSERT){char_count1+=diff_text.length}if(diff_type!==DIFF_DELETE){char_count2+=diff_text.length}}if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch)}return patches};diff_match_patch.prototype.patch_deepCopy=function(patches){var patchesCopy=[];for(var x=0;xthis.Match_MaxBits){start_loc=this.match_main(text,text1.substring(0,this.Match_MaxBits),expected_loc);if(start_loc!=-1){end_loc=this.match_main(text,text1.substring(text1.length-this.Match_MaxBits),expected_loc+text1.length-this.Match_MaxBits);if(end_loc==-1||start_loc>=end_loc){start_loc=-1}}}else{start_loc=this.match_main(text,text1,expected_loc)}if(start_loc==-1){results[x]=false;delta-=patches[x].length2-patches[x].length1}else{results[x]=true;delta=start_loc-expected_loc;var text2;if(end_loc==-1){text2=text.substring(start_loc,start_loc+text1.length)}else{text2=text.substring(start_loc,end_loc+this.Match_MaxBits)}if(text1==text2){text=text.substring(0,start_loc)+this.diff_text2(patches[x].diffs)+text.substring(start_loc+text1.length)}else{var diffs=this.diff_main(text1,text2,false);if(text1.length>this.Match_MaxBits&&this.diff_levenshtein(diffs)/text1.length>this.Patch_DeleteThreshold){results[x]=false}else{this.diff_cleanupSemanticLossless(diffs);var index1=0;var index2;for(var y=0;ydiffs[0][1].length){var extraLength=paddingLength-diffs[0][1].length;diffs[0][1]=nullPadding.substring(diffs[0][1].length)+diffs[0][1];patch.start1-=extraLength;patch.start2-=extraLength;patch.length1+=extraLength;patch.length2+=extraLength}patch=patches[patches.length-1];diffs=patch.diffs;if(diffs.length==0||diffs[diffs.length-1][0]!=DIFF_EQUAL){diffs.push([DIFF_EQUAL,nullPadding]);patch.length1+=paddingLength;patch.length2+=paddingLength}else if(paddingLength>diffs[diffs.length-1][1].length){var extraLength=paddingLength-diffs[diffs.length-1][1].length;diffs[diffs.length-1][1]+=nullPadding.substring(0,extraLength);patch.length1+=extraLength;patch.length2+=extraLength}return nullPadding};diff_match_patch.prototype.patch_splitMax=function(patches){var patch_size=this.Match_MaxBits;for(var x=0;x2*patch_size){patch.length1+=diff_text.length;start1+=diff_text.length;empty=false;patch.diffs.push([diff_type,diff_text]);bigpatch.diffs.shift()}else{diff_text=diff_text.substring(0,patch_size-patch.length1-this.Patch_Margin);patch.length1+=diff_text.length;start1+=diff_text.length;if(diff_type===DIFF_EQUAL){patch.length2+=diff_text.length;start2+=diff_text.length}else{empty=false}patch.diffs.push([diff_type,diff_text]);if(diff_text==bigpatch.diffs[0][1]){bigpatch.diffs.shift()}else{bigpatch.diffs[0][1]=bigpatch.diffs[0][1].substring(diff_text.length)}}}precontext=this.diff_text2(patch.diffs);precontext=precontext.substring(precontext.length-this.Patch_Margin);var postcontext=this.diff_text1(bigpatch.diffs).substring(0,this.Patch_Margin);if(postcontext!==""){patch.length1+=postcontext.length;patch.length2+=postcontext.length;if(patch.diffs.length!==0&&patch.diffs[patch.diffs.length-1][0]===DIFF_EQUAL){patch.diffs[patch.diffs.length-1][1]+=postcontext}else{patch.diffs.push([DIFF_EQUAL,postcontext])}}if(!empty){patches.splice(++x,0,patch)}}}};diff_match_patch.prototype.patch_toText=function(patches){var text=[];for(var x=0;xhead.line||anchor.line===head.line&&anchor.ch>head.ch;if(isReversedSelection){var temp=head;head=anchor;anchor=temp}return{anchor:anchor,head:head}}},{key:"_findOffsetCursor",value:function _findOffsetCursor(offsetlist){var doc=this.cm.getDoc();var beforeLength=0;var result=[];var lineLength=doc.lineCount();var offsetIndex=0;var currentLength=0;var lineIndex=void 0;for(lineIndex=0;lineIndex=offsetlist[offsetIndex]){result.push({line:lineIndex,ch:offsetlist[offsetIndex]-beforeLength});offsetIndex+=1;if(util.isUndefined(offsetlist[offsetIndex])){return result}}beforeLength=currentLength}while(!util.isUndefined(offsetlist[offsetIndex])){result.push({line:lineIndex,ch:currentLength-beforeLength});offsetIndex+=1}return result}},{key:"selectOffsetRange",value:function selectOffsetRange(start,end){var foundCursor=this._findOffsetCursor([start,end]);this.cm.setSelection({line:foundCursor[0].line,ch:foundCursor[0].ch},{line:foundCursor[1].line,ch:foundCursor[1].ch})}},{key:"clearSelect",value:function clearSelect(){var selection=this.cm.getDoc().listSelections()[0];if(selection){this.cm.setCursor(selection.to())}}}]);return MarkdownMarkerHelper}();module.exports=MarkdownMarkerHelper},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(30);var _extManager2=_interopRequireDefault(_extManager);var _mergedTableCreator=__webpack_require__(110);var _mergedTableCreator2=_interopRequireDefault(_mergedTableCreator);var _tableUnmergePreparer=__webpack_require__(113);var _tableUnmergePreparer2=_interopRequireDefault(_tableUnmergePreparer);var _toMarkRenderer=__webpack_require__(114);var _toMarkRenderer2=_interopRequireDefault(_toMarkRenderer);var _wwMergedTableManager=__webpack_require__(115);var _wwMergedTableManager2=_interopRequireDefault(_wwMergedTableManager);var _wwMergedTableSelectionManager=__webpack_require__(117);var _wwMergedTableSelectionManager2=_interopRequireDefault(_wwMergedTableSelectionManager);var _mergedTableAddRow=__webpack_require__(118);var _mergedTableAddRow2=_interopRequireDefault(_mergedTableAddRow);var _mergedTableAddCol=__webpack_require__(119);var _mergedTableAddCol2=_interopRequireDefault(_mergedTableAddCol);var _mergedTableRemoveRow=__webpack_require__(120);var _mergedTableRemoveRow2=_interopRequireDefault(_mergedTableRemoveRow);var _mergedTableRemoveCol=__webpack_require__(121);var _mergedTableRemoveCol2=_interopRequireDefault(_mergedTableRemoveCol);var _mergedTableAlignCol=__webpack_require__(122);var _mergedTableAlignCol2=_interopRequireDefault(_mergedTableAlignCol);var _mergeCell=__webpack_require__(123);var _mergeCell2=_interopRequireDefault(_mergeCell);var _unmergeCell=__webpack_require__(124);var _unmergeCell2=_interopRequireDefault(_unmergeCell);var _mergedTableUI=__webpack_require__(125);var _mergedTableUI2=_interopRequireDefault(_mergedTableUI);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}__webpack_require__(126);_extManager2.default.defineExtension("tableExtension",function(editor){var eventManager=editor.eventManager;editor.toMarkOptions=editor.toMarkOptions||{};editor.toMarkOptions.renderer=_toMarkRenderer2.default;_bindEvents(eventManager);if(editor.isViewOnly()){return}var wwComponentManager=editor.wwEditor.componentManager;var popupTableUtils=editor._ui.popupTableUtils;_addCommands(editor);_changeWysiwygManagers(wwComponentManager);if(editor._ui.popupTableUtils){_mergedTableUI2.default.updateContextMenu(popupTableUtils,eventManager,wwComponentManager.getManager("tableSelection"))}});function _addCommands(editor){editor.addCommand(_mergeCell2.default);editor.addCommand(_unmergeCell2.default)}function _changeWysiwygManagers(wwComponentManager){wwComponentManager.removeManager("table");wwComponentManager.removeManager("tableSelection");wwComponentManager.addManager(_wwMergedTableManager2.default);wwComponentManager.addManager(_wwMergedTableSelectionManager2.default)}function _changeHtml(html,onChangeTable){var $tempDiv=$("
    "+html+"
    ");var $tables=$tempDiv.find("table");if($tables.length){$tables.get().forEach(function(tableElement){var changedTableElement=onChangeTable(tableElement);$(tableElement).replaceWith(changedTableElement)});html=$tempDiv.html()}return html}function _snatchWysiwygCommand(commandWrapper){var command=commandWrapper.command;if(!command.isWWType()){return}switch(command.getName()){case"AddRow":commandWrapper.command=_mergedTableAddRow2.default;break;case"AddCol":commandWrapper.command=_mergedTableAddCol2.default;break;case"RemoveRow":commandWrapper.command=_mergedTableRemoveRow2.default;break;case"RemoveCol":commandWrapper.command=_mergedTableRemoveCol2.default;break;case"AlignCol":commandWrapper.command=_mergedTableAlignCol2.default;break;default:}}function _bindEvents(eventManager){eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){return _changeHtml(html,_mergedTableCreator2.default)});eventManager.listen("convertorBeforeHtmlToMarkdownConverted",function(html){return _changeHtml(html,_tableUnmergePreparer2.default)});eventManager.listen("addCommandBefore",_snatchWysiwygCommand)}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"])_i["return"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}}();exports._extractPropertiesForMerge=_extractPropertiesForMerge;exports._parseTableCell=_parseTableCell;exports._createTableObjectFrom$Table=_createTableObjectFrom$Table;exports._divideTrs=_divideTrs;exports._mergeByColspan=_mergeByColspan;exports._getRemovalTdCountsByRowspan=_getRemovalTdCountsByRowspan;exports._mergeByRowspan=_mergeByRowspan;exports.default=createMergedTable;var _tableRenderer=__webpack_require__(111);var _tableRenderer2=_interopRequireDefault(_tableRenderer);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _extractPropertiesForMerge(value,type,oppossitType){var regex=new RegExp("^((?:"+oppossitType+"=[0-9]+:)?)"+type+"=([0-9]+):(.*)");var regexResult=regex.exec(value);var mergeCount=1;if(regexResult){mergeCount=parseInt(regexResult[2],10);value=regexResult[1]+regexResult[3]}return[mergeCount,value]}function _parseTableCell(cell){var nodeName=cell.nodeName;var align=cell.align||"";var content=cell.innerHTML.trim();var colspan=null;var rowspan=null;var _extractPropertiesFor=_extractPropertiesForMerge(content,"@cols","@rows");var _extractPropertiesFor2=_slicedToArray(_extractPropertiesFor,2);colspan=_extractPropertiesFor2[0];content=_extractPropertiesFor2[1];var _extractPropertiesFor3=_extractPropertiesForMerge(content,"@rows","@cols");var _extractPropertiesFor4=_slicedToArray(_extractPropertiesFor3,2);rowspan=_extractPropertiesFor4[0];content=_extractPropertiesFor4[1];return{nodeName:nodeName,colspan:colspan,rowspan:rowspan,content:content,align:align}}function _createTableObjectFrom$Table($table){return $table.find("tr").get().map(function(tr){return $(tr).find("td, th").get().map(_parseTableCell)})}function _findIndex(arr,onFind){var foundIndex=-1;tui.util.forEach(arr,function(item,index){var nextFind=true;if(onFind(item,index)){foundIndex=index;nextFind=false}return nextFind});return foundIndex}function _divideTrs(trs){var tbodyStartIndex=_findIndex(trs,function(tr){return tr[0].nodeName==="TD"});return[trs.slice(0,tbodyStartIndex),trs.slice(tbodyStartIndex)]}function _mergeByColspan(trs){trs.forEach(function(tr){var tdCount=tr.length;var removalCount=0;tr.forEach(function(td){removalCount+=td.colspan-1});tr.splice(tdCount-removalCount)})}function _getRemovalTdCountsByRowspan(trs){var trIndexes=trs.map(function(tr,index){return index});var removalCounts=trIndexes.map(function(){return 0});trs.forEach(function(tr,trIndex){var rowspanTds=tr.filter(function(td){return td.rowspan>1});var startTrIndexForRemoval=trIndex+1;rowspanTds.forEach(function(td){var removeCount=td.colspan;var endTrIndexForRemoval=startTrIndexForRemoval+(td.rowspan-1);trIndexes.slice(startTrIndexForRemoval,endTrIndexForRemoval).forEach(function(removeIndex){removalCounts[removeIndex]+=removeCount})})});return removalCounts}function _mergeByRowspan(trs){var removalCounts=_getRemovalTdCountsByRowspan(trs);trs.forEach(function(tr,trIndex){tr.splice(tr.length-removalCounts[trIndex])})}function createMergedTable(tableElement){var table=_createTableObjectFrom$Table($(tableElement));var _divideTrs2=_divideTrs(table),_divideTrs3=_slicedToArray(_divideTrs2,2),thead=_divideTrs3[0],tbody=_divideTrs3[1];_mergeByColspan(thead);_mergeByColspan(tbody);_mergeByRowspan(tbody);return $(_tableRenderer2.default.createTableHtml(table))[0]}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _createCellHtml(cell){var attrs=cell.colspan>1?' colspan="'+cell.colspan+'"':"";attrs+=cell.rowspan>1?' rowspan="'+cell.rowspan+'"':"";attrs+=cell.align?' align="'+cell.align+'"':"";return"<"+cell.nodeName+attrs+">"+cell.content+""}function _createTheadOrTbodyHtml(trs,wrapperNodeName){var html="";if(trs.length){html=trs.map(function(tr){var tdHtml=tr.map(_createCellHtml).join("");return""+tdHtml+""}).join("");html="<"+wrapperNodeName+">"+html+""}return html}function createTableHtml(renderData){var thead=[renderData[0]];var tbody=renderData.slice(1);var theadHtml=_createTheadOrTbodyHtml(thead,"THEAD");var tbodyHtml=_createTheadOrTbodyHtml(tbody,"TBODY");var className=renderData.className?' class="'+renderData.className+'"':"";return""+(theadHtml+tbodyHtml)+""}function replaceTable($table,tableData){var cellIndexData=_tableDataHandler2.default.createCellIndexData(tableData);var renderData=_tableDataHandler2.default.createRenderData(tableData,cellIndexData);var $newTable=$(createTableHtml(renderData));$table.replaceWith($newTable);return $newTable}function focusToCell(sq,range,targetCell){range.selectNodeContents(targetCell);range.collapse(true);sq.setSelection(range)}exports.default={createTableHtml:createTableHtml,replaceTable:replaceTable,focusToCell:focusToCell}},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createTableData=createTableData;exports.createCellIndexData=createCellIndexData;function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i1;var rowMerged=rowspan>1;var nodeName=cellData.nodeName;if(!colMerged&&!rowMerged){return}var limitRowIndex=startRowIndex+rowspan;var limitCellIndex=startCellIndex+colspan;util.range(startRowIndex,limitRowIndex).forEach(function(rowIndex){base[rowIndex]=base[rowIndex]||[];util.range(startCellIndex,limitCellIndex).forEach(function(cellIndex){var mergedData={nodeName:nodeName};if(rowIndex===startRowIndex&&cellIndex===startCellIndex){return}if(colMerged){mergedData.colMergeWith=startCellIndex}if(rowMerged){mergedData.rowMergeWith=startRowIndex}base[rowIndex][cellIndex]=mergedData})})}function createTableData($table){var tableData=[];$table.find("tr").each(function(rowIndex,tr){var stackedColCount=0;tableData[rowIndex]=tableData[rowIndex]||[];$(tr).children().each(function(colIndex,cell){var cellData=_parseCell(cell,rowIndex,colIndex);if(!cellData){return}var dataColIndex=colIndex+stackedColCount;while(tableData[rowIndex][dataColIndex]){dataColIndex+=1;stackedColCount+=1}tableData[rowIndex][dataColIndex]=cellData;_addMergedCell(tableData,cellData,rowIndex,dataColIndex)})});if($table[0].className){tableData.className=$table[0].className}return tableData}function createCellIndexData(tableData){var mappingData=[];tableData.forEach(function(row,rowIndex){var mappingRow=[];row.forEach(function(cell,colIndex){if(util.isUndefined(cell.colMergeWith)&&util.isUndefined(cell.rowMergeWith)){mappingRow.push({rowIndex:rowIndex,colIndex:colIndex})}});mappingData.push(mappingRow)});return mappingData}function _getHeaderAligns(tableData){var headRowData=tableData[0];return headRowData.map(function(cellData){var align=void 0;if(util.isExisty(cellData.colMergeWith)){align=headRowData[cellData.colMergeWith].align}else{align=cellData.align}return align})}function createRenderData(tableData,cellIndexData){var headerAligns=_getHeaderAligns(tableData);var renderData=cellIndexData.map(function(row){return row.map(function(_ref){var rowIndex=_ref.rowIndex,colIndex=_ref.colIndex;return util.extend({align:headerAligns[colIndex]},tableData[rowIndex][colIndex])})});if(tableData.className){renderData.className=tableData.className}return renderData}var BASIC_CELL_CONTENT=tui.util.browser.msie?"":"
    ";function createBasicCell(rowIndex,colIndex,nodeName){return{nodeName:nodeName||"TD",colspan:1,rowspan:1,content:BASIC_CELL_CONTENT,elementIndex:{rowIndex:rowIndex,colIndex:colIndex}}}function findElementRowIndex($cell){var $tr=$cell.closest("tr");var rowIndex=$tr.prevAll().length;if($tr.parent()[0].nodeName==="TBODY"){rowIndex+=1}return rowIndex}function findElementColIndex($cell){return $cell.closest("td, th").prevAll().length}function findCellIndex(cellIndexData,$cell){var elementRowIndex=findElementRowIndex($cell);var elementColIndex=findElementColIndex($cell);return cellIndexData[elementRowIndex][elementColIndex]}function findRowMergedLastIndex(tableData,rowIndex,colIndex){var cellData=tableData[rowIndex][colIndex];var foundRowIndex=rowIndex;if(cellData.rowspan>1){foundRowIndex+=cellData.rowspan-1}return foundRowIndex}function findColMergedLastIndex(tableData,rowIndex,colIndex){var cellData=tableData[rowIndex][colIndex];var foundColIndex=colIndex;if(cellData.colspan>1){foundColIndex+=cellData.colspan-1}return foundColIndex}function findElementIndex(tableData,rowIndex,colIndex){var cellData=tableData[rowIndex][colIndex];rowIndex=util.isExisty(cellData.rowMergeWith)?cellData.rowMergeWith:rowIndex;colIndex=util.isExisty(cellData.colMergeWith)?cellData.colMergeWith:colIndex;return tableData[rowIndex][colIndex].elementIndex}function stuffCellsIntoIncompleteRow(tableData,limitIndex){tableData.forEach(function(rowData,rowIndex){var startIndex=rowData.length;var nodeName=rowData[0].nodeName;util.range(startIndex,limitIndex).forEach(function(colIndex){rowData.push(createBasicCell(rowIndex,colIndex,nodeName))})})}function addTbodyOrTheadIfNeed(tableData){var header=tableData[0];var cellCount=header.length;var added=true;if(!cellCount&&tableData[1]){util.range(0,tableData[1].length).forEach(function(colIndex){header.push(createBasicCell(0,colIndex,"TH"))})}else if(tableData[0][0].nodeName!=="TH"){var _ref2;var newHeader=util.range(0,cellCount).map(function(colIndex){return createBasicCell(0,colIndex,"TH")});(_ref2=[]).concat.apply(_ref2,_toConsumableArray(tableData)).forEach(function(cellData){if(cellData.elementIndex){cellData.elementIndex.rowIndex+=1}});tableData.unshift(newHeader)}else if(tableData.length===1){var newRow=util.range(0,cellCount).map(function(colIndex){return createBasicCell(1,colIndex,"TD")});tableData.push(newRow)}else{added=false}return added}exports.default={createTableData:createTableData,createCellIndexData:createCellIndexData,createRenderData:createRenderData,findElementRowIndex:findElementRowIndex,findElementColIndex:findElementColIndex,findCellIndex:findCellIndex,createBasicCell:createBasicCell,findRowMergedLastIndex:findRowMergedLastIndex,findColMergedLastIndex:findColMergedLastIndex,findElementIndex:findElementIndex,stuffCellsIntoIncompleteRow:stuffCellsIntoIncompleteRow,addTbodyOrTheadIfNeed:addTbodyOrTheadIfNeed}},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._prependMergeSyntaxToContent=_prependMergeSyntaxToContent;exports.default=prepareTableUnmerge;function _prependMergeSyntaxToContent(cell){var $cell=$(cell);var colspan=$cell.attr("colspan")||"";var rowspan=$cell.attr("rowspan")||"";var content=$cell.html();if(colspan){content="@cols="+colspan+":"+content}if(rowspan){content="@rows="+rowspan+":"+content}if(content){$cell.html(content)}}function prepareTableUnmerge(tableElement){$(tableElement).find("td, th").get().forEach(_prependMergeSyntaxToContent);return tableElement}},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._getAdditionalThCount=_getAdditionalThCount;exports._createTheadMarkdown=_createTheadMarkdown;var toMark=window.toMark;var RX_COLS=/@cols=[0-9]+:/g;function _createRepeatString(str,count){return tui.util.range(0,count).map(function(){return str}).join("")}function _makeTableHeadAlignText(thElement){var align=thElement.align;var textContent=(thElement.textContent||thElement.innerText).replace(RX_COLS,"");var textLength=textContent.length;var leftAlignValue="";var rightAlignValue="";if(align){if(align==="left"){leftAlignValue=":";textLength-=1}else if(align==="right"){rightAlignValue=":";textLength-=1}else if(align==="center"){rightAlignValue=":";leftAlignValue=":";textLength-=2}}textLength=Math.max(textLength,3);return leftAlignValue+_createRepeatString("-",textLength)+rightAlignValue}function _getAdditionalThCount(ths){var additionalThCount=0;ths.filter(function(th){return $(th).attr("colspan")}).forEach(function(th){additionalThCount+=parseInt($(th).attr("colspan"),10)-1});return additionalThCount}function _createTheadMarkdown(theadElement,theadContentMarkdown){var ths=$(theadElement).find("th").get();var align=ths.map(function(th){return" "+_makeTableHeadAlignText(th)+" |"}).join("");align+=_createRepeatString(" --- |",_getAdditionalThCount(ths));return theadContentMarkdown?theadContentMarkdown+"|"+align+"\n":""}exports.default=toMark.Renderer.factory(toMark.gfmRenderer,{THEAD:_createTheadMarkdown})},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1});return isHeader&&hasHeaderMerge}},{key:"_isExactlyFit",value:function _isExactlyFit(clipboardTableData,targetRowCount,targetColCount){return targetRowCount%clipboardTableData.length===0&&targetColCount%clipboardTableData[0].length===0}},{key:"_updateClipboardTableData",value:function _updateClipboardTableData(clipboardTableData,targetRowCount,targetColCount){var clipboardRowCount=clipboardTableData.length;var clipboardColCount=clipboardTableData[0].length;var increaseRowCount=parseInt(targetRowCount/clipboardRowCount,10);var increaseColCount=parseInt(targetColCount/clipboardColCount,10);if(increaseRowCount>1){var originalData=JSON.parse(JSON.stringify(clipboardTableData));util.range(0,increaseRowCount-1).forEach(function(){var newRows=JSON.parse(JSON.stringify(originalData));clipboardTableData.push.apply(clipboardTableData,_toConsumableArray(newRows))})}if(increaseColCount>1){var _originalData=JSON.parse(JSON.stringify(clipboardTableData));util.range(0,increaseColCount-1).forEach(function(){var newData=JSON.parse(JSON.stringify(_originalData));clipboardTableData.forEach(function(rowData,rowIndex){rowData.push.apply(rowData,_toConsumableArray(newData[rowIndex]))})})}}},{key:"_updateTableDataByClipboardData",value:function _updateTableDataByClipboardData(clipboardTableData,tableData,startCellIndex){var startRowIndex=startCellIndex.rowIndex;var startColIndex=startCellIndex.colIndex;clipboardTableData.forEach(function(rowData,rowIndex){var updateRowIndex=startRowIndex+rowIndex;rowData.forEach(function(cellData,colIndex){var updateColIndex=startColIndex+colIndex;var prevCellData=tableData[updateRowIndex][updateColIndex];cellData.nodeName=prevCellData.nodeName;tableData[updateRowIndex][updateColIndex]=cellData})})}},{key:"_isPossibleToPaste",value:function _isPossibleToPaste(tableData,startCellIndex,endCellIndex){var startRowIndex=startCellIndex.rowIndex;var startColIndex=startCellIndex.colIndex;var endRowIndex=endCellIndex.rowIndex;var endColIndex=endCellIndex.colIndex;var filterdTableData=tableData.slice(startRowIndex,endRowIndex+1);var firstRow=filterdTableData[0].slice(startColIndex,endColIndex+1);var isPossible=!any(firstRow,function(cellData){return util.isExisty(cellData.rowMergeWith)});if(isPossible){var firstCells=util.pluck(filterdTableData,startColIndex);isPossible=!any(firstCells,function(cellData){return util.isExisty(cellData.colMergeWith)})}if(isPossible&&tableData.length>endRowIndex+1){var nextRow=tableData[endRowIndex+1].slice(startColIndex,endColIndex+1);isPossible=!any(nextRow,function(cellData){return util.isExisty(cellData.rowMergeWith)})}if(isPossible&&tableData[0].length>endColIndex+1){var nextCells=util.pluck(filterdTableData,endColIndex+1);isPossible=!any(nextCells,function(cellData){return util.isExisty(cellData.colMergeWith)})}return isPossible}},{key:"_spliceClipboardData",value:function _spliceClipboardData(clipboardTableData,targetRowCount,targetColCount){clipboardTableData.splice(targetRowCount);clipboardTableData.forEach(function(rowData){rowData.splice(targetColCount)})}},{key:"_bookmarkLastTd",value:function _bookmarkLastTd(_ref){var endRowIndex=_ref.rowIndex,endColIndex=_ref.colIndex;var sq=this.wwe.getEditor();var $bookmarkedTable=sq.get$Body().find("."+PASTE_TABLE_BOOKMARK);var tableData=_tableDataHandler2.default.createTableData($bookmarkedTable);var lastCellData=tableData[endRowIndex][endColIndex];endRowIndex=util.isExisty(lastCellData.rowMergeWith)?lastCellData.rowMergeWith:endRowIndex;endColIndex=util.isExisty(lastCellData.colMergeWith)?lastCellData.colMergeWith:endColIndex;var lastCellIndex=tableData[endRowIndex][endColIndex].elementIndex;var lastTd=$bookmarkedTable.find("tr").eq(lastCellIndex.rowIndex).children()[lastCellIndex.colIndex];$bookmarkedTable.removeClass(PASTE_TABLE_BOOKMARK);$(lastTd).addClass(PASTE_TABLE_CELL_BOOKMARK)}},{key:"_updateClipboardDataForPasteToSamllerSelectedArea",value:function _updateClipboardDataForPasteToSamllerSelectedArea(clipboardTableData,tableData,targetRowCount,targetColCount,startRange){var updated=true;var startCellIndex={rowIndex:0,colIndex:0};var endCellIndex={rowIndex:targetRowCount-1,colIndex:targetColCount-1};if(this._isPossibleToPaste(clipboardTableData,startCellIndex,endCellIndex)){this._spliceClipboardData(clipboardTableData,targetRowCount,targetColCount);this._updateTableDataByClipboardData(clipboardTableData,tableData,startRange)}else{updated=false}return updated}},{key:"_pasteToSelectedArea",value:function _pasteToSelectedArea($table,clipboardTableData,tableData,$selectedCells){var _tableRangeHandler$ge2=_tableRangeHandler2.default.getTableSelectionRange(tableData,$selectedCells),startRange=_tableRangeHandler$ge2.start,endRange=_tableRangeHandler$ge2.end;var targetRowCount=endRange.rowIndex-startRange.rowIndex+1;var targetColCount=endRange.colIndex-startRange.colIndex+1;var clipboardRowCount=clipboardTableData.length;var clipboardColCount=clipboardTableData[0].length;var isSelectionLargerThanData=targetRowCount>=clipboardRowCount&&targetColCount>=clipboardColCount;var alertMessage=_i18n2.default.get("Cannot change part of merged cell");var updated=true;var endCellIndex=void 0;if(this._hasRowMergedHeader(clipboardTableData,tableData,startRange)){alertMessage=_i18n2.default.get("Cannot paste row merged cells into the table header");updated=false}else if(this._isExactlyFit(clipboardTableData,targetRowCount,targetColCount)){endCellIndex=endRange;this._updateClipboardTableData(clipboardTableData,targetRowCount,targetColCount);this._updateTableDataByClipboardData(clipboardTableData,tableData,startRange)}else if(isSelectionLargerThanData){endCellIndex={rowIndex:startRange.rowIndex+clipboardRowCount-1,colIndex:startRange.colIndex+clipboardColCount-1};if(this._isPossibleToPaste(tableData,startRange,endCellIndex)){this._updateTableDataByClipboardData(clipboardTableData,tableData,startRange)}else{updated=false}}else{endCellIndex={rowIndex:startRange.rowIndex+targetRowCount-1,colIndex:startRange.colIndex+targetColCount-1};updated=this._updateClipboardDataForPasteToSamllerSelectedArea(clipboardTableData,tableData,targetRowCount,targetColCount,startRange)}if(updated){tableData.className+=" "+PASTE_TABLE_BOOKMARK;_tableRenderer2.default.replaceTable($table,tableData);this._bookmarkLastTd(endCellIndex)}else{alert(alertMessage);this.wwe.getEditor().focus()}}},{key:"_findEndCellIndex",value:function _findEndCellIndex(clipboardTableData,_ref2){var startRowIndex=_ref2.rowIndex,startColIndex=_ref2.colIndex;return{rowIndex:startRowIndex+clipboardTableData.length-1,colIndex:startColIndex+clipboardTableData[0].length-1}}},{key:"_expandRow",value:function _expandRow(tableData,expandCount){var startRowIndex=tableData.length;var cellCount=tableData[0].length;var newRows=util.range(startRowIndex,startRowIndex+expandCount).map(function(rowIndex){return util.range(0,cellCount).map(function(colIndex){return _tableDataHandler2.default.createBasicCell(rowIndex,colIndex)})});tableData.push.apply(tableData,_toConsumableArray(newRows))}},{key:"_expandCoumn",value:function _expandCoumn(tableData,expandCount){var startCellIndex=tableData[0].length;var additionalCellRange=util.range(startCellIndex,startCellIndex+expandCount);tableData.forEach(function(rowData,rowIndex){var nodeName=rowData[0].nodeName;var newCells=additionalCellRange.map(function(colIndex){return _tableDataHandler2.default.createBasicCell(rowIndex,colIndex,nodeName)});rowData.push.apply(rowData,_toConsumableArray(newCells))})}},{key:"_expandTableDataIfNeed",value:function _expandTableDataIfNeed(tableData,startCellIndex,endCellIndex){var expandRowCount=endCellIndex.rowIndex-tableData.length+1;var expandCellCount=endCellIndex.colIndex-tableData[0].length+1;if(expandRowCount>0){this._expandRow(tableData,expandRowCount)}if(expandCellCount>0){this._expandCoumn(tableData,expandCellCount)}}},{key:"_pasteAllClipboardTableData",value:function _pasteAllClipboardTableData($table,clipboardTableData,tableData,startCellIndex){var endCellIndex=this._findEndCellIndex(clipboardTableData,startCellIndex);if(this._hasRowMergedHeader(clipboardTableData,tableData,startCellIndex)){alert(_i18n2.default.get("Cannot paste row merged cells into the table header"));this.wwe.getEditor().focus();return}this._expandTableDataIfNeed(tableData,startCellIndex,endCellIndex);if(this._isPossibleToPaste(tableData,startCellIndex,endCellIndex)){this._updateTableDataByClipboardData(clipboardTableData,tableData,startCellIndex);tableData.className+=" "+PASTE_TABLE_BOOKMARK;_tableRenderer2.default.replaceTable($table,tableData);this._bookmarkLastTd(endCellIndex)}else{alert(_i18n2.default.get("Cannot change part of merged cell"));this.wwe.getEditor().focus()}}},{key:"pasteClipboardData",value:function pasteClipboardData($clipboardTable){var clipboardTableData=_tableDataHandler2.default.createTableData($clipboardTable);var tableSelectionManager=this.wwe.componentManager.getManager("tableSelection");var $selectedCells=tableSelectionManager.getSelectedCells();var $startCell=$(this._findStartCell($selectedCells));var $table=$startCell.closest("table");var tableData=_tableDataHandler2.default.createTableData($table);var startCellIndex=this._findStartCellIndex(tableData,$startCell);if($selectedCells.length>1){this._pasteToSelectedArea($table,clipboardTableData,tableData,$selectedCells)}else{this._pasteAllClipboardTableData($table,clipboardTableData,tableData,startCellIndex)}}}]);return WwMergedTableManager}(_wwTableManager2.default);function any(arr,contition){var result=false;util.forEach(arr,function(item){result=contition(item);return!result});return result}module.exports=WwMergedTableManager},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function _findUnmergedRange(tableData,$start,$end){var cellIndexData=_tableDataHandler2.default.createCellIndexData(tableData);var startCellIndex=_tableDataHandler2.default.findCellIndex(cellIndexData,$start);var endCellIndex=_tableDataHandler2.default.findCellIndex(cellIndexData,$end);var startRowIndex=void 0,endRowIndex=void 0,startColIndex=void 0,endColIndex=void 0;if(startCellIndex.rowIndex>endCellIndex.rowIndex){startRowIndex=endCellIndex.rowIndex;endRowIndex=startCellIndex.rowIndex}else{startRowIndex=startCellIndex.rowIndex;endRowIndex=endCellIndex.rowIndex}if(startCellIndex.colIndex>endCellIndex.colIndex){startColIndex=endCellIndex.colIndex;endColIndex=startCellIndex.colIndex}else{startColIndex=startCellIndex.colIndex;endColIndex=endCellIndex.colIndex}return{start:{rowIndex:startRowIndex,colIndex:startColIndex},end:{rowIndex:endRowIndex,colIndex:endColIndex}}}function _expandRowMergedRange(tableData,tableRange,rangeType){var rowIndex=tableRange[rangeType].rowIndex;var rowData=tableData[rowIndex];util.range(tableRange.start.colIndex,tableRange.end.colIndex+1).forEach(function(colIndex){var cellData=rowData[colIndex];var rowMergeWith=cellData.rowMergeWith;var lastRowMergedIndex=-1;if(util.isExisty(rowMergeWith)){if(rowMergeWith1){lastRowMergedIndex=rowIndex+cellData.rowspan-1}if(lastRowMergedIndex>tableRange.end.rowIndex){tableRange.end.rowIndex=lastRowMergedIndex}})}function _expandColMergedRange(tableData,tableRange,rowIndex,colIndex){var rowData=tableData[rowIndex];var cellData=rowData[colIndex];var colMergeWith=cellData.colMergeWith;var lastColMergedIndex=-1;if(util.isExisty(colMergeWith)){if(colMergeWith1){lastColMergedIndex=colIndex+cellData.colspan-1}if(lastColMergedIndex>tableRange.end.colIndex){tableRange.end.colIndex=lastColMergedIndex}}function _expandMergedRange(tableData,tableRange){var rangeStr="";while(rangeStr!==JSON.stringify(tableRange)){rangeStr=JSON.stringify(tableRange);_expandRowMergedRange(tableData,tableRange,"start");_expandRowMergedRange(tableData,tableRange,"end");util.range(tableRange.start.rowIndex,tableRange.end.rowIndex+1).forEach(function(rowIndex){_expandColMergedRange(tableData,tableRange,rowIndex,tableRange.start.colIndex);_expandColMergedRange(tableData,tableRange,rowIndex,tableRange.end.colIndex)})}return tableRange}function findSelectionRange(tableData,$start,$end){var unmergedRange=_findUnmergedRange(tableData,$start,$end);return _expandMergedRange(tableData,unmergedRange)}function getTableSelectionRange(tableData,$selectedCells,$startContainer){var cellIndexData=_tableDataHandler2.default.createCellIndexData(tableData);var tableRange={};if($selectedCells.length){var startRange=_tableDataHandler2.default.findCellIndex(cellIndexData,$selectedCells.first());var endRange=util.extend({},startRange);$selectedCells.each(function(index,cell){var cellIndex=_tableDataHandler2.default.findCellIndex(cellIndexData,$(cell));var cellData=tableData[cellIndex.rowIndex][cellIndex.colIndex];var lastRowMergedIndex=cellIndex.rowIndex+cellData.rowspan-1;var lastColMergedIndex=cellIndex.colIndex+cellData.colspan-1;endRange.rowIndex=Math.max(endRange.rowIndex,lastRowMergedIndex);endRange.colIndex=Math.max(endRange.colIndex,lastColMergedIndex)});tableRange.start=startRange;tableRange.end=endRange}else{var cellIndex=_tableDataHandler2.default.findCellIndex(cellIndexData,$startContainer);tableRange.start=cellIndex;tableRange.end=util.extend({},cellIndex)}return tableRange}exports.default={findSelectionRange:findSelectionRange,getTableSelectionRange:getTableSelectionRange}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;irowIndex){merger.rowspan+=1;newCell=util.extend({},cellData)}}else if(cellData.rowspan>1){cellData.rowspan+=1;newCell=_createRowMergedCell(rowIndex)}if(!newCell){newCell=_tableDataHandler2.default.createBasicCell(rowIndex+1,colIndex)}prevCell=newCell;return newCell})}function _addRow(tableData,tableRange){var startRowIndex=tableRange.start.rowIndex;var endRange=tableRange.end;var endRowIndex=_tableDataHandler2.default.findRowMergedLastIndex(tableData,endRange.rowIndex,endRange.colIndex);var newRows=util.range(startRowIndex,endRowIndex+1).map(function(){return _createNewRow(tableData,endRowIndex)});tableData.splice.apply(tableData,_toConsumableArray([endRowIndex+1,0].concat(newRows)))}function _findFocusTd($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);var newRowIndex=_tableDataHandler2.default.findRowMergedLastIndex(tableData,rowIndex,colIndex)+1;var cellElementIndex=_tableDataHandler2.default.findElementIndex(tableData,newRowIndex,colIndex);return $newTable.find("tr").eq(cellElementIndex.rowIndex).find("td")[cellElementIndex.colIndex]}exports.default=AddRow},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._createNewColumns=_createNewColumns;exports._addColumns=_addColumns;var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);var _tableRangeHandler=__webpack_require__(116);var _tableRangeHandler2=_interopRequireDefault(_tableRangeHandler);var _tableRenderer=__webpack_require__(111);var _tableRenderer2=_interopRequireDefault(_tableRenderer);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);icolIndex){merger.colspan+=1;newCell=util.extend({},cellData)}}else if(cellData.colspan>1){cellData.colspan+=1;newCell=_createColMergedCell(colIndex,cellData.nodeName)}if(!newCell){newCell=_tableDataHandler2.default.createBasicCell(rowIndex,colIndex+1,cellData.nodeName)}return newCell}function _createNewColumns(tableData,startColIndex,endColIndex){var colIndexes=util.range(startColIndex,endColIndex+1);var newColumns=[];var prevCells=null;tableData.forEach(function(rowData,rowIndex){var newCells=colIndexes.map(function(colIndex,index){var prevCell=prevCells?prevCells[index-1]:null;return _createNewCell(rowData,rowIndex,endColIndex,prevCell)});prevCells=newCells;newColumns.push(newCells)});return newColumns}function _addColumns(tableData,tableRange){var endRange=tableRange.end;var endColIndex=_tableDataHandler2.default.findColMergedLastIndex(tableData,endRange.rowIndex,endRange.colIndex);var newColumns=_createNewColumns(tableData,tableRange.start.colIndex,endColIndex);var newColIndex=endColIndex+1;tableData.forEach(function(rowData,rowIndex){rowData.splice.apply(rowData,_toConsumableArray([newColIndex,0].concat(newColumns[rowIndex])))})}function _findFocusCell($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);var newColIndex=_tableDataHandler2.default.findColMergedLastIndex(tableData,rowIndex,colIndex)+1;var cellElementIndex=_tableDataHandler2.default.findElementIndex(tableData,rowIndex,newColIndex);return $newTable.find("tr").eq(cellElementIndex.rowIndex).find("td, th")[cellElementIndex.colIndex]}exports.default=AddCol},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._removeRow=_removeRow;var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);var _tableRangeHandler=__webpack_require__(116);var _tableRangeHandler2=_interopRequireDefault(_tableRangeHandler);var _tableRenderer=__webpack_require__(111);var _tableRenderer2=_interopRequireDefault(_tableRenderer);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var RemoveRow=_commandManager2.default.command("wysiwyg",{name:"RemoveRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();sq.focus();if(!sq.hasFormat("TABLE")){return}var $startContainer=$(range.startContainer);var $table=$startContainer.closest("table");var tableData=_tableDataHandler2.default.createTableData($table);var beforeRowLength=tableData.length;var $selectedCells=wwe.componentManager.getManager("tableSelection").getSelectedCells();var tableRange=_tableRangeHandler2.default.getTableSelectionRange(tableData,$selectedCells,$startContainer);_removeRow(tableData,tableRange);if(beforeRowLength===tableData.length){return}var $newTable=_tableRenderer2.default.replaceTable($table,tableData);var focusTd=_findFocusTd($newTable,tableRange.end.rowIndex,tableRange.start.colIndex);_tableRenderer2.default.focusToCell(sq,range,focusTd)}});function _updateRowspan(tableData,startRowIndex,endRowIndex){util.range(startRowIndex,endRowIndex+1).forEach(function(rowIndex){tableData[rowIndex].forEach(function(cell,cellIndex){if(util.isExisty(cell.rowMergeWith)){var merger=tableData[cell.rowMergeWith][cellIndex];if(merger.rowspan){merger.rowspan-=1}}else if(cell.rowspan>1){var lastMergedRowIndex=rowIndex+cell.rowspan-1;cell.rowspan-=endRowIndex-rowIndex+1;if(lastMergedRowIndex>endRowIndex){tableData[endRowIndex+1][cellIndex]=util.extend({},cell)}}})})}function _updateMergeStartIndex(tableData,startRowIndex,endRowIndex){tableData.slice(endRowIndex+1).forEach(function(row){row.forEach(function(cell){if(util.isExisty(cell.rowMergeWith)&&cell.rowMergeWith>=startRowIndex){cell.rowMergeWith=endRowIndex+1}})})}function _removeRow(tableData,tableRange){var startRowIndex=tableRange.start.rowIndex +;var endRange=tableRange.end;var endRowIndex=_tableDataHandler2.default.findRowMergedLastIndex(tableData,endRange.rowIndex,endRange.colIndex);var removeCount=endRowIndex-startRowIndex+1;if(removeCount===tableData.length-1){return}_updateRowspan(tableData,startRowIndex,endRowIndex);_updateMergeStartIndex(tableData,startRowIndex,endRowIndex);tableData.splice(startRowIndex,removeCount)}function _findFocusTd($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);if(tableData.length-11){var lastMergedCellIndex=colIndex+cellData.colspan-1;cellData.colspan-=endColIndex-colIndex+1;if(lastMergedCellIndex>endColIndex){rowData[endColIndex+1]=util.extend({},cellData)}}})})}function _updateMergeStartIndex(tableData,startColIndex,endColIndex){tableData.forEach(function(rowData){rowData.slice(endColIndex+1).forEach(function(cellData){if(util.isExisty(cellData.colMergeWith)&&cellData.colMergeWith>=startColIndex){cellData.colMergeWith=endColIndex+1}})})}function _removeColumns(tableData,tableRange){var startColIndex=tableRange.start.colIndex;var endRange=tableRange.end;var endColIndex=_tableDataHandler2.default.findColMergedLastIndex(tableData,endRange.rowIndex,endRange.colIndex);var removeCount=endColIndex-startColIndex+1;if(removeCount===tableData[0].length){return}_updateColspan(tableData,startColIndex,endColIndex);_updateMergeStartIndex(tableData,startColIndex,endColIndex);tableData.forEach(function(row){row.splice(startColIndex,removeCount)})}function _findFocusCell($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);if(tableData[0].length-1";var MergeCell=_commandManager2.default.command("wysiwyg",{name:"MergeCells",exec:function exec(wwe){var sq=wwe.getEditor();sq.focus();if(!sq.hasFormat("TABLE")){return}var selectionManager=wwe.componentManager.getManager("tableSelection");var $selectedCells=selectionManager.getSelectedCells();if($selectedCells.length<2||selectionManager.hasSelectedBothThAndTd($selectedCells)){return}var range=sq.getSelection().cloneRange();var $startContainer=$(range.startContainer);var $table=$startContainer.closest("table");var tableData=_tableDataHandler2.default.createTableData($table);var tableRange=_tableRangeHandler2.default.getTableSelectionRange(tableData,$selectedCells,$startContainer);_mergeCells(tableData,tableRange);var $newTable=_tableRenderer2.default.replaceTable($table,tableData);var focusCell=_findFocusCell($newTable,tableRange.start.rowIndex,tableRange.start.colIndex);_tableRenderer2.default.focusToCell(sq,range,focusCell)}});function _pickContent(targetRows,startColIndex,endColIndex){var _ref;var limitColIndex=endColIndex+1;var cells=(_ref=[]).concat.apply(_ref,_toConsumableArray(targetRows.map(function(rowData){return rowData.slice(startColIndex,limitColIndex)})));var foundCellData=cells.filter(function(_ref2){var content=_ref2.content;return content&&content!==BASIC_CELL_CONTENT});return foundCellData.length?foundCellData[0].content:BASIC_CELL_CONTENT}function _initCellData(targetRows,startColIndex,endColIndex){var _ref3;var limitColIndex=endColIndex+1;var targetCells=targetRows.map(function(rowData){return rowData.slice(startColIndex,limitColIndex)});(_ref3=[]).concat.apply(_ref3,_toConsumableArray(targetCells)).slice(1).forEach(function(cellData){var nodeName=cellData.nodeName;util.forEach(cellData,function(value,name){return delete cellData[name]});cellData.nodeName=nodeName})}function _updateRowMergeWith(targetRows,startColIndex,endColIndex,rowMergeWith){var limitColIndex=endColIndex+1;targetRows.forEach(function(rowData){rowData.slice(startColIndex,limitColIndex).forEach(function(cellData){cellData.rowMergeWith=rowMergeWith})})}function _updateColMergeWith(targetRows,startColIndex,endColIndex,colMergeWith){var limitColIndex=endColIndex+1;targetRows.forEach(function(rowData){rowData.slice(startColIndex,limitColIndex).forEach(function(cellData){cellData.colMergeWith=colMergeWith})})}function _mergeCells(tableData,_ref4){var startRange=_ref4.start,endRange=_ref4.end;var startRowIndex=startRange.rowIndex;var startColIndex=startRange.colIndex;var endRowIndex=endRange.rowIndex;var endColIndex=endRange.colIndex;var merger=tableData[startRowIndex][startColIndex];var targetRows=tableData.slice(startRowIndex,endRowIndex+1);var rowspan=endRowIndex-startRowIndex+1;var colspan=endColIndex-startColIndex+1;merger.rowspan=rowspan;merger.colspan=colspan;merger.content=_pickContent(targetRows,startColIndex,endColIndex);_initCellData(targetRows,startColIndex,endColIndex);if(rowspan>1){_updateRowMergeWith(targetRows.slice(1),startColIndex,endColIndex,startRowIndex)}if(colspan>1){_updateColMergeWith(targetRows,startColIndex+1,endColIndex,startColIndex)}}function _findFocusCell($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);var cellElementIndex=_tableDataHandler2.default.findElementIndex(tableData,rowIndex,colIndex);return $newTable.find("tr").eq(cellElementIndex.rowIndex).find("td, th")[cellElementIndex.colIndex]}exports.default=MergeCell},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports._hasMergedCell=_hasMergedCell;exports._unmergeCells=_unmergeCells;var _commandManager=__webpack_require__(28);var _commandManager2=_interopRequireDefault(_commandManager);var _tableDataHandler=__webpack_require__(112);var _tableDataHandler2=_interopRequireDefault(_tableDataHandler);var _tableRangeHandler=__webpack_require__(116);var _tableRangeHandler2=_interopRequireDefault(_tableRangeHandler);var _tableRenderer=__webpack_require__(111);var _tableRenderer2=_interopRequireDefault(_tableRenderer);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i1||cellData.rowspan>1}).length}function _updateMergedCells(tableData,startRowIndex,startColIndex,rowspan,colspan){var limitRowIndex=startRowIndex+rowspan;var limitColIndex=startColIndex+colspan;var colRange=util.range(startColIndex,limitColIndex);util.range(startRowIndex,limitRowIndex).forEach(function(rowIndex){var rowData=tableData[rowIndex];var startIndex=rowIndex===startRowIndex?1:0;colRange.slice(startIndex).forEach(function(colIndex){rowData[colIndex]=_tableDataHandler2.default.createBasicCell(rowIndex,colIndex,rowData[colIndex].nodeName)})})}function _unmergeCells(tableData,_ref3){var startRange=_ref3.start,endRange=_ref3.end;var colRange=util.range(startRange.colIndex,endRange.colIndex+1);util.range(startRange.rowIndex,endRange.rowIndex+1).forEach(function(rowIndex){colRange.forEach(function(colIndex){var cellData=tableData[rowIndex][colIndex];var colspan=cellData.colspan,rowspan=cellData.rowspan;if(colspan>1||rowspan>1){cellData.colspan=1;cellData.rowspan=1;_updateMergedCells(tableData,rowIndex,colIndex,rowspan,colspan)}})})}function _findFocusCell($newTable,rowIndex,colIndex){var tableData=_tableDataHandler2.default.createTableData($newTable);var cellElementIndex=_tableDataHandler2.default.findElementIndex(tableData,rowIndex,colIndex);return $newTable.find("tr").eq(cellElementIndex.rowIndex).find("td, th")[cellElementIndex.colIndex]}exports.default=UnmergeCell},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _changeContent(popupTableUtils){var POPUP_CONTENT=['",'",'",'",'",'",'",'",'",'"].join("");var $popupContent=$(POPUP_CONTENT);popupTableUtils.$content=$popupContent;popupTableUtils.setContent($popupContent)}function _bindEvents(popupTableUtils,eventManager,selectionManager){var $popupContent=popupTableUtils.$content;var $mergeBtn=$($popupContent[4]);var $unmergeBtn=$($popupContent[5]);popupTableUtils.on("click .te-table-merge",function(){eventManager.emit("command","MergeCells")});popupTableUtils.on("click .te-table-unmerge",function(){eventManager.emit("command","UnmergeCells")});eventManager.listen("openPopupTableUtils",function(){var $selectedCells=selectionManager.getSelectedCells();var selectedCellCount=$selectedCells.length;if(selectedCellCount){if(selectedCellCount<2||selectionManager.hasSelectedBothThAndTd($selectedCells)){$mergeBtn.hide()}else{$mergeBtn.show()}if($selectedCells.is("[rowspan], [colspan]")){$unmergeBtn.show()}else{$unmergeBtn.hide()}}else{$mergeBtn.hide();$unmergeBtn.hide()}})}function updateContextMenu(popupTableUtils,eventManager,selectionManager){_changeContent(popupTableUtils);_bindEvents(popupTableUtils,eventManager,selectionManager)}exports.default={updateContextMenu:updateContextMenu}},function(module,exports,__webpack_require__){"use strict";var _i18n=__webpack_require__(15);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_i18n2.default.setLang(["ko","ko_KR"],{"Merge cells":"셀 병합","Unmerge cells":"셀 병합해제","Cannot change part of merged cell":"병합 된 셀의 일부를 변경할 수 없습니다.","Cannot paste row merged cells into the table header":"테이블 헤더에는 행 병합된 셀을 붙여넣을 수 없습니다."});_i18n2.default.setLang(["en","en_US"],{"Merge cells":"Merge cells","Unmerge cells":"Unmerge cells","Cannot change part of merged cell":"Cannot change part of merged cell.","Cannot paste row merged cells into the table header":"Cannot paste row merged cells into the table header."});_i18n2.default.setLang(["ja","ja_JP"],{"Merge cells":"セルの結合","Unmerge cells":"セルの結合を解除","Cannot change part of merged cell":"結合されたセルの一部を変更することはできません。","Cannot paste row merged cells into the table header":"行にマージされたセルをヘッダーに貼り付けることはできません。"});_i18n2.default.setLang(["nl","nl_NL"],{"Merge cells":"cellen samenvoegen","Unmerge cells":"Samenvoegen cellen ongedaan maken","Cannot change part of merged cell":"Kan geen deel uit van samengevoegde cel te veranderen.","Cannot paste row merged cells into the table header":"Kan niet plakken rij samengevoegde cellen in de koptekst. "});_i18n2.default.setLang(["zh","zh_CN"],{"Merge cells":"合并单元格","Unmerge cells":"取消合并单元格","Cannot change part of merged cell":"无法更改合并单元格的一部分。","Cannot paste row merged cells into the table header":"无法将行合并单元格粘贴到标题中。"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["en","en_US"],{Markdown:"Markdown",WYSIWYG:"WYSIWYG",Headings:"Headings",Paragraph:"Paragraph",Bold:"Bold",Italic:"Italic",Strike:"Strike",Code:"Code",Line:"Line",Blockquote:"Blockquote","Unordered list":"Unordered list","Ordered list":"Ordered list",Task:"Task","Insert link":"Insert link","Insert codeblock":"Insert codeblock","Insert table":"Insert table","Insert image":"Insert image",Heading:"Heading","Image URL":"Image URL","Select image file":"Select image file",Description:"Description",OK:"OK",Cancel:"Cancel",File:"File",URL:"URL","Link text":"Link text","Add row":"Add row","Add col":"Add col","Remove row":"Remove row","Remove col":"Remove col","Align left":"Align left","Align center":"Align center","Align right":"Align right","Remove table":"Remove table","Would you like to paste as table?":"Would you like to paste as table?","Text color":"Text color","Auto scroll enabled":"Auto scroll enabled","Auto scroll disabled":"Auto scroll disabled","Cannot paste values ​​other than a table in the cell selection state":"Cannot paste values ​​other than a table in the cell selection state."})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["ko","ko_KR"],{Markdown:"마크다운",WYSIWYG:"위지윅",Headings:"제목크기",Paragraph:"본문",Bold:"굵게",Italic:"기울임꼴",Strike:"취소선",Code:"코드",Line:"문단나눔",Blockquote:"인용구","Unordered list":"글머리 기호","Ordered list":"번호 매기기",Task:"체크박스","Insert link":"링크 삽입","Insert codeblock":"코드블럭 삽입","Insert table":"표 삽입","Insert image":"이미지 삽입",Heading:"제목","Image URL":"이미지 주소","Select image file":"이미지 파일을 선택하세요.",Description:"설명",OK:"확인",Cancel:"취소",File:"파일",URL:"주소","Link text":"링크 텍스트","Add row":"행 추가","Add col":"열 추가","Remove row":"행 삭제","Remove col":"열 삭제","Align left":"왼쪽 정렬","Align center":"가운데 정렬","Align right":"오른쪽 정렬","Remove table":"표 삭제","Would you like to paste as table?":"표형태로 붙여 넣겠습니까?","Text color":"글자 색상","Auto scroll enabled":"자동 스크롤 켜짐","Auto scroll disabled":"자동 스크롤 꺼짐","Cannot paste values ​​other than a table in the cell selection state.":"셀 선택 상태에서는 테이블 이외의 값은 붙여넣을 수 없습니다."})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["zh","zh_CN"],{Markdown:"Markdown",WYSIWYG:"所见即所得",Headings:"标题",Paragraph:"文本",Bold:"加粗",Italic:"斜体字",Strike:"删除线",Code:"内嵌代码",Line:"画水平线",Blockquote:"引用块","Unordered list":"无序列表","Ordered list":"有序列表",Task:"任务","Insert link":"插入链接","Insert codeblock":"插入代码块","Insert table":"插入表格","Insert image":"插入图片",Heading:"标题","Image URL":"图片网址","Select image file":"选择映像文件",Description:"说明",OK:"确认",Cancel:"取消",File:"文件",URL:"URL","Link text":"链接文本","Add row":"添加一行","Add col":"添加列","Remove row":"删除行","Remove col":"删除列","Align left":"左对齐","Align center":"居中对齐","Align right":"右对齐","Remove table":"删除表","Would you like to paste as table?":"你想粘贴表吗?","Text color":"文字色相","Auto scroll enabled":"自动滚动启用","Auto scroll disabled":"自动的滚动作非使用","Cannot paste values ​​other than a table in the cell selection state":"在单元格选择状态下无法粘贴表格以外的值。"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["ja","ja_JP"],{Markdown:"マークダウン",WYSIWYG:"WYSIWYG",Headings:"見出し",Paragraph:"本文",Bold:"太字",Italic:"イタリック",Strike:"ストライク",Code:"コード",Line:"ライン",Blockquote:"引用","Unordered list":"番号なしリスト","Ordered list":"順序付きリスト",Task:"タスク","Insert link":"リンク挿入","Insert codeblock":"コードブロック挿入","Insert table":"テーブル挿入","Insert image":"画像挿入",Heading:"見出し","Image URL":"イメージURL","Select image file":"画像ファイル選択",Description:"ディスクリプション ",OK:"はい",Cancel:"キャンセル",File:"ファイル",URL:"URL","Link text":"リンクテキスト","Add row":"行追加","Add col":"列追加","Remove row":"行削除","Remove col":"列削除","Align left":"左揃え","Align center":"中央揃え","Align right":"右揃え","Remove table":"テーブル削除","Would you like to paste as table?":"テーブルを貼り付けますか?","Text color":"文字色相","Auto scroll enabled":"自動スクロールが有効","Auto scroll disabled":"自動スクロールを無効に","Cannot paste values ​​other than a table in the cell selection state":"表以外の値をセル選択状態に貼り付けることはできません。"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["nl","nl_NL"],{Markdown:"Markdown",WYSIWYG:"WYSIWYG",Headings:"Koppen",Paragraph:"tekst",Bold:"Vet",Italic:"Cursief",Strike:"Doorhalen",Code:"Code",Line:"Regel",Blockquote:"Citaatblok","Unordered list":"Opsomming","Ordered list":"Genummerde opsomming",Task:"Taak","Insert link":"Link invoegen","Insert codeblock":"Codeblok toevoegen","Insert table":"Tabel invoegen","Insert image":"Afbeelding invoegen",Heading:"Kop","Image URL":"Afbeelding URL","Select image file":"Selecteer een afbeelding",Description:"Omschrijving",OK:"OK",Cancel:"Annuleren",File:"Bestand",URL:"URL","Link text":"Link tekst","Add row":"Rij toevoegen","Add col":"Kolom toevoegen","Remove row":"Rij verwijderen","Remove col":"Kolom verwijderen","Align left":"Links uitlijnen","Align center":"Centreren","Align right":"Rechts uitlijnen","Remove table":"Verwijder tabel","Would you like to paste as table?":"Wil je dit als tabel plakken?","Text color":"Tekstkleur","Auto scroll enabled":"Autoscroll ingeschakeld","Auto scroll disabled":"Autoscroll uitgeschakeld","Cannot paste values ​​other than a table in the cell selection state":"Kan geen waardes anders dan de tabel in de cell plakken"})}]); \ No newline at end of file