tinymce-rails 4.2.3 → 4.2.4
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|