jodit-pro 4.12.24 → 4.12.26
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 +7 -7
- package/es2015/jodit.js +156 -35
- package/es2015/jodit.min.js +38 -38
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- 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/style/style.css +1 -1
- package/es2015/plugins/style/style.js +1 -1
- package/es2015/plugins/style/style.min.js +1 -1
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.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.fat.min.js +9 -9
- package/es2018/jodit.min.js +7 -7
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/style/style.min.js +1 -1
- package/es2018/plugins/templates/templates.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.min.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 +11 -11
- package/es2021/jodit.js +156 -35
- package/es2021/jodit.min.js +8 -8
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- 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/style/style.css +1 -1
- package/es2021/plugins/style/style.js +1 -1
- package/es2021/plugins/style/style.min.js +1 -1
- package/es2021/plugins/templates/templates.css +1 -1
- package/es2021/plugins/templates/templates.js +1 -1
- package/es2021/plugins/templates/templates.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 +8 -8
- package/es2021.en/jodit.js +156 -35
- package/es2021.en/jodit.min.js +8 -8
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- 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/style/style.css +1 -1
- package/es2021.en/plugins/style/style.js +1 -1
- package/es2021.en/plugins/style/style.min.js +1 -1
- package/es2021.en/plugins/templates/templates.css +1 -1
- package/es2021.en/plugins/templates/templates.js +1 -1
- package/es2021.en/plugins/templates/templates.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 +165 -35
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- 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/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.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/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.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 Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.12.
|
|
4
|
+
* Version: v4.12.26
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1797,7 +1797,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1797
1797
|
* ```
|
|
1798
1798
|
* @packageDocumentation
|
|
1799
1799
|
* @module constants
|
|
1800
|
-
*/ const APP_VERSION = "4.12.
|
|
1800
|
+
*/ const APP_VERSION = "4.12.26";
|
|
1801
1801
|
// prettier-ignore
|
|
1802
1802
|
const ES = "es2015";
|
|
1803
1803
|
const IS_ES_MODERN = true;
|
|
@@ -3152,12 +3152,12 @@ function wait(condition) {
|
|
|
3152
3152
|
/**
|
|
3153
3153
|
* Check if element is element node
|
|
3154
3154
|
*/ static isElement(node) {
|
|
3155
|
-
var _a;
|
|
3156
3155
|
if (!Dom.isNode(node)) {
|
|
3157
3156
|
return false;
|
|
3158
3157
|
}
|
|
3159
|
-
|
|
3160
|
-
|
|
3158
|
+
// no `defaultView` requirement — nodes of an inert document
|
|
3159
|
+
// (`DOMParser`, `implementation.createHTMLDocument`) are still elements
|
|
3160
|
+
return node.nodeType === Node.ELEMENT_NODE;
|
|
3161
3161
|
}
|
|
3162
3162
|
/**
|
|
3163
3163
|
* Check if element is document fragment
|
|
@@ -3176,8 +3176,10 @@ function wait(condition) {
|
|
|
3176
3176
|
if (!Dom.isNode(node)) {
|
|
3177
3177
|
return false;
|
|
3178
3178
|
}
|
|
3179
|
+
// an inert document has no browsing context (`defaultView` is null),
|
|
3180
|
+
// but its nodes are same-realm HTMLElements
|
|
3179
3181
|
const win = (_a = node.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;
|
|
3180
|
-
return
|
|
3182
|
+
return node instanceof (win ? win.HTMLElement : HTMLElement);
|
|
3181
3183
|
}
|
|
3182
3184
|
/**
|
|
3183
3185
|
* Check element is inline block
|
|
@@ -22662,7 +22664,7 @@ function addClassNames(className, elm) {
|
|
|
22662
22664
|
Clean: 'Temizle',
|
|
22663
22665
|
'Insert as Text': 'Yazı olarak ekle',
|
|
22664
22666
|
'Word Paste Detected': 'Word biçiminde yapıştırma algılandı',
|
|
22665
|
-
'The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?': '
|
|
22667
|
+
'The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?': 'Yapıştırılan içerik bir Microsoft Word/Excel belgesinden geliyor. Formatı korumak mı yoksa temizlemek mi istiyorsunuz?',
|
|
22666
22668
|
'Insert only Text': 'Sadece yazıyı ekle',
|
|
22667
22669
|
'File Browser': 'Dosya Listeleyici',
|
|
22668
22670
|
'Error on load list': 'Liste yüklenirken hata oluştu',
|
|
@@ -23992,7 +23994,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
23992
23994
|
e.stopImmediatePropagation();
|
|
23993
23995
|
}
|
|
23994
23996
|
if (this.resizable && this.o.resizable) {
|
|
23995
|
-
this.setSize(this.startPoint.w + e.clientX - this.startX, this.startPoint.h + e.clientY - this.startY);
|
|
23997
|
+
this.setSize(Math.max(this.startPoint.w + e.clientX - this.startX, this.minSize.w), Math.max(this.startPoint.h + e.clientY - this.startY, this.minSize.h));
|
|
23996
23998
|
if (this.e) {
|
|
23997
23999
|
/**
|
|
23998
24000
|
* Fired when dialog box is resized
|
|
@@ -24015,11 +24017,20 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
24015
24017
|
}
|
|
24016
24018
|
}
|
|
24017
24019
|
__onResizerMouseDown(e) {
|
|
24020
|
+
var _a, _b, _c;
|
|
24018
24021
|
this.resizable = true;
|
|
24019
24022
|
this.startX = e.clientX;
|
|
24020
24023
|
this.startY = e.clientY;
|
|
24021
24024
|
this.startPoint.w = this.dialog.offsetWidth;
|
|
24022
24025
|
this.startPoint.h = this.dialog.offsetHeight;
|
|
24026
|
+
const header = this.getElm('header');
|
|
24027
|
+
const footer = this.getElm('footer');
|
|
24028
|
+
const content = this.getElm('content');
|
|
24029
|
+
// the content area does not shrink below its CSS `min-height`,
|
|
24030
|
+
// so it is part of the smallest height the panel can take
|
|
24031
|
+
const contentMinHeight = content ? parseFloat(this.ow.getComputedStyle(content).minHeight) || 0 : 0;
|
|
24032
|
+
this.minSize.w = (0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_6__.isNumber)(this.o.minWidth) ? this.o.minWidth : Math.max(100, (_a = footer === null || footer === void 0 ? void 0 : footer.scrollWidth) !== null && _a !== void 0 ? _a : 0);
|
|
24033
|
+
this.minSize.h = (0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_6__.isNumber)(this.o.minHeight) ? this.o.minHeight : ((_b = header === null || header === void 0 ? void 0 : header.offsetHeight) !== null && _b !== void 0 ? _b : 0) + ((_c = footer === null || footer === void 0 ? void 0 : footer.offsetHeight) !== null && _c !== void 0 ? _c : 0) + contentMinHeight + this.resizer.offsetHeight;
|
|
24023
24034
|
this.lockSelect();
|
|
24024
24035
|
this.__addGlobalResizeListeners();
|
|
24025
24036
|
if (this.e) {
|
|
@@ -24325,6 +24336,13 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
24325
24336
|
this.setPosition();
|
|
24326
24337
|
}
|
|
24327
24338
|
};
|
|
24339
|
+
/**
|
|
24340
|
+
* Minimal size the dialog can be resized to — the header and the footer
|
|
24341
|
+
* (with its buttons) must always stay inside the panel
|
|
24342
|
+
*/ this.minSize = {
|
|
24343
|
+
w: 0,
|
|
24344
|
+
h: 0
|
|
24345
|
+
};
|
|
24328
24346
|
this.isModal = false;
|
|
24329
24347
|
/**
|
|
24330
24348
|
* True, if dialog was opened
|
|
@@ -33256,10 +33274,14 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
33256
33274
|
* Event handler when manually assigning a value to the HTML editor.
|
|
33257
33275
|
*/ onBeforeSetNativeEditorValue(data) {
|
|
33258
33276
|
const [sandBox, iframe] = this.j.o.cleanHTML.useIframeSandbox ? this.j.createInside.sandbox() : [
|
|
33259
|
-
|
|
33277
|
+
// an inert document never loads sub-resources, so the
|
|
33278
|
+
// images in the value are not re-requested from the
|
|
33279
|
+
// server on every assignment (e.g. on each change in
|
|
33280
|
+
// jodit-react). See #1237
|
|
33281
|
+
this.j.od.implementation.createHTMLDocument('').body
|
|
33260
33282
|
];
|
|
33261
33283
|
sandBox.innerHTML = data.value;
|
|
33262
|
-
this.
|
|
33284
|
+
this.j.e.fire('safeHTML', sandBox);
|
|
33263
33285
|
data.value = sandBox.innerHTML;
|
|
33264
33286
|
(0,_core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__.safeHTML)(sandBox, {
|
|
33265
33287
|
safeJavaScriptLink: true,
|
|
@@ -33588,12 +33610,19 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_0__.Icon.set('eraser', _eraser_svg_js_
|
|
|
33588
33610
|
/**
|
|
33589
33611
|
* @private
|
|
33590
33612
|
*/ function allowAttributes(jodit, nodeElm, hadEffect, allow) {
|
|
33591
|
-
|
|
33613
|
+
const allowedForTag = allow && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm) && allow[nodeElm.nodeName];
|
|
33614
|
+
if (allow && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm) && allowedForTag !== true) {
|
|
33615
|
+
// the tag is not in the allow list at all — attributes do not matter,
|
|
33616
|
+
// the element itself will be removed by the tags filter. Without this
|
|
33617
|
+
// check `allow[nodeName][attr]` threw on e.g. `<meta charset>`. See #1224
|
|
33618
|
+
if (!allowedForTag) {
|
|
33619
|
+
return hadEffect;
|
|
33620
|
+
}
|
|
33592
33621
|
const attrs = nodeElm.attributes;
|
|
33593
33622
|
if (attrs && attrs.length) {
|
|
33594
33623
|
const removeAttrs = [];
|
|
33595
33624
|
for(let i = 0; i < attrs.length; i += 1){
|
|
33596
|
-
const attr =
|
|
33625
|
+
const attr = allowedForTag[attrs[i].name];
|
|
33597
33626
|
if (!attr || attr !== true && attr !== attrs[i].value) {
|
|
33598
33627
|
removeAttrs.push(attrs[i].name);
|
|
33599
33628
|
}
|
|
@@ -34135,9 +34164,10 @@ const keys = Object.keys(_filters_index_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
34135
34164
|
/* unused harmony export clipboard */
|
|
34136
34165
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
34137
34166
|
/* harmony import */ var _core_decorators_cache_cache_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33433);
|
|
34138
|
-
/* harmony import */ var
|
|
34139
|
-
/* harmony import */ var
|
|
34140
|
-
/* harmony import */ var
|
|
34167
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
|
|
34168
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(580);
|
|
34169
|
+
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21537);
|
|
34170
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(79419);
|
|
34141
34171
|
/*!
|
|
34142
34172
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
34143
34173
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -34147,6 +34177,7 @@ const keys = Object.keys(_filters_index_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
34147
34177
|
|
|
34148
34178
|
|
|
34149
34179
|
|
|
34180
|
+
|
|
34150
34181
|
/**
|
|
34151
34182
|
* Clipboard plugin - cut and copy functionality
|
|
34152
34183
|
*/ class clipboard {
|
|
@@ -34155,10 +34186,10 @@ const keys = Object.keys(_filters_index_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
34155
34186
|
(_a = this.buttons) === null || _a === void 0 ? void 0 : _a.forEach((btn)=>editor.registerButton(btn));
|
|
34156
34187
|
editor.e.off(`copy.${_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID} cut.${_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID}`).on(`copy.${_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID} cut.${_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID}`, (event)=>{
|
|
34157
34188
|
var _a;
|
|
34158
|
-
const selectedText = editor.s.html;
|
|
34159
|
-
const clipboardData = (0,
|
|
34189
|
+
const selectedText = wrapWithInlineAncestors(editor, editor.s.html);
|
|
34190
|
+
const clipboardData = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.getDataTransfer)(event) || (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.getDataTransfer)(editor.ew) || (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.getDataTransfer)(event.originalEvent);
|
|
34160
34191
|
if (clipboardData) {
|
|
34161
|
-
clipboardData.setData(_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.TEXT_PLAIN, (0,
|
|
34192
|
+
clipboardData.setData(_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.TEXT_PLAIN, (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.stripTags)(selectedText));
|
|
34162
34193
|
clipboardData.setData(_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.TEXT_HTML, selectedText);
|
|
34163
34194
|
}
|
|
34164
34195
|
editor.buffer.set(_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, selectedText);
|
|
@@ -34200,7 +34231,30 @@ const keys = Object.keys(_filters_index_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
34200
34231
|
];
|
|
34201
34232
|
}
|
|
34202
34233
|
}
|
|
34203
|
-
|
|
34234
|
+
/**
|
|
34235
|
+
* `Selection.html` clones only the range contents — when the selection sits
|
|
34236
|
+
* entirely inside the text of a formatted element (`<strong>te|st|</strong>`),
|
|
34237
|
+
* the clone is bare text and the formatting would be lost on paste. Native
|
|
34238
|
+
* browser copy keeps that context, so the interception must restore it: wrap
|
|
34239
|
+
* the fragment in shallow clones of the inline ancestors of the range. See #1202
|
|
34240
|
+
*/ function wrapWithInlineAncestors(editor, html) {
|
|
34241
|
+
if (!html || editor.s.isCollapsed()) {
|
|
34242
|
+
return html;
|
|
34243
|
+
}
|
|
34244
|
+
let node = editor.s.range.commonAncestorContainer;
|
|
34245
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isElement(node)) {
|
|
34246
|
+
node = node.parentElement;
|
|
34247
|
+
}
|
|
34248
|
+
let result = html;
|
|
34249
|
+
while(node && node !== editor.editor && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isElement(node) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isBlock(node)){
|
|
34250
|
+
const shell = node.cloneNode(false);
|
|
34251
|
+
shell.innerHTML = result;
|
|
34252
|
+
result = shell.outerHTML;
|
|
34253
|
+
node = node.parentElement;
|
|
34254
|
+
}
|
|
34255
|
+
return result;
|
|
34256
|
+
}
|
|
34257
|
+
_core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('clipboard', clipboard);
|
|
34204
34258
|
|
|
34205
34259
|
|
|
34206
34260
|
/***/ }),
|
|
@@ -40233,9 +40287,34 @@ const align = {
|
|
|
40233
40287
|
}).on([
|
|
40234
40288
|
this.j.ew,
|
|
40235
40289
|
this.j.ow
|
|
40236
|
-
], 'mouseup keyup', this.onSelectionEnd)
|
|
40290
|
+
], 'mouseup keyup', this.onSelectionEnd).on([
|
|
40291
|
+
this.j.ew,
|
|
40292
|
+
this.j.ow
|
|
40293
|
+
], 'mousedown touchstart', this.__onDocumentMouseDown).on('closeAllPopups', this.__onCloseAllPopups);
|
|
40237
40294
|
this.addListenersForElements();
|
|
40238
40295
|
}
|
|
40296
|
+
__onDocumentMouseDown(e) {
|
|
40297
|
+
if (this.popup.isOpened && this.type === 'selection' && e.target && _core_ui_index_js__WEBPACK_IMPORTED_MODULE_5__.UIElement.closestElement(e.target, _core_ui_popup_index_js__WEBPACK_IMPORTED_MODULE_6__.Popup)) {
|
|
40298
|
+
this.__reopenSelectionPopup = true;
|
|
40299
|
+
}
|
|
40300
|
+
}
|
|
40301
|
+
__onCloseAllPopups() {
|
|
40302
|
+
if (!this.__reopenSelectionPopup) {
|
|
40303
|
+
return;
|
|
40304
|
+
}
|
|
40305
|
+
this.__reopenSelectionPopup = false;
|
|
40306
|
+
if (!this.j.o.toolbarInlineForSelection) {
|
|
40307
|
+
return;
|
|
40308
|
+
}
|
|
40309
|
+
// a zero timeout would run synchronously — before the popup's own
|
|
40310
|
+
// `closeAllPopups` handler closes it; defer to the next macrotask
|
|
40311
|
+
this.j.async.setTimeout(()=>{
|
|
40312
|
+
const sel = this.j.s.sel;
|
|
40313
|
+
if (sel && !sel.isCollapsed) {
|
|
40314
|
+
this.showPopup(()=>this.j.s.range.getBoundingClientRect(), 'selection');
|
|
40315
|
+
}
|
|
40316
|
+
}, 1);
|
|
40317
|
+
}
|
|
40239
40318
|
onSelectionStart() {
|
|
40240
40319
|
this.snapRange = this.j.s.range.cloneRange();
|
|
40241
40320
|
}
|
|
@@ -40284,7 +40363,10 @@ const align = {
|
|
|
40284
40363
|
jodit.e.off('showPopup').off([
|
|
40285
40364
|
this.j.ew,
|
|
40286
40365
|
this.j.ow
|
|
40287
|
-
], 'mouseup keyup', this.onSelectionEnd)
|
|
40366
|
+
], 'mouseup keyup', this.onSelectionEnd).off([
|
|
40367
|
+
this.j.ew,
|
|
40368
|
+
this.j.ow
|
|
40369
|
+
], 'mousedown touchstart', this.__onDocumentMouseDown).off('closeAllPopups', this.__onCloseAllPopups);
|
|
40288
40370
|
this.removeListenersForElements();
|
|
40289
40371
|
}
|
|
40290
40372
|
_eventsList() {
|
|
@@ -40311,6 +40393,11 @@ const align = {
|
|
|
40311
40393
|
constructor(){
|
|
40312
40394
|
super(...arguments);
|
|
40313
40395
|
this.type = null;
|
|
40396
|
+
/**
|
|
40397
|
+
* The user pressed a button inside the selection toolbar — after the
|
|
40398
|
+
* command fires `closeAllPopups`, the toolbar should be shown again
|
|
40399
|
+
* while the selection is still there. See #1238
|
|
40400
|
+
*/ this.__reopenSelectionPopup = false;
|
|
40314
40401
|
this.snapRange = null;
|
|
40315
40402
|
this.elmsList = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.keys)(this.j.o.popup, false).filter((s)=>!this.isExcludedTarget(s));
|
|
40316
40403
|
}
|
|
@@ -40341,6 +40428,12 @@ __decorate([
|
|
|
40341
40428
|
__decorate([
|
|
40342
40429
|
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':outsideClick')
|
|
40343
40430
|
], inlinePopup.prototype, "onOutsideClick", null);
|
|
40431
|
+
__decorate([
|
|
40432
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind
|
|
40433
|
+
], inlinePopup.prototype, "__onDocumentMouseDown", null);
|
|
40434
|
+
__decorate([
|
|
40435
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind
|
|
40436
|
+
], inlinePopup.prototype, "__onCloseAllPopups", null);
|
|
40344
40437
|
__decorate([
|
|
40345
40438
|
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind
|
|
40346
40439
|
], inlinePopup.prototype, "onSelectionStart", null);
|
|
@@ -40626,7 +40719,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.limitHTML = false;
|
|
|
40626
40719
|
jodit.e.fire('denyWords.limit limit.limit');
|
|
40627
40720
|
return true;
|
|
40628
40721
|
}
|
|
40629
|
-
|
|
40722
|
+
// with `countTextSpaces` enabled the limiter counts characters the
|
|
40723
|
+
// same way as the `stat` plugin's counter — including spaces. See #1144
|
|
40724
|
+
const charsCount = jodit.o.countTextSpaces ? text.replace((0,_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP)(), '').replace(/[\r\n]/g, '').length : words.join('').length;
|
|
40725
|
+
const should = Boolean(limitChars && isGt(charsCount, limitChars, strict));
|
|
40630
40726
|
if (should) {
|
|
40631
40727
|
jodit.e.fire('denyChars.limit limit.limit');
|
|
40632
40728
|
}
|
|
@@ -42796,9 +42892,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
42796
42892
|
*/ class paste extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plugin {
|
|
42797
42893
|
/** @override **/ afterInit(jodit) {
|
|
42798
42894
|
jodit.e.on('paste.paste', this.onPaste).on('pasteStack.paste', (item)=>this.pasteStack.push(item));
|
|
42799
|
-
|
|
42800
|
-
this.j.e.on('processPaste.paste', this.onProcessPasteReplaceNl2Br);
|
|
42801
|
-
}
|
|
42895
|
+
this.j.e.on('processPaste.paste', this.onProcessPasteReplaceNl2Br);
|
|
42802
42896
|
}
|
|
42803
42897
|
/** @override **/ beforeDestruct(jodit) {
|
|
42804
42898
|
jodit.e.off('paste.paste', this.onPaste).off('processPaste.paste', this.onProcessPasteReplaceNl2Br).off('.paste');
|
|
@@ -42918,10 +43012,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
42918
43012
|
(0,_helpers_js__WEBPACK_IMPORTED_MODULE_7__.pasteInsertHtml)(e, this.j, html);
|
|
42919
43013
|
}
|
|
42920
43014
|
/**
|
|
42921
|
-
*
|
|
43015
|
+
* Escape plain text and replace all \\n chars with br
|
|
42922
43016
|
*/ onProcessPasteReplaceNl2Br(ignore, text, type) {
|
|
42923
43017
|
if (type === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.TEXT_PLAIN + ';' && !(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.isHTML)(text)) {
|
|
42924
|
-
|
|
43018
|
+
// the clipboard contains only plain text — escape special chars
|
|
43019
|
+
// so a stray `<` is not parsed as an unclosed tag and does not
|
|
43020
|
+
// swallow the rest of the string. See #1227
|
|
43021
|
+
const escaped = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.htmlspecialchars)(text);
|
|
43022
|
+
return this.j.o.nl2brInPlainText ? (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.nl2br)(escaped) : escaped;
|
|
42925
43023
|
}
|
|
42926
43024
|
}
|
|
42927
43025
|
constructor(){
|
|
@@ -43785,9 +43883,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.allowResizeY = true;
|
|
|
43785
43883
|
/* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65478);
|
|
43786
43884
|
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22732);
|
|
43787
43885
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580);
|
|
43788
|
-
/* harmony import */ var
|
|
43789
|
-
/* harmony import */ var
|
|
43790
|
-
/* harmony import */ var
|
|
43886
|
+
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21537);
|
|
43887
|
+
/* harmony import */ var _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50911);
|
|
43888
|
+
/* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67510);
|
|
43889
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(68252);
|
|
43791
43890
|
/*!
|
|
43792
43891
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
43793
43892
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -43804,7 +43903,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.allowResizeY = true;
|
|
|
43804
43903
|
|
|
43805
43904
|
|
|
43806
43905
|
|
|
43807
|
-
|
|
43906
|
+
|
|
43907
|
+
class resizeHandler extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.Plugin {
|
|
43808
43908
|
/** @override **/ afterInit(editor) {
|
|
43809
43909
|
const { height, width, allowResizeX } = editor.o;
|
|
43810
43910
|
let { allowResizeY } = editor.o;
|
|
@@ -43838,11 +43938,21 @@ class resizeHandler extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_3__.P
|
|
|
43838
43938
|
if (!this.isResized) {
|
|
43839
43939
|
return;
|
|
43840
43940
|
}
|
|
43941
|
+
let { clientX, clientY } = e;
|
|
43942
|
+
if (e.view === this.j.ew && this.j.ew !== this.j.ow) {
|
|
43943
|
+
// the event was proxied from the editor's iframe — its client
|
|
43944
|
+
// coordinates are relative to the iframe viewport, while the
|
|
43945
|
+
// start point was captured on the host-document handle;
|
|
43946
|
+
// shift them into the host coordinate space
|
|
43947
|
+
const workplacePosition = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.offset)(this.j.workplace, this.j, this.j.od, true);
|
|
43948
|
+
clientX += workplacePosition.left;
|
|
43949
|
+
clientY += workplacePosition.top;
|
|
43950
|
+
}
|
|
43841
43951
|
if (this.j.o.allowResizeY) {
|
|
43842
|
-
this.j.e.fire('setHeight', this.start.h +
|
|
43952
|
+
this.j.e.fire('setHeight', this.start.h + clientY - this.start.y);
|
|
43843
43953
|
}
|
|
43844
43954
|
if (this.j.o.allowResizeX) {
|
|
43845
|
-
this.j.e.fire('setWidth', this.start.w +
|
|
43955
|
+
this.j.e.fire('setWidth', this.start.w + clientX - this.start.x);
|
|
43846
43956
|
}
|
|
43847
43957
|
this.j.e.fire('resize');
|
|
43848
43958
|
}
|
|
@@ -43874,7 +43984,7 @@ class resizeHandler extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_3__.P
|
|
|
43874
43984
|
};
|
|
43875
43985
|
/**
|
|
43876
43986
|
* Resize handle
|
|
43877
|
-
*/ this.handle = this.j.c.div('jodit-editor__resize',
|
|
43987
|
+
*/ this.handle = this.j.c.div('jodit-editor__resize', _core_ui_index_js__WEBPACK_IMPORTED_MODULE_5__.Icon.get('resize_handler'));
|
|
43878
43988
|
}
|
|
43879
43989
|
}
|
|
43880
43990
|
/** @override **/ resizeHandler.requires = [
|
|
@@ -44052,7 +44162,11 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
44052
44162
|
this.pointerX = e.clientX;
|
|
44053
44163
|
this.pointerY = e.clientY;
|
|
44054
44164
|
let diff_x, diff_y;
|
|
44055
|
-
if (this.j.options.iframe) {
|
|
44165
|
+
if (this.j.options.iframe && e.view === this.j.ew) {
|
|
44166
|
+
// the event was proxied from the editor's iframe — its client
|
|
44167
|
+
// coordinates are relative to the iframe viewport, while
|
|
44168
|
+
// `startX/startY` were captured on a host-document handle;
|
|
44169
|
+
// shift them into the host coordinate space
|
|
44056
44170
|
const workplacePosition = this.getWorkplacePosition();
|
|
44057
44171
|
diff_x = e.clientX + workplacePosition.left - this.startX;
|
|
44058
44172
|
diff_y = e.clientY + workplacePosition.top - this.startY;
|
|
@@ -46739,6 +46853,13 @@ function createSourceEditor(type, editor, container, toWYSIWYG, fromWYSIWYG) {
|
|
|
46739
46853
|
}
|
|
46740
46854
|
setFocusToMirror() {
|
|
46741
46855
|
var _a;
|
|
46856
|
+
const active = this.j.od.activeElement;
|
|
46857
|
+
// do not steal focus from another editor or control — e.g. when the
|
|
46858
|
+
// mode is switched programmatically (a Vue/React wrapper re-render)
|
|
46859
|
+
// while the user is already typing elsewhere. See #1356
|
|
46860
|
+
if (active && active !== this.j.od.body && !this.j.container.contains(active)) {
|
|
46861
|
+
return;
|
|
46862
|
+
}
|
|
46742
46863
|
(_a = this.sourceEditor) === null || _a === void 0 ? void 0 : _a.focus();
|
|
46743
46864
|
}
|
|
46744
46865
|
saveSelection() {
|