jodit-pro 2.0.0-beta.18 → 2.0.0-beta.21
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/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +2 -2
- package/es2015/jodit.js +85 -58
- package/es2015/jodit.min.js +2 -2
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.css +1 -1
- package/es2018/jodit.fat.min.js +2 -2
- package/es2018/jodit.js +85 -58
- package/es2018/jodit.min.js +2 -2
- package/es2018/plugins/autocomplete/autocomplete.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.css +1 -1
- package/es2018/plugins/backup/backup.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.css +1 -1
- package/es2018/plugins/button-generator/button-generator.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.css +1 -1
- package/es2018/plugins/color-picker/color-picker.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.css +1 -1
- package/es2018/plugins/emoji/emoji.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.css +1 -1
- package/es2018/plugins/finder/finder.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.css +1 -1
- package/es2018/plugins/google-maps/google-maps.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.css +1 -1
- package/es2018/plugins/keyboard/keyboard.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.css +1 -1
- package/es2018/plugins/paste-code/paste-code.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.css +1 -1
- package/es2018/plugins/todo-list/todo-list.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.css +1 -1
- package/es2018/plugins/translate/translate.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.css +1 -1
- package/es2018/plugins/tune-block/tune-block.js +1 -1
- package/es2018/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021/jodit.css +1 -1
- package/es2021/jodit.fat.min.js +2 -2
- package/es2021/jodit.js +85 -57
- package/es2021/jodit.min.js +2 -2
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +1 -1
- package/es2021/plugins/backup/backup.min.js +1 -1
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +1 -1
- package/es2021/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021/plugins/change-case/change-case.js +1 -1
- package/es2021/plugins/change-case/change-case.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021/plugins/page-break/page-break.js +1 -1
- package/es2021/plugins/page-break/page-break.min.js +1 -1
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +1 -1
- package/es2021/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +1 -1
- package/es2021/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +1 -1
- package/es2021/plugins/translate/translate.min.js +1 -1
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +1 -1
- package/es2021/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021.en/jodit.css +1 -1
- package/es2021.en/jodit.fat.min.js +2 -2
- package/es2021.en/jodit.js +85 -57
- package/es2021.en/jodit.min.js +2 -2
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021.en/plugins/page-break/page-break.js +1 -1
- package/es2021.en/plugins/page-break/page-break.min.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +1 -1
- package/es2021.en/plugins/translate/translate.min.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/jodit.css +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +90 -59
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +1 -1
- package/es5/plugins/backup/backup.min.js +1 -1
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +1 -1
- package/es5/plugins/button-generator/button-generator.min.js +1 -1
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/package.json +1 -1
package/es2015/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valeriy <chupurnov@gmail.com>
|
|
4
|
-
* Version: v2.0.0-beta.
|
|
4
|
+
* Version: v2.0.0-beta.21
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -2401,7 +2401,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2401
2401
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
2402
2402
|
* Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
2403
2403
|
*/
|
|
2404
|
-
const APP_VERSION = "2.0.0-beta.
|
|
2404
|
+
const APP_VERSION = "2.0.0-beta.21";
|
|
2405
2405
|
// eslint-disable-next-line prettier/prettier
|
|
2406
2406
|
const ES = "es2015";
|
|
2407
2407
|
const IS_ES_MODERN = true;
|
|
@@ -3988,8 +3988,15 @@ class Dom {
|
|
|
3988
3988
|
static safeInsertNode(range, node) {
|
|
3989
3989
|
range.collapsed || range.deleteContents();
|
|
3990
3990
|
const child = Dom.isFragment(node) ? node.lastChild : node;
|
|
3991
|
-
range.
|
|
3992
|
-
|
|
3991
|
+
if (range.startContainer === range.endContainer &&
|
|
3992
|
+
range.collapsed &&
|
|
3993
|
+
Dom.isTag(range.startContainer, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS)) {
|
|
3994
|
+
Dom.after(range.startContainer, node);
|
|
3995
|
+
}
|
|
3996
|
+
else {
|
|
3997
|
+
range.insertNode(node);
|
|
3998
|
+
child && range.setStartBefore(child);
|
|
3999
|
+
}
|
|
3993
4000
|
range.collapse(true);
|
|
3994
4001
|
// https://developer.mozilla.org/en-US/docs/Web/API/Range/insertNode
|
|
3995
4002
|
// if the new node is to be added to a text Node, that Node is split at the
|
|
@@ -9279,25 +9286,29 @@ function reset(key) {
|
|
|
9279
9286
|
/**
|
|
9280
9287
|
* @module helpers/utils
|
|
9281
9288
|
*/
|
|
9282
|
-
|
|
9289
|
+
/**
|
|
9290
|
+
* Check if element is in view
|
|
9291
|
+
*/
|
|
9292
|
+
function inView(elm, root, doc) {
|
|
9283
9293
|
let rect = elm.getBoundingClientRect(), el = elm;
|
|
9284
9294
|
const top = rect.top, height = rect.height;
|
|
9285
|
-
|
|
9286
|
-
|
|
9287
|
-
|
|
9288
|
-
|
|
9289
|
-
|
|
9290
|
-
return false;
|
|
9291
|
-
}
|
|
9292
|
-
// Check if the element is out of view due to a container scrolling
|
|
9293
|
-
if (top + height <= rect.top) {
|
|
9294
|
-
return false;
|
|
9295
|
-
}
|
|
9295
|
+
while (el && el !== root && el.parentNode) {
|
|
9296
|
+
el = el.parentNode;
|
|
9297
|
+
rect = el.getBoundingClientRect();
|
|
9298
|
+
if (!(top <= rect.bottom)) {
|
|
9299
|
+
return false;
|
|
9296
9300
|
}
|
|
9297
|
-
|
|
9298
|
-
|
|
9301
|
+
// Check if the element is out of view due to a container scrolling
|
|
9302
|
+
if (top + height <= rect.top) {
|
|
9303
|
+
return false;
|
|
9304
|
+
}
|
|
9305
|
+
}
|
|
9306
|
+
// Check it's within the document viewport
|
|
9299
9307
|
return (top <= ((doc.documentElement && doc.documentElement.clientHeight) || 0));
|
|
9300
|
-
}
|
|
9308
|
+
}
|
|
9309
|
+
/**
|
|
9310
|
+
* Scroll element into view if it is not in view
|
|
9311
|
+
*/
|
|
9301
9312
|
function scrollIntoViewIfNeeded(elm, root, doc) {
|
|
9302
9313
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isHTMLElement */ .i.isHTMLElement(elm) && !inView(elm, root, doc)) {
|
|
9303
9314
|
if (root.clientHeight !== root.scrollHeight) {
|
|
@@ -10840,14 +10851,14 @@ class Selection {
|
|
|
10840
10851
|
const left = range.cloneRange();
|
|
10841
10852
|
left.collapse(true);
|
|
10842
10853
|
const fakeLeft = this.j.createInside.fake();
|
|
10843
|
-
|
|
10854
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(left, fakeLeft);
|
|
10844
10855
|
range.setStartBefore(fakeLeft);
|
|
10845
10856
|
const result = [fakeLeft];
|
|
10846
10857
|
if (!range.collapsed) {
|
|
10847
10858
|
const right = range.cloneRange();
|
|
10848
10859
|
right.collapse(false);
|
|
10849
10860
|
const fakeRight = this.j.createInside.fake();
|
|
10850
|
-
|
|
10861
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(right, fakeRight);
|
|
10851
10862
|
range.setEndAfter(fakeRight);
|
|
10852
10863
|
result.push(fakeRight);
|
|
10853
10864
|
}
|
|
@@ -11066,7 +11077,6 @@ class Selection {
|
|
|
11066
11077
|
}
|
|
11067
11078
|
const sel = this.sel;
|
|
11068
11079
|
this.j.history.snapshot.transaction(() => {
|
|
11069
|
-
var _a;
|
|
11070
11080
|
if (!this.isCollapsed()) {
|
|
11071
11081
|
this.j.execCommand('Delete');
|
|
11072
11082
|
}
|
|
@@ -11074,13 +11084,7 @@ class Selection {
|
|
|
11074
11084
|
if (sel && sel.rangeCount) {
|
|
11075
11085
|
const range = sel.getRangeAt(0);
|
|
11076
11086
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isOrContains */ .i.isOrContains(this.area, range.commonAncestorContainer)) {
|
|
11077
|
-
|
|
11078
|
-
range.collapsed) {
|
|
11079
|
-
(_a = range.startContainer.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(node, range.startContainer);
|
|
11080
|
-
}
|
|
11081
|
-
else {
|
|
11082
|
-
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(range, node);
|
|
11083
|
-
}
|
|
11087
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(range, node);
|
|
11084
11088
|
}
|
|
11085
11089
|
else {
|
|
11086
11090
|
this.area.appendChild(node);
|
|
@@ -11089,14 +11093,26 @@ class Selection {
|
|
|
11089
11093
|
else {
|
|
11090
11094
|
this.area.appendChild(node);
|
|
11091
11095
|
}
|
|
11096
|
+
const setCursor = (node) => {
|
|
11097
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isBlock */ .i.isBlock(node)) {
|
|
11098
|
+
const child = node.lastChild;
|
|
11099
|
+
if (child) {
|
|
11100
|
+
return setCursor(child);
|
|
11101
|
+
}
|
|
11102
|
+
}
|
|
11103
|
+
this.setCursorAfter(node);
|
|
11104
|
+
};
|
|
11092
11105
|
if (insertCursorAfter) {
|
|
11093
11106
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isFragment */ .i.isFragment(node)) {
|
|
11094
|
-
child &&
|
|
11107
|
+
child && setCursor(child);
|
|
11095
11108
|
}
|
|
11096
11109
|
else {
|
|
11097
|
-
|
|
11110
|
+
setCursor(node);
|
|
11098
11111
|
}
|
|
11099
11112
|
}
|
|
11113
|
+
if (this.j.o.scrollToPastedContent) {
|
|
11114
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(child !== null && child !== void 0 ? child : node, this.j.editor, this.doc);
|
|
11115
|
+
}
|
|
11100
11116
|
});
|
|
11101
11117
|
if (fireChange && this.j.events) {
|
|
11102
11118
|
this.j.__imdSynchronizeValues();
|
|
@@ -15772,6 +15788,13 @@ Icon.__cache = new Map();
|
|
|
15772
15788
|
|
|
15773
15789
|
|
|
15774
15790
|
|
|
15791
|
+
const EVENTS_FOR_AUTOCLOSE = [
|
|
15792
|
+
'escape',
|
|
15793
|
+
'cut',
|
|
15794
|
+
'delete',
|
|
15795
|
+
'backSpaceAfterDelete',
|
|
15796
|
+
'beforeCommandDelete'
|
|
15797
|
+
];
|
|
15775
15798
|
class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u {
|
|
15776
15799
|
/** @override */
|
|
15777
15800
|
className() {
|
|
@@ -16006,7 +16029,7 @@ class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElem
|
|
|
16006
16029
|
jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.on */ .TB.on('closeAllPopups', this.close);
|
|
16007
16030
|
if (this.smart) {
|
|
16008
16031
|
this.j.e
|
|
16009
|
-
.on(
|
|
16032
|
+
.on(EVENTS_FOR_AUTOCLOSE, this.close)
|
|
16010
16033
|
.on('mousedown touchstart', this.closeOnOutsideClick)
|
|
16011
16034
|
.on(ow, 'mousedown touchstart', this.closeOnOutsideClick);
|
|
16012
16035
|
}
|
|
@@ -16025,7 +16048,7 @@ class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElem
|
|
|
16025
16048
|
jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.off */ .TB.off('closeAllPopups', this.close);
|
|
16026
16049
|
if (this.smart) {
|
|
16027
16050
|
this.j.e
|
|
16028
|
-
.off(
|
|
16051
|
+
.off(EVENTS_FOR_AUTOCLOSE, this.close)
|
|
16029
16052
|
.off('mousedown touchstart', this.closeOnOutsideClick)
|
|
16030
16053
|
.off(ow, 'mousedown touchstart', this.closeOnOutsideClick);
|
|
16031
16054
|
}
|
|
@@ -17216,7 +17239,10 @@ let Jodit = Jodit_1 = class Jodit extends jodit_modules__WEBPACK_IMPORTED_MODULE
|
|
|
17216
17239
|
* })
|
|
17217
17240
|
* ```
|
|
17218
17241
|
*/
|
|
17219
|
-
result = this.e.fire(
|
|
17242
|
+
result = this.e.fire(`beforeCommand${(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.ucfirst)(command)}`, showUI, value, ...args);
|
|
17243
|
+
if (result !== false) {
|
|
17244
|
+
result = this.e.fire('beforeCommand', command, showUI, value, ...args);
|
|
17245
|
+
}
|
|
17220
17246
|
if (result !== false) {
|
|
17221
17247
|
result = this.__execCustomCommands(command, showUI, value, ...args);
|
|
17222
17248
|
}
|
|
@@ -32563,7 +32589,7 @@ class inlinePopup extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plug
|
|
|
32563
32589
|
* Hide opened popup
|
|
32564
32590
|
*/
|
|
32565
32591
|
hidePopup(type) {
|
|
32566
|
-
if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(type) || type === this.type) {
|
|
32592
|
+
if (this.popup.isOpened && (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(type) || type === this.type)) {
|
|
32567
32593
|
this.popup.close();
|
|
32568
32594
|
}
|
|
32569
32595
|
}
|
|
@@ -32726,7 +32752,7 @@ inlinePopup.requires = ['select'];
|
|
|
32726
32752
|
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.wait)((ctx) => !ctx.j.isLocked)
|
|
32727
32753
|
], inlinePopup.prototype, "showPopup", null);
|
|
32728
32754
|
(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([
|
|
32729
|
-
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)(':clickEditor'),
|
|
32755
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)([':clickEditor', ':beforeCommandDelete', ':backSpaceAfterDelete']),
|
|
32730
32756
|
jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.autobind
|
|
32731
32757
|
], inlinePopup.prototype, "hidePopup", null);
|
|
32732
32758
|
(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([
|
|
@@ -34780,6 +34806,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_5__/* .pluginSystem.add */ .pw.add('p
|
|
|
34780
34806
|
|
|
34781
34807
|
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.askBeforePasteHTML = true;
|
|
34782
34808
|
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.processPasteHTML = true;
|
|
34809
|
+
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.scrollToPastedContent = true;
|
|
34783
34810
|
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.pasteHTMLActionList = [
|
|
34784
34811
|
{ value: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_HTML, text: 'Keep' },
|
|
34785
34812
|
{ value: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_TEXT, text: 'Insert as Text' },
|
|
@@ -35083,7 +35110,7 @@ class paste extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plu
|
|
|
35083
35110
|
text = result;
|
|
35084
35111
|
}
|
|
35085
35112
|
if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.isString)(text) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.isNode */ .i.isNode(text)) {
|
|
35086
|
-
this.
|
|
35113
|
+
this.__insertByType(e, text, this.j.o.defaultActionOnPaste);
|
|
35087
35114
|
}
|
|
35088
35115
|
e.preventDefault();
|
|
35089
35116
|
e.stopPropagation();
|
|
@@ -35093,35 +35120,35 @@ class paste extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plu
|
|
|
35093
35120
|
* Process usual HTML text fragment
|
|
35094
35121
|
*/
|
|
35095
35122
|
processHTML(e, html) {
|
|
35096
|
-
if (this.j.o.askBeforePasteHTML) {
|
|
35097
|
-
|
|
35098
|
-
|
|
35099
|
-
|
|
35100
|
-
|
|
35101
|
-
|
|
35102
|
-
|
|
35103
|
-
}
|
|
35104
|
-
if (this._isDialogOpened) {
|
|
35123
|
+
if (!this.j.o.askBeforePasteHTML) {
|
|
35124
|
+
return false;
|
|
35125
|
+
}
|
|
35126
|
+
if (this.j.o.memorizeChoiceWhenPasteFragment) {
|
|
35127
|
+
const cached = this.pasteStack.find(cachedItem => cachedItem.html === html);
|
|
35128
|
+
if (cached) {
|
|
35129
|
+
this.__insertByType(e, html, cached.action || this.j.o.defaultActionOnPaste);
|
|
35105
35130
|
return true;
|
|
35106
35131
|
}
|
|
35107
|
-
|
|
35108
|
-
|
|
35109
|
-
this.insertByType(e, html, insertType);
|
|
35110
|
-
}, this.j.o.pasteHTMLActionList);
|
|
35111
|
-
if (dialog) {
|
|
35112
|
-
this._isDialogOpened = true;
|
|
35113
|
-
dialog.e.on('beforeClose', () => {
|
|
35114
|
-
this._isDialogOpened = false;
|
|
35115
|
-
});
|
|
35116
|
-
}
|
|
35132
|
+
}
|
|
35133
|
+
if (this._isDialogOpened) {
|
|
35117
35134
|
return true;
|
|
35118
35135
|
}
|
|
35119
|
-
|
|
35136
|
+
const dialog = (0,_helpers__WEBPACK_IMPORTED_MODULE_6__/* .askInsertTypeDialog */ .$t)(this.j, 'Your code is similar to HTML. Keep as HTML?', 'Paste as HTML', insertType => {
|
|
35137
|
+
this._isDialogOpened = false;
|
|
35138
|
+
this.__insertByType(e, html, insertType);
|
|
35139
|
+
}, this.j.o.pasteHTMLActionList);
|
|
35140
|
+
if (dialog) {
|
|
35141
|
+
this._isDialogOpened = true;
|
|
35142
|
+
dialog.e.on('beforeClose', () => {
|
|
35143
|
+
this._isDialogOpened = false;
|
|
35144
|
+
});
|
|
35145
|
+
}
|
|
35146
|
+
return true;
|
|
35120
35147
|
}
|
|
35121
35148
|
/**
|
|
35122
35149
|
* Insert HTML by option type
|
|
35123
35150
|
*/
|
|
35124
|
-
|
|
35151
|
+
__insertByType(e, html, action) {
|
|
35125
35152
|
this.pasteStack.push({ html, action });
|
|
35126
35153
|
if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.isString)(html)) {
|
|
35127
35154
|
this.j.buffer.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.CLIPBOARD_ID, html);
|