You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

9069 lines
325 KiB

/*! 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 ? "&nbsp;" : "<br>";
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: "<p>".concat(j, "</p>"),
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()("<div></div>").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()("<tr" + r + "></tr>"),
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("<td" + u + ">" + pt.blank + "</td>");
break;
case At.resultAction.SumSpanCount:
if (
"top" === e &&
(c.baseCell.parent
? c.baseCell.closest("tr").rowIndex
: 0) <= o[0].rowIndex
) {
var d = i()("<div></div>")
.append(
i()(
"<td" + u + ">" + pt.blank + "</td>"
).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(
"<td" + l + ">" + pt.blank + "</td>"
)
: i()(s.baseCell).before(
"<td" + l + ">" + pt.blank + "</td>"
);
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(
"<td" + l + ">" + pt.blank + "</td>"
);
}
}
},
},
{
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("<td>" + pt.blank + "</td>");
o = r.join("");
for (var s, l = [], c = 0; c < e; c++)
l.push("<tr>" + o + "</tr>");
s = l.join("");
var u = i()("<table>" + s + "</table>");
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()("<A>" + o + "</A>")[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()("<img>");
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", 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",
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");
});
});
},
},
{
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(
'<div id="note-status-output-' +
a +
'" class="alert alert-info">' +
this.lang.output.noSelection +
"</div>"
),
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()(
[
'<div class="note-dropzone">',
'<div class="note-dropzone-message"></div>',
"</div>",
].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.*?>.*?(?:<\/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 card"),
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()(
[
'<div class="note-handle">',
'<div class="note-control-selection">',
'<div class="note-control-selection-bg"></div>',
'<div class="note-control-holder note-control-nw"></div>',
'<div class="note-control-holder note-control-ne"></div>',
'<div class="note-control-holder note-control-sw"></div>',
'<div class="',
this.options.disableResizeImage
? "note-control-holder"
: "note-control-sizing",
' note-control-se"></div>',
this.options.disableResizeImage
? ""
: '<div class="note-control-selection-info"></div>',
"</div>",
"</div>",
].join("")
).prependTo(this.$editingArea)),
this.$handle.on("mousedown", function (e) {
if (pt.isControlSizing(e.target)) {
e.preventDefault(), e.stopPropagation();
var n = t.$handle
.find(".note-control-selection")
.data("target"),
o = n.offset(),
i = t.$document.scrollTop(),
r = function (e) {
t.context.invoke(
"editor.resizeTo",
{
x: e.clientX - o.left,
y: e.clientY - (o.top - i),
},
n,
!e.shiftKey
),
t.update(n[0], e);
};
t.$document
.on("mousemove", r)
.one("mouseup", function (e) {
e.preventDefault(),
t.$document.off("mousemove", r),
t.context.invoke("editor.afterCommand");
}),
n.data("ratio") ||
n.data("ratio", n.height() / n.width());
}
}),
this.$handle.on("wheel", function (e) {
e.preventDefault(), t.update();
});
},
},
{
key: "destroy",
value: function () {
this.$handle.remove();
},
},
{
key: "update",
value: function (t, e) {
if (this.context.isDisabled()) return !1;
var n = pt.isImg(t),
o = this.$handle.find(".note-control-selection");
if ((this.context.invoke("imagePopover.update", t, e), n)) {
var r = i()(t),
a = r.position(),
s = {
left: a.left + parseInt(r.css("marginLeft"), 10),
top: a.top + parseInt(r.css("marginTop"), 10),
},
l = { w: r.outerWidth(!1), h: r.outerHeight(!1) };
o.css({
display: "block",
left: s.left,
top: s.top,
width: l.w,
height: l.h,
}).data("target", r);
var c = new Image();
c.src = r.attr("src");
var u =
l.w +
"x" +
l.h +
" (" +
this.lang.image.original +
": " +
c.width +
"x" +
c.height +
")";
o.find(".note-control-selection-info").text(u),
this.context.invoke("editor.saveTarget", t);
} else this.hide();
return n;
},
},
{
key: "hide",
value: function () {
this.context.invoke("editor.clearTarget"),
this.$handle.children().hide();
},
},
]) && Yt(e.prototype, n),
o && Yt(e, o),
t
);
})();
function Xt(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 =
/^([A-Za-z][A-Za-z0-9+-.]*\:[\/]{2}|tel:|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i,
Jt = (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.options = e.options),
(this.events = {
"summernote.keyup": function (t, e) {
e.isDefaultPrevented() || n.handleKeyup(e);
},
"summernote.keydown": function (t, e) {
n.handleKeydown(e);
},
});
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "initialize",
value: function () {
this.lastWordRange = null;
},
},
{
key: "destroy",
value: function () {
this.lastWordRange = null;
},
},
{
key: "replace",
value: function () {
if (this.lastWordRange) {
var t = this.lastWordRange.toString(),
e = t.match(Qt);
if (e && (e[1] || e[2])) {
var n = e[1] ? t : "http://" + t,
o = this.options.showDomainOnlyForAutolink
? t
.replace(
/^(?:https?:\/\/)?(?:tel?:?)?(?:mailto?:?)?(?:www\.)?/i,
""
)
.split("/")[0]
: t,
r = i()("<a />").html(o).attr("href", n)[0];
this.context.options.linkTargetBlank &&
i()(r).attr("target", "_blank"),
this.lastWordRange.insertNode(r),
(this.lastWordRange = null),
this.context.invoke("editor.focus");
}
}
},
},
{
key: "handleKeydown",
value: function (t) {
if (C.contains([xt.code.ENTER, xt.code.SPACE], t.keyCode)) {
var e = this.context
.invoke("editor.createRange")
.getWordRange();
this.lastWordRange = e;
}
},
},
{
key: "handleKeyup",
value: function (t) {
C.contains([xt.code.ENTER, xt.code.SPACE], t.keyCode) &&
this.replace();
},
},
]) && Xt(e.prototype, n),
o && Xt(e, o),
t
);
})();
function te(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 ee = (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.$note = e.layoutInfo.note),
(this.events = {
"summernote.change": function () {
n.$note.val(e.invoke("code"));
},
});
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "shouldInitialize",
value: function () {
return pt.isTextarea(this.$note[0]);
},
},
]) && te(e.prototype, n),
o && te(e, o),
t
);
})();
function ne(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 oe = (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.options = e.options.replace || {}),
(this.keys = [
xt.code.ENTER,
xt.code.SPACE,
xt.code.PERIOD,
xt.code.COMMA,
xt.code.SEMICOLON,
xt.code.SLASH,
]),
(this.previousKeydownCode = null),
(this.events = {
"summernote.keyup": function (t, e) {
e.isDefaultPrevented() || n.handleKeyup(e);
},
"summernote.keydown": function (t, e) {
n.handleKeydown(e);
},
});
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "shouldInitialize",
value: function () {
return !!this.options.match;
},
},
{
key: "initialize",
value: function () {
this.lastWord = null;
},
},
{
key: "destroy",
value: function () {
this.lastWord = null;
},
},
{
key: "replace",
value: function () {
if (this.lastWord) {
var t = this,
e = this.lastWord.toString();
this.options.match(e, function (e) {
if (e) {
var n = "";
if (
("string" == typeof e
? (n = pt.createText(e))
: e instanceof jQuery
? (n = e[0])
: e instanceof Node && (n = e),
!n)
)
return;
t.lastWord.insertNode(n),
(t.lastWord = null),
t.context.invoke("editor.focus");
}
});
}
},
},
{
key: "handleKeydown",
value: function (t) {
if (
this.previousKeydownCode &&
C.contains(this.keys, this.previousKeydownCode)
)
this.previousKeydownCode = t.keyCode;
else {
if (C.contains(this.keys, t.keyCode)) {
var e = this.context
.invoke("editor.createRange")
.getWordRange();
this.lastWord = e;
}
this.previousKeydownCode = t.keyCode;
}
},
},
{
key: "handleKeyup",
value: function (t) {
C.contains(this.keys, t.keyCode) && this.replace();
},
},
]) && ne(e.prototype, n),
o && ne(e, o),
t
);
})();
function ie(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 re = (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.$editingArea = e.layoutInfo.editingArea),
(this.options = e.options),
!0 === this.options.inheritPlaceholder &&
(this.options.placeholder =
this.context.$note.attr("placeholder") ||
this.options.placeholder),
(this.events = {
"summernote.init summernote.change": function () {
n.update();
},
"summernote.codeview.toggled": function () {
n.update();
},
});
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "shouldInitialize",
value: function () {
return !!this.options.placeholder;
},
},
{
key: "initialize",
value: function () {
var t = this;
(this.$placeholder = i()('<div class="note-placeholder">')),
this.$placeholder
.on("click", function () {
t.context.invoke("focus");
})
.html(this.options.placeholder)
.prependTo(this.$editingArea),
this.update();
},
},
{
key: "destroy",
value: function () {
this.$placeholder.remove();
},
},
{
key: "update",
value: function () {
var t =
!this.context.invoke("codeview.isActivated") &&
this.context.invoke("editor.isEmpty");
this.$placeholder.toggle(t);
},
},
]) && ie(e.prototype, n),
o && ie(e, o),
t
);
})();
function ae(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 se = (function () {
function t(e) {
!(function (t, e) {
if (!(t instanceof e))
throw new TypeError("Cannot call a class as a function");
})(this, t),
(this.ui = i.a.summernote.ui),
(this.context = e),
(this.$toolbar = e.layoutInfo.toolbar),
(this.options = e.options),
(this.lang = this.options.langInfo),
(this.invertedKeyMap = g.invertObject(
this.options.keyMap[m.isMac ? "mac" : "pc"]
));
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "representShortcut",
value: function (t) {
var e = this.invertedKeyMap[t];
return this.options.shortcuts && e
? (m.isMac &&
(e = e.replace("CMD", "⌘").replace("SHIFT", "⇧")),
" (" +
(e = e
.replace("BACKSLASH", "\\")
.replace("SLASH", "/")
.replace("LEFTBRACKET", "[")
.replace("RIGHTBRACKET", "]")) +
")")
: "";
},
},
{
key: "button",
value: function (t) {
return (
!this.options.tooltip && t.tooltip && delete t.tooltip,
(t.container = this.options.container),
this.ui.button(t)
);
},
},
{
key: "initialize",
value: function () {
this.addToolbarButtons(),
this.addImagePopoverButtons(),
this.addLinkPopoverButtons(),
this.addTablePopoverButtons(),
(this.fontInstalledMap = {});
},
},
{
key: "destroy",
value: function () {
delete this.fontInstalledMap;
},
},
{
key: "isFontInstalled",
value: function (t) {
return (
Object.prototype.hasOwnProperty.call(
this.fontInstalledMap,
t
) ||
(this.fontInstalledMap[t] =
m.isFontInstalled(t) ||
C.contains(this.options.fontNamesIgnoreCheck, t)),
this.fontInstalledMap[t]
);
},
},
{
key: "isFontDeservedToAdd",
value: function (t) {
return (
"" !== (t = t.toLowerCase()) &&
this.isFontInstalled(t) &&
-1 === m.genericFontFamilies.indexOf(t)
);
},
},
{
key: "colorPalette",
value: function (t, e, n, o) {
var r = this;
return this.ui
.buttonGroup({
className: "note-color " + t,
children: [
this.button({
className: "note-current-color-button",
contents: this.ui.icon(
this.options.icons.font + " note-recent-color"
),
tooltip: e,
click: function (t) {
var e = i()(t.currentTarget);
n && o
? r.context.invoke("editor.color", {
backColor: e.attr("data-backColor"),
foreColor: e.attr("data-foreColor"),
})
: n
? r.context.invoke("editor.color", {
backColor: e.attr("data-backColor"),
})
: o &&
r.context.invoke("editor.color", {
foreColor: e.attr("data-foreColor"),
});
},
callback: function (t) {
var e = t.find(".note-recent-color");
n &&
(e.css(
"background-color",
r.options.colorButton.backColor
),
t.attr(
"data-backColor",
r.options.colorButton.backColor
)),
o
? (e.css(
"color",
r.options.colorButton.foreColor
),
t.attr(
"data-foreColor",
r.options.colorButton.foreColor
))
: e.css("color", "transparent");
},
}),
this.button({
className: "dropdown-toggle",
contents: this.ui.dropdownButtonContents(
"",
this.options
),
tooltip: this.lang.color.more,
data: { toggle: "dropdown" },
}),
this.ui.dropdown({
items:
(n
? [
'<div class="note-palette">',
'<div class="note-palette-title">' +
this.lang.color.background +
"</div>",
"<div>",
'<button type="button" class="note-color-reset btn btn-light btn-default" data-event="backColor" data-value="transparent">',
this.lang.color.transparent,
"</button>",
"</div>",
'<div class="note-holder" data-event="backColor">\x3c!-- back colors --\x3e</div>',
"<div>",
'<button type="button" class="note-color-select btn btn-light btn-default" data-event="openPalette" data-value="backColorPicker">',
this.lang.color.cpSelect,
"</button>",
'<input type="color" id="backColorPicker" class="note-btn note-color-select-btn" value="' +
this.options.colorButton.backColor +
'" data-event="backColorPalette">',
"</div>",
'<div class="note-holder-custom" id="backColorPalette" data-event="backColor"></div>',
"</div>",
].join("")
: "") +
(o
? [
'<div class="note-palette">',
'<div class="note-palette-title">' +
this.lang.color.foreground +
"</div>",
"<div>",
'<button type="button" class="note-color-reset btn btn-light btn-default" data-event="removeFormat" data-value="foreColor">',
this.lang.color.resetToDefault,
"</button>",
"</div>",
'<div class="note-holder" data-event="foreColor">\x3c!-- fore colors --\x3e</div>',
"<div>",
'<button type="button" class="note-color-select btn btn-light btn-default" data-event="openPalette" data-value="foreColorPicker">',
this.lang.color.cpSelect,
"</button>",
'<input type="color" id="foreColorPicker" class="note-btn note-color-select-btn" value="' +
this.options.colorButton.foreColor +
'" data-event="foreColorPalette">',
"</div>",
'<div class="note-holder-custom" id="foreColorPalette" data-event="foreColor"></div>',
"</div>",
].join("")
: ""),
callback: function (t) {
t.find(".note-holder").each(function (t, e) {
var n = i()(e);
n.append(
r.ui
.palette({
colors: r.options.colors,
colorsName: r.options.colorsName,
eventName: n.data("event"),
container: r.options.container,
tooltip: r.options.tooltip,
})
.render()
);
});
var e = [
[
"#FFFFFF",
"#FFFFFF",
"#FFFFFF",
"#FFFFFF",
"#FFFFFF",
"#FFFFFF",
"#FFFFFF",
"#FFFFFF",
],
];
t.find(".note-holder-custom").each(function (t, n) {
var o = i()(n);
o.append(
r.ui
.palette({
colors: e,
colorsName: e,
eventName: o.data("event"),
container: r.options.container,
tooltip: r.options.tooltip,
})
.render()
);
}),
t.find("input[type=color]").each(function (e, n) {
i()(n).change(function () {
var e = t
.find("#" + i()(this).data("event"))
.find(".note-color-btn")
.first(),
n = this.value.toUpperCase();
e
.css("background-color", n)
.attr("aria-label", n)
.attr("data-value", n)
.attr("data-original-title", n),
e.click();
});
});
},
click: function (e) {
e.stopPropagation();
var n = i()("." + t).find(".note-dropdown-menu"),
o = i()(e.target),
a = o.data("event"),
s = o.attr("data-value");
if ("openPalette" === a) {
var l = n.find("#" + s),
c = i()(
n
.find("#" + l.data("event"))
.find(".note-color-row")[0]
),
u = c.find(".note-color-btn").last().detach(),
d = l.val();
u
.css("background-color", d)
.attr("aria-label", d)
.attr("data-value", d)
.attr("data-original-title", d),
c.prepend(u),
l.click();
} else {
if (C.contains(["backColor", "foreColor"], a)) {
var h =
"backColor" === a
? "background-color"
: "color",
f = o
.closest(".note-color")
.find(".note-recent-color"),
p = o
.closest(".note-color")
.find(".note-current-color-button");
f.css(h, s), p.attr("data-" + a, s);
}
r.context.invoke("editor." + a, s);
}
},
}),
],
})
.render();
},
},
{
key: "addToolbarButtons",
value: function () {
var t = this;
this.context.memo("button.style", function () {
return t.ui
.buttonGroup([
t.button({
className: "dropdown-toggle",
contents: t.ui.dropdownButtonContents(
t.ui.icon(t.options.icons.magic),
t.options
),
tooltip: t.lang.style.style,
data: { toggle: "dropdown" },
}),
t.ui.dropdown({
className: "dropdown-style",
items: t.options.styleTags,
title: t.lang.style.style,
template: function (e) {
"string" == typeof e &&
(e = {
tag: e,
title: Object.prototype.hasOwnProperty.call(
t.lang.style,
e
)
? t.lang.style[e]
: e,
});
var n = e.tag,
o = e.title;
return (
"<" +
n +
(e.style ? ' style="' + e.style + '" ' : "") +
(e.className
? ' class="' + e.className + '"'
: "") +
">" +
o +
"</" +
n +
">"
);
},
click:
t.context.createInvokeHandler("editor.formatBlock"),
}),
])
.render();
});
for (
var e = function (e, n) {
var o = t.options.styleTags[e];
t.context.memo("button.style." + o, function () {
return t
.button({
className: "note-btn-style-" + o,
contents:
'<div data-value="' +
o +
'">' +
o.toUpperCase() +
"</div>",
tooltip: t.lang.style[o],
click:
t.context.createInvokeHandler(
"editor.formatBlock"
),
})
.render();
});
},
n = 0,
o = this.options.styleTags.length;
n < o;
n++
)
e(n);
this.context.memo("button.bold", function () {
return t
.button({
className: "note-btn-bold",
contents: t.ui.icon(t.options.icons.bold),
tooltip: t.lang.font.bold + t.representShortcut("bold"),
click:
t.context.createInvokeHandlerAndUpdateState(
"editor.bold"
),
})
.render();
}),
this.context.memo("button.italic", function () {
return t
.button({
className: "note-btn-italic",
contents: t.ui.icon(t.options.icons.italic),
tooltip:
t.lang.font.italic + t.representShortcut("italic"),
click:
t.context.createInvokeHandlerAndUpdateState(
"editor.italic"
),
})
.render();
}),
this.context.memo("button.underline", function () {
return t
.button({
className: "note-btn-underline",
contents: t.ui.icon(t.options.icons.underline),
tooltip:
t.lang.font.underline +
t.representShortcut("underline"),
click:
t.context.createInvokeHandlerAndUpdateState(
"editor.underline"
),
})
.render();
}),
this.context.memo("button.clear", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.eraser),
tooltip:
t.lang.font.clear +
t.representShortcut("removeFormat"),
click: t.context.createInvokeHandler(
"editor.removeFormat"
),
})
.render();
}),
this.context.memo("button.strikethrough", function () {
return t
.button({
className: "note-btn-strikethrough",
contents: t.ui.icon(t.options.icons.strikethrough),
tooltip:
t.lang.font.strikethrough +
t.representShortcut("strikethrough"),
click: t.context.createInvokeHandlerAndUpdateState(
"editor.strikethrough"
),
})
.render();
}),
this.context.memo("button.superscript", function () {
return t
.button({
className: "note-btn-superscript",
contents: t.ui.icon(t.options.icons.superscript),
tooltip: t.lang.font.superscript,
click:
t.context.createInvokeHandlerAndUpdateState(
"editor.superscript"
),
})
.render();
}),
this.context.memo("button.subscript", function () {
return t
.button({
className: "note-btn-subscript",
contents: t.ui.icon(t.options.icons.subscript),
tooltip: t.lang.font.subscript,
click:
t.context.createInvokeHandlerAndUpdateState(
"editor.subscript"
),
})
.render();
}),
this.context.memo("button.fontname", function () {
var e = t.context.invoke("editor.currentStyle");
return (
t.options.addDefaultFonts &&
i.a.each(e["font-family"].split(","), function (e, n) {
(n = n.trim().replace(/['"]+/g, "")),
t.isFontDeservedToAdd(n) &&
-1 === t.options.fontNames.indexOf(n) &&
t.options.fontNames.push(n);
}),
t.ui
.buttonGroup([
t.button({
className: "dropdown-toggle",
contents: t.ui.dropdownButtonContents(
'<span class="note-current-fontname"></span>',
t.options
),
tooltip: t.lang.font.name,
data: { toggle: "dropdown" },
}),
t.ui.dropdownCheck({
className: "dropdown-fontname",
checkClassName: t.options.icons.menuCheck,
items: t.options.fontNames.filter(
t.isFontInstalled.bind(t)
),
title: t.lang.font.name,
template: function (t) {
return (
'<span style="font-family: ' +
m.validFontName(t) +
'">' +
t +
"</span>"
);
},
click:
t.context.createInvokeHandlerAndUpdateState(
"editor.fontName"
),
}),
])
.render()
);
}),
this.context.memo("button.fontsize", function () {
return t.ui
.buttonGroup([
t.button({
className: "dropdown-toggle",
contents: t.ui.dropdownButtonContents(
'<span class="note-current-fontsize"></span>',
t.options
),
tooltip: t.lang.font.size,
data: { toggle: "dropdown" },
}),
t.ui.dropdownCheck({
className: "dropdown-fontsize",
checkClassName: t.options.icons.menuCheck,
items: t.options.fontSizes,
title: t.lang.font.size,
click:
t.context.createInvokeHandlerAndUpdateState(
"editor.fontSize"
),
}),
])
.render();
}),
this.context.memo("button.fontsizeunit", function () {
return t.ui
.buttonGroup([
t.button({
className: "dropdown-toggle",
contents: t.ui.dropdownButtonContents(
'<span class="note-current-fontsizeunit"></span>',
t.options
),
tooltip: t.lang.font.sizeunit,
data: { toggle: "dropdown" },
}),
t.ui.dropdownCheck({
className: "dropdown-fontsizeunit",
checkClassName: t.options.icons.menuCheck,
items: t.options.fontSizeUnits,
title: t.lang.font.sizeunit,
click: t.context.createInvokeHandlerAndUpdateState(
"editor.fontSizeUnit"
),
}),
])
.render();
}),
this.context.memo("button.color", function () {
return t.colorPalette(
"note-color-all",
t.lang.color.recent,
!0,
!0
);
}),
this.context.memo("button.forecolor", function () {
return t.colorPalette(
"note-color-fore",
t.lang.color.foreground,
!1,
!0
);
}),
this.context.memo("button.backcolor", function () {
return t.colorPalette(
"note-color-back",
t.lang.color.background,
!0,
!1
);
}),
this.context.memo("button.ul", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.unorderedlist),
tooltip:
t.lang.lists.unordered +
t.representShortcut("insertUnorderedList"),
click: t.context.createInvokeHandler(
"editor.insertUnorderedList"
),
})
.render();
}),
this.context.memo("button.ol", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.orderedlist),
tooltip:
t.lang.lists.ordered +
t.representShortcut("insertOrderedList"),
click: t.context.createInvokeHandler(
"editor.insertOrderedList"
),
})
.render();
});
var r = this.button({
contents: this.ui.icon(this.options.icons.alignLeft),
tooltip:
this.lang.paragraph.left +
this.representShortcut("justifyLeft"),
click:
this.context.createInvokeHandler("editor.justifyLeft"),
}),
a = this.button({
contents: this.ui.icon(this.options.icons.alignCenter),
tooltip:
this.lang.paragraph.center +
this.representShortcut("justifyCenter"),
click: this.context.createInvokeHandler(
"editor.justifyCenter"
),
}),
s = this.button({
contents: this.ui.icon(this.options.icons.alignRight),
tooltip:
this.lang.paragraph.right +
this.representShortcut("justifyRight"),
click: this.context.createInvokeHandler(
"editor.justifyRight"
),
}),
l = this.button({
contents: this.ui.icon(this.options.icons.alignJustify),
tooltip:
this.lang.paragraph.justify +
this.representShortcut("justifyFull"),
click:
this.context.createInvokeHandler("editor.justifyFull"),
}),
c = this.button({
contents: this.ui.icon(this.options.icons.outdent),
tooltip:
this.lang.paragraph.outdent +
this.representShortcut("outdent"),
click: this.context.createInvokeHandler("editor.outdent"),
}),
u = this.button({
contents: this.ui.icon(this.options.icons.indent),
tooltip:
this.lang.paragraph.indent +
this.representShortcut("indent"),
click: this.context.createInvokeHandler("editor.indent"),
});
this.context.memo("button.justifyLeft", g.invoke(r, "render")),
this.context.memo(
"button.justifyCenter",
g.invoke(a, "render")
),
this.context.memo(
"button.justifyRight",
g.invoke(s, "render")
),
this.context.memo(
"button.justifyFull",
g.invoke(l, "render")
),
this.context.memo("button.outdent", g.invoke(c, "render")),
this.context.memo("button.indent", g.invoke(u, "render")),
this.context.memo("button.paragraph", function () {
return t.ui
.buttonGroup([
t.button({
className: "dropdown-toggle",
contents: t.ui.dropdownButtonContents(
t.ui.icon(t.options.icons.alignLeft),
t.options
),
tooltip: t.lang.paragraph.paragraph,
data: { toggle: "dropdown" },
}),
t.ui.dropdown([
t.ui.buttonGroup({
className: "note-align",
children: [r, a, s, l],
}),
t.ui.buttonGroup({
className: "note-list",
children: [c, u],
}),
]),
])
.render();
}),
this.context.memo("button.height", function () {
return t.ui
.buttonGroup([
t.button({
className: "dropdown-toggle",
contents: t.ui.dropdownButtonContents(
t.ui.icon(t.options.icons.textHeight),
t.options
),
tooltip: t.lang.font.height,
data: { toggle: "dropdown" },
}),
t.ui.dropdownCheck({
items: t.options.lineHeights,
checkClassName: t.options.icons.menuCheck,
className: "dropdown-line-height",
title: t.lang.font.height,
click:
t.context.createInvokeHandler("editor.lineHeight"),
}),
])
.render();
}),
this.context.memo("button.table", function () {
return t.ui
.buttonGroup(
[
t.button({
className: "dropdown-toggle",
contents: t.ui.dropdownButtonContents(
t.ui.icon(t.options.icons.table),
t.options
),
tooltip: t.lang.table.table,
data: { toggle: "dropdown" },
}),
t.ui.dropdown({
title: t.lang.table.table,
className: "note-table",
items: [
'<div class="note-dimension-picker">',
'<div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"></div>',
'<div class="note-dimension-picker-highlighted"></div>',
'<div class="note-dimension-picker-unhighlighted"></div>',
"</div>",
'<div class="note-dimension-display">1 x 1</div>',
].join(""),
}),
],
{
callback: function (e) {
e.find(".note-dimension-picker-mousecatcher")
.css({
width: t.options.insertTableMaxSize.col + "em",
height: t.options.insertTableMaxSize.row + "em",
})
.mousedown(
t.context.createInvokeHandler(
"editor.insertTable"
)
)
.on("mousemove", t.tableMoveHandler.bind(t));
},
}
)
.render();
}),
this.context.memo("button.link", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.link),
tooltip:
t.lang.link.link +
t.representShortcut("linkDialog.show"),
click: t.context.createInvokeHandler("linkDialog.show"),
})
.render();
}),
this.context.memo("button.picture", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.picture),
tooltip: t.lang.image.image,
click:
t.context.createInvokeHandler("imageDialog.show"),
})
.render();
}),
this.context.memo("button.video", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.video),
tooltip: t.lang.video.video,
click:
t.context.createInvokeHandler("videoDialog.show"),
})
.render();
}),
this.context.memo("button.hr", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.minus),
tooltip:
t.lang.hr.insert +
t.representShortcut("insertHorizontalRule"),
click: t.context.createInvokeHandler(
"editor.insertHorizontalRule"
),
})
.render();
}),
this.context.memo("button.fullscreen", function () {
return t
.button({
className: "btn-fullscreen note-codeview-keep",
contents: t.ui.icon(t.options.icons.arrowsAlt),
tooltip: t.lang.options.fullscreen,
click:
t.context.createInvokeHandler("fullscreen.toggle"),
})
.render();
}),
this.context.memo("button.codeview", function () {
return t
.button({
className: "btn-codeview note-codeview-keep",
contents: t.ui.icon(t.options.icons.code),
tooltip: t.lang.options.codeview,
click: t.context.createInvokeHandler("codeview.toggle"),
})
.render();
}),
this.context.memo("button.redo", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.redo),
tooltip:
t.lang.history.redo + t.representShortcut("redo"),
click: t.context.createInvokeHandler("editor.redo"),
})
.render();
}),
this.context.memo("button.undo", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.undo),
tooltip:
t.lang.history.undo + t.representShortcut("undo"),
click: t.context.createInvokeHandler("editor.undo"),
})
.render();
}),
this.context.memo("button.help", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.question),
tooltip: t.lang.options.help,
click: t.context.createInvokeHandler("helpDialog.show"),
})
.render();
});
},
},
{
key: "addImagePopoverButtons",
value: function () {
var t = this;
this.context.memo("button.resizeFull", function () {
return t
.button({
contents: '<span class="note-fontsize-10">100%</span>',
tooltip: t.lang.image.resizeFull,
click: t.context.createInvokeHandler(
"editor.resize",
"1"
),
})
.render();
}),
this.context.memo("button.resizeHalf", function () {
return t
.button({
contents: '<span class="note-fontsize-10">50%</span>',
tooltip: t.lang.image.resizeHalf,
click: t.context.createInvokeHandler(
"editor.resize",
"0.5"
),
})
.render();
}),
this.context.memo("button.resizeQuarter", function () {
return t
.button({
contents: '<span class="note-fontsize-10">25%</span>',
tooltip: t.lang.image.resizeQuarter,
click: t.context.createInvokeHandler(
"editor.resize",
"0.25"
),
})
.render();
}),
this.context.memo("button.resizeNone", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.rollback),
tooltip: t.lang.image.resizeNone,
click: t.context.createInvokeHandler(
"editor.resize",
"0"
),
})
.render();
}),
this.context.memo("button.floatLeft", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.floatLeft),
tooltip: t.lang.image.floatLeft,
click: t.context.createInvokeHandler(
"editor.floatMe",
"left"
),
})
.render();
}),
this.context.memo("button.floatRight", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.floatRight),
tooltip: t.lang.image.floatRight,
click: t.context.createInvokeHandler(
"editor.floatMe",
"right"
),
})
.render();
}),
this.context.memo("button.floatNone", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.rollback),
tooltip: t.lang.image.floatNone,
click: t.context.createInvokeHandler(
"editor.floatMe",
"none"
),
})
.render();
}),
this.context.memo("button.removeMedia", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.trash),
tooltip: t.lang.image.remove,
click:
t.context.createInvokeHandler("editor.removeMedia"),
})
.render();
});
},
},
{
key: "addLinkPopoverButtons",
value: function () {
var t = this;
this.context.memo("button.linkDialogShow", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.link),
tooltip: t.lang.link.edit,
click: t.context.createInvokeHandler("linkDialog.show"),
})
.render();
}),
this.context.memo("button.unlink", function () {
return t
.button({
contents: t.ui.icon(t.options.icons.unlink),
tooltip: t.lang.link.unlink,
click: t.context.createInvokeHandler("editor.unlink"),
})
.render();
});
},
},
{
key: "addTablePopoverButtons",
value: function () {
var t = this;
this.context.memo("button.addRowUp", function () {
return t
.button({
className: "btn-md",
contents: t.ui.icon(t.options.icons.rowAbove),
tooltip: t.lang.table.addRowAbove,
click: t.context.createInvokeHandler(
"editor.addRow",
"top"
),
})
.render();
}),
this.context.memo("button.addRowDown", function () {
return t
.button({
className: "btn-md",
contents: t.ui.icon(t.options.icons.rowBelow),
tooltip: t.lang.table.addRowBelow,
click: t.context.createInvokeHandler(
"editor.addRow",
"bottom"
),
})
.render();
}),
this.context.memo("button.addColLeft", function () {
return t
.button({
className: "btn-md",
contents: t.ui.icon(t.options.icons.colBefore),
tooltip: t.lang.table.addColLeft,
click: t.context.createInvokeHandler(
"editor.addCol",
"left"
),
})
.render();
}),
this.context.memo("button.addColRight", function () {
return t
.button({
className: "btn-md",
contents: t.ui.icon(t.options.icons.colAfter),
tooltip: t.lang.table.addColRight,
click: t.context.createInvokeHandler(
"editor.addCol",
"right"
),
})
.render();
}),
this.context.memo("button.deleteRow", function () {
return t
.button({
className: "btn-md",
contents: t.ui.icon(t.options.icons.rowRemove),
tooltip: t.lang.table.delRow,
click:
t.context.createInvokeHandler("editor.deleteRow"),
})
.render();
}),
this.context.memo("button.deleteCol", function () {
return t
.button({
className: "btn-md",
contents: t.ui.icon(t.options.icons.colRemove),
tooltip: t.lang.table.delCol,
click:
t.context.createInvokeHandler("editor.deleteCol"),
})
.render();
}),
this.context.memo("button.deleteTable", function () {
return t
.button({
className: "btn-md",
contents: t.ui.icon(t.options.icons.trash),
tooltip: t.lang.table.delTable,
click:
t.context.createInvokeHandler("editor.deleteTable"),
})
.render();
});
},
},
{
key: "build",
value: function (t, e) {
for (var n = 0, o = e.length; n < o; n++) {
for (
var i = e[n],
r = Array.isArray(i) ? i[0] : i,
a = Array.isArray(i)
? 1 === i.length
? [i[0]]
: i[1]
: [i],
s = this.ui
.buttonGroup({ className: "note-" + r })
.render(),
l = 0,
c = a.length;
l < c;
l++
) {
var u = this.context.memo("button." + a[l]);
u && s.append("function" == typeof u ? u(this.context) : u);
}
s.appendTo(t);
}
},
},
{
key: "updateCurrentStyle",
value: function (t) {
var e = this,
n = t || this.$toolbar,
o = this.context.invoke("editor.currentStyle");
if (
(this.updateBtnStates(n, {
".note-btn-bold": function () {
return "bold" === o["font-bold"];
},
".note-btn-italic": function () {
return "italic" === o["font-italic"];
},
".note-btn-underline": function () {
return "underline" === o["font-underline"];
},
".note-btn-subscript": function () {
return "subscript" === o["font-subscript"];
},
".note-btn-superscript": function () {
return "superscript" === o["font-superscript"];
},
".note-btn-strikethrough": function () {
return "strikethrough" === o["font-strikethrough"];
},
}),
o["font-family"])
) {
var r = o["font-family"].split(",").map(function (t) {
return t
.replace(/[\'\"]/g, "")
.replace(/\s+$/, "")
.replace(/^\s+/, "");
}),
a = C.find(r, this.isFontInstalled.bind(this));
n.find(".dropdown-fontname a").each(function (t, e) {
var n = i()(e),
o = n.data("value") + "" == a + "";
n.toggleClass("checked", o);
}),
n
.find(".note-current-fontname")
.text(a)
.css("font-family", a);
}
if (o["font-size"]) {
var s = o["font-size"];
n.find(".dropdown-fontsize a").each(function (t, e) {
var n = i()(e),
o = n.data("value") + "" == s + "";
n.toggleClass("checked", o);
}),
n.find(".note-current-fontsize").text(s);
var l = o["font-size-unit"];
n.find(".dropdown-fontsizeunit a").each(function (t, e) {
var n = i()(e),
o = n.data("value") + "" == l + "";
n.toggleClass("checked", o);
}),
n.find(".note-current-fontsizeunit").text(l);
}
if (o["line-height"]) {
var c = o["line-height"];
n.find(".dropdown-line-height li a").each(function (t, n) {
var o = i()(n).data("value") + "" == c + "";
e.className = o ? "checked" : "";
});
}
},
},
{
key: "updateBtnStates",
value: function (t, e) {
var n = this;
i.a.each(e, function (e, o) {
n.ui.toggleBtnActive(t.find(e), o());
});
},
},
{
key: "tableMoveHandler",
value: function (t) {
var e,
n = i()(t.target.parentNode),
o = n.next(),
r = n.find(".note-dimension-picker-mousecatcher"),
a = n.find(".note-dimension-picker-highlighted"),
s = n.find(".note-dimension-picker-unhighlighted");
if (void 0 === t.offsetX) {
var l = i()(t.target).offset();
e = { x: t.pageX - l.left, y: t.pageY - l.top };
} else e = { x: t.offsetX, y: t.offsetY };
var c = Math.ceil(e.x / 18) || 1,
u = Math.ceil(e.y / 18) || 1;
a.css({ width: c + "em", height: u + "em" }),
r.data("value", c + "x" + u),
c > 3 &&
c < this.options.insertTableMaxSize.col &&
s.css({ width: c + 1 + "em" }),
u > 3 &&
u < this.options.insertTableMaxSize.row &&
s.css({ height: u + 1 + "em" }),
o.html(c + " x " + u);
},
},
]) && ae(e.prototype, n),
o && ae(e, o),
t
);
})();
function le(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 ce = (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.$window = i()(window)),
(this.$document = i()(document)),
(this.ui = i.a.summernote.ui),
(this.$note = e.layoutInfo.note),
(this.$editor = e.layoutInfo.editor),
(this.$toolbar = e.layoutInfo.toolbar),
(this.$editable = e.layoutInfo.editable),
(this.$statusbar = e.layoutInfo.statusbar),
(this.options = e.options),
(this.isFollowing = !1),
(this.followScroll = this.followScroll.bind(this));
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "shouldInitialize",
value: function () {
return !this.options.airMode;
},
},
{
key: "initialize",
value: function () {
var t = this;
(this.options.toolbar = this.options.toolbar || []),
this.options.toolbar.length
? this.context.invoke(
"buttons.build",
this.$toolbar,
this.options.toolbar
)
: this.$toolbar.hide(),
this.options.toolbarContainer &&
this.$toolbar.appendTo(this.options.toolbarContainer),
this.changeContainer(!1),
this.$note.on(
"summernote.keyup summernote.mouseup summernote.change",
function () {
t.context.invoke("buttons.updateCurrentStyle");
}
),
this.context.invoke("buttons.updateCurrentStyle"),
this.options.followingToolbar &&
this.$window.on("scroll resize", this.followScroll);
},
},
{
key: "destroy",
value: function () {
this.$toolbar.children().remove(),
this.options.followingToolbar &&
this.$window.off("scroll resize", this.followScroll);
},
},
{
key: "followScroll",
value: function () {
if (this.$editor.hasClass("fullscreen")) return !1;
var t = this.$editor.outerHeight(),
e = this.$editor.width(),
n = this.$toolbar.height(),
o = this.$statusbar.height(),
r = 0;
this.options.otherStaticBar &&
(r = i()(this.options.otherStaticBar).outerHeight());
var a = this.$document.scrollTop(),
s = this.$editor.offset().top,
l = s - r,
c = s + t - r - n - o;
!this.isFollowing && a > l && a < c - n
? ((this.isFollowing = !0),
this.$editable.css({
marginTop: this.$toolbar.outerHeight(),
}),
this.$toolbar.css({
position: "fixed",
top: r,
width: e,
zIndex: 1e3,
}))
: this.isFollowing &&
(a < l || a > c) &&
((this.isFollowing = !1),
this.$toolbar.css({
position: "relative",
top: 0,
width: "100%",
zIndex: "auto",
}),
this.$editable.css({ marginTop: "" }));
},
},
{
key: "changeContainer",
value: function (t) {
t
? this.$toolbar.prependTo(this.$editor)
: this.options.toolbarContainer &&
this.$toolbar.appendTo(this.options.toolbarContainer),
this.options.followingToolbar && this.followScroll();
},
},
{
key: "updateFullscreen",
value: function (t) {
this.ui.toggleBtnActive(
this.$toolbar.find(".btn-fullscreen"),
t
),
this.changeContainer(t);
},
},
{
key: "updateCodeview",
value: function (t) {
this.ui.toggleBtnActive(this.$toolbar.find(".btn-codeview"), t),
t ? this.deactivate() : this.activate();
},
},
{
key: "activate",
value: function (t) {
var e = this.$toolbar.find("button");
t || (e = e.not(".note-codeview-keep")),
this.ui.toggleBtn(e, !0);
},
},
{
key: "deactivate",
value: function (t) {
var e = this.$toolbar.find("button");
t || (e = e.not(".note-codeview-keep")),
this.ui.toggleBtn(e, !1);
},
},
]) && le(e.prototype, n),
o && le(e, o),
t
);
})();
function ue(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 de = (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.ui = i.a.summernote.ui),
(this.$body = i()(document.body)),
(this.$editor = e.layoutInfo.editor),
(this.options = e.options),
(this.lang = this.options.langInfo),
e.memo(
"help.linkDialog.show",
this.options.langInfo.help["linkDialog.show"]
);
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "initialize",
value: function () {
var t = this.options.dialogsInBody
? this.$body
: this.options.container,
e = [
'<div class="form-group note-form-group">',
'<label for="note-dialog-link-txt-'
.concat(this.options.id, '" class="note-form-label">')
.concat(this.lang.link.textToDisplay, "</label>"),
'<input id="note-dialog-link-txt-'.concat(
this.options.id,
'" class="note-link-text form-control note-form-control note-input" type="text"/>'
),
"</div>",
'<div class="form-group note-form-group">',
'<label for="note-dialog-link-url-'
.concat(this.options.id, '" class="note-form-label">')
.concat(this.lang.link.url, "</label>"),
'<input id="note-dialog-link-url-'.concat(
this.options.id,
'" class="note-link-url form-control note-form-control note-input" type="text" value="http://"/>'
),
"</div>",
this.options.disableLinkTarget
? ""
: i()("<div/>")
.append(
this.ui
.checkbox({
className: "sn-checkbox-open-in-new-window",
text: this.lang.link.openInNewWindow,
checked: !0,
})
.render()
)
.html(),
i()("<div/>")
.append(
this.ui
.checkbox({
className: "sn-checkbox-use-protocol",
text: this.lang.link.useProtocol,
checked: !0,
})
.render()
)
.html(),
].join(""),
n = '<input type="button" href="#" class="'
.concat(
"btn btn-primary note-btn note-btn-primary note-link-btn",
'" value="'
)
.concat(this.lang.link.insert, '" disabled>');
this.$dialog = this.ui
.dialog({
className: "link-dialog",
title: this.lang.link.insert,
fade: this.options.dialogsFade,
body: e,
footer: n,
})
.render()
.appendTo(t);
},
},
{
key: "destroy",
value: function () {
this.ui.hideDialog(this.$dialog), this.$dialog.remove();
},
},
{
key: "bindEnterKey",
value: function (t, e) {
t.on("keypress", function (t) {
t.keyCode === xt.code.ENTER &&
(t.preventDefault(), e.trigger("click"));
});
},
},
{
key: "toggleLinkBtn",
value: function (t, e, n) {
this.ui.toggleBtn(t, e.val() && n.val());
},
},
{
key: "showLinkDialog",
value: function (t) {
var e = this;
return i.a
.Deferred(function (n) {
var o = e.$dialog.find(".note-link-text"),
i = e.$dialog.find(".note-link-url"),
r = e.$dialog.find(".note-link-btn"),
a = e.$dialog.find(
".sn-checkbox-open-in-new-window input[type=checkbox]"
),
s = e.$dialog.find(
".sn-checkbox-use-protocol input[type=checkbox]"
);
e.ui.onDialogShown(e.$dialog, function () {
e.context.triggerEvent("dialog.shown"),
!t.url && g.isValidUrl(t.text) && (t.url = t.text),
o
.on("input paste propertychange", function () {
(t.text = o.val()), e.toggleLinkBtn(r, o, i);
})
.val(t.text),
i
.on("input paste propertychange", function () {
t.text || o.val(i.val()), e.toggleLinkBtn(r, o, i);
})
.val(t.url),
m.isSupportTouch || i.trigger("focus"),
e.toggleLinkBtn(r, o, i),
e.bindEnterKey(i, r),
e.bindEnterKey(o, r);
var l =
void 0 !== t.isNewWindow
? t.isNewWindow
: e.context.options.linkTargetBlank;
a.prop("checked", l);
var c = !t.url && e.context.options.useProtocol;
s.prop("checked", c),
r.one("click", function (r) {
r.preventDefault(),
n.resolve({
range: t.range,
url: i.val(),
text: o.val(),
isNewWindow: a.is(":checked"),
checkProtocol: s.is(":checked"),
}),
e.ui.hideDialog(e.$dialog);
});
}),
e.ui.onDialogHidden(e.$dialog, function () {
o.off(),
i.off(),
r.off(),
"pending" === n.state() && n.reject();
}),
e.ui.showDialog(e.$dialog);
})
.promise();
},
},
{
key: "show",
value: function () {
var t = this,
e = this.context.invoke("editor.getLinkInfo");
this.context.invoke("editor.saveRange"),
this.showLinkDialog(e)
.then(function (e) {
t.context.invoke("editor.restoreRange"),
t.context.invoke("editor.createLink", e);
})
.fail(function () {
t.context.invoke("editor.restoreRange");
});
},
},
]) && ue(e.prototype, n),
o && ue(e, o),
t
);
})();
function he(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 fe = (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.ui = i.a.summernote.ui),
(this.options = e.options),
(this.events = {
"summernote.keyup summernote.mouseup summernote.change summernote.scroll":
function () {
n.update();
},
"summernote.disable summernote.dialog.shown summernote.blur":
function () {
n.hide();
},
});
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "shouldInitialize",
value: function () {
return !C.isEmpty(this.options.popover.link);
},
},
{
key: "initialize",
value: function () {
this.$popover = this.ui
.popover({
className: "note-link-popover",
callback: function (t) {
t.find(".popover-content,.note-popover-content").prepend(
'<span><a target="_blank"></a>&nbsp;</span>'
);
},
})
.render()
.appendTo(this.options.container);
var t = this.$popover.find(
".popover-content,.note-popover-content"
);
this.context.invoke(
"buttons.build",
t,
this.options.popover.link
),
this.$popover.on("mousedown", function (t) {
t.preventDefault();
});
},
},
{
key: "destroy",
value: function () {
this.$popover.remove();
},
},
{
key: "update",
value: function () {
if (this.context.invoke("editor.hasFocus")) {
var t = this.context.invoke("editor.getLastRange");
if (t.isCollapsed() && t.isOnAnchor()) {
var e = pt.ancestor(t.sc, pt.isAnchor),
n = i()(e).attr("href");
this.$popover.find("a").attr("href", n).text(n);
var o = pt.posFromPlaceholder(e),
r = i()(this.options.container).offset();
(o.top -= r.top),
(o.left -= r.left),
this.$popover.css({
display: "block",
left: o.left,
top: o.top,
});
} else this.hide();
} else this.hide();
},
},
{
key: "hide",
value: function () {
this.$popover.hide();
},
},
]) && he(e.prototype, n),
o && he(e, o),
t
);
})();
function pe(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 me = (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.ui = i.a.summernote.ui),
(this.$body = i()(document.body)),
(this.$editor = e.layoutInfo.editor),
(this.options = e.options),
(this.lang = this.options.langInfo);
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "initialize",
value: function () {
var t = "";
if (this.options.maximumImageFileSize) {
var e = Math.floor(
Math.log(this.options.maximumImageFileSize) /
Math.log(1024)
),
n =
1 *
(
this.options.maximumImageFileSize / Math.pow(1024, e)
).toFixed(2) +
" " +
" KMGTP"[e] +
"B";
t = "<small>".concat(
this.lang.image.maximumFileSize + " : " + n,
"</small>"
);
}
var o = this.options.dialogsInBody
? this.$body
: this.options.container,
i = [
'<div class="form-group note-form-group note-group-select-from-files">',
'<label for="note-dialog-image-file-' +
this.options.id +
'" class="note-form-label">' +
this.lang.image.selectFromFiles +
"</label>",
'<input id="note-dialog-image-file-' +
this.options.id +
'" class="note-image-input form-control-file note-form-control note-input" ',
' type="file" name="files" accept="image/*" multiple="multiple"/>',
t,
"</div>",
'<div class="form-group note-group-image-url">',
'<label for="note-dialog-image-url-' +
this.options.id +
'" class="note-form-label">' +
this.lang.image.url +
"</label>",
'<input id="note-dialog-image-url-' +
this.options.id +
'" class="note-image-url form-control note-form-control note-input" type="text"/>',
"</div>",
].join(""),
r = '<input type="button" href="#" class="'
.concat(
"btn btn-primary note-btn note-btn-primary note-image-btn",
'" value="'
)
.concat(this.lang.image.insert, '" disabled>');
this.$dialog = this.ui
.dialog({
title: this.lang.image.insert,
fade: this.options.dialogsFade,
body: i,
footer: r,
})
.render()
.appendTo(o);
},
},
{
key: "destroy",
value: function () {
this.ui.hideDialog(this.$dialog), this.$dialog.remove();
},
},
{
key: "bindEnterKey",
value: function (t, e) {
t.on("keypress", function (t) {
t.keyCode === xt.code.ENTER &&
(t.preventDefault(), e.trigger("click"));
});
},
},
{
key: "show",
value: function () {
var t = this;
this.context.invoke("editor.saveRange"),
this.showImageDialog()
.then(function (e) {
t.ui.hideDialog(t.$dialog),
t.context.invoke("editor.restoreRange"),
"string" == typeof e
? t.options.callbacks.onImageLinkInsert
? t.context.triggerEvent("image.link.insert", e)
: t.context.invoke("editor.insertImage", e)
: t.context.invoke(
"editor.insertImagesOrCallback",
e
);
})
.fail(function () {
t.context.invoke("editor.restoreRange");
});
},
},
{
key: "showImageDialog",
value: function () {
var t = this;
return i.a.Deferred(function (e) {
var n = t.$dialog.find(".note-image-input"),
o = t.$dialog.find(".note-image-url"),
i = t.$dialog.find(".note-image-btn");
t.ui.onDialogShown(t.$dialog, function () {
t.context.triggerEvent("dialog.shown"),
n.replaceWith(
n
.clone()
.on("change", function (t) {
e.resolve(t.target.files || t.target.value);
})
.val("")
),
o
.on("input paste propertychange", function () {
t.ui.toggleBtn(i, o.val());
})
.val(""),
m.isSupportTouch || o.trigger("focus"),
i.click(function (t) {
t.preventDefault(), e.resolve(o.val());
}),
t.bindEnterKey(o, i);
}),
t.ui.onDialogHidden(t.$dialog, function () {
n.off(),
o.off(),
i.off(),
"pending" === e.state() && e.reject();
}),
t.ui.showDialog(t.$dialog);
});
},
},
]) && pe(e.prototype, n),
o && pe(e, o),
t
);
})();
function ve(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 ge = (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.ui = i.a.summernote.ui),
(this.editable = e.layoutInfo.editable[0]),
(this.options = e.options),
(this.events = {
"summernote.disable summernote.blur": function () {
n.hide();
},
});
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "shouldInitialize",
value: function () {
return !C.isEmpty(this.options.popover.image);
},
},
{
key: "initialize",
value: function () {
this.$popover = this.ui
.popover({ className: "note-image-popover" })
.render()
.appendTo(this.options.container);
var t = this.$popover.find(
".popover-content,.note-popover-content"
);
this.context.invoke(
"buttons.build",
t,
this.options.popover.image
),
this.$popover.on("mousedown", function (t) {
t.preventDefault();
});
},
},
{
key: "destroy",
value: function () {
this.$popover.remove();
},
},
{
key: "update",
value: function (t, e) {
if (pt.isImg(t)) {
var n = i()(t).offset(),
o = i()(this.options.container).offset(),
r = {};
this.options.popatmouse
? ((r.left = e.pageX - 20), (r.top = e.pageY))
: (r = n),
(r.top -= o.top),
(r.left -= o.left),
this.$popover.css({
display: "block",
left: r.left,
top: r.top,
});
} else this.hide();
},
},
{
key: "hide",
value: function () {
this.$popover.hide();
},
},
]) && ve(e.prototype, n),
o && ve(e, o),
t
);
})();
function be(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 ke = (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.ui = i.a.summernote.ui),
(this.options = e.options),
(this.events = {
"summernote.mousedown": function (t, e) {
n.update(e.target);
},
"summernote.keyup summernote.scroll summernote.change":
function () {
n.update();
},
"summernote.disable summernote.blur": function () {
n.hide();
},
});
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "shouldInitialize",
value: function () {
return !C.isEmpty(this.options.popover.table);
},
},
{
key: "initialize",
value: function () {
this.$popover = this.ui
.popover({ className: "note-table-popover" })
.render()
.appendTo(this.options.container);
var t = this.$popover.find(
".popover-content,.note-popover-content"
);
this.context.invoke(
"buttons.build",
t,
this.options.popover.table
),
m.isFF &&
document.execCommand("enableInlineTableEditing", !1, !1),
this.$popover.on("mousedown", function (t) {
t.preventDefault();
});
},
},
{
key: "destroy",
value: function () {
this.$popover.remove();
},
},
{
key: "update",
value: function (t) {
if (this.context.isDisabled()) return !1;
var e = pt.isCell(t);
if (e) {
var n = pt.posFromPlaceholder(t),
o = i()(this.options.container).offset();
(n.top -= o.top),
(n.left -= o.left),
this.$popover.css({
display: "block",
left: n.left,
top: n.top,
});
} else this.hide();
return e;
},
},
{
key: "hide",
value: function () {
this.$popover.hide();
},
},
]) && be(e.prototype, n),
o && be(e, o),
t
);
})();
function ye(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 we = (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.ui = i.a.summernote.ui),
(this.$body = i()(document.body)),
(this.$editor = e.layoutInfo.editor),
(this.options = e.options),
(this.lang = this.options.langInfo);
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "initialize",
value: function () {
var t = this.options.dialogsInBody
? this.$body
: this.options.container,
e = [
'<div class="form-group note-form-group row-fluid">',
'<label for="note-dialog-video-url-'
.concat(this.options.id, '" class="note-form-label">')
.concat(
this.lang.video.url,
' <small class="text-muted">'
)
.concat(this.lang.video.providers, "</small></label>"),
'<input id="note-dialog-video-url-'.concat(
this.options.id,
'" class="note-video-url form-control note-form-control note-input" type="text"/>'
),
"</div>",
].join(""),
n = '<input type="button" href="#" class="'
.concat(
"btn btn-primary note-btn note-btn-primary note-video-btn",
'" value="'
)
.concat(this.lang.video.insert, '" disabled>');
this.$dialog = this.ui
.dialog({
title: this.lang.video.insert,
fade: this.options.dialogsFade,
body: e,
footer: n,
})
.render()
.appendTo(t);
},
},
{
key: "destroy",
value: function () {
this.ui.hideDialog(this.$dialog), this.$dialog.remove();
},
},
{
key: "bindEnterKey",
value: function (t, e) {
t.on("keypress", function (t) {
t.keyCode === xt.code.ENTER &&
(t.preventDefault(), e.trigger("click"));
});
},
},
{
key: "createVideoNode",
value: function (t) {
var e,
n = t.match(
/\/\/(?:(?:www|m)\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))([\w|-]{11})(?:(?:[\?&]t=)(\S+))?$/
),
o = t.match(
/(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/
),
r = t.match(/\/\/vine\.co\/v\/([a-zA-Z0-9]+)/),
a = t.match(
/\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/
),
s = t.match(
/.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/
),
l = t.match(/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/),
c = t.match(/\/\/v\.qq\.com.*?vid=(.+)/),
u = t.match(
/\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/
),
d = t.match(/^.+.(mp4|m4v)$/),
h = t.match(/^.+.(ogg|ogv)$/),
f = t.match(/^.+.(webm)$/),
p = t.match(
/(?:www\.|\/\/)facebook\.com\/([^\/]+)\/videos\/([0-9]+)/
);
if (n && 11 === n[1].length) {
var m = n[1],
v = 0;
if (void 0 !== n[2]) {
var g = n[2].match(/^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/);
if (g)
for (
var b = [3600, 60, 1], k = 0, y = b.length;
k < y;
k++
)
v +=
void 0 !== g[k + 1]
? b[k] * parseInt(g[k + 1], 10)
: 0;
}
e = i()("<iframe>")
.attr("frameborder", 0)
.attr(
"src",
"//www.youtube.com/embed/" +
m +
(v > 0 ? "?start=" + v : "")
)
.attr("width", "640")
.attr("height", "360");
} else if (o && o[0].length)
e = i()("<iframe>")
.attr("frameborder", 0)
.attr("src", "https://instagram.com/p/" + o[1] + "/embed/")
.attr("width", "612")
.attr("height", "710")
.attr("scrolling", "no")
.attr("allowtransparency", "true");
else if (r && r[0].length)
e = i()("<iframe>")
.attr("frameborder", 0)
.attr("src", r[0] + "/embed/simple")
.attr("width", "600")
.attr("height", "600")
.attr("class", "vine-embed");
else if (a && a[3].length)
e = i()(
"<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>"
)
.attr("frameborder", 0)
.attr("src", "//player.vimeo.com/video/" + a[3])
.attr("width", "640")
.attr("height", "360");
else if (s && s[2].length)
e = i()("<iframe>")
.attr("frameborder", 0)
.attr("src", "//www.dailymotion.com/embed/video/" + s[2])
.attr("width", "640")
.attr("height", "360");
else if (l && l[1].length)
e = i()(
"<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>"
)
.attr("frameborder", 0)
.attr("height", "498")
.attr("width", "510")
.attr("src", "//player.youku.com/embed/" + l[1]);
else if ((c && c[1].length) || (u && u[2].length)) {
var w = c && c[1].length ? c[1] : u[2];
e = i()(
"<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>"
)
.attr("frameborder", 0)
.attr("height", "310")
.attr("width", "500")
.attr(
"src",
"https://v.qq.com/txp/iframe/player.html?vid=" +
w +
"&amp;auto=0"
);
} else if (d || h || f)
e = i()("<video controls>")
.attr("src", t)
.attr("width", "640")
.attr("height", "360");
else {
if (!p || !p[0].length) return !1;
e = i()("<iframe>")
.attr("frameborder", 0)
.attr(
"src",
"https://www.facebook.com/plugins/video.php?href=" +
encodeURIComponent(p[0]) +
"&show_text=0&width=560"
)
.attr("width", "560")
.attr("height", "301")
.attr("scrolling", "no")
.attr("allowtransparency", "true");
}
return e.addClass("note-video-clip"), e[0];
},
},
{
key: "show",
value: function () {
var t = this,
e = this.context.invoke("editor.getSelectedText");
this.context.invoke("editor.saveRange"),
this.showVideoDialog(e)
.then(function (e) {
t.ui.hideDialog(t.$dialog),
t.context.invoke("editor.restoreRange");
var n = t.createVideoNode(e);
n && t.context.invoke("editor.insertNode", n);
})
.fail(function () {
t.context.invoke("editor.restoreRange");
});
},
},
{
key: "showVideoDialog",
value: function () {
var t = this;
return i.a.Deferred(function (e) {
var n = t.$dialog.find(".note-video-url"),
o = t.$dialog.find(".note-video-btn");
t.ui.onDialogShown(t.$dialog, function () {
t.context.triggerEvent("dialog.shown"),
n.on("input paste propertychange", function () {
t.ui.toggleBtn(o, n.val());
}),
m.isSupportTouch || n.trigger("focus"),
o.click(function (t) {
t.preventDefault(), e.resolve(n.val());
}),
t.bindEnterKey(n, o);
}),
t.ui.onDialogHidden(t.$dialog, function () {
n.off(), o.off(), "pending" === e.state() && e.reject();
}),
t.ui.showDialog(t.$dialog);
});
},
},
]) && ye(e.prototype, n),
o && ye(e, o),
t
);
})();
function Ce(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 xe = (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.ui = i.a.summernote.ui),
(this.$body = i()(document.body)),
(this.$editor = e.layoutInfo.editor),
(this.options = e.options),
(this.lang = this.options.langInfo);
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "initialize",
value: function () {
var t = this.options.dialogsInBody
? this.$body
: this.options.container,
e = [
'<p class="text-center">',
'<a href="http://summernote.org/" target="_blank">Summernote 0.8.18</a> · ',
'<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ',
'<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>',
"</p>",
].join("");
this.$dialog = this.ui
.dialog({
title: this.lang.options.help,
fade: this.options.dialogsFade,
body: this.createShortcutList(),
footer: e,
callback: function (t) {
t.find(".modal-body,.note-modal-body").css({
"max-height": 300,
overflow: "scroll",
});
},
})
.render()
.appendTo(t);
},
},
{
key: "destroy",
value: function () {
this.ui.hideDialog(this.$dialog), this.$dialog.remove();
},
},
{
key: "createShortcutList",
value: function () {
var t = this,
e = this.options.keyMap[m.isMac ? "mac" : "pc"];
return Object.keys(e)
.map(function (n) {
var o = e[n],
r = i()('<div><div class="help-list-item"></div></div>');
return (
r
.append(
i()("<label><kbd>" + n + "</kdb></label>").css({
width: 180,
"margin-right": 10,
})
)
.append(
i()("<span/>").html(t.context.memo("help." + o) || o)
),
r.html()
);
})
.join("");
},
},
{
key: "showHelpDialog",
value: function () {
var t = this;
return i.a
.Deferred(function (e) {
t.ui.onDialogShown(t.$dialog, function () {
t.context.triggerEvent("dialog.shown"), e.resolve();
}),
t.ui.showDialog(t.$dialog);
})
.promise();
},
},
{
key: "show",
value: function () {
var t = this;
this.context.invoke("editor.saveRange"),
this.showHelpDialog().then(function () {
t.context.invoke("editor.restoreRange");
});
},
},
]) && Ce(e.prototype, n),
o && Ce(e, o),
t
);
})();
function Se(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 Te = (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.ui = i.a.summernote.ui),
(this.options = e.options),
(this.hidable = !0),
(this.onContextmenu = !1),
(this.pageX = null),
(this.pageY = null),
(this.events = {
"summernote.contextmenu": function (t) {
n.options.editing &&
(t.preventDefault(),
t.stopPropagation(),
(n.onContextmenu = !0),
n.update(!0));
},
"summernote.mousedown": function (t, e) {
(n.pageX = e.pageX), (n.pageY = e.pageY);
},
"summernote.keyup summernote.mouseup summernote.scroll":
function (t, e) {
n.options.editing &&
!n.onContextmenu &&
((n.pageX = e.pageX), (n.pageY = e.pageY), n.update()),
(n.onContextmenu = !1);
},
"summernote.disable summernote.change summernote.dialog.shown summernote.blur":
function () {
n.hide();
},
"summernote.focusout": function () {
n.$popover.is(":active,:focus") || n.hide();
},
});
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "shouldInitialize",
value: function () {
return (
this.options.airMode && !C.isEmpty(this.options.popover.air)
);
},
},
{
key: "initialize",
value: function () {
var t = this;
this.$popover = this.ui
.popover({ className: "note-air-popover" })
.render()
.appendTo(this.options.container);
var e = this.$popover.find(".popover-content");
this.context.invoke(
"buttons.build",
e,
this.options.popover.air
),
this.$popover.on("mousedown", function () {
t.hidable = !1;
}),
this.$popover.on("mouseup", function () {
t.hidable = !0;
});
},
},
{
key: "destroy",
value: function () {
this.$popover.remove();
},
},
{
key: "update",
value: function (t) {
var e = this.context.invoke("editor.currentStyle");
if (!e.range || (e.range.isCollapsed() && !t)) this.hide();
else {
var n = { left: this.pageX, top: this.pageY },
o = i()(this.options.container).offset();
(n.top -= o.top),
(n.left -= o.left),
this.$popover.css({
display: "block",
left: Math.max(n.left, 0) + -5,
top: n.top + 5,
}),
this.context.invoke(
"buttons.updateCurrentStyle",
this.$popover
);
}
},
},
{
key: "updateCodeview",
value: function (t) {
this.ui.toggleBtnActive(this.$popover.find(".btn-codeview"), t),
t && this.hide();
},
},
{
key: "hide",
value: function () {
this.hidable && this.$popover.hide();
},
},
]) && Se(e.prototype, n),
o && Se(e, o),
t
);
})();
function Ee(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 $e = (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.ui = i.a.summernote.ui),
(this.$editable = e.layoutInfo.editable),
(this.options = e.options),
(this.hint = this.options.hint || []),
(this.direction = this.options.hintDirection || "bottom"),
(this.hints = Array.isArray(this.hint) ? this.hint : [this.hint]),
(this.events = {
"summernote.keyup": function (t, e) {
e.isDefaultPrevented() || n.handleKeyup(e);
},
"summernote.keydown": function (t, e) {
n.handleKeydown(e);
},
"summernote.disable summernote.dialog.shown summernote.blur":
function () {
n.hide();
},
});
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "shouldInitialize",
value: function () {
return this.hints.length > 0;
},
},
{
key: "initialize",
value: function () {
var t = this;
(this.lastWordRange = null),
(this.matchingWord = null),
(this.$popover = this.ui
.popover({
className: "note-hint-popover",
hideArrow: !0,
direction: "",
})
.render()
.appendTo(this.options.container)),
this.$popover.hide(),
(this.$content = this.$popover.find(
".popover-content,.note-popover-content"
)),
this.$content.on("click", ".note-hint-item", function (e) {
t.$content.find(".active").removeClass("active"),
i()(e.currentTarget).addClass("active"),
t.replace();
}),
this.$popover.on("mousedown", function (t) {
t.preventDefault();
});
},
},
{
key: "destroy",
value: function () {
this.$popover.remove();
},
},
{
key: "selectItem",
value: function (t) {
this.$content.find(".active").removeClass("active"),
t.addClass("active"),
(this.$content[0].scrollTop =
t[0].offsetTop - this.$content.innerHeight() / 2);
},
},
{
key: "moveDown",
value: function () {
var t = this.$content.find(".note-hint-item.active"),
e = t.next();
if (e.length) this.selectItem(e);
else {
var n = t.parent().next();
n.length ||
(n = this.$content.find(".note-hint-group").first()),
this.selectItem(n.find(".note-hint-item").first());
}
},
},
{
key: "moveUp",
value: function () {
var t = this.$content.find(".note-hint-item.active"),
e = t.prev();
if (e.length) this.selectItem(e);
else {
var n = t.parent().prev();
n.length ||
(n = this.$content.find(".note-hint-group").last()),
this.selectItem(n.find(".note-hint-item").last());
}
},
},
{
key: "replace",
value: function () {
var t = this.$content.find(".note-hint-item.active");
if (t.length) {
var e = this.nodeFromItem(t);
if (
null !== this.matchingWord &&
0 === this.matchingWord.length
)
this.lastWordRange.so = this.lastWordRange.eo;
else if (
null !== this.matchingWord &&
this.matchingWord.length > 0 &&
!this.lastWordRange.isCollapsed()
) {
var n =
this.lastWordRange.eo -
this.lastWordRange.so -
this.matchingWord.length;
n > 0 && (this.lastWordRange.so += n);
}
if (
(this.lastWordRange.insertNode(e),
"next" === this.options.hintSelect)
) {
var o = document.createTextNode("");
i()(e).after(o), wt.createFromNodeBefore(o).select();
} else wt.createFromNodeAfter(e).select();
(this.lastWordRange = null),
this.hide(),
this.context.invoke("editor.focus");
}
},
},
{
key: "nodeFromItem",
value: function (t) {
var e = this.hints[t.data("index")],
n = t.data("item"),
o = e.content ? e.content(n) : n;
return "string" == typeof o && (o = pt.createText(o)), o;
},
},
{
key: "createItemTemplates",
value: function (t, e) {
var n = this.hints[t];
return e.map(function (e) {
var o = i()('<div class="note-hint-item"/>');
return (
o.append(n.template ? n.template(e) : e + ""),
o.data({ index: t, item: e }),
o
);
});
},
},
{
key: "handleKeydown",
value: function (t) {
this.$popover.is(":visible") &&
(t.keyCode === xt.code.ENTER
? (t.preventDefault(), this.replace())
: t.keyCode === xt.code.UP
? (t.preventDefault(), this.moveUp())
: t.keyCode === xt.code.DOWN &&
(t.preventDefault(), this.moveDown()));
},
},
{
key: "searchKeyword",
value: function (t, e, n) {
var o = this.hints[t];
if (o && o.match.test(e) && o.search) {
var i = o.match.exec(e);
(this.matchingWord = i[0]), o.search(i[1], n);
} else n();
},
},
{
key: "createGroup",
value: function (t, e) {
var n = this,
o = i()(
'<div class="note-hint-group note-hint-group-' +
t +
'"></div>'
);
return (
this.searchKeyword(t, e, function (e) {
(e = e || []).length &&
(o.html(n.createItemTemplates(t, e)), n.show());
}),
o
);
},
},
{
key: "handleKeyup",
value: function (t) {
var e = this;
if (
!C.contains(
[xt.code.ENTER, xt.code.UP, xt.code.DOWN],
t.keyCode
)
) {
var n,
o,
r = this.context.invoke("editor.getLastRange");
if ("words" === this.options.hintMode) {
if (
((n = r.getWordsRange(r)),
(o = n.toString()),
this.hints.forEach(function (t) {
if (t.match.test(o))
return (n = r.getWordsMatchRange(t.match)), !1;
}),
!n)
)
return void this.hide();
o = n.toString();
} else (n = r.getWordRange()), (o = n.toString());
if (this.hints.length && o) {
this.$content.empty();
var a = g.rect2bnd(C.last(n.getClientRects())),
s = i()(this.options.container).offset();
a &&
((a.top -= s.top),
(a.left -= s.left),
this.$popover.hide(),
(this.lastWordRange = n),
this.hints.forEach(function (t, n) {
t.match.test(o) &&
e.createGroup(n, o).appendTo(e.$content);
}),
this.$content
.find(".note-hint-item:first")
.addClass("active"),
"top" === this.direction
? this.$popover.css({
left: a.left,
top: a.top - this.$popover.outerHeight() - 5,
})
: this.$popover.css({
left: a.left,
top: a.top + a.height + 5,
}));
} else this.hide();
}
},
},
{
key: "show",
value: function () {
this.$popover.show();
},
},
{
key: "hide",
value: function () {
this.$popover.hide();
},
},
]) && Ee(e.prototype, n),
o && Ee(e, o),
t
);
})();
i.a.summernote = i.a.extend(i.a.summernote, {
version: "0.8.18",
plugins: {},
dom: pt,
range: wt,
lists: C,
options: {
langInfo: i.a.summernote.lang["en-US"],
editing: !0,
modules: {
editor: Ht,
clipboard: zt,
dropzone: Ot,
codeview: Kt,
statusbar: qt,
fullscreen: Gt,
handle: Zt,
hintPopover: $e,
autoLink: Jt,
autoSync: ee,
autoReplace: oe,
placeholder: re,
buttons: se,
toolbar: ce,
linkDialog: de,
linkPopover: fe,
imageDialog: me,
imagePopover: ge,
tablePopover: ke,
videoDialog: we,
helpDialog: xe,
airPopover: Te,
},
buttons: {},
lang: "en-US",
followingToolbar: !1,
toolbarPosition: "top",
otherStaticBar: "",
codeviewKeepButton: !1,
toolbar: [
["style", ["style"]],
["font", ["bold", "underline", "clear"]],
["fontname", ["fontname"]],
["color", ["color"]],
["para", ["ul", "ol", "paragraph"]],
["table", ["table"]],
["insert", ["link", "picture", "video"]],
["view", ["fullscreen", "codeview", "help"]],
],
popatmouse: !0,
popover: {
image: [
[
"resize",
["resizeFull", "resizeHalf", "resizeQuarter", "resizeNone"],
],
["float", ["floatLeft", "floatRight", "floatNone"]],
["remove", ["removeMedia"]],
],
link: [["link", ["linkDialogShow", "unlink"]]],
table: [
["add", ["addRowDown", "addRowUp", "addColLeft", "addColRight"]],
["delete", ["deleteRow", "deleteCol", "deleteTable"]],
],
air: [
["color", ["color"]],
["font", ["bold", "underline", "clear"]],
["para", ["ul", "paragraph"]],
["table", ["table"]],
["insert", ["link", "picture"]],
["view", ["fullscreen", "codeview"]],
],
},
airMode: !1,
overrideContextMenu: !1,
width: null,
height: null,
linkTargetBlank: !0,
useProtocol: !0,
defaultProtocol: "http://",
focus: !1,
tabDisabled: !1,
tabSize: 4,
styleWithCSS: !1,
shortcuts: !0,
textareaAutoSync: !0,
tooltip: "auto",
container: null,
maxTextLength: 0,
blockquoteBreakingLevel: 2,
spellCheck: !0,
disableGrammar: !1,
placeholder: null,
inheritPlaceholder: !1,
recordEveryKeystroke: !1,
historyLimit: 200,
showDomainOnlyForAutolink: !1,
hintMode: "word",
hintSelect: "after",
hintDirection: "bottom",
styleTags: [
"p",
"blockquote",
"pre",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
],
fontNames: [
"Arial",
"Arial Black",
"Comic Sans MS",
"Courier New",
"Helvetica Neue",
"Helvetica",
"Impact",
"Lucida Grande",
"Tahoma",
"Times New Roman",
"Verdana",
],
fontNamesIgnoreCheck: [],
addDefaultFonts: !0,
fontSizes: ["8", "9", "10", "11", "12", "14", "18", "24", "36"],
fontSizeUnits: ["px", "pt"],
colors: [
[
"#000000",
"#424242",
"#636363",
"#9C9C94",
"#CEC6CE",
"#EFEFEF",
"#F7F7F7",
"#FFFFFF",
],
[
"#FF0000",
"#FF9C00",
"#FFFF00",
"#00FF00",
"#00FFFF",
"#0000FF",
"#9C00FF",
"#FF00FF",
],
[
"#F7C6CE",
"#FFE7CE",
"#FFEFC6",
"#D6EFD6",
"#CEDEE7",
"#CEE7F7",
"#D6D6E7",
"#E7D6DE",
],
[
"#E79C9C",
"#FFC69C",
"#FFE79C",
"#B5D6A5",
"#A5C6CE",
"#9CC6EF",
"#B5A5D6",
"#D6A5BD",
],
[
"#E76363",
"#F7AD6B",
"#FFD663",
"#94BD7B",
"#73A5AD",
"#6BADDE",
"#8C7BC6",
"#C67BA5",
],
[
"#CE0000",
"#E79439",
"#EFC631",
"#6BA54A",
"#4A7B8C",
"#3984C6",
"#634AA5",
"#A54A7B",
],
[
"#9C0000",
"#B56308",
"#BD9400",
"#397B21",
"#104A5A",
"#085294",
"#311873",
"#731842",
],
[
"#630000",
"#7B3900",
"#846300",
"#295218",
"#083139",
"#003163",
"#21104A",
"#4A1031",
],
],
colorsName: [
[
"Black",
"Tundora",
"Dove Gray",
"Star Dust",
"Pale Slate",
"Gallery",
"Alabaster",
"White",
],
[
"Red",
"Orange Peel",
"Yellow",
"Green",
"Cyan",
"Blue",
"Electric Violet",
"Magenta",
],
[
"Azalea",
"Karry",
"Egg White",
"Zanah",
"Botticelli",
"Tropical Blue",
"Mischka",
"Twilight",
],
[
"Tonys Pink",
"Peach Orange",
"Cream Brulee",
"Sprout",
"Casper",
"Perano",
"Cold Purple",
"Careys Pink",
],
[
"Mandy",
"Rajah",
"Dandelion",
"Olivine",
"Gulf Stream",
"Viking",
"Blue Marguerite",
"Puce",
],
[
"Guardsman Red",
"Fire Bush",
"Golden Dream",
"Chelsea Cucumber",
"Smalt Blue",
"Boston Blue",
"Butterfly Bush",
"Cadillac",
],
[
"Sangria",
"Mai Tai",
"Buddha Gold",
"Forest Green",
"Eden",
"Venice Blue",
"Meteorite",
"Claret",
],
[
"Rosewood",
"Cinnamon",
"Olive",
"Parsley",
"Tiber",
"Midnight Blue",
"Valentino",
"Loulou",
],
],
colorButton: { foreColor: "#000000", backColor: "#FFFF00" },
lineHeights: ["1.0", "1.2", "1.4", "1.5", "1.6", "1.8", "2.0", "3.0"],
tableClassName: "table table-bordered",
insertTableMaxSize: { col: 10, row: 10 },
dialogsInBody: !1,
dialogsFade: !1,
maximumImageFileSize: null,
callbacks: {
onBeforeCommand: null,
onBlur: null,
onBlurCodeview: null,
onChange: null,
onChangeCodeview: null,
onDialogShown: null,
onEnter: null,
onFocus: null,
onImageLinkInsert: null,
onImageUpload: null,
onImageUploadError: null,
onInit: null,
onKeydown: null,
onKeyup: null,
onMousedown: null,
onMouseup: null,
onPaste: null,
onScroll: null,
},
codemirror: { mode: "text/html", htmlMode: !0, lineNumbers: !0 },
codeviewFilter: !1,
codeviewFilterRegex:
/<\/*(?:applet|b(?:ase|gsound|link)|embed|frame(?:set)?|ilayer|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|t(?:itle|extarea)|xml)[^>]*?>/gi,
codeviewIframeFilter: !0,
codeviewIframeWhitelistSrc: [],
codeviewIframeWhitelistSrcBase: [
"www.youtube.com",
"www.youtube-nocookie.com",
"www.facebook.com",
"vine.co",
"instagram.com",
"player.vimeo.com",
"www.dailymotion.com",
"player.youku.com",
"v.qq.com",
],
keyMap: {
pc: {
ESC: "escape",
ENTER: "insertParagraph",
"CTRL+Z": "undo",
"CTRL+Y": "redo",
TAB: "tab",
"SHIFT+TAB": "untab",
"CTRL+B": "bold",
"CTRL+I": "italic",
"CTRL+U": "underline",
"CTRL+SHIFT+S": "strikethrough",
"CTRL+BACKSLASH": "removeFormat",
"CTRL+SHIFT+L": "justifyLeft",
"CTRL+SHIFT+E": "justifyCenter",
"CTRL+SHIFT+R": "justifyRight",
"CTRL+SHIFT+J": "justifyFull",
"CTRL+SHIFT+NUM7": "insertUnorderedList",
"CTRL+SHIFT+NUM8": "insertOrderedList",
"CTRL+LEFTBRACKET": "outdent",
"CTRL+RIGHTBRACKET": "indent",
"CTRL+NUM0": "formatPara",
"CTRL+NUM1": "formatH1",
"CTRL+NUM2": "formatH2",
"CTRL+NUM3": "formatH3",
"CTRL+NUM4": "formatH4",
"CTRL+NUM5": "formatH5",
"CTRL+NUM6": "formatH6",
"CTRL+ENTER": "insertHorizontalRule",
"CTRL+K": "linkDialog.show",
},
mac: {
ESC: "escape",
ENTER: "insertParagraph",
"CMD+Z": "undo",
"CMD+SHIFT+Z": "redo",
TAB: "tab",
"SHIFT+TAB": "untab",
"CMD+B": "bold",
"CMD+I": "italic",
"CMD+U": "underline",
"CMD+SHIFT+S": "strikethrough",
"CMD+BACKSLASH": "removeFormat",
"CMD+SHIFT+L": "justifyLeft",
"CMD+SHIFT+E": "justifyCenter",
"CMD+SHIFT+R": "justifyRight",
"CMD+SHIFT+J": "justifyFull",
"CMD+SHIFT+NUM7": "insertUnorderedList",
"CMD+SHIFT+NUM8": "insertOrderedList",
"CMD+LEFTBRACKET": "outdent",
"CMD+RIGHTBRACKET": "indent",
"CMD+NUM0": "formatPara",
"CMD+NUM1": "formatH1",
"CMD+NUM2": "formatH2",
"CMD+NUM3": "formatH3",
"CMD+NUM4": "formatH4",
"CMD+NUM5": "formatH5",
"CMD+NUM6": "formatH6",
"CMD+ENTER": "insertHorizontalRule",
"CMD+K": "linkDialog.show",
},
},
icons: {
align: "note-icon-align",
alignCenter: "note-icon-align-center",
alignJustify: "note-icon-align-justify",
alignLeft: "note-icon-align-left",
alignRight: "note-icon-align-right",
rowBelow: "note-icon-row-below",
colBefore: "note-icon-col-before",
colAfter: "note-icon-col-after",
rowAbove: "note-icon-row-above",
rowRemove: "note-icon-row-remove",
colRemove: "note-icon-col-remove",
indent: "note-icon-align-indent",
outdent: "note-icon-align-outdent",
arrowsAlt: "note-icon-arrows-alt",
bold: "note-icon-bold",
caret: "",
circle: "note-icon-circle",
close: "note-icon-close",
code: "note-icon-code",
eraser: "note-icon-eraser",
floatLeft: "note-icon-float-left",
floatRight: "note-icon-float-right",
font: "note-icon-font",
frame: "note-icon-frame",
italic: "note-icon-italic",
link: "note-icon-link",
unlink: "note-icon-chain-broken",
magic: "note-icon-magic",
menuCheck: "note-icon-menu-check",
minus: "note-icon-minus",
orderedlist: "note-icon-orderedlist",
pencil: "note-icon-pencil",
picture: "note-icon-picture",
question: "note-icon-question",
redo: "note-icon-redo",
rollback: "note-icon-rollback",
square: "note-icon-square",
strikethrough: "note-icon-strikethrough",
subscript: "note-icon-subscript",
superscript: "note-icon-superscript",
table: "note-icon-table",
textHeight: "note-icon-text-height",
trash: "note-icon-trash",
underline: "note-icon-underline",
undo: "note-icon-undo",
unorderedlist: "note-icon-unorderedlist",
video: "note-icon-video",
},
},
});
},
51: function (t, e, n) {
"use strict";
n.r(e);
var o = n(0),
i = n.n(o),
r = n(1);
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) {
if (
((function (t, e) {
if (!(t instanceof e))
throw new TypeError("Cannot call a class as a function");
})(this, t),
(this.$node = e),
(this.options = i.a.extend(
{},
{
title: "",
target: n.container,
trigger: "hover focus",
placement: "bottom",
},
n
)),
(this.$tooltip = i()(
[
'<div class="note-tooltip">',
'<div class="note-tooltip-arrow"></div>',
'<div class="note-tooltip-content"></div>',
"</div>",
].join("")
)),
"manual" !== this.options.trigger)
) {
var o = this.show.bind(this),
r = this.hide.bind(this),
a = this.toggle.bind(this);
this.options.trigger.split(" ").forEach(function (t) {
"hover" === t
? (e.off("mouseenter mouseleave"),
e.on("mouseenter", o).on("mouseleave", r))
: "click" === t
? e.on("click", a)
: "focus" === t && e.on("focus", o).on("blur", r);
});
}
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "show",
value: function () {
var t = this.$node,
e = t.offset(),
n = i()(this.options.target).offset();
(e.top -= n.top), (e.left -= n.left);
var o = this.$tooltip,
r = this.options.title || t.attr("title") || t.data("title"),
a = this.options.placement || t.data("placement");
o.addClass(a),
o.find(".note-tooltip-content").text(r),
o.appendTo(this.options.target);
var s = t.outerWidth(),
l = t.outerHeight(),
c = o.outerWidth(),
u = o.outerHeight();
"bottom" === a
? o.css({ top: e.top + l, left: e.left + (s / 2 - c / 2) })
: "top" === a
? o.css({ top: e.top - u, left: e.left + (s / 2 - c / 2) })
: "left" === a
? o.css({ top: e.top + (l / 2 - u / 2), left: e.left - c })
: "right" === a &&
o.css({ top: e.top + (l / 2 - u / 2), left: e.left + s }),
o.addClass("in");
},
},
{
key: "hide",
value: function () {
var t = this;
this.$tooltip.removeClass("in"),
setTimeout(function () {
t.$tooltip.remove();
}, 200);
},
},
{
key: "toggle",
value: function () {
this.$tooltip.hasClass("in") ? this.hide() : this.show();
},
},
]) && a(e.prototype, n),
o && a(e, o),
t
);
})();
function l(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 c = (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.$button = e),
(this.options = i.a.extend({}, { target: n.container }, n)),
this.setEvent();
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "setEvent",
value: function () {
var t = this;
this.$button.on("click", function (e) {
t.toggle(), e.stopImmediatePropagation();
});
},
},
{
key: "clear",
value: function () {
var t = i()(".note-btn-group.open");
t.find(".note-btn.active").removeClass("active"),
t.removeClass("open");
},
},
{
key: "show",
value: function () {
this.$button.addClass("active"),
this.$button.parent().addClass("open");
var t = this.$button.next(),
e = t.offset(),
n = t.outerWidth(),
o = i()(window).width(),
r = parseFloat(i()(this.options.target).css("margin-right"));
e.left + n > o - r
? t.css("margin-left", o - r - (e.left + n))
: t.css("margin-left", "");
},
},
{
key: "hide",
value: function () {
this.$button.removeClass("active"),
this.$button.parent().removeClass("open");
},
},
{
key: "toggle",
value: function () {
var t = this.$button.parent().hasClass("open");
this.clear(), t ? this.hide() : this.show();
},
},
]) && l(e.prototype, n),
o && l(e, o),
t
);
})();
i()(document).on("click", function (t) {
i()(t.target).closest(".note-btn-group").length ||
(i()(".note-btn-group.open").removeClass("open"),
i()(".note-btn-group .note-btn.active").removeClass("active"));
}),
i()(document).on("click.note-dropdown-menu", function (t) {
i()(t.target)
.closest(".note-dropdown-menu")
.parent()
.removeClass("open"),
i()(t.target)
.closest(".note-dropdown-menu")
.parent()
.find(".note-btn.active")
.removeClass("active");
});
var u = c;
function d(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 h = (function () {
function t(e) {
!(function (t, e) {
if (!(t instanceof e))
throw new TypeError("Cannot call a class as a function");
})(this, t),
(this.$modal = e),
(this.$backdrop = i()('<div class="note-modal-backdrop"/>'));
}
var e, n, o;
return (
(e = t),
(n = [
{
key: "show",
value: function () {
var t = this;
this.$backdrop.appendTo(document.body).show(),
this.$modal.addClass("open").show(),
this.$modal.trigger("note.modal.show"),
this.$modal
.off("click", ".close")
.on("click", ".close", this.hide.bind(this)),
this.$modal.on("keydown", function (e) {
27 === e.which && (e.preventDefault(), t.hide());
});
},
},
{
key: "hide",
value: function () {
this.$modal.removeClass("open").hide(),
this.$backdrop.hide(),
this.$modal.trigger("note.modal.hide"),
this.$modal.off("keydown");
},
},
]) && d(e.prototype, n),
o && d(e, o),
t
);
})(),
f = r.a.create('<div class="note-editor note-frame"/>'),
p = r.a.create('<div class="note-toolbar" role="toolbar"/>'),
m = r.a.create('<div class="note-editing-area"/>'),
v = r.a.create(
'<textarea class="note-codable" aria-multiline="true"/>'
),
g = r.a.create(
'<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>'
),
b = r.a.create(
[
'<output class="note-status-output" role="status" aria-live="polite"></output>',
'<div class="note-statusbar" role="status">',
'<div class="note-resizebar" aria-label="resize">',
'<div class="note-icon-bar"></div>',
'<div class="note-icon-bar"></div>',
'<div class="note-icon-bar"></div>',
"</div>",
"</div>",
].join("")
),
k = r.a.create('<div class="note-editor note-airframe"/>'),
y = r.a.create(
[
'<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"></div>',
'<output class="note-status-output" role="status" aria-live="polite"></output>',
].join("")
),
w = r.a.create('<div class="note-btn-group">'),
C = r.a.create(
'<button type="button" class="note-btn" tabindex="-1">',
function (t, e) {
e &&
e.tooltip &&
(t.attr({ "aria-label": e.tooltip }),
t
.data(
"_lite_tooltip",
new s(t, { title: e.tooltip, container: e.container })
)
.on("click", function (t) {
i()(t.currentTarget).data("_lite_tooltip").hide();
})),
e.contents && t.html(e.contents),
e &&
e.data &&
"dropdown" === e.data.toggle &&
t.data("_lite_dropdown", new u(t, { container: e.container })),
e && e.codeviewKeepButton && t.addClass("note-codeview-keep");
}
),
x = r.a.create(
'<div class="note-dropdown-menu dropdown-menu" role="list">',
function (t, e) {
var n = Array.isArray(e.items)
? e.items.map(function (t) {
var n = "string" == typeof t ? t : t.value || "",
o = e.template ? e.template(t) : t,
r = i()(
'<a class="note-dropdown-item dropdown-item" href="#" data-value="' +
n +
'" role="listitem" aria-label="' +
n +
'"></a>'
);
return r.html(o).data("item", t), r;
})
: e.items;
t.html(n).attr({ "aria-label": e.title }),
t.on("click", "> .note-dropdown-item", function (t) {
var n = i()(this),
o = n.data("item"),
r = n.data("value");
o.click ? o.click(n) : e.itemClick && e.itemClick(t, o, r);
}),
e && e.codeviewKeepButton && t.addClass("note-codeview-keep");
}
),
S = r.a.create(
'<div class="note-dropdown-menu note-check dropdown-menu" role="list">',
function (t, e) {
var n = Array.isArray(e.items)
? e.items.map(function (t) {
var n = "string" == typeof t ? t : t.value || "",
o = e.template ? e.template(t) : t,
r = i()(
'<a class="note-dropdown-item dropdown-item" href="#" data-value="' +
n +
'" role="listitem" aria-label="' +
t +
'"></a>'
);
return (
r.html([z(e.checkClassName), " ", o]).data("item", t), r
);
})
: e.items;
t.html(n).attr({ "aria-label": e.title }),
t.on("click", "> .note-dropdown-item", function (t) {
var n = i()(this),
o = n.data("item"),
r = n.data("value");
o.click ? o.click(n) : e.itemClick && e.itemClick(t, o, r);
}),
e && e.codeviewKeepButton && t.addClass("note-codeview-keep");
}
),
T = function (t, e) {
return t + " " + z(e.icons.caret, "span");
},
E = function (t, e) {
return w(
[
C({
className: "dropdown-toggle",
contents: t.title + " " + z("note-icon-caret"),
tooltip: t.tooltip,
data: { toggle: "dropdown" },
}),
x({
className: t.className,
items: t.items,
template: t.template,
itemClick: t.itemClick,
}),
],
{ callback: e }
).render();
},
$ = function (t, e) {
return w(
[
C({
className: "dropdown-toggle",
contents: t.title + " " + z("note-icon-caret"),
tooltip: t.tooltip,
data: { toggle: "dropdown" },
}),
S({
className: t.className,
checkClassName: t.checkClassName,
items: t.items,
template: t.template,
itemClick: t.itemClick,
}),
],
{ callback: e }
).render();
},
N = function (t) {
return w([
C({
className: "dropdown-toggle",
contents: t.title + " " + z("note-icon-caret"),
tooltip: t.tooltip,
data: { toggle: "dropdown" },
}),
x([
w({ className: "note-align", children: t.items[0] }),
w({ className: "note-list", children: t.items[1] }),
]),
]).render();
},
I = function (t) {
return w(
[
C({
className: "dropdown-toggle",
contents: t.title + " " + z("note-icon-caret"),
tooltip: t.tooltip,
data: { toggle: "dropdown" },
}),
x({
className: "note-table",
items: [
'<div class="note-dimension-picker">',
'<div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"></div>',
'<div class="note-dimension-picker-highlighted"></div>',
'<div class="note-dimension-picker-unhighlighted"></div>',
"</div>",
'<div class="note-dimension-display">1 x 1</div>',
].join(""),
}),
],
{
callback: function (e) {
e.find(".note-dimension-picker-mousecatcher")
.css({ width: t.col + "em", height: t.row + "em" })
.mousedown(t.itemClick)
.mousemove(function (e) {
!(function (t, e, n) {
var o,
r = i()(t.target.parentNode),
a = r.next(),
s = r.find(".note-dimension-picker-mousecatcher"),
l = r.find(".note-dimension-picker-highlighted"),
c = r.find(".note-dimension-picker-unhighlighted");
if (void 0 === t.offsetX) {
var u = i()(t.target).offset();
o = { x: t.pageX - u.left, y: t.pageY - u.top };
} else o = { x: t.offsetX, y: t.offsetY };
var d = Math.ceil(o.x / 18) || 1,
h = Math.ceil(o.y / 18) || 1;
l.css({ width: d + "em", height: h + "em" }),
s.data("value", d + "x" + h),
d > 3 && d < e && c.css({ width: d + 1 + "em" }),
h > 3 && h < n && c.css({ height: h + 1 + "em" }),
a.html(d + " x " + h);
})(e, t.col, t.row);
});
},
}
).render();
},
P = r.a.create('<div class="note-color-palette"/>', function (t, e) {
for (var n = [], o = 0, r = e.colors.length; o < r; o++) {
for (
var a = e.eventName,
l = e.colors[o],
c = e.colorsName[o],
u = [],
d = 0,
h = l.length;
d < h;
d++
) {
var f = l[d],
p = c[d];
u.push(
[
'<button type="button" class="note-btn note-color-btn"',
'style="background-color:',
f,
'" ',
'data-event="',
a,
'" ',
'data-value="',
f,
'" ',
'data-title="',
p,
'" ',
'aria-label="',
p,
'" ',
'data-toggle="button" tabindex="-1"></button>',
].join("")
);
}
n.push('<div class="note-color-row">' + u.join("") + "</div>");
}
t.html(n.join("")),
t.find(".note-color-btn").each(function () {
i()(this).data(
"_lite_tooltip",
new s(i()(this), { container: e.container })
);
});
}),
R = function (t, e) {
return w({
className: "note-color",
children: [
C({
className: "note-current-color-button",
contents: t.title,
tooltip: t.lang.color.recent,
click: t.currentClick,
callback: function (t) {
var n = t.find(".note-recent-color");
"foreColor" !== e &&
(n.css("background-color", "#FFFF00"),
t.attr("data-backColor", "#FFFF00"));
},
}),
C({
className: "dropdown-toggle",
contents: z("note-icon-caret"),
tooltip: t.lang.color.more,
data: { toggle: "dropdown" },
}),
x({
items: [
"<div>",
'<div class="note-btn-group btn-background-color">',
'<div class="note-palette-title">' +
t.lang.color.background +
"</div>",
"<div>",
'<button type="button" class="note-color-reset note-btn note-btn-block" data-event="backColor" data-value="transparent">',
t.lang.color.transparent,
"</button>",
"</div>",
'<div class="note-holder" data-event="backColor"></div>',
'<div class="btn-sm">',
'<input type="color" id="html5bcp" class="note-btn btn-default" value="#21104A" style="width:100%;" data-value="cp">',
'<button type="button" class="note-color-reset btn" data-event="backColor" data-value="cpbackColor">',
t.lang.color.cpSelect,
"</button>",
"</div>",
"</div>",
'<div class="note-btn-group btn-foreground-color">',
'<div class="note-palette-title">' +
t.lang.color.foreground +
"</div>",
"<div>",
'<button type="button" class="note-color-reset note-btn note-btn-block" data-event="removeFormat" data-value="foreColor">',
t.lang.color.resetToDefault,
"</button>",
"</div>",
'<div class="note-holder" data-event="foreColor"></div>',
'<div class="btn-sm">',
'<input type="color" id="html5fcp" class="note-btn btn-default" value="#21104A" style="width:100%;" data-value="cp">',
'<button type="button" class="note-color-reset btn" data-event="foreColor" data-value="cpforeColor">',
t.lang.color.cpSelect,
"</button>",
"</div>",
"</div>",
"</div>",
].join(""),
callback: function (n) {
n.find(".note-holder").each(function () {
var e = i()(this);
e.append(
P({
colors: t.colors,
eventName: e.data("event"),
}).render()
);
}),
"fore" === e
? (n.find(".btn-background-color").hide(),
n.css({ "min-width": "210px" }))
: "back" === e &&
(n.find(".btn-foreground-color").hide(),
n.css({ "min-width": "210px" }));
},
click: function (n) {
var o = i()(n.target),
r = o.data("event"),
a = o.data("value"),
s = document.getElementById("html5fcp").value,
l = document.getElementById("html5bcp").value;
if (
("cp" === a
? n.stopPropagation()
: "cpbackColor" === a
? (a = l)
: "cpforeColor" === a && (a = s),
r && a)
) {
var c = "backColor" === r ? "background-color" : "color",
u = o.closest(".note-color").find(".note-recent-color"),
d = o
.closest(".note-color")
.find(".note-current-color-button");
u.css(c, a),
d.attr("data-" + r, a),
"fore" === e
? t.itemClick("foreColor", a)
: "back" === e
? t.itemClick("backColor", a)
: t.itemClick(r, a);
}
},
}),
],
}).render();
},
L = r.a.create(
'<div class="note-modal" aria-hidden="false" tabindex="-1" role="dialog"/>',
function (t, e) {
e.fade && t.addClass("fade"),
t.attr({ "aria-label": e.title }),
t.html(
[
'<div class="note-modal-content">',
e.title
? '<div class="note-modal-header"><button type="button" class="close" aria-label="Close" aria-hidden="true"><i class="note-icon-close"></i></button><h4 class="note-modal-title">' +
e.title +
"</h4></div>"
: "",
'<div class="note-modal-body">' + e.body + "</div>",
e.footer
? '<div class="note-modal-footer">' + e.footer + "</div>"
: "",
"</div>",
].join("")
),
t.data("modal", new h(t, e));
}
),
A = function (t) {
var e =
'<div class="note-form-group"><label for="note-dialog-video-url-' +
t.id +
'" class="note-form-label">' +
t.lang.video.url +
' <small class="text-muted">' +
t.lang.video.providers +
'</small></label><input id="note-dialog-video-url-' +
t.id +
'" class="note-video-url note-input" type="text"/></div>',
n = [
'<button type="button" href="#" class="note-btn note-btn-primary note-video-btn disabled" disabled>',
t.lang.video.insert,
"</button>",
].join("");
return L({
title: t.lang.video.insert,
fade: t.fade,
body: e,
footer: n,
}).render();
},
F = function (t) {
var e =
'<div class="note-form-group note-group-select-from-files"><label for="note-dialog-image-file-' +
t.id +
'" class="note-form-label">' +
t.lang.image.selectFromFiles +
'</label><input id="note-dialog-image-file-' +
t.id +
'" class="note-note-image-input note-input" type="file" name="files" accept="image/*" multiple="multiple"/>' +
t.imageLimitation +
'</div><div class="note-form-group"><label for="note-dialog-image-url-' +
t.id +
'" class="note-form-label">' +
t.lang.image.url +
'</label><input id="note-dialog-image-url-' +
t.id +
'" class="note-image-url note-input" type="text"/></div>',
n = [
'<button href="#" type="button" class="note-btn note-btn-primary note-btn-large note-image-btn disabled" disabled>',
t.lang.image.insert,
"</button>",
].join("");
return L({
title: t.lang.image.insert,
fade: t.fade,
body: e,
footer: n,
}).render();
},
D = function (t) {
var e =
'<div class="note-form-group"><label for="note-dialog-link-txt-' +
t.id +
'" class="note-form-label">' +
t.lang.link.textToDisplay +
'</label><input id="note-dialog-link-txt-' +
t.id +
'" class="note-link-text note-input" type="text"/></div><div class="note-form-group"><label for="note-dialog-link-url-' +
t.id +
'" class="note-form-label">' +
t.lang.link.url +
'</label><input id="note-dialog-link-url-' +
t.id +
'" class="note-link-url note-input" type="text" value="http://"/></div>' +
(t.disableLinkTarget
? ""
: '<div class="checkbox"><label for="note-dialog-link-nw-' +
t.id +
'"><input id="note-dialog-link-nw-' +
t.id +
'" type="checkbox" checked> ' +
t.lang.link.openInNewWindow +
"</label></div>") +
'<div class="checkbox"><label for="note-dialog-link-up-' +
t.id +
'"><input id="note-dialog-link-up-' +
t.id +
'" type="checkbox" checked> ' +
t.lang.link.useProtocol +
"</label></div>",
n = [
'<button href="#" type="button" class="note-btn note-btn-primary note-link-btn disabled" disabled>',
t.lang.link.insert,
"</button>",
].join("");
return L({
className: "link-dialog",
title: t.lang.link.insert,
fade: t.fade,
body: e,
footer: n,
}).render();
},
H = r.a.create(
[
'<div class="note-popover bottom">',
'<div class="note-popover-arrow"></div>',
'<div class="popover-content note-children-container"></div>',
"</div>",
].join(""),
function (t, e) {
var n = void 0 !== e.direction ? e.direction : "bottom";
t.addClass(n).hide(),
e.hideArrow && t.find(".note-popover-arrow").hide();
}
),
B = r.a.create('<div class="checkbox"></div>', function (t, e) {
t.html(
[
"<label" + (e.id ? ' for="note-' + e.id + '"' : "") + ">",
'<input role="checkbox" type="checkbox"' +
(e.id ? ' id="note-' + e.id + '"' : ""),
e.checked ? " checked" : "",
' aria-checked="' + (e.checked ? "true" : "false") + '"/>',
e.text ? e.text : "",
"</label>",
].join("")
);
}),
z = function (t, e) {
return "<" + (e = e || "i") + ' class="' + t + '"/>';
},
M = function (t) {
return {
editor: f,
toolbar: p,
editingArea: m,
codable: v,
editable: g,
statusbar: b,
airEditor: k,
airEditable: y,
buttonGroup: w,
button: C,
dropdown: x,
dropdownCheck: S,
dropdownButton: E,
dropdownButtonContents: T,
dropdownCheckButton: $,
paragraphDropdownButton: N,
tableDropdownButton: I,
colorDropdownButton: R,
palette: P,
dialog: L,
videoDialog: A,
imageDialog: F,
linkDialog: D,
popover: H,
checkbox: B,
icon: z,
options: t,
toggleBtn: function (t, e) {
t.toggleClass("disabled", !e), t.attr("disabled", !e);
},
toggleBtnActive: function (t, e) {
t.toggleClass("active", e);
},
check: function (t, e) {
t.find(".checked").removeClass("checked"),
t.find('[data-value="' + e + '"]').addClass("checked");
},
onDialogShown: function (t, e) {
t.one("note.modal.show", e);
},
onDialogHidden: function (t, e) {
t.one("note.modal.hide", e);
},
showDialog: function (t) {
t.data("modal").show();
},
hideDialog: function (t) {
t.data("modal").hide();
},
getPopoverContent: function (t) {
return t.find(".note-popover-content");
},
getDialogBody: function (t) {
return t.find(".note-modal-body");
},
createLayout: function (e) {
var n = (
t.airMode
? k([m([v(), y()])])
: "bottom" === t.toolbarPosition
? f([m([v(), g()]), p(), b()])
: f([p(), m([v(), g()]), b()])
).render();
return (
n.insertAfter(e),
{
note: e,
editor: n,
toolbar: n.find(".note-toolbar"),
editingArea: n.find(".note-editing-area"),
editable: n.find(".note-editable"),
codable: n.find(".note-codable"),
statusbar: n.find(".note-statusbar"),
}
);
},
removeLayout: function (t, e) {
t.html(e.editable.html()),
e.editor.remove(),
t.off("summernote"),
t.show();
},
};
};
n(3), n(6);
i.a.summernote = i.a.extend(i.a.summernote, {
ui_template: M,
interface: "lite",
});
},
6: function (t, e, n) {},
});
});
//# sourceMappingURL=summernote-lite.min.js.map