Umbraco 7.15.3

This commit is contained in:
2019-11-23 21:51:02 -05:00
parent 7e9bd9ee5b
commit 866cfa29d7
219 changed files with 66394 additions and 66487 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,5 +1,4 @@
ace.define("ace/snippets/javascript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Prototype\nsnippet proto\n ${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {\n ${4:// body...}\n };\n# Function\nsnippet fun\n function ${1?:function_name}(${2:argument}) {\n ${3:// body...}\n }\n# Anonymous Function\nregex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/\nsnippet f\n function${M1?: ${1:functionName}}($2) {\n ${0:$TM_SELECTED_TEXT}\n }${M2?;}${M3?,}${M4?)}\n# Immediate function\ntrigger \\(?f\\(\nendTrigger \\)?\nsnippet f(\n (function(${1}) {\n ${0:${TM_SELECTED_TEXT:/* code */}}\n }(${1}));\n# if\nsnippet if\n if (${1:true}) {\n ${0}\n }\n# if ... else\nsnippet ife\n if (${1:true}) {\n ${2}\n } else {\n ${0}\n }\n# tertiary conditional\nsnippet ter\n ${1:/* condition */} ? ${2:a} : ${3:b}\n# switch\nsnippet switch\n switch (${1:expression}) {\n case \'${3:case}\':\n ${4:// code}\n break;\n ${5}\n default:\n ${2:// code}\n }\n# case\nsnippet case\n case \'${1:case}\':\n ${2:// code}\n break;\n ${3}\n\n# while (...) {...}\nsnippet wh\n while (${1:/* condition */}) {\n ${0:/* code */}\n }\n# try\nsnippet try\n try {\n ${0:/* code */}\n } catch (e) {}\n# do...while\nsnippet do\n do {\n ${2:/* code */}\n } while (${1:/* condition */});\n# Object Method\nsnippet :f\nregex /([,{[])|^\\s*/:f/\n ${1:method_name}: function(${2:attribute}) {\n ${0}\n }${3:,}\n# setTimeout function\nsnippet setTimeout\nregex /\\b/st|timeout|setTimeo?u?t?/\n setTimeout(function() {${3:$TM_SELECTED_TEXT}}, ${1:10});\n# Get Elements\nsnippet gett\n getElementsBy${1:TagName}(\'${2}\')${3}\n# Get Element\nsnippet get\n getElementBy${1:Id}(\'${2}\')${3}\n# console.log (Firebug)\nsnippet cl\n console.log(${1});\n# return\nsnippet ret\n return ${1:result}\n# for (property in object ) { ... }\nsnippet fori\n for (var ${1:prop} in ${2:Things}) {\n ${0:$2[$1]}\n }\n# hasOwnProperty\nsnippet has\n hasOwnProperty(${1})\n# docstring\nsnippet /**\n /**\n * ${1:description}\n *\n */\nsnippet @par\nregex /^\\s*\\*\\s*/@(para?m?)?/\n @param {${1:type}} ${2:name} ${3:description}\nsnippet @ret\n @return {${1:type}} ${2:description}\n# JSON.parse\nsnippet jsonp\n JSON.parse(${1:jstr});\n# JSON.stringify\nsnippet jsons\n JSON.stringify(${1:object});\n# self-defining function\nsnippet sdf\n var ${1:function_name} = function(${2:argument}) {\n ${3:// initial code ...}\n\n $1 = function($2) {\n ${4:// main code}\n };\n }\n# singleton\nsnippet sing\n function ${1:Singleton} (${2:argument}) {\n // the cached instance\n var instance;\n\n // rewrite the constructor\n $1 = function $1($2) {\n return instance;\n };\n \n // carry over the prototype properties\n $1.prototype = this;\n\n // the instance\n instance = new $1();\n\n // reset the constructor pointer\n instance.constructor = $1;\n\n ${3:// code ...}\n\n return instance;\n }\n# class\nsnippet class\nregex /^\\s*/clas{0,2}/\n var ${1:class} = function(${20}) {\n $40$0\n };\n \n (function() {\n ${60:this.prop = ""}\n }).call(${1:class}.prototype);\n \n exports.${1:class} = ${1:class};\n# \nsnippet for-\n for (var ${1:i} = ${2:Things}.length; ${1:i}--; ) {\n ${0:${2:Things}[${1:i}];}\n }\n# for (...) {...}\nsnippet for\n for (var ${1:i} = 0; $1 < ${2:Things}.length; $1++) {\n ${3:$2[$1]}$0\n }\n# for (...) {...} (Improved Native For-Loop)\nsnippet forr\n for (var ${1:i} = ${2:Things}.length - 1; $1 >= 0; $1--) {\n ${3:$2[$1]}$0\n }\n\n\n#modules\nsnippet def\n define(function(require, exports, module) {\n "use strict";\n var ${1/.*\\///} = require("${1}");\n \n $TM_SELECTED_TEXT\n });\nsnippet req\nguard ^\\s*\n var ${1/.*\\///} = require("${1}");\n $0\nsnippet requ\nguard ^\\s*\n var ${1/.*\\/(.)/\\u$1/} = require("${1}").${1/.*\\/(.)/\\u$1/};\n $0\n',t.scope="javascript"});
(function() {
ace.define("ace/snippets/javascript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Prototype\nsnippet proto\n ${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {\n ${4:// body...}\n };\n# Function\nsnippet fun\n function ${1?:function_name}(${2:argument}) {\n ${3:// body...}\n }\n# Anonymous Function\nregex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/\nsnippet f\n function${M1?: ${1:functionName}}($2) {\n ${0:$TM_SELECTED_TEXT}\n }${M2?;}${M3?,}${M4?)}\n# Immediate function\ntrigger \\(?f\\(\nendTrigger \\)?\nsnippet f(\n (function(${1}) {\n ${0:${TM_SELECTED_TEXT:/* code */}}\n }(${1}));\n# if\nsnippet if\n if (${1:true}) {\n ${0}\n }\n# if ... else\nsnippet ife\n if (${1:true}) {\n ${2}\n } else {\n ${0}\n }\n# tertiary conditional\nsnippet ter\n ${1:/* condition */} ? ${2:a} : ${3:b}\n# switch\nsnippet switch\n switch (${1:expression}) {\n case \'${3:case}\':\n ${4:// code}\n break;\n ${5}\n default:\n ${2:// code}\n }\n# case\nsnippet case\n case \'${1:case}\':\n ${2:// code}\n break;\n ${3}\n\n# while (...) {...}\nsnippet wh\n while (${1:/* condition */}) {\n ${0:/* code */}\n }\n# try\nsnippet try\n try {\n ${0:/* code */}\n } catch (e) {}\n# do...while\nsnippet do\n do {\n ${2:/* code */}\n } while (${1:/* condition */});\n# Object Method\nsnippet :f\nregex /([,{[])|^\\s*/:f/\n ${1:method_name}: function(${2:attribute}) {\n ${0}\n }${3:,}\n# setTimeout function\nsnippet setTimeout\nregex /\\b/st|timeout|setTimeo?u?t?/\n setTimeout(function() {${3:$TM_SELECTED_TEXT}}, ${1:10});\n# Get Elements\nsnippet gett\n getElementsBy${1:TagName}(\'${2}\')${3}\n# Get Element\nsnippet get\n getElementBy${1:Id}(\'${2}\')${3}\n# console.log (Firebug)\nsnippet cl\n console.log(${1});\n# return\nsnippet ret\n return ${1:result}\n# for (property in object ) { ... }\nsnippet fori\n for (var ${1:prop} in ${2:Things}) {\n ${0:$2[$1]}\n }\n# hasOwnProperty\nsnippet has\n hasOwnProperty(${1})\n# docstring\nsnippet /**\n /**\n * ${1:description}\n *\n */\nsnippet @par\nregex /^\\s*\\*\\s*/@(para?m?)?/\n @param {${1:type}} ${2:name} ${3:description}\nsnippet @ret\n @return {${1:type}} ${2:description}\n# JSON.parse\nsnippet jsonp\n JSON.parse(${1:jstr});\n# JSON.stringify\nsnippet jsons\n JSON.stringify(${1:object});\n# self-defining function\nsnippet sdf\n var ${1:function_name} = function(${2:argument}) {\n ${3:// initial code ...}\n\n $1 = function($2) {\n ${4:// main code}\n };\n }\n# singleton\nsnippet sing\n function ${1:Singleton} (${2:argument}) {\n // the cached instance\n var instance;\n\n // rewrite the constructor\n $1 = function $1($2) {\n return instance;\n };\n \n // carry over the prototype properties\n $1.prototype = this;\n\n // the instance\n instance = new $1();\n\n // reset the constructor pointer\n instance.constructor = $1;\n\n ${3:// code ...}\n\n return instance;\n }\n# class\nsnippet class\nregex /^\\s*/clas{0,2}/\n var ${1:class} = function(${20}) {\n $40$0\n };\n \n (function() {\n ${60:this.prop = ""}\n }).call(${1:class}.prototype);\n \n exports.${1:class} = ${1:class};\n# \nsnippet for-\n for (var ${1:i} = ${2:Things}.length; ${1:i}--; ) {\n ${0:${2:Things}[${1:i}];}\n }\n# for (...) {...}\nsnippet for\n for (var ${1:i} = 0; $1 < ${2:Things}.length; $1++) {\n ${3:$2[$1]}$0\n }\n# for (...) {...} (Improved Native For-Loop)\nsnippet forr\n for (var ${1:i} = ${2:Things}.length - 1; $1 >= 0; $1--) {\n ${3:$2[$1]}$0\n }\n\n\n#modules\nsnippet def\n define(function(require, exports, module) {\n "use strict";\n var ${1/.*\\///} = require("${1}");\n \n $TM_SELECTED_TEXT\n });\nsnippet req\nguard ^\\s*\n var ${1/.*\\///} = require("${1}");\n $0\nsnippet requ\nguard ^\\s*\n var ${1/.*\\/(.)/\\u$1/} = require("${1}").${1/.*\\/(.)/\\u$1/};\n $0\n',t.scope="javascript"}); (function() {
ace.require(["ace/snippets/javascript"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
@@ -1,5 +1,4 @@
ace.define("ace/snippets/text",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="",t.scope="text"});
(function() {
ace.define("ace/snippets/text",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="text"}); (function() {
ace.require(["ace/snippets/text"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
@@ -1,5 +1,4 @@
ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)});
(function() {
ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() {
ace.require(["ace/theme/chrome"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 280 KiB

After

Width:  |  Height:  |  Size: 434 KiB

@@ -1,160 +1,160 @@
(function () {
var advlist = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var applyListFormat = function (editor, listName, styleValue) {
var cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';
editor.execCommand(cmd, false, styleValue === false ? null : { 'list-style-type': styleValue });
};
var $_fdwamj82jh8lpuc2 = { applyListFormat: applyListFormat };
var register = function (editor) {
editor.addCommand('ApplyUnorderedListStyle', function (ui, value) {
$_fdwamj82jh8lpuc2.applyListFormat(editor, 'UL', value['list-style-type']);
});
editor.addCommand('ApplyOrderedListStyle', function (ui, value) {
$_fdwamj82jh8lpuc2.applyListFormat(editor, 'OL', value['list-style-type']);
});
};
var $_1rj6rj81jh8lpuc0 = { register: register };
var getNumberStyles = function (editor) {
var styles = editor.getParam('advlist_number_styles', 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman');
return styles ? styles.split(/[ ,]/) : [];
};
var getBulletStyles = function (editor) {
var styles = editor.getParam('advlist_bullet_styles', 'default,circle,disc,square');
return styles ? styles.split(/[ ,]/) : [];
};
var $_1c19wf84jh8lpuc8 = {
getNumberStyles: getNumberStyles,
getBulletStyles: getBulletStyles
};
var isChildOfBody = function (editor, elm) {
return editor.$.contains(editor.getBody(), elm);
};
var isTableCellNode = function (node) {
return node && /^(TH|TD)$/.test(node.nodeName);
};
var isListNode = function (editor) {
return function (node) {
return node && /^(OL|UL|DL)$/.test(node.nodeName) && isChildOfBody(editor, node);
var applyListFormat = function (editor, listName, styleValue) {
var cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';
editor.execCommand(cmd, false, styleValue === false ? null : { 'list-style-type': styleValue });
};
};
var getSelectedStyleType = function (editor) {
var listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');
return editor.dom.getStyle(listElm, 'listStyleType') || '';
};
var $_1dfrak85jh8lpuc9 = {
isTableCellNode: isTableCellNode,
isListNode: isListNode,
getSelectedStyleType: getSelectedStyleType
};
var Actions = { applyListFormat: applyListFormat };
var styleValueToText = function (styleValue) {
return styleValue.replace(/\-/g, ' ').replace(/\b\w/g, function (chr) {
return chr.toUpperCase();
});
};
var toMenuItems = function (styles) {
return global$1.map(styles, function (styleValue) {
var text = styleValueToText(styleValue);
var data = styleValue === 'default' ? '' : styleValue;
return {
text: text,
data: data
var register = function (editor) {
editor.addCommand('ApplyUnorderedListStyle', function (ui, value) {
Actions.applyListFormat(editor, 'UL', value['list-style-type']);
});
editor.addCommand('ApplyOrderedListStyle', function (ui, value) {
Actions.applyListFormat(editor, 'OL', value['list-style-type']);
});
};
var Commands = { register: register };
var getNumberStyles = function (editor) {
var styles = editor.getParam('advlist_number_styles', 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman');
return styles ? styles.split(/[ ,]/) : [];
};
var getBulletStyles = function (editor) {
var styles = editor.getParam('advlist_bullet_styles', 'default,circle,disc,square');
return styles ? styles.split(/[ ,]/) : [];
};
var Settings = {
getNumberStyles: getNumberStyles,
getBulletStyles: getBulletStyles
};
var isChildOfBody = function (editor, elm) {
return editor.$.contains(editor.getBody(), elm);
};
var isTableCellNode = function (node) {
return node && /^(TH|TD)$/.test(node.nodeName);
};
var isListNode = function (editor) {
return function (node) {
return node && /^(OL|UL|DL)$/.test(node.nodeName) && isChildOfBody(editor, node);
};
});
};
var $_et29hm86jh8lpucb = { toMenuItems: toMenuItems };
};
var getSelectedStyleType = function (editor) {
var listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');
return editor.dom.getStyle(listElm, 'listStyleType') || '';
};
var ListUtils = {
isTableCellNode: isTableCellNode,
isListNode: isListNode,
getSelectedStyleType: getSelectedStyleType
};
var findIndex = function (list, predicate) {
for (var index = 0; index < list.length; index++) {
var element = list[index];
if (predicate(element)) {
return index;
}
}
return -1;
};
var listState = function (editor, listName) {
return function (e) {
var ctrl = e.control;
editor.on('NodeChange', function (e) {
var tableCellIndex = findIndex(e.parents, $_1dfrak85jh8lpuc9.isTableCellNode);
var parents = tableCellIndex !== -1 ? e.parents.slice(0, tableCellIndex) : e.parents;
var lists = global$1.grep(parents, $_1dfrak85jh8lpuc9.isListNode(editor));
ctrl.active(lists.length > 0 && lists[0].nodeName === listName);
var styleValueToText = function (styleValue) {
return styleValue.replace(/\-/g, ' ').replace(/\b\w/g, function (chr) {
return chr.toUpperCase();
});
};
};
var updateSelection = function (editor) {
return function (e) {
var listStyleType = $_1dfrak85jh8lpuc9.getSelectedStyleType(editor);
e.control.items().each(function (ctrl) {
ctrl.active(ctrl.settings.data === listStyleType);
var toMenuItems = function (styles) {
return global$1.map(styles, function (styleValue) {
var text = styleValueToText(styleValue);
var data = styleValue === 'default' ? '' : styleValue;
return {
text: text,
data: data
};
});
};
};
var addSplitButton = function (editor, id, tooltip, cmd, nodeName, styles) {
editor.addButton(id, {
active: false,
type: 'splitbutton',
tooltip: tooltip,
menu: $_et29hm86jh8lpucb.toMenuItems(styles),
onPostRender: listState(editor, nodeName),
onshow: updateSelection(editor),
onselect: function (e) {
$_fdwamj82jh8lpuc2.applyListFormat(editor, nodeName, e.control.settings.data);
},
onclick: function () {
editor.execCommand(cmd);
}
});
};
var addButton = function (editor, id, tooltip, cmd, nodeName, styles) {
editor.addButton(id, {
active: false,
type: 'button',
tooltip: tooltip,
onPostRender: listState(editor, nodeName),
onclick: function () {
editor.execCommand(cmd);
}
});
};
var addControl = function (editor, id, tooltip, cmd, nodeName, styles) {
if (styles.length > 0) {
addSplitButton(editor, id, tooltip, cmd, nodeName, styles);
} else {
addButton(editor, id, tooltip, cmd, nodeName, styles);
}
};
var register$1 = function (editor) {
addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', $_1c19wf84jh8lpuc8.getNumberStyles(editor));
addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', $_1c19wf84jh8lpuc8.getBulletStyles(editor));
};
var $_4t8tbw83jh8lpuc4 = { register: register$1 };
var ListStyles = { toMenuItems: toMenuItems };
global.add('advlist', function (editor) {
var hasPlugin = function (editor, plugin) {
var plugins = editor.settings.plugins ? editor.settings.plugins : '';
return global$1.inArray(plugins.split(/[ ,]/), plugin) !== -1;
var findIndex = function (list, predicate) {
for (var index = 0; index < list.length; index++) {
var element = list[index];
if (predicate(element)) {
return index;
}
}
return -1;
};
if (hasPlugin(editor, 'lists')) {
$_4t8tbw83jh8lpuc4.register(editor);
$_1rj6rj81jh8lpuc0.register(editor);
}
});
function Plugin () {
}
var listState = function (editor, listName) {
return function (e) {
var ctrl = e.control;
editor.on('NodeChange', function (e) {
var tableCellIndex = findIndex(e.parents, ListUtils.isTableCellNode);
var parents = tableCellIndex !== -1 ? e.parents.slice(0, tableCellIndex) : e.parents;
var lists = global$1.grep(parents, ListUtils.isListNode(editor));
ctrl.active(lists.length > 0 && lists[0].nodeName === listName);
});
};
};
var updateSelection = function (editor) {
return function (e) {
var listStyleType = ListUtils.getSelectedStyleType(editor);
e.control.items().each(function (ctrl) {
ctrl.active(ctrl.settings.data === listStyleType);
});
};
};
var addSplitButton = function (editor, id, tooltip, cmd, nodeName, styles) {
editor.addButton(id, {
active: false,
type: 'splitbutton',
tooltip: tooltip,
menu: ListStyles.toMenuItems(styles),
onPostRender: listState(editor, nodeName),
onshow: updateSelection(editor),
onselect: function (e) {
Actions.applyListFormat(editor, nodeName, e.control.settings.data);
},
onclick: function () {
editor.execCommand(cmd);
}
});
};
var addButton = function (editor, id, tooltip, cmd, nodeName, styles) {
editor.addButton(id, {
active: false,
type: 'button',
tooltip: tooltip,
onPostRender: listState(editor, nodeName),
onclick: function () {
editor.execCommand(cmd);
}
});
};
var addControl = function (editor, id, tooltip, cmd, nodeName, styles) {
if (styles.length > 0) {
addSplitButton(editor, id, tooltip, cmd, nodeName, styles);
} else {
addButton(editor, id, tooltip, cmd, nodeName);
}
};
var register$1 = function (editor) {
addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', Settings.getNumberStyles(editor));
addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', Settings.getBulletStyles(editor));
};
var Buttons = { register: register$1 };
return Plugin;
global.add('advlist', function (editor) {
var hasPlugin = function (editor, plugin) {
var plugins = editor.settings.plugins ? editor.settings.plugins : '';
return global$1.inArray(plugins.split(/[ ,]/), plugin) !== -1;
};
if (hasPlugin(editor, 'lists')) {
Buttons.register(editor);
Commands.register(editor);
}
});
function Plugin () {
}
return Plugin;
}());
})();
@@ -1,118 +1,118 @@
(function () {
var anchor = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var isValidId = function (id) {
return /^[A-Za-z][A-Za-z0-9\-:._]*$/.test(id);
};
var getId = function (editor) {
var selectedNode = editor.selection.getNode();
var isAnchor = selectedNode.tagName === 'A' && editor.dom.getAttrib(selectedNode, 'href') === '';
return isAnchor ? selectedNode.id || selectedNode.name : '';
};
var insert = function (editor, id) {
var selectedNode = editor.selection.getNode();
var isAnchor = selectedNode.tagName === 'A' && editor.dom.getAttrib(selectedNode, 'href') === '';
if (isAnchor) {
selectedNode.removeAttribute('name');
selectedNode.id = id;
editor.undoManager.add();
} else {
editor.focus();
editor.selection.collapse(true);
editor.execCommand('mceInsertContent', false, editor.dom.createHTML('a', { id: id }));
}
};
var $_8muarh8bjh8lpucu = {
isValidId: isValidId,
getId: getId,
insert: insert
};
var insertAnchor = function (editor, newId) {
if (!$_8muarh8bjh8lpucu.isValidId(newId)) {
editor.windowManager.alert('Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.');
return true;
} else {
$_8muarh8bjh8lpucu.insert(editor, newId);
return false;
}
};
var open = function (editor) {
var currentId = $_8muarh8bjh8lpucu.getId(editor);
editor.windowManager.open({
title: 'Anchor',
body: {
type: 'textbox',
name: 'id',
size: 40,
label: 'Id',
value: currentId
},
onsubmit: function (e) {
var newId = e.data.id;
if (insertAnchor(editor, newId)) {
e.preventDefault();
}
}
});
};
var $_ghc7qg8ajh8lpucs = { open: open };
var register = function (editor) {
editor.addCommand('mceAnchor', function () {
$_ghc7qg8ajh8lpucs.open(editor);
});
};
var $_60epor89jh8lpucr = { register: register };
var isAnchorNode = function (node) {
return !node.attr('href') && (node.attr('id') || node.attr('name')) && !node.firstChild;
};
var setContentEditable = function (state) {
return function (nodes) {
for (var i = 0; i < nodes.length; i++) {
if (isAnchorNode(nodes[i])) {
nodes[i].attr('contenteditable', state);
}
var isValidId = function (id) {
return /^[A-Za-z][A-Za-z0-9\-:._]*$/.test(id);
};
var getId = function (editor) {
var selectedNode = editor.selection.getNode();
var isAnchor = selectedNode.tagName === 'A' && editor.dom.getAttrib(selectedNode, 'href') === '';
return isAnchor ? selectedNode.id || selectedNode.name : '';
};
var insert = function (editor, id) {
var selectedNode = editor.selection.getNode();
var isAnchor = selectedNode.tagName === 'A' && editor.dom.getAttrib(selectedNode, 'href') === '';
if (isAnchor) {
selectedNode.removeAttribute('name');
selectedNode.id = id;
editor.undoManager.add();
} else {
editor.focus();
editor.selection.collapse(true);
editor.execCommand('mceInsertContent', false, editor.dom.createHTML('a', { id: id }));
}
};
};
var setup = function (editor) {
editor.on('PreInit', function () {
editor.parser.addNodeFilter('a', setContentEditable('false'));
editor.serializer.addNodeFilter('a', setContentEditable(null));
});
};
var $_etc1gj8cjh8lpucv = { setup: setup };
var Anchor = {
isValidId: isValidId,
getId: getId,
insert: insert
};
var register$1 = function (editor) {
editor.addButton('anchor', {
icon: 'anchor',
tooltip: 'Anchor',
cmd: 'mceAnchor',
stateSelector: 'a:not([href])'
});
editor.addMenuItem('anchor', {
icon: 'anchor',
text: 'Anchor',
context: 'insert',
cmd: 'mceAnchor'
});
};
var $_6ikf18djh8lpucw = { register: register$1 };
var insertAnchor = function (editor, newId) {
if (!Anchor.isValidId(newId)) {
editor.windowManager.alert('Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.');
return true;
} else {
Anchor.insert(editor, newId);
return false;
}
};
var open = function (editor) {
var currentId = Anchor.getId(editor);
editor.windowManager.open({
title: 'Anchor',
body: {
type: 'textbox',
name: 'id',
size: 40,
label: 'Id',
value: currentId
},
onsubmit: function (e) {
var newId = e.data.id;
if (insertAnchor(editor, newId)) {
e.preventDefault();
}
}
});
};
var Dialog = { open: open };
global.add('anchor', function (editor) {
$_etc1gj8cjh8lpucv.setup(editor);
$_60epor89jh8lpucr.register(editor);
$_6ikf18djh8lpucw.register(editor);
});
function Plugin () {
}
var register = function (editor) {
editor.addCommand('mceAnchor', function () {
Dialog.open(editor);
});
};
var Commands = { register: register };
return Plugin;
var isAnchorNode = function (node) {
return !node.attr('href') && (node.attr('id') || node.attr('name')) && !node.firstChild;
};
var setContentEditable = function (state) {
return function (nodes) {
for (var i = 0; i < nodes.length; i++) {
if (isAnchorNode(nodes[i])) {
nodes[i].attr('contenteditable', state);
}
}
};
};
var setup = function (editor) {
editor.on('PreInit', function () {
editor.parser.addNodeFilter('a', setContentEditable('false'));
editor.serializer.addNodeFilter('a', setContentEditable(null));
});
};
var FilterContent = { setup: setup };
var register$1 = function (editor) {
editor.addButton('anchor', {
icon: 'anchor',
tooltip: 'Anchor',
cmd: 'mceAnchor',
stateSelector: 'a:not([href])'
});
editor.addMenuItem('anchor', {
icon: 'anchor',
text: 'Anchor',
context: 'insert',
cmd: 'mceAnchor'
});
};
var Buttons = { register: register$1 };
global.add('anchor', function (editor) {
FilterContent.setup(editor);
Commands.register(editor);
Buttons.register(editor);
});
function Plugin () {
}
return Plugin;
}());
})();
@@ -1,180 +1,180 @@
(function () {
var autolink = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
var getAutoLinkPattern = function (editor) {
return editor.getParam('autolink_pattern', /^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i);
};
var getDefaultLinkTarget = function (editor) {
return editor.getParam('default_link_target', '');
};
var $_4bcsa48ijh8lpudd = {
getAutoLinkPattern: getAutoLinkPattern,
getDefaultLinkTarget: getDefaultLinkTarget
};
var getAutoLinkPattern = function (editor) {
return editor.getParam('autolink_pattern', /^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i);
};
var getDefaultLinkTarget = function (editor) {
return editor.getParam('default_link_target', '');
};
var Settings = {
getAutoLinkPattern: getAutoLinkPattern,
getDefaultLinkTarget: getDefaultLinkTarget
};
var rangeEqualsDelimiterOrSpace = function (rangeString, delimiter) {
return rangeString === delimiter || rangeString === ' ' || rangeString.charCodeAt(0) === 160;
};
var handleEclipse = function (editor) {
parseCurrentLine(editor, -1, '(');
};
var handleSpacebar = function (editor) {
parseCurrentLine(editor, 0, '');
};
var handleEnter = function (editor) {
parseCurrentLine(editor, -1, '');
};
var scopeIndex = function (container, index) {
if (index < 0) {
index = 0;
}
if (container.nodeType === 3) {
var len = container.data.length;
if (index > len) {
index = len;
var rangeEqualsDelimiterOrSpace = function (rangeString, delimiter) {
return rangeString === delimiter || rangeString === ' ' || rangeString.charCodeAt(0) === 160;
};
var handleEclipse = function (editor) {
parseCurrentLine(editor, -1, '(');
};
var handleSpacebar = function (editor) {
parseCurrentLine(editor, 0, '');
};
var handleEnter = function (editor) {
parseCurrentLine(editor, -1, '');
};
var scopeIndex = function (container, index) {
if (index < 0) {
index = 0;
}
}
return index;
};
var setStart = function (rng, container, offset) {
if (container.nodeType !== 1 || container.hasChildNodes()) {
rng.setStart(container, scopeIndex(container, offset));
} else {
rng.setStartBefore(container);
}
};
var setEnd = function (rng, container, offset) {
if (container.nodeType !== 1 || container.hasChildNodes()) {
rng.setEnd(container, scopeIndex(container, offset));
} else {
rng.setEndAfter(container);
}
};
var parseCurrentLine = function (editor, endOffset, delimiter) {
var rng, end, start, endContainer, bookmark, text, matches, prev, len, rngText;
var autoLinkPattern = $_4bcsa48ijh8lpudd.getAutoLinkPattern(editor);
var defaultLinkTarget = $_4bcsa48ijh8lpudd.getDefaultLinkTarget(editor);
if (editor.selection.getNode().tagName === 'A') {
return;
}
rng = editor.selection.getRng(true).cloneRange();
if (rng.startOffset < 5) {
prev = rng.endContainer.previousSibling;
if (!prev) {
if (!rng.endContainer.firstChild || !rng.endContainer.firstChild.nextSibling) {
return;
if (container.nodeType === 3) {
var len = container.data.length;
if (index > len) {
index = len;
}
prev = rng.endContainer.firstChild.nextSibling;
}
len = prev.length;
setStart(rng, prev, len);
setEnd(rng, prev, len);
if (rng.endOffset < 5) {
return index;
};
var setStart = function (rng, container, offset) {
if (container.nodeType !== 1 || container.hasChildNodes()) {
rng.setStart(container, scopeIndex(container, offset));
} else {
rng.setStartBefore(container);
}
};
var setEnd = function (rng, container, offset) {
if (container.nodeType !== 1 || container.hasChildNodes()) {
rng.setEnd(container, scopeIndex(container, offset));
} else {
rng.setEndAfter(container);
}
};
var parseCurrentLine = function (editor, endOffset, delimiter) {
var rng, end, start, endContainer, bookmark, text, matches, prev, len, rngText;
var autoLinkPattern = Settings.getAutoLinkPattern(editor);
var defaultLinkTarget = Settings.getDefaultLinkTarget(editor);
if (editor.selection.getNode().tagName === 'A') {
return;
}
end = rng.endOffset;
endContainer = prev;
} else {
endContainer = rng.endContainer;
if (endContainer.nodeType !== 3 && endContainer.firstChild) {
while (endContainer.nodeType !== 3 && endContainer.firstChild) {
endContainer = endContainer.firstChild;
rng = editor.selection.getRng(true).cloneRange();
if (rng.startOffset < 5) {
prev = rng.endContainer.previousSibling;
if (!prev) {
if (!rng.endContainer.firstChild || !rng.endContainer.firstChild.nextSibling) {
return;
}
prev = rng.endContainer.firstChild.nextSibling;
}
if (endContainer.nodeType === 3) {
setStart(rng, endContainer, 0);
setEnd(rng, endContainer, endContainer.nodeValue.length);
len = prev.length;
setStart(rng, prev, len);
setEnd(rng, prev, len);
if (rng.endOffset < 5) {
return;
}
}
if (rng.endOffset === 1) {
end = 2;
end = rng.endOffset;
endContainer = prev;
} else {
end = rng.endOffset - 1 - endOffset;
}
}
start = end;
do {
setStart(rng, endContainer, end >= 2 ? end - 2 : 0);
setEnd(rng, endContainer, end >= 1 ? end - 1 : 0);
end -= 1;
rngText = rng.toString();
} while (rngText !== ' ' && rngText !== '' && rngText.charCodeAt(0) !== 160 && end - 2 >= 0 && rngText !== delimiter);
if (rangeEqualsDelimiterOrSpace(rng.toString(), delimiter)) {
setStart(rng, endContainer, end);
setEnd(rng, endContainer, start);
end += 1;
} else if (rng.startOffset === 0) {
setStart(rng, endContainer, 0);
setEnd(rng, endContainer, start);
} else {
setStart(rng, endContainer, end);
setEnd(rng, endContainer, start);
}
text = rng.toString();
if (text.charAt(text.length - 1) === '.') {
setEnd(rng, endContainer, start - 1);
}
text = rng.toString().trim();
matches = text.match(autoLinkPattern);
if (matches) {
if (matches[1] === 'www.') {
matches[1] = 'http://www.';
} else if (/@$/.test(matches[1]) && !/^mailto:/.test(matches[1])) {
matches[1] = 'mailto:' + matches[1];
}
bookmark = editor.selection.getBookmark();
editor.selection.setRng(rng);
editor.execCommand('createlink', false, matches[1] + matches[2]);
if (defaultLinkTarget) {
editor.dom.setAttrib(editor.selection.getNode(), 'target', defaultLinkTarget);
}
editor.selection.moveToBookmark(bookmark);
editor.nodeChanged();
}
};
var setup = function (editor) {
var autoUrlDetectState;
editor.on('keydown', function (e) {
if (e.keyCode === 13) {
return handleEnter(editor);
}
});
if (global$1.ie) {
editor.on('focus', function () {
if (!autoUrlDetectState) {
autoUrlDetectState = true;
try {
editor.execCommand('AutoUrlDetect', false, true);
} catch (ex) {
endContainer = rng.endContainer;
if (endContainer.nodeType !== 3 && endContainer.firstChild) {
while (endContainer.nodeType !== 3 && endContainer.firstChild) {
endContainer = endContainer.firstChild;
}
if (endContainer.nodeType === 3) {
setStart(rng, endContainer, 0);
setEnd(rng, endContainer, endContainer.nodeValue.length);
}
}
if (rng.endOffset === 1) {
end = 2;
} else {
end = rng.endOffset - 1 - endOffset;
}
}
start = end;
do {
setStart(rng, endContainer, end >= 2 ? end - 2 : 0);
setEnd(rng, endContainer, end >= 1 ? end - 1 : 0);
end -= 1;
rngText = rng.toString();
} while (rngText !== ' ' && rngText !== '' && rngText.charCodeAt(0) !== 160 && end - 2 >= 0 && rngText !== delimiter);
if (rangeEqualsDelimiterOrSpace(rng.toString(), delimiter)) {
setStart(rng, endContainer, end);
setEnd(rng, endContainer, start);
end += 1;
} else if (rng.startOffset === 0) {
setStart(rng, endContainer, 0);
setEnd(rng, endContainer, start);
} else {
setStart(rng, endContainer, end);
setEnd(rng, endContainer, start);
}
text = rng.toString();
if (text.charAt(text.length - 1) === '.') {
setEnd(rng, endContainer, start - 1);
}
text = rng.toString().trim();
matches = text.match(autoLinkPattern);
if (matches) {
if (matches[1] === 'www.') {
matches[1] = 'http://www.';
} else if (/@$/.test(matches[1]) && !/^mailto:/.test(matches[1])) {
matches[1] = 'mailto:' + matches[1];
}
bookmark = editor.selection.getBookmark();
editor.selection.setRng(rng);
editor.execCommand('createlink', false, matches[1] + matches[2]);
if (defaultLinkTarget) {
editor.dom.setAttrib(editor.selection.getNode(), 'target', defaultLinkTarget);
}
editor.selection.moveToBookmark(bookmark);
editor.nodeChanged();
}
};
var setup = function (editor) {
var autoUrlDetectState;
editor.on('keydown', function (e) {
if (e.keyCode === 13) {
return handleEnter(editor);
}
});
return;
if (global$1.ie) {
editor.on('focus', function () {
if (!autoUrlDetectState) {
autoUrlDetectState = true;
try {
editor.execCommand('AutoUrlDetect', false, true);
} catch (ex) {
}
}
});
return;
}
editor.on('keypress', function (e) {
if (e.keyCode === 41) {
return handleEclipse(editor);
}
});
editor.on('keyup', function (e) {
if (e.keyCode === 32) {
return handleSpacebar(editor);
}
});
};
var Keys = { setup: setup };
global.add('autolink', function (editor) {
Keys.setup(editor);
});
function Plugin () {
}
editor.on('keypress', function (e) {
if (e.keyCode === 41) {
return handleEclipse(editor);
}
});
editor.on('keyup', function (e) {
if (e.keyCode === 32) {
return handleSpacebar(editor);
}
});
};
var $_eary1x8gjh8lpud7 = { setup: setup };
global.add('autolink', function (editor) {
$_eary1x8gjh8lpud7.setup(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
@@ -1,169 +1,169 @@
(function () {
var autoresize = (function () {
'use strict';
'use strict';
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
};
var set = function (v) {
value = v;
};
var clone = function () {
return Cell(get());
};
return {
get: get,
set: set,
clone: clone
};
};
var set = function (v) {
value = v;
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Delay');
var getAutoResizeMinHeight = function (editor) {
return parseInt(editor.getParam('autoresize_min_height', editor.getElement().offsetHeight), 10);
};
var clone = function () {
return Cell(get());
var getAutoResizeMaxHeight = function (editor) {
return parseInt(editor.getParam('autoresize_max_height', 0), 10);
};
return {
get: get,
set: set,
clone: clone
var getAutoResizeOverflowPadding = function (editor) {
return editor.getParam('autoresize_overflow_padding', 1);
};
var getAutoResizeBottomMargin = function (editor) {
return editor.getParam('autoresize_bottom_margin', 50);
};
var shouldAutoResizeOnInit = function (editor) {
return editor.getParam('autoresize_on_init', true);
};
var Settings = {
getAutoResizeMinHeight: getAutoResizeMinHeight,
getAutoResizeMaxHeight: getAutoResizeMaxHeight,
getAutoResizeOverflowPadding: getAutoResizeOverflowPadding,
getAutoResizeBottomMargin: getAutoResizeBottomMargin,
shouldAutoResizeOnInit: shouldAutoResizeOnInit
};
};
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Delay');
var getAutoResizeMinHeight = function (editor) {
return parseInt(editor.getParam('autoresize_min_height', editor.getElement().offsetHeight), 10);
};
var getAutoResizeMaxHeight = function (editor) {
return parseInt(editor.getParam('autoresize_max_height', 0), 10);
};
var getAutoResizeOverflowPadding = function (editor) {
return editor.getParam('autoresize_overflow_padding', 1);
};
var getAutoResizeBottomMargin = function (editor) {
return editor.getParam('autoresize_bottom_margin', 50);
};
var shouldAutoResizeOnInit = function (editor) {
return editor.getParam('autoresize_on_init', true);
};
var $_azyemt8qjh8lpue0 = {
getAutoResizeMinHeight: getAutoResizeMinHeight,
getAutoResizeMaxHeight: getAutoResizeMaxHeight,
getAutoResizeOverflowPadding: getAutoResizeOverflowPadding,
getAutoResizeBottomMargin: getAutoResizeBottomMargin,
shouldAutoResizeOnInit: shouldAutoResizeOnInit
};
var isFullscreen = function (editor) {
return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen();
};
var wait = function (editor, oldSize, times, interval, callback) {
global$2.setEditorTimeout(editor, function () {
resize(editor, oldSize);
if (times--) {
wait(editor, oldSize, times, interval, callback);
} else if (callback) {
callback();
}
}, interval);
};
var toggleScrolling = function (editor, state) {
var body = editor.getBody();
if (body) {
body.style.overflowY = state ? '' : 'hidden';
if (!state) {
body.scrollTop = 0;
}
}
};
var resize = function (editor, oldSize) {
var deltaSize, doc, body, resizeHeight, myHeight;
var marginTop, marginBottom, paddingTop, paddingBottom, borderTop, borderBottom;
var dom = editor.dom;
doc = editor.getDoc();
if (!doc) {
return;
}
if (isFullscreen(editor)) {
toggleScrolling(editor, true);
return;
}
body = doc.body;
resizeHeight = $_azyemt8qjh8lpue0.getAutoResizeMinHeight(editor);
marginTop = dom.getStyle(body, 'margin-top', true);
marginBottom = dom.getStyle(body, 'margin-bottom', true);
paddingTop = dom.getStyle(body, 'padding-top', true);
paddingBottom = dom.getStyle(body, 'padding-bottom', true);
borderTop = dom.getStyle(body, 'border-top-width', true);
borderBottom = dom.getStyle(body, 'border-bottom-width', true);
myHeight = body.offsetHeight + parseInt(marginTop, 10) + parseInt(marginBottom, 10) + parseInt(paddingTop, 10) + parseInt(paddingBottom, 10) + parseInt(borderTop, 10) + parseInt(borderBottom, 10);
if (isNaN(myHeight) || myHeight <= 0) {
myHeight = global$1.ie ? body.scrollHeight : global$1.webkit && body.clientHeight === 0 ? 0 : body.offsetHeight;
}
if (myHeight > $_azyemt8qjh8lpue0.getAutoResizeMinHeight(editor)) {
resizeHeight = myHeight;
}
var maxHeight = $_azyemt8qjh8lpue0.getAutoResizeMaxHeight(editor);
if (maxHeight && myHeight > maxHeight) {
resizeHeight = maxHeight;
toggleScrolling(editor, true);
} else {
toggleScrolling(editor, false);
}
if (resizeHeight !== oldSize.get()) {
deltaSize = resizeHeight - oldSize.get();
dom.setStyle(editor.iframeElement, 'height', resizeHeight + 'px');
oldSize.set(resizeHeight);
if (global$1.webkit && deltaSize < 0) {
var isFullscreen = function (editor) {
return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen();
};
var wait = function (editor, oldSize, times, interval, callback) {
global$2.setEditorTimeout(editor, function () {
resize(editor, oldSize);
if (times--) {
wait(editor, oldSize, times, interval, callback);
} else if (callback) {
callback();
}
}, interval);
};
var toggleScrolling = function (editor, state) {
var body = editor.getBody();
if (body) {
body.style.overflowY = state ? '' : 'hidden';
if (!state) {
body.scrollTop = 0;
}
}
}
};
var setup = function (editor, oldSize) {
editor.on('init', function () {
var overflowPadding, bottomMargin;
};
var resize = function (editor, oldSize) {
var deltaSize, doc, body, resizeHeight, myHeight;
var marginTop, marginBottom, paddingTop, paddingBottom, borderTop, borderBottom;
var dom = editor.dom;
overflowPadding = $_azyemt8qjh8lpue0.getAutoResizeOverflowPadding(editor);
bottomMargin = $_azyemt8qjh8lpue0.getAutoResizeBottomMargin(editor);
if (overflowPadding !== false) {
dom.setStyles(editor.getBody(), {
paddingLeft: overflowPadding,
paddingRight: overflowPadding
});
doc = editor.getDoc();
if (!doc) {
return;
}
if (bottomMargin !== false) {
dom.setStyles(editor.getBody(), { paddingBottom: bottomMargin });
if (isFullscreen(editor)) {
toggleScrolling(editor, true);
return;
}
});
editor.on('nodechange setcontent keyup FullscreenStateChanged', function (e) {
resize(editor, oldSize);
});
if ($_azyemt8qjh8lpue0.shouldAutoResizeOnInit(editor)) {
body = doc.body;
resizeHeight = Settings.getAutoResizeMinHeight(editor);
marginTop = dom.getStyle(body, 'margin-top', true);
marginBottom = dom.getStyle(body, 'margin-bottom', true);
paddingTop = dom.getStyle(body, 'padding-top', true);
paddingBottom = dom.getStyle(body, 'padding-bottom', true);
borderTop = dom.getStyle(body, 'border-top-width', true);
borderBottom = dom.getStyle(body, 'border-bottom-width', true);
myHeight = body.offsetHeight + parseInt(marginTop, 10) + parseInt(marginBottom, 10) + parseInt(paddingTop, 10) + parseInt(paddingBottom, 10) + parseInt(borderTop, 10) + parseInt(borderBottom, 10);
if (isNaN(myHeight) || myHeight <= 0) {
myHeight = global$1.ie ? body.scrollHeight : global$1.webkit && body.clientHeight === 0 ? 0 : body.offsetHeight;
}
if (myHeight > Settings.getAutoResizeMinHeight(editor)) {
resizeHeight = myHeight;
}
var maxHeight = Settings.getAutoResizeMaxHeight(editor);
if (maxHeight && myHeight > maxHeight) {
resizeHeight = maxHeight;
toggleScrolling(editor, true);
} else {
toggleScrolling(editor, false);
}
if (resizeHeight !== oldSize.get()) {
deltaSize = resizeHeight - oldSize.get();
dom.setStyle(editor.iframeElement, 'height', resizeHeight + 'px');
oldSize.set(resizeHeight);
if (global$1.webkit && deltaSize < 0) {
resize(editor, oldSize);
}
}
};
var setup = function (editor, oldSize) {
editor.on('init', function () {
wait(editor, oldSize, 20, 100, function () {
wait(editor, oldSize, 5, 1000);
});
var overflowPadding, bottomMargin;
var dom = editor.dom;
overflowPadding = Settings.getAutoResizeOverflowPadding(editor);
bottomMargin = Settings.getAutoResizeBottomMargin(editor);
if (overflowPadding !== false) {
dom.setStyles(editor.getBody(), {
paddingLeft: overflowPadding,
paddingRight: overflowPadding
});
}
if (bottomMargin !== false) {
dom.setStyles(editor.getBody(), { paddingBottom: bottomMargin });
}
});
}
};
var $_rs2t18njh8lpudw = {
setup: setup,
resize: resize
};
editor.on('nodechange setcontent keyup FullscreenStateChanged', function (e) {
resize(editor, oldSize);
});
if (Settings.shouldAutoResizeOnInit(editor)) {
editor.on('init', function () {
wait(editor, oldSize, 20, 100, function () {
wait(editor, oldSize, 5, 1000);
});
});
}
};
var Resize = {
setup: setup,
resize: resize
};
var register = function (editor, oldSize) {
editor.addCommand('mceAutoResize', function () {
$_rs2t18njh8lpudw.resize(editor, oldSize);
var register = function (editor, oldSize) {
editor.addCommand('mceAutoResize', function () {
Resize.resize(editor, oldSize);
});
};
var Commands = { register: register };
global.add('autoresize', function (editor) {
if (!editor.inline) {
var oldSize = Cell(0);
Commands.register(editor, oldSize);
Resize.setup(editor, oldSize);
}
});
};
var $_b0t1u48mjh8lpudv = { register: register };
global.add('autoresize', function (editor) {
if (!editor.inline) {
var oldSize = Cell(0);
$_b0t1u48mjh8lpudv.register(editor, oldSize);
$_rs2t18njh8lpudw.setup(editor, oldSize);
function Plugin () {
}
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
@@ -1,226 +1,216 @@
(function () {
var autosave = (function () {
'use strict';
var autosave = (function (domGlobals) {
'use strict';
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
};
var set = function (v) {
value = v;
};
var clone = function () {
return Cell(get());
};
return {
get: get,
set: set,
clone: clone
};
};
var set = function (v) {
value = v;
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.LocalStorage');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var fireRestoreDraft = function (editor) {
return editor.fire('RestoreDraft');
};
var clone = function () {
return Cell(get());
var fireStoreDraft = function (editor) {
return editor.fire('StoreDraft');
};
return {
get: get,
set: set,
clone: clone
var fireRemoveDraft = function (editor) {
return editor.fire('RemoveDraft');
};
};
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.LocalStorage');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var fireRestoreDraft = function (editor) {
return editor.fire('RestoreDraft');
};
var fireStoreDraft = function (editor) {
return editor.fire('StoreDraft');
};
var fireRemoveDraft = function (editor) {
return editor.fire('RemoveDraft');
};
var $_f1sskd8yjh8lpueq = {
fireRestoreDraft: fireRestoreDraft,
fireStoreDraft: fireStoreDraft,
fireRemoveDraft: fireRemoveDraft
};
var parse = function (time, defaultTime) {
var multiples = {
s: 1000,
m: 60000
var parse = function (timeString, defaultTime) {
var multiples = {
s: 1000,
m: 60000
};
var toParse = timeString || defaultTime;
var parsedTime = /^(\d+)([ms]?)$/.exec('' + toParse);
return (parsedTime[2] ? multiples[parsedTime[2]] : 1) * parseInt(toParse, 10);
};
time = /^(\d+)([ms]?)$/.exec('' + (time || defaultTime));
return (time[2] ? multiples[time[2]] : 1) * parseInt(time, 10);
};
var $_53ht7990jh8lpuet = { parse: parse };
var shouldAskBeforeUnload = function (editor) {
return editor.getParam('autosave_ask_before_unload', true);
};
var getAutoSavePrefix = function (editor) {
var prefix = editor.getParam('autosave_prefix', 'tinymce-autosave-{path}{query}{hash}-{id}-');
prefix = prefix.replace(/\{path\}/g, document.location.pathname);
prefix = prefix.replace(/\{query\}/g, document.location.search);
prefix = prefix.replace(/\{hash\}/g, document.location.hash);
prefix = prefix.replace(/\{id\}/g, editor.id);
return prefix;
};
var shouldRestoreWhenEmpty = function (editor) {
return editor.getParam('autosave_restore_when_empty', false);
};
var getAutoSaveInterval = function (editor) {
return $_53ht7990jh8lpuet.parse(editor.settings.autosave_interval, '30s');
};
var getAutoSaveRetention = function (editor) {
return $_53ht7990jh8lpuet.parse(editor.settings.autosave_retention, '20m');
};
var $_2f8zxp8zjh8lpuer = {
shouldAskBeforeUnload: shouldAskBeforeUnload,
getAutoSavePrefix: getAutoSavePrefix,
shouldRestoreWhenEmpty: shouldRestoreWhenEmpty,
getAutoSaveInterval: getAutoSaveInterval,
getAutoSaveRetention: getAutoSaveRetention
};
var isEmpty = function (editor, html) {
var forcedRootBlockName = editor.settings.forced_root_block;
html = global$2.trim(typeof html === 'undefined' ? editor.getBody().innerHTML : html);
return html === '' || new RegExp('^<' + forcedRootBlockName + '[^>]*>((\xA0|&nbsp;|[ \t]|<br[^>]*>)+?|)</' + forcedRootBlockName + '>|<br>$', 'i').test(html);
};
var hasDraft = function (editor) {
var time = parseInt(global$1.getItem($_2f8zxp8zjh8lpuer.getAutoSavePrefix(editor) + 'time'), 10) || 0;
if (new Date().getTime() - time > $_2f8zxp8zjh8lpuer.getAutoSaveRetention(editor)) {
removeDraft(editor, false);
return false;
}
return true;
};
var removeDraft = function (editor, fire) {
var prefix = $_2f8zxp8zjh8lpuer.getAutoSavePrefix(editor);
global$1.removeItem(prefix + 'draft');
global$1.removeItem(prefix + 'time');
if (fire !== false) {
$_f1sskd8yjh8lpueq.fireRemoveDraft(editor);
}
};
var storeDraft = function (editor) {
var prefix = $_2f8zxp8zjh8lpuer.getAutoSavePrefix(editor);
if (!isEmpty(editor) && editor.isDirty()) {
global$1.setItem(prefix + 'draft', editor.getContent({
format: 'raw',
no_events: true
}));
global$1.setItem(prefix + 'time', new Date().getTime().toString());
$_f1sskd8yjh8lpueq.fireStoreDraft(editor);
}
};
var restoreDraft = function (editor) {
var prefix = $_2f8zxp8zjh8lpuer.getAutoSavePrefix(editor);
if (hasDraft(editor)) {
editor.setContent(global$1.getItem(prefix + 'draft'), { format: 'raw' });
$_f1sskd8yjh8lpueq.fireRestoreDraft(editor);
}
};
var startStoreDraft = function (editor, started) {
var interval = $_2f8zxp8zjh8lpuer.getAutoSaveInterval(editor);
if (!started.get()) {
setInterval(function () {
if (!editor.removed) {
storeDraft(editor);
}
}, interval);
started.set(true);
}
};
var restoreLastDraft = function (editor) {
editor.undoManager.transact(function () {
restoreDraft(editor);
removeDraft(editor);
});
editor.focus();
};
var $_rquxx8vjh8lpuem = {
isEmpty: isEmpty,
hasDraft: hasDraft,
removeDraft: removeDraft,
storeDraft: storeDraft,
restoreDraft: restoreDraft,
startStoreDraft: startStoreDraft,
restoreLastDraft: restoreLastDraft
};
var curry = function (f, editor) {
return function () {
var args = Array.prototype.slice.call(arguments);
return f.apply(null, [editor].concat(args));
var shouldAskBeforeUnload = function (editor) {
return editor.getParam('autosave_ask_before_unload', true);
};
};
var get = function (editor) {
return {
hasDraft: curry($_rquxx8vjh8lpuem.hasDraft, editor),
storeDraft: curry($_rquxx8vjh8lpuem.storeDraft, editor),
restoreDraft: curry($_rquxx8vjh8lpuem.restoreDraft, editor),
removeDraft: curry($_rquxx8vjh8lpuem.removeDraft, editor),
isEmpty: curry($_rquxx8vjh8lpuem.isEmpty, editor)
var getAutoSavePrefix = function (editor) {
var prefix = editor.getParam('autosave_prefix', 'tinymce-autosave-{path}{query}{hash}-{id}-');
prefix = prefix.replace(/\{path\}/g, domGlobals.document.location.pathname);
prefix = prefix.replace(/\{query\}/g, domGlobals.document.location.search);
prefix = prefix.replace(/\{hash\}/g, domGlobals.document.location.hash);
prefix = prefix.replace(/\{id\}/g, editor.id);
return prefix;
};
var shouldRestoreWhenEmpty = function (editor) {
return editor.getParam('autosave_restore_when_empty', false);
};
var getAutoSaveInterval = function (editor) {
return parse(editor.settings.autosave_interval, '30s');
};
var getAutoSaveRetention = function (editor) {
return parse(editor.settings.autosave_retention, '20m');
};
};
var $_7mdhyp8ujh8lpuek = { get: get };
var global$3 = tinymce.util.Tools.resolve('tinymce.EditorManager');
global$3._beforeUnloadHandler = function () {
var msg;
global$2.each(global$3.get(), function (editor) {
if (editor.plugins.autosave) {
editor.plugins.autosave.storeDraft();
var isEmpty = function (editor, html) {
var forcedRootBlockName = editor.settings.forced_root_block;
html = global$2.trim(typeof html === 'undefined' ? editor.getBody().innerHTML : html);
return html === '' || new RegExp('^<' + forcedRootBlockName + '[^>]*>((\xA0|&nbsp;|[ \t]|<br[^>]*>)+?|)</' + forcedRootBlockName + '>|<br>$', 'i').test(html);
};
var hasDraft = function (editor) {
var time = parseInt(global$1.getItem(getAutoSavePrefix(editor) + 'time'), 10) || 0;
if (new Date().getTime() - time > getAutoSaveRetention(editor)) {
removeDraft(editor, false);
return false;
}
if (!msg && editor.isDirty() && $_2f8zxp8zjh8lpuer.shouldAskBeforeUnload(editor)) {
msg = editor.translate('You have unsaved changes are you sure you want to navigate away?');
return true;
};
var removeDraft = function (editor, fire) {
var prefix = getAutoSavePrefix(editor);
global$1.removeItem(prefix + 'draft');
global$1.removeItem(prefix + 'time');
if (fire !== false) {
fireRemoveDraft(editor);
}
});
return msg;
};
var setup = function (editor) {
window.onbeforeunload = global$3._beforeUnloadHandler;
};
var $_3yv5rq91jh8lpuev = { setup: setup };
var postRender = function (editor, started) {
return function (e) {
var ctrl = e.control;
ctrl.disabled(!$_rquxx8vjh8lpuem.hasDraft(editor));
editor.on('StoreDraft RestoreDraft RemoveDraft', function () {
ctrl.disabled(!$_rquxx8vjh8lpuem.hasDraft(editor));
};
var storeDraft = function (editor) {
var prefix = getAutoSavePrefix(editor);
if (!isEmpty(editor) && editor.isDirty()) {
global$1.setItem(prefix + 'draft', editor.getContent({
format: 'raw',
no_events: true
}));
global$1.setItem(prefix + 'time', new Date().getTime().toString());
fireStoreDraft(editor);
}
};
var restoreDraft = function (editor) {
var prefix = getAutoSavePrefix(editor);
if (hasDraft(editor)) {
editor.setContent(global$1.getItem(prefix + 'draft'), { format: 'raw' });
fireRestoreDraft(editor);
}
};
var startStoreDraft = function (editor, started) {
var interval = getAutoSaveInterval(editor);
if (!started.get()) {
setInterval(function () {
if (!editor.removed) {
storeDraft(editor);
}
}, interval);
started.set(true);
}
};
var restoreLastDraft = function (editor) {
editor.undoManager.transact(function () {
restoreDraft(editor);
removeDraft(editor);
});
$_rquxx8vjh8lpuem.startStoreDraft(editor, started);
editor.focus();
};
};
var register = function (editor, started) {
editor.addButton('restoredraft', {
title: 'Restore last draft',
onclick: function () {
$_rquxx8vjh8lpuem.restoreLastDraft(editor);
},
onPostRender: postRender(editor, started)
function curry(fn) {
var initialArgs = [];
for (var _i = 1; _i < arguments.length; _i++) {
initialArgs[_i - 1] = arguments[_i];
}
return function () {
var restArgs = [];
for (var _i = 0; _i < arguments.length; _i++) {
restArgs[_i] = arguments[_i];
}
var all = initialArgs.concat(restArgs);
return fn.apply(null, all);
};
}
var get = function (editor) {
return {
hasDraft: curry(hasDraft, editor),
storeDraft: curry(storeDraft, editor),
restoreDraft: curry(restoreDraft, editor),
removeDraft: curry(removeDraft, editor),
isEmpty: curry(isEmpty, editor)
};
};
var global$3 = tinymce.util.Tools.resolve('tinymce.EditorManager');
global$3._beforeUnloadHandler = function () {
var msg;
global$2.each(global$3.get(), function (editor) {
if (editor.plugins.autosave) {
editor.plugins.autosave.storeDraft();
}
if (!msg && editor.isDirty() && shouldAskBeforeUnload(editor)) {
msg = editor.translate('You have unsaved changes are you sure you want to navigate away?');
}
});
return msg;
};
var setup = function (editor) {
domGlobals.window.onbeforeunload = global$3._beforeUnloadHandler;
};
var postRender = function (editor, started) {
return function (e) {
var ctrl = e.control;
ctrl.disabled(!hasDraft(editor));
editor.on('StoreDraft RestoreDraft RemoveDraft', function () {
ctrl.disabled(!hasDraft(editor));
});
startStoreDraft(editor, started);
};
};
var register = function (editor, started) {
editor.addButton('restoredraft', {
title: 'Restore last draft',
onclick: function () {
restoreLastDraft(editor);
},
onPostRender: postRender(editor, started)
});
editor.addMenuItem('restoredraft', {
text: 'Restore last draft',
onclick: function () {
restoreLastDraft(editor);
},
onPostRender: postRender(editor, started),
context: 'file'
});
};
global.add('autosave', function (editor) {
var started = Cell(false);
setup();
register(editor, started);
editor.on('init', function () {
if (shouldRestoreWhenEmpty(editor) && editor.dom.isEmpty(editor.getBody())) {
restoreDraft(editor);
}
});
return get(editor);
});
editor.addMenuItem('restoredraft', {
text: 'Restore last draft',
onclick: function () {
$_rquxx8vjh8lpuem.restoreLastDraft(editor);
},
onPostRender: postRender(editor, started),
context: 'file'
});
};
var $_sngoy93jh8lpuex = { register: register };
function Plugin () {
}
global.add('autosave', function (editor) {
var started = Cell(false);
$_3yv5rq91jh8lpuev.setup(editor);
$_sngoy93jh8lpuex.register(editor, started);
return $_7mdhyp8ujh8lpuek.get(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
}(window));
})();
+1 -1
View File
@@ -1 +1 @@
!function(){"use strict";var n=function(t){var e=t,r=function(){return e};return{get:r,set:function(t){e=t},clone:function(){return n(r())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),o=tinymce.util.Tools.resolve("tinymce.util.Tools"),r=function(t){return t.fire("RestoreDraft")},i=function(t){return t.fire("StoreDraft")},s=function(t){return t.fire("RemoveDraft")},e=function(t,e){return((t=/^(\d+)([ms]?)$/.exec(""+(t||e)))[2]?{s:1e3,m:6e4}[t[2]]:1)*parseInt(t,10)},u=function(t){return t.getParam("autosave_ask_before_unload",!0)},f=function(t){var e=t.getParam("autosave_prefix","tinymce-autosave-{path}{query}{hash}-{id}-");return e=(e=(e=(e=e.replace(/\{path\}/g,document.location.pathname)).replace(/\{query\}/g,document.location.search)).replace(/\{hash\}/g,document.location.hash)).replace(/\{id\}/g,t.id)},c=function(t){return e(t.settings.autosave_interval,"30s")},l=function(t){return e(t.settings.autosave_retention,"20m")},m=function(t,e){var r=t.settings.forced_root_block;return""===(e=o.trim(void 0===e?t.getBody().innerHTML:e))||new RegExp("^<"+r+"[^>]*>((\xa0|&nbsp;|[ \t]|<br[^>]*>)+?|)</"+r+">|<br>$","i").test(e)},v=function(t){var e=parseInt(a.getItem(f(t)+"time"),10)||0;return!((new Date).getTime()-e>l(t)&&(d(t,!1),1))},d=function(t,e){var r=f(t);a.removeItem(r+"draft"),a.removeItem(r+"time"),!1!==e&&s(t)},D=function(t){var e=f(t);!m(t)&&t.isDirty()&&(a.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),a.setItem(e+"time",(new Date).getTime().toString()),i(t))},g=function(t){var e=f(t);v(t)&&(t.setContent(a.getItem(e+"draft"),{format:"raw"}),r(t))},y={isEmpty:m,hasDraft:v,removeDraft:d,storeDraft:D,restoreDraft:g,startStoreDraft:function(t,e){var r=c(t);e.get()||(setInterval(function(){t.removed||D(t)},r),e.set(!0))},restoreLastDraft:function(t){t.undoManager.transact(function(){g(t),d(t)}),t.focus()}},p=function(e,r){return function(){var t=Array.prototype.slice.call(arguments);return e.apply(null,[r].concat(t))}},h=function(t){return{hasDraft:p(y.hasDraft,t),storeDraft:p(y.storeDraft,t),restoreDraft:p(y.restoreDraft,t),removeDraft:p(y.removeDraft,t),isEmpty:p(y.isEmpty,t)}},_=tinymce.util.Tools.resolve("tinymce.EditorManager");_._beforeUnloadHandler=function(){var e;return o.each(_.get(),function(t){t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&u(t)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))}),e};var b=function(t){window.onbeforeunload=_._beforeUnloadHandler},I=function(r,n){return function(t){var e=t.control;e.disabled(!y.hasDraft(r)),r.on("StoreDraft RestoreDraft RemoveDraft",function(){e.disabled(!y.hasDraft(r))}),y.startStoreDraft(r,n)}},w=function(t,e){t.addButton("restoredraft",{title:"Restore last draft",onclick:function(){y.restoreLastDraft(t)},onPostRender:I(t,e)}),t.addMenuItem("restoredraft",{text:"Restore last draft",onclick:function(){y.restoreLastDraft(t)},onPostRender:I(t,e),context:"file"})};t.add("autosave",function(t){var e=n(!1);return b(t),w(t,e),h(t)})}();
!function(a){"use strict";var i=function(t){var e=t,n=function(){return e};return{get:n,set:function(t){e=t},clone:function(){return i(n())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),r=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),o=tinymce.util.Tools.resolve("tinymce.util.Tools"),u=function(t,e){var n=t||e,r=/^(\d+)([ms]?)$/.exec(""+n);return(r[2]?{s:1e3,m:6e4}[r[2]]:1)*parseInt(n,10)},s=function(t){var e=t.getParam("autosave_prefix","tinymce-autosave-{path}{query}{hash}-{id}-");return e=(e=(e=(e=e.replace(/\{path\}/g,a.document.location.pathname)).replace(/\{query\}/g,a.document.location.search)).replace(/\{hash\}/g,a.document.location.hash)).replace(/\{id\}/g,t.id)},c=function(t,e){var n=t.settings.forced_root_block;return""===(e=o.trim(void 0===e?t.getBody().innerHTML:e))||new RegExp("^<"+n+"[^>]*>((\xa0|&nbsp;|[ \t]|<br[^>]*>)+?|)</"+n+">|<br>$","i").test(e)},f=function(t){var e=parseInt(r.getItem(s(t)+"time"),10)||0;return!((new Date).getTime()-e>u(t.settings.autosave_retention,"20m")&&(l(t,!1),1))},l=function(t,e){var n=s(t);r.removeItem(n+"draft"),r.removeItem(n+"time"),!1!==e&&t.fire("RemoveDraft")},m=function(t){var e=s(t);!c(t)&&t.isDirty()&&(r.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),r.setItem(e+"time",(new Date).getTime().toString()),t.fire("StoreDraft"))},v=function(t){var e=s(t);f(t)&&(t.setContent(r.getItem(e+"draft"),{format:"raw"}),t.fire("RestoreDraft"))},d=function(t,e){var n=u(t.settings.autosave_interval,"30s");e.get()||(setInterval(function(){t.removed||m(t)},n),e.set(!0))},g=function(t){t.undoManager.transact(function(){v(t),l(t)}),t.focus()};function y(r){for(var o=[],t=1;t<arguments.length;t++)o[t-1]=arguments[t];return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=o.concat(t);return r.apply(null,n)}}var p=tinymce.util.Tools.resolve("tinymce.EditorManager");p._beforeUnloadHandler=function(){var e;return o.each(p.get(),function(t){t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&t.getParam("autosave_ask_before_unload",!0)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))}),e};var h=function(n,r){return function(t){var e=t.control;e.disabled(!f(n)),n.on("StoreDraft RestoreDraft RemoveDraft",function(){e.disabled(!f(n))}),d(n,r)}};t.add("autosave",function(t){var e,n,r,o=i(!1);return a.window.onbeforeunload=p._beforeUnloadHandler,n=o,(e=t).addButton("restoredraft",{title:"Restore last draft",onclick:function(){g(e)},onPostRender:h(e,n)}),e.addMenuItem("restoredraft",{text:"Restore last draft",onclick:function(){g(e)},onPostRender:h(e,n),context:"file"}),t.on("init",function(){t.getParam("autosave_restore_when_empty",!1)&&t.dom.isEmpty(t.getBody())&&v(t)}),{hasDraft:y(f,r=t),storeDraft:y(m,r),restoreDraft:y(v,r),removeDraft:y(l,r),isEmpty:y(c,r)}})}(window);
@@ -1,101 +1,101 @@
(function () {
var bbcode = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var html2bbcode = function (s) {
s = global$1.trim(s);
var rep = function (re, str) {
s = s.replace(re, str);
var html2bbcode = function (s) {
s = global$1.trim(s);
var rep = function (re, str) {
s = s.replace(re, str);
};
rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi, '[url=$1]$2[/url]');
rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi, '[code][color=$1]$2[/color][/code]');
rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi, '[quote][color=$1]$2[/color][/quote]');
rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi, '[code][color=$1]$2[/color][/code]');
rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi, '[quote][color=$1]$2[/color][/quote]');
rep(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi, '[color=$1]$2[/color]');
rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi, '[color=$1]$2[/color]');
rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi, '[size=$1]$2[/size]');
rep(/<font>(.*?)<\/font>/gi, '$1');
rep(/<img.*?src=\"(.*?)\".*?\/>/gi, '[img]$1[/img]');
rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi, '[code]$1[/code]');
rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi, '[quote]$1[/quote]');
rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi, '[code][b]$1[/b][/code]');
rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi, '[quote][b]$1[/b][/quote]');
rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi, '[code][i]$1[/i][/code]');
rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi, '[quote][i]$1[/i][/quote]');
rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi, '[code][u]$1[/u][/code]');
rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi, '[quote][u]$1[/u][/quote]');
rep(/<\/(strong|b)>/gi, '[/b]');
rep(/<(strong|b)>/gi, '[b]');
rep(/<\/(em|i)>/gi, '[/i]');
rep(/<(em|i)>/gi, '[i]');
rep(/<\/u>/gi, '[/u]');
rep(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi, '[u]$1[/u]');
rep(/<u>/gi, '[u]');
rep(/<blockquote[^>]*>/gi, '[quote]');
rep(/<\/blockquote>/gi, '[/quote]');
rep(/<br \/>/gi, '\n');
rep(/<br\/>/gi, '\n');
rep(/<br>/gi, '\n');
rep(/<p>/gi, '');
rep(/<\/p>/gi, '\n');
rep(/&nbsp;|\u00a0/gi, ' ');
rep(/&quot;/gi, '"');
rep(/&lt;/gi, '<');
rep(/&gt;/gi, '>');
rep(/&amp;/gi, '&');
return s;
};
rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi, '[url=$1]$2[/url]');
rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi, '[code][color=$1]$2[/color][/code]');
rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi, '[quote][color=$1]$2[/color][/quote]');
rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi, '[code][color=$1]$2[/color][/code]');
rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi, '[quote][color=$1]$2[/color][/quote]');
rep(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi, '[color=$1]$2[/color]');
rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi, '[color=$1]$2[/color]');
rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi, '[size=$1]$2[/size]');
rep(/<font>(.*?)<\/font>/gi, '$1');
rep(/<img.*?src=\"(.*?)\".*?\/>/gi, '[img]$1[/img]');
rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi, '[code]$1[/code]');
rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi, '[quote]$1[/quote]');
rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi, '[code][b]$1[/b][/code]');
rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi, '[quote][b]$1[/b][/quote]');
rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi, '[code][i]$1[/i][/code]');
rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi, '[quote][i]$1[/i][/quote]');
rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi, '[code][u]$1[/u][/code]');
rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi, '[quote][u]$1[/u][/quote]');
rep(/<\/(strong|b)>/gi, '[/b]');
rep(/<(strong|b)>/gi, '[b]');
rep(/<\/(em|i)>/gi, '[/i]');
rep(/<(em|i)>/gi, '[i]');
rep(/<\/u>/gi, '[/u]');
rep(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi, '[u]$1[/u]');
rep(/<u>/gi, '[u]');
rep(/<blockquote[^>]*>/gi, '[quote]');
rep(/<\/blockquote>/gi, '[/quote]');
rep(/<br \/>/gi, '\n');
rep(/<br\/>/gi, '\n');
rep(/<br>/gi, '\n');
rep(/<p>/gi, '');
rep(/<\/p>/gi, '\n');
rep(/&nbsp;|\u00a0/gi, ' ');
rep(/&quot;/gi, '"');
rep(/&lt;/gi, '<');
rep(/&gt;/gi, '>');
rep(/&amp;/gi, '&');
return s;
};
var bbcode2html = function (s) {
s = global$1.trim(s);
var rep = function (re, str) {
s = s.replace(re, str);
var bbcode2html = function (s) {
s = global$1.trim(s);
var rep = function (re, str) {
s = s.replace(re, str);
};
rep(/\n/gi, '<br />');
rep(/\[b\]/gi, '<strong>');
rep(/\[\/b\]/gi, '</strong>');
rep(/\[i\]/gi, '<em>');
rep(/\[\/i\]/gi, '</em>');
rep(/\[u\]/gi, '<u>');
rep(/\[\/u\]/gi, '</u>');
rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi, '<a href="$1">$2</a>');
rep(/\[url\](.*?)\[\/url\]/gi, '<a href="$1">$1</a>');
rep(/\[img\](.*?)\[\/img\]/gi, '<img src="$1" />');
rep(/\[color=(.*?)\](.*?)\[\/color\]/gi, '<font color="$1">$2</font>');
rep(/\[code\](.*?)\[\/code\]/gi, '<span class="codeStyle">$1</span>&nbsp;');
rep(/\[quote.*?\](.*?)\[\/quote\]/gi, '<span class="quoteStyle">$1</span>&nbsp;');
return s;
};
rep(/\n/gi, '<br />');
rep(/\[b\]/gi, '<strong>');
rep(/\[\/b\]/gi, '</strong>');
rep(/\[i\]/gi, '<em>');
rep(/\[\/i\]/gi, '</em>');
rep(/\[u\]/gi, '<u>');
rep(/\[\/u\]/gi, '</u>');
rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi, '<a href="$1">$2</a>');
rep(/\[url\](.*?)\[\/url\]/gi, '<a href="$1">$1</a>');
rep(/\[img\](.*?)\[\/img\]/gi, '<img src="$1" />');
rep(/\[color=(.*?)\](.*?)\[\/color\]/gi, '<font color="$1">$2</font>');
rep(/\[code\](.*?)\[\/code\]/gi, '<span class="codeStyle">$1</span>&nbsp;');
rep(/\[quote.*?\](.*?)\[\/quote\]/gi, '<span class="quoteStyle">$1</span>&nbsp;');
return s;
};
var $_1c4yfk96jh8lpufd = {
html2bbcode: html2bbcode,
bbcode2html: bbcode2html
};
global.add('bbcode', function () {
return {
init: function (editor) {
editor.on('beforeSetContent', function (e) {
e.content = $_1c4yfk96jh8lpufd.bbcode2html(e.content);
});
editor.on('postProcess', function (e) {
if (e.set) {
e.content = $_1c4yfk96jh8lpufd.bbcode2html(e.content);
}
if (e.get) {
e.content = $_1c4yfk96jh8lpufd.html2bbcode(e.content);
}
});
}
var Convert = {
html2bbcode: html2bbcode,
bbcode2html: bbcode2html
};
});
function Plugin () {
}
return Plugin;
global.add('bbcode', function () {
return {
init: function (editor) {
editor.on('beforeSetContent', function (e) {
e.content = Convert.bbcode2html(e.content);
});
editor.on('postProcess', function (e) {
if (e.set) {
e.content = Convert.bbcode2html(e.content);
}
if (e.get) {
e.content = Convert.html2bbcode(e.content);
}
});
}
};
});
function Plugin () {
}
return Plugin;
}());
})();
File diff suppressed because it is too large Load Diff
@@ -1,94 +1,94 @@
(function () {
var code = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var getMinWidth = function (editor) {
return editor.getParam('code_dialog_width', 600);
};
var getMinHeight = function (editor) {
return editor.getParam('code_dialog_height', Math.min(global$1.DOM.getViewPort().h - 200, 500));
};
var $_7a5bps9ojh8lpugv = {
getMinWidth: getMinWidth,
getMinHeight: getMinHeight
};
var getMinWidth = function (editor) {
return editor.getParam('code_dialog_width', 600);
};
var getMinHeight = function (editor) {
return editor.getParam('code_dialog_height', Math.min(global$1.DOM.getViewPort().h - 200, 500));
};
var Settings = {
getMinWidth: getMinWidth,
getMinHeight: getMinHeight
};
var setContent = function (editor, html) {
editor.focus();
editor.undoManager.transact(function () {
editor.setContent(html);
var setContent = function (editor, html) {
editor.focus();
editor.undoManager.transact(function () {
editor.setContent(html);
});
editor.selection.setCursorLocation();
editor.nodeChanged();
};
var getContent = function (editor) {
return editor.getContent({ source_view: true });
};
var Content = {
setContent: setContent,
getContent: getContent
};
var open = function (editor) {
var minWidth = Settings.getMinWidth(editor);
var minHeight = Settings.getMinHeight(editor);
var win = editor.windowManager.open({
title: 'Source code',
body: {
type: 'textbox',
name: 'code',
multiline: true,
minWidth: minWidth,
minHeight: minHeight,
spellcheck: false,
style: 'direction: ltr; text-align: left'
},
onSubmit: function (e) {
Content.setContent(editor, e.data.code);
}
});
win.find('#code').value(Content.getContent(editor));
};
var Dialog = { open: open };
var register = function (editor) {
editor.addCommand('mceCodeEditor', function () {
Dialog.open(editor);
});
};
var Commands = { register: register };
var register$1 = function (editor) {
editor.addButton('code', {
icon: 'code',
tooltip: 'Source code',
onclick: function () {
Dialog.open(editor);
}
});
editor.addMenuItem('code', {
icon: 'code',
text: 'Source code',
onclick: function () {
Dialog.open(editor);
}
});
};
var Buttons = { register: register$1 };
global.add('code', function (editor) {
Commands.register(editor);
Buttons.register(editor);
return {};
});
editor.selection.setCursorLocation();
editor.nodeChanged();
};
var getContent = function (editor) {
return editor.getContent({ source_view: true });
};
var $_4f0hos9qjh8lpugw = {
setContent: setContent,
getContent: getContent
};
function Plugin () {
}
var open = function (editor) {
var minWidth = $_7a5bps9ojh8lpugv.getMinWidth(editor);
var minHeight = $_7a5bps9ojh8lpugv.getMinHeight(editor);
var win = editor.windowManager.open({
title: 'Source code',
body: {
type: 'textbox',
name: 'code',
multiline: true,
minWidth: minWidth,
minHeight: minHeight,
spellcheck: false,
style: 'direction: ltr; text-align: left'
},
onSubmit: function (e) {
$_4f0hos9qjh8lpugw.setContent(editor, e.data.code);
}
});
win.find('#code').value($_4f0hos9qjh8lpugw.getContent(editor));
};
var $_8t2ji69njh8lpugu = { open: open };
var register = function (editor) {
editor.addCommand('mceCodeEditor', function () {
$_8t2ji69njh8lpugu.open(editor);
});
};
var $_1cb0ek9mjh8lpugt = { register: register };
var register$1 = function (editor) {
editor.addButton('code', {
icon: 'code',
tooltip: 'Source code',
onclick: function () {
$_8t2ji69njh8lpugu.open(editor);
}
});
editor.addMenuItem('code', {
icon: 'code',
text: 'Source code',
onclick: function () {
$_8t2ji69njh8lpugu.open(editor);
}
});
};
var $_aziuou9rjh8lpugx = { register: register$1 };
global.add('code', function (editor) {
$_1cb0ek9mjh8lpugt.register(editor);
$_aziuou9rjh8lpugx.register(editor);
return {};
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -1,126 +1,126 @@
(function () {
var colorpicker = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Color');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Color');
var showPreview = function (win, hexColor) {
win.find('#preview')[0].getEl().style.background = hexColor;
};
var setColor = function (win, value) {
var color = global$1(value), rgb = color.toRgb();
win.fromJSON({
r: rgb.r,
g: rgb.g,
b: rgb.b,
hex: color.toHex().substr(1)
});
showPreview(win, color.toHex());
};
var open = function (editor, callback, value) {
var win = editor.windowManager.open({
title: 'Color',
items: {
type: 'container',
layout: 'flex',
direction: 'row',
align: 'stretch',
padding: 5,
spacing: 10,
items: [
{
type: 'colorpicker',
value: value,
onchange: function () {
var rgb = this.rgb();
if (win) {
win.find('#r').value(rgb.r);
win.find('#g').value(rgb.g);
win.find('#b').value(rgb.b);
win.find('#hex').value(this.value().substr(1));
showPreview(win, this.value());
}
}
},
{
type: 'form',
padding: 0,
labelGap: 5,
defaults: {
type: 'textbox',
size: 7,
value: '0',
flex: 1,
spellcheck: false,
var showPreview = function (win, hexColor) {
win.find('#preview')[0].getEl().style.background = hexColor;
};
var setColor = function (win, value) {
var color = global$1(value), rgb = color.toRgb();
win.fromJSON({
r: rgb.r,
g: rgb.g,
b: rgb.b,
hex: color.toHex().substr(1)
});
showPreview(win, color.toHex());
};
var open = function (editor, callback, value) {
var win = editor.windowManager.open({
title: 'Color',
items: {
type: 'container',
layout: 'flex',
direction: 'row',
align: 'stretch',
padding: 5,
spacing: 10,
items: [
{
type: 'colorpicker',
value: value,
onchange: function () {
var colorPickerCtrl = win.find('colorpicker')[0];
var name, value;
name = this.name();
value = this.value();
if (name === 'hex') {
value = '#' + value;
setColor(win, value);
colorPickerCtrl.value(value);
return;
var rgb = this.rgb();
if (win) {
win.find('#r').value(rgb.r);
win.find('#g').value(rgb.g);
win.find('#b').value(rgb.b);
win.find('#hex').value(this.value().substr(1));
showPreview(win, this.value());
}
value = {
r: win.find('#r').value(),
g: win.find('#g').value(),
b: win.find('#b').value()
};
colorPickerCtrl.value(value);
setColor(win, value);
}
},
items: [
{
name: 'r',
label: 'R',
autofocus: 1
{
type: 'form',
padding: 0,
labelGap: 5,
defaults: {
type: 'textbox',
size: 7,
value: '0',
flex: 1,
spellcheck: false,
onchange: function () {
var colorPickerCtrl = win.find('colorpicker')[0];
var name, value;
name = this.name();
value = this.value();
if (name === 'hex') {
value = '#' + value;
setColor(win, value);
colorPickerCtrl.value(value);
return;
}
value = {
r: win.find('#r').value(),
g: win.find('#g').value(),
b: win.find('#b').value()
};
colorPickerCtrl.value(value);
setColor(win, value);
}
},
{
name: 'g',
label: 'G'
},
{
name: 'b',
label: 'B'
},
{
name: 'hex',
label: '#',
value: '000000'
},
{
name: 'preview',
type: 'container',
border: 1
}
]
}
]
},
onSubmit: function () {
callback('#' + win.toJSON().hex);
items: [
{
name: 'r',
label: 'R',
autofocus: 1
},
{
name: 'g',
label: 'G'
},
{
name: 'b',
label: 'B'
},
{
name: 'hex',
label: '#',
value: '000000'
},
{
name: 'preview',
type: 'container',
border: 1
}
]
}
]
},
onSubmit: function () {
callback('#' + win.toJSON().hex);
}
});
setColor(win, value);
};
var Dialog = { open: open };
global.add('colorpicker', function (editor) {
if (!editor.settings.color_picker_callback) {
editor.settings.color_picker_callback = function (callback, value) {
Dialog.open(editor, callback, value);
};
}
});
setColor(win, value);
};
var $_5qw23qa8jh8lpujn = { open: open };
global.add('colorpicker', function (editor) {
if (!editor.settings.color_picker_callback) {
editor.settings.color_picker_callback = function (callback, value) {
$_5qw23qa8jh8lpujn.open(editor, callback, value);
};
function Plugin () {
}
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
@@ -1,168 +1,168 @@
(function () {
var contextmenu = (function () {
'use strict';
'use strict';
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
};
var set = function (v) {
value = v;
};
var clone = function () {
return Cell(get());
};
return {
get: get,
set: set,
clone: clone
};
};
var set = function (v) {
value = v;
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var get = function (visibleState) {
var isContextMenuVisible = function () {
return visibleState.get();
};
return { isContextMenuVisible: isContextMenuVisible };
};
var clone = function () {
return Cell(get());
var Api = { get: get };
var shouldNeverUseNative = function (editor) {
return editor.settings.contextmenu_never_use_native;
};
return {
get: get,
set: set,
clone: clone
var getContextMenu = function (editor) {
return editor.getParam('contextmenu', 'link openlink image inserttable | cell row column deletetable');
};
};
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var get = function (visibleState) {
var isContextMenuVisible = function () {
return visibleState.get();
var Settings = {
shouldNeverUseNative: shouldNeverUseNative,
getContextMenu: getContextMenu
};
return { isContextMenuVisible: isContextMenuVisible };
};
var $_1plr87adjh8lpuk3 = { get: get };
var shouldNeverUseNative = function (editor) {
return editor.settings.contextmenu_never_use_native;
};
var getContextMenu = function (editor) {
return editor.getParam('contextmenu', 'link openlink image inserttable | cell row column deletetable');
};
var $_aqpwplafjh8lpuk5 = {
shouldNeverUseNative: shouldNeverUseNative,
getContextMenu: getContextMenu
};
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var getUiContainer = function (editor) {
return global$1.DOM.select(editor.settings.ui_container)[0];
};
var nu = function (x, y) {
return {
x: x,
y: y
var getUiContainer = function (editor) {
return global$1.DOM.select(editor.settings.ui_container)[0];
};
};
var transpose = function (pos, dx, dy) {
return nu(pos.x + dx, pos.y + dy);
};
var fromPageXY = function (e) {
return nu(e.pageX, e.pageY);
};
var fromClientXY = function (e) {
return nu(e.clientX, e.clientY);
};
var transposeUiContainer = function (element, pos) {
if (element && global$1.DOM.getStyle(element, 'position', true) !== 'static') {
var nu = function (x, y) {
return {
x: x,
y: y
};
};
var transpose = function (pos, dx, dy) {
return nu(pos.x + dx, pos.y + dy);
};
var fromPageXY = function (e) {
return nu(e.pageX, e.pageY);
};
var fromClientXY = function (e) {
return nu(e.clientX, e.clientY);
};
var transposeUiContainer = function (element, pos) {
if (element && global$1.DOM.getStyle(element, 'position', true) !== 'static') {
var containerPos = global$1.DOM.getPos(element);
var dx = containerPos.x - element.scrollLeft;
var dy = containerPos.y - element.scrollTop;
return transpose(pos, -dx, -dy);
} else {
return transpose(pos, 0, 0);
}
};
var transposeContentAreaContainer = function (element, pos) {
var containerPos = global$1.DOM.getPos(element);
var dx = containerPos.x - element.scrollLeft;
var dy = containerPos.y - element.scrollTop;
return transpose(pos, -dx, -dy);
} else {
return transpose(pos, 0, 0);
}
};
var transposeContentAreaContainer = function (element, pos) {
var containerPos = global$1.DOM.getPos(element);
return transpose(pos, containerPos.x, containerPos.y);
};
var getPos = function (editor, e) {
if (editor.inline) {
return transposeUiContainer(getUiContainer(editor), fromPageXY(e));
} else {
var iframePos = transposeContentAreaContainer(editor.getContentAreaContainer(), fromClientXY(e));
return transposeUiContainer(getUiContainer(editor), iframePos);
}
};
var $_chvtdxagjh8lpuk6 = { getPos: getPos };
var global$2 = tinymce.util.Tools.resolve('tinymce.ui.Factory');
var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var renderMenu = function (editor, visibleState) {
var menu, contextmenu;
var items = [];
contextmenu = $_aqpwplafjh8lpuk5.getContextMenu(editor);
global$3.each(contextmenu.split(/[ ,]/), function (name) {
var item = editor.menuItems[name];
if (name === '|') {
item = { text: name };
return transpose(pos, containerPos.x, containerPos.y);
};
var getPos = function (editor, e) {
if (editor.inline) {
return transposeUiContainer(getUiContainer(editor), fromPageXY(e));
} else {
var iframePos = transposeContentAreaContainer(editor.getContentAreaContainer(), fromClientXY(e));
return transposeUiContainer(getUiContainer(editor), iframePos);
}
if (item) {
item.shortcut = '';
items.push(item);
}
});
for (var i = 0; i < items.length; i++) {
if (items[i].text === '|') {
if (i === 0 || i === items.length - 1) {
items.splice(i, 1);
};
var Coords = { getPos: getPos };
var global$2 = tinymce.util.Tools.resolve('tinymce.ui.Factory');
var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var renderMenu = function (editor, visibleState) {
var menu, contextmenu;
var items = [];
contextmenu = Settings.getContextMenu(editor);
global$3.each(contextmenu.split(/[ ,]/), function (name) {
var item = editor.menuItems[name];
if (name === '|') {
item = { text: name };
}
if (item) {
item.shortcut = '';
items.push(item);
}
});
for (var i = 0; i < items.length; i++) {
if (items[i].text === '|') {
if (i === 0 || i === items.length - 1) {
items.splice(i, 1);
}
}
}
}
menu = global$2.create('menu', {
items: items,
context: 'contextmenu',
classes: 'contextmenu'
});
menu.uiContainer = getUiContainer(editor);
menu.renderTo(getUiContainer(editor));
menu.on('hide', function (e) {
if (e.control === this) {
visibleState.set(false);
menu = global$2.create('menu', {
items: items,
context: 'contextmenu',
classes: 'contextmenu'
});
menu.uiContainer = getUiContainer(editor);
menu.renderTo(getUiContainer(editor));
menu.on('hide', function (e) {
if (e.control === this) {
visibleState.set(false);
}
});
editor.on('remove', function () {
menu.remove();
menu = null;
});
return menu;
};
var show = function (editor, pos, visibleState, menu) {
if (menu.get() === null) {
menu.set(renderMenu(editor, visibleState));
} else {
menu.get().show();
}
menu.get().moveTo(pos.x, pos.y);
visibleState.set(true);
};
var ContextMenu = { show: show };
var isNativeOverrideKeyEvent = function (editor, e) {
return e.ctrlKey && !Settings.shouldNeverUseNative(editor);
};
var setup = function (editor, visibleState, menu) {
editor.on('contextmenu', function (e) {
if (isNativeOverrideKeyEvent(editor, e)) {
return;
}
e.preventDefault();
ContextMenu.show(editor, Coords.getPos(editor, e), visibleState, menu);
});
};
var Bind = { setup: setup };
global.add('contextmenu', function (editor) {
var menu = Cell(null), visibleState = Cell(false);
Bind.setup(editor, visibleState, menu);
return Api.get(visibleState);
});
editor.on('remove', function () {
menu.remove();
menu = null;
});
return menu;
};
var show = function (editor, pos, visibleState, menu) {
if (menu.get() === null) {
menu.set(renderMenu(editor, visibleState));
} else {
menu.get().show();
function Plugin () {
}
menu.get().moveTo(pos.x, pos.y);
visibleState.set(true);
};
var $_5cxb8ajjh8lpukb = { show: show };
var isNativeOverrideKeyEvent = function (editor, e) {
return e.ctrlKey && !$_aqpwplafjh8lpuk5.shouldNeverUseNative(editor);
};
var setup = function (editor, visibleState, menu) {
editor.on('contextmenu', function (e) {
if (isNativeOverrideKeyEvent(editor, e)) {
return;
}
e.preventDefault();
$_5cxb8ajjh8lpukb.show(editor, $_chvtdxagjh8lpuk6.getPos(editor, e), visibleState, menu);
});
};
var $_fqo42laejh8lpuk4 = { setup: setup };
global.add('contextmenu', function (editor) {
var menu = Cell(null), visibleState = Cell(false);
$_fqo42laejh8lpuk4.setup(editor, visibleState, menu);
return $_1plr87adjh8lpuk3.get(visibleState);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
@@ -1,66 +1,66 @@
(function () {
var directionality = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var setDir = function (editor, dir) {
var dom = editor.dom;
var curDir;
var blocks = editor.selection.getSelectedBlocks();
if (blocks.length) {
curDir = dom.getAttrib(blocks[0], 'dir');
global$1.each(blocks, function (block) {
if (!dom.getParent(block.parentNode, '*[dir="' + dir + '"]', dom.getRoot())) {
dom.setAttrib(block, 'dir', curDir !== dir ? dir : null);
}
var setDir = function (editor, dir) {
var dom = editor.dom;
var curDir;
var blocks = editor.selection.getSelectedBlocks();
if (blocks.length) {
curDir = dom.getAttrib(blocks[0], 'dir');
global$1.each(blocks, function (block) {
if (!dom.getParent(block.parentNode, '*[dir="' + dir + '"]', dom.getRoot())) {
dom.setAttrib(block, 'dir', curDir !== dir ? dir : null);
}
});
editor.nodeChanged();
}
};
var Direction = { setDir: setDir };
var register = function (editor) {
editor.addCommand('mceDirectionLTR', function () {
Direction.setDir(editor, 'ltr');
});
editor.nodeChanged();
editor.addCommand('mceDirectionRTL', function () {
Direction.setDir(editor, 'rtl');
});
};
var Commands = { register: register };
var generateSelector = function (dir) {
var selector = [];
global$1.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function (name) {
selector.push(name + '[dir=' + dir + ']');
});
return selector.join(',');
};
var register$1 = function (editor) {
editor.addButton('ltr', {
title: 'Left to right',
cmd: 'mceDirectionLTR',
stateSelector: generateSelector('ltr')
});
editor.addButton('rtl', {
title: 'Right to left',
cmd: 'mceDirectionRTL',
stateSelector: generateSelector('rtl')
});
};
var Buttons = { register: register$1 };
global.add('directionality', function (editor) {
Commands.register(editor);
Buttons.register(editor);
});
function Plugin () {
}
};
var $_buu6krapjh8lpukw = { setDir: setDir };
var register = function (editor) {
editor.addCommand('mceDirectionLTR', function () {
$_buu6krapjh8lpukw.setDir(editor, 'ltr');
});
editor.addCommand('mceDirectionRTL', function () {
$_buu6krapjh8lpukw.setDir(editor, 'rtl');
});
};
var $_3sbtv0aojh8lpukv = { register: register };
var generateSelector = function (dir) {
var selector = [];
global$1.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function (name) {
selector.push(name + '[dir=' + dir + ']');
});
return selector.join(',');
};
var register$1 = function (editor) {
editor.addButton('ltr', {
title: 'Left to right',
cmd: 'mceDirectionLTR',
stateSelector: generateSelector('ltr')
});
editor.addButton('rtl', {
title: 'Right to left',
cmd: 'mceDirectionRTL',
stateSelector: generateSelector('rtl')
});
};
var $_bdjfw5arjh8lpuky = { register: register$1 };
global.add('directionality', function (editor) {
$_3sbtv0aojh8lpukv.register(editor);
$_bdjfw5arjh8lpuky.register(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
@@ -1,87 +1,87 @@
(function () {
var emoticons = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var emoticons = [
[
'cool',
'cry',
'embarassed',
'foot-in-mouth'
],
[
'frown',
'innocent',
'kiss',
'laughing'
],
[
'money-mouth',
'sealed',
'smile',
'surprised'
],
[
'tongue-out',
'undecided',
'wink',
'yell'
]
];
var getHtml = function (pluginUrl) {
var emoticonsHtml;
emoticonsHtml = '<table role="list" class="mce-grid">';
global$1.each(emoticons, function (row) {
emoticonsHtml += '<tr>';
global$1.each(row, function (icon) {
var emoticonUrl = pluginUrl + '/img/smiley-' + icon + '.gif';
emoticonsHtml += '<td><a href="#" data-mce-url="' + emoticonUrl + '" data-mce-alt="' + icon + '" tabindex="-1" ' + 'role="option" aria-label="' + icon + '"><img src="' + emoticonUrl + '" style="width: 18px; height: 18px" role="presentation" /></a></td>';
var emoticons = [
[
'cool',
'cry',
'embarassed',
'foot-in-mouth'
],
[
'frown',
'innocent',
'kiss',
'laughing'
],
[
'money-mouth',
'sealed',
'smile',
'surprised'
],
[
'tongue-out',
'undecided',
'wink',
'yell'
]
];
var getHtml = function (pluginUrl) {
var emoticonsHtml;
emoticonsHtml = '<table role="list" class="mce-grid">';
global$1.each(emoticons, function (row) {
emoticonsHtml += '<tr>';
global$1.each(row, function (icon) {
var emoticonUrl = pluginUrl + '/img/smiley-' + icon + '.gif';
emoticonsHtml += '<td><a href="#" data-mce-url="' + emoticonUrl + '" data-mce-alt="' + icon + '" tabindex="-1" ' + 'role="option" aria-label="' + icon + '"><img src="' + emoticonUrl + '" style="width: 18px; height: 18px" role="presentation" /></a></td>';
});
emoticonsHtml += '</tr>';
});
emoticonsHtml += '</tr>';
});
emoticonsHtml += '</table>';
return emoticonsHtml;
};
var $_ty332avjh8lpul9 = { getHtml: getHtml };
emoticonsHtml += '</table>';
return emoticonsHtml;
};
var PanelHtml = { getHtml: getHtml };
var insertEmoticon = function (editor, src, alt) {
editor.insertContent(editor.dom.createHTML('img', {
src: src,
alt: alt
}));
};
var register = function (editor, pluginUrl) {
var panelHtml = $_ty332avjh8lpul9.getHtml(pluginUrl);
editor.addButton('emoticons', {
type: 'panelbutton',
panel: {
role: 'application',
autohide: true,
html: panelHtml,
onclick: function (e) {
var linkElm = editor.dom.getParent(e.target, 'a');
if (linkElm) {
insertEmoticon(editor, linkElm.getAttribute('data-mce-url'), linkElm.getAttribute('data-mce-alt'));
this.hide();
var insertEmoticon = function (editor, src, alt) {
editor.insertContent(editor.dom.createHTML('img', {
src: src,
alt: alt
}));
};
var register = function (editor, pluginUrl) {
var panelHtml = PanelHtml.getHtml(pluginUrl);
editor.addButton('emoticons', {
type: 'panelbutton',
panel: {
role: 'application',
autohide: true,
html: panelHtml,
onclick: function (e) {
var linkElm = editor.dom.getParent(e.target, 'a');
if (linkElm) {
insertEmoticon(editor, linkElm.getAttribute('data-mce-url'), linkElm.getAttribute('data-mce-alt'));
this.hide();
}
}
}
},
tooltip: 'Emoticons'
},
tooltip: 'Emoticons'
});
};
var Buttons = { register: register };
global.add('emoticons', function (editor, pluginUrl) {
Buttons.register(editor, pluginUrl);
});
};
var $_5iodwqaujh8lpul7 = { register: register };
function Plugin () {
}
global.add('emoticons', function (editor, pluginUrl) {
$_5iodwqaujh8lpul7.register(editor, pluginUrl);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
File diff suppressed because it is too large Load Diff
@@ -1,177 +1,177 @@
(function () {
var fullscreen = (function () {
'use strict';
var fullscreen = (function (domGlobals) {
'use strict';
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
};
var set = function (v) {
value = v;
};
var clone = function () {
return Cell(get());
};
return {
get: get,
set: set,
clone: clone
};
};
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var get = function (fullscreenState) {
return {
isFullscreen: function () {
return fullscreenState.get() !== null;
}
};
};
var $_id7tbbzjh8lpupt = { get: get };
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var fireFullscreenStateChanged = function (editor, state) {
editor.fire('FullscreenStateChanged', { state: state });
};
var $_i7kzec3jh8lpupz = { fireFullscreenStateChanged: fireFullscreenStateChanged };
var DOM = global$1.DOM;
var getWindowSize = function () {
var w;
var h;
var win = window;
var doc = document;
var body = doc.body;
if (body.offsetWidth) {
w = body.offsetWidth;
h = body.offsetHeight;
}
if (win.innerWidth && win.innerHeight) {
w = win.innerWidth;
h = win.innerHeight;
}
return {
w: w,
h: h
};
};
var getScrollPos = function () {
var vp = DOM.getViewPort();
return {
x: vp.x,
y: vp.y
};
};
var setScrollPos = function (pos) {
window.scrollTo(pos.x, pos.y);
};
var toggleFullscreen = function (editor, fullscreenState) {
var body = document.body;
var documentElement = document.documentElement;
var editorContainerStyle;
var editorContainer, iframe, iframeStyle;
var fullscreenInfo = fullscreenState.get();
var resize = function () {
DOM.setStyle(iframe, 'height', getWindowSize().h - (editorContainer.clientHeight - iframe.clientHeight));
};
var removeResize = function () {
DOM.unbind(window, 'resize', resize);
};
editorContainer = editor.getContainer();
editorContainerStyle = editorContainer.style;
iframe = editor.getContentAreaContainer().firstChild;
iframeStyle = iframe.style;
if (!fullscreenInfo) {
var newFullScreenInfo = {
scrollPos: getScrollPos(),
containerWidth: editorContainerStyle.width,
containerHeight: editorContainerStyle.height,
iframeWidth: iframeStyle.width,
iframeHeight: iframeStyle.height,
resizeHandler: resize,
removeHandler: removeResize
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
};
iframeStyle.width = iframeStyle.height = '100%';
editorContainerStyle.width = editorContainerStyle.height = '';
DOM.addClass(body, 'mce-fullscreen');
DOM.addClass(documentElement, 'mce-fullscreen');
DOM.addClass(editorContainer, 'mce-fullscreen');
DOM.bind(window, 'resize', resize);
editor.on('remove', removeResize);
resize();
fullscreenState.set(newFullScreenInfo);
$_i7kzec3jh8lpupz.fireFullscreenStateChanged(editor, true);
} else {
iframeStyle.width = fullscreenInfo.iframeWidth;
iframeStyle.height = fullscreenInfo.iframeHeight;
if (fullscreenInfo.containerWidth) {
editorContainerStyle.width = fullscreenInfo.containerWidth;
}
if (fullscreenInfo.containerHeight) {
editorContainerStyle.height = fullscreenInfo.containerHeight;
}
DOM.removeClass(body, 'mce-fullscreen');
DOM.removeClass(documentElement, 'mce-fullscreen');
DOM.removeClass(editorContainer, 'mce-fullscreen');
setScrollPos(fullscreenInfo.scrollPos);
DOM.unbind(window, 'resize', fullscreenInfo.resizeHandler);
editor.off('remove', fullscreenInfo.removeHandler);
fullscreenState.set(null);
$_i7kzec3jh8lpupz.fireFullscreenStateChanged(editor, false);
}
};
var $_971qctc1jh8lpupv = { toggleFullscreen: toggleFullscreen };
var set = function (v) {
value = v;
};
var clone = function () {
return Cell(get());
};
return {
get: get,
set: set,
clone: clone
};
};
var register = function (editor, fullscreenState) {
editor.addCommand('mceFullScreen', function () {
$_971qctc1jh8lpupv.toggleFullscreen(editor, fullscreenState);
});
};
var $_7y4syjc0jh8lpupt = { register: register };
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var postRender = function (editor) {
return function (e) {
var ctrl = e.control;
editor.on('FullscreenStateChanged', function (e) {
ctrl.active(e.state);
var get = function (fullscreenState) {
return {
isFullscreen: function () {
return fullscreenState.get() !== null;
}
};
};
var Api = { get: get };
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var fireFullscreenStateChanged = function (editor, state) {
editor.fire('FullscreenStateChanged', { state: state });
};
var Events = { fireFullscreenStateChanged: fireFullscreenStateChanged };
var DOM = global$1.DOM;
var getWindowSize = function () {
var w;
var h;
var win = domGlobals.window;
var doc = domGlobals.document;
var body = doc.body;
if (body.offsetWidth) {
w = body.offsetWidth;
h = body.offsetHeight;
}
if (win.innerWidth && win.innerHeight) {
w = win.innerWidth;
h = win.innerHeight;
}
return {
w: w,
h: h
};
};
var getScrollPos = function () {
var vp = DOM.getViewPort();
return {
x: vp.x,
y: vp.y
};
};
var setScrollPos = function (pos) {
domGlobals.window.scrollTo(pos.x, pos.y);
};
var toggleFullscreen = function (editor, fullscreenState) {
var body = domGlobals.document.body;
var documentElement = domGlobals.document.documentElement;
var editorContainerStyle;
var editorContainer, iframe, iframeStyle;
var fullscreenInfo = fullscreenState.get();
var resize = function () {
DOM.setStyle(iframe, 'height', getWindowSize().h - (editorContainer.clientHeight - iframe.clientHeight));
};
var removeResize = function () {
DOM.unbind(domGlobals.window, 'resize', resize);
};
editorContainer = editor.getContainer();
editorContainerStyle = editorContainer.style;
iframe = editor.getContentAreaContainer().firstChild;
iframeStyle = iframe.style;
if (!fullscreenInfo) {
var newFullScreenInfo = {
scrollPos: getScrollPos(),
containerWidth: editorContainerStyle.width,
containerHeight: editorContainerStyle.height,
iframeWidth: iframeStyle.width,
iframeHeight: iframeStyle.height,
resizeHandler: resize,
removeHandler: removeResize
};
iframeStyle.width = iframeStyle.height = '100%';
editorContainerStyle.width = editorContainerStyle.height = '';
DOM.addClass(body, 'mce-fullscreen');
DOM.addClass(documentElement, 'mce-fullscreen');
DOM.addClass(editorContainer, 'mce-fullscreen');
DOM.bind(domGlobals.window, 'resize', resize);
editor.on('remove', removeResize);
resize();
fullscreenState.set(newFullScreenInfo);
Events.fireFullscreenStateChanged(editor, true);
} else {
iframeStyle.width = fullscreenInfo.iframeWidth;
iframeStyle.height = fullscreenInfo.iframeHeight;
if (fullscreenInfo.containerWidth) {
editorContainerStyle.width = fullscreenInfo.containerWidth;
}
if (fullscreenInfo.containerHeight) {
editorContainerStyle.height = fullscreenInfo.containerHeight;
}
DOM.removeClass(body, 'mce-fullscreen');
DOM.removeClass(documentElement, 'mce-fullscreen');
DOM.removeClass(editorContainer, 'mce-fullscreen');
setScrollPos(fullscreenInfo.scrollPos);
DOM.unbind(domGlobals.window, 'resize', fullscreenInfo.resizeHandler);
editor.off('remove', fullscreenInfo.removeHandler);
fullscreenState.set(null);
Events.fireFullscreenStateChanged(editor, false);
}
};
var Actions = { toggleFullscreen: toggleFullscreen };
var register = function (editor, fullscreenState) {
editor.addCommand('mceFullScreen', function () {
Actions.toggleFullscreen(editor, fullscreenState);
});
};
};
var register$1 = function (editor) {
editor.addMenuItem('fullscreen', {
text: 'Fullscreen',
shortcut: 'Ctrl+Shift+F',
selectable: true,
cmd: 'mceFullScreen',
onPostRender: postRender(editor),
context: 'view'
});
editor.addButton('fullscreen', {
active: false,
tooltip: 'Fullscreen',
cmd: 'mceFullScreen',
onPostRender: postRender(editor)
});
};
var $_492blpc4jh8lpuq0 = { register: register$1 };
var Commands = { register: register };
global.add('fullscreen', function (editor) {
var fullscreenState = Cell(null);
if (editor.settings.inline) {
return $_id7tbbzjh8lpupt.get(fullscreenState);
var postRender = function (editor) {
return function (e) {
var ctrl = e.control;
editor.on('FullscreenStateChanged', function (e) {
ctrl.active(e.state);
});
};
};
var register$1 = function (editor) {
editor.addMenuItem('fullscreen', {
text: 'Fullscreen',
shortcut: 'Ctrl+Shift+F',
selectable: true,
cmd: 'mceFullScreen',
onPostRender: postRender(editor),
context: 'view'
});
editor.addButton('fullscreen', {
active: false,
tooltip: 'Fullscreen',
cmd: 'mceFullScreen',
onPostRender: postRender(editor)
});
};
var Buttons = { register: register$1 };
global.add('fullscreen', function (editor) {
var fullscreenState = Cell(null);
if (editor.settings.inline) {
return Api.get(fullscreenState);
}
Commands.register(editor, fullscreenState);
Buttons.register(editor);
editor.addShortcut('Ctrl+Shift+F', '', 'mceFullScreen');
return Api.get(fullscreenState);
});
function Plugin () {
}
$_7y4syjc0jh8lpupt.register(editor, fullscreenState);
$_492blpc4jh8lpuq0.register(editor);
editor.addShortcut('Ctrl+Shift+F', '', 'mceFullScreen');
return $_id7tbbzjh8lpupt.get(fullscreenState);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
}(window));
})();
@@ -1 +1 @@
!function(){"use strict";var i=function(e){var n=e,t=function(){return n};return{get:t,set:function(e){n=e},clone:function(){return i(t())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return{isFullscreen:function(){return null!==e.get()}}},n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),m=function(e,n){e.fire("FullscreenStateChanged",{state:n})},g=n.DOM,r=function(e,n){var t,r,l,i,o,c,s=document.body,u=document.documentElement,d=n.get(),a=function(){var e,n,t,i;g.setStyle(l,"height",(t=window,i=document.body,i.offsetWidth&&(e=i.offsetWidth,n=i.offsetHeight),t.innerWidth&&t.innerHeight&&(e=t.innerWidth,n=t.innerHeight),{w:e,h:n}).h-(r.clientHeight-l.clientHeight))},h=function(){g.unbind(window,"resize",a)};if(t=(r=e.getContainer()).style,i=(l=e.getContentAreaContainer().firstChild).style,d)i.width=d.iframeWidth,i.height=d.iframeHeight,d.containerWidth&&(t.width=d.containerWidth),d.containerHeight&&(t.height=d.containerHeight),g.removeClass(s,"mce-fullscreen"),g.removeClass(u,"mce-fullscreen"),g.removeClass(r,"mce-fullscreen"),o=d.scrollPos,window.scrollTo(o.x,o.y),g.unbind(window,"resize",d.resizeHandler),e.off("remove",d.removeHandler),n.set(null),m(e,!1);else{var f={scrollPos:(c=g.getViewPort(),{x:c.x,y:c.y}),containerWidth:t.width,containerHeight:t.height,iframeWidth:i.width,iframeHeight:i.height,resizeHandler:a,removeHandler:h};i.width=i.height="100%",t.width=t.height="",g.addClass(s,"mce-fullscreen"),g.addClass(u,"mce-fullscreen"),g.addClass(r,"mce-fullscreen"),g.bind(window,"resize",a),e.on("remove",h),a(),n.set(f),m(e,!0)}},l=function(e,n){e.addCommand("mceFullScreen",function(){r(e,n)})},o=function(t){return function(e){var n=e.control;t.on("FullscreenStateChanged",function(e){n.active(e.state)})}},c=function(e){e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Shift+F",selectable:!0,cmd:"mceFullScreen",onPostRender:o(e),context:"view"}),e.addButton("fullscreen",{active:!1,tooltip:"Fullscreen",cmd:"mceFullScreen",onPostRender:o(e)})};e.add("fullscreen",function(e){var n=i(null);return e.settings.inline||(l(e,n),c(e),e.addShortcut("Ctrl+Shift+F","","mceFullScreen")),t(n)})}();
!function(m){"use strict";var i=function(e){var n=e,t=function(){return n};return{get:t,set:function(e){n=e},clone:function(){return i(t())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return{isFullscreen:function(){return null!==e.get()}}},n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),g=function(e,n){e.fire("FullscreenStateChanged",{state:n})},w=n.DOM,r=function(e,n){var t,r,l,i,o,c,s=m.document.body,u=m.document.documentElement,d=n.get(),a=function(){var e,n,t,i;w.setStyle(l,"height",(t=m.window,i=m.document.body,i.offsetWidth&&(e=i.offsetWidth,n=i.offsetHeight),t.innerWidth&&t.innerHeight&&(e=t.innerWidth,n=t.innerHeight),{w:e,h:n}).h-(r.clientHeight-l.clientHeight))},h=function(){w.unbind(m.window,"resize",a)};if(t=(r=e.getContainer()).style,i=(l=e.getContentAreaContainer().firstChild).style,d)i.width=d.iframeWidth,i.height=d.iframeHeight,d.containerWidth&&(t.width=d.containerWidth),d.containerHeight&&(t.height=d.containerHeight),w.removeClass(s,"mce-fullscreen"),w.removeClass(u,"mce-fullscreen"),w.removeClass(r,"mce-fullscreen"),o=d.scrollPos,m.window.scrollTo(o.x,o.y),w.unbind(m.window,"resize",d.resizeHandler),e.off("remove",d.removeHandler),n.set(null),g(e,!1);else{var f={scrollPos:(c=w.getViewPort(),{x:c.x,y:c.y}),containerWidth:t.width,containerHeight:t.height,iframeWidth:i.width,iframeHeight:i.height,resizeHandler:a,removeHandler:h};i.width=i.height="100%",t.width=t.height="",w.addClass(s,"mce-fullscreen"),w.addClass(u,"mce-fullscreen"),w.addClass(r,"mce-fullscreen"),w.bind(m.window,"resize",a),e.on("remove",h),a(),n.set(f),g(e,!0)}},l=function(e,n){e.addCommand("mceFullScreen",function(){r(e,n)})},o=function(t){return function(e){var n=e.control;t.on("FullscreenStateChanged",function(e){n.active(e.state)})}},c=function(e){e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Shift+F",selectable:!0,cmd:"mceFullScreen",onPostRender:o(e),context:"view"}),e.addButton("fullscreen",{active:!1,tooltip:"Fullscreen",cmd:"mceFullScreen",onPostRender:o(e)})};e.add("fullscreen",function(e){var n=i(null);return e.settings.inline||(l(e,n),c(e),e.addShortcut("Ctrl+Shift+F","","mceFullScreen")),t(n)})}(window);
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+30 -30
View File
@@ -1,39 +1,39 @@
(function () {
var hr = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var register = function (editor) {
editor.addCommand('InsertHorizontalRule', function () {
editor.execCommand('mceInsertContent', false, '<hr />');
var register = function (editor) {
editor.addCommand('InsertHorizontalRule', function () {
editor.execCommand('mceInsertContent', false, '<hr />');
});
};
var Commands = { register: register };
var register$1 = function (editor) {
editor.addButton('hr', {
icon: 'hr',
tooltip: 'Horizontal line',
cmd: 'InsertHorizontalRule'
});
editor.addMenuItem('hr', {
icon: 'hr',
text: 'Horizontal line',
cmd: 'InsertHorizontalRule',
context: 'insert'
});
};
var Buttons = { register: register$1 };
global.add('hr', function (editor) {
Commands.register(editor);
Buttons.register(editor);
});
};
var $_fvts64c7jh8lpuqd = { register: register };
function Plugin () {
}
var register$1 = function (editor) {
editor.addButton('hr', {
icon: 'hr',
tooltip: 'Horizontal line',
cmd: 'InsertHorizontalRule'
});
editor.addMenuItem('hr', {
icon: 'hr',
text: 'Horizontal line',
cmd: 'InsertHorizontalRule',
context: 'insert'
});
};
var $_fzoakwc8jh8lpuqe = { register: register$1 };
global.add('hr', function (editor) {
$_fvts64c7jh8lpuqd.register(editor);
$_fzoakwc8jh8lpuqe.register(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -1,264 +1,264 @@
(function () {
var importcss = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$2 = tinymce.util.Tools.resolve('tinymce.EditorManager');
var global$2 = tinymce.util.Tools.resolve('tinymce.EditorManager');
var global$3 = tinymce.util.Tools.resolve('tinymce.Env');
var global$3 = tinymce.util.Tools.resolve('tinymce.Env');
var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var shouldMergeClasses = function (editor) {
return editor.getParam('importcss_merge_classes');
};
var shouldImportExclusive = function (editor) {
return editor.getParam('importcss_exclusive');
};
var getSelectorConverter = function (editor) {
return editor.getParam('importcss_selector_converter');
};
var getSelectorFilter = function (editor) {
return editor.getParam('importcss_selector_filter');
};
var getCssGroups = function (editor) {
return editor.getParam('importcss_groups');
};
var shouldAppend = function (editor) {
return editor.getParam('importcss_append');
};
var getFileFilter = function (editor) {
return editor.getParam('importcss_file_filter');
};
var $_2w9p4lerjh8lpv3v = {
shouldMergeClasses: shouldMergeClasses,
shouldImportExclusive: shouldImportExclusive,
getSelectorConverter: getSelectorConverter,
getSelectorFilter: getSelectorFilter,
getCssGroups: getCssGroups,
shouldAppend: shouldAppend,
getFileFilter: getFileFilter
};
var shouldMergeClasses = function (editor) {
return editor.getParam('importcss_merge_classes');
};
var shouldImportExclusive = function (editor) {
return editor.getParam('importcss_exclusive');
};
var getSelectorConverter = function (editor) {
return editor.getParam('importcss_selector_converter');
};
var getSelectorFilter = function (editor) {
return editor.getParam('importcss_selector_filter');
};
var getCssGroups = function (editor) {
return editor.getParam('importcss_groups');
};
var shouldAppend = function (editor) {
return editor.getParam('importcss_append');
};
var getFileFilter = function (editor) {
return editor.getParam('importcss_file_filter');
};
var Settings = {
shouldMergeClasses: shouldMergeClasses,
shouldImportExclusive: shouldImportExclusive,
getSelectorConverter: getSelectorConverter,
getSelectorFilter: getSelectorFilter,
getCssGroups: getCssGroups,
shouldAppend: shouldAppend,
getFileFilter: getFileFilter
};
var removeCacheSuffix = function (url) {
var cacheSuffix = global$3.cacheSuffix;
if (typeof url === 'string') {
url = url.replace('?' + cacheSuffix, '').replace('&' + cacheSuffix, '');
}
return url;
};
var isSkinContentCss = function (editor, href) {
var settings = editor.settings, skin = settings.skin !== false ? settings.skin || 'lightgray' : false;
if (skin) {
var skinUrl = settings.skin_url ? editor.documentBaseURI.toAbsolute(settings.skin_url) : global$2.baseURL + '/skins/' + skin;
return href === skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css';
}
return false;
};
var compileFilter = function (filter) {
if (typeof filter === 'string') {
return function (value) {
return value.indexOf(filter) !== -1;
};
} else if (filter instanceof RegExp) {
return function (value) {
return filter.test(value);
};
}
return filter;
};
var getSelectors = function (editor, doc, fileFilter) {
var selectors = [], contentCSSUrls = {};
function append(styleSheet, imported) {
var href = styleSheet.href, rules;
href = removeCacheSuffix(href);
if (!href || !fileFilter(href, imported) || isSkinContentCss(editor, href)) {
return;
var removeCacheSuffix = function (url) {
var cacheSuffix = global$3.cacheSuffix;
if (typeof url === 'string') {
url = url.replace('?' + cacheSuffix, '').replace('&' + cacheSuffix, '');
}
global$4.each(styleSheet.imports, function (styleSheet) {
append(styleSheet, true);
});
try {
rules = styleSheet.cssRules || styleSheet.rules;
} catch (e) {
return url;
};
var isSkinContentCss = function (editor, href) {
var settings = editor.settings, skin = settings.skin !== false ? settings.skin || 'lightgray' : false;
if (skin) {
var skinUrl = settings.skin_url ? editor.documentBaseURI.toAbsolute(settings.skin_url) : global$2.baseURL + '/skins/' + skin;
return href === skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css';
}
global$4.each(rules, function (cssRule) {
if (cssRule.styleSheet) {
append(cssRule.styleSheet, true);
} else if (cssRule.selectorText) {
global$4.each(cssRule.selectorText.split(','), function (selector) {
selectors.push(global$4.trim(selector));
});
return false;
};
var compileFilter = function (filter) {
if (typeof filter === 'string') {
return function (value) {
return value.indexOf(filter) !== -1;
};
} else if (filter instanceof RegExp) {
return function (value) {
return filter.test(value);
};
}
return filter;
};
var getSelectors = function (editor, doc, fileFilter) {
var selectors = [], contentCSSUrls = {};
function append(styleSheet, imported) {
var href = styleSheet.href, rules;
href = removeCacheSuffix(href);
if (!href || !fileFilter(href, imported) || isSkinContentCss(editor, href)) {
return;
}
});
}
global$4.each(editor.contentCSS, function (url) {
contentCSSUrls[url] = true;
});
if (!fileFilter) {
fileFilter = function (href, imported) {
return imported || contentCSSUrls[href];
};
}
try {
global$4.each(doc.styleSheets, function (styleSheet) {
append(styleSheet);
});
} catch (e) {
}
return selectors;
};
var defaultConvertSelectorToFormat = function (editor, selectorText) {
var format;
var selector = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText);
if (!selector) {
return;
}
var elementName = selector[1];
var classes = selector[2].substr(1).split('.').join(' ');
var inlineSelectorElements = global$4.makeMap('a,img');
if (selector[1]) {
format = { title: selectorText };
if (editor.schema.getTextBlockElements()[elementName]) {
format.block = elementName;
} else if (editor.schema.getBlockElements()[elementName] || inlineSelectorElements[elementName.toLowerCase()]) {
format.selector = elementName;
} else {
format.inline = elementName;
}
} else if (selector[2]) {
format = {
inline: 'span',
title: selectorText.substr(1),
classes: classes
};
}
if ($_2w9p4lerjh8lpv3v.shouldMergeClasses(editor) !== false) {
format.classes = classes;
} else {
format.attributes = { class: classes };
}
return format;
};
var getGroupsBySelector = function (groups, selector) {
return global$4.grep(groups, function (group) {
return !group.filter || group.filter(selector);
});
};
var compileUserDefinedGroups = function (groups) {
return global$4.map(groups, function (group) {
return global$4.extend({}, group, {
original: group,
selectors: {},
filter: compileFilter(group.filter),
item: {
text: group.title,
menu: []
global$4.each(styleSheet.imports, function (styleSheet) {
append(styleSheet, true);
});
try {
rules = styleSheet.cssRules || styleSheet.rules;
} catch (e) {
}
});
});
};
var isExclusiveMode = function (editor, group) {
return group === null || $_2w9p4lerjh8lpv3v.shouldImportExclusive(editor) !== false;
};
var isUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
return !(isExclusiveMode(editor, group) ? selector in globallyUniqueSelectors : selector in group.selectors);
};
var markUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
if (isExclusiveMode(editor, group)) {
globallyUniqueSelectors[selector] = true;
} else {
group.selectors[selector] = true;
}
};
var convertSelectorToFormat = function (editor, plugin, selector, group) {
var selectorConverter;
if (group && group.selector_converter) {
selectorConverter = group.selector_converter;
} else if ($_2w9p4lerjh8lpv3v.getSelectorConverter(editor)) {
selectorConverter = $_2w9p4lerjh8lpv3v.getSelectorConverter(editor);
} else {
selectorConverter = function () {
return defaultConvertSelectorToFormat(editor, selector);
};
}
return selectorConverter.call(plugin, selector, group);
};
var setup = function (editor) {
editor.on('renderFormatsMenu', function (e) {
var globallyUniqueSelectors = {};
var selectorFilter = compileFilter($_2w9p4lerjh8lpv3v.getSelectorFilter(editor)), ctrl = e.control;
var groups = compileUserDefinedGroups($_2w9p4lerjh8lpv3v.getCssGroups(editor));
var processSelector = function (selector, group) {
if (isUniqueSelector(editor, selector, group, globallyUniqueSelectors)) {
markUniqueSelector(editor, selector, group, globallyUniqueSelectors);
var format = convertSelectorToFormat(editor, editor.plugins.importcss, selector, group);
if (format) {
var formatName = format.name || global$1.DOM.uniqueId();
editor.formatter.register(formatName, format);
return global$4.extend({}, ctrl.settings.itemDefaults, {
text: format.title,
format: formatName
global$4.each(rules, function (cssRule) {
if (cssRule.styleSheet) {
append(cssRule.styleSheet, true);
} else if (cssRule.selectorText) {
global$4.each(cssRule.selectorText.split(','), function (selector) {
selectors.push(global$4.trim(selector));
});
}
}
return null;
};
if (!$_2w9p4lerjh8lpv3v.shouldAppend(editor)) {
ctrl.items().remove();
});
}
global$4.each(getSelectors(editor, e.doc || editor.getDoc(), compileFilter($_2w9p4lerjh8lpv3v.getFileFilter(editor))), function (selector) {
if (selector.indexOf('.mce-') === -1) {
if (!selectorFilter || selectorFilter(selector)) {
var selectorGroups = getGroupsBySelector(groups, selector);
if (selectorGroups.length > 0) {
global$4.each(selectorGroups, function (group) {
var menuItem = processSelector(selector, group);
if (menuItem) {
group.item.menu.push(menuItem);
}
global$4.each(editor.contentCSS, function (url) {
contentCSSUrls[url] = true;
});
if (!fileFilter) {
fileFilter = function (href, imported) {
return imported || contentCSSUrls[href];
};
}
try {
global$4.each(doc.styleSheets, function (styleSheet) {
append(styleSheet);
});
} catch (e) {
}
return selectors;
};
var defaultConvertSelectorToFormat = function (editor, selectorText) {
var format;
var selector = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText);
if (!selector) {
return;
}
var elementName = selector[1];
var classes = selector[2].substr(1).split('.').join(' ');
var inlineSelectorElements = global$4.makeMap('a,img');
if (selector[1]) {
format = { title: selectorText };
if (editor.schema.getTextBlockElements()[elementName]) {
format.block = elementName;
} else if (editor.schema.getBlockElements()[elementName] || inlineSelectorElements[elementName.toLowerCase()]) {
format.selector = elementName;
} else {
format.inline = elementName;
}
} else if (selector[2]) {
format = {
inline: 'span',
title: selectorText.substr(1),
classes: classes
};
}
if (Settings.shouldMergeClasses(editor) !== false) {
format.classes = classes;
} else {
format.attributes = { class: classes };
}
return format;
};
var getGroupsBySelector = function (groups, selector) {
return global$4.grep(groups, function (group) {
return !group.filter || group.filter(selector);
});
};
var compileUserDefinedGroups = function (groups) {
return global$4.map(groups, function (group) {
return global$4.extend({}, group, {
original: group,
selectors: {},
filter: compileFilter(group.filter),
item: {
text: group.title,
menu: []
}
});
});
};
var isExclusiveMode = function (editor, group) {
return group === null || Settings.shouldImportExclusive(editor) !== false;
};
var isUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
return !(isExclusiveMode(editor, group) ? selector in globallyUniqueSelectors : selector in group.selectors);
};
var markUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
if (isExclusiveMode(editor, group)) {
globallyUniqueSelectors[selector] = true;
} else {
group.selectors[selector] = true;
}
};
var convertSelectorToFormat = function (editor, plugin, selector, group) {
var selectorConverter;
if (group && group.selector_converter) {
selectorConverter = group.selector_converter;
} else if (Settings.getSelectorConverter(editor)) {
selectorConverter = Settings.getSelectorConverter(editor);
} else {
selectorConverter = function () {
return defaultConvertSelectorToFormat(editor, selector);
};
}
return selectorConverter.call(plugin, selector, group);
};
var setup = function (editor) {
editor.on('renderFormatsMenu', function (e) {
var globallyUniqueSelectors = {};
var selectorFilter = compileFilter(Settings.getSelectorFilter(editor)), ctrl = e.control;
var groups = compileUserDefinedGroups(Settings.getCssGroups(editor));
var processSelector = function (selector, group) {
if (isUniqueSelector(editor, selector, group, globallyUniqueSelectors)) {
markUniqueSelector(editor, selector, group, globallyUniqueSelectors);
var format = convertSelectorToFormat(editor, editor.plugins.importcss, selector, group);
if (format) {
var formatName = format.name || global$1.DOM.uniqueId();
editor.formatter.register(formatName, format);
return global$4.extend({}, ctrl.settings.itemDefaults, {
text: format.title,
format: formatName
});
} else {
var menuItem = processSelector(selector, null);
if (menuItem) {
ctrl.add(menuItem);
}
}
return null;
};
if (!Settings.shouldAppend(editor)) {
ctrl.items().remove();
}
global$4.each(getSelectors(editor, e.doc || editor.getDoc(), compileFilter(Settings.getFileFilter(editor))), function (selector) {
if (selector.indexOf('.mce-') === -1) {
if (!selectorFilter || selectorFilter(selector)) {
var selectorGroups = getGroupsBySelector(groups, selector);
if (selectorGroups.length > 0) {
global$4.each(selectorGroups, function (group) {
var menuItem = processSelector(selector, group);
if (menuItem) {
group.item.menu.push(menuItem);
}
});
} else {
var menuItem = processSelector(selector, null);
if (menuItem) {
ctrl.add(menuItem);
}
}
}
}
}
});
global$4.each(groups, function (group) {
if (group.item.menu.length > 0) {
ctrl.add(group.item);
}
});
e.control.renderNew();
});
global$4.each(groups, function (group) {
if (group.item.menu.length > 0) {
ctrl.add(group.item);
}
});
e.control.renderNew();
});
};
var $_9ayvw4emjh8lpv3q = {
defaultConvertSelectorToFormat: defaultConvertSelectorToFormat,
setup: setup
};
var get = function (editor) {
var convertSelectorToFormat = function (selectorText) {
return $_9ayvw4emjh8lpv3q.defaultConvertSelectorToFormat(editor, selectorText);
};
return { convertSelectorToFormat: convertSelectorToFormat };
};
var $_5soyhmeljh8lpv3o = { get: get };
var ImportCss = {
defaultConvertSelectorToFormat: defaultConvertSelectorToFormat,
setup: setup
};
global.add('importcss', function (editor) {
$_9ayvw4emjh8lpv3q.setup(editor);
return $_5soyhmeljh8lpv3o.get(editor);
});
function Plugin () {
}
var get = function (editor) {
var convertSelectorToFormat = function (selectorText) {
return ImportCss.defaultConvertSelectorToFormat(editor, selectorText);
};
return { convertSelectorToFormat: convertSelectorToFormat };
};
var Api = { get: get };
return Plugin;
global.add('importcss', function (editor) {
ImportCss.setup(editor);
return Api.get(editor);
});
function Plugin () {
}
return Plugin;
}());
})();
@@ -1,173 +1,173 @@
(function () {
var insertdatetime = (function () {
'use strict';
'use strict';
var Cell = function (initial) {
var value = initial;
var get = function () {
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
};
var set = function (v) {
value = v;
};
var clone = function () {
return Cell(get());
};
return {
get: get,
set: set,
clone: clone
};
};
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var getDateFormat = function (editor) {
return editor.getParam('insertdatetime_dateformat', editor.translate('%Y-%m-%d'));
};
var getTimeFormat = function (editor) {
return editor.getParam('insertdatetime_timeformat', editor.translate('%H:%M:%S'));
};
var getFormats = function (editor) {
return editor.getParam('insertdatetime_formats', [
'%H:%M:%S',
'%Y-%m-%d',
'%I:%M:%S %p',
'%D'
]);
};
var getDefaultDateTime = function (editor) {
var formats = getFormats(editor);
return formats.length > 0 ? formats[0] : getTimeFormat(editor);
};
var shouldInsertTimeElement = function (editor) {
return editor.getParam('insertdatetime_element', false);
};
var Settings = {
getDateFormat: getDateFormat,
getTimeFormat: getTimeFormat,
getFormats: getFormats,
getDefaultDateTime: getDefaultDateTime,
shouldInsertTimeElement: shouldInsertTimeElement
};
var daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');
var daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');
var monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
var monthsLong = 'January February March April May June July August September October November December'.split(' ');
var addZeros = function (value, len) {
value = '' + value;
if (value.length < len) {
for (var i = 0; i < len - value.length; i++) {
value = '0' + value;
}
}
return value;
};
var set = function (v) {
value = v;
var getDateTime = function (editor, fmt, date) {
date = date || new Date();
fmt = fmt.replace('%D', '%m/%d/%Y');
fmt = fmt.replace('%r', '%I:%M:%S %p');
fmt = fmt.replace('%Y', '' + date.getFullYear());
fmt = fmt.replace('%y', '' + date.getYear());
fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));
fmt = fmt.replace('%d', addZeros(date.getDate(), 2));
fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));
fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));
fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));
fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));
fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));
fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));
fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));
fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));
fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));
fmt = fmt.replace('%%', '%');
return fmt;
};
var clone = function () {
return Cell(get());
var updateElement = function (editor, timeElm, computerTime, userTime) {
var newTimeElm = editor.dom.create('time', { datetime: computerTime }, userTime);
timeElm.parentNode.insertBefore(newTimeElm, timeElm);
editor.dom.remove(timeElm);
editor.selection.select(newTimeElm, true);
editor.selection.collapse(false);
};
return {
get: get,
set: set,
clone: clone
};
};
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var getDateFormat = function (editor) {
return editor.getParam('insertdatetime_dateformat', editor.translate('%Y-%m-%d'));
};
var getTimeFormat = function (editor) {
return editor.getParam('insertdatetime_timeformat', editor.translate('%H:%M:%S'));
};
var getFormats = function (editor) {
return editor.getParam('insertdatetime_formats', [
'%H:%M:%S',
'%Y-%m-%d',
'%I:%M:%S %p',
'%D'
]);
};
var getDefaultDateTime = function (editor) {
var formats = getFormats(editor);
return formats.length > 0 ? formats[0] : getTimeFormat(editor);
};
var shouldInsertTimeElement = function (editor) {
return editor.getParam('insertdatetime_element', false);
};
var $_7ti1jkewjh8lpv4i = {
getDateFormat: getDateFormat,
getTimeFormat: getTimeFormat,
getFormats: getFormats,
getDefaultDateTime: getDefaultDateTime,
shouldInsertTimeElement: shouldInsertTimeElement
};
var daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');
var daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');
var monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
var monthsLong = 'January February March April May June July August September October November December'.split(' ');
var addZeros = function (value, len) {
value = '' + value;
if (value.length < len) {
for (var i = 0; i < len - value.length; i++) {
value = '0' + value;
}
}
return value;
};
var getDateTime = function (editor, fmt, date) {
date = date || new Date();
fmt = fmt.replace('%D', '%m/%d/%Y');
fmt = fmt.replace('%r', '%I:%M:%S %p');
fmt = fmt.replace('%Y', '' + date.getFullYear());
fmt = fmt.replace('%y', '' + date.getYear());
fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));
fmt = fmt.replace('%d', addZeros(date.getDate(), 2));
fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));
fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));
fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));
fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));
fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));
fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));
fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));
fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));
fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));
fmt = fmt.replace('%%', '%');
return fmt;
};
var updateElement = function (editor, timeElm, computerTime, userTime) {
var newTimeElm = editor.dom.create('time', { datetime: computerTime }, userTime);
timeElm.parentNode.insertBefore(newTimeElm, timeElm);
editor.dom.remove(timeElm);
editor.selection.select(newTimeElm, true);
editor.selection.collapse(false);
};
var insertDateTime = function (editor, format) {
if ($_7ti1jkewjh8lpv4i.shouldInsertTimeElement(editor)) {
var userTime = getDateTime(editor, format);
var computerTime = void 0;
if (/%[HMSIp]/.test(format)) {
computerTime = getDateTime(editor, '%Y-%m-%dT%H:%M');
} else {
computerTime = getDateTime(editor, '%Y-%m-%d');
}
var timeElm = editor.dom.getParent(editor.selection.getStart(), 'time');
if (timeElm) {
updateElement(editor, timeElm, computerTime, userTime);
} else {
editor.insertContent('<time datetime="' + computerTime + '">' + userTime + '</time>');
}
} else {
editor.insertContent(getDateTime(editor, format));
}
};
var $_f8xhysexjh8lpv4k = {
insertDateTime: insertDateTime,
getDateTime: getDateTime
};
var register = function (editor) {
editor.addCommand('mceInsertDate', function () {
$_f8xhysexjh8lpv4k.insertDateTime(editor, $_7ti1jkewjh8lpv4i.getDateFormat(editor));
});
editor.addCommand('mceInsertTime', function () {
$_f8xhysexjh8lpv4k.insertDateTime(editor, $_7ti1jkewjh8lpv4i.getTimeFormat(editor));
});
};
var $_3klk7oevjh8lpv4h = { register: register };
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var createMenuItems = function (editor, lastFormatState) {
var formats = $_7ti1jkewjh8lpv4i.getFormats(editor);
return global$1.map(formats, function (fmt) {
return {
text: $_f8xhysexjh8lpv4k.getDateTime(editor, fmt),
onclick: function () {
lastFormatState.set(fmt);
$_f8xhysexjh8lpv4k.insertDateTime(editor, fmt);
var insertDateTime = function (editor, format) {
if (Settings.shouldInsertTimeElement(editor)) {
var userTime = getDateTime(editor, format);
var computerTime = void 0;
if (/%[HMSIp]/.test(format)) {
computerTime = getDateTime(editor, '%Y-%m-%dT%H:%M');
} else {
computerTime = getDateTime(editor, '%Y-%m-%d');
}
};
});
};
var register$1 = function (editor, lastFormatState) {
var menuItems = createMenuItems(editor, lastFormatState);
editor.addButton('insertdatetime', {
type: 'splitbutton',
title: 'Insert date/time',
menu: menuItems,
onclick: function () {
var lastFormat = lastFormatState.get();
$_f8xhysexjh8lpv4k.insertDateTime(editor, lastFormat ? lastFormat : $_7ti1jkewjh8lpv4i.getDefaultDateTime(editor));
var timeElm = editor.dom.getParent(editor.selection.getStart(), 'time');
if (timeElm) {
updateElement(editor, timeElm, computerTime, userTime);
} else {
editor.insertContent('<time datetime="' + computerTime + '">' + userTime + '</time>');
}
} else {
editor.insertContent(getDateTime(editor, format));
}
});
editor.addMenuItem('insertdatetime', {
icon: 'date',
text: 'Date/time',
menu: menuItems,
context: 'insert'
});
};
var $_7myfffeyjh8lpv4n = { register: register$1 };
};
var Actions = {
insertDateTime: insertDateTime,
getDateTime: getDateTime
};
global.add('insertdatetime', function (editor) {
var lastFormatState = Cell(null);
$_3klk7oevjh8lpv4h.register(editor);
$_7myfffeyjh8lpv4n.register(editor, lastFormatState);
});
function Plugin () {
}
var register = function (editor) {
editor.addCommand('mceInsertDate', function () {
Actions.insertDateTime(editor, Settings.getDateFormat(editor));
});
editor.addCommand('mceInsertTime', function () {
Actions.insertDateTime(editor, Settings.getTimeFormat(editor));
});
};
var Commands = { register: register };
return Plugin;
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var createMenuItems = function (editor, lastFormatState) {
var formats = Settings.getFormats(editor);
return global$1.map(formats, function (fmt) {
return {
text: Actions.getDateTime(editor, fmt),
onclick: function () {
lastFormatState.set(fmt);
Actions.insertDateTime(editor, fmt);
}
};
});
};
var register$1 = function (editor, lastFormatState) {
var menuItems = createMenuItems(editor, lastFormatState);
editor.addButton('insertdatetime', {
type: 'splitbutton',
title: 'Insert date/time',
menu: menuItems,
onclick: function () {
var lastFormat = lastFormatState.get();
Actions.insertDateTime(editor, lastFormat ? lastFormat : Settings.getDefaultDateTime(editor));
}
});
editor.addMenuItem('insertdatetime', {
icon: 'date',
text: 'Date/time',
menu: menuItems,
context: 'insert'
});
};
var Buttons = { register: register$1 };
global.add('insertdatetime', function (editor) {
var lastFormatState = Cell(null);
Commands.register(editor);
Buttons.register(editor, lastFormatState);
});
function Plugin () {
}
return Plugin;
}());
})();
@@ -1,220 +1,220 @@
(function () {
var legacyoutput = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var overrideFormats = function (editor) {
var alignElements = 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', fontSizes = global$1.explode(editor.settings.font_size_style_values), schema = editor.schema;
editor.formatter.register({
alignleft: {
selector: alignElements,
attributes: { align: 'left' }
},
aligncenter: {
selector: alignElements,
attributes: { align: 'center' }
},
alignright: {
selector: alignElements,
attributes: { align: 'right' }
},
alignjustify: {
selector: alignElements,
attributes: { align: 'justify' }
},
bold: [
{
inline: 'b',
remove: 'all'
var overrideFormats = function (editor) {
var alignElements = 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', fontSizes = global$1.explode(editor.settings.font_size_style_values), schema = editor.schema;
editor.formatter.register({
alignleft: {
selector: alignElements,
attributes: { align: 'left' }
},
{
inline: 'strong',
remove: 'all'
aligncenter: {
selector: alignElements,
attributes: { align: 'center' }
},
{
inline: 'span',
styles: { fontWeight: 'bold' }
alignright: {
selector: alignElements,
attributes: { align: 'right' }
},
alignjustify: {
selector: alignElements,
attributes: { align: 'justify' }
},
bold: [
{
inline: 'b',
remove: 'all'
},
{
inline: 'strong',
remove: 'all'
},
{
inline: 'span',
styles: { fontWeight: 'bold' }
}
],
italic: [
{
inline: 'i',
remove: 'all'
},
{
inline: 'em',
remove: 'all'
},
{
inline: 'span',
styles: { fontStyle: 'italic' }
}
],
underline: [
{
inline: 'u',
remove: 'all'
},
{
inline: 'span',
styles: { textDecoration: 'underline' },
exact: true
}
],
strikethrough: [
{
inline: 'strike',
remove: 'all'
},
{
inline: 'span',
styles: { textDecoration: 'line-through' },
exact: true
}
],
fontname: {
inline: 'font',
attributes: { face: '%value' }
},
fontsize: {
inline: 'font',
attributes: {
size: function (vars) {
return global$1.inArray(fontSizes, vars.value) + 1;
}
}
},
forecolor: {
inline: 'font',
attributes: { color: '%value' }
},
hilitecolor: {
inline: 'font',
styles: { backgroundColor: '%value' }
}
],
italic: [
{
inline: 'i',
remove: 'all'
},
{
inline: 'em',
remove: 'all'
},
{
inline: 'span',
styles: { fontStyle: 'italic' }
}
],
underline: [
{
inline: 'u',
remove: 'all'
},
{
inline: 'span',
styles: { textDecoration: 'underline' },
exact: true
}
],
strikethrough: [
{
inline: 'strike',
remove: 'all'
},
{
inline: 'span',
styles: { textDecoration: 'line-through' },
exact: true
}
],
fontname: {
inline: 'font',
attributes: { face: '%value' }
},
fontsize: {
inline: 'font',
attributes: {
size: function (vars) {
return global$1.inArray(fontSizes, vars.value) + 1;
});
global$1.each('b,i,u,strike'.split(','), function (name) {
schema.addValidElements(name + '[*]');
});
if (!schema.getElementRule('font')) {
schema.addValidElements('font[face|size|color|style]');
}
global$1.each(alignElements.split(','), function (name) {
var rule = schema.getElementRule(name);
if (rule) {
if (!rule.attributes.align) {
rule.attributes.align = {};
rule.attributesOrder.push('align');
}
}
},
forecolor: {
inline: 'font',
attributes: { color: '%value' }
},
hilitecolor: {
inline: 'font',
styles: { backgroundColor: '%value' }
}
});
};
var setup = function (editor) {
editor.settings.inline_styles = false;
editor.on('init', function () {
overrideFormats(editor);
});
};
var Formats = { setup: setup };
var register = function (editor) {
editor.addButton('fontsizeselect', function () {
var items = [], defaultFontsizeFormats = '8pt=1 10pt=2 12pt=3 14pt=4 18pt=5 24pt=6 36pt=7';
var fontsizeFormats = editor.settings.fontsizeFormats || defaultFontsizeFormats;
editor.$.each(fontsizeFormats.split(' '), function (i, item) {
var text = item, value = item;
var values = item.split('=');
if (values.length > 1) {
text = values[0];
value = values[1];
}
items.push({
text: text,
value: value
});
});
return {
type: 'listbox',
text: 'Font Sizes',
tooltip: 'Font Sizes',
values: items,
fixedWidth: true,
onPostRender: function () {
var self = this;
editor.on('NodeChange', function () {
var fontElm;
fontElm = editor.dom.getParent(editor.selection.getNode(), 'font');
if (fontElm) {
self.value(fontElm.size);
} else {
self.value('');
}
});
},
onclick: function (e) {
if (e.control.settings.value) {
editor.execCommand('FontSize', false, e.control.settings.value);
}
}
};
});
editor.addButton('fontselect', function () {
function createFormats(formats) {
formats = formats.replace(/;$/, '').split(';');
var i = formats.length;
while (i--) {
formats[i] = formats[i].split('=');
}
return formats;
}
var defaultFontsFormats = 'Andale Mono=andale mono,monospace;' + 'Arial=arial,helvetica,sans-serif;' + 'Arial Black=arial black,sans-serif;' + 'Book Antiqua=book antiqua,palatino,serif;' + 'Comic Sans MS=comic sans ms,sans-serif;' + 'Courier New=courier new,courier,monospace;' + 'Georgia=georgia,palatino,serif;' + 'Helvetica=helvetica,arial,sans-serif;' + 'Impact=impact,sans-serif;' + 'Symbol=symbol;' + 'Tahoma=tahoma,arial,helvetica,sans-serif;' + 'Terminal=terminal,monaco,monospace;' + 'Times New Roman=times new roman,times,serif;' + 'Trebuchet MS=trebuchet ms,geneva,sans-serif;' + 'Verdana=verdana,geneva,sans-serif;' + 'Webdings=webdings;' + 'Wingdings=wingdings,zapf dingbats';
var items = [], fonts = createFormats(editor.settings.font_formats || defaultFontsFormats);
editor.$.each(fonts, function (i, font) {
items.push({
text: { raw: font[0] },
value: font[1],
textStyle: font[1].indexOf('dings') === -1 ? 'font-family:' + font[1] : ''
});
});
return {
type: 'listbox',
text: 'Font Family',
tooltip: 'Font Family',
values: items,
fixedWidth: true,
onPostRender: function () {
var self = this;
editor.on('NodeChange', function () {
var fontElm;
fontElm = editor.dom.getParent(editor.selection.getNode(), 'font');
if (fontElm) {
self.value(fontElm.face);
} else {
self.value('');
}
});
},
onselect: function (e) {
if (e.control.settings.value) {
editor.execCommand('FontName', false, e.control.settings.value);
}
}
};
});
};
var Buttons = { register: register };
global.add('legacyoutput', function (editor) {
Formats.setup(editor);
Buttons.register(editor);
});
global$1.each('b,i,u,strike'.split(','), function (name) {
schema.addValidElements(name + '[*]');
});
if (!schema.getElementRule('font')) {
schema.addValidElements('font[face|size|color|style]');
function Plugin () {
}
global$1.each(alignElements.split(','), function (name) {
var rule = schema.getElementRule(name);
if (rule) {
if (!rule.attributes.align) {
rule.attributes.align = {};
rule.attributesOrder.push('align');
}
}
});
};
var setup = function (editor) {
editor.settings.inline_styles = false;
editor.on('init', function () {
overrideFormats(editor);
});
};
var $_bw3ugif2jh8lpv52 = { setup: setup };
var register = function (editor) {
editor.addButton('fontsizeselect', function () {
var items = [], defaultFontsizeFormats = '8pt=1 10pt=2 12pt=3 14pt=4 18pt=5 24pt=6 36pt=7';
var fontsizeFormats = editor.settings.fontsizeFormats || defaultFontsizeFormats;
editor.$.each(fontsizeFormats.split(' '), function (i, item) {
var text = item, value = item;
var values = item.split('=');
if (values.length > 1) {
text = values[0];
value = values[1];
}
items.push({
text: text,
value: value
});
});
return {
type: 'listbox',
text: 'Font Sizes',
tooltip: 'Font Sizes',
values: items,
fixedWidth: true,
onPostRender: function () {
var self = this;
editor.on('NodeChange', function () {
var fontElm;
fontElm = editor.dom.getParent(editor.selection.getNode(), 'font');
if (fontElm) {
self.value(fontElm.size);
} else {
self.value('');
}
});
},
onclick: function (e) {
if (e.control.settings.value) {
editor.execCommand('FontSize', false, e.control.settings.value);
}
}
};
});
editor.addButton('fontselect', function () {
function createFormats(formats) {
formats = formats.replace(/;$/, '').split(';');
var i = formats.length;
while (i--) {
formats[i] = formats[i].split('=');
}
return formats;
}
var defaultFontsFormats = 'Andale Mono=andale mono,monospace;' + 'Arial=arial,helvetica,sans-serif;' + 'Arial Black=arial black,sans-serif;' + 'Book Antiqua=book antiqua,palatino,serif;' + 'Comic Sans MS=comic sans ms,sans-serif;' + 'Courier New=courier new,courier,monospace;' + 'Georgia=georgia,palatino,serif;' + 'Helvetica=helvetica,arial,sans-serif;' + 'Impact=impact,sans-serif;' + 'Symbol=symbol;' + 'Tahoma=tahoma,arial,helvetica,sans-serif;' + 'Terminal=terminal,monaco,monospace;' + 'Times New Roman=times new roman,times,serif;' + 'Trebuchet MS=trebuchet ms,geneva,sans-serif;' + 'Verdana=verdana,geneva,sans-serif;' + 'Webdings=webdings;' + 'Wingdings=wingdings,zapf dingbats';
var items = [], fonts = createFormats(editor.settings.font_formats || defaultFontsFormats);
editor.$.each(fonts, function (i, font) {
items.push({
text: { raw: font[0] },
value: font[1],
textStyle: font[1].indexOf('dings') === -1 ? 'font-family:' + font[1] : ''
});
});
return {
type: 'listbox',
text: 'Font Family',
tooltip: 'Font Family',
values: items,
fixedWidth: true,
onPostRender: function () {
var self = this;
editor.on('NodeChange', function () {
var fontElm;
fontElm = editor.dom.getParent(editor.selection.getNode(), 'font');
if (fontElm) {
self.value(fontElm.face);
} else {
self.value('');
}
});
},
onselect: function (e) {
if (e.control.settings.value) {
editor.execCommand('FontName', false, e.control.settings.value);
}
}
};
});
};
var $_bogc51f4jh8lpv56 = { register: register };
global.add('legacyoutput', function (editor) {
$_bw3ugif2jh8lpv52.setup(editor);
$_bogc51f4jh8lpv56.register(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -1,85 +1,85 @@
(function () {
var nonbreaking = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var stringRepeat = function (string, repeats) {
var str = '';
for (var index = 0; index < repeats; index++) {
str += string;
}
return str;
};
var isVisualCharsEnabled = function (editor) {
return editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false;
};
var insertNbsp = function (editor, times) {
var nbsp = isVisualCharsEnabled(editor) ? '<span class="mce-nbsp">&nbsp;</span>' : '&nbsp;';
editor.insertContent(stringRepeat(nbsp, times));
editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1');
};
var $_cn5p5mh7jh8lpvcp = { insertNbsp: insertNbsp };
var stringRepeat = function (string, repeats) {
var str = '';
for (var index = 0; index < repeats; index++) {
str += string;
}
return str;
};
var isVisualCharsEnabled = function (editor) {
return editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false;
};
var insertNbsp = function (editor, times) {
var nbsp = isVisualCharsEnabled(editor) ? '<span class="mce-nbsp">&nbsp;</span>' : '&nbsp;';
editor.insertContent(stringRepeat(nbsp, times));
editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1');
};
var Actions = { insertNbsp: insertNbsp };
var register = function (editor) {
editor.addCommand('mceNonBreaking', function () {
$_cn5p5mh7jh8lpvcp.insertNbsp(editor, 1);
});
};
var $_3698bjh6jh8lpvcn = { register: register };
var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');
var getKeyboardSpaces = function (editor) {
var spaces = editor.getParam('nonbreaking_force_tab', 0);
if (typeof spaces === 'boolean') {
return spaces === true ? 3 : 0;
} else {
return spaces;
}
};
var $_fs2bz5hajh8lpvcs = { getKeyboardSpaces: getKeyboardSpaces };
var setup = function (editor) {
var spaces = $_fs2bz5hajh8lpvcs.getKeyboardSpaces(editor);
if (spaces > 0) {
editor.on('keydown', function (e) {
if (e.keyCode === global$1.TAB && !e.isDefaultPrevented()) {
if (e.shiftKey) {
return;
}
e.preventDefault();
e.stopImmediatePropagation();
$_cn5p5mh7jh8lpvcp.insertNbsp(editor, spaces);
}
var register = function (editor) {
editor.addCommand('mceNonBreaking', function () {
Actions.insertNbsp(editor, 1);
});
};
var Commands = { register: register };
var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');
var getKeyboardSpaces = function (editor) {
var spaces = editor.getParam('nonbreaking_force_tab', 0);
if (typeof spaces === 'boolean') {
return spaces === true ? 3 : 0;
} else {
return spaces;
}
};
var Settings = { getKeyboardSpaces: getKeyboardSpaces };
var setup = function (editor) {
var spaces = Settings.getKeyboardSpaces(editor);
if (spaces > 0) {
editor.on('keydown', function (e) {
if (e.keyCode === global$1.TAB && !e.isDefaultPrevented()) {
if (e.shiftKey) {
return;
}
e.preventDefault();
e.stopImmediatePropagation();
Actions.insertNbsp(editor, spaces);
}
});
}
};
var Keyboard = { setup: setup };
var register$1 = function (editor) {
editor.addButton('nonbreaking', {
title: 'Nonbreaking space',
cmd: 'mceNonBreaking'
});
editor.addMenuItem('nonbreaking', {
icon: 'nonbreaking',
text: 'Nonbreaking space',
cmd: 'mceNonBreaking',
context: 'insert'
});
};
var Buttons = { register: register$1 };
global.add('nonbreaking', function (editor) {
Commands.register(editor);
Buttons.register(editor);
Keyboard.setup(editor);
});
function Plugin () {
}
};
var $_74a8ghh8jh8lpvcq = { setup: setup };
var register$1 = function (editor) {
editor.addButton('nonbreaking', {
title: 'Nonbreaking space',
cmd: 'mceNonBreaking'
});
editor.addMenuItem('nonbreaking', {
icon: 'nonbreaking',
text: 'Nonbreaking space',
cmd: 'mceNonBreaking',
context: 'insert'
});
};
var $_evd6yvhbjh8lpvct = { register: register$1 };
global.add('nonbreaking', function (editor) {
$_3698bjh6jh8lpvcn.register(editor);
$_evd6yvhbjh8lpvct.register(editor);
$_74a8ghh8jh8lpvcq.setup(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
@@ -1,118 +1,118 @@
(function () {
var noneditable = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var getNonEditableClass = function (editor) {
return editor.getParam('noneditable_noneditable_class', 'mceNonEditable');
};
var getEditableClass = function (editor) {
return editor.getParam('noneditable_editable_class', 'mceEditable');
};
var getNonEditableRegExps = function (editor) {
var nonEditableRegExps = editor.getParam('noneditable_regexp', []);
if (nonEditableRegExps && nonEditableRegExps.constructor === RegExp) {
return [nonEditableRegExps];
} else {
return nonEditableRegExps;
}
};
var $_b5lblphgjh8lpvd6 = {
getNonEditableClass: getNonEditableClass,
getEditableClass: getEditableClass,
getNonEditableRegExps: getNonEditableRegExps
};
var hasClass = function (checkClassName) {
return function (node) {
return (' ' + node.attr('class') + ' ').indexOf(checkClassName) !== -1;
var getNonEditableClass = function (editor) {
return editor.getParam('noneditable_noneditable_class', 'mceNonEditable');
};
};
var replaceMatchWithSpan = function (editor, content, cls) {
return function (match) {
var args = arguments, index = args[args.length - 2];
var prevChar = index > 0 ? content.charAt(index - 1) : '';
if (prevChar === '"') {
return match;
var getEditableClass = function (editor) {
return editor.getParam('noneditable_editable_class', 'mceEditable');
};
var getNonEditableRegExps = function (editor) {
var nonEditableRegExps = editor.getParam('noneditable_regexp', []);
if (nonEditableRegExps && nonEditableRegExps.constructor === RegExp) {
return [nonEditableRegExps];
} else {
return nonEditableRegExps;
}
if (prevChar === '>') {
var findStartTagIndex = content.lastIndexOf('<', index);
if (findStartTagIndex !== -1) {
var tagHtml = content.substring(findStartTagIndex, index);
if (tagHtml.indexOf('contenteditable="false"') !== -1) {
return match;
};
var Settings = {
getNonEditableClass: getNonEditableClass,
getEditableClass: getEditableClass,
getNonEditableRegExps: getNonEditableRegExps
};
var hasClass = function (checkClassName) {
return function (node) {
return (' ' + node.attr('class') + ' ').indexOf(checkClassName) !== -1;
};
};
var replaceMatchWithSpan = function (editor, content, cls) {
return function (match) {
var args = arguments, index = args[args.length - 2];
var prevChar = index > 0 ? content.charAt(index - 1) : '';
if (prevChar === '"') {
return match;
}
if (prevChar === '>') {
var findStartTagIndex = content.lastIndexOf('<', index);
if (findStartTagIndex !== -1) {
var tagHtml = content.substring(findStartTagIndex, index);
if (tagHtml.indexOf('contenteditable="false"') !== -1) {
return match;
}
}
}
}
return '<span class="' + cls + '" data-mce-content="' + editor.dom.encode(args[0]) + '">' + editor.dom.encode(typeof args[1] === 'string' ? args[1] : args[0]) + '</span>';
return '<span class="' + cls + '" data-mce-content="' + editor.dom.encode(args[0]) + '">' + editor.dom.encode(typeof args[1] === 'string' ? args[1] : args[0]) + '</span>';
};
};
};
var convertRegExpsToNonEditable = function (editor, nonEditableRegExps, e) {
var i = nonEditableRegExps.length, content = e.content;
if (e.format === 'raw') {
return;
}
while (i--) {
content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan(editor, content, $_b5lblphgjh8lpvd6.getNonEditableClass(editor)));
}
e.content = content;
};
var setup = function (editor) {
var editClass, nonEditClass;
var contentEditableAttrName = 'contenteditable';
editClass = ' ' + global$1.trim($_b5lblphgjh8lpvd6.getEditableClass(editor)) + ' ';
nonEditClass = ' ' + global$1.trim($_b5lblphgjh8lpvd6.getNonEditableClass(editor)) + ' ';
var hasEditClass = hasClass(editClass);
var hasNonEditClass = hasClass(nonEditClass);
var nonEditableRegExps = $_b5lblphgjh8lpvd6.getNonEditableRegExps(editor);
editor.on('PreInit', function () {
if (nonEditableRegExps.length > 0) {
editor.on('BeforeSetContent', function (e) {
convertRegExpsToNonEditable(editor, nonEditableRegExps, e);
var convertRegExpsToNonEditable = function (editor, nonEditableRegExps, e) {
var i = nonEditableRegExps.length, content = e.content;
if (e.format === 'raw') {
return;
}
while (i--) {
content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan(editor, content, Settings.getNonEditableClass(editor)));
}
e.content = content;
};
var setup = function (editor) {
var editClass, nonEditClass;
var contentEditableAttrName = 'contenteditable';
editClass = ' ' + global$1.trim(Settings.getEditableClass(editor)) + ' ';
nonEditClass = ' ' + global$1.trim(Settings.getNonEditableClass(editor)) + ' ';
var hasEditClass = hasClass(editClass);
var hasNonEditClass = hasClass(nonEditClass);
var nonEditableRegExps = Settings.getNonEditableRegExps(editor);
editor.on('PreInit', function () {
if (nonEditableRegExps.length > 0) {
editor.on('BeforeSetContent', function (e) {
convertRegExpsToNonEditable(editor, nonEditableRegExps, e);
});
}
editor.parser.addAttributeFilter('class', function (nodes) {
var i = nodes.length, node;
while (i--) {
node = nodes[i];
if (hasEditClass(node)) {
node.attr(contentEditableAttrName, 'true');
} else if (hasNonEditClass(node)) {
node.attr(contentEditableAttrName, 'false');
}
}
});
}
editor.parser.addAttributeFilter('class', function (nodes) {
var i = nodes.length, node;
while (i--) {
node = nodes[i];
if (hasEditClass(node)) {
node.attr(contentEditableAttrName, 'true');
} else if (hasNonEditClass(node)) {
node.attr(contentEditableAttrName, 'false');
editor.serializer.addAttributeFilter(contentEditableAttrName, function (nodes) {
var i = nodes.length, node;
while (i--) {
node = nodes[i];
if (!hasEditClass(node) && !hasNonEditClass(node)) {
continue;
}
if (nonEditableRegExps.length > 0 && node.attr('data-mce-content')) {
node.name = '#text';
node.type = 3;
node.raw = true;
node.value = node.attr('data-mce-content');
} else {
node.attr(contentEditableAttrName, null);
}
}
}
});
editor.serializer.addAttributeFilter(contentEditableAttrName, function (nodes) {
var i = nodes.length, node;
while (i--) {
node = nodes[i];
if (!hasEditClass(node) && !hasNonEditClass(node)) {
continue;
}
if (nonEditableRegExps.length > 0 && node.attr('data-mce-content')) {
node.name = '#text';
node.type = 3;
node.raw = true;
node.value = node.attr('data-mce-content');
} else {
node.attr(contentEditableAttrName, null);
}
}
});
});
};
var FilterContent = { setup: setup };
global.add('noneditable', function (editor) {
FilterContent.setup(editor);
});
};
var $_90alq9hejh8lpvd3 = { setup: setup };
function Plugin () {
}
global.add('noneditable', function (editor) {
$_90alq9hejh8lpvd3.setup(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
@@ -1,109 +1,109 @@
(function () {
var pagebreak = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
var getSeparatorHtml = function (editor) {
return editor.getParam('pagebreak_separator', '<!-- pagebreak -->');
};
var shouldSplitBlock = function (editor) {
return editor.getParam('pagebreak_split_block', false);
};
var $_1hv0yhhmjh8lpvdi = {
getSeparatorHtml: getSeparatorHtml,
shouldSplitBlock: shouldSplitBlock
};
var getSeparatorHtml = function (editor) {
return editor.getParam('pagebreak_separator', '<!-- pagebreak -->');
};
var shouldSplitBlock = function (editor) {
return editor.getParam('pagebreak_split_block', false);
};
var Settings = {
getSeparatorHtml: getSeparatorHtml,
shouldSplitBlock: shouldSplitBlock
};
var getPageBreakClass = function () {
return 'mce-pagebreak';
};
var getPlaceholderHtml = function () {
return '<img src="' + global$1.transparentSrc + '" class="' + getPageBreakClass() + '" data-mce-resize="false" data-mce-placeholder />';
};
var setup = function (editor) {
var separatorHtml = $_1hv0yhhmjh8lpvdi.getSeparatorHtml(editor);
var pageBreakSeparatorRegExp = new RegExp(separatorHtml.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function (a) {
return '\\' + a;
}), 'gi');
editor.on('BeforeSetContent', function (e) {
e.content = e.content.replace(pageBreakSeparatorRegExp, getPlaceholderHtml());
});
editor.on('PreInit', function () {
editor.serializer.addNodeFilter('img', function (nodes) {
var i = nodes.length, node, className;
while (i--) {
node = nodes[i];
className = node.attr('class');
if (className && className.indexOf('mce-pagebreak') !== -1) {
var parentNode = node.parent;
if (editor.schema.getBlockElements()[parentNode.name] && $_1hv0yhhmjh8lpvdi.shouldSplitBlock(editor)) {
parentNode.type = 3;
parentNode.value = separatorHtml;
parentNode.raw = true;
node.remove();
continue;
var getPageBreakClass = function () {
return 'mce-pagebreak';
};
var getPlaceholderHtml = function () {
return '<img src="' + global$1.transparentSrc + '" class="' + getPageBreakClass() + '" data-mce-resize="false" data-mce-placeholder />';
};
var setup = function (editor) {
var separatorHtml = Settings.getSeparatorHtml(editor);
var pageBreakSeparatorRegExp = new RegExp(separatorHtml.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function (a) {
return '\\' + a;
}), 'gi');
editor.on('BeforeSetContent', function (e) {
e.content = e.content.replace(pageBreakSeparatorRegExp, getPlaceholderHtml());
});
editor.on('PreInit', function () {
editor.serializer.addNodeFilter('img', function (nodes) {
var i = nodes.length, node, className;
while (i--) {
node = nodes[i];
className = node.attr('class');
if (className && className.indexOf('mce-pagebreak') !== -1) {
var parentNode = node.parent;
if (editor.schema.getBlockElements()[parentNode.name] && Settings.shouldSplitBlock(editor)) {
parentNode.type = 3;
parentNode.value = separatorHtml;
parentNode.raw = true;
node.remove();
continue;
}
node.type = 3;
node.value = separatorHtml;
node.raw = true;
}
node.type = 3;
node.value = separatorHtml;
node.raw = true;
}
});
});
};
var FilterContent = {
setup: setup,
getPlaceholderHtml: getPlaceholderHtml,
getPageBreakClass: getPageBreakClass
};
var register = function (editor) {
editor.addCommand('mcePageBreak', function () {
if (editor.settings.pagebreak_split_block) {
editor.insertContent('<p>' + FilterContent.getPlaceholderHtml() + '</p>');
} else {
editor.insertContent(FilterContent.getPlaceholderHtml());
}
});
});
};
var $_55pzfihkjh8lpvdh = {
setup: setup,
getPlaceholderHtml: getPlaceholderHtml,
getPageBreakClass: getPageBreakClass
};
};
var Commands = { register: register };
var register = function (editor) {
editor.addCommand('mcePageBreak', function () {
if (editor.settings.pagebreak_split_block) {
editor.insertContent('<p>' + $_55pzfihkjh8lpvdh.getPlaceholderHtml() + '</p>');
} else {
editor.insertContent($_55pzfihkjh8lpvdh.getPlaceholderHtml());
}
});
};
var $_2aoouchjjh8lpvdf = { register: register };
var setup$1 = function (editor) {
editor.on('ResolveName', function (e) {
if (e.target.nodeName === 'IMG' && editor.dom.hasClass(e.target, FilterContent.getPageBreakClass())) {
e.name = 'pagebreak';
}
});
};
var ResolveName = { setup: setup$1 };
var setup$1 = function (editor) {
editor.on('ResolveName', function (e) {
if (e.target.nodeName === 'IMG' && editor.dom.hasClass(e.target, $_55pzfihkjh8lpvdh.getPageBreakClass())) {
e.name = 'pagebreak';
}
});
};
var $_2mwcs9hnjh8lpvdj = { setup: setup$1 };
var register$1 = function (editor) {
editor.addButton('pagebreak', {
title: 'Page break',
cmd: 'mcePageBreak'
});
editor.addMenuItem('pagebreak', {
text: 'Page break',
icon: 'pagebreak',
cmd: 'mcePageBreak',
context: 'insert'
});
};
var Buttons = { register: register$1 };
var register$1 = function (editor) {
editor.addButton('pagebreak', {
title: 'Page break',
cmd: 'mcePageBreak'
global.add('pagebreak', function (editor) {
Commands.register(editor);
Buttons.register(editor);
FilterContent.setup(editor);
ResolveName.setup(editor);
});
editor.addMenuItem('pagebreak', {
text: 'Page break',
icon: 'pagebreak',
cmd: 'mcePageBreak',
context: 'insert'
});
};
var $_61u3l1hojh8lpvdk = { register: register$1 };
function Plugin () {
}
global.add('pagebreak', function (editor) {
$_2aoouchjjh8lpvdf.register(editor);
$_61u3l1hojh8lpvdk.register(editor);
$_55pzfihkjh8lpvdh.setup(editor);
$_2mwcs9hnjh8lpvdj.setup(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -1,123 +1,123 @@
(function () {
var preview = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
var getPreviewDialogWidth = function (editor) {
return parseInt(editor.getParam('plugin_preview_width', '650'), 10);
};
var getPreviewDialogHeight = function (editor) {
return parseInt(editor.getParam('plugin_preview_height', '500'), 10);
};
var getContentStyle = function (editor) {
return editor.getParam('content_style', '');
};
var $_4fvu7misjh8lpvhu = {
getPreviewDialogWidth: getPreviewDialogWidth,
getPreviewDialogHeight: getPreviewDialogHeight,
getContentStyle: getContentStyle
};
var getPreviewDialogWidth = function (editor) {
return parseInt(editor.getParam('plugin_preview_width', '650'), 10);
};
var getPreviewDialogHeight = function (editor) {
return parseInt(editor.getParam('plugin_preview_height', '500'), 10);
};
var getContentStyle = function (editor) {
return editor.getParam('content_style', '');
};
var Settings = {
getPreviewDialogWidth: getPreviewDialogWidth,
getPreviewDialogHeight: getPreviewDialogHeight,
getContentStyle: getContentStyle
};
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var getPreviewHtml = function (editor) {
var previewHtml;
var headHtml = '';
var encode = editor.dom.encode;
var contentStyle = $_4fvu7misjh8lpvhu.getContentStyle(editor);
headHtml += '<base href="' + encode(editor.documentBaseURI.getURI()) + '">';
if (contentStyle) {
headHtml += '<style type="text/css">' + contentStyle + '</style>';
}
global$2.each(editor.contentCSS, function (url) {
headHtml += '<link type="text/css" rel="stylesheet" href="' + encode(editor.documentBaseURI.toAbsolute(url)) + '">';
});
var bodyId = editor.settings.body_id || 'tinymce';
if (bodyId.indexOf('=') !== -1) {
bodyId = editor.getParam('body_id', '', 'hash');
bodyId = bodyId[editor.id] || bodyId;
}
var bodyClass = editor.settings.body_class || '';
if (bodyClass.indexOf('=') !== -1) {
bodyClass = editor.getParam('body_class', '', 'hash');
bodyClass = bodyClass[editor.id] || '';
}
var preventClicksOnLinksScript = '<script>' + 'document.addEventListener && document.addEventListener("click", function(e) {' + 'for (var elm = e.target; elm; elm = elm.parentNode) {' + 'if (elm.nodeName === "A") {' + 'e.preventDefault();' + '}' + '}' + '}, false);' + '</script> ';
var dirAttr = editor.settings.directionality ? ' dir="' + editor.settings.directionality + '"' : '';
previewHtml = '<!DOCTYPE html>' + '<html>' + '<head>' + headHtml + '</head>' + '<body id="' + encode(bodyId) + '" class="mce-content-body ' + encode(bodyClass) + '"' + encode(dirAttr) + '>' + editor.getContent() + preventClicksOnLinksScript + '</body>' + '</html>';
return previewHtml;
};
var injectIframeContent = function (editor, iframe, sandbox) {
var previewHtml = getPreviewHtml(editor);
if (!sandbox) {
var doc = iframe.contentWindow.document;
doc.open();
doc.write(previewHtml);
doc.close();
} else {
iframe.src = 'data:text/html;charset=utf-8,' + encodeURIComponent(previewHtml);
}
};
var $_hfcauitjh8lpvhv = {
getPreviewHtml: getPreviewHtml,
injectIframeContent: injectIframeContent
};
var open = function (editor) {
var sandbox = !global$1.ie;
var dialogHtml = '<iframe src="" frameborder="0"' + (sandbox ? ' sandbox="allow-scripts"' : '') + '></iframe>';
var dialogWidth = $_4fvu7misjh8lpvhu.getPreviewDialogWidth(editor);
var dialogHeight = $_4fvu7misjh8lpvhu.getPreviewDialogHeight(editor);
editor.windowManager.open({
title: 'Preview',
width: dialogWidth,
height: dialogHeight,
html: dialogHtml,
buttons: {
text: 'Close',
onclick: function (e) {
e.control.parent().parent().close();
}
},
onPostRender: function (e) {
var iframeElm = e.control.getEl('body').firstChild;
$_hfcauitjh8lpvhv.injectIframeContent(editor, iframeElm, sandbox);
var getPreviewHtml = function (editor) {
var previewHtml;
var headHtml = '';
var encode = editor.dom.encode;
var contentStyle = Settings.getContentStyle(editor);
headHtml += '<base href="' + encode(editor.documentBaseURI.getURI()) + '">';
if (contentStyle) {
headHtml += '<style type="text/css">' + contentStyle + '</style>';
}
});
};
var $_4vyqdxiqjh8lpvht = { open: open };
global$2.each(editor.contentCSS, function (url) {
headHtml += '<link type="text/css" rel="stylesheet" href="' + encode(editor.documentBaseURI.toAbsolute(url)) + '">';
});
var bodyId = editor.settings.body_id || 'tinymce';
if (bodyId.indexOf('=') !== -1) {
bodyId = editor.getParam('body_id', '', 'hash');
bodyId = bodyId[editor.id] || bodyId;
}
var bodyClass = editor.settings.body_class || '';
if (bodyClass.indexOf('=') !== -1) {
bodyClass = editor.getParam('body_class', '', 'hash');
bodyClass = bodyClass[editor.id] || '';
}
var preventClicksOnLinksScript = '<script>' + 'document.addEventListener && document.addEventListener("click", function(e) {' + 'for (var elm = e.target; elm; elm = elm.parentNode) {' + 'if (elm.nodeName === "A") {' + 'e.preventDefault();' + '}' + '}' + '}, false);' + '</script> ';
var dirAttr = editor.settings.directionality ? ' dir="' + editor.settings.directionality + '"' : '';
previewHtml = '<!DOCTYPE html>' + '<html>' + '<head>' + headHtml + '</head>' + '<body id="' + encode(bodyId) + '" class="mce-content-body ' + encode(bodyClass) + '"' + encode(dirAttr) + '>' + editor.getContent() + preventClicksOnLinksScript + '</body>' + '</html>';
return previewHtml;
};
var injectIframeContent = function (editor, iframe, sandbox) {
var previewHtml = getPreviewHtml(editor);
if (!sandbox) {
var doc = iframe.contentWindow.document;
doc.open();
doc.write(previewHtml);
doc.close();
} else {
iframe.src = 'data:text/html;charset=utf-8,' + encodeURIComponent(previewHtml);
}
};
var IframeContent = {
getPreviewHtml: getPreviewHtml,
injectIframeContent: injectIframeContent
};
var register = function (editor) {
editor.addCommand('mcePreview', function () {
$_4vyqdxiqjh8lpvht.open(editor);
});
};
var $_6l7cdipjh8lpvhs = { register: register };
var open = function (editor) {
var sandbox = !global$1.ie;
var dialogHtml = '<iframe src="" frameborder="0"' + (sandbox ? ' sandbox="allow-scripts"' : '') + '></iframe>';
var dialogWidth = Settings.getPreviewDialogWidth(editor);
var dialogHeight = Settings.getPreviewDialogHeight(editor);
editor.windowManager.open({
title: 'Preview',
width: dialogWidth,
height: dialogHeight,
html: dialogHtml,
buttons: {
text: 'Close',
onclick: function (e) {
e.control.parent().parent().close();
}
},
onPostRender: function (e) {
var iframeElm = e.control.getEl('body').firstChild;
IframeContent.injectIframeContent(editor, iframeElm, sandbox);
}
});
};
var Dialog = { open: open };
var register$1 = function (editor) {
editor.addButton('preview', {
title: 'Preview',
cmd: 'mcePreview'
});
editor.addMenuItem('preview', {
text: 'Preview',
cmd: 'mcePreview',
context: 'view'
});
};
var $_gcmg8hivjh8lpvhx = { register: register$1 };
var register = function (editor) {
editor.addCommand('mcePreview', function () {
Dialog.open(editor);
});
};
var Commands = { register: register };
global.add('preview', function (editor) {
$_6l7cdipjh8lpvhs.register(editor);
$_gcmg8hivjh8lpvhx.register(editor);
});
function Plugin () {
}
var register$1 = function (editor) {
editor.addButton('preview', {
title: 'Preview',
cmd: 'mcePreview'
});
editor.addMenuItem('preview', {
text: 'Preview',
cmd: 'mcePreview',
context: 'view'
});
};
var Buttons = { register: register$1 };
return Plugin;
global.add('preview', function (editor) {
Commands.register(editor);
Buttons.register(editor);
});
function Plugin () {
}
return Plugin;
}());
})();
@@ -1,38 +1,44 @@
(function () {
var print = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var register = function (editor) {
editor.addCommand('mcePrint', function () {
editor.getWin().print();
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
var register = function (editor) {
editor.addCommand('mcePrint', function () {
if (global$1.ie && global$1.ie <= 11) {
editor.getDoc().execCommand('print', false, null);
} else {
editor.getWin().print();
}
});
};
var Commands = { register: register };
var register$1 = function (editor) {
editor.addButton('print', {
title: 'Print',
cmd: 'mcePrint'
});
editor.addMenuItem('print', {
text: 'Print',
cmd: 'mcePrint',
icon: 'print'
});
};
var Buttons = { register: register$1 };
global.add('print', function (editor) {
Commands.register(editor);
Buttons.register(editor);
editor.addShortcut('Meta+P', '', 'mcePrint');
});
};
var $_d7j6lciyjh8lpvi9 = { register: register };
function Plugin () {
}
var register$1 = function (editor) {
editor.addButton('print', {
title: 'Print',
cmd: 'mcePrint'
});
editor.addMenuItem('print', {
text: 'Print',
cmd: 'mcePrint',
icon: 'print'
});
};
var $_39wejwizjh8lpvia = { register: register$1 };
global.add('print', function (editor) {
$_d7j6lciyjh8lpvi9.register(editor);
$_39wejwizjh8lpvia.register(editor);
editor.addShortcut('Meta+P', '', 'mcePrint');
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
+1 -1
View File
@@ -1 +1 @@
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(t){t.addCommand("mcePrint",function(){t.getWin().print()})},i=function(t){t.addButton("print",{title:"Print",cmd:"mcePrint"}),t.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print"})};t.add("print",function(t){n(t),i(t),t.addShortcut("Meta+P","","mcePrint")})}();
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.Env"),i=function(t){t.addCommand("mcePrint",function(){n.ie&&n.ie<=11?t.getDoc().execCommand("print",!1,null):t.getWin().print()})},e=function(t){t.addButton("print",{title:"Print",cmd:"mcePrint"}),t.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print"})};t.add("print",function(t){i(t),e(t),t.addShortcut("Meta+P","","mcePrint")})}();
+106 -106
View File
@@ -1,120 +1,120 @@
(function () {
var save = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var enableWhenDirty = function (editor) {
return editor.getParam('save_enablewhendirty', true);
};
var hasOnSaveCallback = function (editor) {
return !!editor.getParam('save_onsavecallback');
};
var hasOnCancelCallback = function (editor) {
return !!editor.getParam('save_oncancelcallback');
};
var $_e5gb2qj6jh8lpvik = {
enableWhenDirty: enableWhenDirty,
hasOnSaveCallback: hasOnSaveCallback,
hasOnCancelCallback: hasOnCancelCallback
};
var enableWhenDirty = function (editor) {
return editor.getParam('save_enablewhendirty', true);
};
var hasOnSaveCallback = function (editor) {
return !!editor.getParam('save_onsavecallback');
};
var hasOnCancelCallback = function (editor) {
return !!editor.getParam('save_oncancelcallback');
};
var Settings = {
enableWhenDirty: enableWhenDirty,
hasOnSaveCallback: hasOnSaveCallback,
hasOnCancelCallback: hasOnCancelCallback
};
var displayErrorMessage = function (editor, message) {
editor.notificationManager.open({
text: editor.translate(message),
type: 'error'
});
};
var save = function (editor) {
var formObj;
formObj = global$1.DOM.getParent(editor.id, 'form');
if ($_e5gb2qj6jh8lpvik.enableWhenDirty(editor) && !editor.isDirty()) {
return;
}
editor.save();
if ($_e5gb2qj6jh8lpvik.hasOnSaveCallback(editor)) {
editor.execCallback('save_onsavecallback', editor);
editor.nodeChanged();
return;
}
if (formObj) {
editor.setDirty(false);
if (!formObj.onsubmit || formObj.onsubmit()) {
if (typeof formObj.submit === 'function') {
formObj.submit();
} else {
displayErrorMessage(editor, 'Error: Form submit field collision.');
}
}
editor.nodeChanged();
} else {
displayErrorMessage(editor, 'Error: No form element found.');
}
};
var cancel = function (editor) {
var h = global$2.trim(editor.startContent);
if ($_e5gb2qj6jh8lpvik.hasOnCancelCallback(editor)) {
editor.execCallback('save_oncancelcallback', editor);
return;
}
editor.setContent(h);
editor.undoManager.clear();
editor.nodeChanged();
};
var $_dsj7zij3jh8lpvii = {
save: save,
cancel: cancel
};
var register = function (editor) {
editor.addCommand('mceSave', function () {
$_dsj7zij3jh8lpvii.save(editor);
});
editor.addCommand('mceCancel', function () {
$_dsj7zij3jh8lpvii.cancel(editor);
});
};
var $_col69mj2jh8lpvih = { register: register };
var stateToggle = function (editor) {
return function (e) {
var ctrl = e.control;
editor.on('nodeChange dirty', function () {
ctrl.disabled($_e5gb2qj6jh8lpvik.enableWhenDirty(editor) && !editor.isDirty());
var displayErrorMessage = function (editor, message) {
editor.notificationManager.open({
text: editor.translate(message),
type: 'error'
});
};
};
var register$1 = function (editor) {
editor.addButton('save', {
icon: 'save',
text: 'Save',
cmd: 'mceSave',
disabled: true,
onPostRender: stateToggle(editor)
});
editor.addButton('cancel', {
text: 'Cancel',
icon: false,
cmd: 'mceCancel',
disabled: true,
onPostRender: stateToggle(editor)
});
editor.addShortcut('Meta+S', '', 'mceSave');
};
var $_40zivtj7jh8lpvil = { register: register$1 };
var save = function (editor) {
var formObj;
formObj = global$1.DOM.getParent(editor.id, 'form');
if (Settings.enableWhenDirty(editor) && !editor.isDirty()) {
return;
}
editor.save();
if (Settings.hasOnSaveCallback(editor)) {
editor.execCallback('save_onsavecallback', editor);
editor.nodeChanged();
return;
}
if (formObj) {
editor.setDirty(false);
if (!formObj.onsubmit || formObj.onsubmit()) {
if (typeof formObj.submit === 'function') {
formObj.submit();
} else {
displayErrorMessage(editor, 'Error: Form submit field collision.');
}
}
editor.nodeChanged();
} else {
displayErrorMessage(editor, 'Error: No form element found.');
}
};
var cancel = function (editor) {
var h = global$2.trim(editor.startContent);
if (Settings.hasOnCancelCallback(editor)) {
editor.execCallback('save_oncancelcallback', editor);
return;
}
editor.setContent(h);
editor.undoManager.clear();
editor.nodeChanged();
};
var Actions = {
save: save,
cancel: cancel
};
global.add('save', function (editor) {
$_40zivtj7jh8lpvil.register(editor);
$_col69mj2jh8lpvih.register(editor);
});
function Plugin () {
}
var register = function (editor) {
editor.addCommand('mceSave', function () {
Actions.save(editor);
});
editor.addCommand('mceCancel', function () {
Actions.cancel(editor);
});
};
var Commands = { register: register };
return Plugin;
var stateToggle = function (editor) {
return function (e) {
var ctrl = e.control;
editor.on('nodeChange dirty', function () {
ctrl.disabled(Settings.enableWhenDirty(editor) && !editor.isDirty());
});
};
};
var register$1 = function (editor) {
editor.addButton('save', {
icon: 'save',
text: 'Save',
cmd: 'mceSave',
disabled: true,
onPostRender: stateToggle(editor)
});
editor.addButton('cancel', {
text: 'Cancel',
icon: false,
cmd: 'mceCancel',
disabled: true,
onPostRender: stateToggle(editor)
});
editor.addShortcut('Meta+S', '', 'mceSave');
};
var Buttons = { register: register$1 };
global.add('save', function (editor) {
Buttons.register(editor);
Commands.register(editor);
});
function Plugin () {
}
return Plugin;
}());
})();
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -1,124 +1,124 @@
(function () {
var tabfocus = (function () {
'use strict';
var tabfocus = (function (domGlobals) {
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$2 = tinymce.util.Tools.resolve('tinymce.EditorManager');
var global$2 = tinymce.util.Tools.resolve('tinymce.EditorManager');
var global$3 = tinymce.util.Tools.resolve('tinymce.Env');
var global$3 = tinymce.util.Tools.resolve('tinymce.Env');
var global$4 = tinymce.util.Tools.resolve('tinymce.util.Delay');
var global$4 = tinymce.util.Tools.resolve('tinymce.util.Delay');
var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$6 = tinymce.util.Tools.resolve('tinymce.util.VK');
var global$6 = tinymce.util.Tools.resolve('tinymce.util.VK');
var getTabFocusElements = function (editor) {
return editor.getParam('tabfocus_elements', ':prev,:next');
};
var getTabFocus = function (editor) {
return editor.getParam('tab_focus', getTabFocusElements(editor));
};
var $_7r1esvk8jh8lpvmb = { getTabFocus: getTabFocus };
var getTabFocusElements = function (editor) {
return editor.getParam('tabfocus_elements', ':prev,:next');
};
var getTabFocus = function (editor) {
return editor.getParam('tab_focus', getTabFocusElements(editor));
};
var Settings = { getTabFocus: getTabFocus };
var DOM = global$1.DOM;
var tabCancel = function (e) {
if (e.keyCode === global$6.TAB && !e.ctrlKey && !e.altKey && !e.metaKey) {
e.preventDefault();
}
};
var setup = function (editor) {
function tabHandler(e) {
var x, el, v, i;
if (e.keyCode !== global$6.TAB || e.ctrlKey || e.altKey || e.metaKey || e.isDefaultPrevented()) {
return;
}
function find(direction) {
el = DOM.select(':input:enabled,*[tabindex]:not(iframe)');
function canSelectRecursive(e) {
return e.nodeName === 'BODY' || e.type !== 'hidden' && e.style.display !== 'none' && e.style.visibility !== 'hidden' && canSelectRecursive(e.parentNode);
}
function canSelect(el) {
return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && global$2.get(e.id) && el.tabIndex !== -1 && canSelectRecursive(el);
}
global$5.each(el, function (e, i) {
if (e.id === editor.id) {
x = i;
return false;
}
});
if (direction > 0) {
for (i = x + 1; i < el.length; i++) {
if (canSelect(el[i])) {
return el[i];
}
}
} else {
for (i = x - 1; i >= 0; i--) {
if (canSelect(el[i])) {
return el[i];
}
}
}
return null;
}
v = global$5.explode($_7r1esvk8jh8lpvmb.getTabFocus(editor));
if (v.length === 1) {
v[1] = v[0];
v[0] = ':prev';
}
if (e.shiftKey) {
if (v[0] === ':prev') {
el = find(-1);
} else {
el = DOM.get(v[0]);
}
} else {
if (v[1] === ':next') {
el = find(1);
} else {
el = DOM.get(v[1]);
}
}
if (el) {
var focusEditor = global$2.get(el.id || el.name);
if (el.id && focusEditor) {
focusEditor.focus();
} else {
global$4.setTimeout(function () {
if (!global$3.webkit) {
window.focus();
}
el.focus();
}, 10);
}
var DOM = global$1.DOM;
var tabCancel = function (e) {
if (e.keyCode === global$6.TAB && !e.ctrlKey && !e.altKey && !e.metaKey) {
e.preventDefault();
}
}
editor.on('init', function () {
if (editor.inline) {
DOM.setAttrib(editor.getBody(), 'tabIndex', null);
}
editor.on('keyup', tabCancel);
if (global$3.gecko) {
editor.on('keypress keydown', tabHandler);
} else {
editor.on('keydown', tabHandler);
};
var setup = function (editor) {
function tabHandler(e) {
var x, el, v, i;
if (e.keyCode !== global$6.TAB || e.ctrlKey || e.altKey || e.metaKey || e.isDefaultPrevented()) {
return;
}
function find(direction) {
el = DOM.select(':input:enabled,*[tabindex]:not(iframe)');
function canSelectRecursive(e) {
return e.nodeName === 'BODY' || e.type !== 'hidden' && e.style.display !== 'none' && e.style.visibility !== 'hidden' && canSelectRecursive(e.parentNode);
}
function canSelect(el) {
return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && global$2.get(e.id) && el.tabIndex !== -1 && canSelectRecursive(el);
}
global$5.each(el, function (e, i) {
if (e.id === editor.id) {
x = i;
return false;
}
});
if (direction > 0) {
for (i = x + 1; i < el.length; i++) {
if (canSelect(el[i])) {
return el[i];
}
}
} else {
for (i = x - 1; i >= 0; i--) {
if (canSelect(el[i])) {
return el[i];
}
}
}
return null;
}
v = global$5.explode(Settings.getTabFocus(editor));
if (v.length === 1) {
v[1] = v[0];
v[0] = ':prev';
}
if (e.shiftKey) {
if (v[0] === ':prev') {
el = find(-1);
} else {
el = DOM.get(v[0]);
}
} else {
if (v[1] === ':next') {
el = find(1);
} else {
el = DOM.get(v[1]);
}
}
if (el) {
var focusEditor = global$2.get(el.id || el.name);
if (el.id && focusEditor) {
focusEditor.focus();
} else {
global$4.setTimeout(function () {
if (!global$3.webkit) {
domGlobals.window.focus();
}
el.focus();
}, 10);
}
e.preventDefault();
}
}
editor.on('init', function () {
if (editor.inline) {
DOM.setAttrib(editor.getBody(), 'tabIndex', null);
}
editor.on('keyup', tabCancel);
if (global$3.gecko) {
editor.on('keypress keydown', tabHandler);
} else {
editor.on('keydown', tabHandler);
}
});
};
var Keyboard = { setup: setup };
global.add('tabfocus', function (editor) {
Keyboard.setup(editor);
});
};
var $_94b6hk1jh8lpvm6 = { setup: setup };
function Plugin () {
}
global.add('tabfocus', function (editor) {
$_94b6hk1jh8lpvm6.setup(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
}(window));
})();
+1 -1
View File
@@ -1 +1 @@
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=tinymce.util.Tools.resolve("tinymce.EditorManager"),s=tinymce.util.Tools.resolve("tinymce.Env"),a=tinymce.util.Tools.resolve("tinymce.util.Delay"),y=tinymce.util.Tools.resolve("tinymce.util.Tools"),f=tinymce.util.Tools.resolve("tinymce.util.VK"),d=function(e){return e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))},m=t.DOM,n=function(e){e.keyCode!==f.TAB||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()},i=function(r){function e(n){var i,o,e,l;if(!(n.keyCode!==f.TAB||n.ctrlKey||n.altKey||n.metaKey||n.isDefaultPrevented())&&(1===(e=y.explode(d(r))).length&&(e[1]=e[0],e[0]=":prev"),o=n.shiftKey?":prev"===e[0]?u(-1):m.get(e[0]):":next"===e[1]?u(1):m.get(e[1]))){var t=c.get(o.id||o.name);o.id&&t?t.focus():a.setTimeout(function(){s.webkit||window.focus(),o.focus()},10),n.preventDefault()}function u(e){function t(t){return/INPUT|TEXTAREA|BUTTON/.test(t.tagName)&&c.get(n.id)&&-1!==t.tabIndex&&function e(t){return"BODY"===t.nodeName||"hidden"!==t.type&&"none"!==t.style.display&&"hidden"!==t.style.visibility&&e(t.parentNode)}(t)}if(o=m.select(":input:enabled,*[tabindex]:not(iframe)"),y.each(o,function(e,t){if(e.id===r.id)return i=t,!1}),0<e){for(l=i+1;l<o.length;l++)if(t(o[l]))return o[l]}else for(l=i-1;0<=l;l--)if(t(o[l]))return o[l];return null}}r.on("init",function(){r.inline&&m.setAttrib(r.getBody(),"tabIndex",null),r.on("keyup",n),s.gecko?r.on("keypress keydown",e):r.on("keydown",e)})};e.add("tabfocus",function(e){i(e)})}();
!function(c){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),s=tinymce.util.Tools.resolve("tinymce.EditorManager"),a=tinymce.util.Tools.resolve("tinymce.Env"),y=tinymce.util.Tools.resolve("tinymce.util.Delay"),f=tinymce.util.Tools.resolve("tinymce.util.Tools"),d=tinymce.util.Tools.resolve("tinymce.util.VK"),m=function(e){return e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))},v=t.DOM,n=function(e){e.keyCode!==d.TAB||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()},i=function(r){function e(n){var i,o,e,l;if(!(n.keyCode!==d.TAB||n.ctrlKey||n.altKey||n.metaKey||n.isDefaultPrevented())&&(1===(e=f.explode(m(r))).length&&(e[1]=e[0],e[0]=":prev"),o=n.shiftKey?":prev"===e[0]?u(-1):v.get(e[0]):":next"===e[1]?u(1):v.get(e[1]))){var t=s.get(o.id||o.name);o.id&&t?t.focus():y.setTimeout(function(){a.webkit||c.window.focus(),o.focus()},10),n.preventDefault()}function u(e){function t(t){return/INPUT|TEXTAREA|BUTTON/.test(t.tagName)&&s.get(n.id)&&-1!==t.tabIndex&&function e(t){return"BODY"===t.nodeName||"hidden"!==t.type&&"none"!==t.style.display&&"hidden"!==t.style.visibility&&e(t.parentNode)}(t)}if(o=v.select(":input:enabled,*[tabindex]:not(iframe)"),f.each(o,function(e,t){if(e.id===r.id)return i=t,!1}),0<e){for(l=i+1;l<o.length;l++)if(t(o[l]))return o[l]}else for(l=i-1;0<=l;l--)if(t(o[l]))return o[l];return null}}r.on("init",function(){r.inline&&v.setAttrib(r.getBody(),"tabIndex",null),r.on("keyup",n),a.gecko?r.on("keypress keydown",e):r.on("keydown",e)})};e.add("tabfocus",function(e){i(e)})}(window);
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -1,417 +1,339 @@
(function () {
var template = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var noop = function () {
var x = [];
for (var _i = 0; _i < arguments.length; _i++) {
x[_i] = arguments[_i];
function curry(fn) {
var initialArgs = [];
for (var _i = 1; _i < arguments.length; _i++) {
initialArgs[_i - 1] = arguments[_i];
}
return function () {
var restArgs = [];
for (var _i = 0; _i < arguments.length; _i++) {
restArgs[_i] = arguments[_i];
}
var all = initialArgs.concat(restArgs);
return fn.apply(null, all);
};
}
};
var noarg = function (f) {
return function () {
var x = [];
for (var _i = 0; _i < arguments.length; _i++) {
x[_i] = arguments[_i];
}
return f();
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.XHR');
var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var getCreationDateClasses = function (editor) {
return editor.getParam('template_cdate_classes', 'cdate');
};
};
var compose = function (fa, fb) {
return function () {
var x = [];
for (var _i = 0; _i < arguments.length; _i++) {
x[_i] = arguments[_i];
}
return fa(fb.apply(null, arguments));
var getModificationDateClasses = function (editor) {
return editor.getParam('template_mdate_classes', 'mdate');
};
};
var constant = function (value) {
return function () {
var getSelectedContentClasses = function (editor) {
return editor.getParam('template_selected_content_classes', 'selcontent');
};
var getPreviewReplaceValues = function (editor) {
return editor.getParam('template_preview_replace_values');
};
var getTemplateReplaceValues = function (editor) {
return editor.getParam('template_replace_values');
};
var getTemplates = function (editorSettings) {
return editorSettings.templates;
};
var getCdateFormat = function (editor) {
return editor.getParam('template_cdate_format', editor.getLang('template.cdate_format'));
};
var getMdateFormat = function (editor) {
return editor.getParam('template_mdate_format', editor.getLang('template.mdate_format'));
};
var getDialogWidth = function (editor) {
return editor.getParam('template_popup_width', 600);
};
var getDialogHeight = function (editor) {
return Math.min(global$3.DOM.getViewPort().h, editor.getParam('template_popup_height', 500));
};
var Settings = {
getCreationDateClasses: getCreationDateClasses,
getModificationDateClasses: getModificationDateClasses,
getSelectedContentClasses: getSelectedContentClasses,
getPreviewReplaceValues: getPreviewReplaceValues,
getTemplateReplaceValues: getTemplateReplaceValues,
getTemplates: getTemplates,
getCdateFormat: getCdateFormat,
getMdateFormat: getMdateFormat,
getDialogWidth: getDialogWidth,
getDialogHeight: getDialogHeight
};
var addZeros = function (value, len) {
value = '' + value;
if (value.length < len) {
for (var i = 0; i < len - value.length; i++) {
value = '0' + value;
}
}
return value;
};
};
var identity = function (x) {
return x;
};
var tripleEquals = function (a, b) {
return a === b;
};
var curry = function (f) {
var x = [];
for (var _i = 1; _i < arguments.length; _i++) {
x[_i - 1] = arguments[_i];
}
var args = new Array(arguments.length - 1);
for (var i = 1; i < arguments.length; i++)
args[i - 1] = arguments[i];
return function () {
var x = [];
for (var _i = 0; _i < arguments.length; _i++) {
x[_i] = arguments[_i];
}
var newArgs = new Array(arguments.length);
for (var j = 0; j < newArgs.length; j++)
newArgs[j] = arguments[j];
var all = args.concat(newArgs);
return f.apply(null, all);
var getDateTime = function (editor, fmt, date) {
var daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');
var daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');
var monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
var monthsLong = 'January February March April May June July August September October November December'.split(' ');
date = date || new Date();
fmt = fmt.replace('%D', '%m/%d/%Y');
fmt = fmt.replace('%r', '%I:%M:%S %p');
fmt = fmt.replace('%Y', '' + date.getFullYear());
fmt = fmt.replace('%y', '' + date.getYear());
fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));
fmt = fmt.replace('%d', addZeros(date.getDate(), 2));
fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));
fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));
fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));
fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));
fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));
fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));
fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));
fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));
fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));
fmt = fmt.replace('%%', '%');
return fmt;
};
};
var not = function (f) {
return function () {
var x = [];
for (var _i = 0; _i < arguments.length; _i++) {
x[_i] = arguments[_i];
}
return !f.apply(null, arguments);
};
};
var die = function (msg) {
return function () {
throw new Error(msg);
};
};
var apply = function (f) {
return f();
};
var call = function (f) {
f();
};
var never = constant(false);
var always = constant(true);
var $_8o4xkuqfjh8lpxfs = {
noop: noop,
noarg: noarg,
compose: compose,
constant: constant,
identity: identity,
tripleEquals: tripleEquals,
curry: curry,
not: not,
die: die,
apply: apply,
call: call,
never: never,
always: always
};
var DateTimeHelper = { getDateTime: getDateTime };
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.XHR');
var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var getCreationDateClasses = function (editor) {
return editor.getParam('template_cdate_classes', 'cdate');
};
var getModificationDateClasses = function (editor) {
return editor.getParam('template_mdate_classes', 'mdate');
};
var getSelectedContentClasses = function (editor) {
return editor.getParam('template_selected_content_classes', 'selcontent');
};
var getPreviewReplaceValues = function (editor) {
return editor.getParam('template_preview_replace_values');
};
var getTemplateReplaceValues = function (editor) {
return editor.getParam('template_replace_values');
};
var getTemplates = function (editorSettings) {
return editorSettings.templates;
};
var getCdateFormat = function (editor) {
return editor.getParam('template_cdate_format', editor.getLang('template.cdate_format'));
};
var getMdateFormat = function (editor) {
return editor.getParam('template_mdate_format', editor.getLang('template.mdate_format'));
};
var getDialogWidth = function (editor) {
return editor.getParam('template_popup_width', 600);
};
var getDialogHeight = function (editor) {
return Math.min(global$3.DOM.getViewPort().h, editor.getParam('template_popup_height', 500));
};
var $_8pnf16qjjh8lpxg2 = {
getCreationDateClasses: getCreationDateClasses,
getModificationDateClasses: getModificationDateClasses,
getSelectedContentClasses: getSelectedContentClasses,
getPreviewReplaceValues: getPreviewReplaceValues,
getTemplateReplaceValues: getTemplateReplaceValues,
getTemplates: getTemplates,
getCdateFormat: getCdateFormat,
getMdateFormat: getMdateFormat,
getDialogWidth: getDialogWidth,
getDialogHeight: getDialogHeight
};
var addZeros = function (value, len) {
value = '' + value;
if (value.length < len) {
for (var i = 0; i < len - value.length; i++) {
value = '0' + value;
}
}
return value;
};
var getDateTime = function (editor, fmt, date) {
var daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');
var daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');
var monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
var monthsLong = 'January February March April May June July August September October November December'.split(' ');
date = date || new Date();
fmt = fmt.replace('%D', '%m/%d/%Y');
fmt = fmt.replace('%r', '%I:%M:%S %p');
fmt = fmt.replace('%Y', '' + date.getFullYear());
fmt = fmt.replace('%y', '' + date.getYear());
fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));
fmt = fmt.replace('%d', addZeros(date.getDate(), 2));
fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));
fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));
fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));
fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));
fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));
fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));
fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));
fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));
fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));
fmt = fmt.replace('%%', '%');
return fmt;
};
var $_beb94aqljh8lpxg3 = { getDateTime: getDateTime };
var createTemplateList = function (editorSettings, callback) {
return function () {
var templateList = $_8pnf16qjjh8lpxg2.getTemplates(editorSettings);
if (typeof templateList === 'function') {
templateList(callback);
return;
}
if (typeof templateList === 'string') {
global$2.send({
url: templateList,
success: function (text) {
callback(JSON.parse(text));
}
});
} else {
callback(templateList);
}
};
};
var replaceTemplateValues = function (editor, html, templateValues) {
global$1.each(templateValues, function (v, k) {
if (typeof v === 'function') {
v = v(k);
}
html = html.replace(new RegExp('\\{\\$' + k + '\\}', 'g'), v);
});
return html;
};
var replaceVals = function (editor, e) {
var dom = editor.dom, vl = $_8pnf16qjjh8lpxg2.getTemplateReplaceValues(editor);
global$1.each(dom.select('*', e), function (e) {
global$1.each(vl, function (v, k) {
if (dom.hasClass(e, k)) {
if (typeof vl[k] === 'function') {
vl[k](e);
}
var createTemplateList = function (editorSettings, callback) {
return function () {
var templateList = Settings.getTemplates(editorSettings);
if (typeof templateList === 'function') {
templateList(callback);
return;
}
});
});
};
var hasClass = function (n, c) {
return new RegExp('\\b' + c + '\\b', 'g').test(n.className);
};
var insertTemplate = function (editor, ui, html) {
var el;
var n;
var dom = editor.dom;
var sel = editor.selection.getContent();
html = replaceTemplateValues(editor, html, $_8pnf16qjjh8lpxg2.getTemplateReplaceValues(editor));
el = dom.create('div', null, html);
n = dom.select('.mceTmpl', el);
if (n && n.length > 0) {
el = dom.create('div', null);
el.appendChild(n[0].cloneNode(true));
}
global$1.each(dom.select('*', el), function (n) {
if (hasClass(n, $_8pnf16qjjh8lpxg2.getCreationDateClasses(editor).replace(/\s+/g, '|'))) {
n.innerHTML = $_beb94aqljh8lpxg3.getDateTime(editor, $_8pnf16qjjh8lpxg2.getCdateFormat(editor));
}
if (hasClass(n, $_8pnf16qjjh8lpxg2.getModificationDateClasses(editor).replace(/\s+/g, '|'))) {
n.innerHTML = $_beb94aqljh8lpxg3.getDateTime(editor, $_8pnf16qjjh8lpxg2.getMdateFormat(editor));
}
if (hasClass(n, $_8pnf16qjjh8lpxg2.getSelectedContentClasses(editor).replace(/\s+/g, '|'))) {
n.innerHTML = sel;
}
});
replaceVals(editor, el);
editor.execCommand('mceInsertContent', false, el.innerHTML);
editor.addVisual();
};
var $_a498r8qgjh8lpxfv = {
createTemplateList: createTemplateList,
replaceTemplateValues: replaceTemplateValues,
replaceVals: replaceVals,
insertTemplate: insertTemplate
};
var register = function (editor) {
editor.addCommand('mceInsertTemplate', $_8o4xkuqfjh8lpxfs.curry($_a498r8qgjh8lpxfv.insertTemplate, editor));
};
var $_4ehgfwqejh8lpxfo = { register: register };
var setup = function (editor) {
editor.on('PreProcess', function (o) {
var dom = editor.dom, dateFormat = $_8pnf16qjjh8lpxg2.getMdateFormat(editor);
global$1.each(dom.select('div', o.node), function (e) {
if (dom.hasClass(e, 'mceTmpl')) {
global$1.each(dom.select('*', e), function (e) {
if (dom.hasClass(e, editor.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) {
e.innerHTML = $_beb94aqljh8lpxg3.getDateTime(editor, dateFormat);
if (typeof templateList === 'string') {
global$2.send({
url: templateList,
success: function (text) {
callback(JSON.parse(text));
}
});
$_a498r8qgjh8lpxfv.replaceVals(editor, e);
} else {
callback(templateList);
}
});
});
};
var $_avwdxuqmjh8lpxg5 = { setup: setup };
var insertIframeHtml = function (editor, win, html) {
if (html.indexOf('<html>') === -1) {
var contentCssLinks_1 = '';
global$1.each(editor.contentCSS, function (url) {
contentCssLinks_1 += '<link type="text/css" rel="stylesheet" href="' + editor.documentBaseURI.toAbsolute(url) + '">';
});
var bodyClass = editor.settings.body_class || '';
if (bodyClass.indexOf('=') !== -1) {
bodyClass = editor.getParam('body_class', '', 'hash');
bodyClass = bodyClass[editor.id] || '';
}
html = '<!DOCTYPE html>' + '<html>' + '<head>' + contentCssLinks_1 + '</head>' + '<body class="' + bodyClass + '">' + html + '</body>' + '</html>';
}
html = $_a498r8qgjh8lpxfv.replaceTemplateValues(editor, html, $_8pnf16qjjh8lpxg2.getPreviewReplaceValues(editor));
var doc = win.find('iframe')[0].getEl().contentWindow.document;
doc.open();
doc.write(html);
doc.close();
};
var open = function (editor, templateList) {
var win;
var values = [];
var templateHtml;
if (!templateList || templateList.length === 0) {
var message = editor.translate('No templates defined.');
editor.notificationManager.open({
text: message,
type: 'info'
});
return;
}
global$1.each(templateList, function (template) {
values.push({
selected: !values.length,
text: template.title,
value: {
url: template.url,
content: template.content,
description: template.description
};
};
var replaceTemplateValues = function (editor, html, templateValues) {
global$1.each(templateValues, function (v, k) {
if (typeof v === 'function') {
v = v(k);
}
html = html.replace(new RegExp('\\{\\$' + k + '\\}', 'g'), v);
});
});
var onSelectTemplate = function (e) {
var value = e.control.value();
if (value.url) {
global$2.send({
url: value.url,
success: function (html) {
templateHtml = html;
insertIframeHtml(editor, win, templateHtml);
return html;
};
var replaceVals = function (editor, e) {
var dom = editor.dom, vl = Settings.getTemplateReplaceValues(editor);
global$1.each(dom.select('*', e), function (e) {
global$1.each(vl, function (v, k) {
if (dom.hasClass(e, k)) {
if (typeof vl[k] === 'function') {
vl[k](e);
}
}
});
} else {
templateHtml = value.content;
insertIframeHtml(editor, win, templateHtml);
});
};
var hasClass = function (n, c) {
return new RegExp('\\b' + c + '\\b', 'g').test(n.className);
};
var insertTemplate = function (editor, ui, html) {
var el;
var n;
var dom = editor.dom;
var sel = editor.selection.getContent();
html = replaceTemplateValues(editor, html, Settings.getTemplateReplaceValues(editor));
el = dom.create('div', null, html);
n = dom.select('.mceTmpl', el);
if (n && n.length > 0) {
el = dom.create('div', null);
el.appendChild(n[0].cloneNode(true));
}
win.find('#description')[0].text(e.control.value().description);
};
win = editor.windowManager.open({
title: 'Insert template',
layout: 'flex',
direction: 'column',
align: 'stretch',
padding: 15,
spacing: 10,
items: [
{
type: 'form',
flex: 0,
padding: 0,
items: [{
type: 'container',
label: 'Templates',
items: {
type: 'listbox',
label: 'Templates',
name: 'template',
values: values,
onselect: onSelectTemplate
}
}]
},
{
type: 'label',
name: 'description',
label: 'Description',
text: '\xA0'
},
{
type: 'iframe',
flex: 1,
border: 1
global$1.each(dom.select('*', el), function (n) {
if (hasClass(n, Settings.getCreationDateClasses(editor).replace(/\s+/g, '|'))) {
n.innerHTML = DateTimeHelper.getDateTime(editor, Settings.getCdateFormat(editor));
}
],
onsubmit: function () {
$_a498r8qgjh8lpxfv.insertTemplate(editor, false, templateHtml);
},
minWidth: $_8pnf16qjjh8lpxg2.getDialogWidth(editor),
minHeight: $_8pnf16qjjh8lpxg2.getDialogHeight(editor)
});
win.find('listbox')[0].fire('select');
};
var $_8mj4xvqojh8lpxg8 = { open: open };
var showDialog = function (editor) {
return function (templates) {
$_8mj4xvqojh8lpxg8.open(editor, templates);
if (hasClass(n, Settings.getModificationDateClasses(editor).replace(/\s+/g, '|'))) {
n.innerHTML = DateTimeHelper.getDateTime(editor, Settings.getMdateFormat(editor));
}
if (hasClass(n, Settings.getSelectedContentClasses(editor).replace(/\s+/g, '|'))) {
n.innerHTML = sel;
}
});
replaceVals(editor, el);
editor.execCommand('mceInsertContent', false, el.innerHTML);
editor.addVisual();
};
var Templates = {
createTemplateList: createTemplateList,
replaceTemplateValues: replaceTemplateValues,
replaceVals: replaceVals,
insertTemplate: insertTemplate
};
};
var register$1 = function (editor) {
editor.addButton('template', {
title: 'Insert template',
onclick: $_a498r8qgjh8lpxfv.createTemplateList(editor.settings, showDialog(editor))
});
editor.addMenuItem('template', {
text: 'Template',
onclick: $_a498r8qgjh8lpxfv.createTemplateList(editor.settings, showDialog(editor)),
icon: 'template',
context: 'insert'
});
};
var $_8wyuisqnjh8lpxg6 = { register: register$1 };
global.add('template', function (editor) {
$_8wyuisqnjh8lpxg6.register(editor);
$_4ehgfwqejh8lpxfo.register(editor);
$_avwdxuqmjh8lpxg5.setup(editor);
});
function Plugin () {
}
var register = function (editor) {
editor.addCommand('mceInsertTemplate', curry(Templates.insertTemplate, editor));
};
var Commands = { register: register };
return Plugin;
var setup = function (editor) {
editor.on('PreProcess', function (o) {
var dom = editor.dom, dateFormat = Settings.getMdateFormat(editor);
global$1.each(dom.select('div', o.node), function (e) {
if (dom.hasClass(e, 'mceTmpl')) {
global$1.each(dom.select('*', e), function (e) {
if (dom.hasClass(e, editor.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) {
e.innerHTML = DateTimeHelper.getDateTime(editor, dateFormat);
}
});
Templates.replaceVals(editor, e);
}
});
});
};
var FilterContent = { setup: setup };
var insertIframeHtml = function (editor, win, html) {
if (html.indexOf('<html>') === -1) {
var contentCssLinks_1 = '';
global$1.each(editor.contentCSS, function (url) {
contentCssLinks_1 += '<link type="text/css" rel="stylesheet" href="' + editor.documentBaseURI.toAbsolute(url) + '">';
});
var bodyClass = editor.settings.body_class || '';
if (bodyClass.indexOf('=') !== -1) {
bodyClass = editor.getParam('body_class', '', 'hash');
bodyClass = bodyClass[editor.id] || '';
}
html = '<!DOCTYPE html>' + '<html>' + '<head>' + contentCssLinks_1 + '</head>' + '<body class="' + bodyClass + '">' + html + '</body>' + '</html>';
}
html = Templates.replaceTemplateValues(editor, html, Settings.getPreviewReplaceValues(editor));
var doc = win.find('iframe')[0].getEl().contentWindow.document;
doc.open();
doc.write(html);
doc.close();
};
var open = function (editor, templateList) {
var win;
var values = [];
var templateHtml;
if (!templateList || templateList.length === 0) {
var message = editor.translate('No templates defined.');
editor.notificationManager.open({
text: message,
type: 'info'
});
return;
}
global$1.each(templateList, function (template) {
values.push({
selected: !values.length,
text: template.title,
value: {
url: template.url,
content: template.content,
description: template.description
}
});
});
var onSelectTemplate = function (e) {
var value = e.control.value();
if (value.url) {
global$2.send({
url: value.url,
success: function (html) {
templateHtml = html;
insertIframeHtml(editor, win, templateHtml);
}
});
} else {
templateHtml = value.content;
insertIframeHtml(editor, win, templateHtml);
}
win.find('#description')[0].text(e.control.value().description);
};
win = editor.windowManager.open({
title: 'Insert template',
layout: 'flex',
direction: 'column',
align: 'stretch',
padding: 15,
spacing: 10,
items: [
{
type: 'form',
flex: 0,
padding: 0,
items: [{
type: 'container',
label: 'Templates',
items: {
type: 'listbox',
label: 'Templates',
name: 'template',
values: values,
onselect: onSelectTemplate
}
}]
},
{
type: 'label',
name: 'description',
label: 'Description',
text: '\xA0'
},
{
type: 'iframe',
flex: 1,
border: 1
}
],
onsubmit: function () {
Templates.insertTemplate(editor, false, templateHtml);
},
minWidth: Settings.getDialogWidth(editor),
minHeight: Settings.getDialogHeight(editor)
});
win.find('listbox')[0].fire('select');
};
var Dialog = { open: open };
var showDialog = function (editor) {
return function (templates) {
Dialog.open(editor, templates);
};
};
var register$1 = function (editor) {
editor.addButton('template', {
title: 'Insert template',
onclick: Templates.createTemplateList(editor.settings, showDialog(editor))
});
editor.addMenuItem('template', {
text: 'Template',
onclick: Templates.createTemplateList(editor.settings, showDialog(editor)),
icon: 'template',
context: 'insert'
});
};
var Buttons = { register: register$1 };
global.add('template', function (editor) {
Buttons.register(editor);
Commands.register(editor);
FilterContent.setup(editor);
});
function Plugin () {
}
return Plugin;
}());
})();
File diff suppressed because one or more lines are too long
@@ -1,346 +1,346 @@
(function () {
var textcolor = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var getCurrentColor = function (editor, format) {
var color;
editor.dom.getParents(editor.selection.getStart(), function (elm) {
var value;
if (value = elm.style[format === 'forecolor' ? 'color' : 'background-color']) {
color = value;
}
});
return color;
};
var mapColors = function (colorMap) {
var i;
var colors = [];
for (i = 0; i < colorMap.length; i += 2) {
colors.push({
text: colorMap[i + 1],
color: '#' + colorMap[i]
var getCurrentColor = function (editor, format) {
var color;
editor.dom.getParents(editor.selection.getStart(), function (elm) {
var value;
if (value = elm.style[format === 'forecolor' ? 'color' : 'background-color']) {
color = color ? color : value;
}
});
}
return colors;
};
var applyFormat = function (editor, format, value) {
editor.undoManager.transact(function () {
editor.focus();
editor.formatter.apply(format, { value: value });
editor.nodeChanged();
});
};
var removeFormat = function (editor, format) {
editor.undoManager.transact(function () {
editor.focus();
editor.formatter.remove(format, { value: null }, null, true);
editor.nodeChanged();
});
};
var $_g6rglgqsjh8lpxgv = {
getCurrentColor: getCurrentColor,
mapColors: mapColors,
applyFormat: applyFormat,
removeFormat: removeFormat
};
var register = function (editor) {
editor.addCommand('mceApplyTextcolor', function (format, value) {
$_g6rglgqsjh8lpxgv.applyFormat(editor, format, value);
});
editor.addCommand('mceRemoveTextcolor', function (format) {
$_g6rglgqsjh8lpxgv.removeFormat(editor, format);
});
};
var $_2h0fwgqrjh8lpxgu = { register: register };
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var defaultColorMap = [
'000000',
'Black',
'993300',
'Burnt orange',
'333300',
'Dark olive',
'003300',
'Dark green',
'003366',
'Dark azure',
'000080',
'Navy Blue',
'333399',
'Indigo',
'333333',
'Very dark gray',
'800000',
'Maroon',
'FF6600',
'Orange',
'808000',
'Olive',
'008000',
'Green',
'008080',
'Teal',
'0000FF',
'Blue',
'666699',
'Grayish blue',
'808080',
'Gray',
'FF0000',
'Red',
'FF9900',
'Amber',
'99CC00',
'Yellow green',
'339966',
'Sea green',
'33CCCC',
'Turquoise',
'3366FF',
'Royal blue',
'800080',
'Purple',
'999999',
'Medium gray',
'FF00FF',
'Magenta',
'FFCC00',
'Gold',
'FFFF00',
'Yellow',
'00FF00',
'Lime',
'00FFFF',
'Aqua',
'00CCFF',
'Sky blue',
'993366',
'Red violet',
'FFFFFF',
'White',
'FF99CC',
'Pink',
'FFCC99',
'Peach',
'FFFF99',
'Light yellow',
'CCFFCC',
'Pale green',
'CCFFFF',
'Pale cyan',
'99CCFF',
'Light sky blue',
'CC99FF',
'Plum'
];
var getTextColorMap = function (editor) {
return editor.getParam('textcolor_map', defaultColorMap);
};
var getForeColorMap = function (editor) {
return editor.getParam('forecolor_map', getTextColorMap(editor));
};
var getBackColorMap = function (editor) {
return editor.getParam('backcolor_map', getTextColorMap(editor));
};
var getTextColorRows = function (editor) {
return editor.getParam('textcolor_rows', 5);
};
var getTextColorCols = function (editor) {
return editor.getParam('textcolor_cols', 8);
};
var getForeColorRows = function (editor) {
return editor.getParam('forecolor_rows', getTextColorRows(editor));
};
var getBackColorRows = function (editor) {
return editor.getParam('backcolor_rows', getTextColorRows(editor));
};
var getForeColorCols = function (editor) {
return editor.getParam('forecolor_cols', getTextColorCols(editor));
};
var getBackColorCols = function (editor) {
return editor.getParam('backcolor_cols', getTextColorCols(editor));
};
var getColorPickerCallback = function (editor) {
return editor.getParam('color_picker_callback', null);
};
var hasColorPicker = function (editor) {
return typeof getColorPickerCallback(editor) === 'function';
};
var $_du7910qwjh8lpxh5 = {
getForeColorMap: getForeColorMap,
getBackColorMap: getBackColorMap,
getForeColorRows: getForeColorRows,
getBackColorRows: getBackColorRows,
getForeColorCols: getForeColorCols,
getBackColorCols: getBackColorCols,
getColorPickerCallback: getColorPickerCallback,
hasColorPicker: hasColorPicker
};
var global$3 = tinymce.util.Tools.resolve('tinymce.util.I18n');
var getHtml = function (cols, rows, colorMap, hasColorPicker) {
var colors, color, html, last, x, y, i, count = 0;
var id = global$1.DOM.uniqueId('mcearia');
var getColorCellHtml = function (color, title) {
var isNoColor = color === 'transparent';
return '<td class="mce-grid-cell' + (isNoColor ? ' mce-colorbtn-trans' : '') + '">' + '<div id="' + id + '-' + count++ + '"' + ' data-mce-color="' + (color ? color : '') + '"' + ' role="option"' + ' tabIndex="-1"' + ' style="' + (color ? 'background-color: ' + color : '') + '"' + ' title="' + global$3.translate(title) + '">' + (isNoColor ? '&#215;' : '') + '</div>' + '</td>';
return color;
};
colors = $_g6rglgqsjh8lpxgv.mapColors(colorMap);
colors.push({
text: global$3.translate('No color'),
color: 'transparent'
});
html = '<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>';
last = colors.length - 1;
for (y = 0; y < rows; y++) {
html += '<tr>';
for (x = 0; x < cols; x++) {
i = y * cols + x;
if (i > last) {
html += '<td></td>';
} else {
color = colors[i];
html += getColorCellHtml(color.color, color.text);
}
}
html += '</tr>';
}
if (hasColorPicker) {
html += '<tr>' + '<td colspan="' + cols + '" class="mce-custom-color-btn">' + '<div id="' + id + '-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" ' + 'role="button" tabindex="-1" aria-labelledby="' + id + '-c" style="width: 100%">' + '<button type="button" role="presentation" tabindex="-1">' + global$3.translate('Custom...') + '</button>' + '</div>' + '</td>' + '</tr>';
html += '<tr>';
for (x = 0; x < cols; x++) {
html += getColorCellHtml('', 'Custom color');
}
html += '</tr>';
}
html += '</tbody></table>';
return html;
};
var $_ehq37zqxjh8lpxhb = { getHtml: getHtml };
var setDivColor = function setDivColor(div, value) {
div.style.background = value;
div.setAttribute('data-mce-color', value);
};
var onButtonClick = function (editor) {
return function (e) {
var ctrl = e.control;
if (ctrl._color) {
editor.execCommand('mceApplyTextcolor', ctrl.settings.format, ctrl._color);
} else {
editor.execCommand('mceRemoveTextcolor', ctrl.settings.format);
var mapColors = function (colorMap) {
var i;
var colors = [];
for (i = 0; i < colorMap.length; i += 2) {
colors.push({
text: colorMap[i + 1],
color: '#' + colorMap[i]
});
}
return colors;
};
};
var onPanelClick = function (editor, cols) {
return function (e) {
var buttonCtrl = this.parent();
var value;
var currentColor = $_g6rglgqsjh8lpxgv.getCurrentColor(editor, buttonCtrl.settings.format);
var selectColor = function (value) {
editor.execCommand('mceApplyTextcolor', buttonCtrl.settings.format, value);
buttonCtrl.hidePanel();
buttonCtrl.color(value);
var applyFormat = function (editor, format, value) {
editor.undoManager.transact(function () {
editor.focus();
editor.formatter.apply(format, { value: value });
editor.nodeChanged();
});
};
var removeFormat = function (editor, format) {
editor.undoManager.transact(function () {
editor.focus();
editor.formatter.remove(format, { value: null }, null, true);
editor.nodeChanged();
});
};
var TextColor = {
getCurrentColor: getCurrentColor,
mapColors: mapColors,
applyFormat: applyFormat,
removeFormat: removeFormat
};
var register = function (editor) {
editor.addCommand('mceApplyTextcolor', function (format, value) {
TextColor.applyFormat(editor, format, value);
});
editor.addCommand('mceRemoveTextcolor', function (format) {
TextColor.removeFormat(editor, format);
});
};
var Commands = { register: register };
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var defaultColorMap = [
'000000',
'Black',
'993300',
'Burnt orange',
'333300',
'Dark olive',
'003300',
'Dark green',
'003366',
'Dark azure',
'000080',
'Navy Blue',
'333399',
'Indigo',
'333333',
'Very dark gray',
'800000',
'Maroon',
'FF6600',
'Orange',
'808000',
'Olive',
'008000',
'Green',
'008080',
'Teal',
'0000FF',
'Blue',
'666699',
'Grayish blue',
'808080',
'Gray',
'FF0000',
'Red',
'FF9900',
'Amber',
'99CC00',
'Yellow green',
'339966',
'Sea green',
'33CCCC',
'Turquoise',
'3366FF',
'Royal blue',
'800080',
'Purple',
'999999',
'Medium gray',
'FF00FF',
'Magenta',
'FFCC00',
'Gold',
'FFFF00',
'Yellow',
'00FF00',
'Lime',
'00FFFF',
'Aqua',
'00CCFF',
'Sky blue',
'993366',
'Red violet',
'FFFFFF',
'White',
'FF99CC',
'Pink',
'FFCC99',
'Peach',
'FFFF99',
'Light yellow',
'CCFFCC',
'Pale green',
'CCFFFF',
'Pale cyan',
'99CCFF',
'Light sky blue',
'CC99FF',
'Plum'
];
var getTextColorMap = function (editor) {
return editor.getParam('textcolor_map', defaultColorMap);
};
var getForeColorMap = function (editor) {
return editor.getParam('forecolor_map', getTextColorMap(editor));
};
var getBackColorMap = function (editor) {
return editor.getParam('backcolor_map', getTextColorMap(editor));
};
var getTextColorRows = function (editor) {
return editor.getParam('textcolor_rows', 5);
};
var getTextColorCols = function (editor) {
return editor.getParam('textcolor_cols', 8);
};
var getForeColorRows = function (editor) {
return editor.getParam('forecolor_rows', getTextColorRows(editor));
};
var getBackColorRows = function (editor) {
return editor.getParam('backcolor_rows', getTextColorRows(editor));
};
var getForeColorCols = function (editor) {
return editor.getParam('forecolor_cols', getTextColorCols(editor));
};
var getBackColorCols = function (editor) {
return editor.getParam('backcolor_cols', getTextColorCols(editor));
};
var getColorPickerCallback = function (editor) {
return editor.getParam('color_picker_callback', null);
};
var hasColorPicker = function (editor) {
return typeof getColorPickerCallback(editor) === 'function';
};
var Settings = {
getForeColorMap: getForeColorMap,
getBackColorMap: getBackColorMap,
getForeColorRows: getForeColorRows,
getBackColorRows: getBackColorRows,
getForeColorCols: getForeColorCols,
getBackColorCols: getBackColorCols,
getColorPickerCallback: getColorPickerCallback,
hasColorPicker: hasColorPicker
};
var global$3 = tinymce.util.Tools.resolve('tinymce.util.I18n');
var getHtml = function (cols, rows, colorMap, hasColorPicker) {
var colors, color, html, last, x, y, i, count = 0;
var id = global$1.DOM.uniqueId('mcearia');
var getColorCellHtml = function (color, title) {
var isNoColor = color === 'transparent';
return '<td class="mce-grid-cell' + (isNoColor ? ' mce-colorbtn-trans' : '') + '">' + '<div id="' + id + '-' + count++ + '"' + ' data-mce-color="' + (color ? color : '') + '"' + ' role="option"' + ' tabIndex="-1"' + ' style="' + (color ? 'background-color: ' + color : '') + '"' + ' title="' + global$3.translate(title) + '">' + (isNoColor ? '&#215;' : '') + '</div>' + '</td>';
};
var resetColor = function () {
editor.execCommand('mceRemoveTextcolor', buttonCtrl.settings.format);
buttonCtrl.hidePanel();
buttonCtrl.resetColor();
};
if (global$1.DOM.getParent(e.target, '.mce-custom-color-btn')) {
buttonCtrl.hidePanel();
var colorPickerCallback = $_du7910qwjh8lpxh5.getColorPickerCallback(editor);
colorPickerCallback.call(editor, function (value) {
var tableElm = buttonCtrl.panel.getEl().getElementsByTagName('table')[0];
var customColorCells, div, i;
customColorCells = global$2.map(tableElm.rows[tableElm.rows.length - 1].childNodes, function (elm) {
return elm.firstChild;
});
for (i = 0; i < customColorCells.length; i++) {
div = customColorCells[i];
if (!div.getAttribute('data-mce-color')) {
break;
}
colors = TextColor.mapColors(colorMap);
colors.push({
text: global$3.translate('No color'),
color: 'transparent'
});
html = '<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>';
last = colors.length - 1;
for (y = 0; y < rows; y++) {
html += '<tr>';
for (x = 0; x < cols; x++) {
i = y * cols + x;
if (i > last) {
html += '<td></td>';
} else {
color = colors[i];
html += getColorCellHtml(color.color, color.text);
}
if (i === cols) {
for (i = 0; i < cols - 1; i++) {
setDivColor(customColorCells[i], customColorCells[i + 1].getAttribute('data-mce-color'));
}
}
setDivColor(div, value);
selectColor(value);
}, currentColor);
}
value = e.target.getAttribute('data-mce-color');
if (value) {
if (this.lastId) {
global$1.DOM.get(this.lastId).setAttribute('aria-selected', 'false');
}
e.target.setAttribute('aria-selected', true);
this.lastId = e.target.id;
if (value === 'transparent') {
resetColor();
html += '</tr>';
}
if (hasColorPicker) {
html += '<tr>' + '<td colspan="' + cols + '" class="mce-custom-color-btn">' + '<div id="' + id + '-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" ' + 'role="button" tabindex="-1" aria-labelledby="' + id + '-c" style="width: 100%">' + '<button type="button" role="presentation" tabindex="-1">' + global$3.translate('Custom...') + '</button>' + '</div>' + '</td>' + '</tr>';
html += '<tr>';
for (x = 0; x < cols; x++) {
html += getColorCellHtml('', 'Custom color');
}
html += '</tr>';
}
html += '</tbody></table>';
return html;
};
var ColorPickerHtml = { getHtml: getHtml };
var setDivColor = function setDivColor(div, value) {
div.style.background = value;
div.setAttribute('data-mce-color', value);
};
var onButtonClick = function (editor) {
return function (e) {
var ctrl = e.control;
if (ctrl._color) {
editor.execCommand('mceApplyTextcolor', ctrl.settings.format, ctrl._color);
} else {
selectColor(value);
editor.execCommand('mceRemoveTextcolor', ctrl.settings.format);
}
} else if (value !== null) {
buttonCtrl.hidePanel();
}
};
};
};
var renderColorPicker = function (editor, foreColor) {
return function () {
var cols = foreColor ? $_du7910qwjh8lpxh5.getForeColorCols(editor) : $_du7910qwjh8lpxh5.getBackColorCols(editor);
var rows = foreColor ? $_du7910qwjh8lpxh5.getForeColorRows(editor) : $_du7910qwjh8lpxh5.getBackColorRows(editor);
var colorMap = foreColor ? $_du7910qwjh8lpxh5.getForeColorMap(editor) : $_du7910qwjh8lpxh5.getBackColorMap(editor);
var hasColorPicker = $_du7910qwjh8lpxh5.hasColorPicker(editor);
return $_ehq37zqxjh8lpxhb.getHtml(cols, rows, colorMap, hasColorPicker);
var onPanelClick = function (editor, cols) {
return function (e) {
var buttonCtrl = this.parent();
var value;
var currentColor = TextColor.getCurrentColor(editor, buttonCtrl.settings.format);
var selectColor = function (value) {
editor.execCommand('mceApplyTextcolor', buttonCtrl.settings.format, value);
buttonCtrl.hidePanel();
buttonCtrl.color(value);
};
var resetColor = function () {
editor.execCommand('mceRemoveTextcolor', buttonCtrl.settings.format);
buttonCtrl.hidePanel();
buttonCtrl.resetColor();
};
if (global$1.DOM.getParent(e.target, '.mce-custom-color-btn')) {
buttonCtrl.hidePanel();
var colorPickerCallback = Settings.getColorPickerCallback(editor);
colorPickerCallback.call(editor, function (value) {
var tableElm = buttonCtrl.panel.getEl().getElementsByTagName('table')[0];
var customColorCells, div, i;
customColorCells = global$2.map(tableElm.rows[tableElm.rows.length - 1].childNodes, function (elm) {
return elm.firstChild;
});
for (i = 0; i < customColorCells.length; i++) {
div = customColorCells[i];
if (!div.getAttribute('data-mce-color')) {
break;
}
}
if (i === cols) {
for (i = 0; i < cols - 1; i++) {
setDivColor(customColorCells[i], customColorCells[i + 1].getAttribute('data-mce-color'));
}
}
setDivColor(div, value);
selectColor(value);
}, currentColor);
}
value = e.target.getAttribute('data-mce-color');
if (value) {
if (this.lastId) {
global$1.DOM.get(this.lastId).setAttribute('aria-selected', 'false');
}
e.target.setAttribute('aria-selected', true);
this.lastId = e.target.id;
if (value === 'transparent') {
resetColor();
} else {
selectColor(value);
}
} else if (value !== null) {
buttonCtrl.hidePanel();
}
};
};
};
var register$1 = function (editor) {
editor.addButton('forecolor', {
type: 'colorbutton',
tooltip: 'Text color',
format: 'forecolor',
panel: {
role: 'application',
ariaRemember: true,
html: renderColorPicker(editor, true),
onclick: onPanelClick(editor, $_du7910qwjh8lpxh5.getForeColorCols(editor))
},
onclick: onButtonClick(editor)
});
editor.addButton('backcolor', {
type: 'colorbutton',
tooltip: 'Background color',
format: 'hilitecolor',
panel: {
role: 'application',
ariaRemember: true,
html: renderColorPicker(editor, false),
onclick: onPanelClick(editor, $_du7910qwjh8lpxh5.getBackColorCols(editor))
},
onclick: onButtonClick(editor)
});
};
var $_d9affnqtjh8lpxgz = { register: register$1 };
var renderColorPicker = function (editor, foreColor) {
return function () {
var cols = foreColor ? Settings.getForeColorCols(editor) : Settings.getBackColorCols(editor);
var rows = foreColor ? Settings.getForeColorRows(editor) : Settings.getBackColorRows(editor);
var colorMap = foreColor ? Settings.getForeColorMap(editor) : Settings.getBackColorMap(editor);
var hasColorPicker = Settings.hasColorPicker(editor);
return ColorPickerHtml.getHtml(cols, rows, colorMap, hasColorPicker);
};
};
var register$1 = function (editor) {
editor.addButton('forecolor', {
type: 'colorbutton',
tooltip: 'Text color',
format: 'forecolor',
panel: {
role: 'application',
ariaRemember: true,
html: renderColorPicker(editor, true),
onclick: onPanelClick(editor, Settings.getForeColorCols(editor))
},
onclick: onButtonClick(editor)
});
editor.addButton('backcolor', {
type: 'colorbutton',
tooltip: 'Background color',
format: 'hilitecolor',
panel: {
role: 'application',
ariaRemember: true,
html: renderColorPicker(editor, false),
onclick: onPanelClick(editor, Settings.getBackColorCols(editor))
},
onclick: onButtonClick(editor)
});
};
var Buttons = { register: register$1 };
global.add('textcolor', function (editor) {
$_2h0fwgqrjh8lpxgu.register(editor);
$_d9affnqtjh8lpxgz.register(editor);
});
function Plugin () {
}
global.add('textcolor', function (editor) {
Commands.register(editor);
Buttons.register(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
+1 -1
View File
@@ -1 +1 @@
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(t,o){var r;return t.dom.getParents(t.selection.getStart(),function(t){var e;(e=t.style["forecolor"===o?"color":"background-color"])&&(r=e)}),r},g=function(t){var e,o=[];for(e=0;e<t.length;e+=2)o.push({text:t[e+1],color:"#"+t[e]});return o},r=function(t,e,o){t.undoManager.transact(function(){t.focus(),t.formatter.apply(e,{value:o}),t.nodeChanged()})},e=function(t,e){t.undoManager.transact(function(){t.focus(),t.formatter.remove(e,{value:null},null,!0),t.nodeChanged()})},o=function(o){o.addCommand("mceApplyTextcolor",function(t,e){r(o,t,e)}),o.addCommand("mceRemoveTextcolor",function(t){e(o,t)})},F=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),i=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],l=function(t){return t.getParam("textcolor_map",a)},c=function(t){return t.getParam("textcolor_rows",5)},u=function(t){return t.getParam("textcolor_cols",8)},m=function(t){return t.getParam("color_picker_callback",null)},s=function(t){return t.getParam("forecolor_map",l(t))},d=function(t){return t.getParam("backcolor_map",l(t))},f=function(t){return t.getParam("forecolor_rows",c(t))},b=function(t){return t.getParam("backcolor_rows",c(t))},p=function(t){return t.getParam("forecolor_cols",u(t))},C=function(t){return t.getParam("backcolor_cols",u(t))},y=m,v=function(t){return"function"==typeof m(t)},h=tinymce.util.Tools.resolve("tinymce.util.I18n"),P=function(t,e,o,r){var n,a,l,c,i,u,m,s=0,d=F.DOM.uniqueId("mcearia"),f=function(t,e){var o="transparent"===t;return'<td class="mce-grid-cell'+(o?" mce-colorbtn-trans":"")+'"><div id="'+d+"-"+s+++'" data-mce-color="'+(t||"")+'" role="option" tabIndex="-1" style="'+(t?"background-color: "+t:"")+'" title="'+h.translate(e)+'">'+(o?"&#215;":"")+"</div></td>"};for((n=g(o)).push({text:h.translate("No color"),color:"transparent"}),l='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',c=n.length-1,u=0;u<e;u++){for(l+="<tr>",i=0;i<t;i++)l+=c<(m=u*t+i)?"<td></td>":f((a=n[m]).color,a.text);l+="</tr>"}if(r){for(l+='<tr><td colspan="'+t+'" class="mce-custom-color-btn"><div id="'+d+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+d+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+h.translate("Custom...")+"</button></div></td></tr>",l+="<tr>",i=0;i<t;i++)l+=f("","Custom color");l+="</tr>"}return l+="</tbody></table>"},k=function(t,e){t.style.background=e,t.setAttribute("data-mce-color",e)},x=function(o){return function(t){var e=t.control;e._color?o.execCommand("mceApplyTextcolor",e.settings.format,e._color):o.execCommand("mceRemoveTextcolor",e.settings.format)}},T=function(r,c){return function(t){var e,a=this.parent(),o=n(r,a.settings.format),l=function(t){r.execCommand("mceApplyTextcolor",a.settings.format,t),a.hidePanel(),a.color(t)};F.DOM.getParent(t.target,".mce-custom-color-btn")&&(a.hidePanel(),y(r).call(r,function(t){var e,o,r,n=a.panel.getEl().getElementsByTagName("table")[0];for(e=i.map(n.rows[n.rows.length-1].childNodes,function(t){return t.firstChild}),r=0;r<e.length&&(o=e[r]).getAttribute("data-mce-color");r++);if(r===c)for(r=0;r<c-1;r++)k(e[r],e[r+1].getAttribute("data-mce-color"));k(o,t),l(t)},o)),(e=t.target.getAttribute("data-mce-color"))?(this.lastId&&F.DOM.get(this.lastId).setAttribute("aria-selected","false"),t.target.setAttribute("aria-selected",!0),this.lastId=t.target.id,"transparent"===e?(r.execCommand("mceRemoveTextcolor",a.settings.format),a.hidePanel(),a.resetColor()):l(e)):null!==e&&a.hidePanel()}},_=function(n,a){return function(){var t=a?p(n):C(n),e=a?f(n):b(n),o=a?s(n):d(n),r=v(n);return P(t,e,o,r)}},A=function(t){t.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!0),onclick:T(t,p(t))},onclick:x(t)}),t.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!1),onclick:T(t,C(t))},onclick:x(t)})};t.add("textcolor",function(t){o(t),A(t)})}();
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(t,o){var r;return t.dom.getParents(t.selection.getStart(),function(t){var e;(e=t.style["forecolor"===o?"color":"background-color"])&&(r=r||e)}),r},g=function(t){var e,o=[];for(e=0;e<t.length;e+=2)o.push({text:t[e+1],color:"#"+t[e]});return o},r=function(t,e,o){t.undoManager.transact(function(){t.focus(),t.formatter.apply(e,{value:o}),t.nodeChanged()})},e=function(t,e){t.undoManager.transact(function(){t.focus(),t.formatter.remove(e,{value:null},null,!0),t.nodeChanged()})},o=function(o){o.addCommand("mceApplyTextcolor",function(t,e){r(o,t,e)}),o.addCommand("mceRemoveTextcolor",function(t){e(o,t)})},F=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),i=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],l=function(t){return t.getParam("textcolor_map",a)},c=function(t){return t.getParam("textcolor_rows",5)},u=function(t){return t.getParam("textcolor_cols",8)},m=function(t){return t.getParam("color_picker_callback",null)},s=function(t){return t.getParam("forecolor_map",l(t))},d=function(t){return t.getParam("backcolor_map",l(t))},f=function(t){return t.getParam("forecolor_rows",c(t))},b=function(t){return t.getParam("backcolor_rows",c(t))},p=function(t){return t.getParam("forecolor_cols",u(t))},C=function(t){return t.getParam("backcolor_cols",u(t))},y=m,v=function(t){return"function"==typeof m(t)},h=tinymce.util.Tools.resolve("tinymce.util.I18n"),P=function(t,e,o,r){var n,a,l,c,i,u,m,s=0,d=F.DOM.uniqueId("mcearia"),f=function(t,e){var o="transparent"===t;return'<td class="mce-grid-cell'+(o?" mce-colorbtn-trans":"")+'"><div id="'+d+"-"+s+++'" data-mce-color="'+(t||"")+'" role="option" tabIndex="-1" style="'+(t?"background-color: "+t:"")+'" title="'+h.translate(e)+'">'+(o?"&#215;":"")+"</div></td>"};for((n=g(o)).push({text:h.translate("No color"),color:"transparent"}),l='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',c=n.length-1,u=0;u<e;u++){for(l+="<tr>",i=0;i<t;i++)l+=c<(m=u*t+i)?"<td></td>":f((a=n[m]).color,a.text);l+="</tr>"}if(r){for(l+='<tr><td colspan="'+t+'" class="mce-custom-color-btn"><div id="'+d+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+d+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+h.translate("Custom...")+"</button></div></td></tr>",l+="<tr>",i=0;i<t;i++)l+=f("","Custom color");l+="</tr>"}return l+="</tbody></table>"},k=function(t,e){t.style.background=e,t.setAttribute("data-mce-color",e)},x=function(o){return function(t){var e=t.control;e._color?o.execCommand("mceApplyTextcolor",e.settings.format,e._color):o.execCommand("mceRemoveTextcolor",e.settings.format)}},T=function(r,c){return function(t){var e,a=this.parent(),o=n(r,a.settings.format),l=function(t){r.execCommand("mceApplyTextcolor",a.settings.format,t),a.hidePanel(),a.color(t)};F.DOM.getParent(t.target,".mce-custom-color-btn")&&(a.hidePanel(),y(r).call(r,function(t){var e,o,r,n=a.panel.getEl().getElementsByTagName("table")[0];for(e=i.map(n.rows[n.rows.length-1].childNodes,function(t){return t.firstChild}),r=0;r<e.length&&(o=e[r]).getAttribute("data-mce-color");r++);if(r===c)for(r=0;r<c-1;r++)k(e[r],e[r+1].getAttribute("data-mce-color"));k(o,t),l(t)},o)),(e=t.target.getAttribute("data-mce-color"))?(this.lastId&&F.DOM.get(this.lastId).setAttribute("aria-selected","false"),t.target.setAttribute("aria-selected",!0),this.lastId=t.target.id,"transparent"===e?(r.execCommand("mceRemoveTextcolor",a.settings.format),a.hidePanel(),a.resetColor()):l(e)):null!==e&&a.hidePanel()}},_=function(n,a){return function(){var t=a?p(n):C(n),e=a?f(n):b(n),o=a?s(n):d(n),r=v(n);return P(t,e,o,r)}},A=function(t){t.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!0),onclick:T(t,p(t))},onclick:x(t)}),t.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!1),onclick:T(t,C(t))},onclick:x(t)})};t.add("textcolor",function(t){o(t),A(t)})}();
@@ -1,370 +1,616 @@
(function () {
var textpattern = (function () {
'use strict';
var textpattern = (function (domGlobals) {
'use strict';
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
};
var set = function (v) {
value = v;
};
var clone = function () {
return Cell(get());
};
return {
get: get,
set: set,
clone: clone
};
};
var set = function (v) {
value = v;
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var constant = function (value) {
return function () {
return value;
};
};
var clone = function () {
return Cell(get());
var never = constant(false);
var always = constant(true);
var never$1 = never;
var always$1 = always;
var none = function () {
return NONE;
};
return {
get: get,
set: set,
clone: clone
var NONE = function () {
var eq = function (o) {
return o.isNone();
};
var call = function (thunk) {
return thunk();
};
var id = function (n) {
return n;
};
var noop = function () {
};
var nul = function () {
return null;
};
var undef = function () {
return undefined;
};
var me = {
fold: function (n, s) {
return n();
},
is: never$1,
isSome: never$1,
isNone: always$1,
getOr: id,
getOrThunk: call,
getOrDie: function (msg) {
throw new Error(msg || 'error: getOrDie called on none.');
},
getOrNull: nul,
getOrUndefined: undef,
or: id,
orThunk: call,
map: none,
ap: none,
each: noop,
bind: none,
flatten: none,
exists: never$1,
forall: always$1,
filter: none,
equals: eq,
equals_: eq,
toArray: function () {
return [];
},
toString: constant('none()')
};
if (Object.freeze)
Object.freeze(me);
return me;
}();
var some = function (a) {
var constant_a = function () {
return a;
};
var self = function () {
return me;
};
var map = function (f) {
return some(f(a));
};
var bind = function (f) {
return f(a);
};
var me = {
fold: function (n, s) {
return s(a);
},
is: function (v) {
return a === v;
},
isSome: always$1,
isNone: never$1,
getOr: constant_a,
getOrThunk: constant_a,
getOrDie: constant_a,
getOrNull: constant_a,
getOrUndefined: constant_a,
or: self,
orThunk: self,
map: map,
ap: function (optfab) {
return optfab.fold(none, function (fab) {
return some(fab(a));
});
},
each: function (f) {
f(a);
},
bind: bind,
flatten: constant_a,
exists: bind,
forall: bind,
filter: function (f) {
return f(a) ? me : NONE;
},
equals: function (o) {
return o.is(a);
},
equals_: function (o, elementEq) {
return o.fold(never$1, function (b) {
return elementEq(a, b);
});
},
toArray: function () {
return [a];
},
toString: function () {
return 'some(' + a + ')';
}
};
return me;
};
};
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var get = function (patternsState) {
var setPatterns = function (newPatterns) {
patternsState.set(newPatterns);
var from = function (value) {
return value === null || value === undefined ? NONE : some(value);
};
var getPatterns = function () {
return patternsState.get();
var Option = {
some: some,
none: none,
from: from
};
return {
setPatterns: setPatterns,
getPatterns: getPatterns
var typeOf = function (x) {
if (x === null)
return 'null';
var t = typeof x;
if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array'))
return 'array';
if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String'))
return 'string';
return t;
};
};
var $_48hw0r2jh8lpxhw = { get: get };
var isType = function (type) {
return function (value) {
return typeOf(value) === type;
};
};
var isFunction = isType('function');
var defaultPatterns = [
{
start: '*',
end: '*',
format: 'italic'
},
{
start: '**',
end: '**',
format: 'bold'
},
{
start: '***',
end: '***',
format: [
'bold',
'italic'
]
},
{
start: '#',
format: 'h1'
},
{
start: '##',
format: 'h2'
},
{
start: '###',
format: 'h3'
},
{
start: '####',
format: 'h4'
},
{
start: '#####',
format: 'h5'
},
{
start: '######',
format: 'h6'
},
{
start: '1. ',
cmd: 'InsertOrderedList'
},
{
start: '* ',
cmd: 'InsertUnorderedList'
},
{
start: '- ',
cmd: 'InsertUnorderedList'
}
];
var getPatterns = function (editorSettings) {
return editorSettings.textpattern_patterns !== undefined ? editorSettings.textpattern_patterns : defaultPatterns;
};
var $_8it7iyr3jh8lpxhx = { getPatterns: getPatterns };
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.VK');
var global$3 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');
var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var sortPatterns = function (patterns) {
return patterns.sort(function (a, b) {
if (a.start.length > b.start.length) {
return -1;
var slice = Array.prototype.slice;
var filter = function (xs, pred) {
var r = [];
for (var i = 0, len = xs.length; i < len; i++) {
var x = xs[i];
if (pred(x, i, xs)) {
r.push(x);
}
}
if (a.start.length < b.start.length) {
return 1;
return r;
};
var sort = function (xs, comparator) {
var copy = slice.call(xs, 0);
copy.sort(comparator);
return copy;
};
var from$1 = isFunction(Array.from) ? Array.from : function (x) {
return slice.call(x);
};
var hasOwnProperty = Object.hasOwnProperty;
var get = function (obj, key) {
return has(obj, key) ? Option.from(obj[key]) : Option.none();
};
var has = function (obj, key) {
return hasOwnProperty.call(obj, key);
};
var isInlinePattern = function (pattern) {
return has(pattern, 'start') && has(pattern, 'end');
};
var isBlockPattern = function (pattern) {
return !has(pattern, 'end') && !has(pattern, 'replacement');
};
var isReplacementPattern = function (pattern) {
return has(pattern, 'replacement');
};
var sortPatterns = function (patterns) {
return sort(patterns, function (a, b) {
if (a.start.length === b.start.length) {
return 0;
}
return a.start.length > b.start.length ? -1 : 1;
});
};
var createPatternSet = function (patterns) {
return {
inlinePatterns: sortPatterns(filter(patterns, isInlinePattern)),
blockPatterns: sortPatterns(filter(patterns, isBlockPattern)),
replacementPatterns: filter(patterns, isReplacementPattern)
};
};
var get$1 = function (patternsState) {
var setPatterns = function (newPatterns) {
patternsState.set(createPatternSet(newPatterns));
};
var getPatterns = function () {
return patternsState.get().inlinePatterns.concat(patternsState.get().blockPatterns, patternsState.get().replacementPatterns);
};
return {
setPatterns: setPatterns,
getPatterns: getPatterns
};
};
var Api = { get: get$1 };
var defaultPatterns = [
{
start: '*',
end: '*',
format: 'italic'
},
{
start: '**',
end: '**',
format: 'bold'
},
{
start: '***',
end: '***',
format: [
'bold',
'italic'
]
},
{
start: '#',
format: 'h1'
},
{
start: '##',
format: 'h2'
},
{
start: '###',
format: 'h3'
},
{
start: '####',
format: 'h4'
},
{
start: '#####',
format: 'h5'
},
{
start: '######',
format: 'h6'
},
{
start: '1. ',
cmd: 'InsertOrderedList'
},
{
start: '* ',
cmd: 'InsertUnorderedList'
},
{
start: '- ',
cmd: 'InsertUnorderedList'
}
return 0;
});
};
var findPattern = function (patterns, text) {
for (var i = 0; i < patterns.length; i++) {
if (text.indexOf(patterns[i].start) !== 0) {
continue;
}
if (patterns[i].end && text.lastIndexOf(patterns[i].end) !== text.length - patterns[i].end.length) {
continue;
}
return patterns[i];
}
};
var isMatchingPattern = function (pattern, text, offset, delta) {
var textEnd = text.substr(offset - pattern.end.length - delta, pattern.end.length);
return textEnd === pattern.end;
};
var hasContent = function (offset, delta, pattern) {
return offset - delta - pattern.end.length - pattern.start.length > 0;
};
var findEndPattern = function (patterns, text, offset, delta) {
var pattern, i;
var sortedPatterns = sortPatterns(patterns);
for (i = 0; i < sortedPatterns.length; i++) {
pattern = sortedPatterns[i];
if (pattern.end !== undefined && isMatchingPattern(pattern, text, offset, delta) && hasContent(offset, delta, pattern)) {
];
var getPatternSet = function (editorSettings) {
var patterns = get(editorSettings, 'textpattern_patterns').getOr(defaultPatterns);
return createPatternSet(patterns);
};
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.VK');
var global$3 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');
var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var findPattern = function (patterns, text) {
for (var i = 0; i < patterns.length; i++) {
var pattern = patterns[i];
if (text.indexOf(pattern.start) !== 0) {
continue;
}
if (pattern.end && text.lastIndexOf(pattern.end) !== text.length - pattern.end.length) {
continue;
}
return pattern;
}
}
};
var $_eqvt4jrbjh8lpxi7 = {
findPattern: findPattern,
findEndPattern: findEndPattern
};
var splitContainer = function (container, pattern, endOffset, startOffset, space) {
container = startOffset > 0 ? container.splitText(startOffset) : container;
container.splitText(endOffset - startOffset + pattern.end.length);
container.deleteData(0, pattern.start.length);
container.deleteData(container.data.length - pattern.end.length, pattern.end.length);
return container;
};
var patternFromRng = function (patterns, rng, space) {
if (rng.collapsed === false) {
return;
}
var container = rng.startContainer;
var text = container.data;
var delta = space === true ? 1 : 0;
if (container.nodeType !== 3) {
return;
}
var endPattern = $_eqvt4jrbjh8lpxi7.findEndPattern(patterns, text, rng.startOffset, delta);
if (endPattern === undefined) {
return;
}
var endOffset = text.lastIndexOf(endPattern.end, rng.startOffset - delta);
var startOffset = text.lastIndexOf(endPattern.start, endOffset - endPattern.end.length);
endOffset = text.indexOf(endPattern.end, startOffset + endPattern.start.length);
if (startOffset === -1) {
return;
}
var patternRng = document.createRange();
patternRng.setStart(container, startOffset);
patternRng.setEnd(container, endOffset + endPattern.end.length);
var startPattern = $_eqvt4jrbjh8lpxi7.findPattern(patterns, patternRng.toString());
if (endPattern === undefined || startPattern !== endPattern || container.data.length <= endPattern.start.length + endPattern.end.length) {
return;
}
return {
pattern: endPattern,
startOffset: startOffset,
endOffset: endOffset
};
};
var splitAndApply = function (editor, container, found, space) {
var formatArray = global$4.isArray(found.pattern.format) ? found.pattern.format : [found.pattern.format];
var validFormats = global$4.grep(formatArray, function (formatName) {
var format = editor.formatter.get(formatName);
return format && format[0].inline;
});
if (validFormats.length !== 0) {
editor.undoManager.transact(function () {
container = splitContainer(container, found.pattern, found.endOffset, found.startOffset, space);
formatArray.forEach(function (format) {
editor.formatter.apply(format, {}, container);
});
});
return container;
}
};
var doApplyInlineFormat = function (editor, patterns, space) {
var rng = editor.selection.getRng(true);
var foundPattern = patternFromRng(patterns, rng, space);
if (foundPattern) {
return splitAndApply(editor, rng.startContainer, foundPattern, space);
}
};
var applyInlineFormatSpace = function (editor, patterns) {
return doApplyInlineFormat(editor, patterns, true);
};
var applyInlineFormatEnter = function (editor, patterns) {
return doApplyInlineFormat(editor, patterns, false);
};
var applyBlockFormat = function (editor, patterns) {
var selection, dom, container, firstTextNode, node, format, textBlockElm, pattern, walker, rng, offset;
selection = editor.selection;
dom = editor.dom;
if (!selection.isCollapsed()) {
return;
}
textBlockElm = dom.getParent(selection.getStart(), 'p');
if (textBlockElm) {
walker = new global$3(textBlockElm, textBlockElm);
while (node = walker.next()) {
if (node.nodeType === 3) {
firstTextNode = node;
break;
var isMatchingPattern = function (pattern, text, offset, delta) {
var textEnd = text.substr(offset - pattern.end.length - delta, pattern.end.length);
return textEnd === pattern.end;
};
var hasContent = function (offset, delta, pattern) {
return offset - delta - pattern.end.length - pattern.start.length > 0;
};
var findEndPattern = function (patterns, text, offset, delta) {
var pattern, i;
for (i = 0; i < patterns.length; i++) {
pattern = patterns[i];
if (pattern.end !== undefined && isMatchingPattern(pattern, text, offset, delta) && hasContent(offset, delta, pattern)) {
return pattern;
}
}
if (firstTextNode) {
pattern = $_eqvt4jrbjh8lpxi7.findPattern(patterns, firstTextNode.data);
if (!pattern) {
return;
}
rng = selection.getRng(true);
container = rng.startContainer;
offset = rng.startOffset;
if (firstTextNode === container) {
offset = Math.max(0, offset - pattern.start.length);
}
if (global$4.trim(firstTextNode.data).length === pattern.start.length) {
return;
}
if (pattern.format) {
format = editor.formatter.get(pattern.format);
if (format && format[0].block) {
firstTextNode.deleteData(0, pattern.start.length);
editor.formatter.apply(pattern.format, {}, firstTextNode);
rng.setStart(container, offset);
rng.collapse(true);
selection.setRng(rng);
}
}
if (pattern.cmd) {
editor.undoManager.transact(function () {
firstTextNode.deleteData(0, pattern.start.length);
editor.execCommand(pattern.cmd);
};
var findInlinePattern = function (patterns, rng, space) {
if (rng.collapsed === false) {
return;
}
var container = rng.startContainer;
var text = container.data;
var delta = space === true ? 1 : 0;
if (container.nodeType !== 3) {
return;
}
var endPattern = findEndPattern(patterns, text, rng.startOffset, delta);
if (endPattern === undefined) {
return;
}
var endOffset = text.lastIndexOf(endPattern.end, rng.startOffset - delta);
var startOffset = text.lastIndexOf(endPattern.start, endOffset - endPattern.end.length);
endOffset = text.indexOf(endPattern.end, startOffset + endPattern.start.length);
if (startOffset === -1) {
return;
}
var patternRng = domGlobals.document.createRange();
patternRng.setStart(container, startOffset);
patternRng.setEnd(container, endOffset + endPattern.end.length);
var startPattern = findPattern(patterns, patternRng.toString());
if (endPattern === undefined || startPattern !== endPattern || container.data.length <= endPattern.start.length + endPattern.end.length) {
return;
}
return {
pattern: endPattern,
startOffset: startOffset,
endOffset: endOffset
};
};
var findReplacementPattern = function (patterns, startSearch, text) {
for (var i = 0; i < patterns.length; i++) {
var index = text.lastIndexOf(patterns[i].start, startSearch);
if (index !== -1) {
return Option.some({
pattern: patterns[i],
startOffset: index
});
}
}
}
};
var $_8v19sxr8jh8lpxi3 = {
patternFromRng: patternFromRng,
applyInlineFormatSpace: applyInlineFormatSpace,
applyInlineFormatEnter: applyInlineFormatEnter,
applyBlockFormat: applyBlockFormat
};
return Option.none();
};
function handleEnter(editor, patterns) {
var wrappedTextNode, rng;
wrappedTextNode = $_8v19sxr8jh8lpxi3.applyInlineFormatEnter(editor, patterns);
if (wrappedTextNode) {
rng = editor.dom.createRng();
rng.setStart(wrappedTextNode, wrappedTextNode.data.length);
rng.setEnd(wrappedTextNode, wrappedTextNode.data.length);
editor.selection.setRng(rng);
}
$_8v19sxr8jh8lpxi3.applyBlockFormat(editor, patterns);
}
function handleInlineKey(editor, patterns) {
var wrappedTextNode, lastChar, lastCharNode, rng, dom;
wrappedTextNode = $_8v19sxr8jh8lpxi3.applyInlineFormatSpace(editor, patterns);
if (wrappedTextNode) {
var isText = function (node) {
return node && node.nodeType === 3;
};
var setSelection = function (editor, textNode, offset) {
var newRng = editor.dom.createRng();
newRng.setStart(textNode, offset);
newRng.setEnd(textNode, offset);
editor.selection.setRng(newRng);
};
var splitContainer = function (container, pattern, endOffset, startOffset) {
container = startOffset > 0 ? container.splitText(startOffset) : container;
container.splitText(endOffset - startOffset + pattern.end.length);
container.deleteData(0, pattern.start.length);
container.deleteData(container.data.length - pattern.end.length, pattern.end.length);
return container;
};
var splitAndApply = function (editor, container, found, inline) {
var formatArray = global$4.isArray(found.pattern.format) ? found.pattern.format : [found.pattern.format];
var validFormats = global$4.grep(formatArray, function (formatName) {
var format = editor.formatter.get(formatName);
return format && format[0].inline;
});
if (validFormats.length !== 0) {
editor.undoManager.transact(function () {
container = splitContainer(container, found.pattern, found.endOffset, found.startOffset);
if (inline) {
editor.selection.setCursorLocation(container.nextSibling, 1);
}
formatArray.forEach(function (format) {
editor.formatter.apply(format, {}, container);
});
});
return container;
}
};
var applyInlinePattern = function (editor, patterns, inline) {
var rng = editor.selection.getRng();
return Option.from(findInlinePattern(patterns, rng, inline)).map(function (foundPattern) {
return splitAndApply(editor, rng.startContainer, foundPattern, inline);
});
};
var applyInlinePatternSpace = function (editor, patterns) {
applyInlinePattern(editor, patterns, true).each(function (wrappedTextNode) {
var lastChar = wrappedTextNode.data.slice(-1);
if (/[\u00a0 ]/.test(lastChar)) {
wrappedTextNode.deleteData(wrappedTextNode.data.length - 1, 1);
var lastCharNode = editor.dom.doc.createTextNode(lastChar);
editor.dom.insertAfter(lastCharNode, wrappedTextNode.parentNode);
setSelection(editor, lastCharNode, 1);
}
});
};
var applyInlinePatternEnter = function (editor, patterns) {
applyInlinePattern(editor, patterns, false).each(function (wrappedTextNode) {
setSelection(editor, wrappedTextNode, wrappedTextNode.data.length);
});
};
var applyBlockPattern = function (editor, patterns) {
var selection, dom, container, firstTextNode, node, format, textBlockElm, pattern, walker, rng, offset;
selection = editor.selection;
dom = editor.dom;
lastChar = wrappedTextNode.data.slice(-1);
if (/[\u00a0 ]/.test(lastChar)) {
wrappedTextNode.deleteData(wrappedTextNode.data.length - 1, 1);
lastCharNode = dom.doc.createTextNode(lastChar);
dom.insertAfter(lastCharNode, wrappedTextNode.parentNode);
rng = dom.createRng();
rng.setStart(lastCharNode, 1);
rng.setEnd(lastCharNode, 1);
editor.selection.setRng(rng);
if (!selection.isCollapsed()) {
return;
}
}
}
var checkKeyEvent = function (codes, event, predicate) {
for (var i = 0; i < codes.length; i++) {
if (predicate(codes[i], event)) {
return true;
textBlockElm = dom.getParent(selection.getStart(), 'p');
if (textBlockElm) {
walker = new global$3(textBlockElm, textBlockElm);
while (node = walker.next()) {
if (isText(node)) {
firstTextNode = node;
break;
}
}
if (firstTextNode) {
pattern = findPattern(patterns, firstTextNode.data);
if (!pattern) {
return;
}
rng = selection.getRng(true);
container = rng.startContainer;
offset = rng.startOffset;
if (firstTextNode === container) {
offset = Math.max(0, offset - pattern.start.length);
}
if (global$4.trim(firstTextNode.data).length === pattern.start.length) {
return;
}
if (pattern.format) {
format = editor.formatter.get(pattern.format);
if (format && format[0].block) {
firstTextNode.deleteData(0, pattern.start.length);
editor.formatter.apply(pattern.format, {}, firstTextNode);
rng.setStart(container, offset);
rng.collapse(true);
selection.setRng(rng);
}
}
if (pattern.cmd) {
editor.undoManager.transact(function () {
firstTextNode.deleteData(0, pattern.start.length);
editor.execCommand(pattern.cmd);
});
}
}
}
}
};
var checkKeyCode = function (codes, event) {
return checkKeyEvent(codes, event, function (code, event) {
return code === event.keyCode && global$2.modifierPressed(event) === false;
});
};
var checkCharCode = function (chars, event) {
return checkKeyEvent(chars, event, function (chr, event) {
return chr.charCodeAt(0) === event.charCode;
});
};
var $_6hx1qbr7jh8lpxi1 = {
handleEnter: handleEnter,
handleInlineKey: handleInlineKey,
checkCharCode: checkCharCode,
checkKeyCode: checkKeyCode
};
var setup = function (editor, patternsState) {
var charCodes = [
',',
'.',
';',
':',
'!',
'?'
];
var keyCodes = [32];
editor.on('keydown', function (e) {
if (e.keyCode === 13 && !global$2.modifierPressed(e)) {
$_6hx1qbr7jh8lpxi1.handleEnter(editor, patternsState.get());
};
var selectionInsertText = function (editor, string) {
var rng = editor.selection.getRng();
var container = rng.startContainer;
if (isText(container)) {
var offset = rng.startOffset;
container.insertData(offset, string);
setSelection(editor, container, offset + string.length);
} else {
var newNode = editor.dom.doc.createTextNode(string);
rng.insertNode(newNode);
setSelection(editor, newNode, newNode.length);
}
}, true);
editor.on('keyup', function (e) {
if ($_6hx1qbr7jh8lpxi1.checkKeyCode(keyCodes, e)) {
$_6hx1qbr7jh8lpxi1.handleInlineKey(editor, patternsState.get());
}
});
editor.on('keypress', function (e) {
if ($_6hx1qbr7jh8lpxi1.checkCharCode(charCodes, e)) {
global$1.setEditorTimeout(editor, function () {
$_6hx1qbr7jh8lpxi1.handleInlineKey(editor, patternsState.get());
};
var applyReplacement = function (editor, target, match) {
target.deleteData(match.startOffset, match.pattern.start.length);
editor.insertContent(match.pattern.replacement);
Option.from(target.nextSibling).filter(isText).each(function (nextSibling) {
nextSibling.insertData(0, target.data);
editor.dom.remove(target);
});
};
var extractChar = function (node, match) {
var offset = match.startOffset + match.pattern.start.length;
var char = node.data.slice(offset, offset + 1);
node.deleteData(offset, 1);
return char;
};
var applyReplacementPattern = function (editor, patterns, inline) {
var rng = editor.selection.getRng();
var container = rng.startContainer;
if (rng.collapsed && isText(container)) {
findReplacementPattern(patterns, rng.startOffset, container.data).each(function (match) {
var char = inline ? Option.some(extractChar(container, match)) : Option.none();
applyReplacement(editor, container, match);
char.each(function (ch) {
return selectionInsertText(editor, ch);
});
});
}
};
var applyReplacementPatternSpace = function (editor, patterns) {
applyReplacementPattern(editor, patterns, true);
};
var applyReplacementPatternEnter = function (editor, patterns) {
applyReplacementPattern(editor, patterns, false);
};
var handleEnter = function (editor, patternSet) {
applyReplacementPatternEnter(editor, patternSet.replacementPatterns);
applyInlinePatternEnter(editor, patternSet.inlinePatterns);
applyBlockPattern(editor, patternSet.blockPatterns);
};
var handleInlineKey = function (editor, patternSet) {
applyReplacementPatternSpace(editor, patternSet.replacementPatterns);
applyInlinePatternSpace(editor, patternSet.inlinePatterns);
};
var checkKeyEvent = function (codes, event, predicate) {
for (var i = 0; i < codes.length; i++) {
if (predicate(codes[i], event)) {
return true;
}
}
};
var checkKeyCode = function (codes, event) {
return checkKeyEvent(codes, event, function (code, event) {
return code === event.keyCode && global$2.modifierPressed(event) === false;
});
};
var checkCharCode = function (chars, event) {
return checkKeyEvent(chars, event, function (chr, event) {
return chr.charCodeAt(0) === event.charCode;
});
};
var KeyHandler = {
handleEnter: handleEnter,
handleInlineKey: handleInlineKey,
checkCharCode: checkCharCode,
checkKeyCode: checkKeyCode
};
var setup = function (editor, patternsState) {
var charCodes = [
',',
'.',
';',
':',
'!',
'?'
];
var keyCodes = [32];
editor.on('keydown', function (e) {
if (e.keyCode === 13 && !global$2.modifierPressed(e)) {
KeyHandler.handleEnter(editor, patternsState.get());
}
}, true);
editor.on('keyup', function (e) {
if (KeyHandler.checkKeyCode(keyCodes, e)) {
KeyHandler.handleInlineKey(editor, patternsState.get());
}
});
editor.on('keypress', function (e) {
if (KeyHandler.checkCharCode(charCodes, e)) {
global$1.setEditorTimeout(editor, function () {
KeyHandler.handleInlineKey(editor, patternsState.get());
});
}
});
};
var Keyboard = { setup: setup };
global.add('textpattern', function (editor) {
var patternsState = Cell(getPatternSet(editor.settings));
Keyboard.setup(editor, patternsState);
return Api.get(patternsState);
});
};
var $_1evy6tr4jh8lpxhy = { setup: setup };
function Plugin () {
}
global.add('textpattern', function (editor) {
var patternsState = Cell($_8it7iyr3jh8lpxhx.getPatterns(editor.settings));
$_1evy6tr4jh8lpxhy.setup(editor, patternsState);
return $_48hw0r2jh8lpxhw.get(patternsState);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
}(window));
})();
File diff suppressed because one or more lines are too long
+207 -207
View File
@@ -1,228 +1,228 @@
(function () {
var toc = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.I18n');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.I18n');
var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var getTocClass = function (editor) {
return editor.getParam('toc_class', 'mce-toc');
};
var getTocHeader = function (editor) {
var tagName = editor.getParam('toc_header', 'h2');
return /^h[1-6]$/.test(tagName) ? tagName : 'h2';
};
var getTocDepth = function (editor) {
var depth = parseInt(editor.getParam('toc_depth', '3'), 10);
return depth >= 1 && depth <= 9 ? depth : 3;
};
var $_4sbz3qrjjh8lpxiy = {
getTocClass: getTocClass,
getTocHeader: getTocHeader,
getTocDepth: getTocDepth
};
var create = function (prefix) {
var counter = 0;
return function () {
var guid = new Date().getTime().toString(32);
return prefix + guid + (counter++).toString(32);
var getTocClass = function (editor) {
return editor.getParam('toc_class', 'mce-toc');
};
var getTocHeader = function (editor) {
var tagName = editor.getParam('toc_header', 'h2');
return /^h[1-6]$/.test(tagName) ? tagName : 'h2';
};
var getTocDepth = function (editor) {
var depth = parseInt(editor.getParam('toc_depth', '3'), 10);
return depth >= 1 && depth <= 9 ? depth : 3;
};
var Settings = {
getTocClass: getTocClass,
getTocHeader: getTocHeader,
getTocDepth: getTocDepth
};
};
var $_4j34k0rkjh8lpxiz = { create: create };
var tocId = $_4j34k0rkjh8lpxiz.create('mcetoc_');
var generateSelector = function generateSelector(depth) {
var i;
var selector = [];
for (i = 1; i <= depth; i++) {
selector.push('h' + i);
}
return selector.join(',');
};
var hasHeaders = function (editor) {
return readHeaders(editor).length > 0;
};
var readHeaders = function (editor) {
var tocClass = $_4sbz3qrjjh8lpxiy.getTocClass(editor);
var headerTag = $_4sbz3qrjjh8lpxiy.getTocHeader(editor);
var selector = generateSelector($_4sbz3qrjjh8lpxiy.getTocDepth(editor));
var headers = editor.$(selector);
if (headers.length && /^h[1-9]$/i.test(headerTag)) {
headers = headers.filter(function (i, el) {
return !editor.dom.hasClass(el.parentNode, tocClass);
});
}
return global$3.map(headers, function (h) {
return {
id: h.id ? h.id : tocId(),
level: parseInt(h.nodeName.replace(/^H/i, ''), 10),
title: editor.$.text(h),
element: h
var create = function (prefix) {
var counter = 0;
return function () {
var guid = new Date().getTime().toString(32);
return prefix + guid + (counter++).toString(32);
};
});
};
var getMinLevel = function (headers) {
var i, minLevel = 9;
for (i = 0; i < headers.length; i++) {
if (headers[i].level < minLevel) {
minLevel = headers[i].level;
}
if (minLevel === 1) {
return minLevel;
}
}
return minLevel;
};
var generateTitle = function (tag, title) {
var openTag = '<' + tag + ' contenteditable="true">';
var closeTag = '</' + tag + '>';
return openTag + global$1.DOM.encode(title) + closeTag;
};
var generateTocHtml = function (editor) {
var html = generateTocContentHtml(editor);
return '<div class="' + editor.dom.encode($_4sbz3qrjjh8lpxiy.getTocClass(editor)) + '" contenteditable="false">' + html + '</div>';
};
var generateTocContentHtml = function (editor) {
var html = '';
var headers = readHeaders(editor);
var prevLevel = getMinLevel(headers) - 1;
var i, ii, h, nextLevel;
if (!headers.length) {
return '';
}
html += generateTitle($_4sbz3qrjjh8lpxiy.getTocHeader(editor), global$2.translate('Table of Contents'));
for (i = 0; i < headers.length; i++) {
h = headers[i];
h.element.id = h.id;
nextLevel = headers[i + 1] && headers[i + 1].level;
if (prevLevel === h.level) {
html += '<li>';
} else {
for (ii = prevLevel; ii < h.level; ii++) {
html += '<ul><li>';
}
}
html += '<a href="#' + h.id + '">' + h.title + '</a>';
if (nextLevel === h.level || !nextLevel) {
html += '</li>';
if (!nextLevel) {
html += '</ul>';
}
} else {
for (ii = h.level; ii > nextLevel; ii--) {
html += '</li></ul><li>';
}
}
prevLevel = h.level;
}
return html;
};
var isEmptyOrOffscren = function (editor, nodes) {
return !nodes.length || editor.dom.getParents(nodes[0], '.mce-offscreen-selection').length > 0;
};
var insertToc = function (editor) {
var tocClass = $_4sbz3qrjjh8lpxiy.getTocClass(editor);
var $tocElm = editor.$('.' + tocClass);
if (isEmptyOrOffscren(editor, $tocElm)) {
editor.insertContent(generateTocHtml(editor));
} else {
updateToc(editor);
}
};
var updateToc = function (editor) {
var tocClass = $_4sbz3qrjjh8lpxiy.getTocClass(editor);
var $tocElm = editor.$('.' + tocClass);
if ($tocElm.length) {
editor.undoManager.transact(function () {
$tocElm.html(generateTocContentHtml(editor));
});
}
};
var $_7fzf7trfjh8lpxit = {
hasHeaders: hasHeaders,
insertToc: insertToc,
updateToc: updateToc
};
};
var Guid = { create: create };
var register = function (editor) {
editor.addCommand('mceInsertToc', function () {
$_7fzf7trfjh8lpxit.insertToc(editor);
});
editor.addCommand('mceUpdateToc', function () {
$_7fzf7trfjh8lpxit.updateToc(editor);
});
};
var $_bpizkcrejh8lpxis = { register: register };
var setup = function (editor) {
var $ = editor.$, tocClass = $_4sbz3qrjjh8lpxiy.getTocClass(editor);
editor.on('PreProcess', function (e) {
var $tocElm = $('.' + tocClass, e.node);
if ($tocElm.length) {
$tocElm.removeAttr('contentEditable');
$tocElm.find('[contenteditable]').removeAttr('contentEditable');
var tocId = Guid.create('mcetoc_');
var generateSelector = function generateSelector(depth) {
var i;
var selector = [];
for (i = 1; i <= depth; i++) {
selector.push('h' + i);
}
});
editor.on('SetContent', function () {
var $tocElm = $('.' + tocClass);
if ($tocElm.length) {
$tocElm.attr('contentEditable', false);
$tocElm.children(':first-child').attr('contentEditable', true);
return selector.join(',');
};
var hasHeaders = function (editor) {
return readHeaders(editor).length > 0;
};
var readHeaders = function (editor) {
var tocClass = Settings.getTocClass(editor);
var headerTag = Settings.getTocHeader(editor);
var selector = generateSelector(Settings.getTocDepth(editor));
var headers = editor.$(selector);
if (headers.length && /^h[1-9]$/i.test(headerTag)) {
headers = headers.filter(function (i, el) {
return !editor.dom.hasClass(el.parentNode, tocClass);
});
}
});
};
var $_cd6i9irljh8lpxiz = { setup: setup };
var toggleState = function (editor) {
return function (e) {
var ctrl = e.control;
editor.on('LoadContent SetContent change', function () {
ctrl.disabled(editor.readonly || !$_7fzf7trfjh8lpxit.hasHeaders(editor));
return global$3.map(headers, function (h) {
return {
id: h.id ? h.id : tocId(),
level: parseInt(h.nodeName.replace(/^H/i, ''), 10),
title: editor.$.text(h),
element: h
};
});
};
};
var isToc = function (editor) {
return function (elm) {
return elm && editor.dom.is(elm, '.' + $_4sbz3qrjjh8lpxiy.getTocClass(editor)) && editor.getBody().contains(elm);
var getMinLevel = function (headers) {
var i, minLevel = 9;
for (i = 0; i < headers.length; i++) {
if (headers[i].level < minLevel) {
minLevel = headers[i].level;
}
if (minLevel === 1) {
return minLevel;
}
}
return minLevel;
};
var generateTitle = function (tag, title) {
var openTag = '<' + tag + ' contenteditable="true">';
var closeTag = '</' + tag + '>';
return openTag + global$1.DOM.encode(title) + closeTag;
};
var generateTocHtml = function (editor) {
var html = generateTocContentHtml(editor);
return '<div class="' + editor.dom.encode(Settings.getTocClass(editor)) + '" contenteditable="false">' + html + '</div>';
};
var generateTocContentHtml = function (editor) {
var html = '';
var headers = readHeaders(editor);
var prevLevel = getMinLevel(headers) - 1;
var i, ii, h, nextLevel;
if (!headers.length) {
return '';
}
html += generateTitle(Settings.getTocHeader(editor), global$2.translate('Table of Contents'));
for (i = 0; i < headers.length; i++) {
h = headers[i];
h.element.id = h.id;
nextLevel = headers[i + 1] && headers[i + 1].level;
if (prevLevel === h.level) {
html += '<li>';
} else {
for (ii = prevLevel; ii < h.level; ii++) {
html += '<ul><li>';
}
}
html += '<a href="#' + h.id + '">' + h.title + '</a>';
if (nextLevel === h.level || !nextLevel) {
html += '</li>';
if (!nextLevel) {
html += '</ul>';
}
} else {
for (ii = h.level; ii > nextLevel; ii--) {
html += '</li></ul><li>';
}
}
prevLevel = h.level;
}
return html;
};
var isEmptyOrOffscren = function (editor, nodes) {
return !nodes.length || editor.dom.getParents(nodes[0], '.mce-offscreen-selection').length > 0;
};
var insertToc = function (editor) {
var tocClass = Settings.getTocClass(editor);
var $tocElm = editor.$('.' + tocClass);
if (isEmptyOrOffscren(editor, $tocElm)) {
editor.insertContent(generateTocHtml(editor));
} else {
updateToc(editor);
}
};
var updateToc = function (editor) {
var tocClass = Settings.getTocClass(editor);
var $tocElm = editor.$('.' + tocClass);
if ($tocElm.length) {
editor.undoManager.transact(function () {
$tocElm.html(generateTocContentHtml(editor));
});
}
};
var Toc = {
hasHeaders: hasHeaders,
insertToc: insertToc,
updateToc: updateToc
};
};
var register$1 = function (editor) {
editor.addButton('toc', {
tooltip: 'Table of Contents',
cmd: 'mceInsertToc',
icon: 'toc',
onPostRender: toggleState(editor)
});
editor.addButton('tocupdate', {
tooltip: 'Update',
cmd: 'mceUpdateToc',
icon: 'reload'
});
editor.addMenuItem('toc', {
text: 'Table of Contents',
context: 'insert',
cmd: 'mceInsertToc',
onPostRender: toggleState(editor)
});
editor.addContextToolbar(isToc(editor), 'tocupdate');
};
var $_1aw5s3rmjh8lpxj1 = { register: register$1 };
global.add('toc', function (editor) {
$_bpizkcrejh8lpxis.register(editor);
$_1aw5s3rmjh8lpxj1.register(editor);
$_cd6i9irljh8lpxiz.setup(editor);
});
function Plugin () {
}
var register = function (editor) {
editor.addCommand('mceInsertToc', function () {
Toc.insertToc(editor);
});
editor.addCommand('mceUpdateToc', function () {
Toc.updateToc(editor);
});
};
var Commands = { register: register };
return Plugin;
var setup = function (editor) {
var $ = editor.$, tocClass = Settings.getTocClass(editor);
editor.on('PreProcess', function (e) {
var $tocElm = $('.' + tocClass, e.node);
if ($tocElm.length) {
$tocElm.removeAttr('contentEditable');
$tocElm.find('[contenteditable]').removeAttr('contentEditable');
}
});
editor.on('SetContent', function () {
var $tocElm = $('.' + tocClass);
if ($tocElm.length) {
$tocElm.attr('contentEditable', false);
$tocElm.children(':first-child').attr('contentEditable', true);
}
});
};
var FilterContent = { setup: setup };
var toggleState = function (editor) {
return function (e) {
var ctrl = e.control;
editor.on('LoadContent SetContent change', function () {
ctrl.disabled(editor.readonly || !Toc.hasHeaders(editor));
});
};
};
var isToc = function (editor) {
return function (elm) {
return elm && editor.dom.is(elm, '.' + Settings.getTocClass(editor)) && editor.getBody().contains(elm);
};
};
var register$1 = function (editor) {
editor.addButton('toc', {
tooltip: 'Table of Contents',
cmd: 'mceInsertToc',
icon: 'toc',
onPostRender: toggleState(editor)
});
editor.addButton('tocupdate', {
tooltip: 'Update',
cmd: 'mceUpdateToc',
icon: 'reload'
});
editor.addMenuItem('toc', {
text: 'Table of Contents',
context: 'insert',
cmd: 'mceInsertToc',
onPostRender: toggleState(editor)
});
editor.addContextToolbar(isToc(editor), 'tocupdate');
};
var Buttons = { register: register$1 };
global.add('toc', function (editor) {
Commands.register(editor);
Buttons.register(editor);
FilterContent.setup(editor);
});
function Plugin () {
}
return Plugin;
}());
})();
@@ -1,135 +1,135 @@
(function () {
var visualblocks = (function () {
'use strict';
'use strict';
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
var Cell = function (initial) {
var value = initial;
var get = function () {
return value;
};
var set = function (v) {
value = v;
};
var clone = function () {
return Cell(get());
};
return {
get: get,
set: set,
clone: clone
};
};
var set = function (v) {
value = v;
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var fireVisualBlocks = function (editor, state) {
editor.fire('VisualBlocks', { state: state });
};
var clone = function () {
return Cell(get());
var Events = { fireVisualBlocks: fireVisualBlocks };
var isEnabledByDefault = function (editor) {
return editor.getParam('visualblocks_default_state', false);
};
return {
get: get,
set: set,
clone: clone
var getContentCss = function (editor) {
return editor.settings.visualblocks_content_css;
};
var Settings = {
isEnabledByDefault: isEnabledByDefault,
getContentCss: getContentCss
};
};
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var fireVisualBlocks = function (editor, state) {
editor.fire('VisualBlocks', { state: state });
};
var $_3e8q8drsjh8lpxjn = { fireVisualBlocks: fireVisualBlocks };
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var isEnabledByDefault = function (editor) {
return editor.getParam('visualblocks_default_state', false);
};
var getContentCss = function (editor) {
return editor.settings.visualblocks_content_css;
};
var $_c33cs8rtjh8lpxjo = {
isEnabledByDefault: isEnabledByDefault,
getContentCss: getContentCss
};
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
var cssId = global$1.DOM.uniqueId();
var load = function (doc, url) {
var linkElements = global$2.toArray(doc.getElementsByTagName('link'));
var matchingLinkElms = global$2.grep(linkElements, function (head) {
return head.id === cssId;
});
if (matchingLinkElms.length === 0) {
var linkElm = global$1.DOM.create('link', {
id: cssId,
rel: 'stylesheet',
href: url
var cssId = global$1.DOM.uniqueId();
var load = function (doc, url) {
var linkElements = global$2.toArray(doc.getElementsByTagName('link'));
var matchingLinkElms = global$2.grep(linkElements, function (head) {
return head.id === cssId;
});
doc.getElementsByTagName('head')[0].appendChild(linkElm);
if (matchingLinkElms.length === 0) {
var linkElm = global$1.DOM.create('link', {
id: cssId,
rel: 'stylesheet',
href: url
});
doc.getElementsByTagName('head')[0].appendChild(linkElm);
}
};
var LoadCss = { load: load };
var toggleVisualBlocks = function (editor, pluginUrl, enabledState) {
var dom = editor.dom;
var contentCss = Settings.getContentCss(editor);
LoadCss.load(editor.getDoc(), contentCss ? contentCss : pluginUrl + '/css/visualblocks.css');
dom.toggleClass(editor.getBody(), 'mce-visualblocks');
enabledState.set(!enabledState.get());
Events.fireVisualBlocks(editor, enabledState.get());
};
var VisualBlocks = { toggleVisualBlocks: toggleVisualBlocks };
var register = function (editor, pluginUrl, enabledState) {
editor.addCommand('mceVisualBlocks', function () {
VisualBlocks.toggleVisualBlocks(editor, pluginUrl, enabledState);
});
};
var Commands = { register: register };
var setup = function (editor, pluginUrl, enabledState) {
editor.on('PreviewFormats AfterPreviewFormats', function (e) {
if (enabledState.get()) {
editor.dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type === 'afterpreviewformats');
}
});
editor.on('init', function () {
if (Settings.isEnabledByDefault(editor)) {
VisualBlocks.toggleVisualBlocks(editor, pluginUrl, enabledState);
}
});
editor.on('remove', function () {
editor.dom.removeClass(editor.getBody(), 'mce-visualblocks');
});
};
var Bindings = { setup: setup };
var toggleActiveState = function (editor, enabledState) {
return function (e) {
var ctrl = e.control;
ctrl.active(enabledState.get());
editor.on('VisualBlocks', function (e) {
ctrl.active(e.state);
});
};
};
var register$1 = function (editor, enabledState) {
editor.addButton('visualblocks', {
active: false,
title: 'Show blocks',
cmd: 'mceVisualBlocks',
onPostRender: toggleActiveState(editor, enabledState)
});
editor.addMenuItem('visualblocks', {
text: 'Show blocks',
cmd: 'mceVisualBlocks',
onPostRender: toggleActiveState(editor, enabledState),
selectable: true,
context: 'view',
prependToContext: true
});
};
var Buttons = { register: register$1 };
global.add('visualblocks', function (editor, pluginUrl) {
var enabledState = Cell(false);
Commands.register(editor, pluginUrl, enabledState);
Buttons.register(editor, enabledState);
Bindings.setup(editor, pluginUrl, enabledState);
});
function Plugin () {
}
};
var $_7smurirujh8lpxjp = { load: load };
var toggleVisualBlocks = function (editor, pluginUrl, enabledState) {
var dom = editor.dom;
var contentCss = $_c33cs8rtjh8lpxjo.getContentCss(editor);
$_7smurirujh8lpxjp.load(editor.getDoc(), contentCss ? contentCss : pluginUrl + '/css/visualblocks.css');
dom.toggleClass(editor.getBody(), 'mce-visualblocks');
enabledState.set(!enabledState.get());
$_3e8q8drsjh8lpxjn.fireVisualBlocks(editor, enabledState.get());
};
var $_dvvz7brrjh8lpxjm = { toggleVisualBlocks: toggleVisualBlocks };
var register = function (editor, pluginUrl, enabledState) {
editor.addCommand('mceVisualBlocks', function () {
$_dvvz7brrjh8lpxjm.toggleVisualBlocks(editor, pluginUrl, enabledState);
});
};
var $_7j12kyrqjh8lpxjl = { register: register };
var setup = function (editor, pluginUrl, enabledState) {
editor.on('PreviewFormats AfterPreviewFormats', function (e) {
if (enabledState.get()) {
editor.dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type === 'afterpreviewformats');
}
});
editor.on('init', function () {
if ($_c33cs8rtjh8lpxjo.isEnabledByDefault(editor)) {
$_dvvz7brrjh8lpxjm.toggleVisualBlocks(editor, pluginUrl, enabledState);
}
});
editor.on('remove', function () {
editor.dom.removeClass(editor.getBody(), 'mce-visualblocks');
});
};
var $_dkytvhrxjh8lpxjr = { setup: setup };
var toggleActiveState = function (editor, enabledState) {
return function (e) {
var ctrl = e.control;
ctrl.active(enabledState.get());
editor.on('VisualBlocks', function (e) {
ctrl.active(e.state);
});
};
};
var register$1 = function (editor, enabledState) {
editor.addButton('visualblocks', {
active: false,
title: 'Show blocks',
cmd: 'mceVisualBlocks',
onPostRender: toggleActiveState(editor, enabledState)
});
editor.addMenuItem('visualblocks', {
text: 'Show blocks',
cmd: 'mceVisualBlocks',
onPostRender: toggleActiveState(editor, enabledState),
selectable: true,
context: 'view',
prependToContext: true
});
};
var $_4v5u19ryjh8lpxjs = { register: register$1 };
global.add('visualblocks', function (editor, pluginUrl) {
var enabledState = Cell(false);
$_7j12kyrqjh8lpxjl.register(editor, pluginUrl, enabledState);
$_4v5u19ryjh8lpxjs.register(editor, enabledState);
$_dkytvhrxjh8lpxjr.setup(editor, pluginUrl, enabledState);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -1,318 +1,406 @@
(function () {
var wordcount = (function () {
'use strict';
'use strict';
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
var regExps = {
aletter: '[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05F3\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bc0-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u24B6-\u24E9\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u303b\u303c\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790\ua791\ua7a0-\ua7a9\ua7fa-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uffa0-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]',
midnumlet: '[-\'\\.\u2018\u2019\u2024\uFE52\uFF07\uFF0E]',
midletter: '[:\xB7\xB7\u05F4\u2027\uFE13\uFE55\uFF1A]',
midnum: '[\xB1+*/,;;\u0589\u060C\u060D\u066C\u07F8\u2044\uFE10\uFE14\uFE50\uFE54\uFF0C\uFF1B]',
numeric: '[0-9\u0660-\u0669\u066B\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19d9\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9]',
cr: '\\r',
lf: '\\n',
newline: '[\x0B\f\x85\u2028\u2029]',
extend: '[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f\u109a-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b6-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u192b\u1930-\u193b\u19b0-\u19c0\u19c8\u19c9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f\u1b00-\u1b04\u1b34-\u1b44\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1baa\u1be6-\u1bf3\u1c24-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\uA672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe3-\uabea\uabec\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]',
format: '[\xAD\u0600-\u0603\u06DD\u070F\u17b4\u17b5\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\uFEFF\uFFF9-\uFFFB]',
katakana: '[\u3031-\u3035\u309B\u309C\u30A0-\u30fa\u30fc-\u30ff\u31f0-\u31ff\u32D0-\u32FE\u3300-\u3357\uff66-\uff9d]',
extendnumlet: '[=_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f\u2200-\u22FF<>]',
punctuation: '[!-#%-*,-\\/:;?@\\[-\\]_{}\xA1\xAB\xB7\xBB\xBF;\xB7\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1361-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u3008\u3009\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30\u2E31\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uff3f\uFF5B\uFF5D\uFF5F-\uFF65]'
};
var characterIndices = {
ALETTER: 0,
MIDNUMLET: 1,
MIDLETTER: 2,
MIDNUM: 3,
NUMERIC: 4,
CR: 5,
LF: 6,
NEWLINE: 7,
EXTEND: 8,
FORMAT: 9,
KATAKANA: 10,
EXTENDNUMLET: 11,
AT: 12,
OTHER: 13
};
var SETS = [
new RegExp(regExps.aletter),
new RegExp(regExps.midnumlet),
new RegExp(regExps.midletter),
new RegExp(regExps.midnum),
new RegExp(regExps.numeric),
new RegExp(regExps.cr),
new RegExp(regExps.lf),
new RegExp(regExps.newline),
new RegExp(regExps.extend),
new RegExp(regExps.format),
new RegExp(regExps.katakana),
new RegExp(regExps.extendnumlet),
new RegExp('@')
];
var EMPTY_STRING = '';
var PUNCTUATION = new RegExp('^' + regExps.punctuation + '$');
var WHITESPACE = /^\s+$/;
var $_mwl0kspjh8lpxr3 = {
characterIndices: characterIndices,
SETS: SETS,
EMPTY_STRING: EMPTY_STRING,
PUNCTUATION: PUNCTUATION,
WHITESPACE: WHITESPACE
};
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');
var each = function (o, cb, s) {
var n, l;
if (!o) {
return 0;
}
s = s || o;
if (o.length !== undefined) {
for (n = 0, l = o.length; n < l; n++) {
if (cb.call(s, o[n], n, o) === false) {
return 0;
}
}
} else {
for (n in o) {
if (o.hasOwnProperty(n)) {
if (cb.call(s, o[n], n, o) === false) {
return 0;
}
}
}
}
return 1;
};
var map = function (array, callback) {
var out = [];
each(array, function (item, index) {
out.push(callback(item, index, array));
});
return out;
};
var $_dd8zmtsrjh8lpxr7 = {
each: each,
map: map
};
var global$2 = tinymce.util.Tools.resolve('tinymce.Env');
var SETS$1 = $_mwl0kspjh8lpxr3.SETS;
var OTHER = $_mwl0kspjh8lpxr3.characterIndices.OTHER;
var getType = function (char) {
var j, set, type = OTHER;
var setsLength = SETS$1.length;
for (j = 0; j < setsLength; ++j) {
set = SETS$1[j];
if (set && set.test(char)) {
type = j;
break;
}
}
return type;
};
var memoize = function (func) {
var cache = {};
return function (char) {
if (cache[char]) {
return cache[char];
} else {
var result = func(char);
cache[char] = result;
return result;
}
var regExps = {
aletter: '[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05F3\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bc0-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u24B6-\u24E9\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u303b\u303c\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790\ua791\ua7a0-\ua7a9\ua7fa-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uffa0-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]',
midnumlet: '[-\'\\.\u2018\u2019\u2024\uFE52\uFF07\uFF0E]',
midletter: '[:\xB7\xB7\u05F4\u2027\uFE13\uFE55\uFF1A]',
midnum: '[\xB1+*/,;;\u0589\u060C\u060D\u066C\u07F8\u2044\uFE10\uFE14\uFE50\uFE54\uFF0C\uFF1B]',
numeric: '[0-9\u0660-\u0669\u066B\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19d9\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9]',
cr: '\\r',
lf: '\\n',
newline: '[\x0B\f\x85\u2028\u2029]',
extend: '[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f\u109a-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b6-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u192b\u1930-\u193b\u19b0-\u19c0\u19c8\u19c9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f\u1b00-\u1b04\u1b34-\u1b44\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1baa\u1be6-\u1bf3\u1c24-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\uA672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe3-\uabea\uabec\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]',
format: '[\xAD\u0600-\u0603\u06DD\u070F\u17b4\u17b5\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\uFEFF\uFFF9-\uFFFB]',
katakana: '[\u3031-\u3035\u309B\u309C\u30A0-\u30fa\u30fc-\u30ff\u31f0-\u31ff\u32D0-\u32FE\u3300-\u3357\uff66-\uff9d]',
extendnumlet: '[=_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f\u2200-\u22FF<>]',
punctuation: '[!-#%-*,-\\/:;?@\\[-\\]_{}\xA1\xAB\xB7\xBB\xBF;\xB7\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1361-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u3008\u3009\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30\u2E31\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uff3f\uFF5B\uFF5D\uFF5F-\uFF65]'
};
var characterIndices = {
ALETTER: 0,
MIDNUMLET: 1,
MIDLETTER: 2,
MIDNUM: 3,
NUMERIC: 4,
CR: 5,
LF: 6,
NEWLINE: 7,
EXTEND: 8,
FORMAT: 9,
KATAKANA: 10,
EXTENDNUMLET: 11,
AT: 12,
OTHER: 13
};
var SETS = [
new RegExp(regExps.aletter),
new RegExp(regExps.midnumlet),
new RegExp(regExps.midletter),
new RegExp(regExps.midnum),
new RegExp(regExps.numeric),
new RegExp(regExps.cr),
new RegExp(regExps.lf),
new RegExp(regExps.newline),
new RegExp(regExps.extend),
new RegExp(regExps.format),
new RegExp(regExps.katakana),
new RegExp(regExps.extendnumlet),
new RegExp('@')
];
var EMPTY_STRING = '';
var PUNCTUATION = new RegExp('^' + regExps.punctuation + '$');
var WHITESPACE = /^\s+$/;
var UnicodeData = {
characterIndices: characterIndices,
SETS: SETS,
EMPTY_STRING: EMPTY_STRING,
PUNCTUATION: PUNCTUATION,
WHITESPACE: WHITESPACE
};
};
var classify = function (string) {
var memoized = memoize(getType);
return $_dd8zmtsrjh8lpxr7.map(string.split(''), memoized);
};
var $_bqu9bbsqjh8lpxr6 = { classify: classify };
var ci = $_mwl0kspjh8lpxr3.characterIndices;
var isWordBoundary = function (map, index) {
var prevType;
var type = map[index];
var nextType = map[index + 1];
var nextNextType;
if (index < 0 || index > map.length - 1 && index !== 0) {
return false;
}
if (type === ci.ALETTER && nextType === ci.ALETTER) {
return false;
}
nextNextType = map[index + 2];
if (type === ci.ALETTER && (nextType === ci.MIDLETTER || nextType === ci.MIDNUMLET || nextType === ci.AT) && nextNextType === ci.ALETTER) {
return false;
}
prevType = map[index - 1];
if ((type === ci.MIDLETTER || type === ci.MIDNUMLET || nextType === ci.AT) && nextType === ci.ALETTER && prevType === ci.ALETTER) {
return false;
}
if ((type === ci.NUMERIC || type === ci.ALETTER) && (nextType === ci.NUMERIC || nextType === ci.ALETTER)) {
return false;
}
if ((type === ci.MIDNUM || type === ci.MIDNUMLET) && nextType === ci.NUMERIC && prevType === ci.NUMERIC) {
return false;
}
if (type === ci.NUMERIC && (nextType === ci.MIDNUM || nextType === ci.MIDNUMLET) && nextNextType === ci.NUMERIC) {
return false;
}
if (type === ci.EXTEND || type === ci.FORMAT || prevType === ci.EXTEND || prevType === ci.FORMAT || nextType === ci.EXTEND || nextType === ci.FORMAT) {
return false;
}
if (type === ci.CR && nextType === ci.LF) {
return false;
}
if (type === ci.NEWLINE || type === ci.CR || type === ci.LF) {
return true;
}
if (nextType === ci.NEWLINE || nextType === ci.CR || nextType === ci.LF) {
return true;
}
if (type === ci.KATAKANA && nextType === ci.KATAKANA) {
return false;
}
if (nextType === ci.EXTENDNUMLET && (type === ci.ALETTER || type === ci.NUMERIC || type === ci.KATAKANA || type === ci.EXTENDNUMLET)) {
return false;
}
if (type === ci.EXTENDNUMLET && (nextType === ci.ALETTER || nextType === ci.NUMERIC || nextType === ci.KATAKANA)) {
return false;
}
if (type === ci.AT) {
return false;
}
return true;
};
var $_dhe086ssjh8lpxr9 = { isWordBoundary: isWordBoundary };
var EMPTY_STRING$1 = $_mwl0kspjh8lpxr3.EMPTY_STRING;
var WHITESPACE$1 = $_mwl0kspjh8lpxr3.WHITESPACE;
var PUNCTUATION$1 = $_mwl0kspjh8lpxr3.PUNCTUATION;
var isProtocol = function (word) {
return word === 'http' || word === 'https';
};
var findWordEnd = function (str, index) {
var i;
for (i = index; i < str.length; ++i) {
var chr = str.charAt(i);
if (WHITESPACE$1.test(chr)) {
break;
}
}
return i;
};
var extractUrl = function (word, str, index) {
var endIndex = findWordEnd(str, index + 1);
var peakedWord = str.substring(index + 1, endIndex);
if (peakedWord.substr(0, 3) === '://') {
return {
word: word + peakedWord,
index: endIndex
var constant = function (value) {
return function () {
return value;
};
}
return {
word: word,
index: index
};
};
var doGetWords = function (str, options) {
var i = 0;
var map = $_bqu9bbsqjh8lpxr6.classify(str);
var len = map.length;
var word = [];
var words = [];
var chr;
var includePunctuation;
var includeWhitespace;
if (!options) {
options = {};
}
if (options.ignoreCase) {
str = str.toLowerCase();
}
includePunctuation = options.includePunctuation;
includeWhitespace = options.includeWhitespace;
for (; i < len; ++i) {
chr = str.charAt(i);
word.push(chr);
if ($_dhe086ssjh8lpxr9.isWordBoundary(map, i)) {
word = word.join(EMPTY_STRING$1);
if (word && (includeWhitespace || !WHITESPACE$1.test(word)) && (includePunctuation || !PUNCTUATION$1.test(word))) {
if (isProtocol(word)) {
var obj = extractUrl(word, str, i);
words.push(obj.word);
i = obj.index;
} else {
words.push(word);
}
var never = constant(false);
var always = constant(true);
var never$1 = never;
var always$1 = always;
var none = function () {
return NONE;
};
var NONE = function () {
var eq = function (o) {
return o.isNone();
};
var call = function (thunk) {
return thunk();
};
var id = function (n) {
return n;
};
var noop = function () {
};
var nul = function () {
return null;
};
var undef = function () {
return undefined;
};
var me = {
fold: function (n, s) {
return n();
},
is: never$1,
isSome: never$1,
isNone: always$1,
getOr: id,
getOrThunk: call,
getOrDie: function (msg) {
throw new Error(msg || 'error: getOrDie called on none.');
},
getOrNull: nul,
getOrUndefined: undef,
or: id,
orThunk: call,
map: none,
ap: none,
each: noop,
bind: none,
flatten: none,
exists: never$1,
forall: always$1,
filter: none,
equals: eq,
equals_: eq,
toArray: function () {
return [];
},
toString: constant('none()')
};
if (Object.freeze)
Object.freeze(me);
return me;
}();
var typeOf = function (x) {
if (x === null)
return 'null';
var t = typeof x;
if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array'))
return 'array';
if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String'))
return 'string';
return t;
};
var isType = function (type) {
return function (value) {
return typeOf(value) === type;
};
};
var isFunction = isType('function');
var slice = Array.prototype.slice;
var map = function (xs, f) {
var len = xs.length;
var r = new Array(len);
for (var i = 0; i < len; i++) {
var x = xs[i];
r[i] = f(x, i, xs);
}
return r;
};
var from = isFunction(Array.from) ? Array.from : function (x) {
return slice.call(x);
};
var SETS$1 = UnicodeData.SETS;
var OTHER = UnicodeData.characterIndices.OTHER;
var getType = function (char) {
var j, set, type = OTHER;
var setsLength = SETS$1.length;
for (j = 0; j < setsLength; ++j) {
set = SETS$1[j];
if (set && set.test(char)) {
type = j;
break;
}
word = [];
}
}
return words;
};
var getWords = function (str, options) {
return doGetWords(str.replace(/\ufeff/g, ''), options);
};
var $_65o3xgsojh8lpxr0 = { getWords: getWords };
var getTextContent = function (editor) {
return editor.removed ? '' : editor.getBody().innerText;
};
var getCount = function (editor) {
return $_65o3xgsojh8lpxr0.getWords(getTextContent(editor)).length;
};
var $_axbcyesnjh8lpxqz = { getCount: getCount };
var get = function (editor) {
var getCount = function () {
return $_axbcyesnjh8lpxqz.getCount(editor);
return type;
};
return { getCount: getCount };
};
var $_c4pjyxsmjh8lpxqy = { get: get };
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay');
var global$2 = tinymce.util.Tools.resolve('tinymce.util.I18n');
var setup = function (editor) {
var wordsToText = function (editor) {
return global$2.translate([
'{0} words',
$_axbcyesnjh8lpxqz.getCount(editor)
]);
var memoize = function (func) {
var cache = {};
return function (char) {
if (cache[char]) {
return cache[char];
} else {
var result = func(char);
cache[char] = result;
return result;
}
};
};
var update = function () {
editor.theme.panel.find('#wordcount').text(wordsToText(editor));
var classify = function (string) {
var memoized = memoize(getType);
return map(string.split(''), memoized);
};
editor.on('init', function () {
var statusbar = editor.theme.panel && editor.theme.panel.find('#statusbar')[0];
var debouncedUpdate = global$1.debounce(update, 300);
if (statusbar) {
global$1.setEditorTimeout(editor, function () {
statusbar.insert({
type: 'label',
name: 'wordcount',
text: wordsToText(editor),
classes: 'wordcount',
disabled: editor.settings.readonly
var StringMapper = { classify: classify };
var ci = UnicodeData.characterIndices;
var isWordBoundary = function (map, index) {
var prevType;
var type = map[index];
var nextType = map[index + 1];
var nextNextType;
if (index < 0 || index > map.length - 1 && index !== 0) {
return false;
}
if (type === ci.ALETTER && nextType === ci.ALETTER) {
return false;
}
nextNextType = map[index + 2];
if (type === ci.ALETTER && (nextType === ci.MIDLETTER || nextType === ci.MIDNUMLET || nextType === ci.AT) && nextNextType === ci.ALETTER) {
return false;
}
prevType = map[index - 1];
if ((type === ci.MIDLETTER || type === ci.MIDNUMLET || nextType === ci.AT) && nextType === ci.ALETTER && prevType === ci.ALETTER) {
return false;
}
if ((type === ci.NUMERIC || type === ci.ALETTER) && (nextType === ci.NUMERIC || nextType === ci.ALETTER)) {
return false;
}
if ((type === ci.MIDNUM || type === ci.MIDNUMLET) && nextType === ci.NUMERIC && prevType === ci.NUMERIC) {
return false;
}
if (type === ci.NUMERIC && (nextType === ci.MIDNUM || nextType === ci.MIDNUMLET) && nextNextType === ci.NUMERIC) {
return false;
}
if (type === ci.EXTEND || type === ci.FORMAT || prevType === ci.EXTEND || prevType === ci.FORMAT || nextType === ci.EXTEND || nextType === ci.FORMAT) {
return false;
}
if (type === ci.CR && nextType === ci.LF) {
return false;
}
if (type === ci.NEWLINE || type === ci.CR || type === ci.LF) {
return true;
}
if (nextType === ci.NEWLINE || nextType === ci.CR || nextType === ci.LF) {
return true;
}
if (type === ci.KATAKANA && nextType === ci.KATAKANA) {
return false;
}
if (nextType === ci.EXTENDNUMLET && (type === ci.ALETTER || type === ci.NUMERIC || type === ci.KATAKANA || type === ci.EXTENDNUMLET)) {
return false;
}
if (type === ci.EXTENDNUMLET && (nextType === ci.ALETTER || nextType === ci.NUMERIC || nextType === ci.KATAKANA)) {
return false;
}
if (type === ci.AT) {
return false;
}
return true;
};
var WordBoundary = { isWordBoundary: isWordBoundary };
var EMPTY_STRING$1 = UnicodeData.EMPTY_STRING;
var WHITESPACE$1 = UnicodeData.WHITESPACE;
var PUNCTUATION$1 = UnicodeData.PUNCTUATION;
var isProtocol = function (word) {
return word === 'http' || word === 'https';
};
var findWordEnd = function (str, index) {
var i;
for (i = index; i < str.length; ++i) {
var chr = str.charAt(i);
if (WHITESPACE$1.test(chr)) {
break;
}
}
return i;
};
var extractUrl = function (word, str, index) {
var endIndex = findWordEnd(str, index + 1);
var peakedWord = str.substring(index + 1, endIndex);
if (peakedWord.substr(0, 3) === '://') {
return {
word: word + peakedWord,
index: endIndex
};
}
return {
word: word,
index: index
};
};
var doGetWords = function (str, options) {
var i = 0;
var map = StringMapper.classify(str);
var len = map.length;
var word = [];
var words = [];
var chr;
var includePunctuation;
var includeWhitespace;
if (!options) {
options = {};
}
if (options.ignoreCase) {
str = str.toLowerCase();
}
includePunctuation = options.includePunctuation;
includeWhitespace = options.includeWhitespace;
for (; i < len; ++i) {
chr = str.charAt(i);
word.push(chr);
if (WordBoundary.isWordBoundary(map, i)) {
word = word.join(EMPTY_STRING$1);
if (word && (includeWhitespace || !WHITESPACE$1.test(word)) && (includePunctuation || !PUNCTUATION$1.test(word))) {
if (isProtocol(word)) {
var obj = extractUrl(word, str, i);
words.push(obj.word);
i = obj.index;
} else {
words.push(word);
}
}
word = [];
}
}
return words;
};
var getWords = function (str, options) {
return doGetWords(str.replace(/\ufeff/g, ''), options);
};
var WordGetter = { getWords: getWords };
var getText = function (node, schema) {
var blockElements = schema.getBlockElements();
var shortEndedElements = schema.getShortEndedElements();
var whiteSpaceElements = schema.getWhiteSpaceElements();
var isSeparator = function (node) {
return blockElements[node.nodeName] || shortEndedElements[node.nodeName] || whiteSpaceElements[node.nodeName];
};
var txt = '';
var treeWalker = new global$1(node, node);
while (node = treeWalker.next()) {
if (node.nodeType === 3) {
txt += node.data;
} else if (isSeparator(node)) {
txt += ' ';
}
}
return txt;
};
var innerText = function (node, schema) {
return global$2.ie ? getText(node, schema) : node.innerText;
};
var getTextContent = function (editor) {
return editor.removed ? '' : innerText(editor.getBody(), editor.schema);
};
var getCount = function (editor) {
return WordGetter.getWords(getTextContent(editor)).length;
};
var WordCount = { getCount: getCount };
var get = function (editor) {
var getCount = function () {
return WordCount.getCount(editor);
};
return { getCount: getCount };
};
var Api = { get: get };
var global$3 = tinymce.util.Tools.resolve('tinymce.util.Delay');
var global$4 = tinymce.util.Tools.resolve('tinymce.util.I18n');
var setup = function (editor) {
var wordsToText = function (editor) {
return global$4.translate([
'{0} words',
WordCount.getCount(editor)
]);
};
var update = function () {
editor.theme.panel.find('#wordcount').text(wordsToText(editor));
};
editor.on('init', function () {
var statusbar = editor.theme.panel && editor.theme.panel.find('#statusbar')[0];
var debouncedUpdate = global$3.debounce(update, 300);
if (statusbar) {
global$3.setEditorTimeout(editor, function () {
statusbar.insert({
type: 'label',
name: 'wordcount',
text: wordsToText(editor),
classes: 'wordcount',
disabled: editor.settings.readonly
}, 0);
editor.on('setcontent beforeaddundo undo redo keyup', debouncedUpdate);
}, 0);
editor.on('setcontent beforeaddundo undo redo keyup', debouncedUpdate);
}, 0);
}
}
});
};
var Statusbar = { setup: setup };
global.add('wordcount', function (editor) {
Statusbar.setup(editor);
return Api.get(editor);
});
};
var $_8tzy42stjh8lpxrb = { setup: setup };
function Plugin () {
}
global.add('wordcount', function (editor) {
$_8tzy42stjh8lpxrb.setup(editor);
return $_c4pjyxsmjh8lpxqy.get(editor);
});
function Plugin () {
}
return Plugin;
return Plugin;
}());
})();
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -150,7 +150,8 @@ Umbraco.Sys.registerNamespace("Umbraco.Application");
sourceUrl: currentMenuNode.childNodesUrl,
updateDefinition: function() {
throw "'updateDefinition' method is not supported in Umbraco 7, consider upgrading to the new v7 APIs";
}
},
expanded: currentMenuNode.expanded === true
};
//defined getters that will throw a not implemented/supported exception
Object.defineProperty(legacyNode, "menu", {