jodit-pro 4.15.6 → 4.15.8
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 +13 -13
- package/es2015/jodit.js +90 -27
- package/es2015/jodit.min.js +4 -4
- 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.css +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/image-editor-pro/image-editor-pro.css +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.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 +4 -4
- package/es2018/jodit.min.js +4 -4
- 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/image-editor-pro/image-editor-pro.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 +4 -4
- package/es2021/jodit.js +90 -27
- package/es2021/jodit.min.js +4 -4
- 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.css +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/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.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 +4 -4
- package/es2021.en/jodit.js +90 -27
- package/es2021.en/jodit.min.js +4 -4
- 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.css +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/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.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 +95 -27
- 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.css +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/image-editor-pro/image-editor-pro.css +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.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.15.
|
|
4
|
+
* Version: v4.15.8
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1771,7 +1771,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1771
1771
|
* ```
|
|
1772
1772
|
* @packageDocumentation
|
|
1773
1773
|
* @module constants
|
|
1774
|
-
*/ const APP_VERSION = "4.15.
|
|
1774
|
+
*/ const APP_VERSION = "4.15.8";
|
|
1775
1775
|
// prettier-ignore
|
|
1776
1776
|
const ES = "es2015";
|
|
1777
1777
|
const IS_ES_MODERN = true;
|
|
@@ -26945,15 +26945,18 @@ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.filebrowser =
|
|
|
26945
26945
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
26946
26946
|
/* harmony export */ "default": function() { return /* binding */ DataProvider; }
|
|
26947
26947
|
/* harmony export */ });
|
|
26948
|
+
/* unused harmony export assertSourcesAnswer */
|
|
26948
26949
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
26949
26950
|
/* harmony import */ var _core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45219);
|
|
26950
|
-
/* harmony import */ var
|
|
26951
|
-
/* harmony import */ var
|
|
26952
|
-
/* harmony import */ var
|
|
26953
|
-
/* harmony import */ var
|
|
26954
|
-
/* harmony import */ var
|
|
26955
|
-
/* harmony import */ var
|
|
26956
|
-
/* harmony import */ var
|
|
26951
|
+
/* harmony import */ var _core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(68345);
|
|
26952
|
+
/* harmony import */ var _core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23282);
|
|
26953
|
+
/* harmony import */ var _core_helpers_checker_is_plain_object_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(72430);
|
|
26954
|
+
/* harmony import */ var _core_helpers_normalize_normalize_relative_path_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(70091);
|
|
26955
|
+
/* harmony import */ var _core_helpers_utils_config_proto_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(68934);
|
|
26956
|
+
/* harmony import */ var _core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89890);
|
|
26957
|
+
/* harmony import */ var _core_helpers_utils_set_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3703);
|
|
26958
|
+
/* harmony import */ var _core_request_ajax_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(54079);
|
|
26959
|
+
/* harmony import */ var _builders_item_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(159);
|
|
26957
26960
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
26958
26961
|
try {
|
|
26959
26962
|
var info = gen[key](arg);
|
|
@@ -27048,6 +27051,8 @@ function _object_spread_props(target, source) {
|
|
|
27048
27051
|
|
|
27049
27052
|
|
|
27050
27053
|
|
|
27054
|
+
|
|
27055
|
+
|
|
27051
27056
|
const DEFAULT_SOURCE_NAME = 'default';
|
|
27052
27057
|
const possibleRules = new Set([
|
|
27053
27058
|
'allowFiles',
|
|
@@ -27064,6 +27069,38 @@ const possibleRules = new Set([
|
|
|
27064
27069
|
'allowImageResize',
|
|
27065
27070
|
'allowImageCrop'
|
|
27066
27071
|
]);
|
|
27072
|
+
const DOCS_URL = 'https://xdsoft.net/jodit/docs/modules/file_browser.html';
|
|
27073
|
+
/**
|
|
27074
|
+
* Validate the connector answer for the `files` / `folders` actions and
|
|
27075
|
+
* normalise it. A hand-written backend that returns the wrong shape used to
|
|
27076
|
+
* crash deep inside the UI with a bare `TypeError: ... reading 'forEach'`;
|
|
27077
|
+
* now it fails right here with a message that names the action, the option
|
|
27078
|
+
* and the missing field. Missing `files` / `folders` lists are treated as
|
|
27079
|
+
* empty instead of throwing.
|
|
27080
|
+
*/ function assertSourcesAnswer(resp, action, option) {
|
|
27081
|
+
const fail = (what)=>{
|
|
27082
|
+
throw new Error(`File browser: the connector answer for action "${action}" (option "filebrowser.${option}") ${what}. See ${DOCS_URL}`);
|
|
27083
|
+
};
|
|
27084
|
+
if (!(0,_core_helpers_checker_is_plain_object_js__WEBPACK_IMPORTED_MODULE_4__.isPlainObject)(resp) || !(0,_core_helpers_checker_is_plain_object_js__WEBPACK_IMPORTED_MODULE_4__.isPlainObject)(resp.data)) {
|
|
27085
|
+
return fail('has no "data" object');
|
|
27086
|
+
}
|
|
27087
|
+
const { sources } = resp.data;
|
|
27088
|
+
if (!(0,_core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(sources)) {
|
|
27089
|
+
return fail(sources === undefined ? 'has no "data.sources" array' : `must contain "data.sources" as an array of sources, got ${(0,_core_helpers_checker_is_plain_object_js__WEBPACK_IMPORTED_MODULE_4__.isPlainObject)(sources) ? 'an object keyed by source name' : typeof sources}`);
|
|
27090
|
+
}
|
|
27091
|
+
sources.forEach((source, index)=>{
|
|
27092
|
+
if (!(0,_core_helpers_checker_is_plain_object_js__WEBPACK_IMPORTED_MODULE_4__.isPlainObject)(source)) {
|
|
27093
|
+
return fail(`has a non-object entry at "data.sources[${index}]"`);
|
|
27094
|
+
}
|
|
27095
|
+
if (!(0,_core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(source.files)) {
|
|
27096
|
+
source.files = [];
|
|
27097
|
+
}
|
|
27098
|
+
if (!(0,_core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(source.folders)) {
|
|
27099
|
+
source.folders = [];
|
|
27100
|
+
}
|
|
27101
|
+
});
|
|
27102
|
+
return resp;
|
|
27103
|
+
}
|
|
27067
27104
|
class DataProvider {
|
|
27068
27105
|
/**
|
|
27069
27106
|
* Alias for options
|
|
@@ -27077,13 +27114,13 @@ class DataProvider {
|
|
|
27077
27114
|
ajax === null || ajax === void 0 ? void 0 : ajax.abort();
|
|
27078
27115
|
instances.delete(name);
|
|
27079
27116
|
}
|
|
27080
|
-
const opts = (0,
|
|
27117
|
+
const opts = (0,_core_helpers_utils_config_proto_js__WEBPACK_IMPORTED_MODULE_6__.ConfigProto)(this.options[name] !== undefined ? this.options[name] : {}, (0,_core_helpers_utils_config_proto_js__WEBPACK_IMPORTED_MODULE_6__.ConfigProto)({
|
|
27081
27118
|
onProgress: this.progressHandler
|
|
27082
27119
|
}, this.o.ajax));
|
|
27083
27120
|
if (opts.prepareData) {
|
|
27084
27121
|
opts.data = opts.prepareData.call(this, opts.data);
|
|
27085
27122
|
}
|
|
27086
|
-
const ajax = new
|
|
27123
|
+
const ajax = new _core_request_ajax_js__WEBPACK_IMPORTED_MODULE_9__.Ajax(opts);
|
|
27087
27124
|
instances.set(name, ajax);
|
|
27088
27125
|
const promise = ajax.send();
|
|
27089
27126
|
promise.finally(()=>{
|
|
@@ -27112,8 +27149,9 @@ class DataProvider {
|
|
|
27112
27149
|
this.o.permissions.data.source = source;
|
|
27113
27150
|
if (this.o.permissions.url) {
|
|
27114
27151
|
return this.get('permissions').then((resp)=>{
|
|
27152
|
+
var _a;
|
|
27115
27153
|
if (this.parent.isInDestruct) {
|
|
27116
|
-
throw (0,
|
|
27154
|
+
throw (0,_core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__.abort)();
|
|
27117
27155
|
}
|
|
27118
27156
|
let process = this.o.permissions.process;
|
|
27119
27157
|
if (!process) {
|
|
@@ -27121,7 +27159,9 @@ class DataProvider {
|
|
|
27121
27159
|
}
|
|
27122
27160
|
if (process) {
|
|
27123
27161
|
const respData = process.call(self, resp);
|
|
27124
|
-
|
|
27162
|
+
// The permissions answer is optional and may come back without
|
|
27163
|
+
// a `data` object at all from a minimal backend.
|
|
27164
|
+
if ((_a = respData === null || respData === void 0 ? void 0 : respData.data) === null || _a === void 0 ? void 0 : _a.permissions) {
|
|
27125
27165
|
this.parent.events.fire(this, 'changePermissions', this.__currentPermissions, respData.data.permissions);
|
|
27126
27166
|
this.__currentPermissions = respData.data.permissions;
|
|
27127
27167
|
}
|
|
@@ -27136,7 +27176,7 @@ class DataProvider {
|
|
|
27136
27176
|
const rule = 'allow' + action;
|
|
27137
27177
|
if (!_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_PROD) {
|
|
27138
27178
|
if (!possibleRules.has(rule)) {
|
|
27139
|
-
throw (0,
|
|
27179
|
+
throw (0,_core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__.error)('Wrong action ' + action);
|
|
27140
27180
|
}
|
|
27141
27181
|
}
|
|
27142
27182
|
const presetValue = this.o.permissionsPresets[rule];
|
|
@@ -27161,7 +27201,7 @@ class DataProvider {
|
|
|
27161
27201
|
if (process) {
|
|
27162
27202
|
resp = process.call(self, resp);
|
|
27163
27203
|
}
|
|
27164
|
-
return onResult(resp);
|
|
27204
|
+
return onResult(assertSourcesAnswer(resp, 'files', 'items'));
|
|
27165
27205
|
});
|
|
27166
27206
|
}
|
|
27167
27207
|
/**
|
|
@@ -27188,12 +27228,12 @@ class DataProvider {
|
|
|
27188
27228
|
sources.forEach((source)=>{
|
|
27189
27229
|
if (source.files && source.files.length) {
|
|
27190
27230
|
const { sort } = this.o;
|
|
27191
|
-
if ((0,
|
|
27231
|
+
if ((0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_3__.isFunction)(sort) && mods.sortBy) {
|
|
27192
27232
|
source.files.sort((a, b)=>sort(a, b, mods.sortBy));
|
|
27193
27233
|
}
|
|
27194
27234
|
source.files.forEach((item)=>{
|
|
27195
27235
|
if (inFilter(item) && canBeFile(item)) {
|
|
27196
|
-
elements.push(
|
|
27236
|
+
elements.push(_builders_item_js__WEBPACK_IMPORTED_MODULE_10__.FileBrowserItem.create(_object_spread_props(_object_spread({}, item), {
|
|
27197
27237
|
sourceName: source.name,
|
|
27198
27238
|
source
|
|
27199
27239
|
})));
|
|
@@ -27205,7 +27245,7 @@ class DataProvider {
|
|
|
27205
27245
|
}
|
|
27206
27246
|
tree(path, source) {
|
|
27207
27247
|
return _async_to_generator(function*() {
|
|
27208
|
-
path = (0,
|
|
27248
|
+
path = (0,_core_helpers_normalize_normalize_relative_path_js__WEBPACK_IMPORTED_MODULE_5__.normalizeRelativePath)(path);
|
|
27209
27249
|
if (!this.o.folder) {
|
|
27210
27250
|
return Promise.reject(Error('Set Folder Api options'));
|
|
27211
27251
|
}
|
|
@@ -27220,19 +27260,19 @@ class DataProvider {
|
|
|
27220
27260
|
if (process) {
|
|
27221
27261
|
resp = process.call(self, resp);
|
|
27222
27262
|
}
|
|
27223
|
-
return resp.data.sources;
|
|
27263
|
+
return assertSourcesAnswer(resp, 'folders', 'folder').data.sources;
|
|
27224
27264
|
});
|
|
27225
27265
|
}).call(this);
|
|
27226
27266
|
}
|
|
27227
27267
|
/**
|
|
27228
27268
|
* Get path by url. You can use this method in another modules
|
|
27229
27269
|
*/ getPathByUrl(url) {
|
|
27230
|
-
;(0,
|
|
27270
|
+
;(0,_core_helpers_utils_set_js__WEBPACK_IMPORTED_MODULE_8__.set)('options.getLocalFileByUrl.data.url', url, this);
|
|
27231
27271
|
return this.get('getLocalFileByUrl').then((resp)=>{
|
|
27232
27272
|
if (this.isSuccess(resp)) {
|
|
27233
27273
|
return resp.data;
|
|
27234
27274
|
}
|
|
27235
|
-
throw (0,
|
|
27275
|
+
throw (0,_core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__.error)(this.getMessage(resp));
|
|
27236
27276
|
});
|
|
27237
27277
|
}
|
|
27238
27278
|
/**
|
|
@@ -27244,7 +27284,7 @@ class DataProvider {
|
|
|
27244
27284
|
*/ createFolder(name, path, source) {
|
|
27245
27285
|
const { create } = this.o;
|
|
27246
27286
|
if (!create) {
|
|
27247
|
-
throw (0,
|
|
27287
|
+
throw (0,_core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__.error)('Set Create api options');
|
|
27248
27288
|
}
|
|
27249
27289
|
create.data.source = source;
|
|
27250
27290
|
create.data.path = path;
|
|
@@ -27253,7 +27293,7 @@ class DataProvider {
|
|
|
27253
27293
|
if (this.isSuccess(resp)) {
|
|
27254
27294
|
return true;
|
|
27255
27295
|
}
|
|
27256
|
-
throw (0,
|
|
27296
|
+
throw (0,_core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__.error)(this.getMessage(resp));
|
|
27257
27297
|
});
|
|
27258
27298
|
}
|
|
27259
27299
|
/**
|
|
@@ -27265,7 +27305,7 @@ class DataProvider {
|
|
|
27265
27305
|
const mode = isFile ? 'fileMove' : 'folderMove';
|
|
27266
27306
|
const option = this.options[mode];
|
|
27267
27307
|
if (!option) {
|
|
27268
|
-
throw (0,
|
|
27308
|
+
throw (0,_core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__.error)('Set Move api options');
|
|
27269
27309
|
}
|
|
27270
27310
|
option.data.from = filepath;
|
|
27271
27311
|
option.data.path = path;
|
|
@@ -27274,7 +27314,7 @@ class DataProvider {
|
|
|
27274
27314
|
if (this.isSuccess(resp)) {
|
|
27275
27315
|
return true;
|
|
27276
27316
|
}
|
|
27277
|
-
throw (0,
|
|
27317
|
+
throw (0,_core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__.error)(this.getMessage(resp));
|
|
27278
27318
|
});
|
|
27279
27319
|
}
|
|
27280
27320
|
/**
|
|
@@ -27286,7 +27326,7 @@ class DataProvider {
|
|
|
27286
27326
|
*/ __remove(action, path, file, source) {
|
|
27287
27327
|
const fr = this.o[action];
|
|
27288
27328
|
if (!fr) {
|
|
27289
|
-
throw (0,
|
|
27329
|
+
throw (0,_core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__.error)(`Set "${action}" api options`);
|
|
27290
27330
|
}
|
|
27291
27331
|
fr.data.path = path;
|
|
27292
27332
|
fr.data.name = file;
|
|
@@ -27326,7 +27366,7 @@ class DataProvider {
|
|
|
27326
27366
|
*/ __rename(action, path, name, newname, source) {
|
|
27327
27367
|
const fr = this.o[action];
|
|
27328
27368
|
if (!fr) {
|
|
27329
|
-
throw (0,
|
|
27369
|
+
throw (0,_core_helpers_utils_error_index_js__WEBPACK_IMPORTED_MODULE_7__.error)(`Set "${action}" api options`);
|
|
27330
27370
|
}
|
|
27331
27371
|
fr.data.path = path;
|
|
27332
27372
|
fr.data.name = name;
|
|
@@ -35213,6 +35253,7 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
35213
35253
|
* `<p><br></p>` left after deleting all content) to an empty string —
|
|
35214
35254
|
* opt-in via `cleanHTML.collapseEmptyValueToEmptyString`. See #1149
|
|
35215
35255
|
*/ onAfterGetValueFromEditor(data) {
|
|
35256
|
+
this.__singleQuotesInFontFamily(data);
|
|
35216
35257
|
if (!this.j.o.cleanHTML.collapseEmptyValueToEmptyString) {
|
|
35217
35258
|
return;
|
|
35218
35259
|
}
|
|
@@ -35220,6 +35261,27 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
35220
35261
|
data.value = '';
|
|
35221
35262
|
}
|
|
35222
35263
|
}
|
|
35264
|
+
/**
|
|
35265
|
+
* Rewrite double-quoted font names inside `style` attributes with single
|
|
35266
|
+
* quotes. The DOM always serialises them as `"…"`, and back ends
|
|
35267
|
+
* that HTML-decode the value before storing it then produce
|
|
35268
|
+
* `style="font-family: "Open Sans", …"` — broken markup. Single quotes
|
|
35269
|
+
* survive that round trip. Names that already contain an apostrophe are
|
|
35270
|
+
* left alone.
|
|
35271
|
+
*/ __singleQuotesInFontFamily(data) {
|
|
35272
|
+
if (!this.j.o.cleanHTML.singleQuotesInFontFamily || !data.value.includes('"')) {
|
|
35273
|
+
return;
|
|
35274
|
+
}
|
|
35275
|
+
data.value = data.value.replace(/\sstyle="([^"]*)"/gi, (attribute, css)=>{
|
|
35276
|
+
if (!css.includes('"') || !/font-family/i.test(css)) {
|
|
35277
|
+
return attribute;
|
|
35278
|
+
}
|
|
35279
|
+
const normalized = css.replace(// `"` itself ends with `;`, so the entity has to be
|
|
35280
|
+
// consumed as a unit or the declaration stops inside it.
|
|
35281
|
+
/font-family\s*:(?:"|[^;])*/gi, (declaration)=>declaration.includes("'") ? declaration : declaration.replace(/"/g, "'"));
|
|
35282
|
+
return attribute.replace(css, normalized);
|
|
35283
|
+
});
|
|
35284
|
+
}
|
|
35223
35285
|
onSafeHTML(sandBox) {
|
|
35224
35286
|
const sanitizer = this.j.o.cleanHTML.sanitizer;
|
|
35225
35287
|
if (sanitizer) {
|
|
@@ -35291,6 +35353,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.cleanHTML = {
|
|
|
35291
35353
|
removeEmptyElements: true,
|
|
35292
35354
|
fillEmptyParagraph: true,
|
|
35293
35355
|
collapseEmptyValueToEmptyString: false,
|
|
35356
|
+
singleQuotesInFontFamily: true,
|
|
35294
35357
|
replaceNBSP: true,
|
|
35295
35358
|
replaceOldTags: {
|
|
35296
35359
|
i: 'em',
|