From 5edcf53f92c8b523cf312599a3f6579c6978696b Mon Sep 17 00:00:00 2001
From: dab246
Date: Tue, 19 Sep 2023 16:14:29 +0700
Subject: [PATCH 1/4] Generate unminified file `summernote-lite.min.js`
---
lib/assets/summernote-lite-unminified.js | 6423 ++++++++++++++++++++++
1 file changed, 6423 insertions(+)
create mode 100644 lib/assets/summernote-lite-unminified.js
diff --git a/lib/assets/summernote-lite-unminified.js b/lib/assets/summernote-lite-unminified.js
new file mode 100644
index 00000000..0aea8a3d
--- /dev/null
+++ b/lib/assets/summernote-lite-unminified.js
@@ -0,0 +1,6423 @@
+/*! For license information please see summernote-lite.min.js.LICENSE.txt */
+!(function (t, e) {
+ if ("object" == typeof exports && "object" == typeof module) module.exports = e(require("jquery"));
+ else if ("function" == typeof define && define.amd) define(["jquery"], e);
+ else {
+ var n = "object" == typeof exports ? e(require("jquery")) : e(t.jQuery);
+ for (var o in n) ("object" == typeof exports ? exports : t)[o] = n[o];
+ }
+})(window, function (t) {
+ return (function (t) {
+ var e = {};
+ function n(o) {
+ if (e[o]) return e[o].exports;
+ var i = (e[o] = { i: o, l: !1, exports: {} });
+ return t[o].call(i.exports, i, i.exports, n), (i.l = !0), i.exports;
+ }
+ return (
+ (n.m = t),
+ (n.c = e),
+ (n.d = function (t, e, o) {
+ n.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: o });
+ }),
+ (n.r = function (t) {
+ "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 });
+ }),
+ (n.t = function (t, e) {
+ if ((1 & e && (t = n(t)), 8 & e)) return t;
+ if (4 & e && "object" == typeof t && t && t.__esModule) return t;
+ var o = Object.create(null);
+ if ((n.r(o), Object.defineProperty(o, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t))
+ for (var i in t)
+ n.d(
+ o,
+ i,
+ function (e) {
+ return t[e];
+ }.bind(null, i)
+ );
+ return o;
+ }),
+ (n.n = function (t) {
+ var e =
+ t && t.__esModule
+ ? function () {
+ return t.default;
+ }
+ : function () {
+ return t;
+ };
+ return n.d(e, "a", e), e;
+ }),
+ (n.o = function (t, e) {
+ return Object.prototype.hasOwnProperty.call(t, e);
+ }),
+ (n.p = ""),
+ n((n.s = 51))
+ );
+ })({
+ 0: function (e, n) {
+ e.exports = t;
+ },
+ 1: function (t, e, n) {
+ "use strict";
+ var o = n(0),
+ i = n.n(o);
+ function r(t) {
+ return (r =
+ "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+ ? function (t) {
+ return typeof t;
+ }
+ : function (t) {
+ return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
+ })(t);
+ }
+ function a(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var s = (function () {
+ function t(e, n, o, i) {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.markup = e),
+ (this.children = n),
+ (this.options = o),
+ (this.callback = i);
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "render",
+ value: function (t) {
+ var e = i()(this.markup);
+ if (
+ (this.options && this.options.contents && e.html(this.options.contents),
+ this.options && this.options.className && e.addClass(this.options.className),
+ this.options &&
+ this.options.data &&
+ i.a.each(this.options.data, function (t, n) {
+ e.attr("data-" + t, n);
+ }),
+ this.options && this.options.click && e.on("click", this.options.click),
+ this.children)
+ ) {
+ var n = e.find(".note-children-container");
+ this.children.forEach(function (t) {
+ t.render(n.length ? n : e);
+ });
+ }
+ return this.callback && this.callback(e, this.options), this.options && this.options.callback && this.options.callback(e), t && t.append(e), e;
+ },
+ },
+ ]) && a(e.prototype, n),
+ o && a(e, o),
+ t
+ );
+ })();
+ e.a = {
+ create: function (t, e) {
+ return function () {
+ var n = "object" === r(arguments[1]) ? arguments[1] : arguments[0],
+ o = Array.isArray(arguments[0]) ? arguments[0] : [];
+ return n && n.children && (o = n.children), new s(t, o, n, e);
+ };
+ },
+ };
+ },
+ 2: function (t, e) {
+ (function (e) {
+ t.exports = e;
+ }.call(this, {}));
+ },
+ 3: function (t, e, n) {
+ "use strict";
+ var o = n(0),
+ i = n.n(o);
+ (i.a.summernote = i.a.summernote || { lang: {} }),
+ i.a.extend(i.a.summernote.lang, {
+ "en-US": {
+ font: {
+ bold: "Bold",
+ italic: "Italic",
+ underline: "Underline",
+ clear: "Remove Font Style",
+ height: "Line Height",
+ name: "Font Family",
+ strikethrough: "Strikethrough",
+ subscript: "Subscript",
+ superscript: "Superscript",
+ size: "Font Size",
+ sizeunit: "Font Size Unit",
+ },
+ image: {
+ image: "Picture",
+ insert: "Insert Image",
+ resizeFull: "Resize full",
+ resizeHalf: "Resize half",
+ resizeQuarter: "Resize quarter",
+ resizeNone: "Original size",
+ floatLeft: "Float Left",
+ floatRight: "Float Right",
+ floatNone: "Remove float",
+ shapeRounded: "Shape: Rounded",
+ shapeCircle: "Shape: Circle",
+ shapeThumbnail: "Shape: Thumbnail",
+ shapeNone: "Shape: None",
+ dragImageHere: "Drag image or text here",
+ dropImage: "Drop image or Text",
+ selectFromFiles: "Select from files",
+ maximumFileSize: "Maximum file size",
+ maximumFileSizeError: "Maximum file size exceeded.",
+ url: "Image URL",
+ remove: "Remove Image",
+ original: "Original",
+ },
+ video: { video: "Video", videoLink: "Video Link", insert: "Insert Video", url: "Video URL", providers: "(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)" },
+ link: {
+ link: "Link",
+ insert: "Insert Link",
+ unlink: "Unlink",
+ edit: "Edit",
+ textToDisplay: "Text to display",
+ url: "To what URL should this link go?",
+ openInNewWindow: "Open in new window",
+ useProtocol: "Use default protocol",
+ },
+ table: { table: "Table", addRowAbove: "Add row above", addRowBelow: "Add row below", addColLeft: "Add column left", addColRight: "Add column right", delRow: "Delete row", delCol: "Delete column", delTable: "Delete table" },
+ hr: { insert: "Insert Horizontal Rule" },
+ style: { style: "Style", p: "Normal", blockquote: "Quote", pre: "Code", h1: "Header 1", h2: "Header 2", h3: "Header 3", h4: "Header 4", h5: "Header 5", h6: "Header 6" },
+ lists: { unordered: "Unordered list", ordered: "Ordered list" },
+ options: { help: "Help", fullscreen: "Full Screen", codeview: "Code View" },
+ paragraph: { paragraph: "Paragraph", outdent: "Outdent", indent: "Indent", left: "Align left", center: "Align center", right: "Align right", justify: "Justify full" },
+ color: {
+ recent: "Recent Color",
+ more: "More Color",
+ background: "Background Color",
+ foreground: "Text Color",
+ transparent: "Transparent",
+ setTransparent: "Set transparent",
+ reset: "Reset",
+ resetToDefault: "Reset to default",
+ cpSelect: "Select",
+ },
+ shortcut: { shortcuts: "Keyboard shortcuts", close: "Close", textFormatting: "Text formatting", action: "Action", paragraphFormatting: "Paragraph formatting", documentStyle: "Document Style", extraKeys: "Extra keys" },
+ help: {
+ escape: "Escape",
+ insertParagraph: "Insert Paragraph",
+ undo: "Undo the last command",
+ redo: "Redo the last command",
+ tab: "Tab",
+ untab: "Untab",
+ bold: "Set a bold style",
+ italic: "Set a italic style",
+ underline: "Set a underline style",
+ strikethrough: "Set a strikethrough style",
+ removeFormat: "Clean a style",
+ justifyLeft: "Set left align",
+ justifyCenter: "Set center align",
+ justifyRight: "Set right align",
+ justifyFull: "Set full align",
+ insertUnorderedList: "Toggle unordered list",
+ insertOrderedList: "Toggle ordered list",
+ outdent: "Outdent on current paragraph",
+ indent: "Indent on current paragraph",
+ formatPara: "Change current block's format as a paragraph(P tag)",
+ formatH1: "Change current block's format as H1",
+ formatH2: "Change current block's format as H2",
+ formatH3: "Change current block's format as H3",
+ formatH4: "Change current block's format as H4",
+ formatH5: "Change current block's format as H5",
+ formatH6: "Change current block's format as H6",
+ insertHorizontalRule: "Insert horizontal rule",
+ "linkDialog.show": "Show Link Dialog",
+ },
+ history: { undo: "Undo", redo: "Redo" },
+ specialChar: { specialChar: "SPECIAL CHARACTERS", select: "Select Special characters" },
+ output: { noSelection: "No Selection Made!" },
+ },
+ });
+ var r = "function" == typeof define && n(2),
+ a = ["sans-serif", "serif", "monospace", "cursive", "fantasy"];
+ function s(t) {
+ return -1 === i.a.inArray(t.toLowerCase(), a) ? "'".concat(t, "'") : t;
+ }
+ var l,
+ c = navigator.userAgent,
+ u = /MSIE|Trident/i.test(c);
+ if (u) {
+ var d = /MSIE (\d+[.]\d+)/.exec(c);
+ d && (l = parseFloat(d[1])), (d = /Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(c)) && (l = parseFloat(d[1]));
+ }
+ var h = /Edge\/\d+/.test(c),
+ f = "ontouchstart" in window || navigator.MaxTouchPoints > 0 || navigator.msMaxTouchPoints > 0,
+ p = u ? "DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted" : "input",
+ m = {
+ isMac: navigator.appVersion.indexOf("Mac") > -1,
+ isMSIE: u,
+ isEdge: h,
+ isFF: !h && /firefox/i.test(c),
+ isPhantom: /PhantomJS/i.test(c),
+ isWebkit: !h && /webkit/i.test(c),
+ isChrome: !h && /chrome/i.test(c),
+ isSafari: !h && /safari/i.test(c) && !/chrome/i.test(c),
+ browserVersion: l,
+ jqueryVersion: parseFloat(i.a.fn.jquery),
+ isSupportAmd: r,
+ isSupportTouch: f,
+ isFontInstalled: function (t) {
+ var e = "Comic Sans MS" === t ? "Courier New" : "Comic Sans MS",
+ n = document.createElement("canvas").getContext("2d");
+ n.font = "200px '" + e + "'";
+ var o = n.measureText("mmmmmmmmmmwwwww").width;
+ return (n.font = "200px " + s(t) + ', "' + e + '"'), o !== n.measureText("mmmmmmmmmmwwwww").width;
+ },
+ isW3CRangeSupport: !!document.createRange,
+ inputEventName: p,
+ genericFontFamilies: a,
+ validFontName: s,
+ };
+ var v = 0;
+ var g = {
+ eq: function (t) {
+ return function (e) {
+ return t === e;
+ };
+ },
+ eq2: function (t, e) {
+ return t === e;
+ },
+ peq2: function (t) {
+ return function (e, n) {
+ return e[t] === n[t];
+ };
+ },
+ ok: function () {
+ return !0;
+ },
+ fail: function () {
+ return !1;
+ },
+ self: function (t) {
+ return t;
+ },
+ not: function (t) {
+ return function () {
+ return !t.apply(t, arguments);
+ };
+ },
+ and: function (t, e) {
+ return function (n) {
+ return t(n) && e(n);
+ };
+ },
+ invoke: function (t, e) {
+ return function () {
+ return t[e].apply(t, arguments);
+ };
+ },
+ resetUniqueId: function () {
+ v = 0;
+ },
+ uniqueId: function (t) {
+ var e = ++v + "";
+ return t ? t + e : e;
+ },
+ rect2bnd: function (t) {
+ var e = i()(document);
+ return { top: t.top + e.scrollTop(), left: t.left + e.scrollLeft(), width: t.right - t.left, height: t.bottom - t.top };
+ },
+ invertObject: function (t) {
+ var e = {};
+ for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[t[n]] = n);
+ return e;
+ },
+ namespaceToCamel: function (t, e) {
+ return (
+ (e = e || "") +
+ t
+ .split(".")
+ .map(function (t) {
+ return t.substring(0, 1).toUpperCase() + t.substring(1);
+ })
+ .join("")
+ );
+ },
+ debounce: function (t, e, n) {
+ var o;
+ return function () {
+ var i = this,
+ r = arguments,
+ a = function () {
+ (o = null), n || t.apply(i, r);
+ },
+ s = n && !o;
+ clearTimeout(o), (o = setTimeout(a, e)), s && t.apply(i, r);
+ };
+ },
+ isValidUrl: function (t) {
+ return /[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/gi.test(t);
+ },
+ };
+ function b(t) {
+ return t[0];
+ }
+ function k(t) {
+ return t[t.length - 1];
+ }
+ function y(t) {
+ return t.slice(1);
+ }
+ function w(t, e) {
+ if (t && t.length && e) {
+ if (t.indexOf) return -1 !== t.indexOf(e);
+ if (t.contains) return t.contains(e);
+ }
+ return !1;
+ }
+ var C = {
+ head: b,
+ last: k,
+ initial: function (t) {
+ return t.slice(0, t.length - 1);
+ },
+ tail: y,
+ prev: function (t, e) {
+ if (t && t.length && e) {
+ var n = t.indexOf(e);
+ return -1 === n ? null : t[n - 1];
+ }
+ return null;
+ },
+ next: function (t, e) {
+ if (t && t.length && e) {
+ var n = t.indexOf(e);
+ return -1 === n ? null : t[n + 1];
+ }
+ return null;
+ },
+ find: function (t, e) {
+ for (var n = 0, o = t.length; n < o; n++) {
+ var i = t[n];
+ if (e(i)) return i;
+ }
+ },
+ contains: w,
+ all: function (t, e) {
+ for (var n = 0, o = t.length; n < o; n++) if (!e(t[n])) return !1;
+ return !0;
+ },
+ sum: function (t, e) {
+ return (
+ (e = e || g.self),
+ t.reduce(function (t, n) {
+ return t + e(n);
+ }, 0)
+ );
+ },
+ from: function (t) {
+ for (var e = [], n = t.length, o = -1; ++o < n; ) e[o] = t[o];
+ return e;
+ },
+ isEmpty: function (t) {
+ return !t || !t.length;
+ },
+ clusterBy: function (t, e) {
+ return t.length
+ ? y(t).reduce(
+ function (t, n) {
+ var o = k(t);
+ return e(k(o), n) ? (o[o.length] = n) : (t[t.length] = [n]), t;
+ },
+ [[b(t)]]
+ )
+ : [];
+ },
+ compact: function (t) {
+ for (var e = [], n = 0, o = t.length; n < o; n++) t[n] && e.push(t[n]);
+ return e;
+ },
+ unique: function (t) {
+ for (var e = [], n = 0, o = t.length; n < o; n++) w(e, t[n]) || e.push(t[n]);
+ return e;
+ },
+ },
+ x = String.fromCharCode(160);
+ function S(t) {
+ return t && i()(t).hasClass("note-editable");
+ }
+ function T(t) {
+ return (
+ (t = t.toUpperCase()),
+ function (e) {
+ return e && e.nodeName.toUpperCase() === t;
+ }
+ );
+ }
+ function E(t) {
+ return t && 3 === t.nodeType;
+ }
+ function $(t) {
+ return t && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT|^AUDIO|^VIDEO|^EMBED/.test(t.nodeName.toUpperCase());
+ }
+ function N(t) {
+ return !S(t) && t && /^DIV|^P|^LI|^H[1-7]/.test(t.nodeName.toUpperCase());
+ }
+ var I = T("PRE"),
+ P = T("LI");
+ var R = T("TABLE"),
+ L = T("DATA");
+ function A(t) {
+ return !(z(t) || F(t) || D(t) || N(t) || R(t) || B(t) || L(t));
+ }
+ function F(t) {
+ return t && /^UL|^OL/.test(t.nodeName.toUpperCase());
+ }
+ var D = T("HR");
+ function H(t) {
+ return t && /^TD|^TH/.test(t.nodeName.toUpperCase());
+ }
+ var B = T("BLOCKQUOTE");
+ function z(t) {
+ return H(t) || B(t) || S(t);
+ }
+ var M = T("A");
+ var O = T("BODY");
+ var j = m.isMSIE && m.browserVersion < 11 ? " " : " ";
+ function U(t) {
+ return E(t) ? t.nodeValue.length : t ? t.childNodes.length : 0;
+ }
+ function W(t) {
+ var e = U(t);
+ return 0 === e || (!E(t) && 1 === e && t.innerHTML === j) || !(!C.all(t.childNodes, E) || "" !== t.innerHTML);
+ }
+ function K(t) {
+ $(t) || U(t) || (t.innerHTML = j);
+ }
+ function V(t, e) {
+ for (; t; ) {
+ if (e(t)) return t;
+ if (S(t)) break;
+ t = t.parentNode;
+ }
+ return null;
+ }
+ function q(t, e) {
+ e = e || g.fail;
+ var n = [];
+ return (
+ V(t, function (t) {
+ return S(t) || n.push(t), e(t);
+ }),
+ n
+ );
+ }
+ function _(t, e) {
+ e = e || g.fail;
+ for (var n = []; t && !e(t); ) n.push(t), (t = t.nextSibling);
+ return n;
+ }
+ function G(t, e) {
+ var n = e.nextSibling,
+ o = e.parentNode;
+ return n ? o.insertBefore(t, n) : o.appendChild(t), t;
+ }
+ function Y(t, e) {
+ return (
+ i.a.each(e, function (e, n) {
+ t.appendChild(n);
+ }),
+ t
+ );
+ }
+ function Z(t) {
+ return 0 === t.offset;
+ }
+ function X(t) {
+ return t.offset === U(t.node);
+ }
+ function Q(t) {
+ return Z(t) || X(t);
+ }
+ function J(t, e) {
+ for (; t && t !== e; ) {
+ if (0 !== et(t)) return !1;
+ t = t.parentNode;
+ }
+ return !0;
+ }
+ function tt(t, e) {
+ if (!e) return !1;
+ for (; t && t !== e; ) {
+ if (et(t) !== U(t.parentNode) - 1) return !1;
+ t = t.parentNode;
+ }
+ return !0;
+ }
+ function et(t) {
+ for (var e = 0; (t = t.previousSibling); ) e += 1;
+ return e;
+ }
+ function nt(t) {
+ return !!(t && t.childNodes && t.childNodes.length);
+ }
+ function ot(t, e) {
+ var n, o;
+ if (0 === t.offset) {
+ if (S(t.node)) return null;
+ (n = t.node.parentNode), (o = et(t.node));
+ } else nt(t.node) ? (o = U((n = t.node.childNodes[t.offset - 1]))) : ((n = t.node), (o = e ? 0 : t.offset - 1));
+ return { node: n, offset: o };
+ }
+ function it(t, e) {
+ var n, o;
+ if (U(t.node) === t.offset) {
+ if (S(t.node)) return null;
+ var i = at(t.node);
+ i ? ((n = i), (o = 0)) : ((n = t.node.parentNode), (o = et(t.node) + 1));
+ } else nt(t.node) ? ((n = t.node.childNodes[t.offset]), (o = 0)) : ((n = t.node), (o = e ? U(t.node) : t.offset + 1));
+ return { node: n, offset: o };
+ }
+ function rt(t, e) {
+ var n, o;
+ if (W(t.node)) return { node: (n = t.node.nextSibling), offset: (o = 0) };
+ if (U(t.node) === t.offset) {
+ if (S(t.node)) return null;
+ var i = at(t.node);
+ i ? ((n = i), (o = 0)) : ((n = t.node.parentNode), (o = et(t.node) + 1)), S(n) && ((n = t.node.nextSibling), (o = 0));
+ } else if (nt(t.node)) {
+ if (((o = 0), W((n = t.node.childNodes[t.offset])))) return null;
+ } else if (((n = t.node), (o = e ? U(t.node) : t.offset + 1), W(n))) return null;
+ return { node: n, offset: o };
+ }
+ function at(t) {
+ if (t.nextSibling && t.parent === t.nextSibling.parent) return E(t.nextSibling) ? t.nextSibling : at(t.nextSibling);
+ }
+ function st(t, e) {
+ return t.node === e.node && t.offset === e.offset;
+ }
+ function lt(t, e) {
+ var n = e && e.isSkipPaddingBlankHTML,
+ o = e && e.isNotSplitEdgePoint,
+ i = e && e.isDiscardEmptySplits;
+ if ((i && (n = !0), Q(t) && (E(t.node) || o))) {
+ if (Z(t)) return t.node;
+ if (X(t)) return t.node.nextSibling;
+ }
+ if (E(t.node)) return t.node.splitText(t.offset);
+ var r = t.node.childNodes[t.offset],
+ a = G(t.node.cloneNode(!1), t.node);
+ return Y(a, _(r)), n || (K(t.node), K(a)), i && (W(t.node) && dt(t.node), W(a)) ? (dt(a), t.node.nextSibling) : a;
+ }
+ function ct(t, e, n) {
+ var o = q(e.node, g.eq(t));
+ return o.length
+ ? 1 === o.length
+ ? lt(e, n)
+ : o.reduce(function (t, o) {
+ return t === e.node && (t = lt(e, n)), lt({ node: o, offset: t ? et(t) : U(o) }, n);
+ })
+ : null;
+ }
+ function ut(t) {
+ return document.createElement(t);
+ }
+ function dt(t, e) {
+ if (t && t.parentNode) {
+ if (t.removeNode) return t.removeNode(e);
+ var n = t.parentNode;
+ if (!e) {
+ for (var o = [], i = 0, r = t.childNodes.length; i < r; i++) o.push(t.childNodes[i]);
+ for (var a = 0, s = o.length; a < s; a++) n.insertBefore(o[a], t);
+ }
+ n.removeChild(t);
+ }
+ }
+ var ht = T("TEXTAREA");
+ function ft(t, e) {
+ var n = ht(t[0]) ? t.val() : t.html();
+ return e ? n.replace(/[\n\r]/g, "") : n;
+ }
+ var pt = {
+ NBSP_CHAR: x,
+ ZERO_WIDTH_NBSP_CHAR: "\ufeff",
+ blank: j,
+ emptyPara: "
".concat(j, "
"),
+ makePredByNodeName: T,
+ isEditable: S,
+ isControlSizing: function (t) {
+ return t && i()(t).hasClass("note-control-sizing");
+ },
+ isText: E,
+ isElement: function (t) {
+ return t && 1 === t.nodeType;
+ },
+ isVoid: $,
+ isPara: N,
+ isPurePara: function (t) {
+ return N(t) && !P(t);
+ },
+ isHeading: function (t) {
+ return t && /^H[1-7]/.test(t.nodeName.toUpperCase());
+ },
+ isInline: A,
+ isBlock: g.not(A),
+ isBodyInline: function (t) {
+ return A(t) && !V(t, N);
+ },
+ isBody: O,
+ isParaInline: function (t) {
+ return A(t) && !!V(t, N);
+ },
+ isPre: I,
+ isList: F,
+ isTable: R,
+ isData: L,
+ isCell: H,
+ isBlockquote: B,
+ isBodyContainer: z,
+ isAnchor: M,
+ isDiv: T("DIV"),
+ isLi: P,
+ isBR: T("BR"),
+ isSpan: T("SPAN"),
+ isB: T("B"),
+ isU: T("U"),
+ isS: T("S"),
+ isI: T("I"),
+ isImg: T("IMG"),
+ isTextarea: ht,
+ deepestChildIsEmpty: function (t) {
+ do {
+ if (null === t.firstElementChild || "" === t.firstElementChild.innerHTML) break;
+ } while ((t = t.firstElementChild));
+ return W(t);
+ },
+ isEmpty: W,
+ isEmptyAnchor: g.and(M, W),
+ isClosestSibling: function (t, e) {
+ return t.nextSibling === e || t.previousSibling === e;
+ },
+ withClosestSiblings: function (t, e) {
+ e = e || g.ok;
+ var n = [];
+ return t.previousSibling && e(t.previousSibling) && n.push(t.previousSibling), n.push(t), t.nextSibling && e(t.nextSibling) && n.push(t.nextSibling), n;
+ },
+ nodeLength: U,
+ isLeftEdgePoint: Z,
+ isRightEdgePoint: X,
+ isEdgePoint: Q,
+ isLeftEdgeOf: J,
+ isRightEdgeOf: tt,
+ isLeftEdgePointOf: function (t, e) {
+ return Z(t) && J(t.node, e);
+ },
+ isRightEdgePointOf: function (t, e) {
+ return X(t) && tt(t.node, e);
+ },
+ prevPoint: ot,
+ nextPoint: it,
+ nextPointWithEmptyNode: rt,
+ isSamePoint: st,
+ isVisiblePoint: function (t) {
+ if (E(t.node) || !nt(t.node) || W(t.node)) return !0;
+ var e = t.node.childNodes[t.offset - 1],
+ n = t.node.childNodes[t.offset];
+ return !((e && !$(e)) || (n && !$(n)));
+ },
+ prevPointUntil: function (t, e) {
+ for (; t; ) {
+ if (e(t)) return t;
+ t = ot(t);
+ }
+ return null;
+ },
+ nextPointUntil: function (t, e) {
+ for (; t; ) {
+ if (e(t)) return t;
+ t = it(t);
+ }
+ return null;
+ },
+ isCharPoint: function (t) {
+ if (!E(t.node)) return !1;
+ var e = t.node.nodeValue.charAt(t.offset - 1);
+ return e && " " !== e && e !== x;
+ },
+ isSpacePoint: function (t) {
+ if (!E(t.node)) return !1;
+ var e = t.node.nodeValue.charAt(t.offset - 1);
+ return " " === e || e === x;
+ },
+ walkPoint: function (t, e, n, o) {
+ for (var i = t; i && (n(i), !st(i, e)); ) {
+ i = rt(i, o && t.node !== i.node && e.node !== i.node);
+ }
+ },
+ ancestor: V,
+ singleChildAncestor: function (t, e) {
+ for (t = t.parentNode; t && 1 === U(t); ) {
+ if (e(t)) return t;
+ if (S(t)) break;
+ t = t.parentNode;
+ }
+ return null;
+ },
+ listAncestor: q,
+ lastAncestor: function (t, e) {
+ var n = q(t);
+ return C.last(n.filter(e));
+ },
+ listNext: _,
+ listPrev: function (t, e) {
+ e = e || g.fail;
+ for (var n = []; t && !e(t); ) n.push(t), (t = t.previousSibling);
+ return n;
+ },
+ listDescendant: function (t, e) {
+ var n = [];
+ return (
+ (e = e || g.ok),
+ (function o(i) {
+ t !== i && e(i) && n.push(i);
+ for (var r = 0, a = i.childNodes.length; r < a; r++) o(i.childNodes[r]);
+ })(t),
+ n
+ );
+ },
+ commonAncestor: function (t, e) {
+ for (var n = q(t), o = e; o; o = o.parentNode) if (n.indexOf(o) > -1) return o;
+ return null;
+ },
+ wrap: function (t, e) {
+ var n = t.parentNode,
+ o = i()("<" + e + ">")[0];
+ return n.insertBefore(o, t), o.appendChild(t), o;
+ },
+ insertAfter: G,
+ appendChildNodes: Y,
+ position: et,
+ hasChildren: nt,
+ makeOffsetPath: function (t, e) {
+ return q(e, g.eq(t)).map(et).reverse();
+ },
+ fromOffsetPath: function (t, e) {
+ for (var n = t, o = 0, i = e.length; o < i; o++) n = n.childNodes.length <= e[o] ? n.childNodes[n.childNodes.length - 1] : n.childNodes[e[o]];
+ return n;
+ },
+ splitTree: ct,
+ splitPoint: function (t, e) {
+ var n,
+ o,
+ i = e ? N : z,
+ r = q(t.node, i),
+ a = C.last(r) || t.node;
+ i(a) ? ((n = r[r.length - 2]), (o = a)) : (o = (n = a).parentNode);
+ var s = n && ct(n, t, { isSkipPaddingBlankHTML: e, isNotSplitEdgePoint: e });
+ return s || o !== t.node || (s = t.node.childNodes[t.offset]), { rightNode: s, container: o };
+ },
+ create: ut,
+ createText: function (t) {
+ return document.createTextNode(t);
+ },
+ remove: dt,
+ removeWhile: function (t, e) {
+ for (; t && !S(t) && e(t); ) {
+ var n = t.parentNode;
+ dt(t), (t = n);
+ }
+ },
+ replace: function (t, e) {
+ if (t.nodeName.toUpperCase() === e.toUpperCase()) return t;
+ var n = ut(e);
+ return t.style.cssText && (n.style.cssText = t.style.cssText), Y(n, C.from(t.childNodes)), G(n, t), dt(t), n;
+ },
+ html: function (t, e) {
+ var n = ft(t);
+ if (e) {
+ n = (n = n.replace(/<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g, function (t, e, n) {
+ n = n.toUpperCase();
+ var o = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(n) && !!e,
+ i = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(n);
+ return t + (o || i ? "\n" : "");
+ })).trim();
+ }
+ return n;
+ },
+ value: ft,
+ posFromPlaceholder: function (t) {
+ var e = i()(t),
+ n = e.offset(),
+ o = e.outerHeight(!0);
+ return { left: n.left, top: n.top + o };
+ },
+ attachEvents: function (t, e) {
+ Object.keys(e).forEach(function (n) {
+ t.on(n, e[n]);
+ });
+ },
+ detachEvents: function (t, e) {
+ Object.keys(e).forEach(function (n) {
+ t.off(n, e[n]);
+ });
+ },
+ isCustomStyleTag: function (t) {
+ return t && !E(t) && C.contains(t.classList, "note-styletag");
+ },
+ };
+ function mt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var vt = (function () {
+ function t(e, n) {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.$note = e),
+ (this.memos = {}),
+ (this.modules = {}),
+ (this.layoutInfo = {}),
+ (this.options = i.a.extend(!0, {}, n)),
+ (i.a.summernote.ui = i.a.summernote.ui_template(this.options)),
+ (this.ui = i.a.summernote.ui),
+ this.initialize();
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "initialize",
+ value: function () {
+ return (this.layoutInfo = this.ui.createLayout(this.$note)), this._initialize(), this.$note.hide(), this;
+ },
+ },
+ {
+ key: "destroy",
+ value: function () {
+ this._destroy(), this.$note.removeData("summernote"), this.ui.removeLayout(this.$note, this.layoutInfo);
+ },
+ },
+ {
+ key: "reset",
+ value: function () {
+ var t = this.isDisabled();
+ this.code(pt.emptyPara), this._destroy(), this._initialize(), t && this.disable();
+ },
+ },
+ {
+ key: "_initialize",
+ value: function () {
+ var t = this;
+ (this.options.id = g.uniqueId(i.a.now())), (this.options.container = this.options.container || this.layoutInfo.editor);
+ var e = i.a.extend({}, this.options.buttons);
+ Object.keys(e).forEach(function (n) {
+ t.memo("button." + n, e[n]);
+ });
+ var n = i.a.extend({}, this.options.modules, i.a.summernote.plugins || {});
+ Object.keys(n).forEach(function (e) {
+ t.module(e, n[e], !0);
+ }),
+ Object.keys(this.modules).forEach(function (e) {
+ t.initializeModule(e);
+ });
+ },
+ },
+ {
+ key: "_destroy",
+ value: function () {
+ var t = this;
+ Object.keys(this.modules)
+ .reverse()
+ .forEach(function (e) {
+ t.removeModule(e);
+ }),
+ Object.keys(this.memos).forEach(function (e) {
+ t.removeMemo(e);
+ }),
+ this.triggerEvent("destroy", this);
+ },
+ },
+ {
+ key: "code",
+ value: function (t) {
+ var e = this.invoke("codeview.isActivated");
+ if (void 0 === t) return this.invoke("codeview.sync"), e ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html();
+ e ? this.invoke("codeview.sync", t) : this.layoutInfo.editable.html(t), this.$note.val(t), this.triggerEvent("change", t, this.layoutInfo.editable);
+ },
+ },
+ {
+ key: "isDisabled",
+ value: function () {
+ return "false" === this.layoutInfo.editable.attr("contenteditable");
+ },
+ },
+ {
+ key: "enable",
+ value: function () {
+ this.layoutInfo.editable.attr("contenteditable", !0), this.invoke("toolbar.activate", !0), this.triggerEvent("disable", !1), (this.options.editing = !0);
+ },
+ },
+ {
+ key: "disable",
+ value: function () {
+ this.invoke("codeview.isActivated") && this.invoke("codeview.deactivate"),
+ this.layoutInfo.editable.attr("contenteditable", !1),
+ (this.options.editing = !1),
+ this.invoke("toolbar.deactivate", !0),
+ this.triggerEvent("disable", !0);
+ },
+ },
+ {
+ key: "triggerEvent",
+ value: function () {
+ var t = C.head(arguments),
+ e = C.tail(C.from(arguments)),
+ n = this.options.callbacks[g.namespaceToCamel(t, "on")];
+ n && n.apply(this.$note[0], e), this.$note.trigger("summernote." + t, e);
+ },
+ },
+ {
+ key: "initializeModule",
+ value: function (t) {
+ var e = this.modules[t];
+ (e.shouldInitialize = e.shouldInitialize || g.ok), e.shouldInitialize() && (e.initialize && e.initialize(), e.events && pt.attachEvents(this.$note, e.events));
+ },
+ },
+ {
+ key: "module",
+ value: function (t, e, n) {
+ if (1 === arguments.length) return this.modules[t];
+ (this.modules[t] = new e(this)), n || this.initializeModule(t);
+ },
+ },
+ {
+ key: "removeModule",
+ value: function (t) {
+ var e = this.modules[t];
+ e.shouldInitialize() && (e.events && pt.detachEvents(this.$note, e.events), e.destroy && e.destroy()), delete this.modules[t];
+ },
+ },
+ {
+ key: "memo",
+ value: function (t, e) {
+ if (1 === arguments.length) return this.memos[t];
+ this.memos[t] = e;
+ },
+ },
+ {
+ key: "removeMemo",
+ value: function (t) {
+ this.memos[t] && this.memos[t].destroy && this.memos[t].destroy(), delete this.memos[t];
+ },
+ },
+ {
+ key: "createInvokeHandlerAndUpdateState",
+ value: function (t, e) {
+ var n = this;
+ return function (o) {
+ n.createInvokeHandler(t, e)(o), n.invoke("buttons.updateCurrentStyle");
+ };
+ },
+ },
+ {
+ key: "createInvokeHandler",
+ value: function (t, e) {
+ var n = this;
+ return function (o) {
+ o.preventDefault();
+ var r = i()(o.target);
+ n.invoke(t, e || r.closest("[data-value]").data("value"), r);
+ };
+ },
+ },
+ {
+ key: "invoke",
+ value: function () {
+ var t = C.head(arguments),
+ e = C.tail(C.from(arguments)),
+ n = t.split("."),
+ o = n.length > 1,
+ i = o && C.head(n),
+ r = o ? C.last(n) : C.head(n),
+ a = this.modules[i || "editor"];
+ return !i && this[r] ? this[r].apply(this, e) : a && a[r] && a.shouldInitialize() ? a[r].apply(a, e) : void 0;
+ },
+ },
+ ]) && mt(e.prototype, n),
+ o && mt(e, o),
+ t
+ );
+ })();
+ function gt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ function bt(t, e) {
+ var n,
+ o,
+ i = t.parentElement(),
+ r = document.body.createTextRange(),
+ a = C.from(i.childNodes);
+ for (n = 0; n < a.length; n++)
+ if (!pt.isText(a[n])) {
+ if ((r.moveToElementText(a[n]), r.compareEndPoints("StartToStart", t) >= 0)) break;
+ o = a[n];
+ }
+ if (0 !== n && pt.isText(a[n - 1])) {
+ var s = document.body.createTextRange(),
+ l = null;
+ s.moveToElementText(o || i), s.collapse(!o), (l = o ? o.nextSibling : i.firstChild);
+ var c = t.duplicate();
+ c.setEndPoint("StartToStart", s);
+ for (var u = c.text.replace(/[\r\n]/g, "").length; u > l.nodeValue.length && l.nextSibling; ) (u -= l.nodeValue.length), (l = l.nextSibling);
+ l.nodeValue;
+ e && l.nextSibling && pt.isText(l.nextSibling) && u === l.nodeValue.length && ((u -= l.nodeValue.length), (l = l.nextSibling)), (i = l), (n = u);
+ }
+ return { cont: i, offset: n };
+ }
+ function kt(t) {
+ var e = document.body.createTextRange(),
+ n = (function t(e, n) {
+ var o, i;
+ if (pt.isText(e)) {
+ var r = pt.listPrev(e, g.not(pt.isText)),
+ a = C.last(r).previousSibling;
+ (o = a || e.parentNode), (n += C.sum(C.tail(r), pt.nodeLength)), (i = !a);
+ } else {
+ if (((o = e.childNodes[n] || e), pt.isText(o))) return t(o, 0);
+ (n = 0), (i = !1);
+ }
+ return { node: o, collapseToStart: i, offset: n };
+ })(t.node, t.offset);
+ return e.moveToElementText(n.node), e.collapse(n.collapseToStart), e.moveStart("character", n.offset), e;
+ }
+ i.a.fn.extend({
+ summernote: function () {
+ var t = i.a.type(C.head(arguments)),
+ e = "string" === t,
+ n = "object" === t,
+ o = i.a.extend({}, i.a.summernote.options, n ? C.head(arguments) : {});
+ (o.langInfo = i.a.extend(!0, {}, i.a.summernote.lang["en-US"], i.a.summernote.lang[o.lang])),
+ (o.icons = i.a.extend(!0, {}, i.a.summernote.options.icons, o.icons)),
+ (o.tooltip = "auto" === o.tooltip ? !m.isSupportTouch : o.tooltip),
+ this.each(function (t, e) {
+ var n = i()(e);
+ if (!n.data("summernote")) {
+ var r = new vt(n, o);
+ n.data("summernote", r), n.data("summernote").triggerEvent("init", r.layoutInfo);
+ }
+ });
+ var r = this.first();
+ if (r.length) {
+ var a = r.data("summernote");
+ if (e) return a.invoke.apply(a, C.from(arguments));
+ o.focus && a.invoke("editor.focus");
+ }
+ return this;
+ },
+ });
+ var yt = (function () {
+ function t(e, n, o, i) {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.sc = e),
+ (this.so = n),
+ (this.ec = o),
+ (this.eo = i),
+ (this.isOnEditable = this.makeIsOn(pt.isEditable)),
+ (this.isOnList = this.makeIsOn(pt.isList)),
+ (this.isOnAnchor = this.makeIsOn(pt.isAnchor)),
+ (this.isOnCell = this.makeIsOn(pt.isCell)),
+ (this.isOnData = this.makeIsOn(pt.isData));
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "nativeRange",
+ value: function () {
+ if (m.isW3CRangeSupport) {
+ var t = document.createRange();
+ return t.setStart(this.sc, this.so), t.setEnd(this.ec, this.eo), t;
+ }
+ var e = kt({ node: this.sc, offset: this.so });
+ return e.setEndPoint("EndToEnd", kt({ node: this.ec, offset: this.eo })), e;
+ },
+ },
+ {
+ key: "getPoints",
+ value: function () {
+ return { sc: this.sc, so: this.so, ec: this.ec, eo: this.eo };
+ },
+ },
+ {
+ key: "getStartPoint",
+ value: function () {
+ return { node: this.sc, offset: this.so };
+ },
+ },
+ {
+ key: "getEndPoint",
+ value: function () {
+ return { node: this.ec, offset: this.eo };
+ },
+ },
+ {
+ key: "select",
+ value: function () {
+ var t = this.nativeRange();
+ if (m.isW3CRangeSupport) {
+ var e = document.getSelection();
+ e.rangeCount > 0 && e.removeAllRanges(), e.addRange(t);
+ } else t.select();
+ return this;
+ },
+ },
+ {
+ key: "scrollIntoView",
+ value: function (t) {
+ var e = i()(t).height();
+ return t.scrollTop + e < this.sc.offsetTop && (t.scrollTop += Math.abs(t.scrollTop + e - this.sc.offsetTop)), this;
+ },
+ },
+ {
+ key: "normalize",
+ value: function () {
+ var e = function (t, e) {
+ if (!t) return t;
+ if (
+ pt.isVisiblePoint(t) &&
+ (!pt.isEdgePoint(t) ||
+ (pt.isRightEdgePoint(t) && !e) ||
+ (pt.isLeftEdgePoint(t) && e) ||
+ (pt.isRightEdgePoint(t) && e && pt.isVoid(t.node.nextSibling)) ||
+ (pt.isLeftEdgePoint(t) && !e && pt.isVoid(t.node.previousSibling)) ||
+ (pt.isBlock(t.node) && pt.isEmpty(t.node)))
+ )
+ return t;
+ var n = pt.ancestor(t.node, pt.isBlock),
+ o = !1;
+ if (!o) {
+ var i = pt.prevPoint(t) || { node: null };
+ o = (pt.isLeftEdgePointOf(t, n) || pt.isVoid(i.node)) && !e;
+ }
+ var r = !1;
+ if (!r) {
+ var a = pt.nextPoint(t) || { node: null };
+ r = (pt.isRightEdgePointOf(t, n) || pt.isVoid(a.node)) && e;
+ }
+ if (o || r) {
+ if (pt.isVisiblePoint(t)) return t;
+ e = !e;
+ }
+ return (e ? pt.nextPointUntil(pt.nextPoint(t), pt.isVisiblePoint) : pt.prevPointUntil(pt.prevPoint(t), pt.isVisiblePoint)) || t;
+ },
+ n = e(this.getEndPoint(), !1),
+ o = this.isCollapsed() ? n : e(this.getStartPoint(), !0);
+ return new t(o.node, o.offset, n.node, n.offset);
+ },
+ },
+ {
+ key: "nodes",
+ value: function (t, e) {
+ t = t || g.ok;
+ var n = e && e.includeAncestor,
+ o = e && e.fullyContains,
+ i = this.getStartPoint(),
+ r = this.getEndPoint(),
+ a = [],
+ s = [];
+ return (
+ pt.walkPoint(
+ i,
+ r,
+ function (e) {
+ var i;
+ pt.isEditable(e.node) || (o ? (pt.isLeftEdgePoint(e) && s.push(e.node), pt.isRightEdgePoint(e) && C.contains(s, e.node) && (i = e.node)) : (i = n ? pt.ancestor(e.node, t) : e.node), i && t(i) && a.push(i));
+ },
+ !0
+ ),
+ C.unique(a)
+ );
+ },
+ },
+ {
+ key: "commonAncestor",
+ value: function () {
+ return pt.commonAncestor(this.sc, this.ec);
+ },
+ },
+ {
+ key: "expand",
+ value: function (e) {
+ var n = pt.ancestor(this.sc, e),
+ o = pt.ancestor(this.ec, e);
+ if (!n && !o) return new t(this.sc, this.so, this.ec, this.eo);
+ var i = this.getPoints();
+ return n && ((i.sc = n), (i.so = 0)), o && ((i.ec = o), (i.eo = pt.nodeLength(o))), new t(i.sc, i.so, i.ec, i.eo);
+ },
+ },
+ {
+ key: "collapse",
+ value: function (e) {
+ return e ? new t(this.sc, this.so, this.sc, this.so) : new t(this.ec, this.eo, this.ec, this.eo);
+ },
+ },
+ {
+ key: "splitText",
+ value: function () {
+ var e = this.sc === this.ec,
+ n = this.getPoints();
+ return (
+ pt.isText(this.ec) && !pt.isEdgePoint(this.getEndPoint()) && this.ec.splitText(this.eo),
+ pt.isText(this.sc) && !pt.isEdgePoint(this.getStartPoint()) && ((n.sc = this.sc.splitText(this.so)), (n.so = 0), e && ((n.ec = n.sc), (n.eo = this.eo - this.so))),
+ new t(n.sc, n.so, n.ec, n.eo)
+ );
+ },
+ },
+ {
+ key: "deleteContents",
+ value: function () {
+ if (this.isCollapsed()) return this;
+ var e = this.splitText(),
+ n = e.nodes(null, { fullyContains: !0 }),
+ o = pt.prevPointUntil(e.getStartPoint(), function (t) {
+ return !C.contains(n, t.node);
+ }),
+ r = [];
+ return (
+ i.a.each(n, function (t, e) {
+ var n = e.parentNode;
+ o.node !== n && 1 === pt.nodeLength(n) && r.push(n), pt.remove(e, !1);
+ }),
+ i.a.each(r, function (t, e) {
+ pt.remove(e, !1);
+ }),
+ new t(o.node, o.offset, o.node, o.offset).normalize()
+ );
+ },
+ },
+ {
+ key: "makeIsOn",
+ value: function (t) {
+ return function () {
+ var e = pt.ancestor(this.sc, t);
+ return !!e && e === pt.ancestor(this.ec, t);
+ };
+ },
+ },
+ {
+ key: "isLeftEdgeOf",
+ value: function (t) {
+ if (!pt.isLeftEdgePoint(this.getStartPoint())) return !1;
+ var e = pt.ancestor(this.sc, t);
+ return e && pt.isLeftEdgeOf(this.sc, e);
+ },
+ },
+ {
+ key: "isCollapsed",
+ value: function () {
+ return this.sc === this.ec && this.so === this.eo;
+ },
+ },
+ {
+ key: "wrapBodyInlineWithPara",
+ value: function () {
+ if (pt.isBodyContainer(this.sc) && pt.isEmpty(this.sc)) return (this.sc.innerHTML = pt.emptyPara), new t(this.sc.firstChild, 0, this.sc.firstChild, 0);
+ var e,
+ n = this.normalize();
+ if (pt.isParaInline(this.sc) || pt.isPara(this.sc)) return n;
+ if (pt.isInline(n.sc)) {
+ var o = pt.listAncestor(n.sc, g.not(pt.isInline));
+ (e = C.last(o)), pt.isInline(e) || (e = o[o.length - 2] || n.sc.childNodes[n.so]);
+ } else e = n.sc.childNodes[n.so > 0 ? n.so - 1 : 0];
+ if (e) {
+ var i = pt.listPrev(e, pt.isParaInline).reverse();
+ if ((i = i.concat(pt.listNext(e.nextSibling, pt.isParaInline))).length) {
+ var r = pt.wrap(C.head(i), "p");
+ pt.appendChildNodes(r, C.tail(i));
+ }
+ }
+ return this.normalize();
+ },
+ },
+ {
+ key: "insertNode",
+ value: function (t) {
+ var e = this;
+ (pt.isText(t) || pt.isInline(t)) && (e = this.wrapBodyInlineWithPara().deleteContents());
+ var n = pt.splitPoint(e.getStartPoint(), pt.isInline(t));
+ return n.rightNode ? (n.rightNode.parentNode.insertBefore(t, n.rightNode), pt.isEmpty(n.rightNode) && pt.isPara(t) && n.rightNode.parentNode.removeChild(n.rightNode)) : n.container.appendChild(t), t;
+ },
+ },
+ {
+ key: "pasteHTML",
+ value: function (t) {
+ t = i.a.trim(t);
+ var e = i()("").html(t)[0],
+ n = C.from(e.childNodes),
+ o = this,
+ r = !1;
+ return (
+ o.so >= 0 && ((n = n.reverse()), (r = !0)),
+ (n = n.map(function (t) {
+ return o.insertNode(t);
+ })),
+ r && (n = n.reverse()),
+ n
+ );
+ },
+ },
+ {
+ key: "toString",
+ value: function () {
+ var t = this.nativeRange();
+ return m.isW3CRangeSupport ? t.toString() : t.text;
+ },
+ },
+ {
+ key: "getWordRange",
+ value: function (e) {
+ var n = this.getEndPoint();
+ if (!pt.isCharPoint(n)) return this;
+ var o = pt.prevPointUntil(n, function (t) {
+ return !pt.isCharPoint(t);
+ });
+ return (
+ e &&
+ (n = pt.nextPointUntil(n, function (t) {
+ return !pt.isCharPoint(t);
+ })),
+ new t(o.node, o.offset, n.node, n.offset)
+ );
+ },
+ },
+ {
+ key: "getWordsRange",
+ value: function (e) {
+ var n = this.getEndPoint(),
+ o = function (t) {
+ return !pt.isCharPoint(t) && !pt.isSpacePoint(t);
+ };
+ if (o(n)) return this;
+ var i = pt.prevPointUntil(n, o);
+ return e && (n = pt.nextPointUntil(n, o)), new t(i.node, i.offset, n.node, n.offset);
+ },
+ },
+ {
+ key: "getWordsMatchRange",
+ value: function (e) {
+ var n = this.getEndPoint(),
+ o = pt.prevPointUntil(n, function (o) {
+ if (!pt.isCharPoint(o) && !pt.isSpacePoint(o)) return !0;
+ var i = new t(o.node, o.offset, n.node, n.offset),
+ r = e.exec(i.toString());
+ return r && 0 === r.index;
+ }),
+ i = new t(o.node, o.offset, n.node, n.offset),
+ r = i.toString(),
+ a = e.exec(r);
+ return a && a[0].length === r.length ? i : null;
+ },
+ },
+ {
+ key: "bookmark",
+ value: function (t) {
+ return { s: { path: pt.makeOffsetPath(t, this.sc), offset: this.so }, e: { path: pt.makeOffsetPath(t, this.ec), offset: this.eo } };
+ },
+ },
+ {
+ key: "paraBookmark",
+ value: function (t) {
+ return { s: { path: C.tail(pt.makeOffsetPath(C.head(t), this.sc)), offset: this.so }, e: { path: C.tail(pt.makeOffsetPath(C.last(t), this.ec)), offset: this.eo } };
+ },
+ },
+ {
+ key: "getClientRects",
+ value: function () {
+ return this.nativeRange().getClientRects();
+ },
+ },
+ ]) && gt(e.prototype, n),
+ o && gt(e, o),
+ t
+ );
+ })(),
+ wt = {
+ create: function (t, e, n, o) {
+ if (4 === arguments.length) return new yt(t, e, n, o);
+ if (2 === arguments.length) return new yt(t, e, (n = t), (o = e));
+ var i = this.createFromSelection();
+ if (!i && 1 === arguments.length) {
+ var r = arguments[0];
+ return pt.isEditable(r) && (r = r.lastChild), this.createFromBodyElement(r, pt.emptyPara === arguments[0].innerHTML);
+ }
+ return i;
+ },
+ createFromBodyElement: function (t) {
+ var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+ n = this.createFromNode(t);
+ return n.collapse(e);
+ },
+ createFromSelection: function () {
+ var t, e, n, o;
+ if (m.isW3CRangeSupport) {
+ var i = document.getSelection();
+ if (!i || 0 === i.rangeCount) return null;
+ if (pt.isBody(i.anchorNode)) return null;
+ var r = i.getRangeAt(0);
+ (t = r.startContainer), (e = r.startOffset), (n = r.endContainer), (o = r.endOffset);
+ } else {
+ var a = document.selection.createRange(),
+ s = a.duplicate();
+ s.collapse(!1);
+ var l = a;
+ l.collapse(!0);
+ var c = bt(l, !0),
+ u = bt(s, !1);
+ pt.isText(c.node) && pt.isLeftEdgePoint(c) && pt.isTextNode(u.node) && pt.isRightEdgePoint(u) && u.node.nextSibling === c.node && (c = u), (t = c.cont), (e = c.offset), (n = u.cont), (o = u.offset);
+ }
+ return new yt(t, e, n, o);
+ },
+ createFromNode: function (t) {
+ var e = t,
+ n = 0,
+ o = t,
+ i = pt.nodeLength(o);
+ return (
+ pt.isVoid(e) && ((n = pt.listPrev(e).length - 1), (e = e.parentNode)),
+ pt.isBR(o) ? ((i = pt.listPrev(o).length - 1), (o = o.parentNode)) : pt.isVoid(o) && ((i = pt.listPrev(o).length), (o = o.parentNode)),
+ this.create(e, n, o, i)
+ );
+ },
+ createFromNodeBefore: function (t) {
+ return this.createFromNode(t).collapse(!0);
+ },
+ createFromNodeAfter: function (t) {
+ return this.createFromNode(t).collapse();
+ },
+ createFromBookmark: function (t, e) {
+ var n = pt.fromOffsetPath(t, e.s.path),
+ o = e.s.offset,
+ i = pt.fromOffsetPath(t, e.e.path),
+ r = e.e.offset;
+ return new yt(n, o, i, r);
+ },
+ createFromParaBookmark: function (t, e) {
+ var n = t.s.offset,
+ o = t.e.offset,
+ i = pt.fromOffsetPath(C.head(e), t.s.path),
+ r = pt.fromOffsetPath(C.last(e), t.e.path);
+ return new yt(i, n, r, o);
+ },
+ },
+ Ct = {
+ BACKSPACE: 8,
+ TAB: 9,
+ ENTER: 13,
+ ESCAPE: 27,
+ SPACE: 32,
+ DELETE: 46,
+ LEFT: 37,
+ UP: 38,
+ RIGHT: 39,
+ DOWN: 40,
+ NUM0: 48,
+ NUM1: 49,
+ NUM2: 50,
+ NUM3: 51,
+ NUM4: 52,
+ NUM5: 53,
+ NUM6: 54,
+ NUM7: 55,
+ NUM8: 56,
+ B: 66,
+ E: 69,
+ I: 73,
+ J: 74,
+ K: 75,
+ L: 76,
+ R: 82,
+ S: 83,
+ U: 85,
+ V: 86,
+ Y: 89,
+ Z: 90,
+ SLASH: 191,
+ LEFTBRACKET: 219,
+ BACKSLASH: 220,
+ RIGHTBRACKET: 221,
+ HOME: 36,
+ END: 35,
+ PAGEUP: 33,
+ PAGEDOWN: 34,
+ },
+ xt = {
+ isEdit: function (t) {
+ return C.contains([Ct.BACKSPACE, Ct.TAB, Ct.ENTER, Ct.SPACE, Ct.DELETE], t);
+ },
+ isMove: function (t) {
+ return C.contains([Ct.LEFT, Ct.UP, Ct.RIGHT, Ct.DOWN], t);
+ },
+ isNavigation: function (t) {
+ return C.contains([Ct.HOME, Ct.END, Ct.PAGEUP, Ct.PAGEDOWN], t);
+ },
+ nameFromCode: g.invertObject(Ct),
+ code: Ct,
+ };
+ function St(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var Tt = (function () {
+ function t(e) {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.stack = []),
+ (this.stackOffset = -1),
+ (this.context = e),
+ (this.$editable = e.layoutInfo.editable),
+ (this.editable = this.$editable[0]);
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "makeSnapshot",
+ value: function () {
+ var t = wt.create(this.editable);
+ return { contents: this.$editable.html(), bookmark: t && t.isOnEditable() ? t.bookmark(this.editable) : { s: { path: [], offset: 0 }, e: { path: [], offset: 0 } } };
+ },
+ },
+ {
+ key: "applySnapshot",
+ value: function (t) {
+ null !== t.contents && this.$editable.html(t.contents), null !== t.bookmark && wt.createFromBookmark(this.editable, t.bookmark).select();
+ },
+ },
+ {
+ key: "rewind",
+ value: function () {
+ this.$editable.html() !== this.stack[this.stackOffset].contents && this.recordUndo(), (this.stackOffset = 0), this.applySnapshot(this.stack[this.stackOffset]);
+ },
+ },
+ {
+ key: "commit",
+ value: function () {
+ (this.stack = []), (this.stackOffset = -1), this.recordUndo();
+ },
+ },
+ {
+ key: "reset",
+ value: function () {
+ (this.stack = []), (this.stackOffset = -1), this.$editable.html(""), this.recordUndo();
+ },
+ },
+ {
+ key: "undo",
+ value: function () {
+ this.$editable.html() !== this.stack[this.stackOffset].contents && this.recordUndo(), this.stackOffset > 0 && (this.stackOffset--, this.applySnapshot(this.stack[this.stackOffset]));
+ },
+ },
+ {
+ key: "redo",
+ value: function () {
+ this.stack.length - 1 > this.stackOffset && (this.stackOffset++, this.applySnapshot(this.stack[this.stackOffset]));
+ },
+ },
+ {
+ key: "recordUndo",
+ value: function () {
+ this.stackOffset++,
+ this.stack.length > this.stackOffset && (this.stack = this.stack.slice(0, this.stackOffset)),
+ this.stack.push(this.makeSnapshot()),
+ this.stack.length > this.context.options.historyLimit && (this.stack.shift(), (this.stackOffset -= 1));
+ },
+ },
+ ]) && St(e.prototype, n),
+ o && St(e, o),
+ t
+ );
+ })();
+ function Et(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var $t = (function () {
+ function t() {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t);
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "jQueryCSS",
+ value: function (t, e) {
+ if (m.jqueryVersion < 1.9) {
+ var n = {};
+ return (
+ i.a.each(e, function (e, o) {
+ n[o] = t.css(o);
+ }),
+ n
+ );
+ }
+ return t.css(e);
+ },
+ },
+ {
+ key: "fromNode",
+ value: function (t) {
+ var e = this.jQueryCSS(t, ["font-family", "font-size", "text-align", "list-style-type", "line-height"]) || {},
+ n = t[0].style.fontSize || e["font-size"];
+ return (e["font-size"] = parseInt(n, 10)), (e["font-size-unit"] = n.match(/[a-z%]+$/)), e;
+ },
+ },
+ {
+ key: "stylePara",
+ value: function (t, e) {
+ i.a.each(t.nodes(pt.isPara, { includeAncestor: !0 }), function (t, n) {
+ i()(n).css(e);
+ });
+ },
+ },
+ {
+ key: "styleNodes",
+ value: function (t, e) {
+ t = t.splitText();
+ var n = (e && e.nodeName) || "SPAN",
+ o = !(!e || !e.expandClosestSibling),
+ r = !(!e || !e.onlyPartialContains);
+ if (t.isCollapsed()) return [t.insertNode(pt.create(n))];
+ var a = pt.makePredByNodeName(n),
+ s = t.nodes(pt.isText, { fullyContains: !0 }).map(function (t) {
+ return pt.singleChildAncestor(t, a) || pt.wrap(t, n);
+ });
+ if (o) {
+ if (r) {
+ var l = t.nodes();
+ a = g.and(a, function (t) {
+ return C.contains(l, t);
+ });
+ }
+ return s.map(function (t) {
+ var e = pt.withClosestSiblings(t, a),
+ n = C.head(e),
+ o = C.tail(e);
+ return (
+ i.a.each(o, function (t, e) {
+ pt.appendChildNodes(n, e.childNodes), pt.remove(e);
+ }),
+ C.head(e)
+ );
+ });
+ }
+ return s;
+ },
+ },
+ {
+ key: "current",
+ value: function (t) {
+ var e = i()(pt.isElement(t.sc) ? t.sc : t.sc.parentNode),
+ n = this.fromNode(e);
+ try {
+ n = i.a.extend(n, {
+ "font-bold": document.queryCommandState("bold") ? "bold" : "normal",
+ "font-italic": document.queryCommandState("italic") ? "italic" : "normal",
+ "font-underline": document.queryCommandState("underline") ? "underline" : "normal",
+ "font-subscript": document.queryCommandState("subscript") ? "subscript" : "normal",
+ "font-superscript": document.queryCommandState("superscript") ? "superscript" : "normal",
+ "font-strikethrough": document.queryCommandState("strikethrough") ? "strikethrough" : "normal",
+ "font-family": document.queryCommandValue("fontname") || n["font-family"],
+ });
+ } catch (t) {}
+ if (t.isOnList()) {
+ var o = ["circle", "disc", "disc-leading-zero", "square"].indexOf(n["list-style-type"]) > -1;
+ n["list-style"] = o ? "unordered" : "ordered";
+ } else n["list-style"] = "none";
+ var r = pt.ancestor(t.sc, pt.isPara);
+ if (r && r.style["line-height"]) n["line-height"] = r.style.lineHeight;
+ else {
+ var a = parseInt(n["line-height"], 10) / parseInt(n["font-size"], 10);
+ n["line-height"] = a.toFixed(1);
+ }
+ return (n.anchor = t.isOnAnchor() && pt.ancestor(t.sc, pt.isAnchor)), (n.ancestors = pt.listAncestor(t.sc, pt.isEditable)), (n.range = t), n;
+ },
+ },
+ ]) && Et(e.prototype, n),
+ o && Et(e, o),
+ t
+ );
+ })();
+ function Nt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var It = (function () {
+ function t() {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t);
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "insertOrderedList",
+ value: function (t) {
+ this.toggleList("OL", t);
+ },
+ },
+ {
+ key: "insertUnorderedList",
+ value: function (t) {
+ this.toggleList("UL", t);
+ },
+ },
+ {
+ key: "indent",
+ value: function (t) {
+ var e = this,
+ n = wt.create(t).wrapBodyInlineWithPara(),
+ o = n.nodes(pt.isPara, { includeAncestor: !0 }),
+ r = C.clusterBy(o, g.peq2("parentNode"));
+ i.a.each(r, function (t, n) {
+ var o = C.head(n);
+ if (pt.isLi(o)) {
+ var r = e.findList(o.previousSibling);
+ r
+ ? n.map(function (t) {
+ return r.appendChild(t);
+ })
+ : (e.wrapList(n, o.parentNode.nodeName),
+ n
+ .map(function (t) {
+ return t.parentNode;
+ })
+ .map(function (t) {
+ return e.appendToPrevious(t);
+ }));
+ } else
+ i.a.each(n, function (t, e) {
+ i()(e).css("marginLeft", function (t, e) {
+ return (parseInt(e, 10) || 0) + 25;
+ });
+ });
+ }),
+ n.select();
+ },
+ },
+ {
+ key: "outdent",
+ value: function (t) {
+ var e = this,
+ n = wt.create(t).wrapBodyInlineWithPara(),
+ o = n.nodes(pt.isPara, { includeAncestor: !0 }),
+ r = C.clusterBy(o, g.peq2("parentNode"));
+ i.a.each(r, function (t, n) {
+ var o = C.head(n);
+ pt.isLi(o)
+ ? e.releaseList([n])
+ : i.a.each(n, function (t, e) {
+ i()(e).css("marginLeft", function (t, e) {
+ return (e = parseInt(e, 10) || 0) > 25 ? e - 25 : "";
+ });
+ });
+ }),
+ n.select();
+ },
+ },
+ {
+ key: "toggleList",
+ value: function (t, e) {
+ var n = this,
+ o = wt.create(e).wrapBodyInlineWithPara(),
+ r = o.nodes(pt.isPara, { includeAncestor: !0 }),
+ a = o.paraBookmark(r),
+ s = C.clusterBy(r, g.peq2("parentNode"));
+ if (C.find(r, pt.isPurePara)) {
+ var l = [];
+ i.a.each(s, function (e, o) {
+ l = l.concat(n.wrapList(o, t));
+ }),
+ (r = l);
+ } else {
+ var c = o.nodes(pt.isList, { includeAncestor: !0 }).filter(function (e) {
+ return !i.a.nodeName(e, t);
+ });
+ c.length
+ ? i.a.each(c, function (e, n) {
+ pt.replace(n, t);
+ })
+ : (r = this.releaseList(s, !0));
+ }
+ wt.createFromParaBookmark(a, r).select();
+ },
+ },
+ {
+ key: "wrapList",
+ value: function (t, e) {
+ var n = C.head(t),
+ o = C.last(t),
+ i = pt.isList(n.previousSibling) && n.previousSibling,
+ r = pt.isList(o.nextSibling) && o.nextSibling,
+ a = i || pt.insertAfter(pt.create(e || "UL"), o);
+ return (
+ (t = t.map(function (t) {
+ return pt.isPurePara(t) ? pt.replace(t, "LI") : t;
+ })),
+ pt.appendChildNodes(a, t),
+ r && (pt.appendChildNodes(a, C.from(r.childNodes)), pt.remove(r)),
+ t
+ );
+ },
+ },
+ {
+ key: "releaseList",
+ value: function (t, e) {
+ var n = this,
+ o = [];
+ return (
+ i.a.each(t, function (t, r) {
+ var a = C.head(r),
+ s = C.last(r),
+ l = e ? pt.lastAncestor(a, pt.isList) : a.parentNode,
+ c = l.parentNode;
+ if ("LI" === l.parentNode.nodeName)
+ r.map(function (t) {
+ var e = n.findNextSiblings(t);
+ c.nextSibling ? c.parentNode.insertBefore(t, c.nextSibling) : c.parentNode.appendChild(t), e.length && (n.wrapList(e, l.nodeName), t.appendChild(e[0].parentNode));
+ }),
+ 0 === l.children.length && c.removeChild(l),
+ 0 === c.childNodes.length && c.parentNode.removeChild(c);
+ else {
+ var u = l.childNodes.length > 1 ? pt.splitTree(l, { node: s.parentNode, offset: pt.position(s) + 1 }, { isSkipPaddingBlankHTML: !0 }) : null,
+ d = pt.splitTree(l, { node: a.parentNode, offset: pt.position(a) }, { isSkipPaddingBlankHTML: !0 });
+ (r = e ? pt.listDescendant(d, pt.isLi) : C.from(d.childNodes).filter(pt.isLi)),
+ (!e && pt.isList(l.parentNode)) ||
+ (r = r.map(function (t) {
+ return pt.replace(t, "P");
+ })),
+ i.a.each(C.from(r).reverse(), function (t, e) {
+ pt.insertAfter(e, l);
+ });
+ var h = C.compact([l, d, u]);
+ i.a.each(h, function (t, e) {
+ var n = [e].concat(pt.listDescendant(e, pt.isList));
+ i.a.each(n.reverse(), function (t, e) {
+ pt.nodeLength(e) || pt.remove(e, !0);
+ });
+ });
+ }
+ o = o.concat(r);
+ }),
+ o
+ );
+ },
+ },
+ {
+ key: "appendToPrevious",
+ value: function (t) {
+ return t.previousSibling ? pt.appendChildNodes(t.previousSibling, [t]) : this.wrapList([t], "LI");
+ },
+ },
+ {
+ key: "findList",
+ value: function (t) {
+ return t
+ ? C.find(t.children, function (t) {
+ return ["OL", "UL"].indexOf(t.nodeName) > -1;
+ })
+ : null;
+ },
+ },
+ {
+ key: "findNextSiblings",
+ value: function (t) {
+ for (var e = []; t.nextSibling; ) e.push(t.nextSibling), (t = t.nextSibling);
+ return e;
+ },
+ },
+ ]) && Nt(e.prototype, n),
+ o && Nt(e, o),
+ t
+ );
+ })();
+ function Pt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var Rt = (function () {
+ function t(e) {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.bullet = new It()),
+ (this.options = e.options);
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "insertTab",
+ value: function (t, e) {
+ var n = pt.createText(new Array(e + 1).join(pt.NBSP_CHAR));
+ (t = t.deleteContents()).insertNode(n, !0), (t = wt.create(n, e)).select();
+ },
+ },
+ {
+ key: "insertParagraph",
+ value: function (t, e) {
+ e = (e = (e = e || wt.create(t)).deleteContents()).wrapBodyInlineWithPara();
+ var n,
+ o = pt.ancestor(e.sc, pt.isPara);
+ if (o) {
+ if (pt.isLi(o) && (pt.isEmpty(o) || pt.deepestChildIsEmpty(o))) return void this.bullet.toggleList(o.parentNode.nodeName);
+ var r = null;
+ if ((1 === this.options.blockquoteBreakingLevel ? (r = pt.ancestor(o, pt.isBlockquote)) : 2 === this.options.blockquoteBreakingLevel && (r = pt.lastAncestor(o, pt.isBlockquote)), r)) {
+ (n = i()(pt.emptyPara)[0]), pt.isRightEdgePoint(e.getStartPoint()) && pt.isBR(e.sc.nextSibling) && i()(e.sc.nextSibling).remove();
+ var a = pt.splitTree(r, e.getStartPoint(), { isDiscardEmptySplits: !0 });
+ a ? a.parentNode.insertBefore(n, a) : pt.insertAfter(n, r);
+ } else {
+ n = pt.splitTree(o, e.getStartPoint());
+ var s = pt.listDescendant(o, pt.isEmptyAnchor);
+ (s = s.concat(pt.listDescendant(n, pt.isEmptyAnchor))),
+ i.a.each(s, function (t, e) {
+ pt.remove(e);
+ }),
+ (pt.isHeading(n) || pt.isPre(n) || pt.isCustomStyleTag(n)) && pt.isEmpty(n) && (n = pt.replace(n, "p"));
+ }
+ } else {
+ var l = e.sc.childNodes[e.so];
+ (n = i()(pt.emptyPara)[0]), l ? e.sc.insertBefore(n, l) : e.sc.appendChild(n);
+ }
+ wt.create(n, 0).normalize().select().scrollIntoView(t);
+ },
+ },
+ ]) && Pt(e.prototype, n),
+ o && Pt(e, o),
+ t
+ );
+ })();
+ function Lt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var At = function t(e, n, o, i) {
+ var r = { colPos: 0, rowPos: 0 },
+ a = [],
+ s = [];
+ function l(t, e, n, o, i, r, s) {
+ var l = { baseRow: n, baseCell: o, isRowSpan: i, isColSpan: r, isVirtual: s };
+ a[t] || (a[t] = []), (a[t][e] = l);
+ }
+ function c(t, e, n, o) {
+ return { baseCell: t.baseCell, action: e, virtualTable: { rowIndex: n, cellIndex: o } };
+ }
+ function u(t, e) {
+ if (!a[t]) return e;
+ if (!a[t][e]) return e;
+ for (var n = e; a[t][n]; ) if ((n++, !a[t][n])) return n;
+ }
+ function d(t, e) {
+ var n = u(t.rowIndex, e.cellIndex),
+ o = e.colSpan > 1,
+ i = e.rowSpan > 1,
+ a = t.rowIndex === r.rowPos && e.cellIndex === r.colPos;
+ l(t.rowIndex, n, t, e, i, o, !1);
+ var s = e.attributes.rowSpan ? parseInt(e.attributes.rowSpan.value, 10) : 0;
+ if (s > 1)
+ for (var c = 1; c < s; c++) {
+ var d = t.rowIndex + c;
+ h(d, n, e, a), l(d, n, t, e, !0, o, !0);
+ }
+ var f = e.attributes.colSpan ? parseInt(e.attributes.colSpan.value, 10) : 0;
+ if (f > 1)
+ for (var p = 1; p < f; p++) {
+ var m = u(t.rowIndex, n + p);
+ h(t.rowIndex, m, e, a), l(t.rowIndex, m, t, e, i, !0, !0);
+ }
+ }
+ function h(t, e, n, o) {
+ t === r.rowPos && r.colPos >= n.cellIndex && n.cellIndex <= e && !o && r.colPos++;
+ }
+ function f(e) {
+ switch (n) {
+ case t.where.Column:
+ if (e.isColSpan) return t.resultAction.SubtractSpanCount;
+ break;
+ case t.where.Row:
+ if (!e.isVirtual && e.isRowSpan) return t.resultAction.AddCell;
+ if (e.isRowSpan) return t.resultAction.SubtractSpanCount;
+ }
+ return t.resultAction.RemoveCell;
+ }
+ function p(e) {
+ switch (n) {
+ case t.where.Column:
+ if (e.isColSpan) return t.resultAction.SumSpanCount;
+ if (e.isRowSpan && e.isVirtual) return t.resultAction.Ignore;
+ break;
+ case t.where.Row:
+ if (e.isRowSpan) return t.resultAction.SumSpanCount;
+ if (e.isColSpan && e.isVirtual) return t.resultAction.Ignore;
+ }
+ return t.resultAction.AddCell;
+ }
+ (this.getActionList = function () {
+ for (var e = n === t.where.Row ? r.rowPos : -1, i = n === t.where.Column ? r.colPos : -1, l = 0, u = !0; u; ) {
+ var d = e >= 0 ? e : l,
+ h = i >= 0 ? i : l,
+ m = a[d];
+ if (!m) return (u = !1), s;
+ var v = m[h];
+ if (!v) return (u = !1), s;
+ var g = t.resultAction.Ignore;
+ switch (o) {
+ case t.requestAction.Add:
+ g = p(v);
+ break;
+ case t.requestAction.Delete:
+ g = f(v);
+ }
+ s.push(c(v, g, d, h)), l++;
+ }
+ return s;
+ }),
+ e &&
+ e.tagName &&
+ ("td" === e.tagName.toLowerCase() || "th" === e.tagName.toLowerCase()) &&
+ ((r.colPos = e.cellIndex), e.parentElement && e.parentElement.tagName && "tr" === e.parentElement.tagName.toLowerCase() && (r.rowPos = e.parentElement.rowIndex)),
+ (function () {
+ for (var t = i.rows, e = 0; e < t.length; e++) for (var n = t[e].cells, o = 0; o < n.length; o++) d(t[e], n[o]);
+ })();
+ };
+ (At.where = { Row: 0, Column: 1 }), (At.requestAction = { Add: 0, Delete: 1 }), (At.resultAction = { Ignore: 0, SubtractSpanCount: 1, RemoveCell: 2, AddCell: 3, SumSpanCount: 4 });
+ var Ft = (function () {
+ function t() {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t);
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "tab",
+ value: function (t, e) {
+ var n = pt.ancestor(t.commonAncestor(), pt.isCell),
+ o = pt.ancestor(n, pt.isTable),
+ i = pt.listDescendant(o, pt.isCell),
+ r = C[e ? "prev" : "next"](i, n);
+ r && wt.create(r, 0).select();
+ },
+ },
+ {
+ key: "addRow",
+ value: function (t, e) {
+ for (
+ var n = pt.ancestor(t.commonAncestor(), pt.isCell),
+ o = i()(n).closest("tr"),
+ r = this.recoverAttributes(o),
+ a = i()("
"),
+ s = new At(n, At.where.Row, At.requestAction.Add, i()(o).closest("table")[0]).getActionList(),
+ l = 0;
+ l < s.length;
+ l++
+ ) {
+ var c = s[l],
+ u = this.recoverAttributes(c.baseCell);
+ switch (c.action) {
+ case At.resultAction.AddCell:
+ a.append("
" + pt.blank + "
");
+ break;
+ case At.resultAction.SumSpanCount:
+ if ("top" === e && (c.baseCell.parent ? c.baseCell.closest("tr").rowIndex : 0) <= o[0].rowIndex) {
+ var d = i()("")
+ .append(i()("
" + pt.blank + "
").removeAttr("rowspan"))
+ .html();
+ a.append(d);
+ break;
+ }
+ var h = parseInt(c.baseCell.rowSpan, 10);
+ h++, c.baseCell.setAttribute("rowSpan", h);
+ }
+ }
+ if ("top" === e) o.before(a);
+ else {
+ if (n.rowSpan > 1) {
+ var f = o[0].rowIndex + (n.rowSpan - 2);
+ return void i()(i()(o).parent().find("tr")[f]).after(i()(a));
+ }
+ o.after(a);
+ }
+ },
+ },
+ {
+ key: "addCol",
+ value: function (t, e) {
+ var n = pt.ancestor(t.commonAncestor(), pt.isCell),
+ o = i()(n).closest("tr");
+ i()(o).siblings().push(o);
+ for (var r = new At(n, At.where.Column, At.requestAction.Add, i()(o).closest("table")[0]).getActionList(), a = 0; a < r.length; a++) {
+ var s = r[a],
+ l = this.recoverAttributes(s.baseCell);
+ switch (s.action) {
+ case At.resultAction.AddCell:
+ "right" === e ? i()(s.baseCell).after("
" + pt.blank + "
") : i()(s.baseCell).before("
" + pt.blank + "
");
+ break;
+ case At.resultAction.SumSpanCount:
+ if ("right" === e) {
+ var c = parseInt(s.baseCell.colSpan, 10);
+ c++, s.baseCell.setAttribute("colSpan", c);
+ } else i()(s.baseCell).before("
" + pt.blank + "
");
+ }
+ }
+ },
+ },
+ {
+ key: "recoverAttributes",
+ value: function (t) {
+ var e = "";
+ if (!t) return e;
+ for (var n = t.attributes || [], o = 0; o < n.length; o++) "id" !== n[o].name.toLowerCase() && n[o].specified && (e += " " + n[o].name + "='" + n[o].value + "'");
+ return e;
+ },
+ },
+ {
+ key: "deleteRow",
+ value: function (t) {
+ for (
+ var e = pt.ancestor(t.commonAncestor(), pt.isCell),
+ n = i()(e).closest("tr"),
+ o = n.children("td, th").index(i()(e)),
+ r = n[0].rowIndex,
+ a = new At(e, At.where.Row, At.requestAction.Delete, i()(n).closest("table")[0]).getActionList(),
+ s = 0;
+ s < a.length;
+ s++
+ )
+ if (a[s]) {
+ var l = a[s].baseCell,
+ c = a[s].virtualTable,
+ u = l.rowSpan && l.rowSpan > 1,
+ d = u ? parseInt(l.rowSpan, 10) : 0;
+ switch (a[s].action) {
+ case At.resultAction.Ignore:
+ continue;
+ case At.resultAction.AddCell:
+ var h = n.next("tr")[0];
+ if (!h) continue;
+ var f = n[0].cells[o];
+ u &&
+ (d > 2
+ ? (d--, h.insertBefore(f, h.cells[o]), h.cells[o].setAttribute("rowSpan", d), (h.cells[o].innerHTML = ""))
+ : 2 === d && (h.insertBefore(f, h.cells[o]), h.cells[o].removeAttribute("rowSpan"), (h.cells[o].innerHTML = "")));
+ continue;
+ case At.resultAction.SubtractSpanCount:
+ u &&
+ (d > 2 ? (d--, l.setAttribute("rowSpan", d), c.rowIndex !== r && l.cellIndex === o && (l.innerHTML = "")) : 2 === d && (l.removeAttribute("rowSpan"), c.rowIndex !== r && l.cellIndex === o && (l.innerHTML = "")));
+ continue;
+ case At.resultAction.RemoveCell:
+ continue;
+ }
+ }
+ n.remove();
+ },
+ },
+ {
+ key: "deleteCol",
+ value: function (t) {
+ for (
+ var e = pt.ancestor(t.commonAncestor(), pt.isCell),
+ n = i()(e).closest("tr"),
+ o = n.children("td, th").index(i()(e)),
+ r = new At(e, At.where.Column, At.requestAction.Delete, i()(n).closest("table")[0]).getActionList(),
+ a = 0;
+ a < r.length;
+ a++
+ )
+ if (r[a])
+ switch (r[a].action) {
+ case At.resultAction.Ignore:
+ continue;
+ case At.resultAction.SubtractSpanCount:
+ var s = r[a].baseCell;
+ if (s.colSpan && s.colSpan > 1) {
+ var l = s.colSpan ? parseInt(s.colSpan, 10) : 0;
+ l > 2 ? (l--, s.setAttribute("colSpan", l), s.cellIndex === o && (s.innerHTML = "")) : 2 === l && (s.removeAttribute("colSpan"), s.cellIndex === o && (s.innerHTML = ""));
+ }
+ continue;
+ case At.resultAction.RemoveCell:
+ pt.remove(r[a].baseCell, !0);
+ continue;
+ }
+ },
+ },
+ {
+ key: "createTable",
+ value: function (t, e, n) {
+ for (var o, r = [], a = 0; a < t; a++) r.push("
" + pt.blank + "
");
+ o = r.join("");
+ for (var s, l = [], c = 0; c < e; c++) l.push("
" + o + "
");
+ s = l.join("");
+ var u = i()("
" + s + "
");
+ return n && n.tableClassName && u.addClass(n.tableClassName), u[0];
+ },
+ },
+ {
+ key: "deleteTable",
+ value: function (t) {
+ var e = pt.ancestor(t.commonAncestor(), pt.isCell);
+ i()(e).closest("table").remove();
+ },
+ },
+ ]) && Lt(e.prototype, n),
+ o && Lt(e, o),
+ t
+ );
+ })();
+ function Dt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var Ht = (function () {
+ function t(e) {
+ var n = this;
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.context = e),
+ (this.$note = e.layoutInfo.note),
+ (this.$editor = e.layoutInfo.editor),
+ (this.$editable = e.layoutInfo.editable),
+ (this.options = e.options),
+ (this.lang = this.options.langInfo),
+ (this.editable = this.$editable[0]),
+ (this.lastRange = null),
+ (this.snapshot = null),
+ (this.style = new $t()),
+ (this.table = new Ft()),
+ (this.typing = new Rt(e)),
+ (this.bullet = new It()),
+ (this.history = new Tt(e)),
+ this.context.memo("help.escape", this.lang.help.escape),
+ this.context.memo("help.undo", this.lang.help.undo),
+ this.context.memo("help.redo", this.lang.help.redo),
+ this.context.memo("help.tab", this.lang.help.tab),
+ this.context.memo("help.untab", this.lang.help.untab),
+ this.context.memo("help.insertParagraph", this.lang.help.insertParagraph),
+ this.context.memo("help.insertOrderedList", this.lang.help.insertOrderedList),
+ this.context.memo("help.insertUnorderedList", this.lang.help.insertUnorderedList),
+ this.context.memo("help.indent", this.lang.help.indent),
+ this.context.memo("help.outdent", this.lang.help.outdent),
+ this.context.memo("help.formatPara", this.lang.help.formatPara),
+ this.context.memo("help.insertHorizontalRule", this.lang.help.insertHorizontalRule),
+ this.context.memo("help.fontName", this.lang.help.fontName);
+ for (var o = ["bold", "italic", "underline", "strikethrough", "superscript", "subscript", "justifyLeft", "justifyCenter", "justifyRight", "justifyFull", "formatBlock", "removeFormat", "backColor"], r = 0, a = o.length; r < a; r++)
+ (this[o[r]] = (function (t) {
+ return function (e) {
+ n.beforeCommand(), document.execCommand(t, !1, e), n.afterCommand(!0);
+ };
+ })(o[r])),
+ this.context.memo("help." + o[r], this.lang.help[o[r]]);
+ (this.fontName = this.wrapCommand(function (t) {
+ return n.fontStyling("font-family", m.validFontName(t));
+ })),
+ (this.fontSize = this.wrapCommand(function (t) {
+ var e = n.currentStyle()["font-size-unit"];
+ return n.fontStyling("font-size", t + e);
+ })),
+ (this.fontSizeUnit = this.wrapCommand(function (t) {
+ var e = n.currentStyle()["font-size"];
+ return n.fontStyling("font-size", e + t);
+ }));
+ for (var s = 1; s <= 6; s++)
+ (this["formatH" + s] = (function (t) {
+ return function () {
+ n.formatBlock("H" + t);
+ };
+ })(s)),
+ this.context.memo("help.formatH" + s, this.lang.help["formatH" + s]);
+ (this.insertParagraph = this.wrapCommand(function () {
+ n.typing.insertParagraph(n.editable);
+ })),
+ (this.insertOrderedList = this.wrapCommand(function () {
+ n.bullet.insertOrderedList(n.editable);
+ })),
+ (this.insertUnorderedList = this.wrapCommand(function () {
+ n.bullet.insertUnorderedList(n.editable);
+ })),
+ (this.indent = this.wrapCommand(function () {
+ n.bullet.indent(n.editable);
+ })),
+ (this.outdent = this.wrapCommand(function () {
+ n.bullet.outdent(n.editable);
+ })),
+ (this.insertNode = this.wrapCommand(function (t) {
+ n.isLimited(i()(t).text().length) || (n.getLastRange().insertNode(t), n.setLastRange(wt.createFromNodeAfter(t).select()));
+ })),
+ (this.insertText = this.wrapCommand(function (t) {
+ if (!n.isLimited(t.length)) {
+ var e = n.getLastRange().insertNode(pt.createText(t));
+ n.setLastRange(wt.create(e, pt.nodeLength(e)).select());
+ }
+ })),
+ (this.pasteHTML = this.wrapCommand(function (t) {
+ if (!n.isLimited(t.length)) {
+ t = n.context.invoke("codeview.purify", t);
+ var e = n.getLastRange().pasteHTML(t);
+ n.setLastRange(wt.createFromNodeAfter(C.last(e)).select());
+ }
+ })),
+ (this.formatBlock = this.wrapCommand(function (t, e) {
+ var o = n.options.callbacks.onApplyCustomStyle;
+ o ? o.call(n, e, n.context, n.onFormatBlock) : n.onFormatBlock(t, e);
+ })),
+ (this.insertHorizontalRule = this.wrapCommand(function () {
+ var t = n.getLastRange().insertNode(pt.create("HR"));
+ t.nextSibling && n.setLastRange(wt.create(t.nextSibling, 0).normalize().select());
+ })),
+ (this.lineHeight = this.wrapCommand(function (t) {
+ n.style.stylePara(n.getLastRange(), { lineHeight: t });
+ })),
+ (this.createLink = this.wrapCommand(function (t) {
+ var e = t.url,
+ o = t.text,
+ r = t.isNewWindow,
+ a = t.checkProtocol,
+ s = t.range || n.getLastRange(),
+ l = o.length - s.toString().length;
+ if (!(l > 0 && n.isLimited(l))) {
+ var c = s.toString() !== o;
+ "string" == typeof e && (e = e.trim()), n.options.onCreateLink ? (e = n.options.onCreateLink(e)) : a && (e = /^([A-Za-z][A-Za-z0-9+-.]*\:|#|\/)/.test(e) ? e : n.options.defaultProtocol + e);
+ var u = [];
+ if (c) {
+ var d = (s = s.deleteContents()).insertNode(i()("" + o + "")[0]);
+ u.push(d);
+ } else u = n.style.styleNodes(s, { nodeName: "A", expandClosestSibling: !0, onlyPartialContains: !0 });
+ i.a.each(u, function (t, n) {
+ i()(n).attr("href", e), r ? i()(n).attr("target", "_blank") : i()(n).removeAttr("target");
+ }),
+ n.setLastRange(n.createRangeFromList(u).select());
+ }
+ })),
+ (this.color = this.wrapCommand(function (t) {
+ var e = t.foreColor,
+ n = t.backColor;
+ e && document.execCommand("foreColor", !1, e), n && document.execCommand("backColor", !1, n);
+ })),
+ (this.foreColor = this.wrapCommand(function (t) {
+ document.execCommand("foreColor", !1, t);
+ })),
+ (this.insertTable = this.wrapCommand(function (t) {
+ var e = t.split("x");
+ n.getLastRange().deleteContents().insertNode(n.table.createTable(e[0], e[1], n.options));
+ })),
+ (this.removeMedia = this.wrapCommand(function () {
+ var t = i()(n.restoreTarget()).parent();
+ t.closest("figure").length ? t.closest("figure").remove() : (t = i()(n.restoreTarget()).detach()), n.context.triggerEvent("media.delete", t, n.$editable);
+ })),
+ (this.floatMe = this.wrapCommand(function (t) {
+ var e = i()(n.restoreTarget());
+ e.toggleClass("note-float-left", "left" === t), e.toggleClass("note-float-right", "right" === t), e.css("float", "none" === t ? "" : t);
+ })),
+ (this.resize = this.wrapCommand(function (t) {
+ var e = i()(n.restoreTarget());
+ 0 === (t = parseFloat(t)) ? e.css("width", "") : e.css({ width: 100 * t + "%", height: "" });
+ }));
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "initialize",
+ value: function () {
+ var t = this;
+ this.$editable
+ .on("keydown", function (e) {
+ if (
+ (e.keyCode === xt.code.ENTER && t.context.triggerEvent("enter", e),
+ t.context.triggerEvent("keydown", e),
+ (t.snapshot = t.history.makeSnapshot()),
+ (t.hasKeyShortCut = !1),
+ e.isDefaultPrevented() || (t.options.shortcuts ? (t.hasKeyShortCut = t.handleKeyMap(e)) : t.preventDefaultEditableShortCuts(e)),
+ t.isLimited(1, e))
+ ) {
+ var n = t.getLastRange();
+ if (n.eo - n.so == 0) return !1;
+ }
+ t.setLastRange(), t.options.recordEveryKeystroke && !1 === t.hasKeyShortCut && t.history.recordUndo();
+ })
+ .on("keyup", function (e) {
+ t.setLastRange(), t.context.triggerEvent("keyup", e);
+ })
+ .on("focus", function (e) {
+ t.setLastRange(), t.context.triggerEvent("focus", e);
+ })
+ .on("blur", function (e) {
+ t.context.triggerEvent("blur", e);
+ })
+ .on("mousedown", function (e) {
+ t.context.triggerEvent("mousedown", e);
+ })
+ .on("mouseup", function (e) {
+ t.setLastRange(), t.history.recordUndo(), t.context.triggerEvent("mouseup", e);
+ })
+ .on("scroll", function (e) {
+ t.context.triggerEvent("scroll", e);
+ })
+ .on("paste", function (e) {
+ t.setLastRange(), t.context.triggerEvent("paste", e);
+ })
+ .on("input", function () {
+ t.isLimited(0) && t.snapshot && t.history.applySnapshot(t.snapshot);
+ }),
+ this.$editable.attr("spellcheck", this.options.spellCheck),
+ this.$editable.attr("autocorrect", this.options.spellCheck),
+ this.options.disableGrammar && this.$editable.attr("data-gramm", !1),
+ this.$editable.html(pt.html(this.$note) || pt.emptyPara),
+ this.$editable.on(
+ m.inputEventName,
+ g.debounce(function () {
+ t.context.triggerEvent("change", t.$editable.html(), t.$editable);
+ }, 10)
+ ),
+ this.$editable
+ .on("focusin", function (e) {
+ t.context.triggerEvent("focusin", e);
+ })
+ .on("focusout", function (e) {
+ t.context.triggerEvent("focusout", e);
+ }),
+ this.options.airMode
+ ? this.options.overrideContextMenu &&
+ this.$editor.on("contextmenu", function (e) {
+ return t.context.triggerEvent("contextmenu", e), !1;
+ })
+ : (this.options.width && this.$editor.outerWidth(this.options.width),
+ this.options.height && this.$editable.outerHeight(this.options.height),
+ this.options.maxHeight && this.$editable.css("max-height", this.options.maxHeight),
+ this.options.minHeight && this.$editable.css("min-height", this.options.minHeight)),
+ this.history.recordUndo(),
+ this.setLastRange();
+ },
+ },
+ {
+ key: "destroy",
+ value: function () {
+ this.$editable.off();
+ },
+ },
+ {
+ key: "handleKeyMap",
+ value: function (t) {
+ var e = this.options.keyMap[m.isMac ? "mac" : "pc"],
+ n = [];
+ t.metaKey && n.push("CMD"), t.ctrlKey && !t.altKey && n.push("CTRL"), t.shiftKey && n.push("SHIFT");
+ var o = xt.nameFromCode[t.keyCode];
+ o && n.push(o);
+ var i = e[n.join("+")];
+ if ("TAB" !== o || this.options.tabDisable)
+ if (i) {
+ if (!1 !== this.context.invoke(i)) return t.preventDefault(), !0;
+ } else xt.isEdit(t.keyCode) && this.afterCommand();
+ else this.afterCommand();
+ return !1;
+ },
+ },
+ {
+ key: "preventDefaultEditableShortCuts",
+ value: function (t) {
+ (t.ctrlKey || t.metaKey) && C.contains([66, 73, 85], t.keyCode) && t.preventDefault();
+ },
+ },
+ {
+ key: "isLimited",
+ value: function (t, e) {
+ return (
+ (t = t || 0),
+ (void 0 === e || !(xt.isMove(e.keyCode) || xt.isNavigation(e.keyCode) || e.ctrlKey || e.metaKey || C.contains([xt.code.BACKSPACE, xt.code.DELETE], e.keyCode))) &&
+ this.options.maxTextLength > 0 &&
+ this.$editable.text().length + t > this.options.maxTextLength
+ );
+ },
+ },
+ {
+ key: "createRange",
+ value: function () {
+ return this.focus(), this.setLastRange(), this.getLastRange();
+ },
+ },
+ {
+ key: "createRangeFromList",
+ value: function (t) {
+ var e = wt.createFromNodeBefore(C.head(t)).getStartPoint(),
+ n = wt.createFromNodeAfter(C.last(t)).getEndPoint();
+ return wt.create(e.node, e.offset, n.node, n.offset);
+ },
+ },
+ {
+ key: "setLastRange",
+ value: function (t) {
+ t ? (this.lastRange = t) : ((this.lastRange = wt.create(this.editable)), 0 === i()(this.lastRange.sc).closest(".note-editable").length && (this.lastRange = wt.createFromBodyElement(this.editable)));
+ },
+ },
+ {
+ key: "getLastRange",
+ value: function () {
+ return this.lastRange || this.setLastRange(), this.lastRange;
+ },
+ },
+ {
+ key: "saveRange",
+ value: function (t) {
+ t && this.getLastRange().collapse().select();
+ },
+ },
+ {
+ key: "restoreRange",
+ value: function () {
+ this.lastRange && (this.lastRange.select(), this.focus());
+ },
+ },
+ {
+ key: "saveTarget",
+ value: function (t) {
+ this.$editable.data("target", t);
+ },
+ },
+ {
+ key: "clearTarget",
+ value: function () {
+ this.$editable.removeData("target");
+ },
+ },
+ {
+ key: "restoreTarget",
+ value: function () {
+ return this.$editable.data("target");
+ },
+ },
+ {
+ key: "currentStyle",
+ value: function () {
+ var t = wt.create();
+ return t && (t = t.normalize()), t ? this.style.current(t) : this.style.fromNode(this.$editable);
+ },
+ },
+ {
+ key: "styleFromNode",
+ value: function (t) {
+ return this.style.fromNode(t);
+ },
+ },
+ {
+ key: "undo",
+ value: function () {
+ this.context.triggerEvent("before.command", this.$editable.html()), this.history.undo(), this.context.triggerEvent("change", this.$editable.html(), this.$editable);
+ },
+ },
+ {
+ key: "commit",
+ value: function () {
+ this.context.triggerEvent("before.command", this.$editable.html()), this.history.commit(), this.context.triggerEvent("change", this.$editable.html(), this.$editable);
+ },
+ },
+ {
+ key: "redo",
+ value: function () {
+ this.context.triggerEvent("before.command", this.$editable.html()), this.history.redo(), this.context.triggerEvent("change", this.$editable.html(), this.$editable);
+ },
+ },
+ {
+ key: "beforeCommand",
+ value: function () {
+ this.context.triggerEvent("before.command", this.$editable.html()), document.execCommand("styleWithCSS", !1, this.options.styleWithCSS), this.focus();
+ },
+ },
+ {
+ key: "afterCommand",
+ value: function (t) {
+ this.normalizeContent(), this.history.recordUndo(), t || this.context.triggerEvent("change", this.$editable.html(), this.$editable);
+ },
+ },
+ {
+ key: "tab",
+ value: function () {
+ var t = this.getLastRange();
+ if (t.isCollapsed() && t.isOnCell()) this.table.tab(t);
+ else {
+ if (0 === this.options.tabSize) return !1;
+ this.isLimited(this.options.tabSize) || (this.beforeCommand(), this.typing.insertTab(t, this.options.tabSize), this.afterCommand());
+ }
+ },
+ },
+ {
+ key: "untab",
+ value: function () {
+ var t = this.getLastRange();
+ if (t.isCollapsed() && t.isOnCell()) this.table.tab(t, !0);
+ else if (0 === this.options.tabSize) return !1;
+ },
+ },
+ {
+ key: "wrapCommand",
+ value: function (t) {
+ return function () {
+ this.beforeCommand(), t.apply(this, arguments), this.afterCommand();
+ };
+ },
+ },
+ {
+ key: "insertImage",
+ value: function (t, e) {
+ var n,
+ o = this;
+ return ((n = t),
+ i.a
+ .Deferred(function (t) {
+ var e = i()("");
+ e.one("load", function () {
+ e.off("error abort"), t.resolve(e);
+ })
+ .one("error abort", function () {
+ e.off("load").detach(), t.reject(e);
+ })
+ .css({ display: "none" })
+ .appendTo(document.body)
+ .attr("src", n);
+ })
+ .promise())
+ .then(function (t) {
+ o.beforeCommand(),
+ "function" == typeof e ? e(t) : ("string" == typeof e && t.attr("data-filename", e), t.css("width", Math.min(o.$editable.width(), t.width()))),
+ t.show(),
+ o.getLastRange().insertNode(t[0]),
+ o.setLastRange(wt.createFromNodeAfter(t[0]).select()),
+ o.afterCommand();
+ })
+ .fail(function (t) {
+ o.context.triggerEvent("image.upload.error", src, t);
+ });
+ },
+ },
+ {
+ key: "insertImagesAsDataURL",
+ value: function (t) {
+ var e = this;
+ i.a.each(t, function (t, n) {
+ var o = n.name;
+ e.options.maximumImageFileSize && e.options.maximumImageFileSize < n.size
+ ? e.context.triggerEvent("image.upload.error", file, e.lang.image.maximumFileSizeError)
+ : (function (t) {
+ return i.a
+ .Deferred(function (e) {
+ i.a
+ .extend(new FileReader(), {
+ onload: function (t) {
+ var n = t.target.result;
+ e.resolve(n);
+ },
+ onerror: function (t) {
+ e.reject(t);
+ },
+ })
+ .readAsDataURL(t);
+ })
+ .promise();
+ })(n)
+ .then(function (t) {
+ return e.insertImage(t, o);
+ })
+ .fail(function () {
+ e.context.triggerEvent("image.upload.error", file, "base64 failed");
+ });
+ });
+ },
+ },
+ {
+ key: "insertImagesOrCallback",
+ value: function (t) {
+ this.options.callbacks.onImageUpload ? this.context.triggerEvent("image.upload", t) : this.insertImagesAsDataURL(t);
+ },
+ },
+ {
+ key: "getSelectedText",
+ value: function () {
+ var t = this.getLastRange();
+ return t.isOnAnchor() && (t = wt.createFromNode(pt.ancestor(t.sc, pt.isAnchor))), t.toString();
+ },
+ },
+ {
+ key: "onFormatBlock",
+ value: function (t, e) {
+ if ((document.execCommand("FormatBlock", !1, m.isMSIE ? "<" + t + ">" : t), e && e.length && (e[0].tagName.toUpperCase() !== t.toUpperCase() && (e = e.find(t)), e && e.length))) {
+ var n = e[0].className || "";
+ if (n) {
+ var o = this.createRange();
+ i()([o.sc, o.ec]).closest(t).addClass(n);
+ }
+ }
+ },
+ },
+ {
+ key: "formatPara",
+ value: function () {
+ this.formatBlock("P");
+ },
+ },
+ {
+ key: "fontStyling",
+ value: function (t, e) {
+ var n = this.getLastRange();
+ if ("" !== n) {
+ var o = this.style.styleNodes(n);
+ if ((this.$editor.find(".note-status-output").html(""), i()(o).css(t, e), n.isCollapsed())) {
+ var r = C.head(o);
+ r && !pt.nodeLength(r) && ((r.innerHTML = pt.ZERO_WIDTH_NBSP_CHAR), wt.createFromNode(r.firstChild).select(), this.setLastRange(), this.$editable.data("bogus", r));
+ } else this.setLastRange(this.createRangeFromList(o).select());
+ } else {
+ var a = i.a.now();
+ this.$editor.find(".note-status-output").html('
' + this.lang.output.noSelection + "
"),
+ setTimeout(function () {
+ i()("#note-status-output-" + a).remove();
+ }, 5e3);
+ }
+ },
+ },
+ {
+ key: "unlink",
+ value: function () {
+ var t = this.getLastRange();
+ if (t.isOnAnchor()) {
+ var e = pt.ancestor(t.sc, pt.isAnchor);
+ (t = wt.createFromNode(e)).select(), this.setLastRange(), this.beforeCommand(), document.execCommand("unlink"), this.afterCommand();
+ }
+ },
+ },
+ {
+ key: "getLinkInfo",
+ value: function () {
+ var t = this.getLastRange().expand(pt.isAnchor),
+ e = i()(C.head(t.nodes(pt.isAnchor))),
+ n = { range: t, text: t.toString(), url: e.length ? e.attr("href") : "" };
+ return e.length && (n.isNewWindow = "_blank" === e.attr("target")), n;
+ },
+ },
+ {
+ key: "addRow",
+ value: function (t) {
+ var e = this.getLastRange(this.$editable);
+ e.isCollapsed() && e.isOnCell() && (this.beforeCommand(), this.table.addRow(e, t), this.afterCommand());
+ },
+ },
+ {
+ key: "addCol",
+ value: function (t) {
+ var e = this.getLastRange(this.$editable);
+ e.isCollapsed() && e.isOnCell() && (this.beforeCommand(), this.table.addCol(e, t), this.afterCommand());
+ },
+ },
+ {
+ key: "deleteRow",
+ value: function () {
+ var t = this.getLastRange(this.$editable);
+ t.isCollapsed() && t.isOnCell() && (this.beforeCommand(), this.table.deleteRow(t), this.afterCommand());
+ },
+ },
+ {
+ key: "deleteCol",
+ value: function () {
+ var t = this.getLastRange(this.$editable);
+ t.isCollapsed() && t.isOnCell() && (this.beforeCommand(), this.table.deleteCol(t), this.afterCommand());
+ },
+ },
+ {
+ key: "deleteTable",
+ value: function () {
+ var t = this.getLastRange(this.$editable);
+ t.isCollapsed() && t.isOnCell() && (this.beforeCommand(), this.table.deleteTable(t), this.afterCommand());
+ },
+ },
+ {
+ key: "resizeTo",
+ value: function (t, e, n) {
+ var o;
+ if (n) {
+ var i = t.y / t.x,
+ r = e.data("ratio");
+ o = { width: r > i ? t.x : t.y / r, height: r > i ? t.x * r : t.y };
+ } else o = { width: t.x, height: t.y };
+ e.css(o);
+ },
+ },
+ {
+ key: "hasFocus",
+ value: function () {
+ return this.$editable.is(":focus");
+ },
+ },
+ {
+ key: "focus",
+ value: function () {
+ this.hasFocus() || this.$editable.focus();
+ },
+ },
+ {
+ key: "isEmpty",
+ value: function () {
+ return pt.isEmpty(this.$editable[0]) || pt.emptyPara === this.$editable.html();
+ },
+ },
+ {
+ key: "empty",
+ value: function () {
+ this.context.invoke("code", pt.emptyPara);
+ },
+ },
+ {
+ key: "normalizeContent",
+ value: function () {
+ this.$editable[0].normalize();
+ },
+ },
+ ]) && Dt(e.prototype, n),
+ o && Dt(e, o),
+ t
+ );
+ })();
+ function Bt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var zt = (function () {
+ function t(e) {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.context = e),
+ (this.$editable = e.layoutInfo.editable);
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "initialize",
+ value: function () {
+ this.$editable.on("paste", this.pasteByEvent.bind(this));
+ },
+ },
+ {
+ key: "pasteByEvent",
+ value: function (t) {
+ var e = this,
+ n = t.originalEvent.clipboardData;
+ if (n && n.items && n.items.length) {
+ var o = n.items.length > 1 ? n.items[1] : C.head(n.items);
+ "file" === o.kind && -1 !== o.type.indexOf("image/")
+ ? (this.context.invoke("editor.insertImagesOrCallback", [o.getAsFile()]), t.preventDefault())
+ : "string" === o.kind && this.context.invoke("editor.isLimited", n.getData("Text").length) && t.preventDefault();
+ } else if (window.clipboardData) {
+ var i = window.clipboardData.getData("text");
+ this.context.invoke("editor.isLimited", i.length) && t.preventDefault();
+ }
+ setTimeout(function () {
+ e.context.invoke("editor.afterCommand");
+ }, 10);
+ },
+ },
+ ]) && Bt(e.prototype, n),
+ o && Bt(e, o),
+ t
+ );
+ })();
+ function Mt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var Ot = (function () {
+ function t(e) {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.context = e),
+ (this.$eventListener = i()(document)),
+ (this.$editor = e.layoutInfo.editor),
+ (this.$editable = e.layoutInfo.editable),
+ (this.options = e.options),
+ (this.lang = this.options.langInfo),
+ (this.documentEventHandlers = {}),
+ (this.$dropzone = i()(['
', '', "
"].join("")).prependTo(this.$editor));
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "initialize",
+ value: function () {
+ this.options.disableDragAndDrop
+ ? ((this.documentEventHandlers.onDrop = function (t) {
+ t.preventDefault();
+ }),
+ (this.$eventListener = this.$dropzone),
+ this.$eventListener.on("drop", this.documentEventHandlers.onDrop))
+ : this.attachDragAndDropEvent();
+ },
+ },
+ {
+ key: "attachDragAndDropEvent",
+ value: function () {
+ var t = this,
+ e = i()(),
+ n = this.$dropzone.find(".note-dropzone-message");
+ (this.documentEventHandlers.onDragenter = function (o) {
+ var i = t.context.invoke("codeview.isActivated"),
+ r = t.$editor.width() > 0 && t.$editor.height() > 0;
+ i || e.length || !r || (t.$editor.addClass("dragover"), t.$dropzone.width(t.$editor.width()), t.$dropzone.height(t.$editor.height()), n.text(t.lang.image.dragImageHere)), (e = e.add(o.target));
+ }),
+ (this.documentEventHandlers.onDragleave = function (n) {
+ ((e = e.not(n.target)).length && "BODY" !== n.target.nodeName) || ((e = i()()), t.$editor.removeClass("dragover"));
+ }),
+ (this.documentEventHandlers.onDrop = function () {
+ (e = i()()), t.$editor.removeClass("dragover");
+ }),
+ this.$eventListener.on("dragenter", this.documentEventHandlers.onDragenter).on("dragleave", this.documentEventHandlers.onDragleave).on("drop", this.documentEventHandlers.onDrop),
+ this.$dropzone
+ .on("dragenter", function () {
+ t.$dropzone.addClass("hover"), n.text(t.lang.image.dropImage);
+ })
+ .on("dragleave", function () {
+ t.$dropzone.removeClass("hover"), n.text(t.lang.image.dragImageHere);
+ }),
+ this.$dropzone
+ .on("drop", function (e) {
+ var n = e.originalEvent.dataTransfer;
+ e.preventDefault(),
+ n && n.files && n.files.length
+ ? (t.$editable.focus(), t.context.invoke("editor.insertImagesOrCallback", n.files))
+ : i.a.each(n.types, function (e, o) {
+ if (!(o.toLowerCase().indexOf("_moz_") > -1)) {
+ var r = n.getData(o);
+ o.toLowerCase().indexOf("text") > -1
+ ? t.context.invoke("editor.pasteHTML", r)
+ : i()(r).each(function (e, n) {
+ t.context.invoke("editor.insertNode", n);
+ });
+ }
+ });
+ })
+ .on("dragover", !1);
+ },
+ },
+ {
+ key: "destroy",
+ value: function () {
+ var t = this;
+ Object.keys(this.documentEventHandlers).forEach(function (e) {
+ t.$eventListener.off(e.substr(2).toLowerCase(), t.documentEventHandlers[e]);
+ }),
+ (this.documentEventHandlers = {});
+ },
+ },
+ ]) && Mt(e.prototype, n),
+ o && Mt(e, o),
+ t
+ );
+ })();
+ function jt(t) {
+ if ("undefined" == typeof Symbol || null == t[Symbol.iterator]) {
+ if (
+ Array.isArray(t) ||
+ (t = (function (t, e) {
+ if (!t) return;
+ if ("string" == typeof t) return Ut(t, e);
+ var n = Object.prototype.toString.call(t).slice(8, -1);
+ "Object" === n && t.constructor && (n = t.constructor.name);
+ if ("Map" === n || "Set" === n) return Array.from(n);
+ if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Ut(t, e);
+ })(t))
+ ) {
+ var e = 0,
+ n = function () {};
+ return {
+ s: n,
+ n: function () {
+ return e >= t.length ? { done: !0 } : { done: !1, value: t[e++] };
+ },
+ e: function (t) {
+ throw t;
+ },
+ f: n,
+ };
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+ var o,
+ i,
+ r = !0,
+ a = !1;
+ return {
+ s: function () {
+ o = t[Symbol.iterator]();
+ },
+ n: function () {
+ var t = o.next();
+ return (r = t.done), t;
+ },
+ e: function (t) {
+ (a = !0), (i = t);
+ },
+ f: function () {
+ try {
+ r || null == o.return || o.return();
+ } finally {
+ if (a) throw i;
+ }
+ },
+ };
+ }
+ function Ut(t, e) {
+ (null == e || e > t.length) && (e = t.length);
+ for (var n = 0, o = new Array(e); n < e; n++) o[n] = t[n];
+ return o;
+ }
+ function Wt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var Kt = (function () {
+ function t(e) {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.context = e),
+ (this.$editor = e.layoutInfo.editor),
+ (this.$editable = e.layoutInfo.editable),
+ (this.$codable = e.layoutInfo.codable),
+ (this.options = e.options),
+ (this.CodeMirrorConstructor = window.CodeMirror),
+ this.options.codemirror.CodeMirrorConstructor && (this.CodeMirrorConstructor = this.options.codemirror.CodeMirrorConstructor);
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "sync",
+ value: function (t) {
+ var e = this.isActivated(),
+ n = this.CodeMirrorConstructor;
+ e && (t ? (n ? this.$codable.data("cmEditor").getDoc().setValue(t) : this.$codable.val(t)) : n && this.$codable.data("cmEditor").save());
+ },
+ },
+ {
+ key: "initialize",
+ value: function () {
+ var t = this;
+ this.$codable.on("keyup", function (e) {
+ e.keyCode === xt.code.ESCAPE && t.deactivate();
+ });
+ },
+ },
+ {
+ key: "isActivated",
+ value: function () {
+ return this.$editor.hasClass("codeview");
+ },
+ },
+ {
+ key: "toggle",
+ value: function () {
+ this.isActivated() ? this.deactivate() : this.activate(), this.context.triggerEvent("codeview.toggled");
+ },
+ },
+ {
+ key: "purify",
+ value: function (t) {
+ if (this.options.codeviewFilter && ((t = t.replace(this.options.codeviewFilterRegex, "")), this.options.codeviewIframeFilter)) {
+ var e = this.options.codeviewIframeWhitelistSrc.concat(this.options.codeviewIframeWhitelistSrcBase);
+ t = t.replace(/(.*?(?:<\/iframe>)?)/gi, function (t) {
+ if (/<.+src(?==?('|"|\s)?)[\s\S]+src(?=('|"|\s)?)[^>]*?>/i.test(t)) return "";
+ var n,
+ o = jt(e);
+ try {
+ for (o.s(); !(n = o.n()).done; ) {
+ var i = n.value;
+ if (new RegExp('src="(https?:)?//' + i.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&") + '/(.+)"').test(t)) return t;
+ }
+ } catch (t) {
+ o.e(t);
+ } finally {
+ o.f();
+ }
+ return "";
+ });
+ }
+ return t;
+ },
+ },
+ {
+ key: "activate",
+ value: function () {
+ var t = this,
+ e = this.CodeMirrorConstructor;
+ if (
+ (this.$codable.val(pt.html(this.$editable, this.options.prettifyHtml)),
+ this.$codable.height(this.$editable.height()),
+ this.context.invoke("toolbar.updateCodeview", !0),
+ this.context.invoke("airPopover.updateCodeview", !0),
+ this.$editor.addClass("codeview"),
+ this.$codable.focus(),
+ e)
+ ) {
+ var n = e.fromTextArea(this.$codable[0], this.options.codemirror);
+ if (this.options.codemirror.tern) {
+ var o = new e.TernServer(this.options.codemirror.tern);
+ (n.ternServer = o),
+ n.on("cursorActivity", function (t) {
+ o.updateArgHints(t);
+ });
+ }
+ n.on("blur", function (e) {
+ t.context.triggerEvent("blur.codeview", n.getValue(), e);
+ }),
+ n.on("change", function () {
+ t.context.triggerEvent("change.codeview", n.getValue(), n);
+ }),
+ n.setSize(null, this.$editable.outerHeight()),
+ this.$codable.data("cmEditor", n);
+ } else
+ this.$codable.on("blur", function (e) {
+ t.context.triggerEvent("blur.codeview", t.$codable.val(), e);
+ }),
+ this.$codable.on("input", function () {
+ t.context.triggerEvent("change.codeview", t.$codable.val(), t.$codable);
+ });
+ },
+ },
+ {
+ key: "deactivate",
+ value: function () {
+ if (this.CodeMirrorConstructor) {
+ var t = this.$codable.data("cmEditor");
+ this.$codable.val(t.getValue()), t.toTextArea();
+ }
+ var e = this.purify(pt.value(this.$codable, this.options.prettifyHtml) || pt.emptyPara),
+ n = this.$editable.html() !== e;
+ this.$editable.html(e),
+ this.$editable.height(this.options.height ? this.$codable.height() : "auto"),
+ this.$editor.removeClass("codeview"),
+ n && this.context.triggerEvent("change", this.$editable.html(), this.$editable),
+ this.$editable.focus(),
+ this.context.invoke("toolbar.updateCodeview", !1),
+ this.context.invoke("airPopover.updateCodeview", !1);
+ },
+ },
+ {
+ key: "destroy",
+ value: function () {
+ this.isActivated() && this.deactivate();
+ },
+ },
+ ]) && Wt(e.prototype, n),
+ o && Wt(e, o),
+ t
+ );
+ })();
+ function Vt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var qt = (function () {
+ function t(e) {
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.$document = i()(document)),
+ (this.$statusbar = e.layoutInfo.statusbar),
+ (this.$editable = e.layoutInfo.editable),
+ (this.options = e.options);
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "initialize",
+ value: function () {
+ var t = this;
+ this.options.airMode || this.options.disableResizeEditor
+ ? this.destroy()
+ : this.$statusbar.on("mousedown", function (e) {
+ e.preventDefault(), e.stopPropagation();
+ var n = t.$editable.offset().top - t.$document.scrollTop(),
+ o = function (e) {
+ var o = e.clientY - (n + 24);
+ (o = t.options.minheight > 0 ? Math.max(o, t.options.minheight) : o), (o = t.options.maxHeight > 0 ? Math.min(o, t.options.maxHeight) : o), t.$editable.height(o);
+ };
+ t.$document.on("mousemove", o).one("mouseup", function () {
+ t.$document.off("mousemove", o);
+ });
+ });
+ },
+ },
+ {
+ key: "destroy",
+ value: function () {
+ this.$statusbar.off(), this.$statusbar.addClass("locked");
+ },
+ },
+ ]) && Vt(e.prototype, n),
+ o && Vt(e, o),
+ t
+ );
+ })();
+ function _t(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var Gt = (function () {
+ function t(e) {
+ var n = this;
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.context = e),
+ (this.$editor = e.layoutInfo.editor),
+ (this.$toolbar = e.layoutInfo.toolbar),
+ (this.$editable = e.layoutInfo.editable),
+ (this.$codable = e.layoutInfo.codable),
+ (this.$window = i()(window)),
+ (this.$scrollbar = i()("html, body")),
+ (this.onResize = function () {
+ n.resizeTo({ h: n.$window.height() - n.$toolbar.outerHeight() });
+ });
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "resizeTo",
+ value: function (t) {
+ this.$editable.css("height", t.h), this.$codable.css("height", t.h), this.$codable.data("cmeditor") && this.$codable.data("cmeditor").setsize(null, t.h);
+ },
+ },
+ {
+ key: "toggle",
+ value: function () {
+ this.$editor.toggleClass("fullscreen"),
+ this.isFullscreen()
+ ? (this.$editable.data("orgHeight", this.$editable.css("height")),
+ this.$editable.data("orgMaxHeight", this.$editable.css("maxHeight")),
+ this.$editable.css("maxHeight", ""),
+ this.$window.on("resize", this.onResize).trigger("resize"),
+ this.$scrollbar.css("overflow", "hidden"))
+ : (this.$window.off("resize", this.onResize), this.resizeTo({ h: this.$editable.data("orgHeight") }), this.$editable.css("maxHeight", this.$editable.css("orgMaxHeight")), this.$scrollbar.css("overflow", "visible")),
+ this.context.invoke("toolbar.updateFullscreen", this.isFullscreen());
+ },
+ },
+ {
+ key: "isFullscreen",
+ value: function () {
+ return this.$editor.hasClass("fullscreen");
+ },
+ },
+ ]) && _t(e.prototype, n),
+ o && _t(e, o),
+ t
+ );
+ })();
+ function Yt(t, e) {
+ for (var n = 0; n < e.length; n++) {
+ var o = e[n];
+ (o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o);
+ }
+ }
+ var Zt = (function () {
+ function t(e) {
+ var n = this;
+ !(function (t, e) {
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
+ })(this, t),
+ (this.context = e),
+ (this.$document = i()(document)),
+ (this.$editingArea = e.layoutInfo.editingArea),
+ (this.options = e.options),
+ (this.lang = this.options.langInfo),
+ (this.events = {
+ "summernote.mousedown": function (t, e) {
+ n.update(e.target, e) && e.preventDefault();
+ },
+ "summernote.keyup summernote.scroll summernote.change summernote.dialog.shown": function () {
+ n.update();
+ },
+ "summernote.disable summernote.blur": function () {
+ n.hide();
+ },
+ "summernote.codeview.toggled": function () {
+ n.update();
+ },
+ });
+ }
+ var e, n, o;
+ return (
+ (e = t),
+ (n = [
+ {
+ key: "initialize",
+ value: function () {
+ var t = this;
+ (this.$handle = i()(
+ [
+ '