jodit-pro 4.9.21 → 4.9.25
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/CHANGELOG.md +63 -1
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +43 -43
- package/es2015/jodit.js +238 -87
- package/es2015/jodit.min.js +6 -6
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +193 -161
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +30 -30
- 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/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 +28 -28
- package/es2018/jodit.min.js +6 -6
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +20 -20
- 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/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 +29 -29
- package/es2021/jodit.js +238 -87
- 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 +194 -162
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +20 -20
- 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/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 +83 -83
- package/es2021.en/jodit.js +238 -87
- 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 +194 -162
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +20 -20
- 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/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 +256 -87
- 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 +221 -174
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.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/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/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/esm/plugins/ai-assistant-pro/ui/input-area/input-area.d.ts +5 -1
- package/esm/plugins/ai-assistant-pro/ui/main-panel/main-panel.d.ts +1 -1
- package/esm/plugins/ai-assistant-pro/ui/settings-button/settings-button.d.ts +7 -1
- package/esm/plugins/ai-assistant-pro/ui/settings-popup/dialog-settings.d.ts +3 -1
- package/esm/plugins/ai-assistant-pro/ui/settings-popup/global-settings.d.ts +5 -1
- package/esm/plugins/ai-assistant-pro/ui/settings-popup/settings-popup.d.ts +7 -1
- package/package.json +1 -1
- package/types/plugins/ai-assistant-pro/ui/input-area/input-area.d.ts +5 -1
- package/types/plugins/ai-assistant-pro/ui/main-panel/main-panel.d.ts +1 -1
- package/types/plugins/ai-assistant-pro/ui/settings-button/settings-button.d.ts +7 -1
- package/types/plugins/ai-assistant-pro/ui/settings-popup/dialog-settings.d.ts +3 -1
- package/types/plugins/ai-assistant-pro/ui/settings-popup/global-settings.d.ts +5 -1
- package/types/plugins/ai-assistant-pro/ui/settings-popup/settings-popup.d.ts +7 -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 Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.9.
|
|
4
|
+
* Version: v4.9.25
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -3395,7 +3395,7 @@ class JoditPro extends jodit_esm_index__WEBPACK_IMPORTED_MODULE_3__.Jodit {
|
|
|
3395
3395
|
}
|
|
3396
3396
|
/**
|
|
3397
3397
|
* Get temporary list
|
|
3398
|
-
* @deprecated
|
|
3398
|
+
* @deprecated Just do not use it, it is not needed anymore
|
|
3399
3399
|
*/ static temporaryList(root) {
|
|
3400
3400
|
return (0,_helpers_array_to_array_js__WEBPACK_IMPORTED_MODULE_1__.toArray)(root.querySelectorAll(`[${_constants_js__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR}]`));
|
|
3401
3401
|
}
|
|
@@ -4743,7 +4743,96 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
4743
4743
|
|
|
4744
4744
|
let ConfigPrototype = {};
|
|
4745
4745
|
/**
|
|
4746
|
-
* Default Editor's Configuration
|
|
4746
|
+
* Default Editor's Configuration.
|
|
4747
|
+
*
|
|
4748
|
+
* This class holds all default option values for the Jodit editor.
|
|
4749
|
+
* It uses a **private constructor** and a **lazy singleton** pattern — the single instance
|
|
4750
|
+
* is created on the first access to {@link Config.defaultOptions} (also available as `Jodit.defaultOptions`).
|
|
4751
|
+
*
|
|
4752
|
+
* ## How options are resolved
|
|
4753
|
+
*
|
|
4754
|
+
* When you create an editor with `Jodit.make('#editor', userOptions)`, the library
|
|
4755
|
+
* calls {@link ConfigProto}(userOptions, Config.defaultOptions). `ConfigProto` does
|
|
4756
|
+
* **not** deep-clone the defaults. Instead it creates a new object whose JavaScript
|
|
4757
|
+
* prototype is `Config.defaultOptions`:
|
|
4758
|
+
*
|
|
4759
|
+
* ```
|
|
4760
|
+
* userOptions ──[[Prototype]]──► Config.defaultOptions
|
|
4761
|
+
* ```
|
|
4762
|
+
*
|
|
4763
|
+
* Any key present in `userOptions` shadows the default;
|
|
4764
|
+
* any key **not** present falls through to `Config.defaultOptions` via the prototype chain.
|
|
4765
|
+
* Nested plain objects are recursively prototyped in the same way, so partial overrides
|
|
4766
|
+
* of nested options work automatically:
|
|
4767
|
+
*
|
|
4768
|
+
* ```js
|
|
4769
|
+
* // Only override `dialogWidth`; all other `image.*` defaults are still available
|
|
4770
|
+
* Jodit.make('#editor', {
|
|
4771
|
+
* image: { dialogWidth: 500 }
|
|
4772
|
+
* });
|
|
4773
|
+
* ```
|
|
4774
|
+
*
|
|
4775
|
+
* ## How plugins extend the config
|
|
4776
|
+
*
|
|
4777
|
+
* Each plugin adds its own defaults by assigning to `Config.prototype` and augmenting
|
|
4778
|
+
* the TypeScript type with `declare module`:
|
|
4779
|
+
*
|
|
4780
|
+
* ```ts
|
|
4781
|
+
* // 1. Type augmentation (compile-time)
|
|
4782
|
+
* declare module 'jodit/config' {
|
|
4783
|
+
* interface Config {
|
|
4784
|
+
* toolbarSticky: boolean;
|
|
4785
|
+
* }
|
|
4786
|
+
* }
|
|
4787
|
+
*
|
|
4788
|
+
* // 2. Runtime default
|
|
4789
|
+
* Config.prototype.toolbarSticky = true;
|
|
4790
|
+
* ```
|
|
4791
|
+
*
|
|
4792
|
+
* Because the constructor runs `Object.assign(this, ConfigPrototype)` (where
|
|
4793
|
+
* `ConfigPrototype` is captured as `Config.prototype` after the class definition),
|
|
4794
|
+
* all prototype-level values — including those added by plugins — are materialized
|
|
4795
|
+
* as own properties on the singleton. This means `Config.defaultOptions` always
|
|
4796
|
+
* contains every registered option as an own, enumerable property.
|
|
4797
|
+
*
|
|
4798
|
+
* ## Changing global defaults
|
|
4799
|
+
*
|
|
4800
|
+
* You can modify `Jodit.defaultOptions` **before** creating editors to change
|
|
4801
|
+
* defaults globally:
|
|
4802
|
+
*
|
|
4803
|
+
* ```js
|
|
4804
|
+
* Jodit.defaultOptions.language = 'de';
|
|
4805
|
+
* Jodit.defaultOptions.theme = 'dark';
|
|
4806
|
+
*
|
|
4807
|
+
* // Both editors inherit the new defaults
|
|
4808
|
+
* Jodit.make('#editor1');
|
|
4809
|
+
* Jodit.make('#editor2');
|
|
4810
|
+
* ```
|
|
4811
|
+
*
|
|
4812
|
+
* ## `Jodit.atom` — preventing deep merge
|
|
4813
|
+
*
|
|
4814
|
+
* By default, `ConfigProto` deep-merges nested plain objects and arrays.
|
|
4815
|
+
* Wrap a value with `Jodit.atom(value)` to make it **atomic** — it will completely
|
|
4816
|
+
* replace the default instead of being merged:
|
|
4817
|
+
*
|
|
4818
|
+
* ```js
|
|
4819
|
+
* Jodit.make('#editor', {
|
|
4820
|
+
* controls: {
|
|
4821
|
+
* fontsize: {
|
|
4822
|
+
* // Replace the entire list rather than merging with the default one
|
|
4823
|
+
* list: Jodit.atom([8, 9, 10])
|
|
4824
|
+
* }
|
|
4825
|
+
* }
|
|
4826
|
+
* });
|
|
4827
|
+
* ```
|
|
4828
|
+
*
|
|
4829
|
+
* `Jodit.atom` calls {@link markAsAtomic}, which sets a non-enumerable
|
|
4830
|
+
* `isAtom` flag on the object. `ConfigProto` checks this flag and skips
|
|
4831
|
+
* recursive merging when it is present. Note: top-level arrays (depth 0)
|
|
4832
|
+
* are always treated as atomic — they replace rather than merge.
|
|
4833
|
+
*
|
|
4834
|
+
* @see {@link ConfigProto} for the full merge algorithm
|
|
4835
|
+
* @see {@link markAsAtomic} / {@link isAtom} for the atom marker implementation
|
|
4747
4836
|
*/ class Config {
|
|
4748
4837
|
static get defaultOptions() {
|
|
4749
4838
|
if (!Config.__defaultOptions) {
|
|
@@ -4753,31 +4842,32 @@ let ConfigPrototype = {};
|
|
|
4753
4842
|
}
|
|
4754
4843
|
constructor(){
|
|
4755
4844
|
/**
|
|
4756
|
-
*
|
|
4845
|
+
* When enabled, the editor caches the results of expensive computations (e.g. toolbar rebuilds)
|
|
4846
|
+
* to improve performance. Disable for debugging or when options change frequently at runtime.
|
|
4757
4847
|
*/ this.cache = true;
|
|
4758
4848
|
/**
|
|
4759
4849
|
* Timeout of all asynchronous methods
|
|
4760
4850
|
*/ this.defaultTimeout = 100;
|
|
4761
|
-
|
|
4851
|
+
/**
|
|
4852
|
+
* Prefix used for CSS class names and local-storage keys to avoid collisions
|
|
4853
|
+
* when multiple editor instances or applications share the same page.
|
|
4854
|
+
*/ this.namespace = '';
|
|
4762
4855
|
/**
|
|
4763
4856
|
* Editor loads completely without plugins. Useful when debugging your own plugin.
|
|
4764
4857
|
*/ this.safeMode = false;
|
|
4765
4858
|
/**
|
|
4766
4859
|
* Editor's width
|
|
4767
4860
|
*
|
|
4768
|
-
* @example
|
|
4769
4861
|
* ```javascript
|
|
4770
4862
|
* Jodit.make('.editor', {
|
|
4771
4863
|
* width: '100%',
|
|
4772
4864
|
* })
|
|
4773
4865
|
* ```
|
|
4774
|
-
* @example
|
|
4775
4866
|
* ```javascript
|
|
4776
4867
|
* Jodit.make('.editor', {
|
|
4777
4868
|
* width: 600, // equivalent for '600px'
|
|
4778
4869
|
* })
|
|
4779
4870
|
* ```
|
|
4780
|
-
* @example
|
|
4781
4871
|
* ```javascript
|
|
4782
4872
|
* Jodit.make('.editor', {
|
|
4783
4873
|
* width: 'auto', // autosize
|
|
@@ -4787,19 +4877,16 @@ let ConfigPrototype = {};
|
|
|
4787
4877
|
/**
|
|
4788
4878
|
* Editor's height
|
|
4789
4879
|
*
|
|
4790
|
-
* @example
|
|
4791
4880
|
* ```javascript
|
|
4792
4881
|
* Jodit.make('.editor', {
|
|
4793
4882
|
* height: '100%',
|
|
4794
4883
|
* })
|
|
4795
4884
|
* ```
|
|
4796
|
-
* @example
|
|
4797
4885
|
* ```javascript
|
|
4798
4886
|
* Jodit.make('.editor', {
|
|
4799
4887
|
* height: 600, // equivalent for '600px'
|
|
4800
4888
|
* })
|
|
4801
4889
|
* ```
|
|
4802
|
-
* @example
|
|
4803
4890
|
* ```javascript
|
|
4804
4891
|
* Jodit.make('.editor', {
|
|
4805
4892
|
* height: 'auto', // default - autosize
|
|
@@ -4836,7 +4923,32 @@ let ConfigPrototype = {};
|
|
|
4836
4923
|
* });
|
|
4837
4924
|
* ```
|
|
4838
4925
|
*/ this.preset = 'custom';
|
|
4839
|
-
|
|
4926
|
+
/**
|
|
4927
|
+
* Dictionary of named configuration presets. Each key is a preset name and the value
|
|
4928
|
+
* is a partial options object that will be merged into the editor config when
|
|
4929
|
+
* {@link Config.preset} matches the key.
|
|
4930
|
+
*
|
|
4931
|
+
* ```javascript
|
|
4932
|
+
* // Use a built-in preset
|
|
4933
|
+
* Jodit.make('#editor', {
|
|
4934
|
+
* preset: 'inline'
|
|
4935
|
+
* });
|
|
4936
|
+
* ```
|
|
4937
|
+
*
|
|
4938
|
+
* ```javascript
|
|
4939
|
+
* // Define and use a custom preset
|
|
4940
|
+
* Jodit.defaultOptions.presets.myCompact = {
|
|
4941
|
+
* toolbarButtonSize: 'small',
|
|
4942
|
+
* showCharsCounter: false,
|
|
4943
|
+
* showWordsCounter: false,
|
|
4944
|
+
* showXPathInStatusbar: false
|
|
4945
|
+
* };
|
|
4946
|
+
*
|
|
4947
|
+
* Jodit.make('#editor', {
|
|
4948
|
+
* preset: 'myCompact'
|
|
4949
|
+
* });
|
|
4950
|
+
* ```
|
|
4951
|
+
*/ this.presets = {
|
|
4840
4952
|
inline: {
|
|
4841
4953
|
inline: true,
|
|
4842
4954
|
toolbar: false,
|
|
@@ -4848,7 +4960,10 @@ let ConfigPrototype = {};
|
|
|
4848
4960
|
showPlaceholder: false
|
|
4849
4961
|
}
|
|
4850
4962
|
};
|
|
4851
|
-
|
|
4963
|
+
/**
|
|
4964
|
+
* The Document object the editor operates within. Defaults to the current `document`.
|
|
4965
|
+
* Override when the editor is created inside an iframe or a different browsing context.
|
|
4966
|
+
*/ this.ownerDocument = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
|
|
4852
4967
|
/**
|
|
4853
4968
|
* Allows you to specify the window in which the editor will be created. Default - window
|
|
4854
4969
|
* This is necessary if you are creating the editor inside an iframe but the code is running in the parent window
|
|
@@ -4879,7 +4994,9 @@ let ConfigPrototype = {};
|
|
|
4879
4994
|
* ```
|
|
4880
4995
|
*/ this.shadowRoot = null;
|
|
4881
4996
|
/**
|
|
4882
|
-
* z-index
|
|
4997
|
+
* Base CSS `z-index` for the editor UI (toolbar, popups, dialogs).
|
|
4998
|
+
* Set to a higher value when other page elements overlap the editor.
|
|
4999
|
+
* `0` means no explicit z-index is applied.
|
|
4883
5000
|
*/ this.zIndex = 0;
|
|
4884
5001
|
/**
|
|
4885
5002
|
* Change the read-only state of the editor
|
|
@@ -4915,7 +5032,6 @@ let ConfigPrototype = {};
|
|
|
4915
5032
|
/**
|
|
4916
5033
|
* Size of icons in the toolbar (can be "small", "middle", "large")
|
|
4917
5034
|
*
|
|
4918
|
-
* @example
|
|
4919
5035
|
* ```javascript
|
|
4920
5036
|
* const editor = Jodit.make(".dark_editor", {
|
|
4921
5037
|
* toolbarButtonSize: "small"
|
|
@@ -4926,11 +5042,13 @@ let ConfigPrototype = {};
|
|
|
4926
5042
|
* Allow navigation in the toolbar of the editor by Tab key
|
|
4927
5043
|
*/ this.allowTabNavigation = false;
|
|
4928
5044
|
/**
|
|
4929
|
-
*
|
|
5045
|
+
* When enabled, the editor renders without its own container chrome (toolbar, borders, statusbar).
|
|
5046
|
+
* The editable area becomes the element itself. Typically combined with
|
|
5047
|
+
* `toolbarInline: true` so a floating toolbar appears on selection.
|
|
4930
5048
|
*/ this.inline = false;
|
|
4931
5049
|
/**
|
|
4932
5050
|
* Theme (can be "dark")
|
|
4933
|
-
*
|
|
5051
|
+
*
|
|
4934
5052
|
* ```javascript
|
|
4935
5053
|
* const editor = Jodit.make(".dark_editor", {
|
|
4936
5054
|
* theme: "dark"
|
|
@@ -4943,10 +5061,9 @@ let ConfigPrototype = {};
|
|
|
4943
5061
|
/**
|
|
4944
5062
|
* Class name that can be appended to the editable area
|
|
4945
5063
|
*
|
|
4946
|
-
* @see
|
|
4947
|
-
* @see
|
|
5064
|
+
* @see {@link Config.iframeCSSLinks}
|
|
5065
|
+
* @see {@link Config.iframeStyle}
|
|
4948
5066
|
*
|
|
4949
|
-
* @example
|
|
4950
5067
|
* ```javascript
|
|
4951
5068
|
* Jodit.make('#editor', {
|
|
4952
5069
|
* editorClassName: 'some_my_class'
|
|
@@ -4962,7 +5079,7 @@ let ConfigPrototype = {};
|
|
|
4962
5079
|
*/ this.editorClassName = false;
|
|
4963
5080
|
/**
|
|
4964
5081
|
* Class name that can be appended to the main editor container
|
|
4965
|
-
*
|
|
5082
|
+
*
|
|
4966
5083
|
* ```javascript
|
|
4967
5084
|
* const jodit = Jodit.make('#editor', {
|
|
4968
5085
|
* className: 'some_my_class'
|
|
@@ -4982,7 +5099,7 @@ let ConfigPrototype = {};
|
|
|
4982
5099
|
/**
|
|
4983
5100
|
* The internal styles of the editable area. They are intended to change
|
|
4984
5101
|
* not the appearance of the editor, but to change the appearance of the content.
|
|
4985
|
-
*
|
|
5102
|
+
*
|
|
4986
5103
|
* ```javascript
|
|
4987
5104
|
* Jodit.make('#editor', {
|
|
4988
5105
|
* style: {
|
|
@@ -4993,13 +5110,14 @@ let ConfigPrototype = {};
|
|
|
4993
5110
|
* ```
|
|
4994
5111
|
*/ this.style = false;
|
|
4995
5112
|
/**
|
|
5113
|
+
* Inline CSS styles applied to the outer editor container element.
|
|
5114
|
+
* Use this to style the editor wrapper (borders, background, etc.) without affecting content.
|
|
4996
5115
|
*
|
|
4997
|
-
* @example
|
|
4998
5116
|
* ```javascript
|
|
4999
5117
|
* Jodit.make('#editor', {
|
|
5000
|
-
*
|
|
5001
|
-
*
|
|
5002
|
-
*
|
|
5118
|
+
* containerStyle: {
|
|
5119
|
+
* border: '1px solid #ccc',
|
|
5120
|
+
* background: '#f9f9f9'
|
|
5003
5121
|
* }
|
|
5004
5122
|
* });
|
|
5005
5123
|
* ```
|
|
@@ -5008,7 +5126,6 @@ let ConfigPrototype = {};
|
|
|
5008
5126
|
* Dictionary of variable values in css, a complete list can be found here
|
|
5009
5127
|
* https://github.com/xdan/jodit/blob/main/src/styles/variables.less#L25
|
|
5010
5128
|
*
|
|
5011
|
-
* @example
|
|
5012
5129
|
* ```js
|
|
5013
5130
|
* const editor = Jodit.make('#editor', {
|
|
5014
5131
|
* styleValues: {
|
|
@@ -5020,9 +5137,9 @@ let ConfigPrototype = {};
|
|
|
5020
5137
|
* ```
|
|
5021
5138
|
*/ this.styleValues = {};
|
|
5022
5139
|
/**
|
|
5023
|
-
*
|
|
5140
|
+
* When enabled, the editor dispatches a native `change` event on the original
|
|
5141
|
+
* `<textarea>` element whenever the content changes, so standard DOM listeners work.
|
|
5024
5142
|
*
|
|
5025
|
-
* @example
|
|
5026
5143
|
* ```javascript
|
|
5027
5144
|
* const editor = Jodit.make('#editor');
|
|
5028
5145
|
* document.getElementById('editor').addEventListener('change', function () {
|
|
@@ -5036,7 +5153,6 @@ let ConfigPrototype = {};
|
|
|
5036
5153
|
* the page element direction. 'ltr' – Indicates a Left-To-Right text direction (like in English).
|
|
5037
5154
|
* 'rtl' – Indicates a Right-To-Left text direction (like in Arabic).
|
|
5038
5155
|
*
|
|
5039
|
-
* @example
|
|
5040
5156
|
* ```javascript
|
|
5041
5157
|
* Jodit.make('.editor', {
|
|
5042
5158
|
* direction: 'rtl'
|
|
@@ -5048,7 +5164,6 @@ let ConfigPrototype = {};
|
|
|
5048
5164
|
* (navigator.language && navigator.language.substr(0, 2)) ||
|
|
5049
5165
|
* (navigator.browserLanguage && navigator.browserLanguage.substr(0, 2)) || 'en'
|
|
5050
5166
|
*
|
|
5051
|
-
* @example
|
|
5052
5167
|
* ```html
|
|
5053
5168
|
* <!-- include in you page lang file -->
|
|
5054
5169
|
* <script src="jodit/lang/de.js"></script>
|
|
@@ -5062,7 +5177,6 @@ let ConfigPrototype = {};
|
|
|
5062
5177
|
/**
|
|
5063
5178
|
* if true all Lang.i18n(key) return `{key}`
|
|
5064
5179
|
*
|
|
5065
|
-
* @example
|
|
5066
5180
|
* ```html
|
|
5067
5181
|
* <script>
|
|
5068
5182
|
* var editor = Jodit.make('.editor', {
|
|
@@ -5076,7 +5190,6 @@ let ConfigPrototype = {};
|
|
|
5076
5190
|
/**
|
|
5077
5191
|
* Collection of language pack data `{en: {'Type something': 'Type something', ...}}`
|
|
5078
5192
|
*
|
|
5079
|
-
* @example
|
|
5080
5193
|
* ```javascript
|
|
5081
5194
|
* const editor = Jodit.make('#editor', {
|
|
5082
5195
|
* language: 'ru',
|
|
@@ -5108,11 +5221,11 @@ let ConfigPrototype = {};
|
|
|
5108
5221
|
* Delay before show tooltip
|
|
5109
5222
|
*/ this.showTooltipDelay = 200;
|
|
5110
5223
|
/**
|
|
5111
|
-
* Instead of
|
|
5224
|
+
* Instead of creating a custom tooltip, use the browser's native title tooltips
|
|
5112
5225
|
*/ this.useNativeTooltip = false;
|
|
5113
5226
|
/**
|
|
5114
|
-
*
|
|
5115
|
-
*
|
|
5227
|
+
* How pasted content is inserted into the editor by default.
|
|
5228
|
+
* Possible values: `insert_as_html`, `insert_as_text`, `insert_only_text`, `insert_clear_html`.
|
|
5116
5229
|
*/ this.defaultActionOnPaste = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_HTML;
|
|
5117
5230
|
// TODO
|
|
5118
5231
|
// autosave: false, // false or url
|
|
@@ -5125,7 +5238,6 @@ let ConfigPrototype = {};
|
|
|
5125
5238
|
/**
|
|
5126
5239
|
* When this option is enabled, the editor's content will be placed in an iframe and isolated from the rest of the page.
|
|
5127
5240
|
*
|
|
5128
|
-
* @example
|
|
5129
5241
|
* ```javascript
|
|
5130
5242
|
* Jodit.make('#editor', {
|
|
5131
5243
|
* iframe: true,
|
|
@@ -5137,7 +5249,7 @@ let ConfigPrototype = {};
|
|
|
5137
5249
|
/**
|
|
5138
5250
|
* Allow editing the entire HTML document(html, head)
|
|
5139
5251
|
* \> Works together with the iframe option.
|
|
5140
|
-
*
|
|
5252
|
+
*
|
|
5141
5253
|
* ```js
|
|
5142
5254
|
* const editor = Jodit.make('#editor', {
|
|
5143
5255
|
* iframe: true,
|
|
@@ -5156,7 +5268,7 @@ let ConfigPrototype = {};
|
|
|
5156
5268
|
/**
|
|
5157
5269
|
* Jodit.MODE_WYSIWYG The HTML editor allows you to write like MSWord,
|
|
5158
5270
|
* Jodit.MODE_SOURCE syntax highlighting source editor
|
|
5159
|
-
*
|
|
5271
|
+
*
|
|
5160
5272
|
* ```javascript
|
|
5161
5273
|
* var editor = Jodit.make('#editor', {
|
|
5162
5274
|
* defaultMode: Jodit.MODE_SPLIT
|
|
@@ -5165,11 +5277,11 @@ let ConfigPrototype = {};
|
|
|
5165
5277
|
* ```
|
|
5166
5278
|
*/ this.defaultMode = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_WYSIWYG;
|
|
5167
5279
|
/**
|
|
5168
|
-
*
|
|
5280
|
+
* When enabled, the editor displays both the WYSIWYG view and the source-code view side by side.
|
|
5169
5281
|
*/ this.useSplitMode = false;
|
|
5170
5282
|
/**
|
|
5171
5283
|
* The colors in HEX representation to select a color for the background and for the text in colorpicker
|
|
5172
|
-
*
|
|
5284
|
+
*
|
|
5173
5285
|
* ```javascript
|
|
5174
5286
|
* Jodit.make('#editor', {
|
|
5175
5287
|
* colors: ['#ff0000', '#00ff00', '#0000ff']
|
|
@@ -5265,7 +5377,7 @@ let ConfigPrototype = {};
|
|
|
5265
5377
|
};
|
|
5266
5378
|
/**
|
|
5267
5379
|
* The default tab color picker
|
|
5268
|
-
*
|
|
5380
|
+
*
|
|
5269
5381
|
* ```javascript
|
|
5270
5382
|
* Jodit.make('#editor2', {
|
|
5271
5383
|
* colorPickerDefaultTab: 'color'
|
|
@@ -5273,11 +5385,11 @@ let ConfigPrototype = {};
|
|
|
5273
5385
|
* ```
|
|
5274
5386
|
*/ this.colorPickerDefaultTab = 'background';
|
|
5275
5387
|
/**
|
|
5276
|
-
*
|
|
5388
|
+
* Default width (in pixels) applied to images inserted into the editor
|
|
5277
5389
|
*/ this.imageDefaultWidth = 300;
|
|
5278
5390
|
/**
|
|
5279
5391
|
* Do not display these buttons that are on the list
|
|
5280
|
-
*
|
|
5392
|
+
*
|
|
5281
5393
|
* ```javascript
|
|
5282
5394
|
* Jodit.make('#editor2', {
|
|
5283
5395
|
* removeButtons: ['hr', 'source']
|
|
@@ -5286,7 +5398,7 @@ let ConfigPrototype = {};
|
|
|
5286
5398
|
*/ this.removeButtons = [];
|
|
5287
5399
|
/**
|
|
5288
5400
|
* Do not init these plugins
|
|
5289
|
-
*
|
|
5401
|
+
*
|
|
5290
5402
|
* ```typescript
|
|
5291
5403
|
* var editor = Jodit.make('.editor', {
|
|
5292
5404
|
* disablePlugins: 'table,iframe'
|
|
@@ -5299,7 +5411,7 @@ let ConfigPrototype = {};
|
|
|
5299
5411
|
*/ this.disablePlugins = [];
|
|
5300
5412
|
/**
|
|
5301
5413
|
* Init and download extra plugins
|
|
5302
|
-
*
|
|
5414
|
+
*
|
|
5303
5415
|
* ```typescript
|
|
5304
5416
|
* var editor = Jodit.make('.editor', {
|
|
5305
5417
|
* extraPlugins: ['emoji']
|
|
@@ -5308,14 +5420,13 @@ let ConfigPrototype = {};
|
|
|
5308
5420
|
* It will try load %SCRIPT_PATH%/plugins/emoji/emoji.js and after load will try init it
|
|
5309
5421
|
*/ this.extraPlugins = [];
|
|
5310
5422
|
/**
|
|
5311
|
-
*
|
|
5423
|
+
* Additional buttons appended to the {@link Config.buttons} list
|
|
5312
5424
|
*/ this.extraButtons = [];
|
|
5313
5425
|
/**
|
|
5314
5426
|
* By default, you can only install an icon from the Jodit suite.
|
|
5315
5427
|
* You can add your icon to the set using the `Jodit.modules.Icon.set (name, svg Code)` method.
|
|
5316
5428
|
* But for a declarative declaration, you can use this option.
|
|
5317
5429
|
*
|
|
5318
|
-
* @example
|
|
5319
5430
|
* ```js
|
|
5320
5431
|
* Jodit.modules.Icon.set('someIcon', '<svg><path.../></svg>');
|
|
5321
5432
|
* const editor = Jodit.make({
|
|
@@ -5324,8 +5435,9 @@ let ConfigPrototype = {};
|
|
|
5324
5435
|
* icon: 'someIcon'
|
|
5325
5436
|
* }]
|
|
5326
5437
|
* });
|
|
5438
|
+
* ```
|
|
5327
5439
|
*
|
|
5328
|
-
*
|
|
5440
|
+
* ```js
|
|
5329
5441
|
* const editor = Jodit.make({
|
|
5330
5442
|
* extraIcons: {
|
|
5331
5443
|
* someIcon: '<svg><path.../></svg>'
|
|
@@ -5336,7 +5448,7 @@ let ConfigPrototype = {};
|
|
|
5336
5448
|
* }]
|
|
5337
5449
|
* });
|
|
5338
5450
|
* ```
|
|
5339
|
-
*
|
|
5451
|
+
*
|
|
5340
5452
|
* ```js
|
|
5341
5453
|
* const editor = Jodit.make({
|
|
5342
5454
|
* extraButtons: [{
|
|
@@ -5348,7 +5460,7 @@ let ConfigPrototype = {};
|
|
|
5348
5460
|
*/ this.extraIcons = {};
|
|
5349
5461
|
/**
|
|
5350
5462
|
* Default attributes for created inside editor elements
|
|
5351
|
-
*
|
|
5463
|
+
*
|
|
5352
5464
|
* ```js
|
|
5353
5465
|
* const editor2 = Jodit.make('#editor', {
|
|
5354
5466
|
* createAttributes: {
|
|
@@ -5368,7 +5480,7 @@ let ConfigPrototype = {};
|
|
|
5368
5480
|
* expect(ul.className).equals('ui-test');
|
|
5369
5481
|
* ```
|
|
5370
5482
|
* Or JSX in React
|
|
5371
|
-
*
|
|
5483
|
+
*
|
|
5372
5484
|
* ```jsx
|
|
5373
5485
|
* import React, {useState, useRef} from 'react';
|
|
5374
5486
|
* import JoditEditor from "jodit-react";
|
|
@@ -5400,7 +5512,7 @@ let ConfigPrototype = {};
|
|
|
5400
5512
|
/**
|
|
5401
5513
|
* The list of buttons that appear in the editor's toolbar on large places (≥ options.sizeLG).
|
|
5402
5514
|
* Note - this is not the width of the device, the width of the editor
|
|
5403
|
-
*
|
|
5515
|
+
*
|
|
5404
5516
|
* ```javascript
|
|
5405
5517
|
* Jodit.make('#editor', {
|
|
5406
5518
|
* buttons: ['bold', 'italic', 'source'],
|
|
@@ -5408,7 +5520,7 @@ let ConfigPrototype = {};
|
|
|
5408
5520
|
* buttonsXS: ['bold', 'fullsize'],
|
|
5409
5521
|
* });
|
|
5410
5522
|
* ```
|
|
5411
|
-
*
|
|
5523
|
+
*
|
|
5412
5524
|
* ```javascript
|
|
5413
5525
|
* Jodit.make('#editor2', {
|
|
5414
5526
|
* buttons: [{
|
|
@@ -5432,7 +5544,7 @@ let ConfigPrototype = {};
|
|
|
5432
5544
|
* }]
|
|
5433
5545
|
* });
|
|
5434
5546
|
* ```
|
|
5435
|
-
*
|
|
5547
|
+
*
|
|
5436
5548
|
* ```javascript
|
|
5437
5549
|
* Jodit.make('#editor2', {
|
|
5438
5550
|
* buttons: Jodit.defaultOptions.buttons.concat([{
|
|
@@ -5553,7 +5665,7 @@ let ConfigPrototype = {};
|
|
|
5553
5665
|
* ```
|
|
5554
5666
|
*/ this.events = {};
|
|
5555
5667
|
/**
|
|
5556
|
-
* Buttons in
|
|
5668
|
+
* Buttons in toolbar without SVG - only texts
|
|
5557
5669
|
*/ this.textIcons = false;
|
|
5558
5670
|
/**
|
|
5559
5671
|
* Element for dialog container
|
|
@@ -6810,7 +6922,7 @@ let UIButton = class UIButton extends _element_js__WEBPACK_IMPORTED_MODULE_9__.U
|
|
|
6810
6922
|
}
|
|
6811
6923
|
onChangeText() {
|
|
6812
6924
|
this.text.textContent = this.jodit.i18n(this.state.text);
|
|
6813
|
-
this.
|
|
6925
|
+
this.updateAriaLabel();
|
|
6814
6926
|
}
|
|
6815
6927
|
onChangeTextSetMode() {
|
|
6816
6928
|
this.setMod('text-icons', Boolean(this.state.text.trim().length));
|
|
@@ -6833,9 +6945,9 @@ let UIButton = class UIButton extends _element_js__WEBPACK_IMPORTED_MODULE_9__.U
|
|
|
6833
6945
|
(0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_8__.attr)(this.container, 'title', i8nTooltip);
|
|
6834
6946
|
}
|
|
6835
6947
|
(0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_8__.attr)(this.container, 'aria-label', i8nTooltip);
|
|
6836
|
-
this.
|
|
6948
|
+
this.updateAriaLabel();
|
|
6837
6949
|
}
|
|
6838
|
-
|
|
6950
|
+
updateAriaLabel() {
|
|
6839
6951
|
const hasText = this.state.text.trim().length > 0;
|
|
6840
6952
|
const i8nTooltip = this.state.tooltip ? this.jodit.i18n(this.state.tooltip) : null;
|
|
6841
6953
|
(0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_8__.attr)(this.container, 'aria-label', i8nTooltip);
|
|
@@ -7318,6 +7430,9 @@ let ToolbarCollection = class ToolbarCollection extends _core_ui_group_list_js__
|
|
|
7318
7430
|
className() {
|
|
7319
7431
|
return 'ToolbarCollection';
|
|
7320
7432
|
}
|
|
7433
|
+
getRole() {
|
|
7434
|
+
return 'toolbar';
|
|
7435
|
+
}
|
|
7321
7436
|
/**
|
|
7322
7437
|
* First button in a list
|
|
7323
7438
|
*/ get firstButton() {
|
|
@@ -13258,16 +13373,21 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.popup = {
|
|
|
13258
13373
|
|
|
13259
13374
|
|
|
13260
13375
|
let UIList = class UIList extends _group_js__WEBPACK_IMPORTED_MODULE_6__.UIGroup {
|
|
13261
|
-
|
|
13376
|
+
className() {
|
|
13262
13377
|
return 'UIList';
|
|
13263
13378
|
}
|
|
13379
|
+
getRole() {
|
|
13380
|
+
return 'list';
|
|
13381
|
+
}
|
|
13264
13382
|
__onChangeMode() {
|
|
13265
13383
|
this.setMod('mode', this.mode);
|
|
13266
13384
|
}
|
|
13267
13385
|
/**
|
|
13268
13386
|
* Make new group and append it in list of elements
|
|
13269
|
-
*/ makeGroup() {
|
|
13270
|
-
return new _group_js__WEBPACK_IMPORTED_MODULE_6__.UIGroup(this.jodit
|
|
13387
|
+
*/ makeGroup(role) {
|
|
13388
|
+
return new _group_js__WEBPACK_IMPORTED_MODULE_6__.UIGroup(this.jodit, [], role ? {
|
|
13389
|
+
role
|
|
13390
|
+
} : undefined);
|
|
13271
13391
|
}
|
|
13272
13392
|
/**
|
|
13273
13393
|
* All buttons from list
|
|
@@ -13287,7 +13407,7 @@ let UIList = class UIList extends _group_js__WEBPACK_IMPORTED_MODULE_6__.UIGroup
|
|
|
13287
13407
|
items = (0,_helpers_array_split_array_js__WEBPACK_IMPORTED_MODULE_4__.splitArray)(items);
|
|
13288
13408
|
this.clear();
|
|
13289
13409
|
let lastBtnSeparator = false;
|
|
13290
|
-
let line = this.makeGroup();
|
|
13410
|
+
let line = this.makeGroup('group');
|
|
13291
13411
|
this.append(line);
|
|
13292
13412
|
line.setMod('line', true);
|
|
13293
13413
|
let group;
|
|
@@ -13295,7 +13415,7 @@ let UIList = class UIList extends _group_js__WEBPACK_IMPORTED_MODULE_6__.UIGroup
|
|
|
13295
13415
|
let elm = null;
|
|
13296
13416
|
switch(control.name){
|
|
13297
13417
|
case '\n':
|
|
13298
|
-
line = this.makeGroup();
|
|
13418
|
+
line = this.makeGroup('group');
|
|
13299
13419
|
line.setMod('line', true);
|
|
13300
13420
|
group = this.makeGroup();
|
|
13301
13421
|
line.append(group);
|
|
@@ -20343,6 +20463,7 @@ let ToolbarEditorCollection = class ToolbarEditorCollection extends _collection_
|
|
|
20343
20463
|
* @see https://github.com/jodit/jodit-react/issues/138
|
|
20344
20464
|
*/ prependInvisibleInput(container) {
|
|
20345
20465
|
const input = this.j.create.element('input', {
|
|
20466
|
+
name: 'jodit-toolbar-focus-helper_' + this.j.id,
|
|
20346
20467
|
tabIndex: -1,
|
|
20347
20468
|
disabled: true,
|
|
20348
20469
|
style: 'width: 0; height:0; position: absolute; visibility: hidden;'
|
|
@@ -25105,9 +25226,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.toolbarStickyOffset = 0
|
|
|
25105
25226
|
/* harmony import */ var _decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55153);
|
|
25106
25227
|
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
|
|
25107
25228
|
/* harmony import */ var _helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(70799);
|
|
25108
|
-
/* harmony import */ var
|
|
25109
|
-
/* harmony import */ var
|
|
25110
|
-
/* harmony import */ var
|
|
25229
|
+
/* harmony import */ var _helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29960);
|
|
25230
|
+
/* harmony import */ var _traits_elms_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(14316);
|
|
25231
|
+
/* harmony import */ var _traits_mods_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(34176);
|
|
25232
|
+
/* harmony import */ var _icon_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12153);
|
|
25111
25233
|
/*!
|
|
25112
25234
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
25113
25235
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -25126,7 +25248,12 @@ var UIElement_1;
|
|
|
25126
25248
|
|
|
25127
25249
|
|
|
25128
25250
|
|
|
25251
|
+
|
|
25129
25252
|
let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewComponent {
|
|
25253
|
+
getRole() {
|
|
25254
|
+
var _a;
|
|
25255
|
+
return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.role) || '';
|
|
25256
|
+
}
|
|
25130
25257
|
get parentElement() {
|
|
25131
25258
|
return this.__parentElement;
|
|
25132
25259
|
}
|
|
@@ -25215,19 +25342,22 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
|
|
|
25215
25342
|
return result;
|
|
25216
25343
|
}
|
|
25217
25344
|
parseTemplate(result) {
|
|
25218
|
-
return this.j.c.fromHTML(result.replace(/\*([^*]+?)\*/g, (_, name)=>
|
|
25345
|
+
return this.j.c.fromHTML(result.replace(/\*([^*]+?)\*/g, (_, name)=>_icon_js__WEBPACK_IMPORTED_MODULE_7__.Icon.get(name) || '').replace(/&_/g, this.componentName + '_').replace(/~([^~]+?)~/g, (_, s)=>this.i18n(s)));
|
|
25219
25346
|
}
|
|
25220
25347
|
/** @override */ destruct() {
|
|
25221
25348
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(this.container);
|
|
25222
25349
|
this.parentElement = null;
|
|
25223
25350
|
return super.destruct();
|
|
25224
25351
|
}
|
|
25225
|
-
|
|
25352
|
+
constructor(jodit, options){
|
|
25226
25353
|
super(jodit);
|
|
25227
25354
|
this.name = '';
|
|
25228
25355
|
this.__parentElement = null;
|
|
25229
25356
|
this.mods = {};
|
|
25357
|
+
this.options = options;
|
|
25230
25358
|
this.container = this.createContainer(options);
|
|
25359
|
+
const role = this.getRole();
|
|
25360
|
+
role && (0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(this.container, 'role', role);
|
|
25231
25361
|
Object.defineProperty(this.container, 'component', {
|
|
25232
25362
|
value: this,
|
|
25233
25363
|
configurable: true
|
|
@@ -25235,7 +25365,7 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
|
|
|
25235
25365
|
}
|
|
25236
25366
|
};
|
|
25237
25367
|
UIElement = UIElement_1 = __decorate([
|
|
25238
|
-
(0,_decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__.derive)(
|
|
25368
|
+
(0,_decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__.derive)(_traits_mods_js__WEBPACK_IMPORTED_MODULE_6__.Mods, _traits_elms_js__WEBPACK_IMPORTED_MODULE_5__.Elms)
|
|
25239
25369
|
], UIElement);
|
|
25240
25370
|
|
|
25241
25371
|
|
|
@@ -32526,6 +32656,10 @@ let UIGroup = UIGroup_1 = class UIGroup extends _element_js__WEBPACK_IMPORTED_MO
|
|
|
32526
32656
|
className() {
|
|
32527
32657
|
return 'UIGroup';
|
|
32528
32658
|
}
|
|
32659
|
+
getRole() {
|
|
32660
|
+
var _a;
|
|
32661
|
+
return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.role) || 'list';
|
|
32662
|
+
}
|
|
32529
32663
|
/**
|
|
32530
32664
|
* All group children
|
|
32531
32665
|
*/ get allChildren() {
|
|
@@ -40268,6 +40402,16 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
|
|
|
40268
40402
|
className() {
|
|
40269
40403
|
return 'ToolbarButton';
|
|
40270
40404
|
}
|
|
40405
|
+
getRole() {
|
|
40406
|
+
return 'listitem';
|
|
40407
|
+
}
|
|
40408
|
+
updateAriaLabel() {
|
|
40409
|
+
super.updateAriaLabel();
|
|
40410
|
+
if (this.trigger) {
|
|
40411
|
+
const i8nTooltip = this.state.tooltip ? this.jodit.i18n(this.state.tooltip) : null;
|
|
40412
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.trigger, 'aria-label', i8nTooltip);
|
|
40413
|
+
}
|
|
40414
|
+
}
|
|
40271
40415
|
/**
|
|
40272
40416
|
* Get parent toolbar
|
|
40273
40417
|
*/ get toolbar() {
|
|
@@ -40335,14 +40479,13 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
|
|
|
40335
40479
|
const cn = this.componentName;
|
|
40336
40480
|
const container = this.j.c.span(cn);
|
|
40337
40481
|
const button = super.createContainer();
|
|
40338
|
-
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(container, 'role', 'listitem');
|
|
40339
40482
|
button.classList.remove(cn);
|
|
40340
40483
|
button.classList.add(cn + '__button');
|
|
40341
40484
|
Object.defineProperty(button, 'component', {
|
|
40342
40485
|
value: this
|
|
40343
40486
|
});
|
|
40344
40487
|
container.appendChild(button);
|
|
40345
|
-
const trigger = this.j.c.fromHTML(`<span role="
|
|
40488
|
+
const trigger = this.j.c.fromHTML(`<span role="button" aria-haspopup="true" aria-expanded="false" class="${cn}__trigger">${_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_18__.Icon.get('chevron')}</span>`);
|
|
40346
40489
|
// For caching
|
|
40347
40490
|
button.appendChild(trigger);
|
|
40348
40491
|
return container;
|
|
@@ -40401,6 +40544,7 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
|
|
|
40401
40544
|
return;
|
|
40402
40545
|
}
|
|
40403
40546
|
const { control: ctr } = this;
|
|
40547
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.trigger, 'aria-expanded', true);
|
|
40404
40548
|
e.buffer = {
|
|
40405
40549
|
actionTrigger: this
|
|
40406
40550
|
};
|
|
@@ -40514,6 +40658,9 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
|
|
|
40514
40658
|
this.openedPopup.close();
|
|
40515
40659
|
this.openedPopup.destruct();
|
|
40516
40660
|
this.openedPopup = null;
|
|
40661
|
+
if (this.trigger) {
|
|
40662
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.trigger, 'aria-expanded', false);
|
|
40663
|
+
}
|
|
40517
40664
|
}
|
|
40518
40665
|
}
|
|
40519
40666
|
/**
|
|
@@ -43268,13 +43415,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.maxWidth = '100%';
|
|
|
43268
43415
|
/**
|
|
43269
43416
|
* Editor's min-height
|
|
43270
43417
|
*
|
|
43271
|
-
* @example
|
|
43272
43418
|
* ```javascript
|
|
43273
43419
|
* Jodit.make('.editor', {
|
|
43274
43420
|
* minHeight: '30%' //min-height: 30%
|
|
43275
43421
|
* })
|
|
43276
43422
|
* ```
|
|
43277
|
-
*
|
|
43423
|
+
*
|
|
43278
43424
|
* ```javascript
|
|
43279
43425
|
* Jodit.make('.editor', {
|
|
43280
43426
|
* minHeight: 200 //min-height: 200px
|
|
@@ -44332,7 +44478,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
44332
44478
|
* ```
|
|
44333
44479
|
* @packageDocumentation
|
|
44334
44480
|
* @module constants
|
|
44335
|
-
*/ const APP_VERSION = "4.9.
|
|
44481
|
+
*/ const APP_VERSION = "4.9.25";
|
|
44336
44482
|
// prettier-ignore
|
|
44337
44483
|
const ES = "es2021";
|
|
44338
44484
|
const IS_ES_MODERN = true;
|
|
@@ -44983,11 +45129,13 @@ ToolbarSelect = __decorate([
|
|
|
44983
45129
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
44984
45130
|
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22732);
|
|
44985
45131
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580);
|
|
44986
|
-
/* harmony import */ var
|
|
44987
|
-
/* harmony import */ var
|
|
44988
|
-
/* harmony import */ var
|
|
44989
|
-
/* harmony import */ var
|
|
44990
|
-
/* harmony import */ var
|
|
45132
|
+
/* harmony import */ var _core_helpers_string_trim_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49055);
|
|
45133
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29960);
|
|
45134
|
+
/* harmony import */ var _core_helpers_utils_selector_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76078);
|
|
45135
|
+
/* harmony import */ var _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(50911);
|
|
45136
|
+
/* harmony import */ var _modules_context_menu_context_menu_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(80870);
|
|
45137
|
+
/* harmony import */ var _modules_toolbar_factory_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(21491);
|
|
45138
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(86012);
|
|
44991
45139
|
/*!
|
|
44992
45140
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
44993
45141
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -45000,12 +45148,15 @@ ToolbarSelect = __decorate([
|
|
|
45000
45148
|
|
|
45001
45149
|
|
|
45002
45150
|
|
|
45151
|
+
|
|
45152
|
+
|
|
45003
45153
|
/**
|
|
45004
45154
|
* Show a path to a current element in status bar
|
|
45005
|
-
*/ class xpath extends
|
|
45155
|
+
*/ class xpath extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_6__.Plugin {
|
|
45006
45156
|
afterInit() {
|
|
45007
45157
|
if (this.j.o.showXPathInStatusbar) {
|
|
45008
45158
|
this.container = this.j.c.div('jodit-xpath');
|
|
45159
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(this.container, 'role', 'list');
|
|
45009
45160
|
const init = ()=>{
|
|
45010
45161
|
if (!this.j.o.showXPathInStatusbar || !this.container) {
|
|
45011
45162
|
return;
|
|
@@ -45020,7 +45171,7 @@ ToolbarSelect = __decorate([
|
|
|
45020
45171
|
this.appendSelectAll();
|
|
45021
45172
|
}
|
|
45022
45173
|
};
|
|
45023
|
-
this.j.e.off('.xpath').on('
|
|
45174
|
+
this.j.e.off('.xpath').on('pointerup.xpath change.xpath keydown.xpath changeSelection.xpath', this.calcPath).on('afterSetMode.xpath afterInit.xpath changePlace.xpath', init);
|
|
45024
45175
|
init();
|
|
45025
45176
|
this.calcPath();
|
|
45026
45177
|
}
|
|
@@ -45039,7 +45190,7 @@ ToolbarSelect = __decorate([
|
|
|
45039
45190
|
super(...arguments);
|
|
45040
45191
|
this.onContext = (bindElement, event)=>{
|
|
45041
45192
|
if (!this.menu) {
|
|
45042
|
-
this.menu = new
|
|
45193
|
+
this.menu = new _modules_context_menu_context_menu_js__WEBPACK_IMPORTED_MODULE_7__.ContextMenu(this.j);
|
|
45043
45194
|
}
|
|
45044
45195
|
this.menu.show(event.clientX, event.clientY, [
|
|
45045
45196
|
{
|
|
@@ -45066,7 +45217,7 @@ ToolbarSelect = __decorate([
|
|
|
45066
45217
|
};
|
|
45067
45218
|
this.onSelectPath = (bindElement, event)=>{
|
|
45068
45219
|
this.j.s.focus();
|
|
45069
|
-
const path = (0,
|
|
45220
|
+
const path = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(event.target, '-path') || '/';
|
|
45070
45221
|
if (path === '/') {
|
|
45071
45222
|
this.j.execCommand('selectall');
|
|
45072
45223
|
return false;
|
|
@@ -45082,7 +45233,7 @@ ToolbarSelect = __decorate([
|
|
|
45082
45233
|
return false;
|
|
45083
45234
|
};
|
|
45084
45235
|
this.tpl = (bindElement, path, name, title)=>{
|
|
45085
|
-
const item = this.j.c.fromHTML(`<span class="jodit-xpath__item"><a role="button" data-path="${path}" title="${title}" tabindex="-1"'>${(0,
|
|
45236
|
+
const item = this.j.c.fromHTML(`<span class="jodit-xpath__item"><a role="button" data-path="${path}" title="${title}" tabindex="-1"'>${(0,_core_helpers_string_trim_js__WEBPACK_IMPORTED_MODULE_3__.trim)(name)}</a></span>`);
|
|
45086
45237
|
const a = item.firstChild;
|
|
45087
45238
|
this.j.e.on(a, 'click', this.onSelectPath.bind(this, bindElement)).on(a, 'contextmenu', this.onContext.bind(this, bindElement));
|
|
45088
45239
|
return item;
|
|
@@ -45095,7 +45246,7 @@ ToolbarSelect = __decorate([
|
|
|
45095
45246
|
};
|
|
45096
45247
|
this.appendSelectAll = ()=>{
|
|
45097
45248
|
this.removeSelectAll();
|
|
45098
|
-
this.selectAllButton = (0,
|
|
45249
|
+
this.selectAllButton = (0,_modules_toolbar_factory_js__WEBPACK_IMPORTED_MODULE_8__.makeButton)(this.j, {
|
|
45099
45250
|
name: 'selectall',
|
|
45100
45251
|
...this.j.o.controls.selectall
|
|
45101
45252
|
});
|
|
@@ -45115,7 +45266,7 @@ ToolbarSelect = __decorate([
|
|
|
45115
45266
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.up(current, (elm)=>{
|
|
45116
45267
|
if (elm && this.j.editor !== elm && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(elm) && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isComment(elm)) {
|
|
45117
45268
|
name = elm.nodeName.toLowerCase();
|
|
45118
|
-
xpth = (0,
|
|
45269
|
+
xpth = (0,_core_helpers_utils_selector_js__WEBPACK_IMPORTED_MODULE_5__.getXPathByElement)(elm, this.j.editor).replace(/^\//, '');
|
|
45119
45270
|
li = this.tpl(elm, xpth, name, this.j.i18n('Select %s', name));
|
|
45120
45271
|
this.container && this.container.insertBefore(li, this.container.firstChild);
|
|
45121
45272
|
}
|