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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4260a97f4c21578d77fc5a3bbfc82ed5f269ecf2
|
4
|
+
data.tar.gz: 787019224469d4c2d04465060cd78bc1e4578b85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff2b622fd5825439cb1f1baa20d72e8a24e48626934b00a6ca68b01bfb1b441dc9c6233cb51e31528f8b25d045d2d481f5cff5f9a63da365c0bca1bd2f8f2d0a
|
7
|
+
data.tar.gz: 21c11ff376e84604acaca6c002d56982b996871023bf35329e40a4226cf142e5b9d70c2297bdfbc9f110369ab7ba06dddd325df96fbd23369a94771694907e63
|
@@ -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)
|
@@ -709,7 +709,7 @@ define("tinymce/Env", [], function() {
|
|
709
709
|
ie = !webkit && !opera && (/MSIE/gi).test(userAgent) && (/Explorer/gi).test(nav.appName);
|
710
710
|
ie = ie && /MSIE (\w+)\./.exec(userAgent)[1];
|
711
711
|
ie11 = userAgent.indexOf('Trident/') != -1 && (userAgent.indexOf('rv:') != -1 || nav.appName.indexOf('Netscape') != -1) ? 11 : false;
|
712
|
-
ie12 = (
|
712
|
+
ie12 = (userAgent.indexOf('Edge/') != -1 && !ie && !ie11) ? 12 : false;
|
713
713
|
ie = ie || ie11 || ie12;
|
714
714
|
gecko = !webkit && !ie11 && /Gecko/.test(userAgent);
|
715
715
|
mac = userAgent.indexOf('Mac') != -1;
|
@@ -1340,6 +1340,21 @@ define("tinymce/util/Tools", [
|
|
1340
1340
|
};
|
1341
1341
|
}
|
1342
1342
|
|
1343
|
+
function reduce(collection, iteratee, accumulator, thisArg) {
|
1344
|
+
var i = 0;
|
1345
|
+
|
1346
|
+
if (arguments.length < 3) {
|
1347
|
+
accumulator = collection[0];
|
1348
|
+
i = 1;
|
1349
|
+
}
|
1350
|
+
|
1351
|
+
for (; i < collection.length; i++) {
|
1352
|
+
accumulator = iteratee.call(thisArg, accumulator, collection[i], i);
|
1353
|
+
}
|
1354
|
+
|
1355
|
+
return accumulator;
|
1356
|
+
}
|
1357
|
+
|
1343
1358
|
function _addCacheSuffix(url) {
|
1344
1359
|
var cacheSuffix = Env.cacheSuffix;
|
1345
1360
|
|
@@ -1368,6 +1383,7 @@ define("tinymce/util/Tools", [
|
|
1368
1383
|
resolve: resolve,
|
1369
1384
|
explode: explode,
|
1370
1385
|
constant: constant,
|
1386
|
+
reduce: reduce,
|
1371
1387
|
_addCacheSuffix: _addCacheSuffix
|
1372
1388
|
};
|
1373
1389
|
});
|
@@ -1647,9 +1663,9 @@ define("tinymce/dom/DomQuery", [
|
|
1647
1663
|
} else {
|
1648
1664
|
if (context) {
|
1649
1665
|
return DomQuery(selector).attr(context);
|
1650
|
-
} else {
|
1651
|
-
self.context = context = document;
|
1652
1666
|
}
|
1667
|
+
|
1668
|
+
self.context = context = document;
|
1653
1669
|
}
|
1654
1670
|
|
1655
1671
|
if (isString(selector)) {
|
@@ -4443,9 +4459,9 @@ define("tinymce/html/Entities", [
|
|
4443
4459
|
numeric -= 0x10000;
|
4444
4460
|
|
4445
4461
|
return String.fromCharCode(0xD800 + (numeric >> 10), 0xDC00 + (numeric & 0x3FF));
|
4446
|
-
} else {
|
4447
|
-
return asciiMap[numeric] || String.fromCharCode(numeric);
|
4448
4462
|
}
|
4463
|
+
|
4464
|
+
return asciiMap[numeric] || String.fromCharCode(numeric);
|
4449
4465
|
}
|
4450
4466
|
|
4451
4467
|
return reverseEntities[all] || namedEntities[all] || nativeDecode(all);
|
@@ -4634,10 +4650,10 @@ define("tinymce/dom/StyleSheetLoader", [
|
|
4634
4650
|
waitForGeckoLinkLoaded();
|
4635
4651
|
appendToHead(style);
|
4636
4652
|
return;
|
4637
|
-
} else {
|
4638
|
-
// Use the id owner on older webkits
|
4639
|
-
waitForWebKitLinkLoaded();
|
4640
4653
|
}
|
4654
|
+
|
4655
|
+
// Use the id owner on older webkits
|
4656
|
+
waitForWebKitLinkLoaded();
|
4641
4657
|
}
|
4642
4658
|
|
4643
4659
|
appendToHead(link);
|
@@ -5318,7 +5334,7 @@ define("tinymce/dom/DOMUtils", [
|
|
5318
5334
|
});
|
5319
5335
|
|
5320
5336
|
if (name == 'float') {
|
5321
|
-
name =
|
5337
|
+
name = Env.ie && Env.ie < 12 ? 'styleFloat' : 'cssFloat';
|
5322
5338
|
}
|
5323
5339
|
|
5324
5340
|
return elm[0] && elm[0].style ? elm[0].style[name] : undefined;
|
@@ -6786,9 +6802,9 @@ define("tinymce/AddOnManager", [
|
|
6786
6802
|
get: function(name) {
|
6787
6803
|
if (this.lookup[name]) {
|
6788
6804
|
return this.lookup[name].instance;
|
6789
|
-
} else {
|
6790
|
-
return undefined;
|
6791
6805
|
}
|
6806
|
+
|
6807
|
+
return undefined;
|
6792
6808
|
},
|
6793
6809
|
|
6794
6810
|
dependencies: function(name) {
|
@@ -6863,9 +6879,9 @@ define("tinymce/AddOnManager", [
|
|
6863
6879
|
createUrl: function(baseUrl, dep) {
|
6864
6880
|
if (typeof dep === "object") {
|
6865
6881
|
return dep;
|
6866
|
-
} else {
|
6867
|
-
return {prefix: baseUrl.prefix, resource: dep, suffix: baseUrl.suffix};
|
6868
6882
|
}
|
6883
|
+
|
6884
|
+
return {prefix: baseUrl.prefix, resource: dep, suffix: baseUrl.suffix};
|
6869
6885
|
},
|
6870
6886
|
|
6871
6887
|
/**
|
@@ -7874,9 +7890,9 @@ define("tinymce/html/Node", [], function() {
|
|
7874
7890
|
attrs.map[name] = value;
|
7875
7891
|
|
7876
7892
|
return self;
|
7877
|
-
} else {
|
7878
|
-
return attrs.map[name];
|
7879
7893
|
}
|
7894
|
+
|
7895
|
+
return attrs.map[name];
|
7880
7896
|
}
|
7881
7897
|
},
|
7882
7898
|
|
@@ -8348,8 +8364,8 @@ define("tinymce/html/Schema", [
|
|
8348
8364
|
globalAttributes.push.apply(globalAttributes, split("contenteditable contextmenu draggable dropzone " +
|
8349
8365
|
"hidden spellcheck translate"));
|
8350
8366
|
blockContent.push.apply(blockContent, split("article aside details dialog figure header footer hgroup section nav"));
|
8351
|
-
phrasingContent.push.apply(phrasingContent, split("audio canvas command datalist mark meter output
|
8352
|
-
"video ruby bdi keygen"));
|
8367
|
+
phrasingContent.push.apply(phrasingContent, split("audio canvas command datalist mark meter output picture " +
|
8368
|
+
"progress time wbr video ruby bdi keygen"));
|
8353
8369
|
}
|
8354
8370
|
|
8355
8371
|
// Add HTML4 elements unless it's html5-strict
|
@@ -8838,6 +8854,9 @@ define("tinymce/html/Schema", [
|
|
8838
8854
|
function addValidChildren(validChildren) {
|
8839
8855
|
var childRuleRegExp = /^([+\-]?)(\w+)\[([^\]]+)\]$/;
|
8840
8856
|
|
8857
|
+
// Invalidate the schema cache if the schema is mutated
|
8858
|
+
mapCache[settings.schema] = null;
|
8859
|
+
|
8841
8860
|
if (validChildren) {
|
8842
8861
|
each(split(validChildren, ','), function(rule) {
|
8843
8862
|
var matches = childRuleRegExp.exec(rule), parent, prefix;
|
@@ -8856,10 +8875,6 @@ define("tinymce/html/Schema", [
|
|
8856
8875
|
|
8857
8876
|
each(split(matches[3], '|'), function(child) {
|
8858
8877
|
if (prefix === '-') {
|
8859
|
-
// Clone the element before we delete
|
8860
|
-
// things in it to not mess up default schemas
|
8861
|
-
children[matches[2]] = parent = extend({}, children[matches[2]]);
|
8862
|
-
|
8863
8878
|
delete parent[child];
|
8864
8879
|
} else {
|
8865
8880
|
parent[child] = {};
|
@@ -9746,11 +9761,12 @@ define("tinymce/html/DomParser", [
|
|
9746
9761
|
|
9747
9762
|
function fixInvalidChildren(nodes) {
|
9748
9763
|
var ni, node, parent, parents, newParent, currentNode, tempNode, childNode, i;
|
9749
|
-
var nonEmptyElements, nonSplitableElements, textBlockElements, sibling, nextNode;
|
9764
|
+
var nonEmptyElements, nonSplitableElements, textBlockElements, specialElements, sibling, nextNode;
|
9750
9765
|
|
9751
9766
|
nonSplitableElements = makeMap('tr,td,th,tbody,thead,tfoot,table');
|
9752
9767
|
nonEmptyElements = schema.getNonEmptyElements();
|
9753
9768
|
textBlockElements = schema.getTextBlockElements();
|
9769
|
+
specialElements = schema.getSpecialElements();
|
9754
9770
|
|
9755
9771
|
for (ni = 0; ni < nodes.length; ni++) {
|
9756
9772
|
node = nodes[ni];
|
@@ -9851,7 +9867,7 @@ define("tinymce/html/DomParser", [
|
|
9851
9867
|
node.wrap(self.filterNode(new Node('div', 1)));
|
9852
9868
|
} else {
|
9853
9869
|
// We failed wrapping it, then remove or unwrap it
|
9854
|
-
if (node.name
|
9870
|
+
if (specialElements[node.name]) {
|
9855
9871
|
node.empty().remove();
|
9856
9872
|
} else {
|
9857
9873
|
node.unwrap();
|
@@ -11755,10 +11771,10 @@ define("tinymce/dom/TridentSelection", [], function() {
|
|
11755
11771
|
sibling.innerHTML = '';
|
11756
11772
|
}
|
11757
11773
|
return;
|
11758
|
-
} else {
|
11759
|
-
startOffset = dom.nodeIndex(startContainer);
|
11760
|
-
startContainer = startContainer.parentNode;
|
11761
11774
|
}
|
11775
|
+
|
11776
|
+
startOffset = dom.nodeIndex(startContainer);
|
11777
|
+
startContainer = startContainer.parentNode;
|
11762
11778
|
}
|
11763
11779
|
|
11764
11780
|
if (startOffset == endOffset - 1) {
|
@@ -12363,14 +12379,20 @@ define("tinymce/dom/ControlSelection", [
|
|
12363
12379
|
} else {
|
12364
12380
|
disableGeckoResize();
|
12365
12381
|
|
12382
|
+
// Sniff sniff, hard to feature detect this stuff
|
12366
12383
|
if (Env.ie >= 11) {
|
12367
|
-
//
|
12368
|
-
|
12384
|
+
// Needs to be mousedown for drag/drop to work on IE 11
|
12385
|
+
// Needs to be click on Edge to properly select images
|
12386
|
+
editor.on('mousedown click', function(e) {
|
12369
12387
|
var nodeName = e.target.nodeName;
|
12370
12388
|
|
12371
12389
|
if (!resizeStarted && /^(TABLE|IMG|HR)$/.test(nodeName)) {
|
12372
12390
|
editor.selection.select(e.target, nodeName == 'TABLE');
|
12373
|
-
|
12391
|
+
|
12392
|
+
// Only fire once since nodeChange is expensive
|
12393
|
+
if (e.type == 'mousedown') {
|
12394
|
+
editor.nodeChanged();
|
12395
|
+
}
|
12374
12396
|
}
|
12375
12397
|
});
|
12376
12398
|
|
@@ -12390,7 +12412,7 @@ define("tinymce/dom/ControlSelection", [
|
|
12390
12412
|
}
|
12391
12413
|
}
|
12392
12414
|
|
12393
|
-
editor.on('nodechange ResizeEditor ResizeWindow', function(e) {
|
12415
|
+
editor.on('nodechange ResizeEditor ResizeWindow drop', function(e) {
|
12394
12416
|
if (window.requestAnimationFrame) {
|
12395
12417
|
window.requestAnimationFrame(function() {
|
12396
12418
|
updateResizeRect(e);
|
@@ -13101,21 +13123,21 @@ define("tinymce/dom/Selection", [
|
|
13101
13123
|
}
|
13102
13124
|
|
13103
13125
|
return startElement;
|
13104
|
-
}
|
13105
|
-
startElement = rng.startContainer;
|
13126
|
+
}
|
13106
13127
|
|
13107
|
-
|
13108
|
-
if (!real || !rng.collapsed) {
|
13109
|
-
startElement = startElement.childNodes[Math.min(startElement.childNodes.length - 1, rng.startOffset)];
|
13110
|
-
}
|
13111
|
-
}
|
13128
|
+
startElement = rng.startContainer;
|
13112
13129
|
|
13113
|
-
|
13114
|
-
|
13130
|
+
if (startElement.nodeType == 1 && startElement.hasChildNodes()) {
|
13131
|
+
if (!real || !rng.collapsed) {
|
13132
|
+
startElement = startElement.childNodes[Math.min(startElement.childNodes.length - 1, rng.startOffset)];
|
13115
13133
|
}
|
13134
|
+
}
|
13116
13135
|
|
13117
|
-
|
13136
|
+
if (startElement && startElement.nodeType == 3) {
|
13137
|
+
return startElement.parentNode;
|
13118
13138
|
}
|
13139
|
+
|
13140
|
+
return startElement;
|
13119
13141
|
},
|
13120
13142
|
|
13121
13143
|
/**
|
@@ -13146,22 +13168,22 @@ define("tinymce/dom/Selection", [
|
|
13146
13168
|
}
|
13147
13169
|
|
13148
13170
|
return endElement;
|
13149
|
-
}
|
13150
|
-
endElement = rng.endContainer;
|
13151
|
-
endOffset = rng.endOffset;
|
13171
|
+
}
|
13152
13172
|
|
13153
|
-
|
13154
|
-
|
13155
|
-
endElement = endElement.childNodes[endOffset > 0 ? endOffset - 1 : endOffset];
|
13156
|
-
}
|
13157
|
-
}
|
13173
|
+
endElement = rng.endContainer;
|
13174
|
+
endOffset = rng.endOffset;
|
13158
13175
|
|
13159
|
-
|
13160
|
-
|
13176
|
+
if (endElement.nodeType == 1 && endElement.hasChildNodes()) {
|
13177
|
+
if (!real || !rng.collapsed) {
|
13178
|
+
endElement = endElement.childNodes[endOffset > 0 ? endOffset - 1 : endOffset];
|
13161
13179
|
}
|
13180
|
+
}
|
13162
13181
|
|
13163
|
-
|
13182
|
+
if (endElement && endElement.nodeType == 3) {
|
13183
|
+
return endElement.parentNode;
|
13164
13184
|
}
|
13185
|
+
|
13186
|
+
return endElement;
|
13165
13187
|
},
|
13166
13188
|
|
13167
13189
|
/**
|
@@ -13361,7 +13383,7 @@ define("tinymce/dom/Selection", [
|
|
13361
13383
|
// IE will sometimes throw an exception here
|
13362
13384
|
ieRng = doc.selection.createRange();
|
13363
13385
|
} catch (ex) {
|
13364
|
-
|
13386
|
+
// Ignore
|
13365
13387
|
}
|
13366
13388
|
|
13367
13389
|
if (ieRng && ieRng.item) {
|
@@ -14929,19 +14951,19 @@ define("tinymce/Formatter", [
|
|
14929
14951
|
splitToFormatRoot(startContainer);
|
14930
14952
|
startContainer = unwrap(TRUE);
|
14931
14953
|
return;
|
14932
|
-
}
|
14933
|
-
// Wrap start/end nodes in span element since these might be cloned/moved
|
14934
|
-
startContainer = wrap(startContainer, 'span', {id: '_start', 'data-mce-type': 'bookmark'});
|
14935
|
-
endContainer = wrap(endContainer, 'span', {id: '_end', 'data-mce-type': 'bookmark'});
|
14954
|
+
}
|
14936
14955
|
|
14937
|
-
|
14938
|
-
|
14939
|
-
|
14956
|
+
// Wrap start/end nodes in span element since these might be cloned/moved
|
14957
|
+
startContainer = wrap(startContainer, 'span', {id: '_start', 'data-mce-type': 'bookmark'});
|
14958
|
+
endContainer = wrap(endContainer, 'span', {id: '_end', 'data-mce-type': 'bookmark'});
|
14940
14959
|
|
14941
|
-
|
14942
|
-
|
14943
|
-
|
14944
|
-
|
14960
|
+
// Split start/end
|
14961
|
+
splitToFormatRoot(startContainer);
|
14962
|
+
splitToFormatRoot(endContainer);
|
14963
|
+
|
14964
|
+
// Unwrap start/end to get real elements again
|
14965
|
+
startContainer = unwrap(TRUE);
|
14966
|
+
endContainer = unwrap();
|
14945
14967
|
} else {
|
14946
14968
|
startContainer = endContainer = splitToFormatRoot(startContainer);
|
14947
14969
|
}
|
@@ -17309,6 +17331,25 @@ define("tinymce/EnterKey", [
|
|
17309
17331
|
}
|
17310
17332
|
}
|
17311
17333
|
|
17334
|
+
function insertNewBlockAfter() {
|
17335
|
+
// 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
|
17336
|
+
if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName != 'HGROUP') {
|
17337
|
+
newBlock = createNewBlock(newBlockName);
|
17338
|
+
} else {
|
17339
|
+
newBlock = createNewBlock();
|
17340
|
+
}
|
17341
|
+
|
17342
|
+
// Split the current container block element if enter is pressed inside an empty inner block element
|
17343
|
+
if (settings.end_container_on_empty_block && canSplitBlock(containerBlock) && dom.isEmpty(parentBlock)) {
|
17344
|
+
// Split container block for example a BLOCKQUOTE at the current blockParent location for example a P
|
17345
|
+
newBlock = dom.split(containerBlock, parentBlock);
|
17346
|
+
} else {
|
17347
|
+
dom.insertAfter(newBlock, parentBlock);
|
17348
|
+
}
|
17349
|
+
|
17350
|
+
moveToCaretPosition(newBlock);
|
17351
|
+
}
|
17352
|
+
|
17312
17353
|
rng = selection.getRng(true);
|
17313
17354
|
|
17314
17355
|
// Event is blocked by some other handler for example the lists plugin
|
@@ -17421,22 +17462,7 @@ define("tinymce/EnterKey", [
|
|
17421
17462
|
|
17422
17463
|
// Insert new block before/after the parent block depending on caret location
|
17423
17464
|
if (isCaretAtStartOrEndOfBlock()) {
|
17424
|
-
|
17425
|
-
if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName != 'HGROUP') {
|
17426
|
-
newBlock = createNewBlock(newBlockName);
|
17427
|
-
} else {
|
17428
|
-
newBlock = createNewBlock();
|
17429
|
-
}
|
17430
|
-
|
17431
|
-
// Split the current container block element if enter is pressed inside an empty inner block element
|
17432
|
-
if (settings.end_container_on_empty_block && canSplitBlock(containerBlock) && dom.isEmpty(parentBlock)) {
|
17433
|
-
// Split container block for example a BLOCKQUOTE at the current blockParent location for example a P
|
17434
|
-
newBlock = dom.split(containerBlock, parentBlock);
|
17435
|
-
} else {
|
17436
|
-
dom.insertAfter(newBlock, parentBlock);
|
17437
|
-
}
|
17438
|
-
|
17439
|
-
moveToCaretPosition(newBlock);
|
17465
|
+
insertNewBlockAfter();
|
17440
17466
|
} else if (isCaretAtStartOrEndOfBlock(true)) {
|
17441
17467
|
// Insert new block before
|
17442
17468
|
newBlock = parentBlock.parentNode.insertBefore(createNewBlock(), parentBlock);
|
@@ -17452,7 +17478,14 @@ define("tinymce/EnterKey", [
|
|
17452
17478
|
dom.insertAfter(fragment, parentBlock);
|
17453
17479
|
trimInlineElementsOnLeftSideOfBlock(newBlock);
|
17454
17480
|
addBrToBlockIfNeeded(parentBlock);
|
17455
|
-
|
17481
|
+
|
17482
|
+
// New block might become empty if it's <p><b>a |</b></p>
|
17483
|
+
if (dom.isEmpty(newBlock)) {
|
17484
|
+
dom.remove(newBlock);
|
17485
|
+
insertNewBlockAfter();
|
17486
|
+
} else {
|
17487
|
+
moveToCaretPosition(newBlock);
|
17488
|
+
}
|
17456
17489
|
}
|
17457
17490
|
|
17458
17491
|
dom.setAttrib(newBlock, 'id', ''); // Remove ID since it needs to be document unique
|
@@ -20059,14 +20092,14 @@ define("tinymce/ui/Selector", [
|
|
20059
20092
|
item[name] ? item[name]() :
|
20060
20093
|
false;
|
20061
20094
|
};
|
20062
|
-
} else {
|
20063
|
-
// Compile not expression
|
20064
|
-
notSelectors = parseChunks(name[1], []);
|
20065
|
-
|
20066
|
-
return function(item) {
|
20067
|
-
return !match(item, notSelectors);
|
20068
|
-
};
|
20069
20095
|
}
|
20096
|
+
|
20097
|
+
// Compile not expression
|
20098
|
+
notSelectors = parseChunks(name[1], []);
|
20099
|
+
|
20100
|
+
return function(item) {
|
20101
|
+
return !match(item, notSelectors);
|
20102
|
+
};
|
20070
20103
|
}
|
20071
20104
|
}
|
20072
20105
|
|
@@ -21853,10 +21886,10 @@ define("tinymce/ui/Control", [
|
|
21853
21886
|
|
21854
21887
|
if (typeof value === "undefined") {
|
21855
21888
|
return self._aria[name];
|
21856
|
-
} else {
|
21857
|
-
self._aria[name] = value;
|
21858
21889
|
}
|
21859
21890
|
|
21891
|
+
self._aria[name] = value;
|
21892
|
+
|
21860
21893
|
if (self.state.get('rendered')) {
|
21861
21894
|
elm.setAttribute(name == 'role' ? name : 'aria-' + name, value);
|
21862
21895
|
}
|
@@ -25521,7 +25554,7 @@ define("tinymce/util/Quirks", [
|
|
25521
25554
|
* @param {DragEvent} e Event object
|
25522
25555
|
*/
|
25523
25556
|
function setMceInteralContent(e) {
|
25524
|
-
var selectionHtml;
|
25557
|
+
var selectionHtml, internalContent;
|
25525
25558
|
|
25526
25559
|
if (e.dataTransfer) {
|
25527
25560
|
if (editor.selection.isCollapsed() && e.target.tagName == 'IMG') {
|
@@ -25532,7 +25565,8 @@ define("tinymce/util/Quirks", [
|
|
25532
25565
|
|
25533
25566
|
// Safari/IE doesn't support custom dataTransfer items so we can only use URL and Text
|
25534
25567
|
if (selectionHtml.length > 0) {
|
25535
|
-
|
25568
|
+
internalContent = mceInternalUrlPrefix + escape(editor.id) + ',' + escape(selectionHtml);
|
25569
|
+
e.dataTransfer.setData(mceInternalDataType, internalContent);
|
25536
25570
|
}
|
25537
25571
|
}
|
25538
25572
|
}
|
@@ -25547,17 +25581,22 @@ define("tinymce/util/Quirks", [
|
|
25547
25581
|
* @returns {String} mce-internal content
|
25548
25582
|
*/
|
25549
25583
|
function getMceInternalContent(e) {
|
25550
|
-
var internalContent
|
25584
|
+
var internalContent;
|
25551
25585
|
|
25552
25586
|
if (e.dataTransfer) {
|
25553
25587
|
internalContent = e.dataTransfer.getData(mceInternalDataType);
|
25554
25588
|
|
25555
25589
|
if (internalContent && internalContent.indexOf(mceInternalUrlPrefix) >= 0) {
|
25556
|
-
|
25590
|
+
internalContent = internalContent.substr(mceInternalUrlPrefix.length).split(',');
|
25591
|
+
|
25592
|
+
return {
|
25593
|
+
id: unescape(internalContent[0]),
|
25594
|
+
html: unescape(internalContent[1])
|
25595
|
+
};
|
25557
25596
|
}
|
25558
25597
|
}
|
25559
25598
|
|
25560
|
-
return
|
25599
|
+
return null;
|
25561
25600
|
}
|
25562
25601
|
|
25563
25602
|
/**
|
@@ -26025,6 +26064,7 @@ define("tinymce/util/Quirks", [
|
|
26025
26064
|
editor.on('drop', function(e) {
|
26026
26065
|
if (!isDefaultPrevented(e)) {
|
26027
26066
|
var internalContent = getMceInternalContent(e);
|
26067
|
+
|
26028
26068
|
if (internalContent) {
|
26029
26069
|
e.preventDefault();
|
26030
26070
|
|
@@ -26042,7 +26082,7 @@ define("tinymce/util/Quirks", [
|
|
26042
26082
|
|
26043
26083
|
customDelete();
|
26044
26084
|
selection.setRng(pointRng);
|
26045
|
-
insertClipboardContents(internalContent);
|
26085
|
+
insertClipboardContents(internalContent.html);
|
26046
26086
|
}, 0);
|
26047
26087
|
}
|
26048
26088
|
}
|
@@ -26957,12 +26997,13 @@ define("tinymce/util/Quirks", [
|
|
26957
26997
|
editor.on('drop', function(e) {
|
26958
26998
|
if (!isDefaultPrevented(e)) {
|
26959
26999
|
var internalContent = getMceInternalContent(e);
|
26960
|
-
|
27000
|
+
|
27001
|
+
if (internalContent && internalContent.id != editor.id) {
|
26961
27002
|
e.preventDefault();
|
26962
27003
|
|
26963
27004
|
var rng = RangeUtils.getCaretRangeFromPoint(e.x, e.y, editor.getDoc());
|
26964
27005
|
selection.setRng(rng);
|
26965
|
-
insertClipboardContents(internalContent);
|
27006
|
+
insertClipboardContents(internalContent.html);
|
26966
27007
|
}
|
26967
27008
|
}
|
26968
27009
|
});
|
@@ -28178,7 +28219,17 @@ define("tinymce/EditorUpload", [
|
|
28178
28219
|
return content.replace(/src="(blob:[^"]+)"/g, function(match, blobUri) {
|
28179
28220
|
var blobInfo = blobCache.getByUri(blobUri);
|
28180
28221
|
|
28181
|
-
|
28222
|
+
if (!blobInfo) {
|
28223
|
+
blobInfo = Tools.reduce(editor.editorManager.editors, function(result, editor) {
|
28224
|
+
return result || editor.editorUpload.blobCache.getByUri(blobUri);
|
28225
|
+
}, null);
|
28226
|
+
}
|
28227
|
+
|
28228
|
+
if (blobInfo) {
|
28229
|
+
return 'src="data:' + blobInfo.blob().type + ';base64,' + blobInfo.base64() + '"';
|
28230
|
+
}
|
28231
|
+
|
28232
|
+
return match[0];
|
28182
28233
|
});
|
28183
28234
|
}
|
28184
28235
|
|
@@ -30838,7 +30889,7 @@ define("tinymce/EditorManager", [
|
|
30838
30889
|
* @property minorVersion
|
30839
30890
|
* @type String
|
30840
30891
|
*/
|
30841
|
-
minorVersion: '2.
|
30892
|
+
minorVersion: '2.4',
|
30842
30893
|
|
30843
30894
|
/**
|
30844
30895
|
* Release date of TinyMCE build.
|
@@ -30846,7 +30897,7 @@ define("tinymce/EditorManager", [
|
|
30846
30897
|
* @property releaseDate
|
30847
30898
|
* @type String
|
30848
30899
|
*/
|
30849
|
-
releaseDate: '2015-
|
30900
|
+
releaseDate: '2015-08-17',
|
30850
30901
|
|
30851
30902
|
/**
|
30852
30903
|
* Collection of editor instances.
|