tinymce-rails 4.4.1 → 4.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/source/tinymce/tinymce.js +406 -197
- data/lib/tinymce/rails/version.rb +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/codesample/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/contextmenu/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/fullscreen/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/importcss/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/lists/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/paste/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/spellchecker/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/table/plugin.js +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/template/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/themes/inlite/theme.js +1 -1
- data/vendor/assets/javascripts/tinymce/tinymce.js +14 -13
- metadata +2 -55
- data/vendor/assets/javascripts/tinymce/themes/inlite/config/bolt/atomic.js +0 -5
- data/vendor/assets/javascripts/tinymce/themes/inlite/config/bolt/bootstrap-atomic.js +0 -1491
- data/vendor/assets/javascripts/tinymce/themes/inlite/config/bolt/bootstrap-browser.js +0 -1491
- data/vendor/assets/javascripts/tinymce/themes/inlite/config/bolt/bootstrap-demo.js +0 -1491
- data/vendor/assets/javascripts/tinymce/themes/inlite/config/bolt/bootstrap-prod.js +0 -1491
- data/vendor/assets/javascripts/tinymce/themes/inlite/config/bolt/browser.js +0 -10
- data/vendor/assets/javascripts/tinymce/themes/inlite/config/bolt/demo.js +0 -8
- data/vendor/assets/javascripts/tinymce/themes/inlite/config/bolt/prod.js +0 -5
- data/vendor/assets/javascripts/tinymce/themes/inlite/config/dent/depend.js +0 -21
- data/vendor/assets/javascripts/tinymce/themes/inlite/scratch/compile/bootstrap.js +0 -1526
- data/vendor/assets/javascripts/tinymce/themes/inlite/scratch/compile/theme.js +0 -1594
- data/vendor/assets/javascripts/tinymce/themes/inlite/scratch/inline/theme.js +0 -1679
- data/vendor/assets/javascripts/tinymce/themes/inlite/scratch/inline/theme.raw.js +0 -1679
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/demo/css/demo.css +0 -25
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/demo/html/demo.html +0 -69
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/demo/js/tinymce/inlite/Demo.js +0 -28
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/Theme.js +0 -150
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/alien/Arr.js +0 -22
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/alien/Bookmark.js +0 -130
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/alien/Unlink.js +0 -84
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/alien/Uuid.js +0 -34
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/Actions.js +0 -106
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/Convert.js +0 -37
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/ElementMatcher.js +0 -47
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/Layout.js +0 -95
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/Matcher.js +0 -39
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/Measure.js +0 -61
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/PredicateId.js +0 -32
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SelectionMatcher.js +0 -55
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/SkinLoader.js +0 -45
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/core/UrlType.js +0 -27
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/file/Conversions.js +0 -31
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/file/Picker.js +0 -40
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/ui/Buttons.js +0 -80
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/ui/Forms.js +0 -102
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/ui/Panel.js +0 -218
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/main/js/tinymce/inlite/ui/Toolbar.js +0 -126
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/atomic/alien/ArrTest.js +0 -9
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/atomic/alien/UuidTest.js +0 -10
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/atomic/core/ConvertTest.js +0 -12
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/atomic/core/MatcherTest.js +0 -51
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/atomic/core/UrlTypeTest.js +0 -33
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/ThemeTest.js +0 -202
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/alien/BookmarkTest.js +0 -65
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/alien/UnlinkTest.js +0 -38
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/core/ActionsTest.js +0 -177
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/core/ElementMatcher.js +0 -69
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/core/LayoutTest.js +0 -118
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/core/MeasureTest.js +0 -62
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/core/PredicateIdTest.js +0 -26
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/core/SelectionMatcherTest.js +0 -76
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/file/ConversionsTest.js +0 -41
- data/vendor/assets/javascripts/tinymce/themes/inlite/src/test/js/browser/file/SelectionMatcher.js +0 -55
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 01cceeb063ef5c275b6047395632ef20b0172c49
|
|
4
|
+
data.tar.gz: 53c569fb38de6fb52e80ab83b51daf45fe342712
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 71ed15c1d9aa0caa0ef114a95166200cccddb5cb806c3d9e4d4a7eb878ffda9a4a12093430b4168948e915132bdf64d2a04dd6c88c245ee72bd7bcf722e92f5d
|
|
7
|
+
data.tar.gz: 0c22b390f438c816dbabbaaddce0acb8e913ffde31786e8a5403ebcf3a9fa92e731cf6c8bc612fbc13e8ee23eb7c2ff3fa75994dfc650b1ff3a5993620c63eee
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// 4.4.
|
|
1
|
+
// 4.4.2 (2016-08-25)
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Compiled inline version. (Library mode)
|
|
@@ -10001,16 +10001,17 @@ define("tinymce/dom/NodeType", [], function() {
|
|
|
10001
10001
|
*/
|
|
10002
10002
|
|
|
10003
10003
|
/**
|
|
10004
|
-
*
|
|
10004
|
+
* Utility functions for working with zero width space
|
|
10005
|
+
* characters used as character containers etc.
|
|
10005
10006
|
*
|
|
10006
10007
|
* @private
|
|
10007
10008
|
* @class tinymce.text.Zwsp
|
|
10008
10009
|
* @example
|
|
10009
|
-
* var isZwsp = Zwsp.isZwsp('\
|
|
10010
|
-
* var abc = Zwsp.trim('a\
|
|
10010
|
+
* var isZwsp = Zwsp.isZwsp('\uFEFF');
|
|
10011
|
+
* var abc = Zwsp.trim('a\uFEFFc');
|
|
10011
10012
|
*/
|
|
10012
10013
|
define("tinymce/text/Zwsp", [], function() {
|
|
10013
|
-
var ZWSP = '\
|
|
10014
|
+
var ZWSP = '\uFEFF';
|
|
10014
10015
|
|
|
10015
10016
|
function isZwsp(chr) {
|
|
10016
10017
|
return chr == ZWSP;
|
|
@@ -10069,6 +10070,30 @@ define("tinymce/caret/CaretContainer", [
|
|
|
10069
10070
|
return isCaretContainerBlock(node) || isCaretContainerInline(node);
|
|
10070
10071
|
}
|
|
10071
10072
|
|
|
10073
|
+
function removeNode(node) {
|
|
10074
|
+
var parentNode = node.parentNode;
|
|
10075
|
+
if (parentNode) {
|
|
10076
|
+
parentNode.removeChild(node);
|
|
10077
|
+
}
|
|
10078
|
+
}
|
|
10079
|
+
|
|
10080
|
+
function getNodeValue(node) {
|
|
10081
|
+
try {
|
|
10082
|
+
return node.nodeValue;
|
|
10083
|
+
} catch (ex) {
|
|
10084
|
+
// IE sometimes produces "Invalid argument" on nodes
|
|
10085
|
+
return "";
|
|
10086
|
+
}
|
|
10087
|
+
}
|
|
10088
|
+
|
|
10089
|
+
function setNodeValue(node, text) {
|
|
10090
|
+
if (text.length === 0) {
|
|
10091
|
+
removeNode(node);
|
|
10092
|
+
} else {
|
|
10093
|
+
node.nodeValue = text;
|
|
10094
|
+
}
|
|
10095
|
+
}
|
|
10096
|
+
|
|
10072
10097
|
function insertInline(node, before) {
|
|
10073
10098
|
var doc, sibling, textNode, parentNode;
|
|
10074
10099
|
|
|
@@ -10136,28 +10161,17 @@ define("tinymce/caret/CaretContainer", [
|
|
|
10136
10161
|
}
|
|
10137
10162
|
|
|
10138
10163
|
function remove(caretContainerNode) {
|
|
10139
|
-
var text;
|
|
10140
|
-
|
|
10141
10164
|
if (isElement(caretContainerNode) && isCaretContainer(caretContainerNode)) {
|
|
10142
10165
|
if (caretContainerNode.innerHTML != ' ') {
|
|
10143
10166
|
caretContainerNode.removeAttribute('data-mce-caret');
|
|
10144
10167
|
} else {
|
|
10145
|
-
|
|
10146
|
-
caretContainerNode.parentNode.removeChild(caretContainerNode);
|
|
10147
|
-
}
|
|
10168
|
+
removeNode(caretContainerNode);
|
|
10148
10169
|
}
|
|
10149
10170
|
}
|
|
10150
10171
|
|
|
10151
10172
|
if (isText(caretContainerNode)) {
|
|
10152
|
-
text = Zwsp.trim(caretContainerNode
|
|
10153
|
-
|
|
10154
|
-
if (text.length === 0) {
|
|
10155
|
-
if (caretContainerNode.parentNode) {
|
|
10156
|
-
caretContainerNode.parentNode.removeChild(caretContainerNode);
|
|
10157
|
-
}
|
|
10158
|
-
}
|
|
10159
|
-
|
|
10160
|
-
caretContainerNode.nodeValue = text;
|
|
10173
|
+
var text = Zwsp.trim(getNodeValue(caretContainerNode));
|
|
10174
|
+
setNodeValue(caretContainerNode, text);
|
|
10161
10175
|
}
|
|
10162
10176
|
}
|
|
10163
10177
|
|
|
@@ -14542,7 +14556,7 @@ define("tinymce/dom/Serializer", [
|
|
|
14542
14556
|
|
|
14543
14557
|
// Nodes needs to be attached to something in WebKit/Opera
|
|
14544
14558
|
// This fix will make DOM ranges and make Sizzle happy!
|
|
14545
|
-
impl =
|
|
14559
|
+
impl = document.implementation;
|
|
14546
14560
|
if (impl.createHTMLDocument) {
|
|
14547
14561
|
// Create an empty HTML document
|
|
14548
14562
|
doc = impl.createHTMLDocument("");
|
|
@@ -18429,7 +18443,7 @@ define("tinymce/dom/ElementUtils", [
|
|
|
18429
18443
|
var name = attr.nodeName.toLowerCase();
|
|
18430
18444
|
|
|
18431
18445
|
// Don't compare internal attributes or style
|
|
18432
|
-
if (name.indexOf('_') !== 0 && name !== 'style' && name
|
|
18446
|
+
if (name.indexOf('_') !== 0 && name !== 'style' && name.indexOf('data-') !== 0) {
|
|
18433
18447
|
attribs[name] = dom.getAttrib(node, name);
|
|
18434
18448
|
}
|
|
18435
18449
|
});
|
|
@@ -20615,7 +20629,8 @@ define("tinymce/Formatter", [
|
|
|
20615
20629
|
// Check for non internal attributes
|
|
20616
20630
|
attrs = dom.getAttribs(node);
|
|
20617
20631
|
for (i = 0; i < attrs.length; i++) {
|
|
20618
|
-
|
|
20632
|
+
var attrName = attrs[i].nodeName;
|
|
20633
|
+
if (attrName.indexOf('_') !== 0 && attrName.indexOf('data-') !== 0) {
|
|
20619
20634
|
return FALSE;
|
|
20620
20635
|
}
|
|
20621
20636
|
}
|
|
@@ -26366,14 +26381,15 @@ define("tinymce/ui/Collection", [
|
|
|
26366
26381
|
* @class tinymce.ui.DomUtils
|
|
26367
26382
|
*/
|
|
26368
26383
|
define("tinymce/ui/DomUtils", [
|
|
26384
|
+
"tinymce/Env",
|
|
26369
26385
|
"tinymce/util/Tools",
|
|
26370
26386
|
"tinymce/dom/DOMUtils"
|
|
26371
|
-
], function(Tools, DOMUtils) {
|
|
26387
|
+
], function(Env, Tools, DOMUtils) {
|
|
26372
26388
|
"use strict";
|
|
26373
26389
|
|
|
26374
26390
|
var count = 0;
|
|
26375
26391
|
|
|
26376
|
-
|
|
26392
|
+
var funcs = {
|
|
26377
26393
|
id: function() {
|
|
26378
26394
|
return 'mceu_' + (count++);
|
|
26379
26395
|
},
|
|
@@ -26421,7 +26437,11 @@ define("tinymce/ui/DomUtils", [
|
|
|
26421
26437
|
},
|
|
26422
26438
|
|
|
26423
26439
|
getPos: function(elm, root) {
|
|
26424
|
-
return DOMUtils.DOM.getPos(elm, root);
|
|
26440
|
+
return DOMUtils.DOM.getPos(elm, root || funcs.getContainer());
|
|
26441
|
+
},
|
|
26442
|
+
|
|
26443
|
+
getContainer: function () {
|
|
26444
|
+
return Env.container ? Env.container : document.body;
|
|
26425
26445
|
},
|
|
26426
26446
|
|
|
26427
26447
|
getViewPort: function(win) {
|
|
@@ -26473,6 +26493,8 @@ define("tinymce/ui/DomUtils", [
|
|
|
26473
26493
|
DOMUtils.DOM.setHTML(elm, html);
|
|
26474
26494
|
}
|
|
26475
26495
|
};
|
|
26496
|
+
|
|
26497
|
+
return funcs;
|
|
26476
26498
|
});
|
|
26477
26499
|
|
|
26478
26500
|
// Included from: js/tinymce/classes/ui/BoxUtils.js
|
|
@@ -26971,7 +26993,7 @@ define("tinymce/ui/Control", [
|
|
|
26971
26993
|
* @return {Element} HTML DOM element to render into.
|
|
26972
26994
|
*/
|
|
26973
26995
|
getContainerElm: function() {
|
|
26974
|
-
return
|
|
26996
|
+
return DomUtils.getContainer();
|
|
26975
26997
|
},
|
|
26976
26998
|
|
|
26977
26999
|
/**
|
|
@@ -35594,6 +35616,90 @@ define("tinymce/caret/LineUtils", [
|
|
|
35594
35616
|
};
|
|
35595
35617
|
});
|
|
35596
35618
|
|
|
35619
|
+
// Included from: js/tinymce/classes/dom/MousePosition.js
|
|
35620
|
+
|
|
35621
|
+
/**
|
|
35622
|
+
* MousePosition.js
|
|
35623
|
+
*
|
|
35624
|
+
* Released under LGPL License.
|
|
35625
|
+
* Copyright (c) 1999-2016 Ephox Corp. All rights reserved
|
|
35626
|
+
*
|
|
35627
|
+
* License: http://www.tinymce.com/license
|
|
35628
|
+
* Contributing: http://www.tinymce.com/contributing
|
|
35629
|
+
*/
|
|
35630
|
+
|
|
35631
|
+
/**
|
|
35632
|
+
* This module calculates an absolute coordinate inside the editor body for both local and global mouse events.
|
|
35633
|
+
*
|
|
35634
|
+
* @private
|
|
35635
|
+
* @class tinymce.dom.MousePosition
|
|
35636
|
+
*/
|
|
35637
|
+
define("tinymce/dom/MousePosition", [
|
|
35638
|
+
], function() {
|
|
35639
|
+
var getAbsolutePosition = function (elm) {
|
|
35640
|
+
var doc, docElem, win, clientRect;
|
|
35641
|
+
|
|
35642
|
+
clientRect = elm.getBoundingClientRect();
|
|
35643
|
+
doc = elm.ownerDocument;
|
|
35644
|
+
docElem = doc.documentElement;
|
|
35645
|
+
win = doc.defaultView;
|
|
35646
|
+
|
|
35647
|
+
return {
|
|
35648
|
+
top: clientRect.top + win.pageYOffset - docElem.clientTop,
|
|
35649
|
+
left: clientRect.left + win.pageXOffset - docElem.clientLeft
|
|
35650
|
+
};
|
|
35651
|
+
};
|
|
35652
|
+
|
|
35653
|
+
var getBodyPosition = function (editor) {
|
|
35654
|
+
return editor.inline ? getAbsolutePosition(editor.getBody()) : {left: 0, top: 0};
|
|
35655
|
+
};
|
|
35656
|
+
|
|
35657
|
+
var getScrollPosition = function (editor) {
|
|
35658
|
+
var body = editor.getBody();
|
|
35659
|
+
return editor.inline ? {left: body.scrollLeft, top: body.scrollTop} : {left: 0, top: 0};
|
|
35660
|
+
};
|
|
35661
|
+
|
|
35662
|
+
var getBodyScroll = function (editor) {
|
|
35663
|
+
var body = editor.getBody(), docElm = editor.getDoc().documentElement;
|
|
35664
|
+
var inlineScroll = {left: body.scrollLeft, top: body.scrollTop};
|
|
35665
|
+
var iframeScroll = {left: body.scrollLeft || docElm.scrollLeft, top: body.scrollTop || docElm.scrollTop};
|
|
35666
|
+
|
|
35667
|
+
return editor.inline ? inlineScroll : iframeScroll;
|
|
35668
|
+
};
|
|
35669
|
+
|
|
35670
|
+
var getMousePosition = function (editor, event) {
|
|
35671
|
+
if (event.target.ownerDocument !== editor.getDoc()) {
|
|
35672
|
+
var iframePosition = getAbsolutePosition(editor.getContentAreaContainer());
|
|
35673
|
+
var scrollPosition = getBodyScroll(editor);
|
|
35674
|
+
|
|
35675
|
+
return {
|
|
35676
|
+
left: event.pageX - iframePosition.left + scrollPosition.left,
|
|
35677
|
+
top: event.pageY - iframePosition.top + scrollPosition.top
|
|
35678
|
+
};
|
|
35679
|
+
}
|
|
35680
|
+
|
|
35681
|
+
return {
|
|
35682
|
+
left: event.pageX,
|
|
35683
|
+
top: event.pageY
|
|
35684
|
+
};
|
|
35685
|
+
};
|
|
35686
|
+
|
|
35687
|
+
var calculatePosition = function (bodyPosition, scrollPosition, mousePosition) {
|
|
35688
|
+
return {
|
|
35689
|
+
pageX: (mousePosition.left - bodyPosition.left) + scrollPosition.left,
|
|
35690
|
+
pageY: (mousePosition.top - bodyPosition.top) + scrollPosition.top
|
|
35691
|
+
};
|
|
35692
|
+
};
|
|
35693
|
+
|
|
35694
|
+
var calc = function (editor, event) {
|
|
35695
|
+
return calculatePosition(getBodyPosition(editor), getScrollPosition(editor), getMousePosition(editor, event));
|
|
35696
|
+
};
|
|
35697
|
+
|
|
35698
|
+
return {
|
|
35699
|
+
calc: calc
|
|
35700
|
+
};
|
|
35701
|
+
});
|
|
35702
|
+
|
|
35597
35703
|
// Included from: js/tinymce/classes/DragDropOverrides.js
|
|
35598
35704
|
|
|
35599
35705
|
/**
|
|
@@ -35615,205 +35721,240 @@ define("tinymce/caret/LineUtils", [
|
|
|
35615
35721
|
define("tinymce/DragDropOverrides", [
|
|
35616
35722
|
"tinymce/dom/NodeType",
|
|
35617
35723
|
"tinymce/util/Arr",
|
|
35618
|
-
"tinymce/util/Fun"
|
|
35724
|
+
"tinymce/util/Fun",
|
|
35725
|
+
"tinymce/util/Delay",
|
|
35726
|
+
"tinymce/dom/DOMUtils",
|
|
35727
|
+
"tinymce/dom/MousePosition"
|
|
35619
35728
|
], function(
|
|
35620
|
-
NodeType,
|
|
35621
|
-
Arr,
|
|
35622
|
-
Fun
|
|
35729
|
+
NodeType, Arr, Fun, Delay, DOMUtils, MousePosition
|
|
35623
35730
|
) {
|
|
35624
35731
|
var isContentEditableFalse = NodeType.isContentEditableFalse,
|
|
35625
35732
|
isContentEditableTrue = NodeType.isContentEditableTrue;
|
|
35626
35733
|
|
|
35627
|
-
function
|
|
35628
|
-
|
|
35629
|
-
|
|
35630
|
-
dom = editor.dom, state = {};
|
|
35734
|
+
var isDraggable = function (elm) {
|
|
35735
|
+
return isContentEditableFalse(elm);
|
|
35736
|
+
};
|
|
35631
35737
|
|
|
35632
|
-
|
|
35633
|
-
|
|
35738
|
+
var isValidDropTarget = function (editor, targetElement, dragElement) {
|
|
35739
|
+
if (targetElement === dragElement || editor.dom.isChildOf(targetElement, dragElement)) {
|
|
35740
|
+
return false;
|
|
35634
35741
|
}
|
|
35635
35742
|
|
|
35636
|
-
|
|
35637
|
-
|
|
35743
|
+
if (isContentEditableFalse(targetElement)) {
|
|
35744
|
+
return false;
|
|
35638
35745
|
}
|
|
35639
35746
|
|
|
35640
|
-
|
|
35641
|
-
|
|
35642
|
-
return false;
|
|
35643
|
-
}
|
|
35747
|
+
return true;
|
|
35748
|
+
};
|
|
35644
35749
|
|
|
35645
|
-
|
|
35646
|
-
|
|
35647
|
-
|
|
35750
|
+
var cloneElement = function (elm) {
|
|
35751
|
+
var cloneElm = elm.cloneNode(true);
|
|
35752
|
+
cloneElm.removeAttribute('data-mce-selected');
|
|
35753
|
+
return cloneElm;
|
|
35754
|
+
};
|
|
35648
35755
|
|
|
35649
|
-
|
|
35650
|
-
|
|
35756
|
+
var createGhost = function (editor, elm, width, height) {
|
|
35757
|
+
var clonedElm = elm.cloneNode(true);
|
|
35651
35758
|
|
|
35652
|
-
|
|
35653
|
-
|
|
35654
|
-
overflowX = 0, overflowY = 0, movement,
|
|
35655
|
-
clientX, clientY, rootClientRect;
|
|
35759
|
+
editor.dom.setStyles(clonedElm, {width: width, height: height});
|
|
35760
|
+
editor.dom.setAttrib(clonedElm, 'data-mce-selected', null);
|
|
35656
35761
|
|
|
35657
|
-
|
|
35658
|
-
|
|
35659
|
-
|
|
35762
|
+
var ghostElm = editor.dom.create('div', {
|
|
35763
|
+
'class': 'mce-drag-container',
|
|
35764
|
+
'data-mce-bogus': 'all',
|
|
35765
|
+
unselectable: 'on',
|
|
35766
|
+
contenteditable: 'false'
|
|
35767
|
+
});
|
|
35660
35768
|
|
|
35661
|
-
|
|
35662
|
-
|
|
35663
|
-
|
|
35769
|
+
editor.dom.setStyles(ghostElm, {
|
|
35770
|
+
position: 'absolute',
|
|
35771
|
+
opacity: 0.5,
|
|
35772
|
+
overflow: 'hidden',
|
|
35773
|
+
border: 0,
|
|
35774
|
+
padding: 0,
|
|
35775
|
+
margin: 0,
|
|
35776
|
+
width: width,
|
|
35777
|
+
height: height
|
|
35778
|
+
});
|
|
35664
35779
|
|
|
35665
|
-
|
|
35666
|
-
|
|
35667
|
-
|
|
35668
|
-
|
|
35669
|
-
state.clone = state.element.cloneNode(true);
|
|
35670
|
-
|
|
35671
|
-
pos = dom.getPos(state.element);
|
|
35672
|
-
state.relX = state.clientX - pos.x;
|
|
35673
|
-
state.relY = state.clientY - pos.y;
|
|
35674
|
-
state.width = state.element.offsetWidth;
|
|
35675
|
-
state.height = state.element.offsetHeight;
|
|
35676
|
-
|
|
35677
|
-
$(state.clone).css({
|
|
35678
|
-
width: state.width,
|
|
35679
|
-
height: state.height
|
|
35680
|
-
}).removeAttr('data-mce-selected');
|
|
35681
|
-
|
|
35682
|
-
state.ghost = $('<div>').css({
|
|
35683
|
-
position: 'absolute',
|
|
35684
|
-
opacity: 0.5,
|
|
35685
|
-
overflow: 'hidden',
|
|
35686
|
-
width: state.width,
|
|
35687
|
-
height: state.height
|
|
35688
|
-
}).attr({
|
|
35689
|
-
'data-mce-bogus': 'all',
|
|
35690
|
-
unselectable: 'on',
|
|
35691
|
-
contenteditable: 'false'
|
|
35692
|
-
}).addClass('mce-drag-container mce-reset').
|
|
35693
|
-
append(state.clone).
|
|
35694
|
-
appendTo(editor.getBody())[0];
|
|
35695
|
-
|
|
35696
|
-
viewPort = editor.dom.getViewPort(editor.getWin());
|
|
35697
|
-
state.maxX = viewPort.w;
|
|
35698
|
-
state.maxY = viewPort.h;
|
|
35699
|
-
}
|
|
35780
|
+
editor.dom.setStyles(clonedElm, {
|
|
35781
|
+
margin: 0,
|
|
35782
|
+
boxSizing: 'border-box'
|
|
35783
|
+
});
|
|
35700
35784
|
|
|
35701
|
-
|
|
35702
|
-
editor._selectionOverrides.hideFakeCaret();
|
|
35703
|
-
editor.selection.placeCaretAt(e.clientX, e.clientY);
|
|
35785
|
+
ghostElm.appendChild(clonedElm);
|
|
35704
35786
|
|
|
35705
|
-
|
|
35706
|
-
|
|
35787
|
+
return ghostElm;
|
|
35788
|
+
};
|
|
35707
35789
|
|
|
35708
|
-
|
|
35709
|
-
|
|
35710
|
-
|
|
35790
|
+
var appendGhostToBody = function (ghostElm, bodyElm) {
|
|
35791
|
+
if (ghostElm.parentNode !== bodyElm) {
|
|
35792
|
+
bodyElm.appendChild(ghostElm);
|
|
35793
|
+
}
|
|
35794
|
+
};
|
|
35711
35795
|
|
|
35712
|
-
|
|
35713
|
-
|
|
35714
|
-
}
|
|
35796
|
+
var moveGhost = function (ghostElm, position, width, height, maxX, maxY) {
|
|
35797
|
+
var overflowX = 0, overflowY = 0;
|
|
35715
35798
|
|
|
35716
|
-
|
|
35717
|
-
|
|
35718
|
-
} else {
|
|
35719
|
-
rootClientRect = {left: 0, top: 0};
|
|
35720
|
-
}
|
|
35799
|
+
ghostElm.style.left = position.pageX + 'px';
|
|
35800
|
+
ghostElm.style.top = position.pageY + 'px';
|
|
35721
35801
|
|
|
35722
|
-
|
|
35723
|
-
|
|
35724
|
-
top: clientY - rootClientRect.top,
|
|
35725
|
-
width: state.width - overflowX,
|
|
35726
|
-
height: state.height - overflowY
|
|
35727
|
-
});
|
|
35728
|
-
}
|
|
35802
|
+
if (position.pageX + width > maxX) {
|
|
35803
|
+
overflowX = (position.pageX + width) - maxX;
|
|
35729
35804
|
}
|
|
35730
35805
|
|
|
35731
|
-
|
|
35732
|
-
|
|
35806
|
+
if (position.pageY + height > maxY) {
|
|
35807
|
+
overflowY = (position.pageY + height) - maxY;
|
|
35808
|
+
}
|
|
35733
35809
|
|
|
35734
|
-
|
|
35735
|
-
|
|
35736
|
-
|
|
35810
|
+
ghostElm.style.width = (width - overflowX) + 'px';
|
|
35811
|
+
ghostElm.style.height = (height - overflowY) + 'px';
|
|
35812
|
+
};
|
|
35737
35813
|
|
|
35738
|
-
|
|
35739
|
-
|
|
35814
|
+
var removeElement = function (elm) {
|
|
35815
|
+
if (elm && elm.parentNode) {
|
|
35816
|
+
elm.parentNode.removeChild(elm);
|
|
35817
|
+
}
|
|
35818
|
+
};
|
|
35740
35819
|
|
|
35741
|
-
|
|
35742
|
-
|
|
35743
|
-
|
|
35744
|
-
clientX: evt.clientX,
|
|
35745
|
-
clientY: evt.clientY
|
|
35746
|
-
});
|
|
35820
|
+
var isLeftMouseButtonPressed = function (e) {
|
|
35821
|
+
return e.button === 0;
|
|
35822
|
+
};
|
|
35747
35823
|
|
|
35748
|
-
|
|
35749
|
-
|
|
35750
|
-
|
|
35824
|
+
var hasDraggableElement = function (state) {
|
|
35825
|
+
return state.element;
|
|
35826
|
+
};
|
|
35751
35827
|
|
|
35752
|
-
|
|
35828
|
+
var applyRelPos = function (state, position) {
|
|
35829
|
+
return {
|
|
35830
|
+
pageX: position.pageX - state.relX,
|
|
35831
|
+
pageY: position.pageY + 5
|
|
35832
|
+
};
|
|
35833
|
+
};
|
|
35753
35834
|
|
|
35754
|
-
|
|
35755
|
-
|
|
35756
|
-
|
|
35757
|
-
|
|
35835
|
+
var start = function (state, editor) {
|
|
35836
|
+
return function (e) {
|
|
35837
|
+
if (isLeftMouseButtonPressed(e)) {
|
|
35838
|
+
var ceElm = Arr.find(editor.dom.getParents(e.target), Fun.or(isContentEditableFalse, isContentEditableTrue));
|
|
35839
|
+
|
|
35840
|
+
if (isDraggable(ceElm)) {
|
|
35841
|
+
var elmPos = editor.dom.getPos(ceElm);
|
|
35842
|
+
var bodyElm = editor.getBody();
|
|
35843
|
+
var docElm = editor.getDoc().documentElement;
|
|
35844
|
+
|
|
35845
|
+
state.element = ceElm;
|
|
35846
|
+
state.screenX = e.screenX;
|
|
35847
|
+
state.screenY = e.screenY;
|
|
35848
|
+
state.maxX = (editor.inline ? bodyElm.scrollWidth : docElm.offsetWidth) - 2;
|
|
35849
|
+
state.maxY = (editor.inline ? bodyElm.scrollHeight : docElm.offsetHeight) - 2;
|
|
35850
|
+
state.relX = e.pageX - elmPos.x;
|
|
35851
|
+
state.relY = e.pageY - elmPos.y;
|
|
35852
|
+
state.width = ceElm.offsetWidth;
|
|
35853
|
+
state.height = ceElm.offsetHeight;
|
|
35854
|
+
state.ghost = createGhost(editor, ceElm, state.width, state.height);
|
|
35758
35855
|
}
|
|
35759
35856
|
}
|
|
35857
|
+
};
|
|
35858
|
+
};
|
|
35760
35859
|
|
|
35761
|
-
|
|
35762
|
-
|
|
35860
|
+
var move = function (state, editor) {
|
|
35861
|
+
// Reduces laggy drag behavior on Gecko
|
|
35862
|
+
var throttledPlaceCaretAt = Delay.throttle(function (clientX, clientY) {
|
|
35863
|
+
editor._selectionOverrides.hideFakeCaret();
|
|
35864
|
+
editor.selection.placeCaretAt(clientX, clientY);
|
|
35865
|
+
}, 0);
|
|
35866
|
+
|
|
35867
|
+
return function (e) {
|
|
35868
|
+
var movement = Math.max(Math.abs(e.screenX - state.screenX), Math.abs(e.screenY - state.screenY));
|
|
35869
|
+
|
|
35870
|
+
if (hasDraggableElement(state) && !state.dragging && movement > 10) {
|
|
35871
|
+
var args = editor.fire('dragstart', {target: state.element});
|
|
35872
|
+
if (args.isDefaultPrevented()) {
|
|
35873
|
+
return;
|
|
35874
|
+
}
|
|
35763
35875
|
|
|
35764
|
-
|
|
35765
|
-
|
|
35876
|
+
state.dragging = true;
|
|
35877
|
+
editor.focus();
|
|
35878
|
+
}
|
|
35766
35879
|
|
|
35767
|
-
|
|
35880
|
+
if (state.dragging) {
|
|
35881
|
+
var targetPos = applyRelPos(state, MousePosition.calc(editor, e));
|
|
35768
35882
|
|
|
35769
|
-
|
|
35770
|
-
|
|
35883
|
+
appendGhostToBody(state.ghost, editor.getBody());
|
|
35884
|
+
moveGhost(state.ghost, targetPos, state.width, state.height, state.maxX, state.maxY);
|
|
35885
|
+
|
|
35886
|
+
throttledPlaceCaretAt(e.clientX, e.clientY);
|
|
35771
35887
|
}
|
|
35888
|
+
};
|
|
35889
|
+
};
|
|
35772
35890
|
|
|
35773
|
-
|
|
35891
|
+
var drop = function (state, editor) {
|
|
35892
|
+
return function (e) {
|
|
35893
|
+
if (state.dragging) {
|
|
35894
|
+
if (isValidDropTarget(editor, editor.selection.getNode(), state.element)) {
|
|
35895
|
+
var targetClone = cloneElement(state.element);
|
|
35774
35896
|
|
|
35775
|
-
|
|
35776
|
-
|
|
35777
|
-
|
|
35778
|
-
|
|
35779
|
-
|
|
35897
|
+
var args = editor.fire('drop', {
|
|
35898
|
+
targetClone: targetClone,
|
|
35899
|
+
clientX: e.clientX,
|
|
35900
|
+
clientY: e.clientY
|
|
35901
|
+
});
|
|
35780
35902
|
|
|
35781
|
-
|
|
35782
|
-
|
|
35903
|
+
if (!args.isDefaultPrevented()) {
|
|
35904
|
+
targetClone = args.targetClone;
|
|
35783
35905
|
|
|
35784
|
-
|
|
35785
|
-
|
|
35786
|
-
|
|
35906
|
+
editor.undoManager.transact(function() {
|
|
35907
|
+
removeElement(state.element);
|
|
35908
|
+
editor.insertContent(editor.dom.getOuterHTML(targetClone));
|
|
35909
|
+
editor._selectionOverrides.hideFakeCaret();
|
|
35910
|
+
});
|
|
35911
|
+
}
|
|
35787
35912
|
}
|
|
35913
|
+
}
|
|
35788
35914
|
|
|
35789
|
-
|
|
35790
|
-
|
|
35791
|
-
|
|
35792
|
-
|
|
35793
|
-
|
|
35794
|
-
|
|
35795
|
-
|
|
35915
|
+
removeDragState(state);
|
|
35916
|
+
};
|
|
35917
|
+
};
|
|
35918
|
+
|
|
35919
|
+
var stop = function (state, editor) {
|
|
35920
|
+
return function () {
|
|
35921
|
+
removeDragState(state);
|
|
35922
|
+
if (state.dragging) {
|
|
35923
|
+
editor.fire('dragend');
|
|
35796
35924
|
}
|
|
35797
|
-
}
|
|
35925
|
+
};
|
|
35926
|
+
};
|
|
35798
35927
|
|
|
35799
|
-
|
|
35800
|
-
|
|
35801
|
-
|
|
35928
|
+
var removeDragState = function (state) {
|
|
35929
|
+
state.dragging = false;
|
|
35930
|
+
state.element = null;
|
|
35931
|
+
removeElement(state.ghost);
|
|
35932
|
+
};
|
|
35802
35933
|
|
|
35803
|
-
|
|
35804
|
-
|
|
35934
|
+
var bindFakeDragEvents = function (editor) {
|
|
35935
|
+
var state = {}, pageDom, dragStartHandler, dragHandler, dropHandler, dragEndHandler, rootDocument;
|
|
35805
35936
|
|
|
35806
|
-
|
|
35807
|
-
|
|
35808
|
-
|
|
35809
|
-
|
|
35937
|
+
pageDom = DOMUtils.DOM;
|
|
35938
|
+
rootDocument = document;
|
|
35939
|
+
dragStartHandler = start(state, editor);
|
|
35940
|
+
dragHandler = move(state, editor);
|
|
35941
|
+
dropHandler = drop(state, editor);
|
|
35942
|
+
dragEndHandler = stop(state, editor);
|
|
35810
35943
|
|
|
35811
|
-
|
|
35812
|
-
|
|
35944
|
+
editor.on('mousedown', dragStartHandler);
|
|
35945
|
+
editor.on('mousemove', dragHandler);
|
|
35946
|
+
editor.on('mouseup', dropHandler);
|
|
35813
35947
|
|
|
35814
|
-
|
|
35948
|
+
pageDom.bind(rootDocument, 'mousemove', dragHandler);
|
|
35949
|
+
pageDom.bind(rootDocument, 'mouseup', dragEndHandler);
|
|
35815
35950
|
|
|
35816
|
-
|
|
35951
|
+
editor.on('remove', function () {
|
|
35952
|
+
pageDom.unbind(rootDocument, 'mousemove', dragHandler);
|
|
35953
|
+
pageDom.unbind(rootDocument, 'mouseup', dragEndHandler);
|
|
35954
|
+
});
|
|
35955
|
+
};
|
|
35956
|
+
|
|
35957
|
+
var blockIeDrop = function (editor) {
|
|
35817
35958
|
editor.on('drop', function(e) {
|
|
35818
35959
|
// FF doesn't pass out clientX/clientY for drop since this is for IE we just use null instead
|
|
35819
35960
|
var realTarget = typeof e.clientX !== 'undefined' ? editor.getDoc().elementFromPoint(e.clientX, e.clientY) : null;
|
|
@@ -35822,7 +35963,12 @@ define("tinymce/DragDropOverrides", [
|
|
|
35822
35963
|
e.preventDefault();
|
|
35823
35964
|
}
|
|
35824
35965
|
});
|
|
35825
|
-
}
|
|
35966
|
+
};
|
|
35967
|
+
|
|
35968
|
+
var init = function (editor) {
|
|
35969
|
+
bindFakeDragEvents(editor);
|
|
35970
|
+
blockIeDrop(editor);
|
|
35971
|
+
};
|
|
35826
35972
|
|
|
35827
35973
|
return {
|
|
35828
35974
|
init: init
|
|
@@ -35902,6 +36048,11 @@ define("tinymce/SelectionOverrides", [
|
|
|
35902
36048
|
realSelectionId = 'sel-' + editor.dom.uniqueId(),
|
|
35903
36049
|
selectedContentEditableNode, $ = editor.$;
|
|
35904
36050
|
|
|
36051
|
+
function getRealSelectionElement() {
|
|
36052
|
+
var container = editor.dom.get(realSelectionId);
|
|
36053
|
+
return container.getElementsByTagName('*')[0];
|
|
36054
|
+
}
|
|
36055
|
+
|
|
35905
36056
|
function isBlock(node) {
|
|
35906
36057
|
return editor.dom.isBlock(node);
|
|
35907
36058
|
}
|
|
@@ -36261,25 +36412,51 @@ define("tinymce/SelectionOverrides", [
|
|
|
36261
36412
|
return null;
|
|
36262
36413
|
}
|
|
36263
36414
|
|
|
36415
|
+
function isTextBlock(node) {
|
|
36416
|
+
var textBlocks = editor.schema.getTextBlockElements();
|
|
36417
|
+
return node.nodeName in textBlocks;
|
|
36418
|
+
}
|
|
36419
|
+
|
|
36420
|
+
function isEmpty(elm) {
|
|
36421
|
+
return editor.dom.isEmpty(elm);
|
|
36422
|
+
}
|
|
36423
|
+
|
|
36264
36424
|
function mergeTextBlocks(direction, fromCaretPosition, toCaretPosition) {
|
|
36265
|
-
var dom = editor.dom, fromBlock, toBlock, node,
|
|
36425
|
+
var dom = editor.dom, fromBlock, toBlock, node, ceTarget;
|
|
36426
|
+
|
|
36427
|
+
fromBlock = dom.getParent(fromCaretPosition.getNode(), dom.isBlock);
|
|
36428
|
+
toBlock = dom.getParent(toCaretPosition.getNode(), dom.isBlock);
|
|
36266
36429
|
|
|
36267
36430
|
if (direction === -1) {
|
|
36268
|
-
|
|
36431
|
+
ceTarget = toCaretPosition.getNode(true);
|
|
36432
|
+
if (isAfterContentEditableFalse(toCaretPosition) && isBlock(ceTarget)) {
|
|
36433
|
+
if (isTextBlock(fromBlock)) {
|
|
36434
|
+
if (isEmpty(fromBlock)) {
|
|
36435
|
+
dom.remove(fromBlock);
|
|
36436
|
+
}
|
|
36437
|
+
|
|
36438
|
+
return CaretPosition.after(ceTarget).toRange();
|
|
36439
|
+
}
|
|
36440
|
+
|
|
36269
36441
|
return deleteContentEditableNode(toCaretPosition.getNode(true));
|
|
36270
36442
|
}
|
|
36271
36443
|
} else {
|
|
36272
|
-
|
|
36444
|
+
ceTarget = fromCaretPosition.getNode();
|
|
36445
|
+
if (isBeforeContentEditableFalse(fromCaretPosition) && isBlock(ceTarget)) {
|
|
36446
|
+
if (isTextBlock(toBlock)) {
|
|
36447
|
+
if (isEmpty(toBlock)) {
|
|
36448
|
+
dom.remove(toBlock);
|
|
36449
|
+
}
|
|
36450
|
+
|
|
36451
|
+
return CaretPosition.before(ceTarget).toRange();
|
|
36452
|
+
}
|
|
36453
|
+
|
|
36273
36454
|
return deleteContentEditableNode(fromCaretPosition.getNode());
|
|
36274
36455
|
}
|
|
36275
36456
|
}
|
|
36276
36457
|
|
|
36277
|
-
textBlocks = editor.schema.getTextBlockElements();
|
|
36278
|
-
fromBlock = dom.getParent(fromCaretPosition.getNode(), dom.isBlock);
|
|
36279
|
-
toBlock = dom.getParent(toCaretPosition.getNode(), dom.isBlock);
|
|
36280
|
-
|
|
36281
36458
|
// Verify that both blocks are text blocks
|
|
36282
|
-
if (fromBlock === toBlock || !
|
|
36459
|
+
if (fromBlock === toBlock || !isTextBlock(fromBlock) || !isTextBlock(toBlock)) {
|
|
36283
36460
|
return null;
|
|
36284
36461
|
}
|
|
36285
36462
|
|
|
@@ -36382,6 +36559,7 @@ define("tinymce/SelectionOverrides", [
|
|
|
36382
36559
|
if (contentEditableRoot) {
|
|
36383
36560
|
if (isContentEditableFalse(contentEditableRoot)) {
|
|
36384
36561
|
e.preventDefault();
|
|
36562
|
+
editor.focus();
|
|
36385
36563
|
}
|
|
36386
36564
|
}
|
|
36387
36565
|
});
|
|
@@ -36604,6 +36782,22 @@ define("tinymce/SelectionOverrides", [
|
|
|
36604
36782
|
}, 0);
|
|
36605
36783
|
});
|
|
36606
36784
|
|
|
36785
|
+
editor.on('copy', function (e) {
|
|
36786
|
+
var clipboardData = e.clipboardData;
|
|
36787
|
+
|
|
36788
|
+
// Make sure we get proper html/text for the fake cE=false selection
|
|
36789
|
+
// Doesn't work at all on Edge since it doesn't have proper clipboardData support
|
|
36790
|
+
if (!e.isDefaultPrevented() && e.clipboardData && !Env.ie) {
|
|
36791
|
+
var realSelectionElement = getRealSelectionElement();
|
|
36792
|
+
if (realSelectionElement) {
|
|
36793
|
+
e.preventDefault();
|
|
36794
|
+
clipboardData.clearData();
|
|
36795
|
+
clipboardData.setData('text/html', realSelectionElement.outerHTML);
|
|
36796
|
+
clipboardData.setData('text/plain', realSelectionElement.outerText);
|
|
36797
|
+
}
|
|
36798
|
+
}
|
|
36799
|
+
});
|
|
36800
|
+
|
|
36607
36801
|
DragDropOverrides.init(editor);
|
|
36608
36802
|
}
|
|
36609
36803
|
|
|
@@ -36615,8 +36809,6 @@ define("tinymce/SelectionOverrides", [
|
|
|
36615
36809
|
rootClass + ' .mce-offscreen-selection {' +
|
|
36616
36810
|
'position: absolute;' +
|
|
36617
36811
|
'left: -9999999999px;' +
|
|
36618
|
-
'width: 100px;' +
|
|
36619
|
-
'height: 100px;' +
|
|
36620
36812
|
'}' +
|
|
36621
36813
|
rootClass + ' *[contentEditable=false] {' +
|
|
36622
36814
|
'cursor: default;' +
|
|
@@ -37303,11 +37495,12 @@ define("tinymce/Editor", [
|
|
|
37303
37495
|
var self = this, settings = self.settings, elm = self.getElement();
|
|
37304
37496
|
var w, h, minHeight, n, o, Theme, url, bodyId, bodyClass, re, i, initializedPlugins = [];
|
|
37305
37497
|
|
|
37306
|
-
|
|
37307
|
-
self.
|
|
37308
|
-
|
|
37498
|
+
self.rtl = settings.rtl_ui || self.editorManager.i18n.rtl;
|
|
37499
|
+
self.editorManager.i18n.setCode(settings.language);
|
|
37309
37500
|
settings.aria_label = settings.aria_label || DOM.getAttrib(elm, 'aria-label', self.getLang('aria.rich_text_area'));
|
|
37310
37501
|
|
|
37502
|
+
self.fire('ScriptsLoaded');
|
|
37503
|
+
|
|
37311
37504
|
/**
|
|
37312
37505
|
* Reference to the theme instance that was used to generate the UI.
|
|
37313
37506
|
*
|
|
@@ -38801,7 +38994,8 @@ define("tinymce/Editor", [
|
|
|
38801
38994
|
* @return {Element} The root element of the editable area.
|
|
38802
38995
|
*/
|
|
38803
38996
|
getBody: function() {
|
|
38804
|
-
|
|
38997
|
+
var doc = this.getDoc();
|
|
38998
|
+
return this.bodyElement || (doc ? doc.body : null);
|
|
38805
38999
|
},
|
|
38806
39000
|
|
|
38807
39001
|
/**
|
|
@@ -39520,7 +39714,7 @@ define("tinymce/EditorManager", [
|
|
|
39520
39714
|
* @property minorVersion
|
|
39521
39715
|
* @type String
|
|
39522
39716
|
*/
|
|
39523
|
-
minorVersion: '4.
|
|
39717
|
+
minorVersion: '4.2',
|
|
39524
39718
|
|
|
39525
39719
|
/**
|
|
39526
39720
|
* Release date of TinyMCE build.
|
|
@@ -39528,7 +39722,7 @@ define("tinymce/EditorManager", [
|
|
|
39528
39722
|
* @property releaseDate
|
|
39529
39723
|
* @type String
|
|
39530
39724
|
*/
|
|
39531
|
-
releaseDate: '2016-
|
|
39725
|
+
releaseDate: '2016-08-25',
|
|
39532
39726
|
|
|
39533
39727
|
/**
|
|
39534
39728
|
* Collection of editor instances.
|
|
@@ -43570,17 +43764,18 @@ define("tinymce/ui/FormatControls", [
|
|
|
43570
43764
|
"tinymce/ui/Widget",
|
|
43571
43765
|
"tinymce/ui/FloatPanel",
|
|
43572
43766
|
"tinymce/util/Tools",
|
|
43767
|
+
"tinymce/dom/DOMUtils",
|
|
43573
43768
|
"tinymce/EditorManager",
|
|
43574
43769
|
"tinymce/Env"
|
|
43575
|
-
], function(Control, Widget, FloatPanel, Tools, EditorManager, Env) {
|
|
43770
|
+
], function(Control, Widget, FloatPanel, Tools, DOMUtils, EditorManager, Env) {
|
|
43576
43771
|
var each = Tools.each;
|
|
43577
43772
|
|
|
43578
43773
|
EditorManager.on('AddEditor', function(e) {
|
|
43579
|
-
|
|
43580
|
-
Control.rtl = true;
|
|
43581
|
-
}
|
|
43774
|
+
var editor = e.editor;
|
|
43582
43775
|
|
|
43583
|
-
|
|
43776
|
+
setupRtlMode(editor);
|
|
43777
|
+
registerControls(editor);
|
|
43778
|
+
setupContainer(editor);
|
|
43584
43779
|
});
|
|
43585
43780
|
|
|
43586
43781
|
Control.translate = function(text) {
|
|
@@ -43589,6 +43784,20 @@ define("tinymce/ui/FormatControls", [
|
|
|
43589
43784
|
|
|
43590
43785
|
Widget.tooltips = !Env.iOS;
|
|
43591
43786
|
|
|
43787
|
+
function setupContainer(editor) {
|
|
43788
|
+
if (editor.settings.ui_container) {
|
|
43789
|
+
Env.container = DOMUtils.DOM.select(editor.settings.ui_container)[0];
|
|
43790
|
+
}
|
|
43791
|
+
}
|
|
43792
|
+
|
|
43793
|
+
function setupRtlMode(editor) {
|
|
43794
|
+
editor.on('ScriptsLoaded', function () {
|
|
43795
|
+
if (editor.rtl) {
|
|
43796
|
+
Control.rtl = true;
|
|
43797
|
+
}
|
|
43798
|
+
});
|
|
43799
|
+
}
|
|
43800
|
+
|
|
43592
43801
|
function registerControls(editor) {
|
|
43593
43802
|
var formatMenu;
|
|
43594
43803
|
|