@dangl/angular-material-shared 2.2.0 → 2.3.0-beta0037
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.
- package/{esm2015/dangl-angular-material-shared.js → esm2020/dangl-angular-material-shared.mjs} +0 -0
- package/esm2020/lib/angular-material-shared.module.mjs +38 -0
- package/esm2020/lib/components/footer/footer.component.mjs +33 -0
- package/esm2020/lib/components/header/header.component.mjs +80 -0
- package/esm2020/lib/components/tiny-mce/tiny-mce.component.mjs +104 -0
- package/{esm2015/lib/models/footer-options.js → esm2020/lib/models/footer-options.mjs} +0 -0
- package/{esm2015/lib/utils/guid-generator.js → esm2020/lib/utils/guid-generator.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/fesm2015/dangl-angular-material-shared.mjs +292 -0
- package/fesm2015/dangl-angular-material-shared.mjs.map +1 -0
- package/fesm2020/dangl-angular-material-shared.mjs +290 -0
- package/fesm2020/dangl-angular-material-shared.mjs.map +1 -0
- package/{dangl-angular-material-shared.d.ts → index.d.ts} +1 -0
- package/lib/angular-material-shared.module.d.ts +12 -0
- package/lib/components/footer/footer.component.d.ts +3 -0
- package/lib/components/header/header.component.d.ts +3 -0
- package/lib/components/tiny-mce/tiny-mce.component.d.ts +3 -0
- package/package.json +28 -16
- package/styles/material-style.scss +1 -1
- package/styles/material-theme.scss +4 -3
- package/styles/material-variables.scss +9 -8
- package/tinymce-assets/icons/default/icons.js +11 -1
- package/tinymce-assets/icons/default/icons.min.js +1 -1
- package/tinymce-assets/langs/cs.js +118 -75
- package/tinymce-assets/langs/cy.js +61 -18
- package/tinymce-assets/langs/da.js +60 -17
- package/tinymce-assets/langs/de.js +60 -17
- package/tinymce-assets/langs/eo.js +334 -138
- package/tinymce-assets/langs/es_ES.js +32 -2
- package/tinymce-assets/langs/fa.js +60 -17
- package/tinymce-assets/langs/fa_IR.js +31 -1
- package/tinymce-assets/langs/fr_FR.js +60 -17
- package/tinymce-assets/langs/hu_HU.js +60 -17
- package/tinymce-assets/langs/ja.js +60 -17
- package/tinymce-assets/langs/ko_KR.js +3 -3
- package/tinymce-assets/langs/nb_NO.js +61 -18
- package/tinymce-assets/langs/nl.js +60 -17
- package/tinymce-assets/langs/pl.js +60 -17
- package/tinymce-assets/langs/pt_BR.js +60 -17
- package/tinymce-assets/langs/pt_PT.js +60 -17
- package/tinymce-assets/langs/ro.js +60 -17
- package/tinymce-assets/langs/ro_RO.js +32 -2
- package/tinymce-assets/langs/ru.js +60 -17
- package/tinymce-assets/langs/ru_RU.js +445 -0
- package/tinymce-assets/langs/sl.js +59 -14
- package/tinymce-assets/langs/ta.js +60 -17
- package/tinymce-assets/langs/ta_IN.js +60 -17
- package/tinymce-assets/langs/th_TH.js +60 -17
- package/tinymce-assets/langs/tr_TR.js +81 -8
- package/tinymce-assets/langs/vi.js +179 -21
- package/tinymce-assets/langs/zh_CN.js +60 -17
- package/tinymce-assets/plugins/advlist/plugin.js +29 -48
- package/tinymce-assets/plugins/advlist/plugin.min.js +2 -2
- package/tinymce-assets/plugins/anchor/plugin.js +8 -8
- package/tinymce-assets/plugins/anchor/plugin.min.js +2 -2
- package/tinymce-assets/plugins/autolink/plugin.js +58 -30
- package/tinymce-assets/plugins/autolink/plugin.min.js +2 -2
- package/tinymce-assets/plugins/autoresize/plugin.js +25 -12
- package/tinymce-assets/plugins/autoresize/plugin.min.js +2 -2
- package/tinymce-assets/plugins/autosave/plugin.js +9 -9
- package/tinymce-assets/plugins/autosave/plugin.min.js +2 -2
- package/tinymce-assets/plugins/bbcode/plugin.js +6 -6
- package/tinymce-assets/plugins/bbcode/plugin.min.js +2 -2
- package/tinymce-assets/plugins/charmap/plugin.js +39 -49
- package/tinymce-assets/plugins/charmap/plugin.min.js +2 -2
- package/tinymce-assets/plugins/code/plugin.js +9 -10
- package/tinymce-assets/plugins/code/plugin.min.js +2 -2
- package/tinymce-assets/plugins/codesample/plugin.js +1921 -1914
- package/tinymce-assets/plugins/codesample/plugin.min.js +2 -2
- package/tinymce-assets/plugins/colorpicker/plugin.js +1 -2
- package/tinymce-assets/plugins/colorpicker/plugin.min.js +2 -2
- package/tinymce-assets/plugins/contextmenu/plugin.js +1 -2
- package/tinymce-assets/plugins/contextmenu/plugin.min.js +2 -2
- package/tinymce-assets/plugins/directionality/plugin.js +186 -53
- package/tinymce-assets/plugins/directionality/plugin.min.js +2 -2
- package/tinymce-assets/plugins/emoticons/js/emojiimages.js +1572 -1572
- package/tinymce-assets/plugins/emoticons/js/emojiimages.min.js +1 -1
- package/tinymce-assets/plugins/emoticons/js/emojis.js +1572 -1572
- package/tinymce-assets/plugins/emoticons/js/emojis.min.js +1 -1
- package/tinymce-assets/plugins/emoticons/plugin.js +231 -200
- package/tinymce-assets/plugins/emoticons/plugin.min.js +2 -2
- package/tinymce-assets/plugins/fullpage/plugin.js +42 -42
- package/tinymce-assets/plugins/fullpage/plugin.min.js +2 -2
- package/tinymce-assets/plugins/fullscreen/plugin.js +496 -129
- package/tinymce-assets/plugins/fullscreen/plugin.min.js +2 -2
- package/tinymce-assets/plugins/help/plugin.js +101 -122
- package/tinymce-assets/plugins/help/plugin.min.js +2 -2
- package/tinymce-assets/plugins/hr/plugin.js +9 -10
- package/tinymce-assets/plugins/hr/plugin.min.js +2 -2
- package/tinymce-assets/plugins/image/plugin.js +78 -73
- package/tinymce-assets/plugins/image/plugin.min.js +2 -2
- package/tinymce-assets/plugins/imagetools/plugin.js +484 -307
- package/tinymce-assets/plugins/imagetools/plugin.min.js +2 -2
- package/tinymce-assets/plugins/importcss/plugin.js +50 -51
- package/tinymce-assets/plugins/importcss/plugin.min.js +2 -2
- package/tinymce-assets/plugins/insertdatetime/plugin.js +22 -17
- package/tinymce-assets/plugins/insertdatetime/plugin.min.js +2 -2
- package/tinymce-assets/plugins/legacyoutput/plugin.js +8 -8
- package/tinymce-assets/plugins/legacyoutput/plugin.min.js +2 -2
- package/tinymce-assets/plugins/link/plugin.js +131 -125
- package/tinymce-assets/plugins/link/plugin.min.js +2 -2
- package/tinymce-assets/plugins/lists/plugin.js +256 -229
- package/tinymce-assets/plugins/lists/plugin.min.js +2 -2
- package/tinymce-assets/plugins/media/plugin.js +124 -147
- package/tinymce-assets/plugins/media/plugin.min.js +2 -2
- package/tinymce-assets/plugins/nonbreaking/plugin.js +13 -14
- package/tinymce-assets/plugins/nonbreaking/plugin.min.js +2 -2
- package/tinymce-assets/plugins/noneditable/plugin.js +6 -6
- package/tinymce-assets/plugins/noneditable/plugin.min.js +2 -2
- package/tinymce-assets/plugins/pagebreak/plugin.js +16 -17
- package/tinymce-assets/plugins/pagebreak/plugin.min.js +2 -2
- package/tinymce-assets/plugins/paste/plugin.js +196 -157
- package/tinymce-assets/plugins/paste/plugin.min.js +2 -2
- package/tinymce-assets/plugins/preview/plugin.js +13 -14
- package/tinymce-assets/plugins/preview/plugin.min.js +2 -2
- package/tinymce-assets/plugins/print/plugin.js +13 -14
- package/tinymce-assets/plugins/print/plugin.min.js +2 -2
- package/tinymce-assets/plugins/quickbars/plugin.js +33 -48
- package/tinymce-assets/plugins/quickbars/plugin.min.js +2 -2
- package/tinymce-assets/plugins/save/plugin.js +9 -8
- package/tinymce-assets/plugins/save/plugin.min.js +2 -2
- package/tinymce-assets/plugins/searchreplace/plugin.js +73 -70
- package/tinymce-assets/plugins/searchreplace/plugin.min.js +2 -2
- package/tinymce-assets/plugins/spellchecker/plugin.js +22 -23
- package/tinymce-assets/plugins/spellchecker/plugin.min.js +2 -2
- package/tinymce-assets/plugins/tabfocus/plugin.js +21 -20
- package/tinymce-assets/plugins/tabfocus/plugin.min.js +2 -2
- package/tinymce-assets/plugins/table/plugin.js +2831 -2264
- package/tinymce-assets/plugins/table/plugin.min.js +2 -2
- package/tinymce-assets/plugins/template/plugin.js +84 -70
- package/tinymce-assets/plugins/template/plugin.min.js +2 -2
- package/tinymce-assets/plugins/textcolor/plugin.js +1 -2
- package/tinymce-assets/plugins/textcolor/plugin.min.js +2 -2
- package/tinymce-assets/plugins/textpattern/plugin.js +76 -96
- package/tinymce-assets/plugins/textpattern/plugin.min.js +2 -2
- package/tinymce-assets/plugins/toc/plugin.js +31 -29
- package/tinymce-assets/plugins/toc/plugin.min.js +2 -2
- package/tinymce-assets/plugins/visualblocks/plugin.js +10 -11
- package/tinymce-assets/plugins/visualblocks/plugin.min.js +2 -2
- package/tinymce-assets/plugins/visualchars/plugin.js +52 -67
- package/tinymce-assets/plugins/visualchars/plugin.min.js +2 -2
- package/tinymce-assets/plugins/wordcount/plugin.js +67 -58
- package/tinymce-assets/plugins/wordcount/plugin.min.js +2 -2
- package/tinymce-assets/skins/ui/oxide/content.css +1 -1
- package/tinymce-assets/skins/ui/oxide/content.inline.css +1 -1
- package/tinymce-assets/skins/ui/oxide/content.inline.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide/content.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide/skin.css +35 -22
- package/tinymce-assets/skins/ui/oxide/skin.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide/skin.shadowdom.css +7 -7
- package/tinymce-assets/skins/ui/oxide/skin.shadowdom.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/content.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/content.inline.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/content.inline.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/content.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/skin.css +35 -22
- package/tinymce-assets/skins/ui/oxide-dark/skin.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.css +7 -7
- package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -1
- package/tinymce-assets/themes/mobile/theme.js +2798 -3255
- package/tinymce-assets/themes/mobile/theme.min.js +2 -2
- package/tinymce-assets/themes/silver/theme.js +25400 -25371
- package/tinymce-assets/themes/silver/theme.min.js +2 -2
- package/bundles/dangl-angular-material-shared.umd.js +0 -285
- package/bundles/dangl-angular-material-shared.umd.js.map +0 -1
- package/dangl-angular-material-shared.metadata.json +0 -1
- package/esm2015/lib/angular-material-shared.module.js +0 -25
- package/esm2015/lib/components/footer/footer.component.js +0 -27
- package/esm2015/lib/components/header/header.component.js +0 -67
- package/esm2015/lib/components/tiny-mce/tiny-mce.component.js +0 -100
- package/fesm2015/dangl-angular-material-shared.js +0 -259
- package/fesm2015/dangl-angular-material-shared.js.map +0 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* For LGPL see License.txt in the project root for license information.
|
|
5
5
|
* For commercial licenses see https://www.tiny.cloud/
|
|
6
6
|
*
|
|
7
|
-
* Version: 5.
|
|
7
|
+
* Version: 5.10.3 (2022-02-09)
|
|
8
8
|
*/
|
|
9
9
|
(function () {
|
|
10
10
|
'use strict';
|
|
@@ -23,15 +23,33 @@
|
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
|
26
|
+
var global$5 = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
|
27
27
|
|
|
28
|
-
var global$
|
|
28
|
+
var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');
|
|
29
29
|
|
|
30
|
+
var typeOf = function (x) {
|
|
31
|
+
var t = typeof x;
|
|
32
|
+
if (x === null) {
|
|
33
|
+
return 'null';
|
|
34
|
+
} else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {
|
|
35
|
+
return 'array';
|
|
36
|
+
} else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {
|
|
37
|
+
return 'string';
|
|
38
|
+
} else {
|
|
39
|
+
return t;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
var isType = function (type) {
|
|
43
|
+
return function (value) {
|
|
44
|
+
return typeOf(value) === type;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
30
47
|
var isSimpleType = function (type) {
|
|
31
48
|
return function (value) {
|
|
32
49
|
return typeof value === type;
|
|
33
50
|
};
|
|
34
51
|
};
|
|
52
|
+
var isArray = isType('array');
|
|
35
53
|
var isNullable = function (a) {
|
|
36
54
|
return a === null || a === undefined;
|
|
37
55
|
};
|
|
@@ -47,6 +65,9 @@
|
|
|
47
65
|
return value;
|
|
48
66
|
};
|
|
49
67
|
};
|
|
68
|
+
var identity = function (x) {
|
|
69
|
+
return x;
|
|
70
|
+
};
|
|
50
71
|
var never = constant(false);
|
|
51
72
|
var always = constant(true);
|
|
52
73
|
|
|
@@ -54,20 +75,14 @@
|
|
|
54
75
|
return NONE;
|
|
55
76
|
};
|
|
56
77
|
var NONE = function () {
|
|
57
|
-
var eq = function (o) {
|
|
58
|
-
return o.isNone();
|
|
59
|
-
};
|
|
60
78
|
var call = function (thunk) {
|
|
61
79
|
return thunk();
|
|
62
80
|
};
|
|
63
|
-
var id =
|
|
64
|
-
return n;
|
|
65
|
-
};
|
|
81
|
+
var id = identity;
|
|
66
82
|
var me = {
|
|
67
83
|
fold: function (n, _s) {
|
|
68
84
|
return n();
|
|
69
85
|
},
|
|
70
|
-
is: never,
|
|
71
86
|
isSome: never,
|
|
72
87
|
isNone: always,
|
|
73
88
|
getOr: id,
|
|
@@ -84,9 +99,9 @@
|
|
|
84
99
|
bind: none,
|
|
85
100
|
exists: never,
|
|
86
101
|
forall: always,
|
|
87
|
-
filter:
|
|
88
|
-
|
|
89
|
-
|
|
102
|
+
filter: function () {
|
|
103
|
+
return none();
|
|
104
|
+
},
|
|
90
105
|
toArray: function () {
|
|
91
106
|
return [];
|
|
92
107
|
},
|
|
@@ -106,9 +121,6 @@
|
|
|
106
121
|
fold: function (n, s) {
|
|
107
122
|
return s(a);
|
|
108
123
|
},
|
|
109
|
-
is: function (v) {
|
|
110
|
-
return a === v;
|
|
111
|
-
},
|
|
112
124
|
isSome: always,
|
|
113
125
|
isNone: never,
|
|
114
126
|
getOr: constant_a,
|
|
@@ -135,14 +147,6 @@
|
|
|
135
147
|
},
|
|
136
148
|
toString: function () {
|
|
137
149
|
return 'some(' + a + ')';
|
|
138
|
-
},
|
|
139
|
-
equals: function (o) {
|
|
140
|
-
return o.is(a);
|
|
141
|
-
},
|
|
142
|
-
equals_: function (o, elementEq) {
|
|
143
|
-
return o.fold(never, function (b) {
|
|
144
|
-
return elementEq(a, b);
|
|
145
|
-
});
|
|
146
150
|
}
|
|
147
151
|
};
|
|
148
152
|
return me;
|
|
@@ -156,11 +160,226 @@
|
|
|
156
160
|
from: from
|
|
157
161
|
};
|
|
158
162
|
|
|
159
|
-
var
|
|
163
|
+
var exports$1 = {}, module = { exports: exports$1 };
|
|
164
|
+
(function (define, exports, module, require) {
|
|
165
|
+
(function (global, factory) {
|
|
166
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EphoxContactWrapper = factory());
|
|
167
|
+
}(this, function () {
|
|
168
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
169
|
+
var promise = { exports: {} };
|
|
170
|
+
(function (module) {
|
|
171
|
+
(function (root) {
|
|
172
|
+
var setTimeoutFunc = setTimeout;
|
|
173
|
+
function noop() {
|
|
174
|
+
}
|
|
175
|
+
function bind(fn, thisArg) {
|
|
176
|
+
return function () {
|
|
177
|
+
fn.apply(thisArg, arguments);
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function Promise(fn) {
|
|
181
|
+
if (typeof this !== 'object')
|
|
182
|
+
throw new TypeError('Promises must be constructed via new');
|
|
183
|
+
if (typeof fn !== 'function')
|
|
184
|
+
throw new TypeError('not a function');
|
|
185
|
+
this._state = 0;
|
|
186
|
+
this._handled = false;
|
|
187
|
+
this._value = undefined;
|
|
188
|
+
this._deferreds = [];
|
|
189
|
+
doResolve(fn, this);
|
|
190
|
+
}
|
|
191
|
+
function handle(self, deferred) {
|
|
192
|
+
while (self._state === 3) {
|
|
193
|
+
self = self._value;
|
|
194
|
+
}
|
|
195
|
+
if (self._state === 0) {
|
|
196
|
+
self._deferreds.push(deferred);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
self._handled = true;
|
|
200
|
+
Promise._immediateFn(function () {
|
|
201
|
+
var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
|
|
202
|
+
if (cb === null) {
|
|
203
|
+
(self._state === 1 ? resolve : reject)(deferred.promise, self._value);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
var ret;
|
|
207
|
+
try {
|
|
208
|
+
ret = cb(self._value);
|
|
209
|
+
} catch (e) {
|
|
210
|
+
reject(deferred.promise, e);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
resolve(deferred.promise, ret);
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
function resolve(self, newValue) {
|
|
217
|
+
try {
|
|
218
|
+
if (newValue === self)
|
|
219
|
+
throw new TypeError('A promise cannot be resolved with itself.');
|
|
220
|
+
if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {
|
|
221
|
+
var then = newValue.then;
|
|
222
|
+
if (newValue instanceof Promise) {
|
|
223
|
+
self._state = 3;
|
|
224
|
+
self._value = newValue;
|
|
225
|
+
finale(self);
|
|
226
|
+
return;
|
|
227
|
+
} else if (typeof then === 'function') {
|
|
228
|
+
doResolve(bind(then, newValue), self);
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
self._state = 1;
|
|
233
|
+
self._value = newValue;
|
|
234
|
+
finale(self);
|
|
235
|
+
} catch (e) {
|
|
236
|
+
reject(self, e);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
function reject(self, newValue) {
|
|
240
|
+
self._state = 2;
|
|
241
|
+
self._value = newValue;
|
|
242
|
+
finale(self);
|
|
243
|
+
}
|
|
244
|
+
function finale(self) {
|
|
245
|
+
if (self._state === 2 && self._deferreds.length === 0) {
|
|
246
|
+
Promise._immediateFn(function () {
|
|
247
|
+
if (!self._handled) {
|
|
248
|
+
Promise._unhandledRejectionFn(self._value);
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
for (var i = 0, len = self._deferreds.length; i < len; i++) {
|
|
253
|
+
handle(self, self._deferreds[i]);
|
|
254
|
+
}
|
|
255
|
+
self._deferreds = null;
|
|
256
|
+
}
|
|
257
|
+
function Handler(onFulfilled, onRejected, promise) {
|
|
258
|
+
this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
|
|
259
|
+
this.onRejected = typeof onRejected === 'function' ? onRejected : null;
|
|
260
|
+
this.promise = promise;
|
|
261
|
+
}
|
|
262
|
+
function doResolve(fn, self) {
|
|
263
|
+
var done = false;
|
|
264
|
+
try {
|
|
265
|
+
fn(function (value) {
|
|
266
|
+
if (done)
|
|
267
|
+
return;
|
|
268
|
+
done = true;
|
|
269
|
+
resolve(self, value);
|
|
270
|
+
}, function (reason) {
|
|
271
|
+
if (done)
|
|
272
|
+
return;
|
|
273
|
+
done = true;
|
|
274
|
+
reject(self, reason);
|
|
275
|
+
});
|
|
276
|
+
} catch (ex) {
|
|
277
|
+
if (done)
|
|
278
|
+
return;
|
|
279
|
+
done = true;
|
|
280
|
+
reject(self, ex);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
Promise.prototype['catch'] = function (onRejected) {
|
|
284
|
+
return this.then(null, onRejected);
|
|
285
|
+
};
|
|
286
|
+
Promise.prototype.then = function (onFulfilled, onRejected) {
|
|
287
|
+
var prom = new this.constructor(noop);
|
|
288
|
+
handle(this, new Handler(onFulfilled, onRejected, prom));
|
|
289
|
+
return prom;
|
|
290
|
+
};
|
|
291
|
+
Promise.all = function (arr) {
|
|
292
|
+
var args = Array.prototype.slice.call(arr);
|
|
293
|
+
return new Promise(function (resolve, reject) {
|
|
294
|
+
if (args.length === 0)
|
|
295
|
+
return resolve([]);
|
|
296
|
+
var remaining = args.length;
|
|
297
|
+
function res(i, val) {
|
|
298
|
+
try {
|
|
299
|
+
if (val && (typeof val === 'object' || typeof val === 'function')) {
|
|
300
|
+
var then = val.then;
|
|
301
|
+
if (typeof then === 'function') {
|
|
302
|
+
then.call(val, function (val) {
|
|
303
|
+
res(i, val);
|
|
304
|
+
}, reject);
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
args[i] = val;
|
|
309
|
+
if (--remaining === 0) {
|
|
310
|
+
resolve(args);
|
|
311
|
+
}
|
|
312
|
+
} catch (ex) {
|
|
313
|
+
reject(ex);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
for (var i = 0; i < args.length; i++) {
|
|
317
|
+
res(i, args[i]);
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
};
|
|
321
|
+
Promise.resolve = function (value) {
|
|
322
|
+
if (value && typeof value === 'object' && value.constructor === Promise) {
|
|
323
|
+
return value;
|
|
324
|
+
}
|
|
325
|
+
return new Promise(function (resolve) {
|
|
326
|
+
resolve(value);
|
|
327
|
+
});
|
|
328
|
+
};
|
|
329
|
+
Promise.reject = function (value) {
|
|
330
|
+
return new Promise(function (resolve, reject) {
|
|
331
|
+
reject(value);
|
|
332
|
+
});
|
|
333
|
+
};
|
|
334
|
+
Promise.race = function (values) {
|
|
335
|
+
return new Promise(function (resolve, reject) {
|
|
336
|
+
for (var i = 0, len = values.length; i < len; i++) {
|
|
337
|
+
values[i].then(resolve, reject);
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
};
|
|
341
|
+
Promise._immediateFn = typeof setImmediate === 'function' ? function (fn) {
|
|
342
|
+
setImmediate(fn);
|
|
343
|
+
} : function (fn) {
|
|
344
|
+
setTimeoutFunc(fn, 0);
|
|
345
|
+
};
|
|
346
|
+
Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {
|
|
347
|
+
if (typeof console !== 'undefined' && console) {
|
|
348
|
+
console.warn('Possible Unhandled Promise Rejection:', err);
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
Promise._setImmediateFn = function _setImmediateFn(fn) {
|
|
352
|
+
Promise._immediateFn = fn;
|
|
353
|
+
};
|
|
354
|
+
Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) {
|
|
355
|
+
Promise._unhandledRejectionFn = fn;
|
|
356
|
+
};
|
|
357
|
+
if (module.exports) {
|
|
358
|
+
module.exports = Promise;
|
|
359
|
+
} else if (!root.Promise) {
|
|
360
|
+
root.Promise = Promise;
|
|
361
|
+
}
|
|
362
|
+
}(commonjsGlobal));
|
|
363
|
+
}(promise));
|
|
364
|
+
var promisePolyfill = promise.exports;
|
|
365
|
+
var Global = function () {
|
|
366
|
+
if (typeof window !== 'undefined') {
|
|
367
|
+
return window;
|
|
368
|
+
} else {
|
|
369
|
+
return Function('return this;')();
|
|
370
|
+
}
|
|
371
|
+
}();
|
|
372
|
+
var promisePolyfill_1 = { boltExport: Global.Promise || promisePolyfill };
|
|
373
|
+
return promisePolyfill_1;
|
|
374
|
+
}));
|
|
375
|
+
}(undefined, exports$1, module));
|
|
376
|
+
var Promise$1 = module.exports.boltExport;
|
|
377
|
+
|
|
378
|
+
var create$1 = function (width, height) {
|
|
160
379
|
return resize(document.createElement('canvas'), width, height);
|
|
161
380
|
};
|
|
162
381
|
var clone = function (canvas) {
|
|
163
|
-
var tCanvas = create(canvas.width, canvas.height);
|
|
382
|
+
var tCanvas = create$1(canvas.width, canvas.height);
|
|
164
383
|
var ctx = get2dContext(tCanvas);
|
|
165
384
|
ctx.drawImage(canvas, 0, 0);
|
|
166
385
|
return tCanvas;
|
|
@@ -181,196 +400,15 @@
|
|
|
181
400
|
return image.naturalHeight || image.height;
|
|
182
401
|
};
|
|
183
402
|
|
|
184
|
-
var
|
|
185
|
-
var Promise = function (fn) {
|
|
186
|
-
if (typeof this !== 'object') {
|
|
187
|
-
throw new TypeError('Promises must be constructed via new');
|
|
188
|
-
}
|
|
189
|
-
if (typeof fn !== 'function') {
|
|
190
|
-
throw new TypeError('not a function');
|
|
191
|
-
}
|
|
192
|
-
this._state = null;
|
|
193
|
-
this._value = null;
|
|
194
|
-
this._deferreds = [];
|
|
195
|
-
doResolve(fn, bind(resolve, this), bind(reject, this));
|
|
196
|
-
};
|
|
197
|
-
var anyWindow = window;
|
|
198
|
-
var asap = Promise.immediateFn || typeof anyWindow.setImmediate === 'function' && anyWindow.setImmediate || function (fn) {
|
|
199
|
-
return setTimeout(fn, 1);
|
|
200
|
-
};
|
|
201
|
-
var bind = function (fn, thisArg) {
|
|
202
|
-
return function () {
|
|
203
|
-
var args = [];
|
|
204
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
205
|
-
args[_i] = arguments[_i];
|
|
206
|
-
}
|
|
207
|
-
return fn.apply(thisArg, args);
|
|
208
|
-
};
|
|
209
|
-
};
|
|
210
|
-
var isArray = Array.isArray || function (value) {
|
|
211
|
-
return Object.prototype.toString.call(value) === '[object Array]';
|
|
212
|
-
};
|
|
213
|
-
function handle(deferred) {
|
|
214
|
-
var me = this;
|
|
215
|
-
if (this._state === null) {
|
|
216
|
-
this._deferreds.push(deferred);
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
asap(function () {
|
|
220
|
-
var cb = me._state ? deferred.onFulfilled : deferred.onRejected;
|
|
221
|
-
if (cb === null) {
|
|
222
|
-
(me._state ? deferred.resolve : deferred.reject)(me._value);
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
var ret;
|
|
226
|
-
try {
|
|
227
|
-
ret = cb(me._value);
|
|
228
|
-
} catch (e) {
|
|
229
|
-
deferred.reject(e);
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
deferred.resolve(ret);
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
function resolve(newValue) {
|
|
236
|
-
try {
|
|
237
|
-
if (newValue === this) {
|
|
238
|
-
throw new TypeError('A promise cannot be resolved with itself.');
|
|
239
|
-
}
|
|
240
|
-
if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {
|
|
241
|
-
var then = newValue.then;
|
|
242
|
-
if (typeof then === 'function') {
|
|
243
|
-
doResolve(bind(then, newValue), bind(resolve, this), bind(reject, this));
|
|
244
|
-
return;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
this._state = true;
|
|
248
|
-
this._value = newValue;
|
|
249
|
-
finale.call(this);
|
|
250
|
-
} catch (e) {
|
|
251
|
-
reject.call(this, e);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
function reject(newValue) {
|
|
255
|
-
this._state = false;
|
|
256
|
-
this._value = newValue;
|
|
257
|
-
finale.call(this);
|
|
258
|
-
}
|
|
259
|
-
function finale() {
|
|
260
|
-
for (var _i = 0, _a = this._deferreds; _i < _a.length; _i++) {
|
|
261
|
-
var deferred = _a[_i];
|
|
262
|
-
handle.call(this, deferred);
|
|
263
|
-
}
|
|
264
|
-
this._deferreds = [];
|
|
265
|
-
}
|
|
266
|
-
function Handler(onFulfilled, onRejected, resolve, reject) {
|
|
267
|
-
this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
|
|
268
|
-
this.onRejected = typeof onRejected === 'function' ? onRejected : null;
|
|
269
|
-
this.resolve = resolve;
|
|
270
|
-
this.reject = reject;
|
|
271
|
-
}
|
|
272
|
-
var doResolve = function (fn, onFulfilled, onRejected) {
|
|
273
|
-
var done = false;
|
|
274
|
-
try {
|
|
275
|
-
fn(function (value) {
|
|
276
|
-
if (done) {
|
|
277
|
-
return;
|
|
278
|
-
}
|
|
279
|
-
done = true;
|
|
280
|
-
onFulfilled(value);
|
|
281
|
-
}, function (reason) {
|
|
282
|
-
if (done) {
|
|
283
|
-
return;
|
|
284
|
-
}
|
|
285
|
-
done = true;
|
|
286
|
-
onRejected(reason);
|
|
287
|
-
});
|
|
288
|
-
} catch (ex) {
|
|
289
|
-
if (done) {
|
|
290
|
-
return;
|
|
291
|
-
}
|
|
292
|
-
done = true;
|
|
293
|
-
onRejected(ex);
|
|
294
|
-
}
|
|
295
|
-
};
|
|
296
|
-
Promise.prototype.catch = function (onRejected) {
|
|
297
|
-
return this.then(null, onRejected);
|
|
298
|
-
};
|
|
299
|
-
Promise.prototype.then = function (onFulfilled, onRejected) {
|
|
300
|
-
var me = this;
|
|
301
|
-
return new Promise(function (resolve, reject) {
|
|
302
|
-
handle.call(me, new Handler(onFulfilled, onRejected, resolve, reject));
|
|
303
|
-
});
|
|
304
|
-
};
|
|
305
|
-
Promise.all = function () {
|
|
306
|
-
var values = [];
|
|
307
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
308
|
-
values[_i] = arguments[_i];
|
|
309
|
-
}
|
|
310
|
-
var args = Array.prototype.slice.call(values.length === 1 && isArray(values[0]) ? values[0] : values);
|
|
311
|
-
return new Promise(function (resolve, reject) {
|
|
312
|
-
if (args.length === 0) {
|
|
313
|
-
return resolve([]);
|
|
314
|
-
}
|
|
315
|
-
var remaining = args.length;
|
|
316
|
-
var res = function (i, val) {
|
|
317
|
-
try {
|
|
318
|
-
if (val && (typeof val === 'object' || typeof val === 'function')) {
|
|
319
|
-
var then = val.then;
|
|
320
|
-
if (typeof then === 'function') {
|
|
321
|
-
then.call(val, function (val) {
|
|
322
|
-
res(i, val);
|
|
323
|
-
}, reject);
|
|
324
|
-
return;
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
args[i] = val;
|
|
328
|
-
if (--remaining === 0) {
|
|
329
|
-
resolve(args);
|
|
330
|
-
}
|
|
331
|
-
} catch (ex) {
|
|
332
|
-
reject(ex);
|
|
333
|
-
}
|
|
334
|
-
};
|
|
335
|
-
for (var i = 0; i < args.length; i++) {
|
|
336
|
-
res(i, args[i]);
|
|
337
|
-
}
|
|
338
|
-
});
|
|
339
|
-
};
|
|
340
|
-
Promise.resolve = function (value) {
|
|
341
|
-
if (value && typeof value === 'object' && value.constructor === Promise) {
|
|
342
|
-
return value;
|
|
343
|
-
}
|
|
344
|
-
return new Promise(function (resolve) {
|
|
345
|
-
resolve(value);
|
|
346
|
-
});
|
|
347
|
-
};
|
|
348
|
-
Promise.reject = function (reason) {
|
|
349
|
-
return new Promise(function (resolve, reject) {
|
|
350
|
-
reject(reason);
|
|
351
|
-
});
|
|
352
|
-
};
|
|
353
|
-
Promise.race = function (values) {
|
|
354
|
-
return new Promise(function (resolve, reject) {
|
|
355
|
-
for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {
|
|
356
|
-
var value = values_1[_i];
|
|
357
|
-
value.then(resolve, reject);
|
|
358
|
-
}
|
|
359
|
-
});
|
|
360
|
-
};
|
|
361
|
-
return Promise;
|
|
362
|
-
};
|
|
363
|
-
var Promise = window.Promise ? window.Promise : promise();
|
|
364
|
-
|
|
365
|
-
var imageToBlob = function (image) {
|
|
403
|
+
var imageToBlob$2 = function (image) {
|
|
366
404
|
var src = image.src;
|
|
367
405
|
if (src.indexOf('data:') === 0) {
|
|
368
406
|
return dataUriToBlob(src);
|
|
369
407
|
}
|
|
370
408
|
return anyUriToBlob(src);
|
|
371
409
|
};
|
|
372
|
-
var blobToImage = function (blob) {
|
|
373
|
-
return new Promise(function (resolve, reject) {
|
|
410
|
+
var blobToImage$1 = function (blob) {
|
|
411
|
+
return new Promise$1(function (resolve, reject) {
|
|
374
412
|
var blobUrl = URL.createObjectURL(blob);
|
|
375
413
|
var image = new Image();
|
|
376
414
|
var removeListeners = function () {
|
|
@@ -394,7 +432,7 @@
|
|
|
394
432
|
});
|
|
395
433
|
};
|
|
396
434
|
var anyUriToBlob = function (url) {
|
|
397
|
-
return new Promise(function (resolve, reject) {
|
|
435
|
+
return new Promise$1(function (resolve, reject) {
|
|
398
436
|
var xhr = new XMLHttpRequest();
|
|
399
437
|
xhr.open('GET', url, true);
|
|
400
438
|
xhr.responseType = 'blob';
|
|
@@ -444,7 +482,7 @@
|
|
|
444
482
|
return Optional.some(new Blob(byteArrays, { type: mimetype }));
|
|
445
483
|
};
|
|
446
484
|
var dataUriToBlob = function (uri) {
|
|
447
|
-
return new Promise(function (resolve, reject) {
|
|
485
|
+
return new Promise$1(function (resolve, reject) {
|
|
448
486
|
dataUriToBlobSync(uri).fold(function () {
|
|
449
487
|
reject('uri is not base64: ' + uri);
|
|
450
488
|
}, resolve);
|
|
@@ -453,7 +491,7 @@
|
|
|
453
491
|
var canvasToBlob = function (canvas, type, quality) {
|
|
454
492
|
type = type || 'image/png';
|
|
455
493
|
if (isFunction(HTMLCanvasElement.prototype.toBlob)) {
|
|
456
|
-
return new Promise(function (resolve, reject) {
|
|
494
|
+
return new Promise$1(function (resolve, reject) {
|
|
457
495
|
canvas.toBlob(function (blob) {
|
|
458
496
|
if (blob) {
|
|
459
497
|
resolve(blob);
|
|
@@ -471,16 +509,16 @@
|
|
|
471
509
|
return canvas.toDataURL(type, quality);
|
|
472
510
|
};
|
|
473
511
|
var blobToCanvas = function (blob) {
|
|
474
|
-
return blobToImage(blob).then(function (image) {
|
|
512
|
+
return blobToImage$1(blob).then(function (image) {
|
|
475
513
|
revokeImageUrl(image);
|
|
476
|
-
var canvas = create(getWidth(image), getHeight(image));
|
|
514
|
+
var canvas = create$1(getWidth(image), getHeight(image));
|
|
477
515
|
var context = get2dContext(canvas);
|
|
478
516
|
context.drawImage(image, 0, 0);
|
|
479
517
|
return canvas;
|
|
480
518
|
});
|
|
481
519
|
};
|
|
482
520
|
var blobToDataUri = function (blob) {
|
|
483
|
-
return new Promise(function (resolve) {
|
|
521
|
+
return new Promise$1(function (resolve) {
|
|
484
522
|
var reader = new FileReader();
|
|
485
523
|
reader.onloadend = function () {
|
|
486
524
|
resolve(reader.result);
|
|
@@ -492,22 +530,39 @@
|
|
|
492
530
|
URL.revokeObjectURL(image.src);
|
|
493
531
|
};
|
|
494
532
|
|
|
495
|
-
var blobToImage
|
|
496
|
-
return blobToImage(blob);
|
|
533
|
+
var blobToImage = function (blob) {
|
|
534
|
+
return blobToImage$1(blob);
|
|
497
535
|
};
|
|
498
536
|
var imageToBlob$1 = function (image) {
|
|
499
|
-
return imageToBlob(image);
|
|
537
|
+
return imageToBlob$2(image);
|
|
500
538
|
};
|
|
501
539
|
|
|
502
|
-
var
|
|
540
|
+
var nativeIndexOf = Array.prototype.indexOf;
|
|
541
|
+
var rawIndexOf = function (ts, t) {
|
|
542
|
+
return nativeIndexOf.call(ts, t);
|
|
543
|
+
};
|
|
544
|
+
var contains = function (xs, x) {
|
|
545
|
+
return rawIndexOf(xs, x) > -1;
|
|
546
|
+
};
|
|
547
|
+
var each$1 = function (xs, f) {
|
|
503
548
|
for (var i = 0, len = xs.length; i < len; i++) {
|
|
504
549
|
var x = xs[i];
|
|
505
550
|
f(x, i);
|
|
506
551
|
}
|
|
507
552
|
};
|
|
553
|
+
var filter = function (xs, pred) {
|
|
554
|
+
var r = [];
|
|
555
|
+
for (var i = 0, len = xs.length; i < len; i++) {
|
|
556
|
+
var x = xs[i];
|
|
557
|
+
if (pred(x, i)) {
|
|
558
|
+
r.push(x);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
return r;
|
|
562
|
+
};
|
|
508
563
|
var foldl = function (xs, f, acc) {
|
|
509
|
-
each(xs, function (x) {
|
|
510
|
-
acc = f(acc, x);
|
|
564
|
+
each$1(xs, function (x, i) {
|
|
565
|
+
acc = f(acc, x, i);
|
|
511
566
|
});
|
|
512
567
|
return acc;
|
|
513
568
|
};
|
|
@@ -525,12 +580,131 @@
|
|
|
525
580
|
var find = function (xs, pred) {
|
|
526
581
|
return findUntil(xs, pred, never);
|
|
527
582
|
};
|
|
583
|
+
var forall = function (xs, pred) {
|
|
584
|
+
for (var i = 0, len = xs.length; i < len; ++i) {
|
|
585
|
+
var x = xs[i];
|
|
586
|
+
if (pred(x, i) !== true) {
|
|
587
|
+
return false;
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
return true;
|
|
591
|
+
};
|
|
592
|
+
|
|
593
|
+
var keys = Object.keys;
|
|
594
|
+
var each = function (obj, f) {
|
|
595
|
+
var props = keys(obj);
|
|
596
|
+
for (var k = 0, len = props.length; k < len; k++) {
|
|
597
|
+
var i = props[k];
|
|
598
|
+
var x = obj[i];
|
|
599
|
+
f(x, i);
|
|
600
|
+
}
|
|
601
|
+
};
|
|
528
602
|
|
|
529
|
-
var
|
|
603
|
+
var generate = function (cases) {
|
|
604
|
+
if (!isArray(cases)) {
|
|
605
|
+
throw new Error('cases must be an array');
|
|
606
|
+
}
|
|
607
|
+
if (cases.length === 0) {
|
|
608
|
+
throw new Error('there must be at least one case');
|
|
609
|
+
}
|
|
610
|
+
var constructors = [];
|
|
611
|
+
var adt = {};
|
|
612
|
+
each$1(cases, function (acase, count) {
|
|
613
|
+
var keys$1 = keys(acase);
|
|
614
|
+
if (keys$1.length !== 1) {
|
|
615
|
+
throw new Error('one and only one name per case');
|
|
616
|
+
}
|
|
617
|
+
var key = keys$1[0];
|
|
618
|
+
var value = acase[key];
|
|
619
|
+
if (adt[key] !== undefined) {
|
|
620
|
+
throw new Error('duplicate key detected:' + key);
|
|
621
|
+
} else if (key === 'cata') {
|
|
622
|
+
throw new Error('cannot have a case named cata (sorry)');
|
|
623
|
+
} else if (!isArray(value)) {
|
|
624
|
+
throw new Error('case arguments must be an array');
|
|
625
|
+
}
|
|
626
|
+
constructors.push(key);
|
|
627
|
+
adt[key] = function () {
|
|
628
|
+
var args = [];
|
|
629
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
630
|
+
args[_i] = arguments[_i];
|
|
631
|
+
}
|
|
632
|
+
var argLength = args.length;
|
|
633
|
+
if (argLength !== value.length) {
|
|
634
|
+
throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);
|
|
635
|
+
}
|
|
636
|
+
var match = function (branches) {
|
|
637
|
+
var branchKeys = keys(branches);
|
|
638
|
+
if (constructors.length !== branchKeys.length) {
|
|
639
|
+
throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\nActual: ' + branchKeys.join(','));
|
|
640
|
+
}
|
|
641
|
+
var allReqd = forall(constructors, function (reqKey) {
|
|
642
|
+
return contains(branchKeys, reqKey);
|
|
643
|
+
});
|
|
644
|
+
if (!allReqd) {
|
|
645
|
+
throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\nRequired: ' + constructors.join(', '));
|
|
646
|
+
}
|
|
647
|
+
return branches[key].apply(null, args);
|
|
648
|
+
};
|
|
649
|
+
return {
|
|
650
|
+
fold: function () {
|
|
651
|
+
var foldArgs = [];
|
|
652
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
653
|
+
foldArgs[_i] = arguments[_i];
|
|
654
|
+
}
|
|
655
|
+
if (foldArgs.length !== cases.length) {
|
|
656
|
+
throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);
|
|
657
|
+
}
|
|
658
|
+
var target = foldArgs[count];
|
|
659
|
+
return target.apply(null, args);
|
|
660
|
+
},
|
|
661
|
+
match: match,
|
|
662
|
+
log: function (label) {
|
|
663
|
+
console.log(label, {
|
|
664
|
+
constructors: constructors,
|
|
665
|
+
constructor: key,
|
|
666
|
+
params: args
|
|
667
|
+
});
|
|
668
|
+
}
|
|
669
|
+
};
|
|
670
|
+
};
|
|
671
|
+
});
|
|
672
|
+
return adt;
|
|
673
|
+
};
|
|
674
|
+
var Adt = { generate: generate };
|
|
675
|
+
|
|
676
|
+
Adt.generate([
|
|
677
|
+
{
|
|
678
|
+
bothErrors: [
|
|
679
|
+
'error1',
|
|
680
|
+
'error2'
|
|
681
|
+
]
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
firstError: [
|
|
685
|
+
'error1',
|
|
686
|
+
'value2'
|
|
687
|
+
]
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
secondError: [
|
|
691
|
+
'value1',
|
|
692
|
+
'error2'
|
|
693
|
+
]
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
bothValues: [
|
|
697
|
+
'value1',
|
|
698
|
+
'value2'
|
|
699
|
+
]
|
|
700
|
+
}
|
|
701
|
+
]);
|
|
702
|
+
|
|
703
|
+
var create = function (getCanvas, blob, uri) {
|
|
530
704
|
var initialType = blob.type;
|
|
531
705
|
var getType = constant(initialType);
|
|
532
706
|
var toBlob = function () {
|
|
533
|
-
return Promise.resolve(blob);
|
|
707
|
+
return Promise$1.resolve(blob);
|
|
534
708
|
};
|
|
535
709
|
var toDataURL = constant(uri);
|
|
536
710
|
var toBase64 = function () {
|
|
@@ -567,12 +741,12 @@
|
|
|
567
741
|
};
|
|
568
742
|
var fromBlob = function (blob) {
|
|
569
743
|
return blobToDataUri(blob).then(function (uri) {
|
|
570
|
-
return create
|
|
744
|
+
return create(blobToCanvas(blob), blob, uri);
|
|
571
745
|
});
|
|
572
746
|
};
|
|
573
747
|
var fromCanvas = function (canvas, type) {
|
|
574
748
|
return canvasToBlob(canvas, type).then(function (blob) {
|
|
575
|
-
return create$1
|
|
749
|
+
return create(Promise$1.resolve(canvas), blob, canvas.toDataURL());
|
|
576
750
|
});
|
|
577
751
|
};
|
|
578
752
|
|
|
@@ -584,7 +758,7 @@
|
|
|
584
758
|
var upper = Math.round(num * mul);
|
|
585
759
|
return Math.ceil(upper / mul);
|
|
586
760
|
};
|
|
587
|
-
var rotate = function (ir, angle) {
|
|
761
|
+
var rotate$2 = function (ir, angle) {
|
|
588
762
|
return ir.toCanvas().then(function (canvas) {
|
|
589
763
|
return applyRotate(canvas, ir.getType(), angle);
|
|
590
764
|
});
|
|
@@ -598,20 +772,20 @@
|
|
|
598
772
|
var cos = Math.cos(rad);
|
|
599
773
|
var newWidth = ceilWithPrecision(Math.abs(width * cos) + Math.abs(height * sin));
|
|
600
774
|
var newHeight = ceilWithPrecision(Math.abs(width * sin) + Math.abs(height * cos));
|
|
601
|
-
var canvas = create(newWidth, newHeight);
|
|
775
|
+
var canvas = create$1(newWidth, newHeight);
|
|
602
776
|
var context = get2dContext(canvas);
|
|
603
777
|
context.translate(newWidth / 2, newHeight / 2);
|
|
604
778
|
context.rotate(rad);
|
|
605
779
|
context.drawImage(image, -width / 2, -height / 2);
|
|
606
780
|
return fromCanvas(canvas, type);
|
|
607
781
|
};
|
|
608
|
-
var flip = function (ir, axis) {
|
|
782
|
+
var flip$2 = function (ir, axis) {
|
|
609
783
|
return ir.toCanvas().then(function (canvas) {
|
|
610
784
|
return applyFlip(canvas, ir.getType(), axis);
|
|
611
785
|
});
|
|
612
786
|
};
|
|
613
787
|
var applyFlip = function (image, type, axis) {
|
|
614
|
-
var canvas = create(image.width, image.height);
|
|
788
|
+
var canvas = create$1(image.width, image.height);
|
|
615
789
|
var context = get2dContext(canvas);
|
|
616
790
|
if (axis === 'v') {
|
|
617
791
|
context.scale(1, -1);
|
|
@@ -624,27 +798,17 @@
|
|
|
624
798
|
};
|
|
625
799
|
|
|
626
800
|
var flip$1 = function (ir, axis) {
|
|
627
|
-
return flip(ir, axis);
|
|
801
|
+
return flip$2(ir, axis);
|
|
628
802
|
};
|
|
629
803
|
var rotate$1 = function (ir, angle) {
|
|
630
|
-
return rotate(ir, angle);
|
|
631
|
-
};
|
|
632
|
-
|
|
633
|
-
var keys = Object.keys;
|
|
634
|
-
var each$1 = function (obj, f) {
|
|
635
|
-
var props = keys(obj);
|
|
636
|
-
for (var k = 0, len = props.length; k < len; k++) {
|
|
637
|
-
var i = props[k];
|
|
638
|
-
var x = obj[i];
|
|
639
|
-
f(x, i);
|
|
640
|
-
}
|
|
804
|
+
return rotate$2(ir, angle);
|
|
641
805
|
};
|
|
642
806
|
|
|
643
807
|
var sendRequest = function (url, headers, withCredentials) {
|
|
644
808
|
if (withCredentials === void 0) {
|
|
645
809
|
withCredentials = false;
|
|
646
810
|
}
|
|
647
|
-
return new Promise(function (resolve) {
|
|
811
|
+
return new Promise$1(function (resolve) {
|
|
648
812
|
var xhr = new XMLHttpRequest();
|
|
649
813
|
xhr.onreadystatechange = function () {
|
|
650
814
|
if (xhr.readyState === 4) {
|
|
@@ -656,7 +820,7 @@
|
|
|
656
820
|
};
|
|
657
821
|
xhr.open('GET', url, true);
|
|
658
822
|
xhr.withCredentials = withCredentials;
|
|
659
|
-
each
|
|
823
|
+
each(headers, function (value, key) {
|
|
660
824
|
xhr.setRequestHeader(key, value);
|
|
661
825
|
});
|
|
662
826
|
xhr.responseType = 'blob';
|
|
@@ -664,7 +828,7 @@
|
|
|
664
828
|
});
|
|
665
829
|
};
|
|
666
830
|
var readBlobText = function (blob) {
|
|
667
|
-
return new Promise(function (resolve, reject) {
|
|
831
|
+
return new Promise$1(function (resolve, reject) {
|
|
668
832
|
var reader = new FileReader();
|
|
669
833
|
reader.onload = function () {
|
|
670
834
|
resolve(reader.result);
|
|
@@ -734,7 +898,7 @@
|
|
|
734
898
|
};
|
|
735
899
|
var handleHttpError = function (status) {
|
|
736
900
|
var message = getHttpErrorMsg(status);
|
|
737
|
-
return Promise.reject(message);
|
|
901
|
+
return Promise$1.reject(message);
|
|
738
902
|
};
|
|
739
903
|
var getServiceErrorMsg = function (type) {
|
|
740
904
|
return find(friendlyServiceErrors, function (error) {
|
|
@@ -756,7 +920,7 @@
|
|
|
756
920
|
var handleServiceError = function (blob) {
|
|
757
921
|
return readBlobText(blob).then(function (text) {
|
|
758
922
|
var serviceError = getServiceError(text);
|
|
759
|
-
return Promise.reject(serviceError);
|
|
923
|
+
return Promise$1.reject(serviceError);
|
|
760
924
|
});
|
|
761
925
|
};
|
|
762
926
|
var handleServiceErrorResponse = function (status, blob) {
|
|
@@ -780,12 +944,12 @@
|
|
|
780
944
|
'tiny-api-key': apiKey
|
|
781
945
|
};
|
|
782
946
|
return sendRequest(appendApiKey(url, apiKey), headers).then(function (result) {
|
|
783
|
-
return isError(result.status) ? handleServiceErrorResponse(result.status, result.blob) : Promise.resolve(result.blob);
|
|
947
|
+
return isError(result.status) ? handleServiceErrorResponse(result.status, result.blob) : Promise$1.resolve(result.blob);
|
|
784
948
|
});
|
|
785
949
|
};
|
|
786
950
|
var requestBlob = function (url, withCredentials) {
|
|
787
951
|
return sendRequest(url, {}, withCredentials).then(function (result) {
|
|
788
|
-
return isError(result.status) ? handleHttpError(result.status) : Promise.resolve(result.blob);
|
|
952
|
+
return isError(result.status) ? handleHttpError(result.status) : Promise$1.resolve(result.blob);
|
|
789
953
|
});
|
|
790
954
|
};
|
|
791
955
|
var getUrl = function (url, apiKey, withCredentials) {
|
|
@@ -858,9 +1022,9 @@
|
|
|
858
1022
|
}
|
|
859
1023
|
};
|
|
860
1024
|
|
|
861
|
-
|
|
1025
|
+
typeof window !== 'undefined' ? window : Function('return this;')();
|
|
862
1026
|
|
|
863
|
-
var child = function (scope, predicate) {
|
|
1027
|
+
var child$1 = function (scope, predicate) {
|
|
864
1028
|
var pred = function (node) {
|
|
865
1029
|
return predicate(SugarElement.fromDom(node));
|
|
866
1030
|
};
|
|
@@ -868,17 +1032,17 @@
|
|
|
868
1032
|
return result.map(SugarElement.fromDom);
|
|
869
1033
|
};
|
|
870
1034
|
|
|
871
|
-
var child
|
|
872
|
-
return child(scope, function (e) {
|
|
1035
|
+
var child = function (scope, selector) {
|
|
1036
|
+
return child$1(scope, function (e) {
|
|
873
1037
|
return is(e, selector);
|
|
874
1038
|
});
|
|
875
1039
|
};
|
|
876
1040
|
|
|
877
|
-
var global$
|
|
1041
|
+
var global$3 = tinymce.util.Tools.resolve('tinymce.util.Delay');
|
|
878
1042
|
|
|
879
|
-
var global$
|
|
1043
|
+
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Promise');
|
|
880
1044
|
|
|
881
|
-
var global$
|
|
1045
|
+
var global$1 = tinymce.util.Tools.resolve('tinymce.util.URI');
|
|
882
1046
|
|
|
883
1047
|
var getToolbarItems = function (editor) {
|
|
884
1048
|
return editor.getParam('imagetools_toolbar', 'rotateleft rotateright flipv fliph editimage imageoptions');
|
|
@@ -958,7 +1122,7 @@
|
|
|
958
1122
|
|
|
959
1123
|
var count = 0;
|
|
960
1124
|
var getFigureImg = function (elem) {
|
|
961
|
-
return child
|
|
1125
|
+
return child(SugarElement.fromDom(elem), 'img');
|
|
962
1126
|
};
|
|
963
1127
|
var isFigure = function (editor, elem) {
|
|
964
1128
|
return editor.dom.is(elem, 'figure');
|
|
@@ -1004,13 +1168,13 @@
|
|
|
1004
1168
|
};
|
|
1005
1169
|
var isLocalImage = function (editor, img) {
|
|
1006
1170
|
var url = img.src;
|
|
1007
|
-
return url.indexOf('data:') === 0 || url.indexOf('blob:') === 0 || new global$
|
|
1171
|
+
return url.indexOf('data:') === 0 || url.indexOf('blob:') === 0 || new global$1(url).host === editor.documentBaseURI.host;
|
|
1008
1172
|
};
|
|
1009
1173
|
var isCorsImage = function (editor, img) {
|
|
1010
|
-
return global$
|
|
1174
|
+
return global$4.inArray(getCorsHosts(editor), new global$1(img.src).host) !== -1;
|
|
1011
1175
|
};
|
|
1012
1176
|
var isCorsWithCredentialsImage = function (editor, img) {
|
|
1013
|
-
return global$
|
|
1177
|
+
return global$4.inArray(getCredentialsHosts(editor), new global$1(img.src).host) !== -1;
|
|
1014
1178
|
};
|
|
1015
1179
|
var defaultFetchImage = function (editor, img) {
|
|
1016
1180
|
if (isCorsImage(editor, img)) {
|
|
@@ -1024,7 +1188,7 @@
|
|
|
1024
1188
|
}
|
|
1025
1189
|
return imageToBlob$1(img);
|
|
1026
1190
|
};
|
|
1027
|
-
var imageToBlob
|
|
1191
|
+
var imageToBlob = function (editor, img) {
|
|
1028
1192
|
return getFetchImage(editor).fold(function () {
|
|
1029
1193
|
return defaultFetchImage(editor, img);
|
|
1030
1194
|
}, function (customFetchImage) {
|
|
@@ -1034,18 +1198,18 @@
|
|
|
1034
1198
|
var findBlob = function (editor, img) {
|
|
1035
1199
|
var blobInfo = editor.editorUpload.blobCache.getByUri(img.src);
|
|
1036
1200
|
if (blobInfo) {
|
|
1037
|
-
return global$
|
|
1201
|
+
return global$2.resolve(blobInfo.blob());
|
|
1038
1202
|
}
|
|
1039
|
-
return imageToBlob
|
|
1203
|
+
return imageToBlob(editor, img);
|
|
1040
1204
|
};
|
|
1041
1205
|
var startTimedUpload = function (editor, imageUploadTimerState) {
|
|
1042
|
-
var imageUploadTimer = global$
|
|
1206
|
+
var imageUploadTimer = global$3.setEditorTimeout(editor, function () {
|
|
1043
1207
|
editor.editorUpload.uploadImagesAuto();
|
|
1044
1208
|
}, getUploadTimeout(editor));
|
|
1045
1209
|
imageUploadTimerState.set(imageUploadTimer);
|
|
1046
1210
|
};
|
|
1047
1211
|
var cancelTimedUpload = function (imageUploadTimerState) {
|
|
1048
|
-
global$
|
|
1212
|
+
global$3.clearTimeout(imageUploadTimerState.get());
|
|
1049
1213
|
};
|
|
1050
1214
|
var updateSelectedImage = function (editor, origBlob, ir, uploadImmediately, imageUploadTimerState, selectedImage, size) {
|
|
1051
1215
|
return ir.toBlob().then(function (blob) {
|
|
@@ -1114,24 +1278,22 @@
|
|
|
1114
1278
|
});
|
|
1115
1279
|
};
|
|
1116
1280
|
};
|
|
1117
|
-
var rotate
|
|
1281
|
+
var rotate = function (editor, imageUploadTimerState, angle) {
|
|
1118
1282
|
return function () {
|
|
1119
1283
|
var imgOpt = getSelectedImage(editor);
|
|
1120
|
-
var flippedSize = imgOpt.
|
|
1121
|
-
return null;
|
|
1122
|
-
}, function (img) {
|
|
1284
|
+
var flippedSize = imgOpt.map(function (img) {
|
|
1123
1285
|
var size = getImageSize(img.dom);
|
|
1124
1286
|
return size ? {
|
|
1125
1287
|
w: size.h,
|
|
1126
1288
|
h: size.w
|
|
1127
1289
|
} : null;
|
|
1128
|
-
});
|
|
1290
|
+
}).getOrNull();
|
|
1129
1291
|
return selectedImageOperation(editor, imageUploadTimerState, function (imageResult) {
|
|
1130
1292
|
return rotate$1(imageResult, angle);
|
|
1131
1293
|
}, flippedSize)();
|
|
1132
1294
|
};
|
|
1133
1295
|
};
|
|
1134
|
-
var flip
|
|
1296
|
+
var flip = function (editor, imageUploadTimerState, axis) {
|
|
1135
1297
|
return function () {
|
|
1136
1298
|
return selectedImageOperation(editor, imageUploadTimerState, function (imageResult) {
|
|
1137
1299
|
return flip$1(imageResult, axis);
|
|
@@ -1139,7 +1301,7 @@
|
|
|
1139
1301
|
};
|
|
1140
1302
|
};
|
|
1141
1303
|
var handleDialogBlob = function (editor, imageUploadTimerState, img, originalSize, blob) {
|
|
1142
|
-
return blobToImage
|
|
1304
|
+
return blobToImage(blob).then(function (newImage) {
|
|
1143
1305
|
var newSize = getNaturalImageSize(newImage);
|
|
1144
1306
|
if (originalSize.w !== newSize.w || originalSize.h !== newSize.h) {
|
|
1145
1307
|
if (getImageSize(img)) {
|
|
@@ -1237,12 +1399,12 @@
|
|
|
1237
1399
|
};
|
|
1238
1400
|
};
|
|
1239
1401
|
|
|
1240
|
-
var register = function (editor, imageUploadTimerState) {
|
|
1241
|
-
global$
|
|
1242
|
-
mceImageRotateLeft: rotate
|
|
1243
|
-
mceImageRotateRight: rotate
|
|
1244
|
-
mceImageFlipVertical: flip
|
|
1245
|
-
mceImageFlipHorizontal: flip
|
|
1402
|
+
var register$2 = function (editor, imageUploadTimerState) {
|
|
1403
|
+
global$4.each({
|
|
1404
|
+
mceImageRotateLeft: rotate(editor, imageUploadTimerState, -90),
|
|
1405
|
+
mceImageRotateRight: rotate(editor, imageUploadTimerState, 90),
|
|
1406
|
+
mceImageFlipVertical: flip(editor, imageUploadTimerState, 'v'),
|
|
1407
|
+
mceImageFlipHorizontal: flip(editor, imageUploadTimerState, 'h'),
|
|
1246
1408
|
mceEditImage: makeOpen(editor, imageUploadTimerState)
|
|
1247
1409
|
}, function (fn, cmd) {
|
|
1248
1410
|
editor.addCommand(cmd, fn);
|
|
@@ -1265,47 +1427,64 @@
|
|
|
1265
1427
|
};
|
|
1266
1428
|
|
|
1267
1429
|
var register$1 = function (editor) {
|
|
1430
|
+
var changeHandlers = [];
|
|
1268
1431
|
var cmd = function (command) {
|
|
1269
1432
|
return function () {
|
|
1270
1433
|
return editor.execCommand(command);
|
|
1271
1434
|
};
|
|
1272
1435
|
};
|
|
1436
|
+
var isEditableImage = function () {
|
|
1437
|
+
return getSelectedImage(editor).exists(function (element) {
|
|
1438
|
+
return getEditableImage(editor, element.dom).isSome();
|
|
1439
|
+
});
|
|
1440
|
+
};
|
|
1441
|
+
var onSetup = function (api) {
|
|
1442
|
+
var handler = function (isEditableImage) {
|
|
1443
|
+
return api.setDisabled(!isEditableImage);
|
|
1444
|
+
};
|
|
1445
|
+
handler(isEditableImage());
|
|
1446
|
+
changeHandlers = changeHandlers.concat([handler]);
|
|
1447
|
+
return function () {
|
|
1448
|
+
changeHandlers = filter(changeHandlers, function (h) {
|
|
1449
|
+
return h !== handler;
|
|
1450
|
+
});
|
|
1451
|
+
};
|
|
1452
|
+
};
|
|
1453
|
+
editor.on('NodeChange', function () {
|
|
1454
|
+
var isEditable = isEditableImage();
|
|
1455
|
+
each$1(changeHandlers, function (handler) {
|
|
1456
|
+
return handler(isEditable);
|
|
1457
|
+
});
|
|
1458
|
+
});
|
|
1273
1459
|
editor.ui.registry.addButton('rotateleft', {
|
|
1274
1460
|
tooltip: 'Rotate counterclockwise',
|
|
1275
1461
|
icon: 'rotate-left',
|
|
1276
|
-
onAction: cmd('mceImageRotateLeft')
|
|
1462
|
+
onAction: cmd('mceImageRotateLeft'),
|
|
1463
|
+
onSetup: onSetup
|
|
1277
1464
|
});
|
|
1278
1465
|
editor.ui.registry.addButton('rotateright', {
|
|
1279
1466
|
tooltip: 'Rotate clockwise',
|
|
1280
1467
|
icon: 'rotate-right',
|
|
1281
|
-
onAction: cmd('mceImageRotateRight')
|
|
1468
|
+
onAction: cmd('mceImageRotateRight'),
|
|
1469
|
+
onSetup: onSetup
|
|
1282
1470
|
});
|
|
1283
1471
|
editor.ui.registry.addButton('flipv', {
|
|
1284
1472
|
tooltip: 'Flip vertically',
|
|
1285
1473
|
icon: 'flip-vertically',
|
|
1286
|
-
onAction: cmd('mceImageFlipVertical')
|
|
1474
|
+
onAction: cmd('mceImageFlipVertical'),
|
|
1475
|
+
onSetup: onSetup
|
|
1287
1476
|
});
|
|
1288
1477
|
editor.ui.registry.addButton('fliph', {
|
|
1289
1478
|
tooltip: 'Flip horizontally',
|
|
1290
1479
|
icon: 'flip-horizontally',
|
|
1291
|
-
onAction: cmd('mceImageFlipHorizontal')
|
|
1480
|
+
onAction: cmd('mceImageFlipHorizontal'),
|
|
1481
|
+
onSetup: onSetup
|
|
1292
1482
|
});
|
|
1293
1483
|
editor.ui.registry.addButton('editimage', {
|
|
1294
1484
|
tooltip: 'Edit image',
|
|
1295
1485
|
icon: 'edit-image',
|
|
1296
1486
|
onAction: cmd('mceEditImage'),
|
|
1297
|
-
onSetup:
|
|
1298
|
-
var setDisabled = function () {
|
|
1299
|
-
var disabled = getSelectedImage(editor).forall(function (element) {
|
|
1300
|
-
return getEditableImage(editor, element.dom).isNone();
|
|
1301
|
-
});
|
|
1302
|
-
buttonApi.setDisabled(disabled);
|
|
1303
|
-
};
|
|
1304
|
-
editor.on('NodeChange', setDisabled);
|
|
1305
|
-
return function () {
|
|
1306
|
-
editor.off('NodeChange', setDisabled);
|
|
1307
|
-
};
|
|
1308
|
-
}
|
|
1487
|
+
onSetup: onSetup
|
|
1309
1488
|
});
|
|
1310
1489
|
editor.ui.registry.addButton('imageoptions', {
|
|
1311
1490
|
tooltip: 'Image options',
|
|
@@ -1314,20 +1493,18 @@
|
|
|
1314
1493
|
});
|
|
1315
1494
|
editor.ui.registry.addContextMenu('imagetools', {
|
|
1316
1495
|
update: function (element) {
|
|
1317
|
-
return getEditableImage(editor, element).
|
|
1318
|
-
return
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
}];
|
|
1325
|
-
});
|
|
1496
|
+
return getEditableImage(editor, element).map(function (_) {
|
|
1497
|
+
return {
|
|
1498
|
+
text: 'Edit image',
|
|
1499
|
+
icon: 'edit-image',
|
|
1500
|
+
onAction: cmd('mceEditImage')
|
|
1501
|
+
};
|
|
1502
|
+
}).toArray();
|
|
1326
1503
|
}
|
|
1327
1504
|
});
|
|
1328
1505
|
};
|
|
1329
1506
|
|
|
1330
|
-
var register
|
|
1507
|
+
var register = function (editor) {
|
|
1331
1508
|
editor.ui.registry.addContextToolbar('imagetools', {
|
|
1332
1509
|
items: getToolbarItems(editor),
|
|
1333
1510
|
predicate: function (elem) {
|
|
@@ -1339,12 +1516,12 @@
|
|
|
1339
1516
|
};
|
|
1340
1517
|
|
|
1341
1518
|
function Plugin () {
|
|
1342
|
-
global.add('imagetools', function (editor) {
|
|
1519
|
+
global$5.add('imagetools', function (editor) {
|
|
1343
1520
|
var imageUploadTimerState = Cell(0);
|
|
1344
1521
|
var lastSelectedImageState = Cell(null);
|
|
1345
|
-
register(editor, imageUploadTimerState);
|
|
1522
|
+
register$2(editor, imageUploadTimerState);
|
|
1346
1523
|
register$1(editor);
|
|
1347
|
-
register
|
|
1524
|
+
register(editor);
|
|
1348
1525
|
setup(editor, imageUploadTimerState, lastSelectedImageState);
|
|
1349
1526
|
});
|
|
1350
1527
|
}
|