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/es2018/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 = "es2018";
|
|
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
|
|
@@ -9277,25 +9284,29 @@ function reset(key) {
|
|
|
9277
9284
|
/**
|
|
9278
9285
|
* @module helpers/utils
|
|
9279
9286
|
*/
|
|
9280
|
-
|
|
9287
|
+
/**
|
|
9288
|
+
* Check if element is in view
|
|
9289
|
+
*/
|
|
9290
|
+
function inView(elm, root, doc) {
|
|
9281
9291
|
let rect = elm.getBoundingClientRect(), el = elm;
|
|
9282
9292
|
const top = rect.top, height = rect.height;
|
|
9283
|
-
|
|
9284
|
-
|
|
9285
|
-
|
|
9286
|
-
|
|
9287
|
-
|
|
9288
|
-
return false;
|
|
9289
|
-
}
|
|
9290
|
-
// Check if the element is out of view due to a container scrolling
|
|
9291
|
-
if (top + height <= rect.top) {
|
|
9292
|
-
return false;
|
|
9293
|
-
}
|
|
9293
|
+
while (el && el !== root && el.parentNode) {
|
|
9294
|
+
el = el.parentNode;
|
|
9295
|
+
rect = el.getBoundingClientRect();
|
|
9296
|
+
if (!(top <= rect.bottom)) {
|
|
9297
|
+
return false;
|
|
9294
9298
|
}
|
|
9295
|
-
|
|
9296
|
-
|
|
9299
|
+
// Check if the element is out of view due to a container scrolling
|
|
9300
|
+
if (top + height <= rect.top) {
|
|
9301
|
+
return false;
|
|
9302
|
+
}
|
|
9303
|
+
}
|
|
9304
|
+
// Check it's within the document viewport
|
|
9297
9305
|
return (top <= ((doc.documentElement && doc.documentElement.clientHeight) || 0));
|
|
9298
|
-
}
|
|
9306
|
+
}
|
|
9307
|
+
/**
|
|
9308
|
+
* Scroll element into view if it is not in view
|
|
9309
|
+
*/
|
|
9299
9310
|
function scrollIntoViewIfNeeded(elm, root, doc) {
|
|
9300
9311
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isHTMLElement */ .i.isHTMLElement(elm) && !inView(elm, root, doc)) {
|
|
9301
9312
|
if (root.clientHeight !== root.scrollHeight) {
|
|
@@ -10828,14 +10839,14 @@ class Selection {
|
|
|
10828
10839
|
const left = range.cloneRange();
|
|
10829
10840
|
left.collapse(true);
|
|
10830
10841
|
const fakeLeft = this.j.createInside.fake();
|
|
10831
|
-
|
|
10842
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(left, fakeLeft);
|
|
10832
10843
|
range.setStartBefore(fakeLeft);
|
|
10833
10844
|
const result = [fakeLeft];
|
|
10834
10845
|
if (!range.collapsed) {
|
|
10835
10846
|
const right = range.cloneRange();
|
|
10836
10847
|
right.collapse(false);
|
|
10837
10848
|
const fakeRight = this.j.createInside.fake();
|
|
10838
|
-
|
|
10849
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(right, fakeRight);
|
|
10839
10850
|
range.setEndAfter(fakeRight);
|
|
10840
10851
|
result.push(fakeRight);
|
|
10841
10852
|
}
|
|
@@ -11054,7 +11065,6 @@ class Selection {
|
|
|
11054
11065
|
}
|
|
11055
11066
|
const sel = this.sel;
|
|
11056
11067
|
this.j.history.snapshot.transaction(() => {
|
|
11057
|
-
var _a;
|
|
11058
11068
|
if (!this.isCollapsed()) {
|
|
11059
11069
|
this.j.execCommand('Delete');
|
|
11060
11070
|
}
|
|
@@ -11062,13 +11072,7 @@ class Selection {
|
|
|
11062
11072
|
if (sel && sel.rangeCount) {
|
|
11063
11073
|
const range = sel.getRangeAt(0);
|
|
11064
11074
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isOrContains */ .i.isOrContains(this.area, range.commonAncestorContainer)) {
|
|
11065
|
-
|
|
11066
|
-
range.collapsed) {
|
|
11067
|
-
(_a = range.startContainer.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(node, range.startContainer);
|
|
11068
|
-
}
|
|
11069
|
-
else {
|
|
11070
|
-
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(range, node);
|
|
11071
|
-
}
|
|
11075
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(range, node);
|
|
11072
11076
|
}
|
|
11073
11077
|
else {
|
|
11074
11078
|
this.area.appendChild(node);
|
|
@@ -11077,14 +11081,26 @@ class Selection {
|
|
|
11077
11081
|
else {
|
|
11078
11082
|
this.area.appendChild(node);
|
|
11079
11083
|
}
|
|
11084
|
+
const setCursor = (node) => {
|
|
11085
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isBlock */ .i.isBlock(node)) {
|
|
11086
|
+
const child = node.lastChild;
|
|
11087
|
+
if (child) {
|
|
11088
|
+
return setCursor(child);
|
|
11089
|
+
}
|
|
11090
|
+
}
|
|
11091
|
+
this.setCursorAfter(node);
|
|
11092
|
+
};
|
|
11080
11093
|
if (insertCursorAfter) {
|
|
11081
11094
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isFragment */ .i.isFragment(node)) {
|
|
11082
|
-
child &&
|
|
11095
|
+
child && setCursor(child);
|
|
11083
11096
|
}
|
|
11084
11097
|
else {
|
|
11085
|
-
|
|
11098
|
+
setCursor(node);
|
|
11086
11099
|
}
|
|
11087
11100
|
}
|
|
11101
|
+
if (this.j.o.scrollToPastedContent) {
|
|
11102
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(child !== null && child !== void 0 ? child : node, this.j.editor, this.doc);
|
|
11103
|
+
}
|
|
11088
11104
|
});
|
|
11089
11105
|
if (fireChange && this.j.events) {
|
|
11090
11106
|
this.j.__imdSynchronizeValues();
|
|
@@ -15824,6 +15840,13 @@ Icon.__cache = new Map();
|
|
|
15824
15840
|
|
|
15825
15841
|
|
|
15826
15842
|
|
|
15843
|
+
const EVENTS_FOR_AUTOCLOSE = [
|
|
15844
|
+
'escape',
|
|
15845
|
+
'cut',
|
|
15846
|
+
'delete',
|
|
15847
|
+
'backSpaceAfterDelete',
|
|
15848
|
+
'beforeCommandDelete'
|
|
15849
|
+
];
|
|
15827
15850
|
class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u {
|
|
15828
15851
|
/** @override */
|
|
15829
15852
|
className() {
|
|
@@ -16062,7 +16085,7 @@ class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElem
|
|
|
16062
16085
|
jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.on */ .TB.on('closeAllPopups', this.close);
|
|
16063
16086
|
if (this.smart) {
|
|
16064
16087
|
this.j.e
|
|
16065
|
-
.on(
|
|
16088
|
+
.on(EVENTS_FOR_AUTOCLOSE, this.close)
|
|
16066
16089
|
.on('mousedown touchstart', this.closeOnOutsideClick)
|
|
16067
16090
|
.on(ow, 'mousedown touchstart', this.closeOnOutsideClick);
|
|
16068
16091
|
}
|
|
@@ -16081,7 +16104,7 @@ class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElem
|
|
|
16081
16104
|
jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.off */ .TB.off('closeAllPopups', this.close);
|
|
16082
16105
|
if (this.smart) {
|
|
16083
16106
|
this.j.e
|
|
16084
|
-
.off(
|
|
16107
|
+
.off(EVENTS_FOR_AUTOCLOSE, this.close)
|
|
16085
16108
|
.off('mousedown touchstart', this.closeOnOutsideClick)
|
|
16086
16109
|
.off(ow, 'mousedown touchstart', this.closeOnOutsideClick);
|
|
16087
16110
|
}
|
|
@@ -17272,7 +17295,10 @@ let Jodit = Jodit_1 = class Jodit extends jodit_modules__WEBPACK_IMPORTED_MODULE
|
|
|
17272
17295
|
* })
|
|
17273
17296
|
* ```
|
|
17274
17297
|
*/
|
|
17275
|
-
result = this.e.fire(
|
|
17298
|
+
result = this.e.fire(`beforeCommand${(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.ucfirst)(command)}`, showUI, value, ...args);
|
|
17299
|
+
if (result !== false) {
|
|
17300
|
+
result = this.e.fire('beforeCommand', command, showUI, value, ...args);
|
|
17301
|
+
}
|
|
17276
17302
|
if (result !== false) {
|
|
17277
17303
|
result = this.__execCustomCommands(command, showUI, value, ...args);
|
|
17278
17304
|
}
|
|
@@ -32646,7 +32672,7 @@ class inlinePopup extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plug
|
|
|
32646
32672
|
* Hide opened popup
|
|
32647
32673
|
*/
|
|
32648
32674
|
hidePopup(type) {
|
|
32649
|
-
if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(type) || type === this.type) {
|
|
32675
|
+
if (this.popup.isOpened && (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(type) || type === this.type)) {
|
|
32650
32676
|
this.popup.close();
|
|
32651
32677
|
}
|
|
32652
32678
|
}
|
|
@@ -32809,7 +32835,7 @@ inlinePopup.requires = ['select'];
|
|
|
32809
32835
|
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.wait)((ctx) => !ctx.j.isLocked)
|
|
32810
32836
|
], inlinePopup.prototype, "showPopup", null);
|
|
32811
32837
|
(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([
|
|
32812
|
-
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)(':clickEditor'),
|
|
32838
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)([':clickEditor', ':beforeCommandDelete', ':backSpaceAfterDelete']),
|
|
32813
32839
|
jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.autobind
|
|
32814
32840
|
], inlinePopup.prototype, "hidePopup", null);
|
|
32815
32841
|
(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([
|
|
@@ -34861,6 +34887,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_5__/* .pluginSystem.add */ .pw.add('p
|
|
|
34861
34887
|
|
|
34862
34888
|
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.askBeforePasteHTML = true;
|
|
34863
34889
|
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.processPasteHTML = true;
|
|
34890
|
+
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.scrollToPastedContent = true;
|
|
34864
34891
|
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.pasteHTMLActionList = [
|
|
34865
34892
|
{ value: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_HTML, text: 'Keep' },
|
|
34866
34893
|
{ value: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_TEXT, text: 'Insert as Text' },
|
|
@@ -35162,7 +35189,7 @@ class paste extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plu
|
|
|
35162
35189
|
text = result;
|
|
35163
35190
|
}
|
|
35164
35191
|
if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.isString)(text) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.isNode */ .i.isNode(text)) {
|
|
35165
|
-
this.
|
|
35192
|
+
this.__insertByType(e, text, this.j.o.defaultActionOnPaste);
|
|
35166
35193
|
}
|
|
35167
35194
|
e.preventDefault();
|
|
35168
35195
|
e.stopPropagation();
|
|
@@ -35172,35 +35199,35 @@ class paste extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plu
|
|
|
35172
35199
|
* Process usual HTML text fragment
|
|
35173
35200
|
*/
|
|
35174
35201
|
processHTML(e, html) {
|
|
35175
|
-
if (this.j.o.askBeforePasteHTML) {
|
|
35176
|
-
|
|
35177
|
-
|
|
35178
|
-
|
|
35179
|
-
|
|
35180
|
-
|
|
35181
|
-
|
|
35182
|
-
}
|
|
35183
|
-
if (this._isDialogOpened) {
|
|
35202
|
+
if (!this.j.o.askBeforePasteHTML) {
|
|
35203
|
+
return false;
|
|
35204
|
+
}
|
|
35205
|
+
if (this.j.o.memorizeChoiceWhenPasteFragment) {
|
|
35206
|
+
const cached = this.pasteStack.find(cachedItem => cachedItem.html === html);
|
|
35207
|
+
if (cached) {
|
|
35208
|
+
this.__insertByType(e, html, cached.action || this.j.o.defaultActionOnPaste);
|
|
35184
35209
|
return true;
|
|
35185
35210
|
}
|
|
35186
|
-
|
|
35187
|
-
|
|
35188
|
-
this.insertByType(e, html, insertType);
|
|
35189
|
-
}, this.j.o.pasteHTMLActionList);
|
|
35190
|
-
if (dialog) {
|
|
35191
|
-
this._isDialogOpened = true;
|
|
35192
|
-
dialog.e.on('beforeClose', () => {
|
|
35193
|
-
this._isDialogOpened = false;
|
|
35194
|
-
});
|
|
35195
|
-
}
|
|
35211
|
+
}
|
|
35212
|
+
if (this._isDialogOpened) {
|
|
35196
35213
|
return true;
|
|
35197
35214
|
}
|
|
35198
|
-
|
|
35215
|
+
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 => {
|
|
35216
|
+
this._isDialogOpened = false;
|
|
35217
|
+
this.__insertByType(e, html, insertType);
|
|
35218
|
+
}, this.j.o.pasteHTMLActionList);
|
|
35219
|
+
if (dialog) {
|
|
35220
|
+
this._isDialogOpened = true;
|
|
35221
|
+
dialog.e.on('beforeClose', () => {
|
|
35222
|
+
this._isDialogOpened = false;
|
|
35223
|
+
});
|
|
35224
|
+
}
|
|
35225
|
+
return true;
|
|
35199
35226
|
}
|
|
35200
35227
|
/**
|
|
35201
35228
|
* Insert HTML by option type
|
|
35202
35229
|
*/
|
|
35203
|
-
|
|
35230
|
+
__insertByType(e, html, action) {
|
|
35204
35231
|
this.pasteStack.push({ html, action });
|
|
35205
35232
|
if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.isString)(html)) {
|
|
35206
35233
|
this.j.buffer.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.CLIPBOARD_ID, html);
|