@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,14 +4,14 @@
|
|
|
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';
|
|
11
11
|
|
|
12
|
-
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
|
12
|
+
var global$7 = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
|
13
13
|
|
|
14
|
-
var global$
|
|
14
|
+
var global$6 = tinymce.util.Tools.resolve('tinymce.util.VK');
|
|
15
15
|
|
|
16
16
|
var typeOf = function (x) {
|
|
17
17
|
var t = typeof x;
|
|
@@ -46,46 +46,6 @@
|
|
|
46
46
|
var isBoolean = isSimpleType('boolean');
|
|
47
47
|
var isFunction = isSimpleType('function');
|
|
48
48
|
|
|
49
|
-
var assumeExternalTargets = function (editor) {
|
|
50
|
-
var externalTargets = editor.getParam('link_assume_external_targets', false);
|
|
51
|
-
if (isBoolean(externalTargets) && externalTargets) {
|
|
52
|
-
return 1;
|
|
53
|
-
} else if (isString(externalTargets) && (externalTargets === 'http' || externalTargets === 'https')) {
|
|
54
|
-
return externalTargets;
|
|
55
|
-
}
|
|
56
|
-
return 0;
|
|
57
|
-
};
|
|
58
|
-
var hasContextToolbar = function (editor) {
|
|
59
|
-
return editor.getParam('link_context_toolbar', false, 'boolean');
|
|
60
|
-
};
|
|
61
|
-
var getLinkList = function (editor) {
|
|
62
|
-
return editor.getParam('link_list');
|
|
63
|
-
};
|
|
64
|
-
var getDefaultLinkTarget = function (editor) {
|
|
65
|
-
return editor.getParam('default_link_target');
|
|
66
|
-
};
|
|
67
|
-
var getTargetList = function (editor) {
|
|
68
|
-
return editor.getParam('target_list', true);
|
|
69
|
-
};
|
|
70
|
-
var getRelList = function (editor) {
|
|
71
|
-
return editor.getParam('rel_list', [], 'array');
|
|
72
|
-
};
|
|
73
|
-
var getLinkClassList = function (editor) {
|
|
74
|
-
return editor.getParam('link_class_list', [], 'array');
|
|
75
|
-
};
|
|
76
|
-
var shouldShowLinkTitle = function (editor) {
|
|
77
|
-
return editor.getParam('link_title', true, 'boolean');
|
|
78
|
-
};
|
|
79
|
-
var allowUnsafeLinkTarget = function (editor) {
|
|
80
|
-
return editor.getParam('allow_unsafe_link_target', false, 'boolean');
|
|
81
|
-
};
|
|
82
|
-
var useQuickLink = function (editor) {
|
|
83
|
-
return editor.getParam('link_quicklink', false, 'boolean');
|
|
84
|
-
};
|
|
85
|
-
var getDefaultLinkProtocol = function (editor) {
|
|
86
|
-
return editor.getParam('link_default_protocol', 'http', 'string');
|
|
87
|
-
};
|
|
88
|
-
|
|
89
49
|
var noop = function () {
|
|
90
50
|
};
|
|
91
51
|
var constant = function (value) {
|
|
@@ -93,6 +53,12 @@
|
|
|
93
53
|
return value;
|
|
94
54
|
};
|
|
95
55
|
};
|
|
56
|
+
var identity = function (x) {
|
|
57
|
+
return x;
|
|
58
|
+
};
|
|
59
|
+
var tripleEquals = function (a, b) {
|
|
60
|
+
return a === b;
|
|
61
|
+
};
|
|
96
62
|
var never = constant(false);
|
|
97
63
|
var always = constant(true);
|
|
98
64
|
|
|
@@ -100,20 +66,14 @@
|
|
|
100
66
|
return NONE;
|
|
101
67
|
};
|
|
102
68
|
var NONE = function () {
|
|
103
|
-
var eq = function (o) {
|
|
104
|
-
return o.isNone();
|
|
105
|
-
};
|
|
106
69
|
var call = function (thunk) {
|
|
107
70
|
return thunk();
|
|
108
71
|
};
|
|
109
|
-
var id =
|
|
110
|
-
return n;
|
|
111
|
-
};
|
|
72
|
+
var id = identity;
|
|
112
73
|
var me = {
|
|
113
74
|
fold: function (n, _s) {
|
|
114
75
|
return n();
|
|
115
76
|
},
|
|
116
|
-
is: never,
|
|
117
77
|
isSome: never,
|
|
118
78
|
isNone: always,
|
|
119
79
|
getOr: id,
|
|
@@ -130,9 +90,9 @@
|
|
|
130
90
|
bind: none,
|
|
131
91
|
exists: never,
|
|
132
92
|
forall: always,
|
|
133
|
-
filter:
|
|
134
|
-
|
|
135
|
-
|
|
93
|
+
filter: function () {
|
|
94
|
+
return none();
|
|
95
|
+
},
|
|
136
96
|
toArray: function () {
|
|
137
97
|
return [];
|
|
138
98
|
},
|
|
@@ -152,9 +112,6 @@
|
|
|
152
112
|
fold: function (n, s) {
|
|
153
113
|
return s(a);
|
|
154
114
|
},
|
|
155
|
-
is: function (v) {
|
|
156
|
-
return a === v;
|
|
157
|
-
},
|
|
158
115
|
isSome: always,
|
|
159
116
|
isNone: never,
|
|
160
117
|
getOr: constant_a,
|
|
@@ -181,14 +138,6 @@
|
|
|
181
138
|
},
|
|
182
139
|
toString: function () {
|
|
183
140
|
return 'some(' + a + ')';
|
|
184
|
-
},
|
|
185
|
-
equals: function (o) {
|
|
186
|
-
return o.is(a);
|
|
187
|
-
},
|
|
188
|
-
equals_: function (o, elementEq) {
|
|
189
|
-
return o.fold(never, function (b) {
|
|
190
|
-
return elementEq(a, b);
|
|
191
|
-
});
|
|
192
141
|
}
|
|
193
142
|
};
|
|
194
143
|
return me;
|
|
@@ -219,15 +168,15 @@
|
|
|
219
168
|
}
|
|
220
169
|
return r;
|
|
221
170
|
};
|
|
222
|
-
var each = function (xs, f) {
|
|
171
|
+
var each$1 = function (xs, f) {
|
|
223
172
|
for (var i = 0, len = xs.length; i < len; i++) {
|
|
224
173
|
var x = xs[i];
|
|
225
174
|
f(x, i);
|
|
226
175
|
}
|
|
227
176
|
};
|
|
228
177
|
var foldl = function (xs, f, acc) {
|
|
229
|
-
each(xs, function (x) {
|
|
230
|
-
acc = f(acc, x);
|
|
178
|
+
each$1(xs, function (x, i) {
|
|
179
|
+
acc = f(acc, x, i);
|
|
231
180
|
});
|
|
232
181
|
return acc;
|
|
233
182
|
};
|
|
@@ -254,6 +203,14 @@
|
|
|
254
203
|
return Optional.none();
|
|
255
204
|
};
|
|
256
205
|
|
|
206
|
+
var is = function (lhs, rhs, comparator) {
|
|
207
|
+
if (comparator === void 0) {
|
|
208
|
+
comparator = tripleEquals;
|
|
209
|
+
}
|
|
210
|
+
return lhs.exists(function (left) {
|
|
211
|
+
return comparator(left, rhs);
|
|
212
|
+
});
|
|
213
|
+
};
|
|
257
214
|
var cat = function (arr) {
|
|
258
215
|
var r = [];
|
|
259
216
|
var push = function (x) {
|
|
@@ -268,7 +225,47 @@
|
|
|
268
225
|
return b ? Optional.some(a) : Optional.none();
|
|
269
226
|
};
|
|
270
227
|
|
|
271
|
-
var
|
|
228
|
+
var assumeExternalTargets = function (editor) {
|
|
229
|
+
var externalTargets = editor.getParam('link_assume_external_targets', false);
|
|
230
|
+
if (isBoolean(externalTargets) && externalTargets) {
|
|
231
|
+
return 1;
|
|
232
|
+
} else if (isString(externalTargets) && (externalTargets === 'http' || externalTargets === 'https')) {
|
|
233
|
+
return externalTargets;
|
|
234
|
+
}
|
|
235
|
+
return 0;
|
|
236
|
+
};
|
|
237
|
+
var hasContextToolbar = function (editor) {
|
|
238
|
+
return editor.getParam('link_context_toolbar', false, 'boolean');
|
|
239
|
+
};
|
|
240
|
+
var getLinkList = function (editor) {
|
|
241
|
+
return editor.getParam('link_list');
|
|
242
|
+
};
|
|
243
|
+
var getDefaultLinkTarget = function (editor) {
|
|
244
|
+
return editor.getParam('default_link_target');
|
|
245
|
+
};
|
|
246
|
+
var getTargetList = function (editor) {
|
|
247
|
+
return editor.getParam('target_list', true);
|
|
248
|
+
};
|
|
249
|
+
var getRelList = function (editor) {
|
|
250
|
+
return editor.getParam('rel_list', [], 'array');
|
|
251
|
+
};
|
|
252
|
+
var getLinkClassList = function (editor) {
|
|
253
|
+
return editor.getParam('link_class_list', [], 'array');
|
|
254
|
+
};
|
|
255
|
+
var shouldShowLinkTitle = function (editor) {
|
|
256
|
+
return editor.getParam('link_title', true, 'boolean');
|
|
257
|
+
};
|
|
258
|
+
var allowUnsafeLinkTarget = function (editor) {
|
|
259
|
+
return editor.getParam('allow_unsafe_link_target', false, 'boolean');
|
|
260
|
+
};
|
|
261
|
+
var useQuickLink = function (editor) {
|
|
262
|
+
return editor.getParam('link_quicklink', false, 'boolean');
|
|
263
|
+
};
|
|
264
|
+
var getDefaultLinkProtocol = function (editor) {
|
|
265
|
+
return editor.getParam('link_default_protocol', 'http', 'string');
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');
|
|
272
269
|
|
|
273
270
|
var getValue = function (item) {
|
|
274
271
|
return isString(item.value) ? item.value : '';
|
|
@@ -284,7 +281,7 @@
|
|
|
284
281
|
};
|
|
285
282
|
var sanitizeList = function (list, extractValue) {
|
|
286
283
|
var out = [];
|
|
287
|
-
global$
|
|
284
|
+
global$5.each(list, function (item) {
|
|
288
285
|
var text = getText(item);
|
|
289
286
|
if (item.menu !== undefined) {
|
|
290
287
|
var items = sanitizeList(item.menu, extractValue);
|
|
@@ -347,7 +344,7 @@
|
|
|
347
344
|
|
|
348
345
|
var keys = Object.keys;
|
|
349
346
|
var hasOwnProperty = Object.hasOwnProperty;
|
|
350
|
-
var each
|
|
347
|
+
var each = function (obj, f) {
|
|
351
348
|
var props = keys(obj);
|
|
352
349
|
for (var k = 0, len = props.length; k < len; k++) {
|
|
353
350
|
var i = props[k];
|
|
@@ -362,7 +359,7 @@
|
|
|
362
359
|
};
|
|
363
360
|
var internalFilter = function (obj, pred, onTrue, onFalse) {
|
|
364
361
|
var r = {};
|
|
365
|
-
each
|
|
362
|
+
each(obj, function (x, i) {
|
|
366
363
|
(pred(x, i) ? onTrue : onFalse)(x, i);
|
|
367
364
|
});
|
|
368
365
|
return r;
|
|
@@ -379,7 +376,9 @@
|
|
|
379
376
|
return has(obj, key) && obj[key] !== undefined && obj[key] !== null;
|
|
380
377
|
};
|
|
381
378
|
|
|
382
|
-
var global$
|
|
379
|
+
var global$4 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');
|
|
380
|
+
|
|
381
|
+
var global$3 = tinymce.util.Tools.resolve('tinymce.util.URI');
|
|
383
382
|
|
|
384
383
|
var isAnchor = function (elm) {
|
|
385
384
|
return elm && elm.nodeName.toLowerCase() === 'a';
|
|
@@ -392,7 +391,7 @@
|
|
|
392
391
|
return [];
|
|
393
392
|
} else {
|
|
394
393
|
var contents = rng.cloneContents();
|
|
395
|
-
var walker = new global$
|
|
394
|
+
var walker = new global$4(contents.firstChild, contents);
|
|
396
395
|
var elements = [];
|
|
397
396
|
var current = contents.firstChild;
|
|
398
397
|
do {
|
|
@@ -414,7 +413,7 @@
|
|
|
414
413
|
var rules = ['noopener'];
|
|
415
414
|
var rels = rel ? rel.split(/\s+/) : [];
|
|
416
415
|
var toString = function (rels) {
|
|
417
|
-
return global$
|
|
416
|
+
return global$5.trim(rels.sort().join(' '));
|
|
418
417
|
};
|
|
419
418
|
var addTargetRules = function (rels) {
|
|
420
419
|
rels = removeTargetRules(rels);
|
|
@@ -422,7 +421,7 @@
|
|
|
422
421
|
};
|
|
423
422
|
var removeTargetRules = function (rels) {
|
|
424
423
|
return rels.filter(function (val) {
|
|
425
|
-
return global$
|
|
424
|
+
return global$5.inArray(rules, val) === -1;
|
|
426
425
|
});
|
|
427
426
|
};
|
|
428
427
|
var newRels = isUnsafe ? addTargetRules(rels) : removeTargetRules(rels);
|
|
@@ -444,7 +443,7 @@
|
|
|
444
443
|
return trimCaretContainers(text);
|
|
445
444
|
};
|
|
446
445
|
var hasLinks = function (elements) {
|
|
447
|
-
return global$
|
|
446
|
+
return global$5.grep(elements, isLink).length > 0;
|
|
448
447
|
};
|
|
449
448
|
var hasLinksInSelection = function (rng) {
|
|
450
449
|
return collectNodesInRange(rng, isLink).length > 0;
|
|
@@ -461,12 +460,13 @@
|
|
|
461
460
|
return elm && elm.nodeName === 'FIGURE' && /\bimage\b/i.test(elm.className);
|
|
462
461
|
};
|
|
463
462
|
var getLinkAttrs = function (data) {
|
|
464
|
-
|
|
463
|
+
var attrs = [
|
|
465
464
|
'title',
|
|
466
465
|
'rel',
|
|
467
466
|
'class',
|
|
468
467
|
'target'
|
|
469
|
-
]
|
|
468
|
+
];
|
|
469
|
+
return foldl(attrs, function (acc, key) {
|
|
470
470
|
data[key].each(function (value) {
|
|
471
471
|
acc[key] = value.length > 0 ? value : null;
|
|
472
472
|
});
|
|
@@ -493,7 +493,7 @@
|
|
|
493
493
|
};
|
|
494
494
|
var updateLink = function (editor, anchorElm, text, linkAttrs) {
|
|
495
495
|
text.each(function (text) {
|
|
496
|
-
if (anchorElm
|
|
496
|
+
if (has(anchorElm, 'innerText')) {
|
|
497
497
|
anchorElm.innerText = text;
|
|
498
498
|
} else {
|
|
499
499
|
anchorElm.textContent = text;
|
|
@@ -569,8 +569,13 @@
|
|
|
569
569
|
return isNull(v) === false;
|
|
570
570
|
});
|
|
571
571
|
};
|
|
572
|
+
var sanitizeData = function (editor, data) {
|
|
573
|
+
var href = data.href;
|
|
574
|
+
return __assign(__assign({}, data), { href: global$3.isDomSafe(href, 'a', editor.settings) ? href : '' });
|
|
575
|
+
};
|
|
572
576
|
var link = function (editor, attachState, data) {
|
|
573
|
-
|
|
577
|
+
var sanitizedData = sanitizeData(editor, data);
|
|
578
|
+
editor.hasPlugin('rtc', true) ? editor.execCommand('createlink', false, unwrapOptions(sanitizedData)) : linkDomMutation(editor, attachState, sanitizedData);
|
|
574
579
|
};
|
|
575
580
|
var unlink = function (editor) {
|
|
576
581
|
editor.hasPlugin('rtc', true) ? editor.execCommand('unlink') : unlinkDomMutation(editor);
|
|
@@ -682,13 +687,13 @@
|
|
|
682
687
|
getDelta: getDelta
|
|
683
688
|
};
|
|
684
689
|
|
|
685
|
-
var global$
|
|
690
|
+
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Delay');
|
|
686
691
|
|
|
687
|
-
var global$
|
|
692
|
+
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Promise');
|
|
688
693
|
|
|
689
694
|
var delayedConfirm = function (editor, message, callback) {
|
|
690
695
|
var rng = editor.selection.getRng();
|
|
691
|
-
global$
|
|
696
|
+
global$2.setEditorTimeout(editor, function () {
|
|
692
697
|
editor.windowManager.confirm(message, function (state) {
|
|
693
698
|
editor.selection.setRng(rng);
|
|
694
699
|
callback(state);
|
|
@@ -724,9 +729,9 @@
|
|
|
724
729
|
], function (f) {
|
|
725
730
|
return f(data);
|
|
726
731
|
}).fold(function () {
|
|
727
|
-
return global$
|
|
732
|
+
return global$1.resolve(data);
|
|
728
733
|
}, function (transform) {
|
|
729
|
-
return new global$
|
|
734
|
+
return new global$1(function (callback) {
|
|
730
735
|
delayedConfirm(editor, transform.message, function (state) {
|
|
731
736
|
callback(state ? transform.preprocess(data) : data);
|
|
732
737
|
});
|
|
@@ -760,7 +765,7 @@
|
|
|
760
765
|
};
|
|
761
766
|
var ClassListOptions = { getClasses: getClasses };
|
|
762
767
|
|
|
763
|
-
var global
|
|
768
|
+
var global = tinymce.util.Tools.resolve('tinymce.util.XHR');
|
|
764
769
|
|
|
765
770
|
var parseJson = function (text) {
|
|
766
771
|
try {
|
|
@@ -774,9 +779,9 @@
|
|
|
774
779
|
return editor.convertURL(item.value || item.url, 'href');
|
|
775
780
|
};
|
|
776
781
|
var linkList = getLinkList(editor);
|
|
777
|
-
return new global$
|
|
782
|
+
return new global$1(function (callback) {
|
|
778
783
|
if (isString(linkList)) {
|
|
779
|
-
global
|
|
784
|
+
global.send({
|
|
780
785
|
url: linkList,
|
|
781
786
|
success: function (text) {
|
|
782
787
|
return callback(parseJson(text));
|
|
@@ -811,7 +816,7 @@
|
|
|
811
816
|
var getRels = function (editor, initialTarget) {
|
|
812
817
|
var list = getRelList(editor);
|
|
813
818
|
if (list.length > 0) {
|
|
814
|
-
var isTargetBlank_1 =
|
|
819
|
+
var isTargetBlank_1 = is(initialTarget, '_blank');
|
|
815
820
|
var enforceSafe = allowUnsafeLinkTarget(editor) === false;
|
|
816
821
|
var safeRelExtractor = function (item) {
|
|
817
822
|
return applyRelTargetRules(ListOptions.getValue(item), isTargetBlank_1);
|
|
@@ -897,7 +902,7 @@
|
|
|
897
902
|
}
|
|
898
903
|
var getChangedValue = function (key) {
|
|
899
904
|
return Optional.from(data[key]).filter(function (value) {
|
|
900
|
-
return !info.anchor[key]
|
|
905
|
+
return !is(info.anchor[key], value);
|
|
901
906
|
});
|
|
902
907
|
};
|
|
903
908
|
var changedData = {
|
|
@@ -1004,7 +1009,7 @@
|
|
|
1004
1009
|
onSubmit: onSubmit
|
|
1005
1010
|
};
|
|
1006
1011
|
};
|
|
1007
|
-
var open = function (editor) {
|
|
1012
|
+
var open$1 = function (editor) {
|
|
1008
1013
|
var data = collectData(editor);
|
|
1009
1014
|
data.then(function (info) {
|
|
1010
1015
|
var onSubmit = handleSubmit(editor, info);
|
|
@@ -1019,7 +1024,7 @@
|
|
|
1019
1024
|
link.dispatchEvent(evt);
|
|
1020
1025
|
document.body.removeChild(link);
|
|
1021
1026
|
};
|
|
1022
|
-
var open
|
|
1027
|
+
var open = function (url) {
|
|
1023
1028
|
var link = document.createElement('a');
|
|
1024
1029
|
link.target = '_blank';
|
|
1025
1030
|
link.href = url;
|
|
@@ -1047,13 +1052,13 @@
|
|
|
1047
1052
|
editor.selection.scrollIntoView(targetEl[0], true);
|
|
1048
1053
|
}
|
|
1049
1054
|
} else {
|
|
1050
|
-
open
|
|
1055
|
+
open(a.href);
|
|
1051
1056
|
}
|
|
1052
1057
|
}
|
|
1053
1058
|
};
|
|
1054
1059
|
var openDialog = function (editor) {
|
|
1055
1060
|
return function () {
|
|
1056
|
-
open(editor);
|
|
1061
|
+
open$1(editor);
|
|
1057
1062
|
};
|
|
1058
1063
|
};
|
|
1059
1064
|
var gotoSelectedLink = function (editor) {
|
|
@@ -1064,7 +1069,7 @@
|
|
|
1064
1069
|
var setupGotoLinks = function (editor) {
|
|
1065
1070
|
editor.on('click', function (e) {
|
|
1066
1071
|
var link = getLink(editor, e.target);
|
|
1067
|
-
if (link && global$
|
|
1072
|
+
if (link && global$6.metaKeyPressed(e)) {
|
|
1068
1073
|
e.preventDefault();
|
|
1069
1074
|
gotoLink(editor, link);
|
|
1070
1075
|
}
|
|
@@ -1085,9 +1090,11 @@
|
|
|
1085
1090
|
};
|
|
1086
1091
|
var toggleActiveState = function (editor) {
|
|
1087
1092
|
return function (api) {
|
|
1088
|
-
|
|
1089
|
-
api.setActive(!editor.mode.isReadOnly() && getAnchorElement(editor, editor.selection.getNode()) !== null);
|
|
1090
|
-
}
|
|
1093
|
+
var updateState = function () {
|
|
1094
|
+
return api.setActive(!editor.mode.isReadOnly() && getAnchorElement(editor, editor.selection.getNode()) !== null);
|
|
1095
|
+
};
|
|
1096
|
+
updateState();
|
|
1097
|
+
return toggleState(editor, updateState);
|
|
1091
1098
|
};
|
|
1092
1099
|
};
|
|
1093
1100
|
var toggleEnabledState = function (editor) {
|
|
@@ -1190,6 +1197,16 @@
|
|
|
1190
1197
|
buttonApi.setDisabled(!getAnchorElement(editor, node));
|
|
1191
1198
|
return noop;
|
|
1192
1199
|
};
|
|
1200
|
+
var getLinkText = function (value) {
|
|
1201
|
+
var anchor = getAnchorElement(editor);
|
|
1202
|
+
var onlyText = isOnlyTextSelected(editor);
|
|
1203
|
+
if (!anchor && onlyText) {
|
|
1204
|
+
var text = getAnchorText(editor.selection, anchor);
|
|
1205
|
+
return Optional.some(text.length > 0 ? text : value);
|
|
1206
|
+
} else {
|
|
1207
|
+
return Optional.none();
|
|
1208
|
+
}
|
|
1209
|
+
};
|
|
1193
1210
|
editor.ui.registry.addContextForm('quicklink', {
|
|
1194
1211
|
launch: {
|
|
1195
1212
|
type: 'contextformtogglebutton',
|
|
@@ -1217,33 +1234,22 @@
|
|
|
1217
1234
|
return toggleActiveState(editor)(buttonApi);
|
|
1218
1235
|
},
|
|
1219
1236
|
onAction: function (formApi) {
|
|
1220
|
-
var anchor = getAnchorElement(editor);
|
|
1221
1237
|
var value = formApi.getValue();
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
class: Optional.none()
|
|
1238
|
-
});
|
|
1239
|
-
formApi.hide();
|
|
1240
|
-
} else {
|
|
1241
|
-
editor.undoManager.transact(function () {
|
|
1242
|
-
editor.dom.setAttrib(anchor, 'href', value);
|
|
1243
|
-
collapseSelectionToEnd(editor);
|
|
1244
|
-
formApi.hide();
|
|
1245
|
-
});
|
|
1246
|
-
}
|
|
1238
|
+
var text = getLinkText(value);
|
|
1239
|
+
var attachState = {
|
|
1240
|
+
href: value,
|
|
1241
|
+
attach: noop
|
|
1242
|
+
};
|
|
1243
|
+
link(editor, attachState, {
|
|
1244
|
+
href: value,
|
|
1245
|
+
text: text,
|
|
1246
|
+
title: Optional.none(),
|
|
1247
|
+
rel: Optional.none(),
|
|
1248
|
+
target: Optional.none(),
|
|
1249
|
+
class: Optional.none()
|
|
1250
|
+
});
|
|
1251
|
+
collapseSelectionToEnd(editor);
|
|
1252
|
+
formApi.hide();
|
|
1247
1253
|
}
|
|
1248
1254
|
},
|
|
1249
1255
|
{
|
|
@@ -1271,7 +1277,7 @@
|
|
|
1271
1277
|
};
|
|
1272
1278
|
|
|
1273
1279
|
function Plugin () {
|
|
1274
|
-
global.add('link', function (editor) {
|
|
1280
|
+
global$7.add('link', function (editor) {
|
|
1275
1281
|
setupButtons(editor);
|
|
1276
1282
|
setupMenuItems(editor);
|
|
1277
1283
|
setupContextMenu(editor);
|
|
@@ -4,6 +4,6 @@
|
|
|
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
|
-
!function(){"use strict";var n,t,e,r,o=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=tinymce.util.Tools.resolve("tinymce.util.VK"),u=function(r){return function(t){return e=typeof(n=t),(null===n?"null":"object"==e&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"==e&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":e)===r;var n,e}},a=function(n){return function(t){return typeof t===n}},l=u("string"),c=u("array"),f=function(t){return n===t},s=a("boolean"),m=a("function"),g=function(t){var n=t.getParam("link_assume_external_targets",!1);return s(n)&&n?1:!l(n)||"http"!==n&&"https"!==n?0:n},p=function(t){return t.getParam("default_link_target")},d=function(t){return t.getParam("target_list",!0)},h=function(t){return t.getParam("rel_list",[],"array")},v=function(t){return t.getParam("allow_unsafe_link_target",!1,"boolean")},y=function(){},k=function(t){return function(){return t}},x=k(!1),b=k(!(n=null)),O=function(){return w},w=(t=function(t){return t.isNone()},{fold:function(t,n){return t()},is:x,isSome:x,isNone:b,getOr:r=function(t){return t},getOrThunk:e=function(t){return t()},getOrDie:function(t){throw new Error(t||"error: getOrDie called on none.")},getOrNull:k(null),getOrUndefined:k(undefined),or:r,orThunk:e,map:O,each:y,bind:O,exists:x,forall:b,filter:O,equals:t,equals_:t,toArray:function(){return[]},toString:k("none()")}),C=function(e){var t=k(e),n=function(){return o},r=function(t){return t(e)},o={fold:function(t,n){return n(e)},is:function(t){return e===t},isSome:b,isNone:x,getOr:t,getOrThunk:t,getOrDie:t,getOrNull:t,getOrUndefined:t,or:n,orThunk:n,map:function(t){return C(t(e))},each:function(t){t(e)},bind:r,exists:r,forall:r,filter:function(t){return t(e)?o:w},toArray:function(){return[e]},toString:function(){return"some("+e+")"},equals:function(t){return t.is(e)},equals_:function(t,n){return t.fold(x,function(t){return n(e,t)})}};return o},N={some:C,none:O,from:function(t){return null===t||t===undefined?w:C(t)}},A=Array.prototype.indexOf,P=Array.prototype.push,T=function(t,n){return e=t,r=n,-1<A.call(e,r);var e,r},S=function(t){for(var n=[],e=0,r=t.length;e<r;++e){if(!c(t[e]))throw new Error("Arr.flatten item "+e+" was not an array, input: "+t);P.apply(n,t[e])}return n},_=function(t,n){return S(function(t,n){for(var e=t.length,r=new Array(e),o=0;o<e;o++){var i=t[o];r[o]=n(i,o)}return r}(t,n))},R=function(t,n){for(var e=0;e<t.length;e++){var r=n(t[e],e);if(r.isSome())return r}return N.none()},D=function(t,n){return t?N.some(n):N.none()},L=tinymce.util.Tools.resolve("tinymce.util.Tools"),E=function(t){return l(t.value)?t.value:""},M=function(t,i){var u=[];return L.each(t,function(t){var n,e,r,o=l((n=t).text)?n.text:l(n.title)?n.title:"";t.menu!==undefined?(e=M(t.menu,i),u.push({text:o,items:e})):(r=i(t),u.push({text:o,value:r}))}),u},U=function(n){return void 0===n&&(n=E),function(t){return N.from(t).map(function(t){return M(t,n)})}},B={sanitize:function(t){return U(E)(t)},sanitizeWith:U,createUi:function(n,e){return function(t){return{name:n,type:"listbox",label:e,items:t}}},getValue:E},q=function(){return(q=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var o in n=arguments[e])Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o]);return t}).apply(this,arguments)},I=Object.keys,K=Object.hasOwnProperty,z=function(t,e,r,o){return function(t,n){for(var e=I(t),r=0,o=e.length;r<o;r++){var i=e[r];n(t[i],i)}}(t,function(t,n){(e(t,n)?r:o)(t,n)}),{}},j=function(t,n){var e,r={};return z(t,n,(e=r,function(t,n){e[n]=t}),y),r},V=function(t,n){return K.call(t,n)},F=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),W=function(t){return t&&"a"===t.nodeName.toLowerCase()},H=function(t){return W(t)&&!!X(t)},G=function(t,n){if(t.collapsed)return[];for(var e=t.cloneContents(),r=new F(e.firstChild,e),o=[],i=e.firstChild;n(i)&&o.push(i),i=r.next(););return o},J=function(t){return/^\w+:/i.test(t)},X=function(t){var n=t.getAttribute("data-mce-href");return n||t.getAttribute("href")},$=function(t,n){var e,r,o=["noopener"],i=t?t.split(/\s+/):[],u=function(t){return t.filter(function(t){return-1===L.inArray(o,t)})},a=n?0<(e=u(e=i)).length?e.concat(o):o:u(i);return 0<a.length?(r=a,L.trim(r.sort().join(" "))):""},Q=function(t,n){return n=n||t.selection.getNode(),nt(n)?t.dom.select("a[href]",n)[0]:t.dom.getParent(n,"a[href]")},Y=function(t,n){var e=n?n.innerText||n.textContent:t.getContent({format:"text"});return e.replace(/\uFEFF/g,"")},Z=function(t){return 0<L.grep(t,H).length},tt=function(t){var n=t.schema.getTextInlineElements();return 0===G(t.selection.getRng(),function(t){return 1===t.nodeType&&!W(t)&&!V(n,t.nodeName.toLowerCase())}).length},nt=function(t){return t&&"FIGURE"===t.nodeName&&/\bimage\b/i.test(t.className)},et=function(t){return n=["title","rel","class","target"],e=function(n,e){return t[e].each(function(t){n[e]=0<t.length?t:null}),n},r={href:t.href},function(t,n){for(var e=0,r=t.length;e<r;e++)n(t[e],e)}(n,function(t){r=e(r,t)}),r;var n,e,r},rt=function(t,n){var e,r,o,i=q({},n);return 0<h(t).length||!1!==v(t)||(e=$(i.rel,"_blank"===i.target),i.rel=e||null),N.from(i.target).isNone()&&!1===d(t)&&(i.target=p(t)),i.href=(r=i.href,"http"!==(o=g(t))&&"https"!==o||J(r)?r:o+"://"+r),i},ot=function(l,c,f){var s=l.selection.getNode(),m=Q(l,s),g=rt(l,et(f));l.undoManager.transact(function(){var n,t,e,r,o,i,u,a;f.href===c.href&&c.attach(),m?(l.focus(),o=l,i=m,u=f.text,a=g,u.each(function(t){i.hasOwnProperty("innerText")?i.innerText=t:i.textContent=t}),o.dom.setAttribs(i,a),o.selection.select(i)):(n=l,t=s,e=f.text,r=g,nt(t)?ct(n,t,r):e.fold(function(){n.execCommand("mceInsertLink",!1,r)},function(t){n.insertContent(n.dom.createHTML("a",r,n.dom.encode(t)))}))})},it=function(l){l.undoManager.transact(function(){var t,n,e,r,o,i,u,a=l.selection.getNode();nt(a)?lt(l,a):(n=(t=l).dom,e=t.selection,r=e.getBookmark(),o=e.getRng().cloneRange(),i=n.getParent(o.startContainer,"a[href]",t.getBody()),u=n.getParent(o.endContainer,"a[href]",t.getBody()),i&&o.setStartBefore(i),u&&o.setEndAfter(u),e.setRng(o),t.execCommand("unlink"),e.moveToBookmark(r)),l.focus()})},ut=function(t,n,e){var r,o,i,u,a,l,c;t.hasPlugin("rtc",!0)?t.execCommand("createlink",!1,(o=(r=e)["class"],i=r.href,u=r.rel,a=r.target,l=r.text,c=r.title,j({"class":o.getOrNull(),href:i,rel:u.getOrNull(),target:a.getOrNull(),text:l.getOrNull(),title:c.getOrNull()},function(t,n){return!1===f(t)}))):ot(t,n,e)},at=function(t){t.hasPlugin("rtc",!0)?t.execCommand("unlink"):it(t)},lt=function(t,n){var e,r=t.dom.select("img",n)[0];!r||(e=t.dom.getParents(r,"a[href]",n)[0])&&(e.parentNode.insertBefore(r,e),t.dom.remove(e))},ct=function(t,n,e){var r,o=t.dom.select("img",n)[0];o&&(r=t.dom.create("a",e),o.parentNode.insertBefore(r,o),r.appendChild(o))},ft=function(t){return V(n=t,e="items")&&n[e]!==undefined&&null!==n[e];var n,e},st=function(n,t){return R(t,function(t){return ft(t)?st(n,t.items):D(t.value===n,t)})},mt=function(n,t,e,r){var o=r[t],i=0<n.length;return o!==undefined?st(o,e).map(function(t){return{url:{value:t.value,meta:{text:i?n:t.text,attach:y}},text:i?n:t.text}}):N.none()},gt=function(t,i){var u={text:t.text,title:t.title},r=function(t){var n,e,r=(n=t.url,D(u.text.length<=0,N.from(n.meta.text).getOr(n.value))),o=(e=t.url,D(u.title.length<=0,N.from(e.meta.title).getOr("")));return r.isSome()||o.isSome()?N.some(q(q({},r.map(function(t){return{text:t}}).getOr({})),o.map(function(t){return{title:t}}).getOr({}))):N.none()},o=function(t,n){var e,r,o=(e=i,("link"===(r=n.name)?e.link:"anchor"===r?e.anchor:N.none()).getOr([]));return mt(u.text,n.name,o,t)};return{onChange:function(t,n){var e=n.name;return"url"===e?r(t()):T(["anchor","link"],e)?o(t(),n):(("text"===e||"title"===e)&&(u[e]=t()[e]),N.none())}}},dt=tinymce.util.Tools.resolve("tinymce.util.Delay"),ht=tinymce.util.Tools.resolve("tinymce.util.Promise"),pt=function(t){var n=t.href;return 0<n.indexOf("@")&&-1===n.indexOf("/")&&-1===n.indexOf("mailto:")?N.some({message:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",preprocess:function(t){return q(q({},t),{href:"mailto:"+n})}}):N.none()},vt=function(u,a){return R([pt,(e=g(u),r=u.getParam("link_default_protocol","http","string"),function(t){var n=t.href;return 1===e&&!J(n)||0===e&&/^\s*www(\.|\d\.)/i.test(n)?N.some({message:"The URL you entered seems to be an external link. Do you want to add the required "+r+":// prefix?",preprocess:function(t){return q(q({},t),{href:r+"://"+n})}}):N.none()})],function(t){return t(a)}).fold(function(){return ht.resolve(a)},function(i){return new ht(function(n){var e,t,r,o;e=u,t=i.message,r=function(t){n(t?i.preprocess(a):a)},o=e.selection.getRng(),dt.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(o),r(t)})})})});var e,r},yt=function(t){var n=t.dom.select("a:not([href])"),e=_(n,function(t){var n=t.name||t.id;return n?[{text:n,value:"#"+n}]:[]});return 0<e.length?N.some([{text:"None",value:""}].concat(e)):N.none()},kt=function(t){var n=t.getParam("link_class_list",[],"array");return 0<n.length?B.sanitize(n):N.none()},xt=tinymce.util.Tools.resolve("tinymce.util.XHR"),bt=function(n){var e=function(t){return n.convertURL(t.value||t.url,"href")},t=n.getParam("link_list");return new ht(function(n){l(t)?xt.send({url:t,success:function(t){return n(function(t){try{return N.some(JSON.parse(t))}catch(n){return N.none()}}(t))},error:function(t){return n(N.none())}}):m(t)?t(function(t){return n(N.some(t))}):n(N.from(t))}).then(function(t){return t.bind(B.sanitizeWith(e)).map(function(t){if(0<t.length){return[{text:"None",value:""}].concat(t)}return t})})},Ot=function(t,n){var e=h(t);if(0<e.length){var r=n.is("_blank");return(!1===v(t)?B.sanitizeWith(function(t){return $(B.getValue(t),r)}):B.sanitize)(e)}return N.none()},wt=[{text:"Current window",value:""},{text:"New window",value:"_blank"}],Ct=function(t){var n=d(t);return c(n)?B.sanitize(n).orThunk(function(){return N.some(wt)}):!1===n?N.none():N.some(wt)},Nt=function(t,n,e){var r=t.getAttrib(n,e);return null!==r&&0<r.length?N.some(r):N.none()},At=function(f,s){return bt(f).then(function(t){var n,e,r,o,i,u,a,l,c=(e=s,r=(n=f).dom,o=tt(n)?N.some(Y(n.selection,e)):N.none(),i=e?N.some(r.getAttrib(e,"href")):N.none(),u=e?N.from(r.getAttrib(e,"target")):N.none(),a=Nt(r,e,"rel"),l=Nt(r,e,"class"),{url:i,text:o,title:Nt(r,e,"title"),target:u,rel:a,linkClass:l});return{anchor:c,catalogs:{targets:Ct(f),rels:Ot(f,c.target),classes:kt(f),anchor:yt(f),link:t},optNode:N.from(s),flags:{titleEnabled:f.getParam("link_title",!0,"boolean")}}})},Pt=function(h){var t,n;(n=Q(t=h),At(t,n)).then(function(t){var i,u,n,e,r,o,a,l,c,f,s,m,g,d;return e=function(t){var e=t.getData();if(!e.url.value)return at(i),void t.close();var n=function(n){return N.from(e[n]).filter(function(t){return!u.anchor[n].is(t)})},r={href:e.url.value,text:n("text"),target:n("target"),rel:n("rel"),"class":n("linkClass"),title:n("title")},o={href:e.url.value,attach:e.url.meta!==undefined&&e.url.meta.attach?e.url.meta.attach:y};vt(i,r).then(function(t){ut(i,o,t)}),t.close()},r=i=h,c=(n=u=t).anchor.text.map(function(){return{name:"text",type:"input",label:"Text to display"}}).toArray(),f=n.flags.titleEnabled?[{name:"title",type:"input",label:"Title"}]:[],s=N.from(p(r)),o=s,a=n.anchor,m={url:{value:l=a.url.getOr(""),meta:{original:{value:l}}},text:a.text.getOr(""),title:a.title.getOr(""),anchor:l,link:l,rel:a.rel.getOr(""),target:a.target.or(o).getOr(""),linkClass:a.linkClass.getOr("")},g=n.catalogs,d=gt(m,g),{title:"Insert/Edit Link",size:"normal",body:{type:"panel",items:S([[{name:"url",type:"urlinput",filetype:"file",label:"URL"}],c,f,function(t){for(var n=[],e=function(t){n.push(t)},r=0;r<t.length;r++)t[r].each(e);return n}([g.anchor.map(B.createUi("anchor","Anchors")),g.rels.map(B.createUi("rel","Rel")),g.targets.map(B.createUi("target","Open link in...")),g.link.map(B.createUi("link","Link list")),g.classes.map(B.createUi("linkClass","Class"))])])},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:m,onChange:function(n,t){var e=t.name;d.onChange(n.getData,{name:e}).each(function(t){n.setData(t)})},onSubmit:e}}).then(function(t){h.windowManager.open(t)})},Tt=function(t){var n=document.createElement("a");n.target="_blank",n.href=t,n.rel="noreferrer noopener";var e,r,o=document.createEvent("MouseEvents");o.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),e=n,r=o,document.body.appendChild(e),e.dispatchEvent(r),document.body.removeChild(e)},St=function(t,n){return t.dom.getParent(n,"a[href]")},_t=function(t){return St(t,t.selection.getStart())},Rt=function(t,n){var e,r;n&&(e=X(n),/^#/.test(e)?(r=t.$(e)).length&&t.selection.scrollIntoView(r[0],!0):Tt(n.href))},Dt=function(t){return function(){Pt(t)}},Lt=function(t){return function(){Rt(t,_t(t))}},Et=function(r){r.on("click",function(t){var n=St(r,t.target);n&&i.metaKeyPressed(t)&&(t.preventDefault(),Rt(r,n))}),r.on("keydown",function(t){var n,e=_t(r);e&&13===t.keyCode&&(!0===(n=t).altKey&&!1===n.shiftKey&&!1===n.ctrlKey&&!1===n.metaKey)&&(t.preventDefault(),Rt(r,e))})},Mt=function(t,n){return t.on("NodeChange",n),function(){return t.off("NodeChange",n)}},Ut=function(n){return function(t){return Mt(n,function(){t.setActive(!n.mode.isReadOnly()&&null!==Q(n,n.selection.getNode()))})}},Bt=function(e){return function(t){var n=function(){return t.setDisabled(null===Q(e,e.selection.getNode()))};return n(),Mt(e,n)}},qt=function(r){return function(n){var e=function(t){return Z(t)||(n=r.selection.getRng(),0<G(n,H).length);var n},t=r.dom.getParents(r.selection.getStart());return n.setDisabled(!e(t)),Mt(r,function(t){return n.setDisabled(!e(t.parents))})}};o.add("link",function(t){var n,e,r,i,o,u,a;(n=t).ui.registry.addToggleButton("link",{icon:"link",tooltip:"Insert/edit link",onAction:Dt(n),onSetup:Ut(n)}),n.ui.registry.addButton("openlink",{icon:"new-tab",tooltip:"Open link",onAction:Lt(n),onSetup:Bt(n)}),n.ui.registry.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onAction:function(){return at(n)},onSetup:qt(n)}),(e=t).ui.registry.addMenuItem("openlink",{text:"Open link",icon:"new-tab",onAction:Lt(e),onSetup:Bt(e)}),e.ui.registry.addMenuItem("link",{icon:"link",text:"Link...",shortcut:"Meta+K",onAction:Dt(e)}),e.ui.registry.addMenuItem("unlink",{icon:"unlink",text:"Remove link",onAction:function(){return at(e)},onSetup:qt(e)}),(r=t).ui.registry.addContextMenu("link",{update:function(t){return Z(r.dom.getParents(t,"a"))?"link unlink openlink":"link"}}),o=function(t){var n=i.selection.getNode();return t.setDisabled(!Q(i,n)),y},(i=t).ui.registry.addContextForm("quicklink",{launch:{type:"contextformtogglebutton",icon:"link",tooltip:"Link",onSetup:Ut(i)},label:"Link",predicate:function(t){return!!Q(i,t)&&i.getParam("link_context_toolbar",!1,"boolean")},initValue:function(){var t=Q(i);return t?X(t):""},commands:[{type:"contextformtogglebutton",icon:"link",tooltip:"Link",primary:!0,onSetup:function(t){var n=i.selection.getNode();return t.setActive(!!Q(i,n)),Ut(i)(t)},onAction:function(t){var n,e,r=Q(i),o=t.getValue();r?i.undoManager.transact(function(){i.dom.setAttrib(r,"href",o),i.selection.collapse(!1),t.hide()}):(n={href:o,attach:y},e=tt(i)?N.some(Y(i.selection,r)).filter(function(t){return 0<t.length}).or(N.from(o)):N.none(),ut(i,n,{href:o,text:e,title:N.none(),rel:N.none(),target:N.none(),"class":N.none()}),t.hide())}},{type:"contextformbutton",icon:"unlink",tooltip:"Remove link",onSetup:o,onAction:function(t){at(i),t.hide()}},{type:"contextformbutton",icon:"new-tab",tooltip:"Open link",onSetup:o,onAction:function(t){Lt(i)(),t.hide()}}]}),Et(t),(u=t).addCommand("mceLink",function(){u.getParam("link_quicklink",!1,"boolean")?u.fire("contexttoolbar-show",{toolbarKey:"quicklink"}):Dt(u)()}),(a=t).addShortcut("Meta+K","",function(){a.execCommand("mceLink")})})}();
|
|
9
|
+
!function(){"use strict";function t(r){return function(t){return e=typeof(n=t),(null===n?"null":"object"==e&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"==e&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":e)===r;var n,e}}function n(n){return function(t){return typeof t===n}}function h(){}function i(t){return function(){return t}}function e(t){return t}function r(t,n){return t===n}function o(){return v}var u,a=tinymce.util.Tools.resolve("tinymce.PluginManager"),c=tinymce.util.Tools.resolve("tinymce.util.VK"),l=t("string"),d=t("array"),p=function(t){return u===t},f=n("boolean"),s=n("function"),m=i(!1),g=i(!(u=null)),v={fold:function(t,n){return t()},isSome:m,isNone:g,getOr:e,getOrThunk:y,getOrDie:function(t){throw new Error(t||"error: getOrDie called on none.")},getOrNull:i(null),getOrUndefined:i(void 0),or:e,orThunk:y,map:o,each:h,bind:o,exists:m,forall:g,filter:function(){return v},toArray:function(){return[]},toString:i("none()")};function y(t){return t()}function k(t,o,i){return function(t){for(var n,e=0,r=t.length;e<r;e++)n=t[e],i=o(i,n,e)}(t),i}function x(t){for(var n=[],e=0,r=t.length;e<r;++e){if(!d(t[e]))throw new Error("Arr.flatten item "+e+" was not an array, input: "+t);at.apply(n,t[e])}return n}function b(t,n){for(var e=0;e<t.length;e++){var r=n(t[e],e);if(r.isSome())return r}return it.none()}function O(t,n,e){return void 0===e&&(e=r),t.exists(function(t){return e(t,n)})}function w(t,n){return t?it.some(n):it.none()}function C(t){var n=t.getParam("link_assume_external_targets",!1);return f(n)&&n?1:!l(n)||"http"!==n&&"https"!==n?0:n}function N(t){return t.getParam("default_link_target")}function A(t){return t.getParam("target_list",!0)}function T(t){return t.getParam("rel_list",[],"array")}function P(t){return t.getParam("allow_unsafe_link_target",!1,"boolean")}function S(t){return l(t.value)?t.value:""}function _(n){return void 0===n&&(n=S),function(t){return it.from(t).map(function(t){return ct(t,n)})}}function R(t,i,u,a){return function(t){for(var n=mt(t),e=0,r=n.length;e<r;e++){var o=n[e];!function(t,n){(i(t,n)?u:a)(t,n)}(t[o],o)}}(t),1}function D(t,n){return gt.call(t,n)}function L(t){return t&&"a"===t.nodeName.toLowerCase()}function E(t){return L(t)&&!!pt(t)}function M(t,n){if(t.collapsed)return[];for(var e=t.cloneContents(),r=new dt(e.firstChild,e),o=[],i=e.firstChild;n(i)&&o.push(i),i=r.next(););return o}function U(t){return/^\w+:/i.test(t)}function B(t,n){function e(t){return t.filter(function(t){return-1===lt.inArray(o,t)})}var r,o=["noopener"],i=t?t.split(/\s+/):[],u=n?0<(r=e(r=i)).length?r.concat(o):o:e(i);return 0<u.length?lt.trim(u.sort().join(" ")):""}function I(t,n){return n=n||t.selection.getNode(),vt(n)?t.dom.select("a[href]",n)[0]:t.dom.getParent(n,"a[href]")}function K(t,n){return(n?n.innerText||n.textContent:t.getContent({format:"text"})).replace(/\uFEFF/g,"")}function z(t){return 0<lt.grep(t,E).length}function j(t){var n=t.schema.getTextInlineElements();return 0===M(t.selection.getRng(),function(t){return 1===t.nodeType&&!L(t)&&!D(n,t.nodeName.toLowerCase())}).length}function V(l,c,f){var t,n,e,r,o,i,u,s=l.selection.getNode(),m=I(l,s),g=(n=l,e=k(["title","rel","class","target"],function(n,e){return t[e].each(function(t){n[e]=0<t.length?t:null}),n},{href:(t=f).href}),u=st({},e),0<T(n).length||!1!==P(n)||(r=B(u.rel,"_blank"===u.target),u.rel=r||null),it.from(u.target).isNone()&&!1===A(n)&&(u.target=N(n)),u.href=(o=u.href,"http"!==(i=C(n))&&"https"!==i||U(o)?o:i+"://"+o),u);l.undoManager.transact(function(){var n,t,e,r,o,i,u,a;f.href===c.href&&c.attach(),m?(l.focus(),o=l,i=m,u=f.text,a=g,u.each(function(t){D(i,"innerText")?i.innerText=t:i.textContent=t}),o.dom.setAttribs(i,a),o.selection.select(i)):(n=l,e=f.text,r=g,vt(t=s)?kt(n,t,r):e.fold(function(){n.execCommand("mceInsertLink",!1,r)},function(t){n.insertContent(n.dom.createHTML("a",r,n.dom.encode(t)))}))})}function q(t,n,e){var r,o,i,u,a,l,c,f,s,m,g=(r=t,o=e.href,st(st({},e),{href:ht.isDomSafe(o,"a",r.settings)?o:""}));t.hasPlugin("rtc",!0)?t.execCommand("createlink",!1,(a=g.class,l=g.href,c=g.rel,f=g.target,s=g.text,m=g.title,R({class:a.getOrNull(),href:l,rel:c.getOrNull(),target:f.getOrNull(),text:s.getOrNull(),title:m.getOrNull()},function(t,n){return!1===p(t)},(i=u={},function(t,n){i[n]=t}),h),u)):V(t,n,g)}function F(t){var l;t.hasPlugin("rtc",!0)?t.execCommand("unlink"):(l=t).undoManager.transact(function(){var t,n,e,r,o,i,u,a=l.selection.getNode();vt(a)?yt(l,a):(n=(t=l).dom,r=(e=t.selection).getBookmark(),o=e.getRng().cloneRange(),i=n.getParent(o.startContainer,"a[href]",t.getBody()),u=n.getParent(o.endContainer,"a[href]",t.getBody()),i&&o.setStartBefore(i),u&&o.setEndAfter(u),e.setRng(o),t.execCommand("unlink"),e.moveToBookmark(r)),l.focus()})}function W(t){var n=t.href;return 0<n.indexOf("@")&&-1===n.indexOf("/")&&-1===n.indexOf("mailto:")?it.some({message:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",preprocess:function(t){return st(st({},t),{href:"mailto:"+n})}}):it.none()}function H(t,n,e){var r=t.getAttrib(n,e);return null!==r&&0<r.length?it.some(r):it.none()}function G(d){var t,n=I(t=d);Tt(t,n).then(function(t){var n,e,i,u,r=function(t){var e=t.getData();if(!e.url.value)return F(i),void t.close();function n(n){return it.from(e[n]).filter(function(t){return!O(u.anchor[n],t)})}var r={href:e.url.value,text:n("text"),target:n("target"),rel:n("rel"),class:n("linkClass"),title:n("title")},o={href:e.url.value,attach:void 0!==e.url.meta&&e.url.meta.attach?e.url.meta.attach:h};Ct(i,r).then(function(t){q(i,o,t)}),t.close()},o=i=d,a=(n=u=t).anchor.text.map(function(){return{name:"text",type:"input",label:"Text to display"}}).toArray(),l=n.flags.titleEnabled?[{name:"title",type:"input",label:"Title"}]:[],c=it.from(N(o)),f=n.anchor,s={url:{value:e=f.url.getOr(""),meta:{original:{value:e}}},text:f.text.getOr(""),title:f.title.getOr(""),anchor:e,link:e,rel:f.rel.getOr(""),target:f.target.or(c).getOr(""),linkClass:f.linkClass.getOr("")},m=n.catalogs,g=bt(s,m);return{title:"Insert/Edit Link",size:"normal",body:{type:"panel",items:x([[{name:"url",type:"urlinput",filetype:"file",label:"URL"}],a,l,function(t){for(var n=[],e=function(t){n.push(t)},r=0;r<t.length;r++)t[r].each(e);return n}([m.anchor.map(ft.createUi("anchor","Anchors")),m.rels.map(ft.createUi("rel","Rel")),m.targets.map(ft.createUi("target","Open link in...")),m.link.map(ft.createUi("link","Link list")),m.classes.map(ft.createUi("linkClass","Class"))])])},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:s,onChange:function(n,t){var e=t.name;g.onChange(n.getData,{name:e}).each(function(t){n.setData(t)})},onSubmit:r}}).then(function(t){d.windowManager.open(t)})}function J(t,n){return t.dom.getParent(n,"a[href]")}function X(t){return J(t,t.selection.getStart())}function $(t,n){var e,r;n&&(e=pt(n),/^#/.test(e)?(r=t.$(e)).length&&t.selection.scrollIntoView(r[0],!0):function(t){var n=document.createElement("a");n.target="_blank",n.href=t,n.rel="noreferrer noopener";var e,r,o=document.createEvent("MouseEvents");o.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),e=n,r=o,document.body.appendChild(e),e.dispatchEvent(r),document.body.removeChild(e)}(n.href))}function Q(t){return function(){G(t)}}function Y(t){return function(){$(t,X(t))}}function Z(t,n){return t.on("NodeChange",n),function(){return t.off("NodeChange",n)}}function tt(e){return function(t){function n(){return t.setActive(!e.mode.isReadOnly()&&null!==I(e,e.selection.getNode()))}return n(),Z(e,n)}}function nt(e){return function(t){function n(){return t.setDisabled(null===I(e,e.selection.getNode()))}return n(),Z(e,n)}}function et(r){return function(n){function e(t){return z(t)||0<M(r.selection.getRng(),E).length}var t=r.dom.getParents(r.selection.getStart());return n.setDisabled(!e(t)),Z(r,function(t){return n.setDisabled(!e(t.parents))})}}function rt(t){var n=x(function(t,n){for(var e=t.length,r=new Array(e),o=0;o<e;o++){var i=t[o];r[o]=n(i,o)}return r}(t.dom.select("a:not([href])"),function(t){var n=t.name||t.id;return n?[{text:n,value:"#"+n}]:[]}));return 0<n.length?it.some([{text:"None",value:""}].concat(n)):it.none()}var ot=function(e){function t(){return o}function n(t){return t(e)}var r=i(e),o={fold:function(t,n){return n(e)},isSome:g,isNone:m,getOr:r,getOrThunk:r,getOrDie:r,getOrNull:r,getOrUndefined:r,or:t,orThunk:t,map:function(t){return ot(t(e))},each:function(t){t(e)},bind:n,exists:n,forall:n,filter:function(t){return t(e)?o:v},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return o},it={some:ot,none:o,from:function(t){return null==t?v:ot(t)}},ut=Array.prototype.indexOf,at=Array.prototype.push,lt=tinymce.util.Tools.resolve("tinymce.util.Tools"),ct=function(t,i){var u=[];return lt.each(t,function(t){var n,e,r,o=l((n=t).text)?n.text:l(n.title)?n.title:"";void 0!==t.menu?(e=ct(t.menu,i),u.push({text:o,items:e})):(r=i(t),u.push({text:o,value:r}))}),u},ft={sanitize:function(t){return _(S)(t)},sanitizeWith:_,createUi:function(n,e){return function(t){return{name:n,type:"listbox",label:e,items:t}}},getValue:S},st=function(){return(st=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var o in n=arguments[e])Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o]);return t}).apply(this,arguments)},mt=Object.keys,gt=Object.hasOwnProperty,dt=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),ht=tinymce.util.Tools.resolve("tinymce.util.URI"),pt=function(t){return t.getAttribute("data-mce-href")||t.getAttribute("href")},vt=function(t){return t&&"FIGURE"===t.nodeName&&/\bimage\b/i.test(t.className)},yt=function(t,n){var e,r=t.dom.select("img",n)[0];!r||(e=t.dom.getParents(r,"a[href]",n)[0])&&(e.parentNode.insertBefore(r,e),t.dom.remove(e))},kt=function(t,n,e){var r,o=t.dom.select("img",n)[0];o&&(r=t.dom.create("a",e),o.parentNode.insertBefore(r,o),r.appendChild(o))},xt=function(e,t){return b(t,function(t){return D(n=t,"items")&&void 0!==n.items&&null!==n.items?xt(e,t.items):w(t.value===e,t);var n})},bt=function(t,c){function f(t,n){var e,r,o,i,u,a,l=("link"===(e=n.name)?c.link:"anchor"===e?c.anchor:it.none()).getOr([]);return r=s.text,o=n.name,i=l,u=t[o],a=0<r.length,void 0!==u?xt(u,i).map(function(t){return{url:{value:t.value,meta:{text:a?r:t.text,attach:h}},text:a?r:t.text}}):it.none()}var s={text:t.text,title:t.title};return{onChange:function(t,n){var e,r,o,i,u,a,l=n.name;return"url"===l?(r=t(),o=r.url,u=w(s.text.length<=0,it.from(o.meta.text).getOr(o.value)),i=r.url,a=w(s.title.length<=0,it.from(i.meta.title).getOr("")),u.isSome()||a.isSome()?it.some(st(st({},u.map(function(t){return{text:t}}).getOr({})),a.map(function(t){return{title:t}}).getOr({}))):it.none()):(e=["anchor","link"],-1<ut.call(e,l)?f(t(),n):("text"!==l&&"title"!==l||(s[l]=t()[l]),it.none()))}}},Ot=tinymce.util.Tools.resolve("tinymce.util.Delay"),wt=tinymce.util.Tools.resolve("tinymce.util.Promise"),Ct=function(u,a){return b([W,(e=C(u),r=u.getParam("link_default_protocol","http","string"),function(t){var n=t.href;return 1===e&&!U(n)||0===e&&/^\s*www(\.|\d\.)/i.test(n)?it.some({message:"The URL you entered seems to be an external link. Do you want to add the required "+r+":// prefix?",preprocess:function(t){return st(st({},t),{href:r+"://"+n})}}):it.none()})],function(t){return t(a)}).fold(function(){return wt.resolve(a)},function(i){return new wt(function(n){var e=u,t=i.message,r=function(t){n(t?i.preprocess(a):a)},o=e.selection.getRng();Ot.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(o),r(t)})})})});var e,r},Nt=tinymce.util.Tools.resolve("tinymce.util.XHR"),At=[{text:"Current window",value:""},{text:"New window",value:"_blank"}],Tt=function(m,g){return t=(e=m).getParam("link_list"),new wt(function(n){l(t)?Nt.send({url:t,success:function(t){return n(function(t){try{return it.some(JSON.parse(t))}catch(t){return it.none()}}(t))},error:function(t){return n(it.none())}}):s(t)?t(function(t){return n(it.some(t))}):n(it.from(t))}).then(function(t){return t.bind(ft.sanitizeWith(n)).map(function(t){return 0<t.length?[{text:"None",value:""}].concat(t):t})}).then(function(t){var n,e,r,o,i,u,a,l,c,f,s=(e=g,r=(n=m).dom,o=j(n)?it.some(K(n.selection,e)):it.none(),i=e?it.some(r.getAttrib(e,"href")):it.none(),u=e?it.from(r.getAttrib(e,"target")):it.none(),a=H(r,e,"rel"),l=H(r,e,"class"),{url:i,text:o,title:H(r,e,"title"),target:u,rel:a,linkClass:l});return{anchor:s,catalogs:{targets:(f=A(m),d(f)?ft.sanitize(f).orThunk(function(){return it.some(At)}):!1===f?it.none():it.some(At)),rels:function(t,n){var e=T(t);if(0<e.length){var r=O(n,"_blank");return(!1===P(t)?ft.sanitizeWith(function(t){return B(ft.getValue(t),r)}):ft.sanitize)(e)}return it.none()}(m,s.target),classes:0<(c=m.getParam("link_class_list",[],"array")).length?ft.sanitize(c):it.none(),anchor:rt(m),link:t},optNode:it.from(g),flags:{titleEnabled:m.getParam("link_title",!0,"boolean")}}});function n(t){return e.convertURL(t.value||t.url,"href")}var e,t};a.add("link",function(t){var n,e,r,o,i,u,a;function l(t){var n=a.selection.getNode();return t.setDisabled(!I(a,n)),h}(n=t).ui.registry.addToggleButton("link",{icon:"link",tooltip:"Insert/edit link",onAction:Q(n),onSetup:tt(n)}),n.ui.registry.addButton("openlink",{icon:"new-tab",tooltip:"Open link",onAction:Y(n),onSetup:nt(n)}),n.ui.registry.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onAction:function(){return F(n)},onSetup:et(n)}),(e=t).ui.registry.addMenuItem("openlink",{text:"Open link",icon:"new-tab",onAction:Y(e),onSetup:nt(e)}),e.ui.registry.addMenuItem("link",{icon:"link",text:"Link...",shortcut:"Meta+K",onAction:Q(e)}),e.ui.registry.addMenuItem("unlink",{icon:"unlink",text:"Remove link",onAction:function(){return F(e)},onSetup:et(e)}),(r=t).ui.registry.addContextMenu("link",{update:function(t){return z(r.dom.getParents(t,"a"))?"link unlink openlink":"link"}}),(a=t).ui.registry.addContextForm("quicklink",{launch:{type:"contextformtogglebutton",icon:"link",tooltip:"Link",onSetup:tt(a)},label:"Link",predicate:function(t){return!!I(a,t)&&a.getParam("link_context_toolbar",!1,"boolean")},initValue:function(){var t=I(a);return t?pt(t):""},commands:[{type:"contextformtogglebutton",icon:"link",tooltip:"Link",primary:!0,onSetup:function(t){var n=a.selection.getNode();return t.setActive(!!I(a,n)),tt(a)(t)},onAction:function(t){var n=t.getValue(),e=function(t){var n=I(a),e=j(a);if(n||!e)return it.none();var r=K(a.selection,n);return it.some(0<r.length?r:t)}(n);q(a,{href:n,attach:h},{href:n,text:e,title:it.none(),rel:it.none(),target:it.none(),class:it.none()}),a.selection.collapse(!1),t.hide()}},{type:"contextformbutton",icon:"unlink",tooltip:"Remove link",onSetup:l,onAction:function(t){F(a),t.hide()}},{type:"contextformbutton",icon:"new-tab",tooltip:"Open link",onSetup:l,onAction:function(t){Y(a)(),t.hide()}}]}),(u=t).on("click",function(t){var n=J(u,t.target);n&&c.metaKeyPressed(t)&&(t.preventDefault(),$(u,n))}),u.on("keydown",function(t){var n=X(u);n&&13===t.keyCode&&!0===t.altKey&&!1===t.shiftKey&&!1===t.ctrlKey&&!1===t.metaKey&&(t.preventDefault(),$(u,n))}),(o=t).addCommand("mceLink",function(){o.getParam("link_quicklink",!1,"boolean")?o.fire("contexttoolbar-show",{toolbarKey:"quicklink"}):Q(o)()}),(i=t).addShortcut("Meta+K","",function(){i.execCommand("mceLink")})})}();
|