tinymce-rails 4.9.4 → 4.9.6
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.js +970 -399
- data/lib/tinymce/rails/configuration.rb +1 -1
- data/lib/tinymce/rails/helper.rb +1 -1
- data/lib/tinymce/rails/version.rb +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/help/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/image/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/imagetools/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/print/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/table/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/textpattern/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/visualchars/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/wordcount/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/themes/inlite/theme.js +1 -1
- data/vendor/assets/javascripts/tinymce/themes/mobile/theme.js +1 -1
- data/vendor/assets/javascripts/tinymce/themes/modern/theme.js +1 -1
- data/vendor/assets/javascripts/tinymce/tinymce.js +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c68e4ad6f27c5f42e0fb00e73e36d1f4ea4c21ab8ef650227e9bcceeac31eeb7
|
4
|
+
data.tar.gz: a4c413955e55aba19778d176a23577c78f22ee49156a8c19ac124f97f1ea228b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7a4e4f415e7731cebfbe53f6e47a597475b2e86c5d57517d35245f3e7875b8743187321d3e6388dcd511e7ce67fc33fbdbc78a2fb68856e0fea391ebc897c67
|
7
|
+
data.tar.gz: 28ffaa2db4e126fa7573621e7def5bc9de119533a1db81460a18d334e74ba2e82fde8ed60f250d4fff64188751950f990e3f43f543af98869c7e6a98847099d3
|
@@ -1,13 +1,9 @@
|
|
1
|
-
// 4.9.
|
1
|
+
// 4.9.6 (2019-09-02)
|
2
2
|
(function () {
|
3
3
|
(function (domGlobals) {
|
4
4
|
'use strict';
|
5
5
|
|
6
6
|
var noop = function () {
|
7
|
-
var args = [];
|
8
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
9
|
-
args[_i] = arguments[_i];
|
10
|
-
}
|
11
7
|
};
|
12
8
|
var compose = function (fa, fb) {
|
13
9
|
return function () {
|
@@ -111,8 +107,9 @@
|
|
111
107
|
},
|
112
108
|
toString: constant('none()')
|
113
109
|
};
|
114
|
-
if (Object.freeze)
|
110
|
+
if (Object.freeze) {
|
115
111
|
Object.freeze(me);
|
112
|
+
}
|
116
113
|
return me;
|
117
114
|
}();
|
118
115
|
var some = function (a) {
|
@@ -187,13 +184,16 @@
|
|
187
184
|
};
|
188
185
|
|
189
186
|
var typeOf = function (x) {
|
190
|
-
if (x === null)
|
187
|
+
if (x === null) {
|
191
188
|
return 'null';
|
189
|
+
}
|
192
190
|
var t = typeof x;
|
193
|
-
if (t === 'object' && Array.prototype.isPrototypeOf(x))
|
191
|
+
if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {
|
194
192
|
return 'array';
|
195
|
-
|
193
|
+
}
|
194
|
+
if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {
|
196
195
|
return 'string';
|
196
|
+
}
|
197
197
|
return t;
|
198
198
|
};
|
199
199
|
var isType = function (type) {
|
@@ -209,6 +209,7 @@
|
|
209
209
|
var isFunction = isType('function');
|
210
210
|
var isNumber = isType('number');
|
211
211
|
|
212
|
+
var slice = Array.prototype.slice;
|
212
213
|
var rawIndexOf = function () {
|
213
214
|
var pIndexOf = Array.prototype.indexOf;
|
214
215
|
var fastIndex = function (xs, x) {
|
@@ -315,8 +316,9 @@
|
|
315
316
|
var flatten = function (xs) {
|
316
317
|
var r = [];
|
317
318
|
for (var i = 0, len = xs.length; i < len; ++i) {
|
318
|
-
if (!
|
319
|
+
if (!isArray(xs[i])) {
|
319
320
|
throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
|
321
|
+
}
|
320
322
|
push.apply(r, xs[i]);
|
321
323
|
}
|
322
324
|
return r;
|
@@ -334,7 +336,6 @@
|
|
334
336
|
}
|
335
337
|
return true;
|
336
338
|
};
|
337
|
-
var slice = Array.prototype.slice;
|
338
339
|
var reverse = function (xs) {
|
339
340
|
var r = slice.call(xs, 0);
|
340
341
|
r.reverse();
|
@@ -372,8 +373,9 @@
|
|
372
373
|
|
373
374
|
var path = function (parts, scope) {
|
374
375
|
var o = scope !== undefined && scope !== null ? scope : Global;
|
375
|
-
for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)
|
376
|
+
for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i) {
|
376
377
|
o = o[parts[i]];
|
378
|
+
}
|
377
379
|
return o;
|
378
380
|
};
|
379
381
|
var resolve = function (p, scope) {
|
@@ -386,8 +388,9 @@
|
|
386
388
|
};
|
387
389
|
var getOrDie = function (name, scope) {
|
388
390
|
var actual = unsafe(name, scope);
|
389
|
-
if (actual === undefined || actual === null)
|
390
|
-
throw name + ' not available on this browser';
|
391
|
+
if (actual === undefined || actual === null) {
|
392
|
+
throw new Error(name + ' not available on this browser');
|
393
|
+
}
|
391
394
|
return actual;
|
392
395
|
};
|
393
396
|
var Global$1 = { getOrDie: getOrDie };
|
@@ -3252,18 +3255,20 @@
|
|
3252
3255
|
var firstMatch = function (regexes, s) {
|
3253
3256
|
for (var i = 0; i < regexes.length; i++) {
|
3254
3257
|
var x = regexes[i];
|
3255
|
-
if (x.test(s))
|
3258
|
+
if (x.test(s)) {
|
3256
3259
|
return x;
|
3260
|
+
}
|
3257
3261
|
}
|
3258
3262
|
return undefined;
|
3259
3263
|
};
|
3260
3264
|
var find$2 = function (regexes, agent) {
|
3261
3265
|
var r = firstMatch(regexes, agent);
|
3262
|
-
if (!r)
|
3266
|
+
if (!r) {
|
3263
3267
|
return {
|
3264
3268
|
major: 0,
|
3265
3269
|
minor: 0
|
3266
3270
|
};
|
3271
|
+
}
|
3267
3272
|
var group = function (i) {
|
3268
3273
|
return Number(agent.replace(r, '$' + i));
|
3269
3274
|
};
|
@@ -3271,8 +3276,9 @@
|
|
3271
3276
|
};
|
3272
3277
|
var detect = function (versionRegexes, agent) {
|
3273
3278
|
var cleanedAgent = String(agent).toLowerCase();
|
3274
|
-
if (versionRegexes.length === 0)
|
3279
|
+
if (versionRegexes.length === 0) {
|
3275
3280
|
return unknown();
|
3281
|
+
}
|
3276
3282
|
return find$2(versionRegexes, cleanedAgent);
|
3277
3283
|
};
|
3278
3284
|
var unknown = function () {
|
@@ -3451,8 +3457,7 @@
|
|
3451
3457
|
name: 'Edge',
|
3452
3458
|
versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
|
3453
3459
|
search: function (uastring) {
|
3454
|
-
|
3455
|
-
return monstrosity;
|
3460
|
+
return contains$2(uastring, 'edge/') && contains$2(uastring, 'chrome') && contains$2(uastring, 'safari') && contains$2(uastring, 'applewebkit');
|
3456
3461
|
}
|
3457
3462
|
},
|
3458
3463
|
{
|
@@ -3676,7 +3681,7 @@
|
|
3676
3681
|
};
|
3677
3682
|
|
3678
3683
|
var isSupported = function (dom) {
|
3679
|
-
return dom.style !== undefined;
|
3684
|
+
return dom.style !== undefined && isFunction(dom.style.getPropertyValue);
|
3680
3685
|
};
|
3681
3686
|
|
3682
3687
|
var inBody = function (element) {
|
@@ -3802,19 +3807,22 @@
|
|
3802
3807
|
var ELEMENT$1 = ELEMENT;
|
3803
3808
|
var DOCUMENT$1 = DOCUMENT;
|
3804
3809
|
var is$1 = function (element, selector) {
|
3805
|
-
var
|
3806
|
-
if (
|
3810
|
+
var dom = element.dom();
|
3811
|
+
if (dom.nodeType !== ELEMENT$1) {
|
3807
3812
|
return false;
|
3808
|
-
} else if (elem.matches !== undefined) {
|
3809
|
-
return elem.matches(selector);
|
3810
|
-
} else if (elem.msMatchesSelector !== undefined) {
|
3811
|
-
return elem.msMatchesSelector(selector);
|
3812
|
-
} else if (elem.webkitMatchesSelector !== undefined) {
|
3813
|
-
return elem.webkitMatchesSelector(selector);
|
3814
|
-
} else if (elem.mozMatchesSelector !== undefined) {
|
3815
|
-
return elem.mozMatchesSelector(selector);
|
3816
3813
|
} else {
|
3817
|
-
|
3814
|
+
var elem = dom;
|
3815
|
+
if (elem.matches !== undefined) {
|
3816
|
+
return elem.matches(selector);
|
3817
|
+
} else if (elem.msMatchesSelector !== undefined) {
|
3818
|
+
return elem.msMatchesSelector(selector);
|
3819
|
+
} else if (elem.webkitMatchesSelector !== undefined) {
|
3820
|
+
return elem.webkitMatchesSelector(selector);
|
3821
|
+
} else if (elem.mozMatchesSelector !== undefined) {
|
3822
|
+
return elem.mozMatchesSelector(selector);
|
3823
|
+
} else {
|
3824
|
+
throw new Error('Browser lacks native selectors');
|
3825
|
+
}
|
3818
3826
|
}
|
3819
3827
|
};
|
3820
3828
|
var bypassSelector = function (dom) {
|
@@ -3850,16 +3858,13 @@
|
|
3850
3858
|
return Element.fromDom(element.dom().ownerDocument.documentElement);
|
3851
3859
|
};
|
3852
3860
|
var defaultView = function (element) {
|
3853
|
-
|
3854
|
-
var defView = el.ownerDocument.defaultView;
|
3855
|
-
return Element.fromDom(defView);
|
3861
|
+
return Element.fromDom(element.dom().ownerDocument.defaultView);
|
3856
3862
|
};
|
3857
3863
|
var parent = function (element) {
|
3858
|
-
|
3859
|
-
return Option.from(dom.parentNode).map(Element.fromDom);
|
3864
|
+
return Option.from(element.dom().parentNode).map(Element.fromDom);
|
3860
3865
|
};
|
3861
3866
|
var parents = function (element, isRoot) {
|
3862
|
-
var stop = isFunction(isRoot) ? isRoot :
|
3867
|
+
var stop = isFunction(isRoot) ? isRoot : never;
|
3863
3868
|
var dom = element.dom();
|
3864
3869
|
var ret = [];
|
3865
3870
|
while (dom.parentNode !== null && dom.parentNode !== undefined) {
|
@@ -3875,12 +3880,10 @@
|
|
3875
3880
|
return ret;
|
3876
3881
|
};
|
3877
3882
|
var prevSibling = function (element) {
|
3878
|
-
|
3879
|
-
return Option.from(dom.previousSibling).map(Element.fromDom);
|
3883
|
+
return Option.from(element.dom().previousSibling).map(Element.fromDom);
|
3880
3884
|
};
|
3881
3885
|
var nextSibling = function (element) {
|
3882
|
-
|
3883
|
-
return Option.from(dom.nextSibling).map(Element.fromDom);
|
3886
|
+
return Option.from(element.dom().nextSibling).map(Element.fromDom);
|
3884
3887
|
};
|
3885
3888
|
var prevSiblings = function (element) {
|
3886
3889
|
return reverse(Recurse.toArray(element, prevSibling));
|
@@ -3889,8 +3892,7 @@
|
|
3889
3892
|
return Recurse.toArray(element, nextSibling);
|
3890
3893
|
};
|
3891
3894
|
var children = function (element) {
|
3892
|
-
|
3893
|
-
return map(dom.childNodes, Element.fromDom);
|
3895
|
+
return map(element.dom().childNodes, Element.fromDom);
|
3894
3896
|
};
|
3895
3897
|
var child = function (element, index) {
|
3896
3898
|
var cs = element.dom().childNodes;
|
@@ -3963,6 +3965,503 @@
|
|
3963
3965
|
};
|
3964
3966
|
var Position = { getPos: getPos };
|
3965
3967
|
|
3968
|
+
var exports$1 = {}, module$1 = { exports: exports$1 };
|
3969
|
+
(function (define, exports, module, require) {
|
3970
|
+
(function (f) {
|
3971
|
+
if (typeof exports === 'object' && typeof module !== 'undefined') {
|
3972
|
+
module.exports = f();
|
3973
|
+
} else if (typeof define === 'function' && define.amd) {
|
3974
|
+
define([], f);
|
3975
|
+
} else {
|
3976
|
+
var g;
|
3977
|
+
if (typeof window !== 'undefined') {
|
3978
|
+
g = window;
|
3979
|
+
} else if (typeof global !== 'undefined') {
|
3980
|
+
g = global;
|
3981
|
+
} else if (typeof self !== 'undefined') {
|
3982
|
+
g = self;
|
3983
|
+
} else {
|
3984
|
+
g = this;
|
3985
|
+
}
|
3986
|
+
g.EphoxContactWrapper = f();
|
3987
|
+
}
|
3988
|
+
}(function () {
|
3989
|
+
return function () {
|
3990
|
+
function r(e, n, t) {
|
3991
|
+
function o(i, f) {
|
3992
|
+
if (!n[i]) {
|
3993
|
+
if (!e[i]) {
|
3994
|
+
var c = 'function' == typeof require && require;
|
3995
|
+
if (!f && c)
|
3996
|
+
return c(i, !0);
|
3997
|
+
if (u)
|
3998
|
+
return u(i, !0);
|
3999
|
+
var a = new Error('Cannot find module \'' + i + '\'');
|
4000
|
+
throw a.code = 'MODULE_NOT_FOUND', a;
|
4001
|
+
}
|
4002
|
+
var p = n[i] = { exports: {} };
|
4003
|
+
e[i][0].call(p.exports, function (r) {
|
4004
|
+
var n = e[i][1][r];
|
4005
|
+
return o(n || r);
|
4006
|
+
}, p, p.exports, r, e, n, t);
|
4007
|
+
}
|
4008
|
+
return n[i].exports;
|
4009
|
+
}
|
4010
|
+
for (var u = 'function' == typeof require && require, i = 0; i < t.length; i++)
|
4011
|
+
o(t[i]);
|
4012
|
+
return o;
|
4013
|
+
}
|
4014
|
+
return r;
|
4015
|
+
}()({
|
4016
|
+
1: [
|
4017
|
+
function (require, module, exports) {
|
4018
|
+
var process = module.exports = {};
|
4019
|
+
var cachedSetTimeout;
|
4020
|
+
var cachedClearTimeout;
|
4021
|
+
function defaultSetTimout() {
|
4022
|
+
throw new Error('setTimeout has not been defined');
|
4023
|
+
}
|
4024
|
+
function defaultClearTimeout() {
|
4025
|
+
throw new Error('clearTimeout has not been defined');
|
4026
|
+
}
|
4027
|
+
(function () {
|
4028
|
+
try {
|
4029
|
+
if (typeof setTimeout === 'function') {
|
4030
|
+
cachedSetTimeout = setTimeout;
|
4031
|
+
} else {
|
4032
|
+
cachedSetTimeout = defaultSetTimout;
|
4033
|
+
}
|
4034
|
+
} catch (e) {
|
4035
|
+
cachedSetTimeout = defaultSetTimout;
|
4036
|
+
}
|
4037
|
+
try {
|
4038
|
+
if (typeof clearTimeout === 'function') {
|
4039
|
+
cachedClearTimeout = clearTimeout;
|
4040
|
+
} else {
|
4041
|
+
cachedClearTimeout = defaultClearTimeout;
|
4042
|
+
}
|
4043
|
+
} catch (e) {
|
4044
|
+
cachedClearTimeout = defaultClearTimeout;
|
4045
|
+
}
|
4046
|
+
}());
|
4047
|
+
function runTimeout(fun) {
|
4048
|
+
if (cachedSetTimeout === setTimeout) {
|
4049
|
+
return setTimeout(fun, 0);
|
4050
|
+
}
|
4051
|
+
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
4052
|
+
cachedSetTimeout = setTimeout;
|
4053
|
+
return setTimeout(fun, 0);
|
4054
|
+
}
|
4055
|
+
try {
|
4056
|
+
return cachedSetTimeout(fun, 0);
|
4057
|
+
} catch (e) {
|
4058
|
+
try {
|
4059
|
+
return cachedSetTimeout.call(null, fun, 0);
|
4060
|
+
} catch (e) {
|
4061
|
+
return cachedSetTimeout.call(this, fun, 0);
|
4062
|
+
}
|
4063
|
+
}
|
4064
|
+
}
|
4065
|
+
function runClearTimeout(marker) {
|
4066
|
+
if (cachedClearTimeout === clearTimeout) {
|
4067
|
+
return clearTimeout(marker);
|
4068
|
+
}
|
4069
|
+
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
4070
|
+
cachedClearTimeout = clearTimeout;
|
4071
|
+
return clearTimeout(marker);
|
4072
|
+
}
|
4073
|
+
try {
|
4074
|
+
return cachedClearTimeout(marker);
|
4075
|
+
} catch (e) {
|
4076
|
+
try {
|
4077
|
+
return cachedClearTimeout.call(null, marker);
|
4078
|
+
} catch (e) {
|
4079
|
+
return cachedClearTimeout.call(this, marker);
|
4080
|
+
}
|
4081
|
+
}
|
4082
|
+
}
|
4083
|
+
var queue = [];
|
4084
|
+
var draining = false;
|
4085
|
+
var currentQueue;
|
4086
|
+
var queueIndex = -1;
|
4087
|
+
function cleanUpNextTick() {
|
4088
|
+
if (!draining || !currentQueue) {
|
4089
|
+
return;
|
4090
|
+
}
|
4091
|
+
draining = false;
|
4092
|
+
if (currentQueue.length) {
|
4093
|
+
queue = currentQueue.concat(queue);
|
4094
|
+
} else {
|
4095
|
+
queueIndex = -1;
|
4096
|
+
}
|
4097
|
+
if (queue.length) {
|
4098
|
+
drainQueue();
|
4099
|
+
}
|
4100
|
+
}
|
4101
|
+
function drainQueue() {
|
4102
|
+
if (draining) {
|
4103
|
+
return;
|
4104
|
+
}
|
4105
|
+
var timeout = runTimeout(cleanUpNextTick);
|
4106
|
+
draining = true;
|
4107
|
+
var len = queue.length;
|
4108
|
+
while (len) {
|
4109
|
+
currentQueue = queue;
|
4110
|
+
queue = [];
|
4111
|
+
while (++queueIndex < len) {
|
4112
|
+
if (currentQueue) {
|
4113
|
+
currentQueue[queueIndex].run();
|
4114
|
+
}
|
4115
|
+
}
|
4116
|
+
queueIndex = -1;
|
4117
|
+
len = queue.length;
|
4118
|
+
}
|
4119
|
+
currentQueue = null;
|
4120
|
+
draining = false;
|
4121
|
+
runClearTimeout(timeout);
|
4122
|
+
}
|
4123
|
+
process.nextTick = function (fun) {
|
4124
|
+
var args = new Array(arguments.length - 1);
|
4125
|
+
if (arguments.length > 1) {
|
4126
|
+
for (var i = 1; i < arguments.length; i++) {
|
4127
|
+
args[i - 1] = arguments[i];
|
4128
|
+
}
|
4129
|
+
}
|
4130
|
+
queue.push(new Item(fun, args));
|
4131
|
+
if (queue.length === 1 && !draining) {
|
4132
|
+
runTimeout(drainQueue);
|
4133
|
+
}
|
4134
|
+
};
|
4135
|
+
function Item(fun, array) {
|
4136
|
+
this.fun = fun;
|
4137
|
+
this.array = array;
|
4138
|
+
}
|
4139
|
+
Item.prototype.run = function () {
|
4140
|
+
this.fun.apply(null, this.array);
|
4141
|
+
};
|
4142
|
+
process.title = 'browser';
|
4143
|
+
process.browser = true;
|
4144
|
+
process.env = {};
|
4145
|
+
process.argv = [];
|
4146
|
+
process.version = '';
|
4147
|
+
process.versions = {};
|
4148
|
+
function noop() {
|
4149
|
+
}
|
4150
|
+
process.on = noop;
|
4151
|
+
process.addListener = noop;
|
4152
|
+
process.once = noop;
|
4153
|
+
process.off = noop;
|
4154
|
+
process.removeListener = noop;
|
4155
|
+
process.removeAllListeners = noop;
|
4156
|
+
process.emit = noop;
|
4157
|
+
process.prependListener = noop;
|
4158
|
+
process.prependOnceListener = noop;
|
4159
|
+
process.listeners = function (name) {
|
4160
|
+
return [];
|
4161
|
+
};
|
4162
|
+
process.binding = function (name) {
|
4163
|
+
throw new Error('process.binding is not supported');
|
4164
|
+
};
|
4165
|
+
process.cwd = function () {
|
4166
|
+
return '/';
|
4167
|
+
};
|
4168
|
+
process.chdir = function (dir) {
|
4169
|
+
throw new Error('process.chdir is not supported');
|
4170
|
+
};
|
4171
|
+
process.umask = function () {
|
4172
|
+
return 0;
|
4173
|
+
};
|
4174
|
+
},
|
4175
|
+
{}
|
4176
|
+
],
|
4177
|
+
2: [
|
4178
|
+
function (require, module, exports) {
|
4179
|
+
(function (setImmediate) {
|
4180
|
+
(function (root) {
|
4181
|
+
var setTimeoutFunc = setTimeout;
|
4182
|
+
function noop() {
|
4183
|
+
}
|
4184
|
+
function bind(fn, thisArg) {
|
4185
|
+
return function () {
|
4186
|
+
fn.apply(thisArg, arguments);
|
4187
|
+
};
|
4188
|
+
}
|
4189
|
+
function Promise(fn) {
|
4190
|
+
if (typeof this !== 'object')
|
4191
|
+
throw new TypeError('Promises must be constructed via new');
|
4192
|
+
if (typeof fn !== 'function')
|
4193
|
+
throw new TypeError('not a function');
|
4194
|
+
this._state = 0;
|
4195
|
+
this._handled = false;
|
4196
|
+
this._value = undefined;
|
4197
|
+
this._deferreds = [];
|
4198
|
+
doResolve(fn, this);
|
4199
|
+
}
|
4200
|
+
function handle(self, deferred) {
|
4201
|
+
while (self._state === 3) {
|
4202
|
+
self = self._value;
|
4203
|
+
}
|
4204
|
+
if (self._state === 0) {
|
4205
|
+
self._deferreds.push(deferred);
|
4206
|
+
return;
|
4207
|
+
}
|
4208
|
+
self._handled = true;
|
4209
|
+
Promise._immediateFn(function () {
|
4210
|
+
var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
|
4211
|
+
if (cb === null) {
|
4212
|
+
(self._state === 1 ? resolve : reject)(deferred.promise, self._value);
|
4213
|
+
return;
|
4214
|
+
}
|
4215
|
+
var ret;
|
4216
|
+
try {
|
4217
|
+
ret = cb(self._value);
|
4218
|
+
} catch (e) {
|
4219
|
+
reject(deferred.promise, e);
|
4220
|
+
return;
|
4221
|
+
}
|
4222
|
+
resolve(deferred.promise, ret);
|
4223
|
+
});
|
4224
|
+
}
|
4225
|
+
function resolve(self, newValue) {
|
4226
|
+
try {
|
4227
|
+
if (newValue === self)
|
4228
|
+
throw new TypeError('A promise cannot be resolved with itself.');
|
4229
|
+
if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {
|
4230
|
+
var then = newValue.then;
|
4231
|
+
if (newValue instanceof Promise) {
|
4232
|
+
self._state = 3;
|
4233
|
+
self._value = newValue;
|
4234
|
+
finale(self);
|
4235
|
+
return;
|
4236
|
+
} else if (typeof then === 'function') {
|
4237
|
+
doResolve(bind(then, newValue), self);
|
4238
|
+
return;
|
4239
|
+
}
|
4240
|
+
}
|
4241
|
+
self._state = 1;
|
4242
|
+
self._value = newValue;
|
4243
|
+
finale(self);
|
4244
|
+
} catch (e) {
|
4245
|
+
reject(self, e);
|
4246
|
+
}
|
4247
|
+
}
|
4248
|
+
function reject(self, newValue) {
|
4249
|
+
self._state = 2;
|
4250
|
+
self._value = newValue;
|
4251
|
+
finale(self);
|
4252
|
+
}
|
4253
|
+
function finale(self) {
|
4254
|
+
if (self._state === 2 && self._deferreds.length === 0) {
|
4255
|
+
Promise._immediateFn(function () {
|
4256
|
+
if (!self._handled) {
|
4257
|
+
Promise._unhandledRejectionFn(self._value);
|
4258
|
+
}
|
4259
|
+
});
|
4260
|
+
}
|
4261
|
+
for (var i = 0, len = self._deferreds.length; i < len; i++) {
|
4262
|
+
handle(self, self._deferreds[i]);
|
4263
|
+
}
|
4264
|
+
self._deferreds = null;
|
4265
|
+
}
|
4266
|
+
function Handler(onFulfilled, onRejected, promise) {
|
4267
|
+
this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
|
4268
|
+
this.onRejected = typeof onRejected === 'function' ? onRejected : null;
|
4269
|
+
this.promise = promise;
|
4270
|
+
}
|
4271
|
+
function doResolve(fn, self) {
|
4272
|
+
var done = false;
|
4273
|
+
try {
|
4274
|
+
fn(function (value) {
|
4275
|
+
if (done)
|
4276
|
+
return;
|
4277
|
+
done = true;
|
4278
|
+
resolve(self, value);
|
4279
|
+
}, function (reason) {
|
4280
|
+
if (done)
|
4281
|
+
return;
|
4282
|
+
done = true;
|
4283
|
+
reject(self, reason);
|
4284
|
+
});
|
4285
|
+
} catch (ex) {
|
4286
|
+
if (done)
|
4287
|
+
return;
|
4288
|
+
done = true;
|
4289
|
+
reject(self, ex);
|
4290
|
+
}
|
4291
|
+
}
|
4292
|
+
Promise.prototype['catch'] = function (onRejected) {
|
4293
|
+
return this.then(null, onRejected);
|
4294
|
+
};
|
4295
|
+
Promise.prototype.then = function (onFulfilled, onRejected) {
|
4296
|
+
var prom = new this.constructor(noop);
|
4297
|
+
handle(this, new Handler(onFulfilled, onRejected, prom));
|
4298
|
+
return prom;
|
4299
|
+
};
|
4300
|
+
Promise.all = function (arr) {
|
4301
|
+
var args = Array.prototype.slice.call(arr);
|
4302
|
+
return new Promise(function (resolve, reject) {
|
4303
|
+
if (args.length === 0)
|
4304
|
+
return resolve([]);
|
4305
|
+
var remaining = args.length;
|
4306
|
+
function res(i, val) {
|
4307
|
+
try {
|
4308
|
+
if (val && (typeof val === 'object' || typeof val === 'function')) {
|
4309
|
+
var then = val.then;
|
4310
|
+
if (typeof then === 'function') {
|
4311
|
+
then.call(val, function (val) {
|
4312
|
+
res(i, val);
|
4313
|
+
}, reject);
|
4314
|
+
return;
|
4315
|
+
}
|
4316
|
+
}
|
4317
|
+
args[i] = val;
|
4318
|
+
if (--remaining === 0) {
|
4319
|
+
resolve(args);
|
4320
|
+
}
|
4321
|
+
} catch (ex) {
|
4322
|
+
reject(ex);
|
4323
|
+
}
|
4324
|
+
}
|
4325
|
+
for (var i = 0; i < args.length; i++) {
|
4326
|
+
res(i, args[i]);
|
4327
|
+
}
|
4328
|
+
});
|
4329
|
+
};
|
4330
|
+
Promise.resolve = function (value) {
|
4331
|
+
if (value && typeof value === 'object' && value.constructor === Promise) {
|
4332
|
+
return value;
|
4333
|
+
}
|
4334
|
+
return new Promise(function (resolve) {
|
4335
|
+
resolve(value);
|
4336
|
+
});
|
4337
|
+
};
|
4338
|
+
Promise.reject = function (value) {
|
4339
|
+
return new Promise(function (resolve, reject) {
|
4340
|
+
reject(value);
|
4341
|
+
});
|
4342
|
+
};
|
4343
|
+
Promise.race = function (values) {
|
4344
|
+
return new Promise(function (resolve, reject) {
|
4345
|
+
for (var i = 0, len = values.length; i < len; i++) {
|
4346
|
+
values[i].then(resolve, reject);
|
4347
|
+
}
|
4348
|
+
});
|
4349
|
+
};
|
4350
|
+
Promise._immediateFn = typeof setImmediate === 'function' ? function (fn) {
|
4351
|
+
setImmediate(fn);
|
4352
|
+
} : function (fn) {
|
4353
|
+
setTimeoutFunc(fn, 0);
|
4354
|
+
};
|
4355
|
+
Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {
|
4356
|
+
if (typeof console !== 'undefined' && console) {
|
4357
|
+
console.warn('Possible Unhandled Promise Rejection:', err);
|
4358
|
+
}
|
4359
|
+
};
|
4360
|
+
Promise._setImmediateFn = function _setImmediateFn(fn) {
|
4361
|
+
Promise._immediateFn = fn;
|
4362
|
+
};
|
4363
|
+
Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {
|
4364
|
+
Promise._unhandledRejectionFn = fn;
|
4365
|
+
};
|
4366
|
+
if (typeof module !== 'undefined' && module.exports) {
|
4367
|
+
module.exports = Promise;
|
4368
|
+
} else if (!root.Promise) {
|
4369
|
+
root.Promise = Promise;
|
4370
|
+
}
|
4371
|
+
}(this));
|
4372
|
+
}.call(this, require('timers').setImmediate));
|
4373
|
+
},
|
4374
|
+
{ 'timers': 3 }
|
4375
|
+
],
|
4376
|
+
3: [
|
4377
|
+
function (require, module, exports) {
|
4378
|
+
(function (setImmediate, clearImmediate) {
|
4379
|
+
var nextTick = require('process/browser.js').nextTick;
|
4380
|
+
var apply = Function.prototype.apply;
|
4381
|
+
var slice = Array.prototype.slice;
|
4382
|
+
var immediateIds = {};
|
4383
|
+
var nextImmediateId = 0;
|
4384
|
+
exports.setTimeout = function () {
|
4385
|
+
return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);
|
4386
|
+
};
|
4387
|
+
exports.setInterval = function () {
|
4388
|
+
return new Timeout(apply.call(setInterval, window, arguments), clearInterval);
|
4389
|
+
};
|
4390
|
+
exports.clearTimeout = exports.clearInterval = function (timeout) {
|
4391
|
+
timeout.close();
|
4392
|
+
};
|
4393
|
+
function Timeout(id, clearFn) {
|
4394
|
+
this._id = id;
|
4395
|
+
this._clearFn = clearFn;
|
4396
|
+
}
|
4397
|
+
Timeout.prototype.unref = Timeout.prototype.ref = function () {
|
4398
|
+
};
|
4399
|
+
Timeout.prototype.close = function () {
|
4400
|
+
this._clearFn.call(window, this._id);
|
4401
|
+
};
|
4402
|
+
exports.enroll = function (item, msecs) {
|
4403
|
+
clearTimeout(item._idleTimeoutId);
|
4404
|
+
item._idleTimeout = msecs;
|
4405
|
+
};
|
4406
|
+
exports.unenroll = function (item) {
|
4407
|
+
clearTimeout(item._idleTimeoutId);
|
4408
|
+
item._idleTimeout = -1;
|
4409
|
+
};
|
4410
|
+
exports._unrefActive = exports.active = function (item) {
|
4411
|
+
clearTimeout(item._idleTimeoutId);
|
4412
|
+
var msecs = item._idleTimeout;
|
4413
|
+
if (msecs >= 0) {
|
4414
|
+
item._idleTimeoutId = setTimeout(function onTimeout() {
|
4415
|
+
if (item._onTimeout)
|
4416
|
+
item._onTimeout();
|
4417
|
+
}, msecs);
|
4418
|
+
}
|
4419
|
+
};
|
4420
|
+
exports.setImmediate = typeof setImmediate === 'function' ? setImmediate : function (fn) {
|
4421
|
+
var id = nextImmediateId++;
|
4422
|
+
var args = arguments.length < 2 ? false : slice.call(arguments, 1);
|
4423
|
+
immediateIds[id] = true;
|
4424
|
+
nextTick(function onNextTick() {
|
4425
|
+
if (immediateIds[id]) {
|
4426
|
+
if (args) {
|
4427
|
+
fn.apply(null, args);
|
4428
|
+
} else {
|
4429
|
+
fn.call(null);
|
4430
|
+
}
|
4431
|
+
exports.clearImmediate(id);
|
4432
|
+
}
|
4433
|
+
});
|
4434
|
+
return id;
|
4435
|
+
};
|
4436
|
+
exports.clearImmediate = typeof clearImmediate === 'function' ? clearImmediate : function (id) {
|
4437
|
+
delete immediateIds[id];
|
4438
|
+
};
|
4439
|
+
}.call(this, require('timers').setImmediate, require('timers').clearImmediate));
|
4440
|
+
},
|
4441
|
+
{
|
4442
|
+
'process/browser.js': 1,
|
4443
|
+
'timers': 3
|
4444
|
+
}
|
4445
|
+
],
|
4446
|
+
4: [
|
4447
|
+
function (require, module, exports) {
|
4448
|
+
var promisePolyfill = require('promise-polyfill');
|
4449
|
+
var Global = function () {
|
4450
|
+
if (typeof window !== 'undefined') {
|
4451
|
+
return window;
|
4452
|
+
} else {
|
4453
|
+
return Function('return this;')();
|
4454
|
+
}
|
4455
|
+
}();
|
4456
|
+
module.exports = { boltExport: Global.Promise || promisePolyfill };
|
4457
|
+
},
|
4458
|
+
{ 'promise-polyfill': 2 }
|
4459
|
+
]
|
4460
|
+
}, {}, [4])(4);
|
4461
|
+
}));
|
4462
|
+
}(undefined, exports$1, module$1, undefined));
|
4463
|
+
var Promise = module$1.exports.boltExport;
|
4464
|
+
|
3966
4465
|
var nu$3 = function (baseFn) {
|
3967
4466
|
var data = Option.none();
|
3968
4467
|
var callbacks = [];
|
@@ -3974,10 +4473,11 @@
|
|
3974
4473
|
});
|
3975
4474
|
};
|
3976
4475
|
var get = function (nCallback) {
|
3977
|
-
if (isReady())
|
4476
|
+
if (isReady()) {
|
3978
4477
|
call(nCallback);
|
3979
|
-
else
|
4478
|
+
} else {
|
3980
4479
|
callbacks.push(nCallback);
|
4480
|
+
}
|
3981
4481
|
};
|
3982
4482
|
var set = function (x) {
|
3983
4483
|
data = Option.some(x);
|
@@ -4014,42 +4514,31 @@
|
|
4014
4514
|
pure: pure
|
4015
4515
|
};
|
4016
4516
|
|
4017
|
-
var
|
4018
|
-
|
4019
|
-
|
4020
|
-
|
4021
|
-
args[_i] = arguments[_i];
|
4022
|
-
}
|
4023
|
-
var me = this;
|
4024
|
-
domGlobals.setTimeout(function () {
|
4025
|
-
f.apply(me, args);
|
4026
|
-
}, 0);
|
4027
|
-
};
|
4517
|
+
var errorReporter = function (err) {
|
4518
|
+
domGlobals.setTimeout(function () {
|
4519
|
+
throw err;
|
4520
|
+
}, 0);
|
4028
4521
|
};
|
4029
|
-
|
4030
|
-
var nu$4 = function (baseFn) {
|
4522
|
+
var make = function (run) {
|
4031
4523
|
var get = function (callback) {
|
4032
|
-
|
4524
|
+
run().then(callback, errorReporter);
|
4033
4525
|
};
|
4034
4526
|
var map = function (fab) {
|
4035
|
-
return
|
4036
|
-
|
4037
|
-
var value = fab(a);
|
4038
|
-
callback(value);
|
4039
|
-
});
|
4527
|
+
return make(function () {
|
4528
|
+
return run().then(fab);
|
4040
4529
|
});
|
4041
4530
|
};
|
4042
4531
|
var bind = function (aFutureB) {
|
4043
|
-
return
|
4044
|
-
|
4045
|
-
aFutureB(
|
4532
|
+
return make(function () {
|
4533
|
+
return run().then(function (v) {
|
4534
|
+
return aFutureB(v).toPromise();
|
4046
4535
|
});
|
4047
4536
|
});
|
4048
4537
|
};
|
4049
4538
|
var anonBind = function (futureB) {
|
4050
|
-
return
|
4051
|
-
|
4052
|
-
futureB.
|
4539
|
+
return make(function () {
|
4540
|
+
return run().then(function () {
|
4541
|
+
return futureB.toPromise();
|
4053
4542
|
});
|
4054
4543
|
});
|
4055
4544
|
};
|
@@ -4058,25 +4547,32 @@
|
|
4058
4547
|
};
|
4059
4548
|
var toCached = function () {
|
4060
4549
|
var cache = null;
|
4061
|
-
return
|
4550
|
+
return make(function () {
|
4062
4551
|
if (cache === null) {
|
4063
|
-
cache =
|
4552
|
+
cache = run();
|
4064
4553
|
}
|
4065
|
-
cache
|
4554
|
+
return cache;
|
4066
4555
|
});
|
4067
4556
|
};
|
4557
|
+
var toPromise = run;
|
4068
4558
|
return {
|
4069
4559
|
map: map,
|
4070
4560
|
bind: bind,
|
4071
4561
|
anonBind: anonBind,
|
4072
4562
|
toLazy: toLazy,
|
4073
4563
|
toCached: toCached,
|
4564
|
+
toPromise: toPromise,
|
4074
4565
|
get: get
|
4075
4566
|
};
|
4076
4567
|
};
|
4568
|
+
var nu$4 = function (baseFn) {
|
4569
|
+
return make(function () {
|
4570
|
+
return new Promise(baseFn);
|
4571
|
+
});
|
4572
|
+
};
|
4077
4573
|
var pure$1 = function (a) {
|
4078
|
-
return
|
4079
|
-
|
4574
|
+
return make(function () {
|
4575
|
+
return Promise.resolve(a);
|
4080
4576
|
});
|
4081
4577
|
};
|
4082
4578
|
var Future = {
|
@@ -4208,9 +4704,15 @@
|
|
4208
4704
|
toOption: Option.none
|
4209
4705
|
};
|
4210
4706
|
};
|
4707
|
+
var fromOption = function (opt, err) {
|
4708
|
+
return opt.fold(function () {
|
4709
|
+
return error(err);
|
4710
|
+
}, value);
|
4711
|
+
};
|
4211
4712
|
var Result = {
|
4212
4713
|
value: value,
|
4213
|
-
error: error
|
4714
|
+
error: error,
|
4715
|
+
fromOption: fromOption
|
4214
4716
|
};
|
4215
4717
|
|
4216
4718
|
function StyleSheetLoader(document, settings) {
|
@@ -4581,6 +5083,9 @@
|
|
4581
5083
|
return !!node && node.nodeType === type;
|
4582
5084
|
};
|
4583
5085
|
};
|
5086
|
+
var isRestrictedNode = function (node) {
|
5087
|
+
return !!node && !Object.getPrototypeOf(node);
|
5088
|
+
};
|
4584
5089
|
var isElement$1 = isNodeType(1);
|
4585
5090
|
var matchNodeNames = function (names) {
|
4586
5091
|
var items = names.toLowerCase().split(' ');
|
@@ -4666,6 +5171,7 @@
|
|
4666
5171
|
isBr: isBr$1,
|
4667
5172
|
isContentEditableTrue: isContentEditableTrue,
|
4668
5173
|
isContentEditableFalse: isContentEditableFalse,
|
5174
|
+
isRestrictedNode: isRestrictedNode,
|
4669
5175
|
matchNodeNames: matchNodeNames,
|
4670
5176
|
hasPropValue: hasPropValue,
|
4671
5177
|
hasAttribute: hasAttribute,
|
@@ -5938,7 +6444,7 @@
|
|
5938
6444
|
var getViewPort = function (argWin) {
|
5939
6445
|
var actWin = !argWin ? win : argWin;
|
5940
6446
|
var doc = actWin.document;
|
5941
|
-
var rootElm =
|
6447
|
+
var rootElm = doc.documentElement ;
|
5942
6448
|
return {
|
5943
6449
|
x: actWin.pageXOffset || rootElm.scrollLeft,
|
5944
6450
|
y: actWin.pageYOffset || rootElm.scrollTop,
|
@@ -6993,8 +7499,9 @@
|
|
6993
7499
|
for (var _i = 0; _i < arguments.length; _i++) {
|
6994
7500
|
args[_i] = arguments[_i];
|
6995
7501
|
}
|
6996
|
-
if (timer !== null)
|
7502
|
+
if (timer !== null) {
|
6997
7503
|
domGlobals.clearTimeout(timer);
|
7504
|
+
}
|
6998
7505
|
timer = domGlobals.setTimeout(function () {
|
6999
7506
|
fn.apply(null, args);
|
7000
7507
|
timer = null;
|
@@ -7119,8 +7626,8 @@
|
|
7119
7626
|
return Option.none();
|
7120
7627
|
};
|
7121
7628
|
var closest = function (scope, predicate, isRoot) {
|
7122
|
-
var is = function (s) {
|
7123
|
-
return
|
7629
|
+
var is = function (s, test) {
|
7630
|
+
return test(s);
|
7124
7631
|
};
|
7125
7632
|
return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);
|
7126
7633
|
};
|
@@ -7318,9 +7825,10 @@
|
|
7318
7825
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
7319
7826
|
t[p] = s[p];
|
7320
7827
|
if (s != null && typeof Object.getOwnPropertySymbols === 'function')
|
7321
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)
|
7322
|
-
if (e.indexOf(p[i]) < 0)
|
7828
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7829
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
7323
7830
|
t[p[i]] = s[p[i]];
|
7831
|
+
}
|
7324
7832
|
return t;
|
7325
7833
|
}
|
7326
7834
|
|
@@ -7649,7 +8157,7 @@
|
|
7649
8157
|
return container;
|
7650
8158
|
};
|
7651
8159
|
|
7652
|
-
var extendingChars = new RegExp('[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a' + '\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0' + '\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\
|
8160
|
+
var extendingChars = new RegExp('[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a' + '\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0' + '\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0902\u093a\u093c' + '\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2-\u09e3' + '\u0a01-\u0a02\u0a3c\u0a41-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a70-\u0a71\u0a75\u0a81-\u0a82\u0abc' + '\u0ac1-\u0ac5\u0ac7-\u0ac8\u0acd\u0ae2-\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57' + '\u0b62-\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56' + '\u0c62-\u0c63\u0c81\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc-\u0ccd\u0cd5-\u0cd6\u0ce2-\u0ce3\u0d01\u0d3e\u0d41-\u0d44' + '\u0d4d\u0d57\u0d62-\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9' + '\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97' + '\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074' + '\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5' + '\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18' + '\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1ABE\u1b00-\u1b03\u1b34' + '\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80-\u1b81\u1ba2-\u1ba5\u1ba8-\u1ba9\u1bab-\u1bad\u1be6\u1be8-\u1be9' + '\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8-\u1cf9' + '\u1dc0-\u1df5\u1dfc-\u1dff\u200c-\u200d\u20d0-\u20dc\u20DD-\u20E0\u20e1\u20E2-\u20E4\u20e5-\u20f0\u2cef-\u2cf1' + '\u2d7f\u2de0-\u2dff\u302a-\u302d\u302e-\u302f\u3099-\u309a\ua66f\uA670-\uA672\ua674-\ua67d\ua69e-\ua69f\ua6f0-\ua6f1' + '\ua802\ua806\ua80b\ua825-\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc' + '\ua9e5\uaa29-\uaa2e\uaa31-\uaa32\uaa35-\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7-\uaab8\uaabe-\uaabf\uaac1' + '\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\uff9e-\uff9f]');
|
7653
8161
|
var isExtendingChar = function (ch) {
|
7654
8162
|
return typeof ch === 'string' && ch.charCodeAt(0) >= 768 && extendingChars.test(ch);
|
7655
8163
|
};
|
@@ -9764,18 +10272,9 @@
|
|
9764
10272
|
}
|
9765
10273
|
return getOption(element).getOr('');
|
9766
10274
|
};
|
9767
|
-
var
|
9768
|
-
try {
|
9769
|
-
return getOptionSafe(element);
|
9770
|
-
} catch (e) {
|
9771
|
-
return Option.none();
|
9772
|
-
}
|
9773
|
-
};
|
9774
|
-
var getOptionSafe = function (element) {
|
10275
|
+
var getOption = function (element) {
|
9775
10276
|
return is(element) ? Option.from(element.dom().nodeValue) : Option.none();
|
9776
10277
|
};
|
9777
|
-
var browser = PlatformDetection$1.detect().browser;
|
9778
|
-
var getOption = browser.isIE() && browser.version.major === 10 ? getOptionIE10 : getOptionSafe;
|
9779
10278
|
var set = function (element, value) {
|
9780
10279
|
if (!is(element)) {
|
9781
10280
|
throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');
|
@@ -9906,7 +10405,7 @@
|
|
9906
10405
|
function Annotator (editor) {
|
9907
10406
|
var registry = create$1();
|
9908
10407
|
setup$1(editor, registry);
|
9909
|
-
var changes = setup(editor
|
10408
|
+
var changes = setup(editor);
|
9910
10409
|
return {
|
9911
10410
|
register: function (name, settings) {
|
9912
10411
|
registry.register(name, settings);
|
@@ -10665,165 +11164,129 @@
|
|
10665
11164
|
};
|
10666
11165
|
var InsertContent = { insertAtCaret: insertAtCaret$1 };
|
10667
11166
|
|
10668
|
-
var
|
10669
|
-
var
|
10670
|
-
|
10671
|
-
var mobilePlugins = [
|
10672
|
-
'lists',
|
10673
|
-
'autolink',
|
10674
|
-
'autosave'
|
10675
|
-
];
|
10676
|
-
var defaultMobileSettings = { theme: 'mobile' };
|
10677
|
-
var normalizePlugins = function (plugins) {
|
10678
|
-
var pluginNames = isArray(plugins) ? plugins.join(' ') : plugins;
|
10679
|
-
var trimmedPlugins = map(isString(pluginNames) ? pluginNames.split(' ') : [], trim$2);
|
10680
|
-
return filter(trimmedPlugins, function (item) {
|
10681
|
-
return item.length > 0;
|
10682
|
-
});
|
11167
|
+
var strongRtl = /[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/;
|
11168
|
+
var hasStrongRtl = function (text) {
|
11169
|
+
return strongRtl.test(text);
|
10683
11170
|
};
|
10684
|
-
|
10685
|
-
|
11171
|
+
|
11172
|
+
var getBodySetting = function (editor, name, defaultValue) {
|
11173
|
+
var value = editor.getParam(name, defaultValue);
|
11174
|
+
if (value.indexOf('=') !== -1) {
|
11175
|
+
var bodyObj = editor.getParam(name, '', 'hash');
|
11176
|
+
return bodyObj.hasOwnProperty(editor.id) ? bodyObj[editor.id] : defaultValue;
|
11177
|
+
} else {
|
11178
|
+
return value;
|
11179
|
+
}
|
10686
11180
|
};
|
10687
|
-
var
|
10688
|
-
|
10689
|
-
return contains(keys, key);
|
10690
|
-
});
|
10691
|
-
return sectionResult(result.t, result.f);
|
11181
|
+
var getIframeAttrs = function (editor) {
|
11182
|
+
return editor.getParam('iframe_attrs', {});
|
10692
11183
|
};
|
10693
|
-
var
|
10694
|
-
|
10695
|
-
var sectionSettings = sections.hasOwnProperty(name) ? sections[name] : {};
|
10696
|
-
return Tools.extend({}, defaults, sectionSettings);
|
11184
|
+
var getDocType = function (editor) {
|
11185
|
+
return editor.getParam('doctype', '<!DOCTYPE html>');
|
10697
11186
|
};
|
10698
|
-
var
|
10699
|
-
return
|
11187
|
+
var getDocumentBaseUrl = function (editor) {
|
11188
|
+
return editor.getParam('document_base_url', '');
|
10700
11189
|
};
|
10701
|
-
var
|
10702
|
-
return
|
10703
|
-
id: id,
|
10704
|
-
theme: 'modern',
|
10705
|
-
delta_width: 0,
|
10706
|
-
delta_height: 0,
|
10707
|
-
popup_css: '',
|
10708
|
-
plugins: '',
|
10709
|
-
document_base_url: documentBaseUrl,
|
10710
|
-
add_form_submit_trigger: true,
|
10711
|
-
submit_patch: true,
|
10712
|
-
add_unload_trigger: true,
|
10713
|
-
convert_urls: true,
|
10714
|
-
relative_urls: true,
|
10715
|
-
remove_script_host: true,
|
10716
|
-
object_resizing: true,
|
10717
|
-
doctype: '<!DOCTYPE html>',
|
10718
|
-
visual: true,
|
10719
|
-
font_size_style_values: 'xx-small,x-small,small,medium,large,x-large,xx-large',
|
10720
|
-
font_size_legacy_values: 'xx-small,small,medium,large,x-large,xx-large,300%',
|
10721
|
-
forced_root_block: 'p',
|
10722
|
-
hidden_input: true,
|
10723
|
-
render_ui: true,
|
10724
|
-
indentation: '40px',
|
10725
|
-
inline_styles: true,
|
10726
|
-
convert_fonts_to_spans: true,
|
10727
|
-
indent: 'simple',
|
10728
|
-
indent_before: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist',
|
10729
|
-
indent_after: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist',
|
10730
|
-
entity_encoding: 'named',
|
10731
|
-
url_converter: editor.convertURL,
|
10732
|
-
url_converter_scope: editor,
|
10733
|
-
ie7_compat: true
|
10734
|
-
};
|
11190
|
+
var getBodyId = function (editor) {
|
11191
|
+
return getBodySetting(editor, 'body_id', 'tinymce');
|
10735
11192
|
};
|
10736
|
-
var
|
10737
|
-
|
10738
|
-
if (overrideSettings && overrideSettings.external_plugins) {
|
10739
|
-
return Tools.extend({}, overrideSettings.external_plugins, userDefinedExternalPlugins);
|
10740
|
-
} else {
|
10741
|
-
return userDefinedExternalPlugins;
|
10742
|
-
}
|
11193
|
+
var getBodyClass = function (editor) {
|
11194
|
+
return getBodySetting(editor, 'body_class', '');
|
10743
11195
|
};
|
10744
|
-
var
|
10745
|
-
return
|
11196
|
+
var getContentSecurityPolicy = function (editor) {
|
11197
|
+
return editor.getParam('content_security_policy', '');
|
10746
11198
|
};
|
10747
|
-
var
|
10748
|
-
|
10749
|
-
var plugins = normalizePlugins(settings.plugins);
|
10750
|
-
var platformPlugins = isTouchDevice && hasSection(sectionResult, 'mobile') ? filterMobilePlugins(plugins) : plugins;
|
10751
|
-
var combinedPlugins = combinePlugins(forcedPlugins, platformPlugins);
|
10752
|
-
return Tools.extend(settings, { plugins: combinedPlugins.join(' ') });
|
11199
|
+
var shouldPutBrInPre = function (editor) {
|
11200
|
+
return editor.getParam('br_in_pre', true);
|
10753
11201
|
};
|
10754
|
-
var
|
10755
|
-
|
10756
|
-
|
11202
|
+
var getForcedRootBlock = function (editor) {
|
11203
|
+
if (editor.getParam('force_p_newlines', false)) {
|
11204
|
+
return 'p';
|
11205
|
+
}
|
11206
|
+
var block = editor.getParam('forced_root_block', 'p');
|
11207
|
+
return block === false ? '' : block;
|
10757
11208
|
};
|
10758
|
-
var
|
10759
|
-
|
10760
|
-
var extendedSettings = Tools.extend(defaultSettings, defaultOverrideSettings, sectionResult.settings(), isOnMobile(isTouchDevice, sectionResult) ? getSection(sectionResult, 'mobile', defaultMobileSettings) : {}, {
|
10761
|
-
validate: true,
|
10762
|
-
content_editable: sectionResult.settings().inline,
|
10763
|
-
external_plugins: getExternalPlugins(defaultOverrideSettings, sectionResult.settings())
|
10764
|
-
});
|
10765
|
-
return processPlugins(isTouchDevice, sectionResult, defaultOverrideSettings, extendedSettings);
|
11209
|
+
var getForcedRootBlockAttrs = function (editor) {
|
11210
|
+
return editor.getParam('forced_root_block_attrs', {});
|
10766
11211
|
};
|
10767
|
-
var
|
10768
|
-
|
10769
|
-
return combineSettings(isTouch, defaultSettings, defaultOverrideSettings, settings);
|
11212
|
+
var getBrNewLineSelector = function (editor) {
|
11213
|
+
return editor.getParam('br_newline_selector', '.mce-toc h2,figcaption,caption');
|
10770
11214
|
};
|
10771
|
-
var
|
10772
|
-
return
|
11215
|
+
var getNoNewLineSelector = function (editor) {
|
11216
|
+
return editor.getParam('no_newline_selector', '');
|
10773
11217
|
};
|
10774
|
-
var
|
10775
|
-
|
10776
|
-
var output = {};
|
10777
|
-
if (typeof value === 'string') {
|
10778
|
-
each(value.indexOf('=') > 0 ? value.split(/[;,](?![^=;,]*(?:[;,]|$))/) : value.split(','), function (val) {
|
10779
|
-
var arr = val.split('=');
|
10780
|
-
if (arr.length > 1) {
|
10781
|
-
output[Tools.trim(arr[0])] = Tools.trim(arr[1]);
|
10782
|
-
} else {
|
10783
|
-
output[Tools.trim(arr[0])] = Tools.trim(arr);
|
10784
|
-
}
|
10785
|
-
});
|
10786
|
-
} else {
|
10787
|
-
output = value;
|
10788
|
-
}
|
10789
|
-
return output;
|
11218
|
+
var shouldKeepStyles = function (editor) {
|
11219
|
+
return editor.getParam('keep_styles', true);
|
10790
11220
|
};
|
10791
|
-
var
|
10792
|
-
return
|
10793
|
-
return isArray(a) && forall(a, p);
|
10794
|
-
};
|
11221
|
+
var shouldEndContainerOnEmptyBlock = function (editor) {
|
11222
|
+
return editor.getParam('end_container_on_empty_block', false);
|
10795
11223
|
};
|
10796
|
-
var
|
10797
|
-
|
10798
|
-
if (type === 'hash') {
|
10799
|
-
return getParamObject(value);
|
10800
|
-
} else if (type === 'string') {
|
10801
|
-
return getFiltered(isString, editor, name).getOr(defaultVal);
|
10802
|
-
} else if (type === 'number') {
|
10803
|
-
return getFiltered(isNumber, editor, name).getOr(defaultVal);
|
10804
|
-
} else if (type === 'boolean') {
|
10805
|
-
return getFiltered(isBoolean, editor, name).getOr(defaultVal);
|
10806
|
-
} else if (type === 'object') {
|
10807
|
-
return getFiltered(isObject, editor, name).getOr(defaultVal);
|
10808
|
-
} else if (type === 'array') {
|
10809
|
-
return getFiltered(isArray, editor, name).getOr(defaultVal);
|
10810
|
-
} else if (type === 'string[]') {
|
10811
|
-
return getFiltered(isArrayOf(isString), editor, name).getOr(defaultVal);
|
10812
|
-
} else if (type === 'function') {
|
10813
|
-
return getFiltered(isFunction, editor, name).getOr(defaultVal);
|
10814
|
-
} else {
|
10815
|
-
return value;
|
10816
|
-
}
|
11224
|
+
var getFontStyleValues = function (editor) {
|
11225
|
+
return Tools.explode(editor.getParam('font_size_style_values', ''));
|
10817
11226
|
};
|
10818
|
-
|
10819
|
-
|
10820
|
-
|
10821
|
-
|
11227
|
+
var getFontSizeClasses = function (editor) {
|
11228
|
+
return Tools.explode(editor.getParam('font_size_classes', ''));
|
11229
|
+
};
|
11230
|
+
var getImagesDataImgFilter = function (editor) {
|
11231
|
+
return editor.getParam('images_dataimg_filter', constant(true), 'function');
|
11232
|
+
};
|
11233
|
+
var isAutomaticUploadsEnabled = function (editor) {
|
11234
|
+
return editor.getParam('automatic_uploads', true, 'boolean');
|
11235
|
+
};
|
11236
|
+
var shouldReuseFileName = function (editor) {
|
11237
|
+
return editor.getParam('images_reuse_filename', false, 'boolean');
|
11238
|
+
};
|
11239
|
+
var shouldReplaceBlobUris = function (editor) {
|
11240
|
+
return editor.getParam('images_replace_blob_uris', true, 'boolean');
|
11241
|
+
};
|
11242
|
+
var getImageUploadUrl = function (editor) {
|
11243
|
+
return editor.getParam('images_upload_url', '', 'string');
|
11244
|
+
};
|
11245
|
+
var getImageUploadBasePath = function (editor) {
|
11246
|
+
return editor.getParam('images_upload_base_path', '', 'string');
|
11247
|
+
};
|
11248
|
+
var getImagesUploadCredentials = function (editor) {
|
11249
|
+
return editor.getParam('images_upload_credentials', false, 'boolean');
|
11250
|
+
};
|
11251
|
+
var getImagesUploadHandler = function (editor) {
|
11252
|
+
return editor.getParam('images_upload_handler', null, 'function');
|
11253
|
+
};
|
11254
|
+
var shouldUseContentCssCors = function (editor) {
|
11255
|
+
return editor.getParam('content_css_cors', false, 'boolean');
|
11256
|
+
};
|
11257
|
+
var getInlineBoundarySelector = function (editor) {
|
11258
|
+
return editor.getParam('inline_boundaries_selector', 'a[href],code,.mce-annotation', 'string');
|
11259
|
+
};
|
11260
|
+
var Settings = {
|
11261
|
+
getIframeAttrs: getIframeAttrs,
|
11262
|
+
getDocType: getDocType,
|
11263
|
+
getDocumentBaseUrl: getDocumentBaseUrl,
|
11264
|
+
getBodyId: getBodyId,
|
11265
|
+
getBodyClass: getBodyClass,
|
11266
|
+
getContentSecurityPolicy: getContentSecurityPolicy,
|
11267
|
+
shouldPutBrInPre: shouldPutBrInPre,
|
11268
|
+
getForcedRootBlock: getForcedRootBlock,
|
11269
|
+
getForcedRootBlockAttrs: getForcedRootBlockAttrs,
|
11270
|
+
getBrNewLineSelector: getBrNewLineSelector,
|
11271
|
+
getNoNewLineSelector: getNoNewLineSelector,
|
11272
|
+
shouldKeepStyles: shouldKeepStyles,
|
11273
|
+
shouldEndContainerOnEmptyBlock: shouldEndContainerOnEmptyBlock,
|
11274
|
+
getFontStyleValues: getFontStyleValues,
|
11275
|
+
getFontSizeClasses: getFontSizeClasses,
|
11276
|
+
getImagesDataImgFilter: getImagesDataImgFilter,
|
11277
|
+
isAutomaticUploadsEnabled: isAutomaticUploadsEnabled,
|
11278
|
+
shouldReuseFileName: shouldReuseFileName,
|
11279
|
+
shouldReplaceBlobUris: shouldReplaceBlobUris,
|
11280
|
+
getImageUploadUrl: getImageUploadUrl,
|
11281
|
+
getImageUploadBasePath: getImageUploadBasePath,
|
11282
|
+
getImagesUploadCredentials: getImagesUploadCredentials,
|
11283
|
+
getImagesUploadHandler: getImagesUploadHandler,
|
11284
|
+
shouldUseContentCssCors: shouldUseContentCssCors,
|
11285
|
+
getInlineBoundarySelector: getInlineBoundarySelector
|
10822
11286
|
};
|
10823
11287
|
|
10824
11288
|
var isInlineTarget = function (editor, elm) {
|
10825
|
-
|
10826
|
-
return is$1(Element.fromDom(elm), selector);
|
11289
|
+
return is$1(Element.fromDom(elm), Settings.getInlineBoundarySelector(editor));
|
10827
11290
|
};
|
10828
11291
|
var isRtl = function (element) {
|
10829
11292
|
return DOMUtils$1.DOM.getStyle(element, 'direction', true) === 'rtl' || hasStrongRtl(element.textContent);
|
@@ -11231,8 +11694,9 @@
|
|
11231
11694
|
throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);
|
11232
11695
|
}
|
11233
11696
|
var args = new Array(argLength);
|
11234
|
-
for (var i = 0; i < args.length; i++)
|
11697
|
+
for (var i = 0; i < args.length; i++) {
|
11235
11698
|
args[i] = arguments[i];
|
11699
|
+
}
|
11236
11700
|
var match = function (branches) {
|
11237
11701
|
var branchKeys = keys(branches);
|
11238
11702
|
if (constructors.length !== branchKeys.length) {
|
@@ -11241,8 +11705,9 @@
|
|
11241
11705
|
var allReqd = forall(constructors, function (reqKey) {
|
11242
11706
|
return contains(branchKeys, reqKey);
|
11243
11707
|
});
|
11244
|
-
if (!allReqd)
|
11708
|
+
if (!allReqd) {
|
11245
11709
|
throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\nRequired: ' + constructors.join(', '));
|
11710
|
+
}
|
11246
11711
|
return branches[key].apply(null, args);
|
11247
11712
|
};
|
11248
11713
|
return {
|
@@ -11567,12 +12032,8 @@
|
|
11567
12032
|
}
|
11568
12033
|
};
|
11569
12034
|
var deleteNormalized = function (elm, afterDeletePosOpt, normalizeWhitespace) {
|
11570
|
-
var prevTextOpt = prevSibling(elm).filter(
|
11571
|
-
|
11572
|
-
});
|
11573
|
-
var nextTextOpt = nextSibling(elm).filter(function (e) {
|
11574
|
-
return NodeType.isText(e.dom());
|
11575
|
-
});
|
12035
|
+
var prevTextOpt = prevSibling(elm).filter(isText);
|
12036
|
+
var nextTextOpt = nextSibling(elm).filter(isText);
|
11576
12037
|
remove$1(elm);
|
11577
12038
|
return liftN([
|
11578
12039
|
prevTextOpt,
|
@@ -13015,118 +13476,6 @@
|
|
13015
13476
|
forwardDeleteCommand: forwardDeleteCommand
|
13016
13477
|
};
|
13017
13478
|
|
13018
|
-
var getBodySetting = function (editor, name, defaultValue) {
|
13019
|
-
var value = editor.getParam(name, defaultValue);
|
13020
|
-
if (value.indexOf('=') !== -1) {
|
13021
|
-
var bodyObj = editor.getParam(name, '', 'hash');
|
13022
|
-
return bodyObj.hasOwnProperty(editor.id) ? bodyObj[editor.id] : defaultValue;
|
13023
|
-
} else {
|
13024
|
-
return value;
|
13025
|
-
}
|
13026
|
-
};
|
13027
|
-
var getIframeAttrs = function (editor) {
|
13028
|
-
return editor.getParam('iframe_attrs', {});
|
13029
|
-
};
|
13030
|
-
var getDocType = function (editor) {
|
13031
|
-
return editor.getParam('doctype', '<!DOCTYPE html>');
|
13032
|
-
};
|
13033
|
-
var getDocumentBaseUrl = function (editor) {
|
13034
|
-
return editor.getParam('document_base_url', '');
|
13035
|
-
};
|
13036
|
-
var getBodyId = function (editor) {
|
13037
|
-
return getBodySetting(editor, 'body_id', 'tinymce');
|
13038
|
-
};
|
13039
|
-
var getBodyClass = function (editor) {
|
13040
|
-
return getBodySetting(editor, 'body_class', '');
|
13041
|
-
};
|
13042
|
-
var getContentSecurityPolicy = function (editor) {
|
13043
|
-
return editor.getParam('content_security_policy', '');
|
13044
|
-
};
|
13045
|
-
var shouldPutBrInPre = function (editor) {
|
13046
|
-
return editor.getParam('br_in_pre', true);
|
13047
|
-
};
|
13048
|
-
var getForcedRootBlock = function (editor) {
|
13049
|
-
if (editor.getParam('force_p_newlines', false)) {
|
13050
|
-
return 'p';
|
13051
|
-
}
|
13052
|
-
var block = editor.getParam('forced_root_block', 'p');
|
13053
|
-
return block === false ? '' : block;
|
13054
|
-
};
|
13055
|
-
var getForcedRootBlockAttrs = function (editor) {
|
13056
|
-
return editor.getParam('forced_root_block_attrs', {});
|
13057
|
-
};
|
13058
|
-
var getBrNewLineSelector = function (editor) {
|
13059
|
-
return editor.getParam('br_newline_selector', '.mce-toc h2,figcaption,caption');
|
13060
|
-
};
|
13061
|
-
var getNoNewLineSelector = function (editor) {
|
13062
|
-
return editor.getParam('no_newline_selector', '');
|
13063
|
-
};
|
13064
|
-
var shouldKeepStyles = function (editor) {
|
13065
|
-
return editor.getParam('keep_styles', true);
|
13066
|
-
};
|
13067
|
-
var shouldEndContainerOnEmptyBlock = function (editor) {
|
13068
|
-
return editor.getParam('end_container_on_empty_block', false);
|
13069
|
-
};
|
13070
|
-
var getFontStyleValues = function (editor) {
|
13071
|
-
return Tools.explode(editor.getParam('font_size_style_values', ''));
|
13072
|
-
};
|
13073
|
-
var getFontSizeClasses = function (editor) {
|
13074
|
-
return Tools.explode(editor.getParam('font_size_classes', ''));
|
13075
|
-
};
|
13076
|
-
var getImagesDataImgFilter = function (editor) {
|
13077
|
-
return editor.getParam('images_dataimg_filter', constant(true), 'function');
|
13078
|
-
};
|
13079
|
-
var isAutomaticUploadsEnabled = function (editor) {
|
13080
|
-
return editor.getParam('automatic_uploads', true, 'boolean');
|
13081
|
-
};
|
13082
|
-
var shouldReuseFileName = function (editor) {
|
13083
|
-
return editor.getParam('images_reuse_filename', false, 'boolean');
|
13084
|
-
};
|
13085
|
-
var shouldReplaceBlobUris = function (editor) {
|
13086
|
-
return editor.getParam('images_replace_blob_uris', true, 'boolean');
|
13087
|
-
};
|
13088
|
-
var getImageUploadUrl = function (editor) {
|
13089
|
-
return editor.getParam('images_upload_url', '', 'string');
|
13090
|
-
};
|
13091
|
-
var getImageUploadBasePath = function (editor) {
|
13092
|
-
return editor.getParam('images_upload_base_path', '', 'string');
|
13093
|
-
};
|
13094
|
-
var getImagesUploadCredentials = function (editor) {
|
13095
|
-
return editor.getParam('images_upload_credentials', false, 'boolean');
|
13096
|
-
};
|
13097
|
-
var getImagesUploadHandler = function (editor) {
|
13098
|
-
return editor.getParam('images_upload_handler', null, 'function');
|
13099
|
-
};
|
13100
|
-
var shouldUseContentCssCors = function (editor) {
|
13101
|
-
return editor.getParam('content_css_cors', false, 'boolean');
|
13102
|
-
};
|
13103
|
-
var Settings = {
|
13104
|
-
getIframeAttrs: getIframeAttrs,
|
13105
|
-
getDocType: getDocType,
|
13106
|
-
getDocumentBaseUrl: getDocumentBaseUrl,
|
13107
|
-
getBodyId: getBodyId,
|
13108
|
-
getBodyClass: getBodyClass,
|
13109
|
-
getContentSecurityPolicy: getContentSecurityPolicy,
|
13110
|
-
shouldPutBrInPre: shouldPutBrInPre,
|
13111
|
-
getForcedRootBlock: getForcedRootBlock,
|
13112
|
-
getForcedRootBlockAttrs: getForcedRootBlockAttrs,
|
13113
|
-
getBrNewLineSelector: getBrNewLineSelector,
|
13114
|
-
getNoNewLineSelector: getNoNewLineSelector,
|
13115
|
-
shouldKeepStyles: shouldKeepStyles,
|
13116
|
-
shouldEndContainerOnEmptyBlock: shouldEndContainerOnEmptyBlock,
|
13117
|
-
getFontStyleValues: getFontStyleValues,
|
13118
|
-
getFontSizeClasses: getFontSizeClasses,
|
13119
|
-
getImagesDataImgFilter: getImagesDataImgFilter,
|
13120
|
-
isAutomaticUploadsEnabled: isAutomaticUploadsEnabled,
|
13121
|
-
shouldReuseFileName: shouldReuseFileName,
|
13122
|
-
shouldReplaceBlobUris: shouldReplaceBlobUris,
|
13123
|
-
getImageUploadUrl: getImageUploadUrl,
|
13124
|
-
getImageUploadBasePath: getImageUploadBasePath,
|
13125
|
-
getImagesUploadCredentials: getImagesUploadCredentials,
|
13126
|
-
getImagesUploadHandler: getImagesUploadHandler,
|
13127
|
-
shouldUseContentCssCors: shouldUseContentCssCors
|
13128
|
-
};
|
13129
|
-
|
13130
13479
|
var getSpecifiedFontProp = function (propName, rootElm, elm) {
|
13131
13480
|
var getProperty = function (elm) {
|
13132
13481
|
return getRaw(elm, propName);
|
@@ -13549,6 +13898,9 @@
|
|
13549
13898
|
};
|
13550
13899
|
var InsertBr = { insert: insert };
|
13551
13900
|
|
13901
|
+
var create$3 = Immutable('start', 'soffset', 'finish', 'foffset');
|
13902
|
+
var SimRange = { create: create$3 };
|
13903
|
+
|
13552
13904
|
var adt = Adt.generate([
|
13553
13905
|
{ before: ['element'] },
|
13554
13906
|
{
|
@@ -13559,8 +13911,24 @@
|
|
13559
13911
|
},
|
13560
13912
|
{ after: ['element'] }
|
13561
13913
|
]);
|
13914
|
+
var cata = function (subject, onBefore, onOn, onAfter) {
|
13915
|
+
return subject.fold(onBefore, onOn, onAfter);
|
13916
|
+
};
|
13917
|
+
var getStart = function (situ) {
|
13918
|
+
return situ.fold(identity, identity, identity);
|
13919
|
+
};
|
13920
|
+
var before$4 = adt.before;
|
13921
|
+
var on = adt.on;
|
13922
|
+
var after$3 = adt.after;
|
13923
|
+
var Situ = {
|
13924
|
+
before: before$4,
|
13925
|
+
on: on,
|
13926
|
+
after: after$3,
|
13927
|
+
cata: cata,
|
13928
|
+
getStart: getStart
|
13929
|
+
};
|
13562
13930
|
|
13563
|
-
var
|
13931
|
+
var adt$1 = Adt.generate([
|
13564
13932
|
{ domRange: ['rng'] },
|
13565
13933
|
{
|
13566
13934
|
relative: [
|
@@ -13577,7 +13945,38 @@
|
|
13577
13945
|
]
|
13578
13946
|
}
|
13579
13947
|
]);
|
13580
|
-
var
|
13948
|
+
var exactFromRange = function (simRange) {
|
13949
|
+
return adt$1.exact(simRange.start(), simRange.soffset(), simRange.finish(), simRange.foffset());
|
13950
|
+
};
|
13951
|
+
var getStart$1 = function (selection) {
|
13952
|
+
return selection.match({
|
13953
|
+
domRange: function (rng) {
|
13954
|
+
return Element.fromDom(rng.startContainer);
|
13955
|
+
},
|
13956
|
+
relative: function (startSitu, finishSitu) {
|
13957
|
+
return Situ.getStart(startSitu);
|
13958
|
+
},
|
13959
|
+
exact: function (start, soffset, finish, foffset) {
|
13960
|
+
return start;
|
13961
|
+
}
|
13962
|
+
});
|
13963
|
+
};
|
13964
|
+
var domRange = adt$1.domRange;
|
13965
|
+
var relative = adt$1.relative;
|
13966
|
+
var exact = adt$1.exact;
|
13967
|
+
var getWin = function (selection) {
|
13968
|
+
var start = getStart$1(selection);
|
13969
|
+
return defaultView(start);
|
13970
|
+
};
|
13971
|
+
var range = SimRange.create;
|
13972
|
+
var Selection = {
|
13973
|
+
domRange: domRange,
|
13974
|
+
relative: relative,
|
13975
|
+
exact: exact,
|
13976
|
+
exactFromRange: exactFromRange,
|
13977
|
+
getWin: getWin,
|
13978
|
+
range: range
|
13979
|
+
};
|
13581
13980
|
|
13582
13981
|
var browser$3 = PlatformDetection$1.detect().browser;
|
13583
13982
|
var clamp = function (offset, element) {
|
@@ -13590,10 +13989,10 @@
|
|
13590
13989
|
return offset;
|
13591
13990
|
};
|
13592
13991
|
var normalizeRng = function (rng) {
|
13593
|
-
return range(rng.start(), clamp(rng.soffset(), rng.start()), rng.finish(), clamp(rng.foffset(), rng.finish()));
|
13992
|
+
return Selection.range(rng.start(), clamp(rng.soffset(), rng.start()), rng.finish(), clamp(rng.foffset(), rng.finish()));
|
13594
13993
|
};
|
13595
13994
|
var isOrContains = function (root, elm) {
|
13596
|
-
return contains$3(root, elm) || eq(root, elm);
|
13995
|
+
return !NodeType.isRestrictedNode(elm.dom()) && (contains$3(root, elm) || eq(root, elm));
|
13597
13996
|
};
|
13598
13997
|
var isRngInRoot = function (root) {
|
13599
13998
|
return function (rng) {
|
@@ -13604,7 +14003,7 @@
|
|
13604
14003
|
return editor.inline === true || browser$3.isIE();
|
13605
14004
|
};
|
13606
14005
|
var nativeRangeToSelectionRange = function (r) {
|
13607
|
-
return range(Element.fromDom(r.startContainer), r.startOffset, Element.fromDom(r.endContainer), r.endOffset);
|
14006
|
+
return Selection.range(Element.fromDom(r.startContainer), r.startOffset, Element.fromDom(r.endContainer), r.endOffset);
|
13608
14007
|
};
|
13609
14008
|
var readRange = function (win) {
|
13610
14009
|
var selection = win.getSelection();
|
@@ -14513,6 +14912,156 @@
|
|
14513
14912
|
EditorObservable = Tools.extend({}, Observable, EditorObservable);
|
14514
14913
|
var EditorObservable$1 = EditorObservable;
|
14515
14914
|
|
14915
|
+
var sectionResult = Immutable('sections', 'settings');
|
14916
|
+
var detection = PlatformDetection$1.detect();
|
14917
|
+
var isTouch = detection.deviceType.isTouch();
|
14918
|
+
var mobilePlugins = [
|
14919
|
+
'lists',
|
14920
|
+
'autolink',
|
14921
|
+
'autosave'
|
14922
|
+
];
|
14923
|
+
var defaultMobileSettings = { theme: 'mobile' };
|
14924
|
+
var normalizePlugins = function (plugins) {
|
14925
|
+
var pluginNames = isArray(plugins) ? plugins.join(' ') : plugins;
|
14926
|
+
var trimmedPlugins = map(isString(pluginNames) ? pluginNames.split(' ') : [], trim$2);
|
14927
|
+
return filter(trimmedPlugins, function (item) {
|
14928
|
+
return item.length > 0;
|
14929
|
+
});
|
14930
|
+
};
|
14931
|
+
var filterMobilePlugins = function (plugins) {
|
14932
|
+
return filter(plugins, curry(contains, mobilePlugins));
|
14933
|
+
};
|
14934
|
+
var extractSections = function (keys, settings) {
|
14935
|
+
var result = bifilter(settings, function (value, key) {
|
14936
|
+
return contains(keys, key);
|
14937
|
+
});
|
14938
|
+
return sectionResult(result.t, result.f);
|
14939
|
+
};
|
14940
|
+
var getSection = function (sectionResult, name, defaults) {
|
14941
|
+
var sections = sectionResult.sections();
|
14942
|
+
var sectionSettings = sections.hasOwnProperty(name) ? sections[name] : {};
|
14943
|
+
return Tools.extend({}, defaults, sectionSettings);
|
14944
|
+
};
|
14945
|
+
var hasSection = function (sectionResult, name) {
|
14946
|
+
return sectionResult.sections().hasOwnProperty(name);
|
14947
|
+
};
|
14948
|
+
var getDefaultSettings = function (id, documentBaseUrl, editor) {
|
14949
|
+
return {
|
14950
|
+
id: id,
|
14951
|
+
theme: 'modern',
|
14952
|
+
delta_width: 0,
|
14953
|
+
delta_height: 0,
|
14954
|
+
popup_css: '',
|
14955
|
+
plugins: '',
|
14956
|
+
document_base_url: documentBaseUrl,
|
14957
|
+
add_form_submit_trigger: true,
|
14958
|
+
submit_patch: true,
|
14959
|
+
add_unload_trigger: true,
|
14960
|
+
convert_urls: true,
|
14961
|
+
relative_urls: true,
|
14962
|
+
remove_script_host: true,
|
14963
|
+
object_resizing: true,
|
14964
|
+
doctype: '<!DOCTYPE html>',
|
14965
|
+
visual: true,
|
14966
|
+
font_size_style_values: 'xx-small,x-small,small,medium,large,x-large,xx-large',
|
14967
|
+
font_size_legacy_values: 'xx-small,small,medium,large,x-large,xx-large,300%',
|
14968
|
+
forced_root_block: 'p',
|
14969
|
+
hidden_input: true,
|
14970
|
+
render_ui: true,
|
14971
|
+
indentation: '40px',
|
14972
|
+
inline_styles: true,
|
14973
|
+
convert_fonts_to_spans: true,
|
14974
|
+
indent: 'simple',
|
14975
|
+
indent_before: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist',
|
14976
|
+
indent_after: 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,' + 'tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist',
|
14977
|
+
entity_encoding: 'named',
|
14978
|
+
url_converter: editor.convertURL,
|
14979
|
+
url_converter_scope: editor,
|
14980
|
+
ie7_compat: true
|
14981
|
+
};
|
14982
|
+
};
|
14983
|
+
var getExternalPlugins = function (overrideSettings, settings) {
|
14984
|
+
var userDefinedExternalPlugins = settings.external_plugins ? settings.external_plugins : {};
|
14985
|
+
if (overrideSettings && overrideSettings.external_plugins) {
|
14986
|
+
return Tools.extend({}, overrideSettings.external_plugins, userDefinedExternalPlugins);
|
14987
|
+
} else {
|
14988
|
+
return userDefinedExternalPlugins;
|
14989
|
+
}
|
14990
|
+
};
|
14991
|
+
var combinePlugins = function (forcedPlugins, plugins) {
|
14992
|
+
return [].concat(normalizePlugins(forcedPlugins)).concat(normalizePlugins(plugins));
|
14993
|
+
};
|
14994
|
+
var processPlugins = function (isTouchDevice, sectionResult, defaultOverrideSettings, settings) {
|
14995
|
+
var forcedPlugins = normalizePlugins(defaultOverrideSettings.forced_plugins);
|
14996
|
+
var plugins = normalizePlugins(settings.plugins);
|
14997
|
+
var platformPlugins = isTouchDevice && hasSection(sectionResult, 'mobile') ? filterMobilePlugins(plugins) : plugins;
|
14998
|
+
var combinedPlugins = combinePlugins(forcedPlugins, platformPlugins);
|
14999
|
+
return Tools.extend(settings, { plugins: combinedPlugins.join(' ') });
|
15000
|
+
};
|
15001
|
+
var isOnMobile = function (isTouchDevice, sectionResult) {
|
15002
|
+
var isInline = sectionResult.settings().inline;
|
15003
|
+
return isTouchDevice && hasSection(sectionResult, 'mobile') && !isInline;
|
15004
|
+
};
|
15005
|
+
var combineSettings = function (isTouchDevice, defaultSettings, defaultOverrideSettings, settings) {
|
15006
|
+
var sectionResult = extractSections(['mobile'], settings);
|
15007
|
+
var extendedSettings = Tools.extend(defaultSettings, defaultOverrideSettings, sectionResult.settings(), isOnMobile(isTouchDevice, sectionResult) ? getSection(sectionResult, 'mobile', defaultMobileSettings) : {}, {
|
15008
|
+
validate: true,
|
15009
|
+
content_editable: sectionResult.settings().inline,
|
15010
|
+
external_plugins: getExternalPlugins(defaultOverrideSettings, sectionResult.settings())
|
15011
|
+
});
|
15012
|
+
return processPlugins(isTouchDevice, sectionResult, defaultOverrideSettings, extendedSettings);
|
15013
|
+
};
|
15014
|
+
var getEditorSettings = function (editor, id, documentBaseUrl, defaultOverrideSettings, settings) {
|
15015
|
+
var defaultSettings = getDefaultSettings(id, documentBaseUrl, editor);
|
15016
|
+
return combineSettings(isTouch, defaultSettings, defaultOverrideSettings, settings);
|
15017
|
+
};
|
15018
|
+
var getFiltered = function (predicate, editor, name) {
|
15019
|
+
return Option.from(editor.settings[name]).filter(predicate);
|
15020
|
+
};
|
15021
|
+
var getParamObject = function (value) {
|
15022
|
+
var output = {};
|
15023
|
+
if (typeof value === 'string') {
|
15024
|
+
each(value.indexOf('=') > 0 ? value.split(/[;,](?![^=;,]*(?:[;,]|$))/) : value.split(','), function (val) {
|
15025
|
+
var arr = val.split('=');
|
15026
|
+
if (arr.length > 1) {
|
15027
|
+
output[Tools.trim(arr[0])] = Tools.trim(arr[1]);
|
15028
|
+
} else {
|
15029
|
+
output[Tools.trim(arr[0])] = Tools.trim(arr);
|
15030
|
+
}
|
15031
|
+
});
|
15032
|
+
} else {
|
15033
|
+
output = value;
|
15034
|
+
}
|
15035
|
+
return output;
|
15036
|
+
};
|
15037
|
+
var isArrayOf = function (p) {
|
15038
|
+
return function (a) {
|
15039
|
+
return isArray(a) && forall(a, p);
|
15040
|
+
};
|
15041
|
+
};
|
15042
|
+
var getParam = function (editor, name, defaultVal, type) {
|
15043
|
+
var value = name in editor.settings ? editor.settings[name] : defaultVal;
|
15044
|
+
if (type === 'hash') {
|
15045
|
+
return getParamObject(value);
|
15046
|
+
} else if (type === 'string') {
|
15047
|
+
return getFiltered(isString, editor, name).getOr(defaultVal);
|
15048
|
+
} else if (type === 'number') {
|
15049
|
+
return getFiltered(isNumber, editor, name).getOr(defaultVal);
|
15050
|
+
} else if (type === 'boolean') {
|
15051
|
+
return getFiltered(isBoolean, editor, name).getOr(defaultVal);
|
15052
|
+
} else if (type === 'object') {
|
15053
|
+
return getFiltered(isObject, editor, name).getOr(defaultVal);
|
15054
|
+
} else if (type === 'array') {
|
15055
|
+
return getFiltered(isArray, editor, name).getOr(defaultVal);
|
15056
|
+
} else if (type === 'string[]') {
|
15057
|
+
return getFiltered(isArrayOf(isString), editor, name).getOr(defaultVal);
|
15058
|
+
} else if (type === 'function') {
|
15059
|
+
return getFiltered(isFunction, editor, name).getOr(defaultVal);
|
15060
|
+
} else {
|
15061
|
+
return value;
|
15062
|
+
}
|
15063
|
+
};
|
15064
|
+
|
14516
15065
|
var each$b = Tools.each, explode$2 = Tools.explode;
|
14517
15066
|
var keyCodeLookup = {
|
14518
15067
|
f1: 112,
|
@@ -14665,8 +15214,8 @@
|
|
14665
15214
|
var doc = owner(element).dom();
|
14666
15215
|
return element.dom() === doc.activeElement;
|
14667
15216
|
};
|
14668
|
-
var active = function (
|
14669
|
-
var doc =
|
15217
|
+
var active = function (_doc) {
|
15218
|
+
var doc = _doc !== undefined ? _doc.dom() : domGlobals.document;
|
14670
15219
|
return Option.from(doc.activeElement).map(Element.fromDom);
|
14671
15220
|
};
|
14672
15221
|
var search = function (element) {
|
@@ -16577,9 +17126,17 @@
|
|
16577
17126
|
if (range.collapsed) {
|
16578
17127
|
return false;
|
16579
17128
|
}
|
16580
|
-
|
16581
|
-
|
16582
|
-
|
17129
|
+
if (Env.ie && Env.ie <= 11 && range.startOffset === range.endOffset - 1 && range.startContainer === range.endContainer) {
|
17130
|
+
var elm = range.startContainer.childNodes[range.startOffset];
|
17131
|
+
if (NodeType.isElement(elm)) {
|
17132
|
+
return exists(elm.getClientRects(), function (rect) {
|
17133
|
+
return containsXY(rect, clientX, clientY);
|
17134
|
+
});
|
17135
|
+
}
|
17136
|
+
}
|
17137
|
+
return exists(range.getClientRects(), function (rect) {
|
17138
|
+
return containsXY(rect, clientX, clientY);
|
17139
|
+
});
|
16583
17140
|
};
|
16584
17141
|
var RangePoint = { isXYWithinRange: isXYWithinRange };
|
16585
17142
|
|
@@ -16905,7 +17462,7 @@
|
|
16905
17462
|
if (startContainer.nodeType !== 1) {
|
16906
17463
|
return null;
|
16907
17464
|
}
|
16908
|
-
if (endOffset === startOffset + 1) {
|
17465
|
+
if (endOffset === startOffset + 1 && startContainer === range.endContainer) {
|
16909
17466
|
node = startContainer.childNodes[startOffset];
|
16910
17467
|
}
|
16911
17468
|
if (!isContentEditableFalse$9(node)) {
|
@@ -18618,7 +19175,7 @@
|
|
18618
19175
|
}
|
18619
19176
|
ed.selection.setRng(RangeNormalizer.normalize(ed.selection.getRng()));
|
18620
19177
|
bookmark = GetBookmark.getPersistentBookmark(ed.selection, true);
|
18621
|
-
applyRngStyle(dom, ExpandRange.expandRng(ed, selection.getRng(), formatList)
|
19178
|
+
applyRngStyle(dom, ExpandRange.expandRng(ed, selection.getRng(), formatList));
|
18622
19179
|
if (format.styles) {
|
18623
19180
|
MergeFormats.mergeUnderlineAndColor(dom, format, vars, curSelNode);
|
18624
19181
|
}
|
@@ -19289,17 +19846,20 @@
|
|
19289
19846
|
var baseMerge = function (merger) {
|
19290
19847
|
return function () {
|
19291
19848
|
var objects = new Array(arguments.length);
|
19292
|
-
for (var i = 0; i < objects.length; i++)
|
19849
|
+
for (var i = 0; i < objects.length; i++) {
|
19293
19850
|
objects[i] = arguments[i];
|
19294
|
-
|
19851
|
+
}
|
19852
|
+
if (objects.length === 0) {
|
19295
19853
|
throw new Error('Can\'t merge zero objects');
|
19854
|
+
}
|
19296
19855
|
var ret = {};
|
19297
19856
|
for (var j = 0; j < objects.length; j++) {
|
19298
19857
|
var curObject = objects[j];
|
19299
|
-
for (var key in curObject)
|
19858
|
+
for (var key in curObject) {
|
19300
19859
|
if (hasOwnProperty$2.call(curObject, key)) {
|
19301
19860
|
ret[key] = merger(ret[key], curObject[key]);
|
19302
19861
|
}
|
19862
|
+
}
|
19303
19863
|
}
|
19304
19864
|
return ret;
|
19305
19865
|
};
|
@@ -20632,7 +21192,6 @@
|
|
20632
21192
|
var contextMenuSelectImage = function (evt) {
|
20633
21193
|
var target = evt.target;
|
20634
21194
|
if (isEventOnImageOutsideRange(evt, editor.selection.getRng()) && !evt.isDefaultPrevented()) {
|
20635
|
-
evt.preventDefault();
|
20636
21195
|
editor.selection.select(target);
|
20637
21196
|
}
|
20638
21197
|
};
|
@@ -21428,7 +21987,7 @@
|
|
21428
21987
|
return elm.dom();
|
21429
21988
|
}).getOr(root);
|
21430
21989
|
};
|
21431
|
-
var getStart = function (root, rng, real) {
|
21990
|
+
var getStart$2 = function (root, rng, real) {
|
21432
21991
|
return getEndpointElement(root, rng, true, real, function (elm, offset) {
|
21433
21992
|
return Math.min(childNodesCount(elm), offset);
|
21434
21993
|
});
|
@@ -21488,7 +22047,7 @@
|
|
21488
22047
|
var node, root;
|
21489
22048
|
var selectedBlocks = [];
|
21490
22049
|
root = dom.getRoot();
|
21491
|
-
startElm = dom.getParent(startElm || getStart(root, rng, rng.collapsed), dom.isBlock);
|
22050
|
+
startElm = dom.getParent(startElm || getStart$2(root, rng, rng.collapsed), dom.isBlock);
|
21492
22051
|
endElm = dom.getParent(endElm || getEnd(root, rng, rng.collapsed), dom.isBlock);
|
21493
22052
|
if (startElm && startElm !== root) {
|
21494
22053
|
selectedBlocks.push(startElm);
|
@@ -21537,7 +22096,7 @@
|
|
21537
22096
|
return isAttachedToDom(rng.startContainer) && isAttachedToDom(rng.endContainer);
|
21538
22097
|
}
|
21539
22098
|
};
|
21540
|
-
var Selection = function (dom, win, serializer, editor) {
|
22099
|
+
var Selection$1 = function (dom, win, serializer, editor) {
|
21541
22100
|
var bookmarkManager, controlSelection;
|
21542
22101
|
var selectedRange, explicitRange, selectorChangedData;
|
21543
22102
|
var setCursorLocation = function (node, offset) {
|
@@ -21558,8 +22117,8 @@
|
|
21558
22117
|
var setContent = function (content, args) {
|
21559
22118
|
return SetSelectionContent.setContent(editor, content, args);
|
21560
22119
|
};
|
21561
|
-
var getStart
|
21562
|
-
return getStart(editor.getBody(), getRng(), real);
|
22120
|
+
var getStart = function (real) {
|
22121
|
+
return getStart$2(editor.getBody(), getRng(), real);
|
21563
22122
|
};
|
21564
22123
|
var getEnd$1 = function (real) {
|
21565
22124
|
return getEnd(editor.getBody(), getRng(), real);
|
@@ -21617,7 +22176,7 @@
|
|
21617
22176
|
}
|
21618
22177
|
}
|
21619
22178
|
try {
|
21620
|
-
if (selection = getSel()) {
|
22179
|
+
if ((selection = getSel()) && !NodeType.isRestrictedNode(selection.anchorNode)) {
|
21621
22180
|
if (selection.rangeCount > 0) {
|
21622
22181
|
rng = selection.getRangeAt(0);
|
21623
22182
|
} else {
|
@@ -21824,7 +22383,7 @@
|
|
21824
22383
|
getSel: getSel,
|
21825
22384
|
setRng: setRng,
|
21826
22385
|
getRng: getRng,
|
21827
|
-
getStart: getStart
|
22386
|
+
getStart: getStart,
|
21828
22387
|
getEnd: getEnd$1,
|
21829
22388
|
getSelectedBlocks: getSelectedBlocks$1,
|
21830
22389
|
normalize: normalize,
|
@@ -22332,7 +22891,7 @@
|
|
22332
22891
|
return function () {
|
22333
22892
|
return Option.from(editor.dom.getParent(editor.selection.getNode(), 'td,th')).bind(function (td) {
|
22334
22893
|
return Option.from(editor.dom.getParent(td, 'table')).map(function (table) {
|
22335
|
-
return navigateHorizontally(editor, forward, table
|
22894
|
+
return navigateHorizontally(editor, forward, table);
|
22336
22895
|
});
|
22337
22896
|
}).getOr(false);
|
22338
22897
|
};
|
@@ -23282,9 +23841,20 @@
|
|
23282
23841
|
var navigateIgnoreEmptyTextNodes = function (forward, root, from) {
|
23283
23842
|
return CaretFinder.navigateIgnore(forward, root, from, isEmptyText);
|
23284
23843
|
};
|
23844
|
+
var getClosestBlock = function (root, pos) {
|
23845
|
+
return find(Parents.parentsAndSelf(Element.fromDom(pos.container()), root), isBlock);
|
23846
|
+
};
|
23847
|
+
var isAtBeforeAfterBlockBoundary = function (forward, root, pos) {
|
23848
|
+
return navigateIgnoreEmptyTextNodes(forward, root.dom(), pos).forall(function (newPos) {
|
23849
|
+
return getClosestBlock(root, pos).fold(function () {
|
23850
|
+
return isInSameBlock(newPos, pos, root.dom()) === false;
|
23851
|
+
}, function (fromBlock) {
|
23852
|
+
return isInSameBlock(newPos, pos, root.dom()) === false && contains$3(fromBlock, Element.fromDom(newPos.container()));
|
23853
|
+
});
|
23854
|
+
});
|
23855
|
+
};
|
23285
23856
|
var isAtBlockBoundary = function (forward, root, pos) {
|
23286
|
-
|
23287
|
-
return head(parentBlocks).fold(function () {
|
23857
|
+
return getClosestBlock(root, pos).fold(function () {
|
23288
23858
|
return navigateIgnoreEmptyTextNodes(forward, root.dom(), pos).forall(function (newPos) {
|
23289
23859
|
return isInSameBlock(newPos, pos, root.dom()) === false;
|
23290
23860
|
});
|
@@ -23294,12 +23864,14 @@
|
|
23294
23864
|
};
|
23295
23865
|
var isAtStartOfBlock = curry(isAtBlockBoundary, false);
|
23296
23866
|
var isAtEndOfBlock = curry(isAtBlockBoundary, true);
|
23867
|
+
var isBeforeBlock = curry(isAtBeforeAfterBlockBoundary, false);
|
23868
|
+
var isAfterBlock = curry(isAtBeforeAfterBlockBoundary, true);
|
23297
23869
|
|
23298
23870
|
var nbsp = '\xA0';
|
23299
23871
|
var isInMiddleOfText = function (pos) {
|
23300
23872
|
return CaretPosition.isTextPosition(pos) && !pos.isAtStart() && !pos.isAtEnd();
|
23301
23873
|
};
|
23302
|
-
var getClosestBlock = function (root, pos) {
|
23874
|
+
var getClosestBlock$1 = function (root, pos) {
|
23303
23875
|
var parentBlocks = filter(Parents.parentsAndSelf(Element.fromDom(pos.container()), root), isBlock);
|
23304
23876
|
return head(parentBlocks).getOr(root);
|
23305
23877
|
};
|
@@ -23307,20 +23879,19 @@
|
|
23307
23879
|
if (isInMiddleOfText(pos)) {
|
23308
23880
|
return isAfterSpace(pos);
|
23309
23881
|
} else {
|
23310
|
-
return isAfterSpace(pos) || CaretFinder.prevPosition(getClosestBlock(root, pos).dom(), pos).exists(isAfterSpace);
|
23882
|
+
return isAfterSpace(pos) || CaretFinder.prevPosition(getClosestBlock$1(root, pos).dom(), pos).exists(isAfterSpace);
|
23311
23883
|
}
|
23312
23884
|
};
|
23313
23885
|
var hasSpaceAfter = function (root, pos) {
|
23314
23886
|
if (isInMiddleOfText(pos)) {
|
23315
23887
|
return isBeforeSpace(pos);
|
23316
23888
|
} else {
|
23317
|
-
return isBeforeSpace(pos) || CaretFinder.nextPosition(getClosestBlock(root, pos).dom(), pos).exists(isBeforeSpace);
|
23889
|
+
return isBeforeSpace(pos) || CaretFinder.nextPosition(getClosestBlock$1(root, pos).dom(), pos).exists(isBeforeSpace);
|
23318
23890
|
}
|
23319
23891
|
};
|
23320
23892
|
var isPreValue = function (value) {
|
23321
23893
|
return contains([
|
23322
23894
|
'pre',
|
23323
|
-
'pre-line',
|
23324
23895
|
'pre-wrap'
|
23325
23896
|
], value);
|
23326
23897
|
};
|
@@ -23351,7 +23922,7 @@
|
|
23351
23922
|
if (isInPre(pos)) {
|
23352
23923
|
return false;
|
23353
23924
|
} else {
|
23354
|
-
return isAtStartOfBlock(root, pos) || isAfterBr(root, pos) || hasSpaceBefore(root, pos);
|
23925
|
+
return isAtStartOfBlock(root, pos) || isBeforeBlock(root, pos) || isAfterBr(root, pos) || hasSpaceBefore(root, pos);
|
23355
23926
|
}
|
23356
23927
|
};
|
23357
23928
|
var leanRight = function (pos) {
|
@@ -23368,7 +23939,7 @@
|
|
23368
23939
|
if (isInPre(afterPos)) {
|
23369
23940
|
return false;
|
23370
23941
|
} else {
|
23371
|
-
return isAtEndOfBlock(root, afterPos) || isBeforeBr(root, afterPos) || hasSpaceAfter(root, afterPos);
|
23942
|
+
return isAtEndOfBlock(root, afterPos) || isAfterBlock(root, afterPos) || isBeforeBr(root, afterPos) || hasSpaceAfter(root, afterPos);
|
23372
23943
|
}
|
23373
23944
|
};
|
23374
23945
|
var needsToBeNbsp = function (root, pos) {
|
@@ -24224,7 +24795,7 @@
|
|
24224
24795
|
});
|
24225
24796
|
editor.parser = createParser(editor);
|
24226
24797
|
editor.serializer = DomSerializer$1(settings, editor);
|
24227
|
-
editor.selection = Selection(editor.dom, editor.getWin(), editor.serializer, editor);
|
24798
|
+
editor.selection = Selection$1(editor.dom, editor.getWin(), editor.serializer, editor);
|
24228
24799
|
editor.annotator = Annotator(editor);
|
24229
24800
|
editor.formatter = Formatter(editor);
|
24230
24801
|
editor.undoManager = UndoManager(editor);
|
@@ -25773,8 +26344,8 @@
|
|
25773
26344
|
defaultSettings: {},
|
25774
26345
|
$: DomQuery,
|
25775
26346
|
majorVersion: '4',
|
25776
|
-
minorVersion: '9.
|
25777
|
-
releaseDate: '2019-
|
26347
|
+
minorVersion: '9.6',
|
26348
|
+
releaseDate: '2019-09-02',
|
25778
26349
|
editors: legacyEditors,
|
25779
26350
|
i18n: I18n,
|
25780
26351
|
activeEditor: null,
|
@@ -26171,7 +26742,7 @@
|
|
26171
26742
|
if (rel[4] === 'c') {
|
26172
26743
|
x -= round$2(w / 2);
|
26173
26744
|
}
|
26174
|
-
return create$
|
26745
|
+
return create$4(x, y, w, h);
|
26175
26746
|
};
|
26176
26747
|
var findBestRelativePosition = function (rect, targetRect, constrainRect, rels) {
|
26177
26748
|
var pos, i;
|
@@ -26184,7 +26755,7 @@
|
|
26184
26755
|
return null;
|
26185
26756
|
};
|
26186
26757
|
var inflate = function (rect, w, h) {
|
26187
|
-
return create$
|
26758
|
+
return create$4(rect.x - w, rect.y - h, rect.w + w * 2, rect.h + h * 2);
|
26188
26759
|
};
|
26189
26760
|
var intersect = function (rect, cropRect) {
|
26190
26761
|
var x1, y1, x2, y2;
|
@@ -26195,7 +26766,7 @@
|
|
26195
26766
|
if (x2 - x1 < 0 || y2 - y1 < 0) {
|
26196
26767
|
return null;
|
26197
26768
|
}
|
26198
|
-
return create$
|
26769
|
+
return create$4(x1, y1, x2 - x1, y2 - y1);
|
26199
26770
|
};
|
26200
26771
|
var clamp$1 = function (rect, clampRect, fixedSize) {
|
26201
26772
|
var underflowX1, underflowY1, overflowX2, overflowY2, x1, y1, x2, y2, cx2, cy2;
|
@@ -26219,9 +26790,9 @@
|
|
26219
26790
|
}
|
26220
26791
|
x2 -= overflowX2;
|
26221
26792
|
y2 -= overflowY2;
|
26222
|
-
return create$
|
26793
|
+
return create$4(x1, y1, x2 - x1, y2 - y1);
|
26223
26794
|
};
|
26224
|
-
var create$
|
26795
|
+
var create$4 = function (x, y, w, h) {
|
26225
26796
|
return {
|
26226
26797
|
x: x,
|
26227
26798
|
y: y,
|
@@ -26230,7 +26801,7 @@
|
|
26230
26801
|
};
|
26231
26802
|
};
|
26232
26803
|
var fromClientRect = function (clientRect) {
|
26233
|
-
return create$
|
26804
|
+
return create$4(clientRect.left, clientRect.top, clientRect.width, clientRect.height);
|
26234
26805
|
};
|
26235
26806
|
var Rect = {
|
26236
26807
|
inflate: inflate,
|
@@ -26238,7 +26809,7 @@
|
|
26238
26809
|
findBestRelativePosition: findBestRelativePosition,
|
26239
26810
|
intersect: intersect,
|
26240
26811
|
clamp: clamp$1,
|
26241
|
-
create: create$
|
26812
|
+
create: create$4,
|
26242
26813
|
fromClientRect: fromClientRect
|
26243
26814
|
};
|
26244
26815
|
|
@@ -26676,7 +27247,7 @@
|
|
26676
27247
|
}
|
26677
27248
|
};
|
26678
27249
|
|
26679
|
-
var create$
|
27250
|
+
var create$5 = function () {
|
26680
27251
|
return function () {
|
26681
27252
|
var data = {};
|
26682
27253
|
var keys = [];
|
@@ -26719,7 +27290,7 @@
|
|
26719
27290
|
try {
|
26720
27291
|
localStorage = domGlobals.window.localStorage;
|
26721
27292
|
} catch (e) {
|
26722
|
-
localStorage = create$
|
27293
|
+
localStorage = create$5();
|
26723
27294
|
}
|
26724
27295
|
var LocalStorage = localStorage;
|
26725
27296
|
|
@@ -26754,7 +27325,7 @@
|
|
26754
27325
|
Serializer: DomSerializer$1,
|
26755
27326
|
ControlSelection: ControlSelection,
|
26756
27327
|
BookmarkManager: BookmarkManager$1,
|
26757
|
-
Selection: Selection,
|
27328
|
+
Selection: Selection$1,
|
26758
27329
|
Event: EventUtils.Event
|
26759
27330
|
},
|
26760
27331
|
html: {
|