jodit-pro 4.11.26 → 4.11.28
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 +115 -1
- package/es2015/jodit.css +32 -1
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +6 -6
- package/es2015/jodit.js +39 -9
- package/es2015/jodit.min.css +1 -1
- package/es2015/jodit.min.js +3 -3
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +105 -3
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +4 -4
- 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 +58 -7
- package/es2015/plugins/style/style.min.js +2 -2
- 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.css +1 -1
- package/es2018/jodit.fat.min.js +6 -6
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +3 -3
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +23 -23
- 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 +2 -2
- 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 +32 -1
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +6 -6
- package/es2021/jodit.js +39 -8
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +3 -3
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +105 -3
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +5 -5
- 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 +56 -5
- package/es2021/plugins/style/style.min.js +2 -2
- 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 +32 -1
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +6 -6
- package/es2021.en/jodit.js +39 -8
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +3 -3
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +105 -3
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +26 -26
- 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 +56 -5
- package/es2021.en/plugins/style/style.min.js +2 -2
- 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 +37 -2
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +43 -9
- package/es5/jodit.min.css +3 -3
- 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 +169 -3
- 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 +114 -25
- package/es5/plugins/style/style.min.js +2 -2
- 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/esm/config.d.ts +2 -0
- package/esm/plugins/ai-assistant-pro/ai-assistant-pro.d.ts +3 -0
- package/esm/plugins/ai-assistant-pro/ai-assistant-pro.js +2 -2
- package/esm/plugins/ai-assistant-pro/config.js +1 -1
- package/esm/plugins/ai-assistant-pro/interface/options.d.ts +40 -0
- package/esm/plugins/ai-assistant-pro/providers/jodit-ai-adapter.js +1 -1
- package/esm/plugins/autocomplete/autocomplete.js +1 -1
- package/esm/plugins/autocomplete/config.d.ts +2 -1
- package/esm/plugins/autocomplete/config.js +1 -1
- package/esm/plugins/autocomplete/interface.d.ts +1 -0
- package/esm/plugins/autocomplete/ui/autocomplete.d.ts +3 -1
- package/esm/plugins/autocomplete/ui/autocomplete.js +1 -1
- package/esm/plugins/autocomplete/ui/item.d.ts +2 -0
- package/esm/plugins/autocomplete/ui/item.js +1 -1
- package/esm/plugins/style/helpers/apply-style.js +1 -1
- package/esm/plugins/style/helpers/detect-active-style.js +1 -1
- package/esm/plugins/style/interface.d.ts +2 -1
- package/esm/plugins/style/ui/style-popup.js +1 -1
- package/package.json +1 -1
- package/types/config.d.ts +2 -0
- package/types/plugins/ai-assistant-pro/ai-assistant-pro.d.ts +3 -0
- package/types/plugins/ai-assistant-pro/interface/options.d.ts +40 -0
- package/types/plugins/autocomplete/config.d.ts +2 -1
- package/types/plugins/autocomplete/interface.d.ts +1 -0
- package/types/plugins/autocomplete/ui/autocomplete.d.ts +3 -1
- package/types/plugins/autocomplete/ui/item.d.ts +2 -0
- package/types/plugins/style/interface.d.ts +2 -1
|
@@ -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.11.
|
|
4
|
+
* Version: v4.11.28
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -283,11 +283,76 @@ class aiAssistantPro extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_15__
|
|
|
283
283
|
});
|
|
284
284
|
return dialog;
|
|
285
285
|
}
|
|
286
|
+
setupTextAutocomplete() {
|
|
287
|
+
const { textAutocompleteEnabled, textAutocompleteApiRequest, textAutocompleteMinQueryLength, textAutocompleteMaxSuggestions, textAutocompleteDebounceMs, textAutocompleteCacheTTL, textAutocompleteCacheMaxSize } = this.j.o.aiAssistantPro;
|
|
288
|
+
if (!textAutocompleteEnabled || !textAutocompleteApiRequest) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
// Shallow copy to avoid mutating prototype
|
|
292
|
+
this.j.o.autocomplete = {
|
|
293
|
+
...this.j.o.autocomplete,
|
|
294
|
+
displayMode: 'inline'
|
|
295
|
+
};
|
|
296
|
+
const cache = this.textAutocompleteCache;
|
|
297
|
+
let debounceTimer = null;
|
|
298
|
+
this.textAutocompleteSource = (query)=>{
|
|
299
|
+
if (query.length < textAutocompleteMinQueryLength) {
|
|
300
|
+
return [];
|
|
301
|
+
}
|
|
302
|
+
const cacheKey = `${query}:${textAutocompleteMaxSuggestions}`;
|
|
303
|
+
if (textAutocompleteCacheTTL > 0) {
|
|
304
|
+
const cached = cache.get(cacheKey);
|
|
305
|
+
if (cached && Date.now() - cached.ts < textAutocompleteCacheTTL) {
|
|
306
|
+
return cached.data.map((s)=>({
|
|
307
|
+
value: s,
|
|
308
|
+
title: s
|
|
309
|
+
}));
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (debounceTimer) {
|
|
313
|
+
clearTimeout(debounceTimer);
|
|
314
|
+
}
|
|
315
|
+
const controller = new AbortController();
|
|
316
|
+
return new Promise((resolve)=>{
|
|
317
|
+
debounceTimer = setTimeout(async ()=>{
|
|
318
|
+
try {
|
|
319
|
+
const suggestions = await textAutocompleteApiRequest(query, textAutocompleteMaxSuggestions, controller.signal);
|
|
320
|
+
if (Array.isArray(suggestions)) {
|
|
321
|
+
const result = suggestions.slice(0, textAutocompleteMaxSuggestions);
|
|
322
|
+
if (textAutocompleteCacheTTL > 0) {
|
|
323
|
+
if (cache.size >= textAutocompleteCacheMaxSize) {
|
|
324
|
+
const oldest = cache.keys().next().value;
|
|
325
|
+
if (oldest != null) {
|
|
326
|
+
cache.delete(oldest);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
cache.set(cacheKey, {
|
|
330
|
+
ts: Date.now(),
|
|
331
|
+
data: result
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
resolve(result.map((s)=>({
|
|
335
|
+
value: s,
|
|
336
|
+
title: s
|
|
337
|
+
})));
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
resolve([]);
|
|
341
|
+
} catch {
|
|
342
|
+
resolve([]);
|
|
343
|
+
}
|
|
344
|
+
}, textAutocompleteDebounceMs);
|
|
345
|
+
});
|
|
346
|
+
};
|
|
347
|
+
this.j.e.fire('registerAutocompleteSource', this.textAutocompleteSource);
|
|
348
|
+
}
|
|
286
349
|
afterInit() {
|
|
287
350
|
// Register i18n
|
|
288
351
|
(0,jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_13__.extendLang)(_langs__WEBPACK_IMPORTED_MODULE_10__);
|
|
289
352
|
// Setup event listeners
|
|
290
353
|
this.setupEventListeners();
|
|
354
|
+
// Setup text autocomplete if enabled
|
|
355
|
+
this.setupTextAutocomplete();
|
|
291
356
|
// Auto-open assistant if configured
|
|
292
357
|
this.j.async.promise((resolve)=>{
|
|
293
358
|
const { initiallyOpened, persistOpenState } = this.j.o.aiAssistantPro;
|
|
@@ -956,6 +1021,11 @@ ${selectedText}`.trim();
|
|
|
956
1021
|
await this.storage.save(updatedConversation);
|
|
957
1022
|
}
|
|
958
1023
|
beforeDestruct() {
|
|
1024
|
+
if (this.textAutocompleteSource) {
|
|
1025
|
+
this.j.e.fire('unregisterAutocompleteSource', this.textAutocompleteSource);
|
|
1026
|
+
this.textAutocompleteSource = null;
|
|
1027
|
+
}
|
|
1028
|
+
this.textAutocompleteCache.clear();
|
|
959
1029
|
this.__closeFlightMode();
|
|
960
1030
|
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_12__.cached)(this, 'toolRegistry')?.destruct();
|
|
961
1031
|
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_12__.cached)(this, 'permissionManager')?.destruct();
|
|
@@ -975,11 +1045,12 @@ ${selectedText}`.trim();
|
|
|
975
1045
|
name: 'aiCommandsPro',
|
|
976
1046
|
group: 'insert'
|
|
977
1047
|
}
|
|
978
|
-
]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__initedPromise", null), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__openedMode", null);
|
|
1048
|
+
]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "textAutocompleteSource", null), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "textAutocompleteCache", new Map()), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__initedPromise", null), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__openedMode", null);
|
|
979
1049
|
}
|
|
980
1050
|
}
|
|
981
1051
|
(0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(aiAssistantPro, "requires", [
|
|
982
|
-
'license'
|
|
1052
|
+
'license',
|
|
1053
|
+
'autocomplete'
|
|
983
1054
|
]);
|
|
984
1055
|
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
985
1056
|
jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_12__.cache
|
|
@@ -1189,6 +1260,14 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_10__.Config.prototype.aiAssistantPro =
|
|
|
1189
1260
|
closeAfterInsert: false,
|
|
1190
1261
|
enableSoundNotifications: false,
|
|
1191
1262
|
debug: false,
|
|
1263
|
+
// ===== Text Autocomplete Settings =====
|
|
1264
|
+
textAutocompleteEnabled: false,
|
|
1265
|
+
textAutocompleteApiRequest: null,
|
|
1266
|
+
textAutocompleteMinQueryLength: 3,
|
|
1267
|
+
textAutocompleteMaxSuggestions: 3,
|
|
1268
|
+
textAutocompleteDebounceMs: 500,
|
|
1269
|
+
textAutocompleteCacheTTL: 30_000,
|
|
1270
|
+
textAutocompleteCacheMaxSize: 50,
|
|
1192
1271
|
// ===== Quick Commands Settings =====
|
|
1193
1272
|
quickCommandsSilentMode: false,
|
|
1194
1273
|
quickCommandsDisplayMode: 'flight',
|
|
@@ -3684,6 +3763,29 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
3684
3763
|
return {
|
|
3685
3764
|
apiMode: 'incremental',
|
|
3686
3765
|
maxRetries: 0,
|
|
3766
|
+
textAutocompleteEnabled: true,
|
|
3767
|
+
textAutocompleteApiRequest: async (query, maxSuggestions, signal)=>{
|
|
3768
|
+
const ajax = new jodit_esm_core_request_ajax__WEBPACK_IMPORTED_MODULE_1__.Ajax({
|
|
3769
|
+
url: `${url}/ai/autocomplete?query=${encodeURIComponent(query)}&key=${encodeURIComponent(config.apiKey)}`,
|
|
3770
|
+
method: 'POST',
|
|
3771
|
+
contentType: 'application/json',
|
|
3772
|
+
data: {
|
|
3773
|
+
provider,
|
|
3774
|
+
context: {
|
|
3775
|
+
maxSuggestions
|
|
3776
|
+
}
|
|
3777
|
+
}
|
|
3778
|
+
});
|
|
3779
|
+
signal.addEventListener('abort', ()=>ajax.abort(), {
|
|
3780
|
+
once: true
|
|
3781
|
+
});
|
|
3782
|
+
const response = await ajax.send();
|
|
3783
|
+
const data = await response.json();
|
|
3784
|
+
if (data.success && data.result?.suggestions) {
|
|
3785
|
+
return data.result.suggestions;
|
|
3786
|
+
}
|
|
3787
|
+
return [];
|
|
3788
|
+
},
|
|
3687
3789
|
apiRequest: async (context, signal)=>{
|
|
3688
3790
|
const ajax = new jodit_esm_core_request_ajax__WEBPACK_IMPORTED_MODULE_1__.Ajax({
|
|
3689
3791
|
url: `${url}/ai/request?key=${encodeURIComponent(config.apiKey)}`,
|