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/es2021/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
|
*/
|
|
@@ -2402,7 +2402,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2402
2402
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
2403
2403
|
* Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
2404
2404
|
*/
|
|
2405
|
-
const APP_VERSION = "2.0.0-beta.
|
|
2405
|
+
const APP_VERSION = "2.0.0-beta.21";
|
|
2406
2406
|
// eslint-disable-next-line prettier/prettier
|
|
2407
2407
|
const ES = "es2021";
|
|
2408
2408
|
const IS_ES_MODERN = true;
|
|
@@ -3981,8 +3981,15 @@ class Dom {
|
|
|
3981
3981
|
static safeInsertNode(range, node) {
|
|
3982
3982
|
range.collapsed || range.deleteContents();
|
|
3983
3983
|
const child = Dom.isFragment(node) ? node.lastChild : node;
|
|
3984
|
-
range.
|
|
3985
|
-
|
|
3984
|
+
if (range.startContainer === range.endContainer &&
|
|
3985
|
+
range.collapsed &&
|
|
3986
|
+
Dom.isTag(range.startContainer, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS)) {
|
|
3987
|
+
Dom.after(range.startContainer, node);
|
|
3988
|
+
}
|
|
3989
|
+
else {
|
|
3990
|
+
range.insertNode(node);
|
|
3991
|
+
child && range.setStartBefore(child);
|
|
3992
|
+
}
|
|
3986
3993
|
range.collapse(true);
|
|
3987
3994
|
// https://developer.mozilla.org/en-US/docs/Web/API/Range/insertNode
|
|
3988
3995
|
// if the new node is to be added to a text Node, that Node is split at the
|
|
@@ -9258,25 +9265,29 @@ function reset(key) {
|
|
|
9258
9265
|
/**
|
|
9259
9266
|
* @module helpers/utils
|
|
9260
9267
|
*/
|
|
9261
|
-
|
|
9268
|
+
/**
|
|
9269
|
+
* Check if element is in view
|
|
9270
|
+
*/
|
|
9271
|
+
function inView(elm, root, doc) {
|
|
9262
9272
|
let rect = elm.getBoundingClientRect(), el = elm;
|
|
9263
9273
|
const top = rect.top, height = rect.height;
|
|
9264
|
-
|
|
9265
|
-
|
|
9266
|
-
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
return false;
|
|
9270
|
-
}
|
|
9271
|
-
// Check if the element is out of view due to a container scrolling
|
|
9272
|
-
if (top + height <= rect.top) {
|
|
9273
|
-
return false;
|
|
9274
|
-
}
|
|
9274
|
+
while (el && el !== root && el.parentNode) {
|
|
9275
|
+
el = el.parentNode;
|
|
9276
|
+
rect = el.getBoundingClientRect();
|
|
9277
|
+
if (!(top <= rect.bottom)) {
|
|
9278
|
+
return false;
|
|
9275
9279
|
}
|
|
9276
|
-
|
|
9277
|
-
|
|
9280
|
+
// Check if the element is out of view due to a container scrolling
|
|
9281
|
+
if (top + height <= rect.top) {
|
|
9282
|
+
return false;
|
|
9283
|
+
}
|
|
9284
|
+
}
|
|
9285
|
+
// Check it's within the document viewport
|
|
9278
9286
|
return (top <= ((doc.documentElement && doc.documentElement.clientHeight) || 0));
|
|
9279
|
-
}
|
|
9287
|
+
}
|
|
9288
|
+
/**
|
|
9289
|
+
* Scroll element into view if it is not in view
|
|
9290
|
+
*/
|
|
9280
9291
|
function scrollIntoViewIfNeeded(elm, root, doc) {
|
|
9281
9292
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isHTMLElement */ .i.isHTMLElement(elm) && !inView(elm, root, doc)) {
|
|
9282
9293
|
if (root.clientHeight !== root.scrollHeight) {
|
|
@@ -10802,14 +10813,14 @@ class Selection {
|
|
|
10802
10813
|
const left = range.cloneRange();
|
|
10803
10814
|
left.collapse(true);
|
|
10804
10815
|
const fakeLeft = this.j.createInside.fake();
|
|
10805
|
-
|
|
10816
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(left, fakeLeft);
|
|
10806
10817
|
range.setStartBefore(fakeLeft);
|
|
10807
10818
|
const result = [fakeLeft];
|
|
10808
10819
|
if (!range.collapsed) {
|
|
10809
10820
|
const right = range.cloneRange();
|
|
10810
10821
|
right.collapse(false);
|
|
10811
10822
|
const fakeRight = this.j.createInside.fake();
|
|
10812
|
-
|
|
10823
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(right, fakeRight);
|
|
10813
10824
|
range.setEndAfter(fakeRight);
|
|
10814
10825
|
result.push(fakeRight);
|
|
10815
10826
|
}
|
|
@@ -11033,13 +11044,7 @@ class Selection {
|
|
|
11033
11044
|
if (sel && sel.rangeCount) {
|
|
11034
11045
|
const range = sel.getRangeAt(0);
|
|
11035
11046
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isOrContains */ .i.isOrContains(this.area, range.commonAncestorContainer)) {
|
|
11036
|
-
|
|
11037
|
-
range.collapsed) {
|
|
11038
|
-
range.startContainer.parentNode?.insertBefore(node, range.startContainer);
|
|
11039
|
-
}
|
|
11040
|
-
else {
|
|
11041
|
-
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(range, node);
|
|
11042
|
-
}
|
|
11047
|
+
jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(range, node);
|
|
11043
11048
|
}
|
|
11044
11049
|
else {
|
|
11045
11050
|
this.area.appendChild(node);
|
|
@@ -11048,14 +11053,26 @@ class Selection {
|
|
|
11048
11053
|
else {
|
|
11049
11054
|
this.area.appendChild(node);
|
|
11050
11055
|
}
|
|
11056
|
+
const setCursor = (node) => {
|
|
11057
|
+
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isBlock */ .i.isBlock(node)) {
|
|
11058
|
+
const child = node.lastChild;
|
|
11059
|
+
if (child) {
|
|
11060
|
+
return setCursor(child);
|
|
11061
|
+
}
|
|
11062
|
+
}
|
|
11063
|
+
this.setCursorAfter(node);
|
|
11064
|
+
};
|
|
11051
11065
|
if (insertCursorAfter) {
|
|
11052
11066
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isFragment */ .i.isFragment(node)) {
|
|
11053
|
-
child &&
|
|
11067
|
+
child && setCursor(child);
|
|
11054
11068
|
}
|
|
11055
11069
|
else {
|
|
11056
|
-
|
|
11070
|
+
setCursor(node);
|
|
11057
11071
|
}
|
|
11058
11072
|
}
|
|
11073
|
+
if (this.j.o.scrollToPastedContent) {
|
|
11074
|
+
(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(child ?? node, this.j.editor, this.doc);
|
|
11075
|
+
}
|
|
11059
11076
|
});
|
|
11060
11077
|
if (fireChange && this.j.events) {
|
|
11061
11078
|
this.j.__imdSynchronizeValues();
|
|
@@ -15775,6 +15792,13 @@ Icon.__cache = new Map();
|
|
|
15775
15792
|
|
|
15776
15793
|
|
|
15777
15794
|
|
|
15795
|
+
const EVENTS_FOR_AUTOCLOSE = [
|
|
15796
|
+
'escape',
|
|
15797
|
+
'cut',
|
|
15798
|
+
'delete',
|
|
15799
|
+
'backSpaceAfterDelete',
|
|
15800
|
+
'beforeCommandDelete'
|
|
15801
|
+
];
|
|
15778
15802
|
class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u {
|
|
15779
15803
|
/** @override */
|
|
15780
15804
|
className() {
|
|
@@ -16013,7 +16037,7 @@ class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElem
|
|
|
16013
16037
|
jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.on */ .TB.on('closeAllPopups', this.close);
|
|
16014
16038
|
if (this.smart) {
|
|
16015
16039
|
this.j.e
|
|
16016
|
-
.on(
|
|
16040
|
+
.on(EVENTS_FOR_AUTOCLOSE, this.close)
|
|
16017
16041
|
.on('mousedown touchstart', this.closeOnOutsideClick)
|
|
16018
16042
|
.on(ow, 'mousedown touchstart', this.closeOnOutsideClick);
|
|
16019
16043
|
}
|
|
@@ -16032,7 +16056,7 @@ class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElem
|
|
|
16032
16056
|
jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.off */ .TB.off('closeAllPopups', this.close);
|
|
16033
16057
|
if (this.smart) {
|
|
16034
16058
|
this.j.e
|
|
16035
|
-
.off(
|
|
16059
|
+
.off(EVENTS_FOR_AUTOCLOSE, this.close)
|
|
16036
16060
|
.off('mousedown touchstart', this.closeOnOutsideClick)
|
|
16037
16061
|
.off(ow, 'mousedown touchstart', this.closeOnOutsideClick);
|
|
16038
16062
|
}
|
|
@@ -17222,7 +17246,10 @@ let Jodit = Jodit_1 = class Jodit extends jodit_modules__WEBPACK_IMPORTED_MODULE
|
|
|
17222
17246
|
* })
|
|
17223
17247
|
* ```
|
|
17224
17248
|
*/
|
|
17225
|
-
result = this.e.fire(
|
|
17249
|
+
result = this.e.fire(`beforeCommand${(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.ucfirst)(command)}`, showUI, value, ...args);
|
|
17250
|
+
if (result !== false) {
|
|
17251
|
+
result = this.e.fire('beforeCommand', command, showUI, value, ...args);
|
|
17252
|
+
}
|
|
17226
17253
|
if (result !== false) {
|
|
17227
17254
|
result = this.__execCustomCommands(command, showUI, value, ...args);
|
|
17228
17255
|
}
|
|
@@ -32557,7 +32584,7 @@ class inlinePopup extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plug
|
|
|
32557
32584
|
* Hide opened popup
|
|
32558
32585
|
*/
|
|
32559
32586
|
hidePopup(type) {
|
|
32560
|
-
if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(type) || type === this.type) {
|
|
32587
|
+
if (this.popup.isOpened && (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(type) || type === this.type)) {
|
|
32561
32588
|
this.popup.close();
|
|
32562
32589
|
}
|
|
32563
32590
|
}
|
|
@@ -32720,7 +32747,7 @@ inlinePopup.requires = ['select'];
|
|
|
32720
32747
|
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.wait)((ctx) => !ctx.j.isLocked)
|
|
32721
32748
|
], inlinePopup.prototype, "showPopup", null);
|
|
32722
32749
|
(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([
|
|
32723
|
-
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)(':clickEditor'),
|
|
32750
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)([':clickEditor', ':beforeCommandDelete', ':backSpaceAfterDelete']),
|
|
32724
32751
|
jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.autobind
|
|
32725
32752
|
], inlinePopup.prototype, "hidePopup", null);
|
|
32726
32753
|
(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([
|
|
@@ -34769,6 +34796,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_5__/* .pluginSystem.add */ .pw.add('p
|
|
|
34769
34796
|
|
|
34770
34797
|
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.askBeforePasteHTML = true;
|
|
34771
34798
|
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.processPasteHTML = true;
|
|
34799
|
+
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.scrollToPastedContent = true;
|
|
34772
34800
|
jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.pasteHTMLActionList = [
|
|
34773
34801
|
{ value: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_HTML, text: 'Keep' },
|
|
34774
34802
|
{ value: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_TEXT, text: 'Insert as Text' },
|
|
@@ -35070,7 +35098,7 @@ class paste extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plu
|
|
|
35070
35098
|
text = result;
|
|
35071
35099
|
}
|
|
35072
35100
|
if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.isString)(text) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.isNode */ .i.isNode(text)) {
|
|
35073
|
-
this.
|
|
35101
|
+
this.__insertByType(e, text, this.j.o.defaultActionOnPaste);
|
|
35074
35102
|
}
|
|
35075
35103
|
e.preventDefault();
|
|
35076
35104
|
e.stopPropagation();
|
|
@@ -35080,35 +35108,35 @@ class paste extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plu
|
|
|
35080
35108
|
* Process usual HTML text fragment
|
|
35081
35109
|
*/
|
|
35082
35110
|
processHTML(e, html) {
|
|
35083
|
-
if (this.j.o.askBeforePasteHTML) {
|
|
35084
|
-
|
|
35085
|
-
|
|
35086
|
-
|
|
35087
|
-
|
|
35088
|
-
|
|
35089
|
-
|
|
35090
|
-
}
|
|
35091
|
-
if (this._isDialogOpened) {
|
|
35111
|
+
if (!this.j.o.askBeforePasteHTML) {
|
|
35112
|
+
return false;
|
|
35113
|
+
}
|
|
35114
|
+
if (this.j.o.memorizeChoiceWhenPasteFragment) {
|
|
35115
|
+
const cached = this.pasteStack.find(cachedItem => cachedItem.html === html);
|
|
35116
|
+
if (cached) {
|
|
35117
|
+
this.__insertByType(e, html, cached.action || this.j.o.defaultActionOnPaste);
|
|
35092
35118
|
return true;
|
|
35093
35119
|
}
|
|
35094
|
-
|
|
35095
|
-
|
|
35096
|
-
this.insertByType(e, html, insertType);
|
|
35097
|
-
}, this.j.o.pasteHTMLActionList);
|
|
35098
|
-
if (dialog) {
|
|
35099
|
-
this._isDialogOpened = true;
|
|
35100
|
-
dialog.e.on('beforeClose', () => {
|
|
35101
|
-
this._isDialogOpened = false;
|
|
35102
|
-
});
|
|
35103
|
-
}
|
|
35120
|
+
}
|
|
35121
|
+
if (this._isDialogOpened) {
|
|
35104
35122
|
return true;
|
|
35105
35123
|
}
|
|
35106
|
-
|
|
35124
|
+
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 => {
|
|
35125
|
+
this._isDialogOpened = false;
|
|
35126
|
+
this.__insertByType(e, html, insertType);
|
|
35127
|
+
}, this.j.o.pasteHTMLActionList);
|
|
35128
|
+
if (dialog) {
|
|
35129
|
+
this._isDialogOpened = true;
|
|
35130
|
+
dialog.e.on('beforeClose', () => {
|
|
35131
|
+
this._isDialogOpened = false;
|
|
35132
|
+
});
|
|
35133
|
+
}
|
|
35134
|
+
return true;
|
|
35107
35135
|
}
|
|
35108
35136
|
/**
|
|
35109
35137
|
* Insert HTML by option type
|
|
35110
35138
|
*/
|
|
35111
|
-
|
|
35139
|
+
__insertByType(e, html, action) {
|
|
35112
35140
|
this.pasteStack.push({ html, action });
|
|
35113
35141
|
if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.isString)(html)) {
|
|
35114
35142
|
this.j.buffer.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.CLIPBOARD_ID, html);
|