tinymce-rails 4.9.4 → 4.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/source/tinymce/tinymce.js +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: {
|