jodit-pro 4.4.7 → 4.5.3
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 +81 -35
- 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 +81 -35
- 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 +81 -35
- 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 +81 -35
- 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 +88 -36
- 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.en/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: v4.
|
|
4
|
+
* Version: v4.5.3
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1639,7 +1639,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1639
1639
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
1640
1640
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
1641
1641
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
1642
|
-
*/ const APP_VERSION = "4.
|
|
1642
|
+
*/ const APP_VERSION = "4.5.1";
|
|
1643
1643
|
// prettier-ignore
|
|
1644
1644
|
const ES = "es2020";
|
|
1645
1645
|
const IS_ES_MODERN = true;
|
|
@@ -2701,27 +2701,24 @@ function getPropertyDescriptor(obj, prop) {
|
|
|
2701
2701
|
}
|
|
2702
2702
|
}
|
|
2703
2703
|
/**
|
|
2704
|
-
* Wrap all inline siblings
|
|
2705
|
-
*/ static
|
|
2706
|
-
let tmp
|
|
2704
|
+
* Wrap all inline next siblings
|
|
2705
|
+
*/ static wrapNextInline(current, tag, editor) {
|
|
2706
|
+
let tmp;
|
|
2707
|
+
const first = current;
|
|
2708
|
+
let last = current;
|
|
2707
2709
|
editor.s.save();
|
|
2708
2710
|
let needFindNext = false;
|
|
2709
|
-
do {
|
|
2710
|
-
needFindNext = false;
|
|
2711
|
-
tmp = first.previousSibling;
|
|
2712
|
-
if (tmp && !Dom.isBlock(tmp)) {
|
|
2713
|
-
needFindNext = true;
|
|
2714
|
-
first = tmp;
|
|
2715
|
-
}
|
|
2716
|
-
}while (needFindNext)
|
|
2717
2711
|
do {
|
|
2718
2712
|
needFindNext = false;
|
|
2719
2713
|
tmp = last.nextSibling;
|
|
2720
|
-
if (tmp && !Dom.isBlock(tmp)) {
|
|
2714
|
+
if (tmp && !Dom.isBlock(tmp) && !Dom.isTag(tmp, 'br')) {
|
|
2721
2715
|
needFindNext = true;
|
|
2722
2716
|
last = tmp;
|
|
2723
2717
|
}
|
|
2724
2718
|
}while (needFindNext)
|
|
2719
|
+
return Dom.__wrapElements(tag, editor, first, last);
|
|
2720
|
+
}
|
|
2721
|
+
static __wrapElements(tag, editor, first, last) {
|
|
2725
2722
|
const wrapper = (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(tag) ? editor.createInside.element(tag) : tag;
|
|
2726
2723
|
if (first.parentNode) {
|
|
2727
2724
|
first.parentNode.insertBefore(wrapper, first);
|
|
@@ -2738,6 +2735,32 @@ function getPropertyDescriptor(obj, prop) {
|
|
|
2738
2735
|
editor.s.restore();
|
|
2739
2736
|
return wrapper;
|
|
2740
2737
|
}
|
|
2738
|
+
/**
|
|
2739
|
+
* Wrap all inline siblings
|
|
2740
|
+
*/ static wrapInline(current, tag, editor) {
|
|
2741
|
+
let tmp;
|
|
2742
|
+
let first = current;
|
|
2743
|
+
let last = current;
|
|
2744
|
+
editor.s.save();
|
|
2745
|
+
let needFindNext = false;
|
|
2746
|
+
do {
|
|
2747
|
+
needFindNext = false;
|
|
2748
|
+
tmp = first.previousSibling;
|
|
2749
|
+
if (tmp && !Dom.isBlock(tmp)) {
|
|
2750
|
+
needFindNext = true;
|
|
2751
|
+
first = tmp;
|
|
2752
|
+
}
|
|
2753
|
+
}while (needFindNext)
|
|
2754
|
+
do {
|
|
2755
|
+
needFindNext = false;
|
|
2756
|
+
tmp = last.nextSibling;
|
|
2757
|
+
if (tmp && !Dom.isBlock(tmp)) {
|
|
2758
|
+
needFindNext = true;
|
|
2759
|
+
last = tmp;
|
|
2760
|
+
}
|
|
2761
|
+
}while (needFindNext)
|
|
2762
|
+
return Dom.__wrapElements(tag, editor, first, last);
|
|
2763
|
+
}
|
|
2741
2764
|
/**
|
|
2742
2765
|
* Wrap node inside another node
|
|
2743
2766
|
*/ static wrap(current, tag, create) {
|
|
@@ -30741,10 +30764,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
30741
30764
|
/**
|
|
30742
30765
|
* @private
|
|
30743
30766
|
*/ function isRemovableNode(jodit, node, current, allow, deny) {
|
|
30744
|
-
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isText(node)
|
|
30745
|
-
|
|
30767
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isText(node)) {
|
|
30768
|
+
if (allow && !allow[node.nodeName]) {
|
|
30769
|
+
return true;
|
|
30770
|
+
}
|
|
30771
|
+
if (!allow && deny && deny[node.nodeName]) {
|
|
30772
|
+
return true;
|
|
30773
|
+
}
|
|
30746
30774
|
}
|
|
30747
|
-
|
|
30775
|
+
if (!jodit.o.cleanHTML.removeEmptyElements) {
|
|
30776
|
+
return false;
|
|
30777
|
+
}
|
|
30778
|
+
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isElement(node) && node.nodeName.match(_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_INLINE) != null && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTemporary(node) && (0,_core_helpers_string_trim_js__WEBPACK_IMPORTED_MODULE_2__/* .trim */ .Bq)(node.innerHTML).length === 0 && (current == null || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isOrContains(node, current));
|
|
30748
30779
|
}
|
|
30749
30780
|
|
|
30750
30781
|
|
|
@@ -35431,7 +35462,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.indentMargin =
|
|
|
35431
35462
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59230);
|
|
35432
35463
|
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50036);
|
|
35433
35464
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29964);
|
|
35434
|
-
/* harmony import */ var
|
|
35465
|
+
/* harmony import */ var _core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(33179);
|
|
35435
35466
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10589);
|
|
35436
35467
|
/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(73686);
|
|
35437
35468
|
/*!
|
|
@@ -35444,6 +35475,22 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.indentMargin =
|
|
|
35444
35475
|
|
|
35445
35476
|
|
|
35446
35477
|
|
|
35478
|
+
const applyIndentToBox = (processedElements, currentBox, editor, command)=>{
|
|
35479
|
+
if (!currentBox) {
|
|
35480
|
+
return;
|
|
35481
|
+
}
|
|
35482
|
+
if (processedElements.has(currentBox)) {
|
|
35483
|
+
return;
|
|
35484
|
+
}
|
|
35485
|
+
const key = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_5__/* .getKey */ .i)(editor.o.direction, currentBox);
|
|
35486
|
+
processedElements.add(currentBox);
|
|
35487
|
+
let value = currentBox.style[key] ? parseInt(currentBox.style[key], 10) : 0;
|
|
35488
|
+
value += editor.o.indentMargin * (command === 'outdent' ? -1 : 1);
|
|
35489
|
+
currentBox.style[key] = value > 0 ? value + 'px' : '';
|
|
35490
|
+
if (!(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__/* .attr */ .CF)(currentBox, 'style')) {
|
|
35491
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__/* .attr */ .CF)(currentBox, 'style', null);
|
|
35492
|
+
}
|
|
35493
|
+
};
|
|
35447
35494
|
/**
|
|
35448
35495
|
* Indents the line containing the selection or insertion point.
|
|
35449
35496
|
*/ function indent(editor) {
|
|
@@ -35454,44 +35501,43 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.indentMargin =
|
|
|
35454
35501
|
name: 'outdent',
|
|
35455
35502
|
group: 'indent'
|
|
35456
35503
|
});
|
|
35457
|
-
const
|
|
35458
|
-
const processedElements =
|
|
35504
|
+
const indentCommand = (command)=>{
|
|
35505
|
+
const processedElements = new Set();
|
|
35506
|
+
const { enter, enterBlock } = editor.o;
|
|
35507
|
+
const isBrMode = enter.toLowerCase() === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.BR;
|
|
35508
|
+
const current = editor.s.current();
|
|
35509
|
+
if (isBrMode && editor.s.isCollapsed()) {
|
|
35510
|
+
if (current) {
|
|
35511
|
+
const box = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrapNextInline(current, enterBlock, editor);
|
|
35512
|
+
applyIndentToBox(processedElements, box, editor, command);
|
|
35513
|
+
return false;
|
|
35514
|
+
}
|
|
35515
|
+
}
|
|
35459
35516
|
editor.s.eachSelection((current)=>{
|
|
35460
35517
|
editor.s.save();
|
|
35461
35518
|
let currentBox = current ? _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.up(current, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock, editor.editor) : false;
|
|
35462
|
-
const { enter } = editor.o;
|
|
35463
35519
|
if (!currentBox && current) {
|
|
35464
|
-
currentBox = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrapInline
|
|
35520
|
+
currentBox = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__/* .call */ .T1)(!isBrMode ? _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrapInline : _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrapNextInline, current, !isBrMode ? enter.toLowerCase() : enterBlock, editor);
|
|
35465
35521
|
}
|
|
35466
35522
|
if (!currentBox) {
|
|
35467
35523
|
editor.s.restore();
|
|
35468
35524
|
return false;
|
|
35469
35525
|
}
|
|
35470
|
-
|
|
35471
|
-
if (currentBox && !alreadyIndented) {
|
|
35472
|
-
const key = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_5__/* .getKey */ .i)(editor.o.direction, currentBox);
|
|
35473
|
-
processedElements.push(currentBox);
|
|
35474
|
-
let value = currentBox.style[key] ? parseInt(currentBox.style[key], 10) : 0;
|
|
35475
|
-
value += editor.o.indentMargin * (command === 'outdent' ? -1 : 1);
|
|
35476
|
-
currentBox.style[key] = value > 0 ? value + 'px' : '';
|
|
35477
|
-
if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(currentBox, 'style')) {
|
|
35478
|
-
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(currentBox, 'style', null);
|
|
35479
|
-
}
|
|
35480
|
-
}
|
|
35526
|
+
applyIndentToBox(processedElements, currentBox, editor, command);
|
|
35481
35527
|
editor.s.restore();
|
|
35482
35528
|
});
|
|
35483
35529
|
editor.synchronizeValues();
|
|
35484
35530
|
return false;
|
|
35485
35531
|
};
|
|
35486
35532
|
editor.registerCommand('indent', {
|
|
35487
|
-
exec:
|
|
35533
|
+
exec: indentCommand,
|
|
35488
35534
|
hotkeys: [
|
|
35489
35535
|
'ctrl+]',
|
|
35490
35536
|
'cmd+]'
|
|
35491
35537
|
]
|
|
35492
35538
|
});
|
|
35493
35539
|
editor.registerCommand('outdent', {
|
|
35494
|
-
exec:
|
|
35540
|
+
exec: indentCommand,
|
|
35495
35541
|
hotkeys: [
|
|
35496
35542
|
'ctrl+[',
|
|
35497
35543
|
'cmd+['
|