tinymce-rails 4.2.3 → 4.2.4
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.jquery.js +152 -101
- data/app/assets/source/tinymce/tinymce.js +155 -103
- data/lib/tinymce/rails/version.rb +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/autolink/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/media/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/searchreplace/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/spellchecker/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/lightgray/content.inline.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/lightgray/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/lightgray/skin.ie7.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/lightgray/skin.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/themes/modern/theme.js +1 -1
- data/vendor/assets/javascripts/tinymce/tinymce.jquery.js +11 -11
- data/vendor/assets/javascripts/tinymce/tinymce.js +12 -12
- metadata +2 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
// 4.2.
|
1
|
+
// 4.2.4 (2015-08-17)
|
2
2
|
|
3
3
|
/**
|
4
4
|
* Compiled inline version. (Library mode)
|
@@ -668,8 +668,7 @@ define("tinymce/dom/EventUtils", [], function() {
|
|
668
668
|
*/
|
669
669
|
|
670
670
|
/*jshint bitwise:false, expr:true, noempty:false, sub:true, eqnull:true, latedef:false, maxlen:255 */
|
671
|
-
/*eslint
|
672
|
-
/*eslint no-nested-ternary:0, func-style:0, no-bitwise:0, max-len:0, brace-style:0, no-return-assign:0, no-multi-spaces:0 */
|
671
|
+
/*eslint-disable */
|
673
672
|
|
674
673
|
/**
|
675
674
|
* Sizzle CSS Selector Engine v@VERSION
|
@@ -2694,6 +2693,8 @@ if ( !assert(function( div ) {
|
|
2694
2693
|
return Sizzle;
|
2695
2694
|
});
|
2696
2695
|
|
2696
|
+
/*eslint-enable */
|
2697
|
+
|
2697
2698
|
// Included from: js/tinymce/classes/Env.js
|
2698
2699
|
|
2699
2700
|
/**
|
@@ -2724,7 +2725,7 @@ define("tinymce/Env", [], function() {
|
|
2724
2725
|
ie = !webkit && !opera && (/MSIE/gi).test(userAgent) && (/Explorer/gi).test(nav.appName);
|
2725
2726
|
ie = ie && /MSIE (\w+)\./.exec(userAgent)[1];
|
2726
2727
|
ie11 = userAgent.indexOf('Trident/') != -1 && (userAgent.indexOf('rv:') != -1 || nav.appName.indexOf('Netscape') != -1) ? 11 : false;
|
2727
|
-
ie12 = (
|
2728
|
+
ie12 = (userAgent.indexOf('Edge/') != -1 && !ie && !ie11) ? 12 : false;
|
2728
2729
|
ie = ie || ie11 || ie12;
|
2729
2730
|
gecko = !webkit && !ie11 && /Gecko/.test(userAgent);
|
2730
2731
|
mac = userAgent.indexOf('Mac') != -1;
|
@@ -3355,6 +3356,21 @@ define("tinymce/util/Tools", [
|
|
3355
3356
|
};
|
3356
3357
|
}
|
3357
3358
|
|
3359
|
+
function reduce(collection, iteratee, accumulator, thisArg) {
|
3360
|
+
var i = 0;
|
3361
|
+
|
3362
|
+
if (arguments.length < 3) {
|
3363
|
+
accumulator = collection[0];
|
3364
|
+
i = 1;
|
3365
|
+
}
|
3366
|
+
|
3367
|
+
for (; i < collection.length; i++) {
|
3368
|
+
accumulator = iteratee.call(thisArg, accumulator, collection[i], i);
|
3369
|
+
}
|
3370
|
+
|
3371
|
+
return accumulator;
|
3372
|
+
}
|
3373
|
+
|
3358
3374
|
function _addCacheSuffix(url) {
|
3359
3375
|
var cacheSuffix = Env.cacheSuffix;
|
3360
3376
|
|
@@ -3383,6 +3399,7 @@ define("tinymce/util/Tools", [
|
|
3383
3399
|
resolve: resolve,
|
3384
3400
|
explode: explode,
|
3385
3401
|
constant: constant,
|
3402
|
+
reduce: reduce,
|
3386
3403
|
_addCacheSuffix: _addCacheSuffix
|
3387
3404
|
};
|
3388
3405
|
});
|
@@ -3662,9 +3679,9 @@ define("tinymce/dom/DomQuery", [
|
|
3662
3679
|
} else {
|
3663
3680
|
if (context) {
|
3664
3681
|
return DomQuery(selector).attr(context);
|
3665
|
-
} else {
|
3666
|
-
self.context = context = document;
|
3667
3682
|
}
|
3683
|
+
|
3684
|
+
self.context = context = document;
|
3668
3685
|
}
|
3669
3686
|
|
3670
3687
|
if (isString(selector)) {
|
@@ -6458,9 +6475,9 @@ define("tinymce/html/Entities", [
|
|
6458
6475
|
numeric -= 0x10000;
|
6459
6476
|
|
6460
6477
|
return String.fromCharCode(0xD800 + (numeric >> 10), 0xDC00 + (numeric & 0x3FF));
|
6461
|
-
} else {
|
6462
|
-
return asciiMap[numeric] || String.fromCharCode(numeric);
|
6463
6478
|
}
|
6479
|
+
|
6480
|
+
return asciiMap[numeric] || String.fromCharCode(numeric);
|
6464
6481
|
}
|
6465
6482
|
|
6466
6483
|
return reverseEntities[all] || namedEntities[all] || nativeDecode(all);
|
@@ -6649,10 +6666,10 @@ define("tinymce/dom/StyleSheetLoader", [
|
|
6649
6666
|
waitForGeckoLinkLoaded();
|
6650
6667
|
appendToHead(style);
|
6651
6668
|
return;
|
6652
|
-
} else {
|
6653
|
-
// Use the id owner on older webkits
|
6654
|
-
waitForWebKitLinkLoaded();
|
6655
6669
|
}
|
6670
|
+
|
6671
|
+
// Use the id owner on older webkits
|
6672
|
+
waitForWebKitLinkLoaded();
|
6656
6673
|
}
|
6657
6674
|
|
6658
6675
|
appendToHead(link);
|
@@ -7333,7 +7350,7 @@ define("tinymce/dom/DOMUtils", [
|
|
7333
7350
|
});
|
7334
7351
|
|
7335
7352
|
if (name == 'float') {
|
7336
|
-
name =
|
7353
|
+
name = Env.ie && Env.ie < 12 ? 'styleFloat' : 'cssFloat';
|
7337
7354
|
}
|
7338
7355
|
|
7339
7356
|
return elm[0] && elm[0].style ? elm[0].style[name] : undefined;
|
@@ -8801,9 +8818,9 @@ define("tinymce/AddOnManager", [
|
|
8801
8818
|
get: function(name) {
|
8802
8819
|
if (this.lookup[name]) {
|
8803
8820
|
return this.lookup[name].instance;
|
8804
|
-
} else {
|
8805
|
-
return undefined;
|
8806
8821
|
}
|
8822
|
+
|
8823
|
+
return undefined;
|
8807
8824
|
},
|
8808
8825
|
|
8809
8826
|
dependencies: function(name) {
|
@@ -8878,9 +8895,9 @@ define("tinymce/AddOnManager", [
|
|
8878
8895
|
createUrl: function(baseUrl, dep) {
|
8879
8896
|
if (typeof dep === "object") {
|
8880
8897
|
return dep;
|
8881
|
-
} else {
|
8882
|
-
return {prefix: baseUrl.prefix, resource: dep, suffix: baseUrl.suffix};
|
8883
8898
|
}
|
8899
|
+
|
8900
|
+
return {prefix: baseUrl.prefix, resource: dep, suffix: baseUrl.suffix};
|
8884
8901
|
},
|
8885
8902
|
|
8886
8903
|
/**
|
@@ -9889,9 +9906,9 @@ define("tinymce/html/Node", [], function() {
|
|
9889
9906
|
attrs.map[name] = value;
|
9890
9907
|
|
9891
9908
|
return self;
|
9892
|
-
} else {
|
9893
|
-
return attrs.map[name];
|
9894
9909
|
}
|
9910
|
+
|
9911
|
+
return attrs.map[name];
|
9895
9912
|
}
|
9896
9913
|
},
|
9897
9914
|
|
@@ -10363,8 +10380,8 @@ define("tinymce/html/Schema", [
|
|
10363
10380
|
globalAttributes.push.apply(globalAttributes, split("contenteditable contextmenu draggable dropzone " +
|
10364
10381
|
"hidden spellcheck translate"));
|
10365
10382
|
blockContent.push.apply(blockContent, split("article aside details dialog figure header footer hgroup section nav"));
|
10366
|
-
phrasingContent.push.apply(phrasingContent, split("audio canvas command datalist mark meter output
|
10367
|
-
"video ruby bdi keygen"));
|
10383
|
+
phrasingContent.push.apply(phrasingContent, split("audio canvas command datalist mark meter output picture " +
|
10384
|
+
"progress time wbr video ruby bdi keygen"));
|
10368
10385
|
}
|
10369
10386
|
|
10370
10387
|
// Add HTML4 elements unless it's html5-strict
|
@@ -10853,6 +10870,9 @@ define("tinymce/html/Schema", [
|
|
10853
10870
|
function addValidChildren(validChildren) {
|
10854
10871
|
var childRuleRegExp = /^([+\-]?)(\w+)\[([^\]]+)\]$/;
|
10855
10872
|
|
10873
|
+
// Invalidate the schema cache if the schema is mutated
|
10874
|
+
mapCache[settings.schema] = null;
|
10875
|
+
|
10856
10876
|
if (validChildren) {
|
10857
10877
|
each(split(validChildren, ','), function(rule) {
|
10858
10878
|
var matches = childRuleRegExp.exec(rule), parent, prefix;
|
@@ -10871,10 +10891,6 @@ define("tinymce/html/Schema", [
|
|
10871
10891
|
|
10872
10892
|
each(split(matches[3], '|'), function(child) {
|
10873
10893
|
if (prefix === '-') {
|
10874
|
-
// Clone the element before we delete
|
10875
|
-
// things in it to not mess up default schemas
|
10876
|
-
children[matches[2]] = parent = extend({}, children[matches[2]]);
|
10877
|
-
|
10878
10894
|
delete parent[child];
|
10879
10895
|
} else {
|
10880
10896
|
parent[child] = {};
|
@@ -11761,11 +11777,12 @@ define("tinymce/html/DomParser", [
|
|
11761
11777
|
|
11762
11778
|
function fixInvalidChildren(nodes) {
|
11763
11779
|
var ni, node, parent, parents, newParent, currentNode, tempNode, childNode, i;
|
11764
|
-
var nonEmptyElements, nonSplitableElements, textBlockElements, sibling, nextNode;
|
11780
|
+
var nonEmptyElements, nonSplitableElements, textBlockElements, specialElements, sibling, nextNode;
|
11765
11781
|
|
11766
11782
|
nonSplitableElements = makeMap('tr,td,th,tbody,thead,tfoot,table');
|
11767
11783
|
nonEmptyElements = schema.getNonEmptyElements();
|
11768
11784
|
textBlockElements = schema.getTextBlockElements();
|
11785
|
+
specialElements = schema.getSpecialElements();
|
11769
11786
|
|
11770
11787
|
for (ni = 0; ni < nodes.length; ni++) {
|
11771
11788
|
node = nodes[ni];
|
@@ -11866,7 +11883,7 @@ define("tinymce/html/DomParser", [
|
|
11866
11883
|
node.wrap(self.filterNode(new Node('div', 1)));
|
11867
11884
|
} else {
|
11868
11885
|
// We failed wrapping it, then remove or unwrap it
|
11869
|
-
if (node.name
|
11886
|
+
if (specialElements[node.name]) {
|
11870
11887
|
node.empty().remove();
|
11871
11888
|
} else {
|
11872
11889
|
node.unwrap();
|
@@ -13770,10 +13787,10 @@ define("tinymce/dom/TridentSelection", [], function() {
|
|
13770
13787
|
sibling.innerHTML = '';
|
13771
13788
|
}
|
13772
13789
|
return;
|
13773
|
-
} else {
|
13774
|
-
startOffset = dom.nodeIndex(startContainer);
|
13775
|
-
startContainer = startContainer.parentNode;
|
13776
13790
|
}
|
13791
|
+
|
13792
|
+
startOffset = dom.nodeIndex(startContainer);
|
13793
|
+
startContainer = startContainer.parentNode;
|
13777
13794
|
}
|
13778
13795
|
|
13779
13796
|
if (startOffset == endOffset - 1) {
|
@@ -14378,14 +14395,20 @@ define("tinymce/dom/ControlSelection", [
|
|
14378
14395
|
} else {
|
14379
14396
|
disableGeckoResize();
|
14380
14397
|
|
14398
|
+
// Sniff sniff, hard to feature detect this stuff
|
14381
14399
|
if (Env.ie >= 11) {
|
14382
|
-
//
|
14383
|
-
|
14400
|
+
// Needs to be mousedown for drag/drop to work on IE 11
|
14401
|
+
// Needs to be click on Edge to properly select images
|
14402
|
+
editor.on('mousedown click', function(e) {
|
14384
14403
|
var nodeName = e.target.nodeName;
|
14385
14404
|
|
14386
14405
|
if (!resizeStarted && /^(TABLE|IMG|HR)$/.test(nodeName)) {
|
14387
14406
|
editor.selection.select(e.target, nodeName == 'TABLE');
|
14388
|
-
|
14407
|
+
|
14408
|
+
// Only fire once since nodeChange is expensive
|
14409
|
+
if (e.type == 'mousedown') {
|
14410
|
+
editor.nodeChanged();
|
14411
|
+
}
|
14389
14412
|
}
|
14390
14413
|
});
|
14391
14414
|
|
@@ -14405,7 +14428,7 @@ define("tinymce/dom/ControlSelection", [
|
|
14405
14428
|
}
|
14406
14429
|
}
|
14407
14430
|
|
14408
|
-
editor.on('nodechange ResizeEditor ResizeWindow', function(e) {
|
14431
|
+
editor.on('nodechange ResizeEditor ResizeWindow drop', function(e) {
|
14409
14432
|
if (window.requestAnimationFrame) {
|
14410
14433
|
window.requestAnimationFrame(function() {
|
14411
14434
|
updateResizeRect(e);
|
@@ -15116,21 +15139,21 @@ define("tinymce/dom/Selection", [
|
|
15116
15139
|
}
|
15117
15140
|
|
15118
15141
|
return startElement;
|
15119
|
-
}
|
15120
|
-
startElement = rng.startContainer;
|
15142
|
+
}
|
15121
15143
|
|
15122
|
-
|
15123
|
-
if (!real || !rng.collapsed) {
|
15124
|
-
startElement = startElement.childNodes[Math.min(startElement.childNodes.length - 1, rng.startOffset)];
|
15125
|
-
}
|
15126
|
-
}
|
15144
|
+
startElement = rng.startContainer;
|
15127
15145
|
|
15128
|
-
|
15129
|
-
|
15146
|
+
if (startElement.nodeType == 1 && startElement.hasChildNodes()) {
|
15147
|
+
if (!real || !rng.collapsed) {
|
15148
|
+
startElement = startElement.childNodes[Math.min(startElement.childNodes.length - 1, rng.startOffset)];
|
15130
15149
|
}
|
15150
|
+
}
|
15131
15151
|
|
15132
|
-
|
15152
|
+
if (startElement && startElement.nodeType == 3) {
|
15153
|
+
return startElement.parentNode;
|
15133
15154
|
}
|
15155
|
+
|
15156
|
+
return startElement;
|
15134
15157
|
},
|
15135
15158
|
|
15136
15159
|
/**
|
@@ -15161,22 +15184,22 @@ define("tinymce/dom/Selection", [
|
|
15161
15184
|
}
|
15162
15185
|
|
15163
15186
|
return endElement;
|
15164
|
-
}
|
15165
|
-
endElement = rng.endContainer;
|
15166
|
-
endOffset = rng.endOffset;
|
15187
|
+
}
|
15167
15188
|
|
15168
|
-
|
15169
|
-
|
15170
|
-
endElement = endElement.childNodes[endOffset > 0 ? endOffset - 1 : endOffset];
|
15171
|
-
}
|
15172
|
-
}
|
15189
|
+
endElement = rng.endContainer;
|
15190
|
+
endOffset = rng.endOffset;
|
15173
15191
|
|
15174
|
-
|
15175
|
-
|
15192
|
+
if (endElement.nodeType == 1 && endElement.hasChildNodes()) {
|
15193
|
+
if (!real || !rng.collapsed) {
|
15194
|
+
endElement = endElement.childNodes[endOffset > 0 ? endOffset - 1 : endOffset];
|
15176
15195
|
}
|
15196
|
+
}
|
15177
15197
|
|
15178
|
-
|
15198
|
+
if (endElement && endElement.nodeType == 3) {
|
15199
|
+
return endElement.parentNode;
|
15179
15200
|
}
|
15201
|
+
|
15202
|
+
return endElement;
|
15180
15203
|
},
|
15181
15204
|
|
15182
15205
|
/**
|
@@ -15376,7 +15399,7 @@ define("tinymce/dom/Selection", [
|
|
15376
15399
|
// IE will sometimes throw an exception here
|
15377
15400
|
ieRng = doc.selection.createRange();
|
15378
15401
|
} catch (ex) {
|
15379
|
-
|
15402
|
+
// Ignore
|
15380
15403
|
}
|
15381
15404
|
|
15382
15405
|
if (ieRng && ieRng.item) {
|
@@ -16944,19 +16967,19 @@ define("tinymce/Formatter", [
|
|
16944
16967
|
splitToFormatRoot(startContainer);
|
16945
16968
|
startContainer = unwrap(TRUE);
|
16946
16969
|
return;
|
16947
|
-
}
|
16948
|
-
// Wrap start/end nodes in span element since these might be cloned/moved
|
16949
|
-
startContainer = wrap(startContainer, 'span', {id: '_start', 'data-mce-type': 'bookmark'});
|
16950
|
-
endContainer = wrap(endContainer, 'span', {id: '_end', 'data-mce-type': 'bookmark'});
|
16970
|
+
}
|
16951
16971
|
|
16952
|
-
|
16953
|
-
|
16954
|
-
|
16972
|
+
// Wrap start/end nodes in span element since these might be cloned/moved
|
16973
|
+
startContainer = wrap(startContainer, 'span', {id: '_start', 'data-mce-type': 'bookmark'});
|
16974
|
+
endContainer = wrap(endContainer, 'span', {id: '_end', 'data-mce-type': 'bookmark'});
|
16955
16975
|
|
16956
|
-
|
16957
|
-
|
16958
|
-
|
16959
|
-
|
16976
|
+
// Split start/end
|
16977
|
+
splitToFormatRoot(startContainer);
|
16978
|
+
splitToFormatRoot(endContainer);
|
16979
|
+
|
16980
|
+
// Unwrap start/end to get real elements again
|
16981
|
+
startContainer = unwrap(TRUE);
|
16982
|
+
endContainer = unwrap();
|
16960
16983
|
} else {
|
16961
16984
|
startContainer = endContainer = splitToFormatRoot(startContainer);
|
16962
16985
|
}
|
@@ -19324,6 +19347,25 @@ define("tinymce/EnterKey", [
|
|
19324
19347
|
}
|
19325
19348
|
}
|
19326
19349
|
|
19350
|
+
function insertNewBlockAfter() {
|
19351
|
+
// If the caret is at the end of a header we produce a P tag after it similar to Word unless we are in a hgroup
|
19352
|
+
if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName != 'HGROUP') {
|
19353
|
+
newBlock = createNewBlock(newBlockName);
|
19354
|
+
} else {
|
19355
|
+
newBlock = createNewBlock();
|
19356
|
+
}
|
19357
|
+
|
19358
|
+
// Split the current container block element if enter is pressed inside an empty inner block element
|
19359
|
+
if (settings.end_container_on_empty_block && canSplitBlock(containerBlock) && dom.isEmpty(parentBlock)) {
|
19360
|
+
// Split container block for example a BLOCKQUOTE at the current blockParent location for example a P
|
19361
|
+
newBlock = dom.split(containerBlock, parentBlock);
|
19362
|
+
} else {
|
19363
|
+
dom.insertAfter(newBlock, parentBlock);
|
19364
|
+
}
|
19365
|
+
|
19366
|
+
moveToCaretPosition(newBlock);
|
19367
|
+
}
|
19368
|
+
|
19327
19369
|
rng = selection.getRng(true);
|
19328
19370
|
|
19329
19371
|
// Event is blocked by some other handler for example the lists plugin
|
@@ -19436,22 +19478,7 @@ define("tinymce/EnterKey", [
|
|
19436
19478
|
|
19437
19479
|
// Insert new block before/after the parent block depending on caret location
|
19438
19480
|
if (isCaretAtStartOrEndOfBlock()) {
|
19439
|
-
|
19440
|
-
if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName != 'HGROUP') {
|
19441
|
-
newBlock = createNewBlock(newBlockName);
|
19442
|
-
} else {
|
19443
|
-
newBlock = createNewBlock();
|
19444
|
-
}
|
19445
|
-
|
19446
|
-
// Split the current container block element if enter is pressed inside an empty inner block element
|
19447
|
-
if (settings.end_container_on_empty_block && canSplitBlock(containerBlock) && dom.isEmpty(parentBlock)) {
|
19448
|
-
// Split container block for example a BLOCKQUOTE at the current blockParent location for example a P
|
19449
|
-
newBlock = dom.split(containerBlock, parentBlock);
|
19450
|
-
} else {
|
19451
|
-
dom.insertAfter(newBlock, parentBlock);
|
19452
|
-
}
|
19453
|
-
|
19454
|
-
moveToCaretPosition(newBlock);
|
19481
|
+
insertNewBlockAfter();
|
19455
19482
|
} else if (isCaretAtStartOrEndOfBlock(true)) {
|
19456
19483
|
// Insert new block before
|
19457
19484
|
newBlock = parentBlock.parentNode.insertBefore(createNewBlock(), parentBlock);
|
@@ -19467,7 +19494,14 @@ define("tinymce/EnterKey", [
|
|
19467
19494
|
dom.insertAfter(fragment, parentBlock);
|
19468
19495
|
trimInlineElementsOnLeftSideOfBlock(newBlock);
|
19469
19496
|
addBrToBlockIfNeeded(parentBlock);
|
19470
|
-
|
19497
|
+
|
19498
|
+
// New block might become empty if it's <p><b>a |</b></p>
|
19499
|
+
if (dom.isEmpty(newBlock)) {
|
19500
|
+
dom.remove(newBlock);
|
19501
|
+
insertNewBlockAfter();
|
19502
|
+
} else {
|
19503
|
+
moveToCaretPosition(newBlock);
|
19504
|
+
}
|
19471
19505
|
}
|
19472
19506
|
|
19473
19507
|
dom.setAttrib(newBlock, 'id', ''); // Remove ID since it needs to be document unique
|
@@ -22074,14 +22108,14 @@ define("tinymce/ui/Selector", [
|
|
22074
22108
|
item[name] ? item[name]() :
|
22075
22109
|
false;
|
22076
22110
|
};
|
22077
|
-
} else {
|
22078
|
-
// Compile not expression
|
22079
|
-
notSelectors = parseChunks(name[1], []);
|
22080
|
-
|
22081
|
-
return function(item) {
|
22082
|
-
return !match(item, notSelectors);
|
22083
|
-
};
|
22084
22111
|
}
|
22112
|
+
|
22113
|
+
// Compile not expression
|
22114
|
+
notSelectors = parseChunks(name[1], []);
|
22115
|
+
|
22116
|
+
return function(item) {
|
22117
|
+
return !match(item, notSelectors);
|
22118
|
+
};
|
22085
22119
|
}
|
22086
22120
|
}
|
22087
22121
|
|
@@ -23868,10 +23902,10 @@ define("tinymce/ui/Control", [
|
|
23868
23902
|
|
23869
23903
|
if (typeof value === "undefined") {
|
23870
23904
|
return self._aria[name];
|
23871
|
-
} else {
|
23872
|
-
self._aria[name] = value;
|
23873
23905
|
}
|
23874
23906
|
|
23907
|
+
self._aria[name] = value;
|
23908
|
+
|
23875
23909
|
if (self.state.get('rendered')) {
|
23876
23910
|
elm.setAttribute(name == 'role' ? name : 'aria-' + name, value);
|
23877
23911
|
}
|
@@ -27536,7 +27570,7 @@ define("tinymce/util/Quirks", [
|
|
27536
27570
|
* @param {DragEvent} e Event object
|
27537
27571
|
*/
|
27538
27572
|
function setMceInteralContent(e) {
|
27539
|
-
var selectionHtml;
|
27573
|
+
var selectionHtml, internalContent;
|
27540
27574
|
|
27541
27575
|
if (e.dataTransfer) {
|
27542
27576
|
if (editor.selection.isCollapsed() && e.target.tagName == 'IMG') {
|
@@ -27547,7 +27581,8 @@ define("tinymce/util/Quirks", [
|
|
27547
27581
|
|
27548
27582
|
// Safari/IE doesn't support custom dataTransfer items so we can only use URL and Text
|
27549
27583
|
if (selectionHtml.length > 0) {
|
27550
|
-
|
27584
|
+
internalContent = mceInternalUrlPrefix + escape(editor.id) + ',' + escape(selectionHtml);
|
27585
|
+
e.dataTransfer.setData(mceInternalDataType, internalContent);
|
27551
27586
|
}
|
27552
27587
|
}
|
27553
27588
|
}
|
@@ -27562,17 +27597,22 @@ define("tinymce/util/Quirks", [
|
|
27562
27597
|
* @returns {String} mce-internal content
|
27563
27598
|
*/
|
27564
27599
|
function getMceInternalContent(e) {
|
27565
|
-
var internalContent
|
27600
|
+
var internalContent;
|
27566
27601
|
|
27567
27602
|
if (e.dataTransfer) {
|
27568
27603
|
internalContent = e.dataTransfer.getData(mceInternalDataType);
|
27569
27604
|
|
27570
27605
|
if (internalContent && internalContent.indexOf(mceInternalUrlPrefix) >= 0) {
|
27571
|
-
|
27606
|
+
internalContent = internalContent.substr(mceInternalUrlPrefix.length).split(',');
|
27607
|
+
|
27608
|
+
return {
|
27609
|
+
id: unescape(internalContent[0]),
|
27610
|
+
html: unescape(internalContent[1])
|
27611
|
+
};
|
27572
27612
|
}
|
27573
27613
|
}
|
27574
27614
|
|
27575
|
-
return
|
27615
|
+
return null;
|
27576
27616
|
}
|
27577
27617
|
|
27578
27618
|
/**
|
@@ -28040,6 +28080,7 @@ define("tinymce/util/Quirks", [
|
|
28040
28080
|
editor.on('drop', function(e) {
|
28041
28081
|
if (!isDefaultPrevented(e)) {
|
28042
28082
|
var internalContent = getMceInternalContent(e);
|
28083
|
+
|
28043
28084
|
if (internalContent) {
|
28044
28085
|
e.preventDefault();
|
28045
28086
|
|
@@ -28057,7 +28098,7 @@ define("tinymce/util/Quirks", [
|
|
28057
28098
|
|
28058
28099
|
customDelete();
|
28059
28100
|
selection.setRng(pointRng);
|
28060
|
-
insertClipboardContents(internalContent);
|
28101
|
+
insertClipboardContents(internalContent.html);
|
28061
28102
|
}, 0);
|
28062
28103
|
}
|
28063
28104
|
}
|
@@ -28972,12 +29013,13 @@ define("tinymce/util/Quirks", [
|
|
28972
29013
|
editor.on('drop', function(e) {
|
28973
29014
|
if (!isDefaultPrevented(e)) {
|
28974
29015
|
var internalContent = getMceInternalContent(e);
|
28975
|
-
|
29016
|
+
|
29017
|
+
if (internalContent && internalContent.id != editor.id) {
|
28976
29018
|
e.preventDefault();
|
28977
29019
|
|
28978
29020
|
var rng = RangeUtils.getCaretRangeFromPoint(e.x, e.y, editor.getDoc());
|
28979
29021
|
selection.setRng(rng);
|
28980
|
-
insertClipboardContents(internalContent);
|
29022
|
+
insertClipboardContents(internalContent.html);
|
28981
29023
|
}
|
28982
29024
|
}
|
28983
29025
|
});
|
@@ -30193,7 +30235,17 @@ define("tinymce/EditorUpload", [
|
|
30193
30235
|
return content.replace(/src="(blob:[^"]+)"/g, function(match, blobUri) {
|
30194
30236
|
var blobInfo = blobCache.getByUri(blobUri);
|
30195
30237
|
|
30196
|
-
|
30238
|
+
if (!blobInfo) {
|
30239
|
+
blobInfo = Tools.reduce(editor.editorManager.editors, function(result, editor) {
|
30240
|
+
return result || editor.editorUpload.blobCache.getByUri(blobUri);
|
30241
|
+
}, null);
|
30242
|
+
}
|
30243
|
+
|
30244
|
+
if (blobInfo) {
|
30245
|
+
return 'src="data:' + blobInfo.blob().type + ';base64,' + blobInfo.base64() + '"';
|
30246
|
+
}
|
30247
|
+
|
30248
|
+
return match[0];
|
30197
30249
|
});
|
30198
30250
|
}
|
30199
30251
|
|
@@ -32853,7 +32905,7 @@ define("tinymce/EditorManager", [
|
|
32853
32905
|
* @property minorVersion
|
32854
32906
|
* @type String
|
32855
32907
|
*/
|
32856
|
-
minorVersion: '2.
|
32908
|
+
minorVersion: '2.4',
|
32857
32909
|
|
32858
32910
|
/**
|
32859
32911
|
* Release date of TinyMCE build.
|
@@ -32861,7 +32913,7 @@ define("tinymce/EditorManager", [
|
|
32861
32913
|
* @property releaseDate
|
32862
32914
|
* @type String
|
32863
32915
|
*/
|
32864
|
-
releaseDate: '2015-
|
32916
|
+
releaseDate: '2015-08-17',
|
32865
32917
|
|
32866
32918
|
/**
|
32867
32919
|
* Collection of editor instances.
|