jodit-pro 4.13.4 → 4.13.7
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.css +1 -1
- package/es2015/jodit.fat.min.js +10 -10
- package/es2015/jodit.js +19 -5
- 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 +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 +4 -1
- package/es2015/plugins/finder/finder.js +503 -112
- package/es2015/plugins/finder/finder.min.css +1 -1
- package/es2015/plugins/finder/finder.min.js +7 -7
- 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 +29 -11
- package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +2 -2
- 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.css +1 -1
- package/es2018/jodit.fat.min.js +21 -21
- package/es2018/jodit.min.js +3 -3
- 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.css +1 -1
- package/es2018/plugins/finder/finder.min.js +13 -13
- 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 +2 -2
- 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.css +1 -1
- package/es2021/jodit.fat.min.js +20 -20
- package/es2021/jodit.js +19 -5
- 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 +4 -1
- package/es2021/plugins/finder/finder.js +501 -112
- package/es2021/plugins/finder/finder.min.css +1 -1
- package/es2021/plugins/finder/finder.min.js +13 -13
- 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 +29 -11
- package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +4 -4
- 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.css +1 -1
- package/es2021.en/jodit.fat.min.js +11 -11
- package/es2021.en/jodit.js +19 -5
- 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 +4 -1
- package/es2021.en/plugins/finder/finder.js +491 -110
- package/es2021.en/plugins/finder/finder.min.css +1 -1
- package/es2021.en/plugins/finder/finder.min.js +13 -13
- 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 +29 -11
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +4 -4
- 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.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +19 -5
- 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 +4 -1
- package/es5/plugins/finder/finder.js +691 -116
- package/es5/plugins/finder/finder.min.css +1 -1
- package/es5/plugins/finder/finder.min.js +2 -2
- 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 +30 -12
- package/es5/plugins/image-editor-pro/image-editor-pro.min.js +2 -2
- 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/esm/plugins/finder/browser.d.ts +21 -3
- package/esm/plugins/finder/browser.js +1 -1
- package/esm/plugins/finder/config.js +1 -1
- package/esm/plugins/finder/helpers/context-menu.d.ts +6 -0
- package/esm/plugins/finder/helpers/context-menu.js +1 -1
- package/esm/plugins/finder/helpers/data-provider.d.ts +26 -0
- package/esm/plugins/finder/helpers/data-provider.js +1 -0
- package/esm/plugins/finder/helpers/helpers.d.ts +27 -0
- package/esm/plugins/finder/helpers/helpers.js +1 -1
- package/esm/plugins/finder/helpers/persistent-store.d.ts +13 -8
- package/esm/plugins/finder/helpers/persistent-store.js +1 -1
- package/esm/plugins/finder/interface.d.ts +24 -1
- package/esm/plugins/finder/langs/de.d.ts +4 -0
- package/esm/plugins/finder/langs/de.js +1 -1
- package/esm/plugins/finder/langs/ru.d.ts +4 -0
- package/esm/plugins/finder/langs/ru.js +1 -1
- package/esm/plugins/finder/ui/header/header.d.ts +7 -1
- package/esm/plugins/finder/ui/header/header.js +1 -1
- package/esm/plugins/finder/ui/panel/panel.d.ts +5 -0
- package/esm/plugins/finder/ui/panel/panel.js +2 -2
- package/esm/plugins/finder/ui/virtual-scroll/virtual-scroll.d.ts +5 -0
- package/esm/plugins/finder/ui/virtual-scroll/virtual-scroll.js +2 -2
- package/esm/plugins/image-editor-pro/adapter.js +1 -1
- package/esm/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/package.json +1 -1
- package/types/plugins/finder/browser.d.ts +21 -3
- package/types/plugins/finder/helpers/context-menu.d.ts +6 -0
- package/types/plugins/finder/helpers/data-provider.d.ts +26 -0
- package/types/plugins/finder/helpers/helpers.d.ts +27 -0
- package/types/plugins/finder/helpers/persistent-store.d.ts +13 -8
- package/types/plugins/finder/interface.d.ts +24 -1
- package/types/plugins/finder/langs/de.d.ts +4 -0
- package/types/plugins/finder/langs/ru.d.ts +4 -0
- package/types/plugins/finder/ui/header/header.d.ts +7 -1
- package/types/plugins/finder/ui/panel/panel.d.ts +5 -0
- package/types/plugins/finder/ui/virtual-scroll/virtual-scroll.d.ts +5 -0
package/es5/polyfills.fat.min.js
CHANGED
package/es5/polyfills.js
CHANGED
package/es5/polyfills.min.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
import type { CanUndef, IFileBrowserAnswer, IFileBrowserCallBackData,
|
|
6
|
+
import type { CanUndef, IFileBrowserAnswer, IFileBrowserCallBackData, IFileBrowserItemWrapper, IMessages, IProgressBar, IUIGroup } from "jodit/esm/types/index";
|
|
7
7
|
import "./ui/assets/icons/index";
|
|
8
8
|
import { ContextMenuManager } from "./helpers/context-menu";
|
|
9
9
|
import { LoadingManager } from "./helpers/loading-manager";
|
|
@@ -12,11 +12,11 @@ import { StateManager } from "./helpers/state-manager";
|
|
|
12
12
|
import { UIBrowserPanel } from "./ui/panel/panel";
|
|
13
13
|
import { Dlgs } from "jodit/esm/core/traits/dlgs";
|
|
14
14
|
import { Dialog } from "jodit/esm/modules/dialog/index";
|
|
15
|
-
import type { IFileBrowserOptionsPro, IFileBrowserPro, IFileBrowserStatePro, IFileBrowserTreeItemPro, IHistoryManager } from "./interface";
|
|
15
|
+
import type { IFileBrowserDataProviderPro, IFileBrowserOptionsPro, IFileBrowserPro, IFileBrowserStatePro, IFileBrowserTreeItemPro, IFinderPasteTarget, IHistoryManager } from "./interface";
|
|
16
16
|
export interface FileBrowserPro extends Dlgs {
|
|
17
17
|
}
|
|
18
18
|
export declare class FileBrowserPro extends Dialog implements IFileBrowserPro {
|
|
19
|
-
readonly dataProvider:
|
|
19
|
+
readonly dataProvider: IFileBrowserDataProviderPro;
|
|
20
20
|
readonly state: IFileBrowserStatePro & import("jodit/esm/types/index").IObservable;
|
|
21
21
|
readonly persistent: PersistentStore;
|
|
22
22
|
loadingManager: LoadingManager;
|
|
@@ -47,6 +47,14 @@ export declare class FileBrowserPro extends Dialog implements IFileBrowserPro {
|
|
|
47
47
|
constructor(options?: IFileBrowserOptionsPro);
|
|
48
48
|
/** @override */
|
|
49
49
|
protected addDisclaimer(elm: HTMLElement): void;
|
|
50
|
+
/**
|
|
51
|
+
* Show status toasts in the lower right corner of the finder window.
|
|
52
|
+
* The default view container of a dialog is a zero-size anchor
|
|
53
|
+
* (`.jodit-dialog`), so messages attached to it appear in a random
|
|
54
|
+
* place of the page instead of inside the finder.
|
|
55
|
+
* @override
|
|
56
|
+
*/
|
|
57
|
+
protected getMessageModule(): IMessages;
|
|
50
58
|
open(callback?: CanUndef<(_: IFileBrowserCallBackData) => void>, onlyImages?: boolean): Promise<void>;
|
|
51
59
|
/**
|
|
52
60
|
* Resize handler
|
|
@@ -59,6 +67,16 @@ export declare class FileBrowserPro extends Dialog implements IFileBrowserPro {
|
|
|
59
67
|
private registerGlobalListeners;
|
|
60
68
|
private onKeyPress;
|
|
61
69
|
private removeGlobalListeners;
|
|
70
|
+
protected onCut(folder?: IFileBrowserTreeItemPro): void;
|
|
71
|
+
protected onCopy(folder?: IFileBrowserTreeItemPro): void;
|
|
72
|
+
private __fillClipboard;
|
|
73
|
+
/**
|
|
74
|
+
* The current folder as a paste target (used by the toolbar button and
|
|
75
|
+
* the empty-area context menu)
|
|
76
|
+
*/
|
|
77
|
+
getPasteTarget(): IFinderPasteTarget;
|
|
78
|
+
canPaste(target: IFinderPasteTarget): boolean;
|
|
79
|
+
protected onPaste(target: IFinderPasteTarget): void;
|
|
62
80
|
protected onFileRemove(): void;
|
|
63
81
|
private __itemsRemove;
|
|
64
82
|
private __removeFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var M=Object.defineProperty;var p=(m,e)=>M(m,"name",{value:e,configurable:!0});var u,i=function(m,e,t,s){var o=arguments.length,n=o<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(m,e,t,s);else for(var l=m.length-1;l>=0;l--)(h=m[l])&&(n=(o<3?h(n):o>3?h(e,t,n):h(e,t))||n);return o>3&&n&&Object.defineProperty(e,t,n),n};import"./ui/assets/icons/index.js";import{ContextMenuManager as S}from"./helpers/context-menu.js";import{parentPath as c}from"./helpers/helpers.js";import{HistoryManager as F}from"./helpers/history-manager.js";import{LoadingManager as _}from"./helpers/loading-manager.js";import{PersistentStore as C}from"./helpers/persistent-store.js";import{StateManager as I}from"./helpers/state-manager.js";import{UIBrowserHeader as B}from"./ui/header/header.js";import{UILightBox as O}from"./ui/lightboox/lightbox.js";import{UIBrowserPanel as L}from"./ui/panel/panel.js";import{UIProgress as x}from"./ui/progress/progress.js";import{Config as f}from"jodit/esm/config.js";import{IS_PROD as D,KEY_DELETE as k,KEY_DOWN as b,KEY_ENTER as H,KEY_LEFT as y,KEY_RIGHT as g,KEY_UP as U}from"jodit/esm/core/constants.js";import{autobind as d,cache as K,component as N,derive as z,watch as a}from"jodit/esm/core/decorators/index.js";import{ConfigProto as v,css as T,isAbortError as P,isString as E,isValidName as R}from"jodit/esm/core/helpers/index.js";import{Dlgs as j}from"jodit/esm/core/traits/dlgs.js";import{Dom as W,observable as G}from"jodit/esm/modules/index.js";import{Dialog as Y}from"jodit/esm/modules/dialog/index.js";import{makeDataProvider as A}from"jodit/esm/modules/file-browser/factories.js";import{openImageEditor as J}from"jodit/esm/modules/image-editor/image-editor.js";import{JoditPro as w}from"../../jodit-pro.js";import{license as V}from"../license/license.js";let r=(u=class extends Y{className(){return"FileBrowserPro"}lock(e="any"){return this.container.classList.add("jodit_disabled"),super.lock(e)}unlock(){return this.container.classList.remove("jodit_disabled"),super.unlock()}status(e,t=!(e instanceof Error)){P(e)||(!D&&!E(e)&&console.error(e),this.message.message(E(e)?e:e.message,t?"success":"error",this.options.howLongShowMsg))}errorHandler(e){P(e)||this.status(e instanceof Error?this.i18n(e.message):this.dataProvider.getMessage(e),!1)}get progressbar(){return new x(this,this.stateManager.state)}constructor(e){super(v(Object.assign(e||{},{resizable:!0,draggable:!0,toolbarButtons:e?.toolbarButtons||f.defaultOptions.filebrowser.buttons,buttons:w.atom(["filebrowser.settings","fullsize","dialog.close"])}),f.defaultOptions.filebrowser)),this.dataProvider=A(this,this.options),this.state=G({onSelectCallBack:null,theme:"default",showSideBar:!0,showFavorites:!0,showSettings:!1,showPreview:!1,withFolders:!0,foldersPosition:"bottom",info:"",metaInfo:null,currentPath:"",currentSource:"",currentBaseUrl:"",tree:[],activeElements:[],favorites:[],progress:0,lastSelectedIndex:0,elements:[],messages:[],sources:[],view:"tiles",tileSize:"default",sortBy:"name-asc",filterWord:"",onlyImages:!1}),this.persistent=new C(this,this.state),this.loadingManager=new _(this,this.state),this.stateManager=new I(this.state),this.historyManager=new F(this,this.state),this.contextMenuManager=new S(this),this.header=new B(this,this.options,this.stateManager),this.panel=new L(this,this.stateManager),this.files=this.panel,this.tree=this.panel,V.make(this),!this.persistent.theme&&this.options.theme&&(this.persistent.theme=this.options.theme),this.panel.append(this.progressbar),this.toolbar.setMod("mode","header"),this.setSize(Math.min(this.options.width,screen.width),Math.min(this.options.height,screen.height)).setHeader(this.header),this.onResizeWindow(),this.initUploader(),this.onChangeTheme(),this.fullFillOptions(),this.dataProvider.onProgress(t=>{t===0&&(t=30),this.state.progress=t}),this.e.on("beforeClose",this.removeGlobalListeners),this.e.fire("afterInit"),w.prototype.afterInitHook.call(this)}addDisclaimer(e){this.dialog.appendChild(e)}async open(e=this.o.defaultCallback,t){return this.state.onlyImages=!!t,this.prepareOpening(e),super.open(this.panel.container),this.e.fire("update.filebrowser")}onResizeWindow(){T(this.dialog,{maxWidth:screen.width,minHeight:Math.min(this.options.height,screen.height),minWidth:Math.min(this.options.width,screen.width)})}onChangePath(){const{currentPath:e,currentSource:t}=this.state;this.uploader.setPath(e),this.uploader.setSource(t)}onChangeTheme(){this.setMod("theme",this.state.theme),this.header.setMod("theme",this.state.theme),this.panel.setMod("theme",this.state.theme),this.options.theme=this.state.theme}onToggleSettings(){this.state.showSettings=!this.state.showSettings}prepareOpening(e){this.registerGlobalListeners(),e&&(this.state.onSelectCallBack=t=>{this.close(),e(t)}),this.persistent.syncWithState()}registerGlobalListeners(){this.e.on(this.ow,"keydown",this.onKeyPress)}onKeyPress(e){const{activeElement:t}=this.od;if(!this.state.activeElements.length||!t||!W.isOrContains(this.panel.items.container,t))return;const s=this.state.elements;switch(e.key){case H:return this.onChooseItems();case k:return this.onFileRemove();case g:case y:case b:case U:{const o=e.key===g||e.key===b,n=this.state.lastSelectedIndex;let h;if([g,y].includes(e.key))o?h=s[n+1]?n+1:0:h=s[n-1]?n-1:s.length-1;else{const{countInRow:l}=this.panel;h=Math.round(((n+1)/l+(o?1:-1))*l-1)}return s[h]&&this.stateManager.addActive(s[h],e.shiftKey),!1}}}removeGlobalListeners(){this.e.off(this.ow,"keydown",this.onKeyPress)}onFileRemove(){this.state.activeElements.length&&this.confirm("Are you sure?","Delete",e=>{e&&this.__itemsRemove(this.state.activeElements)}).bindDestruct(this)}__itemsRemove(e){if(!e.length)return Promise.resolve();const t=[];return e.forEach(s=>{var o;t.push(s.type==="folder"?this.__folderRemove(c(s.path),(o=s.name)!==null&&o!==void 0?o:"",s.sourceName):this.__removeFile(s.file||s.name||"",s.sourceName))}),this.state.activeElements.forEach(s=>{this.stateManager.isFavorite(s)&&this.stateManager.toggleFavorite(s)}),this.state.activeElements=[],Promise.allSettled(t).then(()=>Promise.allSettled([this.loadingManager.loadItems(),this.loadingManager.loadFolders()]))}__removeFile(e,t){return this.dataProvider.fileRemove(this.state.currentPath,e,t).then(s=>{this.status(s||this.i18n('File "%s" was deleted',e),!0)}).catch(this.status)}__folderRemove(e,t,s){return this.dataProvider.folderRemove(e,t,s).then(o=>{this.status(o||this.i18n('Folder "%s" was deleted',t),!0),this.state.currentPath===e&&(this.state.currentPath=c(e),this.state.currentSource=s)}).catch(this.status)}onFileEdit(){if(this.state.activeElements.length===1){const[e]=this.state.activeElements;J.call(this,e.fileURL,e.file||"",e.path,e.sourceName,void 0,this.status)}}onFolderRename(e){this.prompt("Enter new name","Rename",t=>{if(!R(t)||t===e.name)return this.status(this.i18n("Enter new name")),!1;this.dataProvider.folderRename(c(e.path),e.name,t,e.sourceName).then(s=>{this.state.activeElements=[],this.status(s,!0),this.state.currentPath=c(e.path)+"/"+t,this.state.currentSource=e.sourceName,this.historyManager.updateCurrent(),this.loadingManager.loadFolders()}).catch(this.status)},this.i18n("type name"),e.name).bindDestruct(this)}onFolderRemove(e){this.confirm("Are you sure?","Delete",t=>{t&&this.__itemsRemove([{type:"folder",name:e.name,path:e.path,sourceName:e.sourceName}])}).bindDestruct(this)}onFolderCreate(e){this.prompt("Enter Directory name","Create directory",t=>{const s=e.path||"/";this.dataProvider.createFolder(t,e.path||"/",e.sourceName).then(()=>{this.state.currentSource===e.sourceName&&this.state.currentPath===s?this.e.fire("update.filebrowser"):(this.state.currentSource=e.sourceName,this.state.currentPath=s),this.historyManager.updateCurrent()},this.status)},this.i18n("type name")).bindDestruct(this)}onFileRename(e){const t=e.file||e.name||"";this.state.activeElements.length===1&&t&&this.prompt("Enter new name","Rename",s=>{if(!R(s))return this.status(this.i18n("Enter new name")),!1;this.dataProvider.fileRename(this.state.currentPath,t,s,this.state.currentSource).then(o=>{this.state.activeElements=[],this.status(o,!0),this.loadingManager.loadItems()}).catch(this.status)},this.i18n("type name"),t).bindDestruct(this)}onChooseItems(){const e=this.stateManager.state.activeElements;if(e.length){if(e[0].type==="folder"){this.state.currentPath=this.state.currentPath+"/"+e[0].name,this.state.currentSource=e[0].sourceName,this.e.fire("afterOpenFolder.filebrowser");return}this.state.onSelectCallBack?this.stateManager.callSelectHandler():this.onOpenLightBox(e[0])}}onOpenLightBox(e){O.open(this,e,this.state.elements)}initUploader(){const e=this,t=v(e.o.uploader||{},f.defaultOptions.uploader),s=p(()=>this.loadingManager.loadItems(),"uploadHandler");e.uploader=e.getInstance("Uploader",t),e.uploader.bind(e.panel.container,s,e.errorHandler),e.e.on("bindUploader.filebrowser",o=>{e.uploader.bind(o,s,e.errorHandler)})}destruct(){this.removeGlobalListeners(),this.header.destruct(),this.panel.destruct(),super.destruct()}fullFillOptions(){["getLocalFileByUrl","crop","resize","create","fileMove","folderMove","fileRename","folderRename","fileRemove","folderRemove","folder","items","permissions"].forEach(t=>{this.options[t]!=null&&(this.options[t]=v(this.options[t],this.o.ajax))})}},p(u,"FileBrowserPro"),u);i([d],r.prototype,"status",null),i([d],r.prototype,"errorHandler",null),i([K],r.prototype,"progressbar",null),i([a(":resize",{context:window})],r.prototype,"onResizeWindow",null),i([a(["state.currentPath","state.currentSource"])],r.prototype,"onChangePath",null),i([a("state.theme")],r.prototype,"onChangeTheme",null),i([a(":toggleSettings.filebrowser")],r.prototype,"onToggleSettings",null),i([d],r.prototype,"onKeyPress",null),i([d],r.prototype,"removeGlobalListeners",null),i([a(":fileRemove.filebrowser")],r.prototype,"onFileRemove",null),i([a(":edit.filebrowser")],r.prototype,"onFileEdit",null),i([a(":folderRename.filebrowser")],r.prototype,"onFolderRename",null),i([a(":folderRemove.filebrowser")],r.prototype,"onFolderRemove",null),i([a(":folderCreate.filebrowser")],r.prototype,"onFolderCreate",null),i([a(":fileRename.filebrowser")],r.prototype,"onFileRename",null),i([a(":select.filebrowser")],r.prototype,"onChooseItems",null),i([a(":openLightBox.filebrowser")],r.prototype,"onOpenLightBox",null),r=i([N,z(j)],r);Object.defineProperty(w.modules,"FileBrowserPro",{value:r,writable:!1,enumerable:!0,configurable:!0});export{r as FileBrowserPro};
|
|
1
|
+
var S=Object.defineProperty;var d=(u,e)=>S(u,"name",{value:e,configurable:!0});var c,a=function(u,e,t,s){var i=arguments.length,n=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(u,e,t,s);else for(var h=u.length-1;h>=0;h--)(r=u[h])&&(n=(i<3?r(n):i>3?r(e,t,n):r(e,t))||n);return i>3&&n&&Object.defineProperty(e,t,n),n};import"./ui/assets/icons/index.js";import{ContextMenuManager as C}from"./helpers/context-menu.js";import{DataProviderPro as _}from"./helpers/data-provider.js";import{folderFullPath as I,normalizeItemPath as f,parentPath as m}from"./helpers/helpers.js";import{HistoryManager as O}from"./helpers/history-manager.js";import{LoadingManager as B}from"./helpers/loading-manager.js";import{PersistentStore as L}from"./helpers/persistent-store.js";import{StateManager as N}from"./helpers/state-manager.js";import{UIBrowserHeader as x}from"./ui/header/header.js";import{UILightBox as D}from"./ui/lightboox/lightbox.js";import{UIBrowserPanel as U}from"./ui/panel/panel.js";import{UIProgress as H}from"./ui/progress/progress.js";import{Config as g}from"jodit/esm/config.js";import{IS_PROD as k,KEY_DELETE as K,KEY_DOWN as P,KEY_ENTER as T,KEY_LEFT as M,KEY_RIGHT as v,KEY_UP as z}from"jodit/esm/core/constants.js";import{autobind as p,cache as W,component as j,derive as A,watch as l}from"jodit/esm/core/decorators/index.js";import{ConfigProto as y,css as G,isAbortError as E,isString as R,isValidName as F}from"jodit/esm/core/helpers/index.js";import{Dlgs as Y}from"jodit/esm/core/traits/dlgs.js";import{Dom as J,observable as q}from"jodit/esm/modules/index.js";import{Dialog as V}from"jodit/esm/modules/dialog/index.js";import{DEFAULT_SOURCE_NAME as Q}from"jodit/esm/modules/file-browser/data-provider.js";import{openImageEditor as X}from"jodit/esm/modules/image-editor/image-editor.js";import{JoditPro as w}from"../../jodit-pro.js";import{license as Z}from"../license/license.js";let o=(c=class extends V{className(){return"FileBrowserPro"}lock(e="any"){return this.container.classList.add("jodit_disabled"),super.lock(e)}unlock(){return this.container.classList.remove("jodit_disabled"),super.unlock()}status(e,t=!(e instanceof Error)){E(e)||(!k&&!R(e)&&console.error(e),this.message.message(R(e)?e:e.message,t?"success":"error",this.options.howLongShowMsg))}errorHandler(e){E(e)||this.status(e instanceof Error?this.i18n(e.message):this.dataProvider.getMessage(e),!1)}get progressbar(){return new H(this,this.stateManager.state)}constructor(e){super(y(Object.assign(e||{},{resizable:!0,draggable:!0,toolbarButtons:e?.toolbarButtons||g.defaultOptions.filebrowser.buttons,buttons:w.atom(["filebrowser.settings","fullsize","dialog.close"])}),g.defaultOptions.filebrowser)),this.dataProvider=new _(this,this.options),this.state=q({onSelectCallBack:null,theme:"default",showSideBar:!0,showFavorites:!0,showSettings:!1,showPreview:!1,withFolders:!0,foldersPosition:"bottom",info:"",metaInfo:null,currentPath:"",currentSource:"",currentBaseUrl:"",tree:[],activeElements:[],favorites:[],clipboard:[],progress:0,lastSelectedIndex:0,elements:[],messages:[],sources:[],view:"tiles",tileSize:"default",sortBy:"name-asc",filterWord:"",onlyImages:!1}),this.persistent=new L(this,this.state),this.loadingManager=new B(this,this.state),this.stateManager=new N(this.state),this.historyManager=new O(this,this.state),this.contextMenuManager=new C(this),this.header=new x(this,this.options,this.stateManager),this.panel=new U(this,this.stateManager),this.files=this.panel,this.tree=this.panel,Z.make(this),!this.persistent.theme&&this.options.theme&&(this.persistent.theme=this.options.theme),this.panel.append(this.progressbar),this.toolbar.setMod("mode","header"),this.setSize(Math.min(this.options.width,screen.width),Math.min(this.options.height,screen.height)).setHeader(this.header),this.onResizeWindow(),this.initUploader(),this.onChangeTheme(),this.fullFillOptions(),this.dataProvider.onProgress(t=>{t===0&&(t=30),this.state.progress=t}),this.e.on("beforeClose",this.removeGlobalListeners),this.e.fire("afterInit"),w.prototype.afterInitHook.call(this)}addDisclaimer(e){this.dialog.appendChild(e)}getMessageModule(){return super.getMessageModule(this.dialog)}async open(e=this.o.defaultCallback,t){return this.state.onlyImages=!!t,this.prepareOpening(e),super.open(this.panel.container),this.e.fire("update.filebrowser")}onResizeWindow(){G(this.dialog,{maxWidth:screen.width,minHeight:Math.min(this.options.height,screen.height),minWidth:Math.min(this.options.width,screen.width)})}onChangePath(){const{currentPath:e,currentSource:t}=this.state;this.uploader.setPath(e),this.uploader.setSource(t)}onChangeTheme(){this.setMod("theme",this.state.theme),this.header.setMod("theme",this.state.theme),this.panel.setMod("theme",this.state.theme),this.options.theme=this.state.theme}onToggleSettings(){this.state.showSettings=!this.state.showSettings}prepareOpening(e){this.registerGlobalListeners(),e&&(this.state.onSelectCallBack=t=>{this.close(),e(t)}),this.persistent.syncWithState()}registerGlobalListeners(){this.e.on(this.ow,"keydown",this.onKeyPress)}onKeyPress(e){const{activeElement:t}=this.od;if(!this.state.activeElements.length||!t||!J.isOrContains(this.panel.items.container,t))return;const s=this.state.elements;switch(e.key){case T:return this.onChooseItems();case K:return this.onFileRemove();case v:case M:case P:case z:{const i=e.key===v||e.key===P,n=this.state.lastSelectedIndex;let r;if([v,M].includes(e.key))i?r=s[n+1]?n+1:0:r=s[n-1]?n-1:s.length-1;else{const{countInRow:h}=this.panel;r=Math.round(((n+1)/h+(i?1:-1))*h-1)}return s[r]&&this.stateManager.addActive(s[r],e.shiftKey),!1}}}removeGlobalListeners(){this.e.off(this.ow,"keydown",this.onKeyPress)}onCut(e){this.__fillClipboard("cut",e)}onCopy(e){this.__fillClipboard("copy",e)}__fillClipboard(e,t){this.state.clipboard=t?[{mode:e,type:"folder",from:I(t),name:t.name,sourceName:t.sourceName}]:this.state.activeElements.filter(s=>s.file||s.name).map(s=>({mode:e,type:s.type==="folder"?"folder":"file",from:f(s.path+(s.file||s.name||"")),name:s.file||s.name||"",sourceName:s.sourceName}))}getPasteTarget(){var e;const{currentPath:t,currentSource:s,sources:i}=this.state;return{path:t||"/",sourceName:s||((e=i[0])===null||e===void 0?void 0:e.name)||Q}}canPaste(e){const t=this.state.clipboard;if(!t.length||t.some(r=>r.sourceName!==e.sourceName))return!1;const s=this.dataProvider,i=d(r=>r.mode==="copy"?s.canCopy(r.type==="file"):s.canI(r.type==="file"?"FileMove":"FolderMove"),"allowed");if(!t.every(i))return!1;const n=f(e.path);return!t.some(r=>r.type==="folder"&&(n===r.from||n.startsWith(r.from+"/")))}onPaste(e){if(!this.canPaste(e))return;const t=this.state.clipboard;t.some(r=>r.mode==="cut")&&(this.state.clipboard=[]);const s=f(e.path),i=d(async()=>{let r=0;for(const h of t){const b=h.type==="file";if(h.mode==="cut"){if(m(h.from)===s)continue;await this.dataProvider.move(h.from,s,e.sourceName,b)}else await this.dataProvider.copy(h.from,s,e.sourceName,b);r+=1}return r},"pasteSequentially"),n=t.every(r=>r.mode==="copy");i().then(r=>{r>0&&this.status(this.i18n(n?"%s item(s) were copied":"%s item(s) were moved",String(r)),!0)}).catch(this.status).finally(()=>(this.state.activeElements=[],Promise.allSettled([this.loadingManager.loadItems(),this.loadingManager.loadFolders()])))}onFileRemove(){this.state.activeElements.length&&this.confirm("Are you sure?","Delete",e=>{e&&this.__itemsRemove(this.state.activeElements)}).bindDestruct(this)}__itemsRemove(e){if(!e.length)return Promise.resolve();const t=[];return e.forEach(s=>{var i;t.push(s.type==="folder"?this.__folderRemove(m(s.path),(i=s.name)!==null&&i!==void 0?i:"",s.sourceName):this.__removeFile(s.file||s.name||"",s.sourceName))}),this.state.activeElements.forEach(s=>{this.stateManager.isFavorite(s)&&this.stateManager.toggleFavorite(s)}),this.state.activeElements=[],Promise.allSettled(t).then(()=>Promise.allSettled([this.loadingManager.loadItems(),this.loadingManager.loadFolders()]))}__removeFile(e,t){return this.dataProvider.fileRemove(this.state.currentPath,e,t).then(s=>{this.status(s||this.i18n('File "%s" was deleted',e),!0)}).catch(this.status)}__folderRemove(e,t,s){return this.dataProvider.folderRemove(e,t,s).then(i=>{this.status(i||this.i18n('Folder "%s" was deleted',t),!0),this.state.currentPath===e&&(this.state.currentPath=m(e),this.state.currentSource=s)}).catch(this.status)}onFileEdit(){if(this.state.activeElements.length===1){const[e]=this.state.activeElements;X.call(this,e.fileURL,e.file||"",e.path,e.sourceName,void 0,this.status)}}onFolderRename(e){this.prompt("Enter new name","Rename",t=>{if(!F(t)||t===e.name)return this.status(this.i18n("Enter new name")),!1;this.dataProvider.folderRename(m(e.path),e.name,t,e.sourceName).then(s=>{this.state.activeElements=[],this.status(s,!0),this.state.currentPath=m(e.path)+"/"+t,this.state.currentSource=e.sourceName,this.historyManager.updateCurrent(),this.loadingManager.loadFolders()}).catch(this.status)},this.i18n("type name"),e.name).bindDestruct(this)}onFolderRemove(e){this.confirm("Are you sure?","Delete",t=>{t&&this.__itemsRemove([{type:"folder",name:e.name,path:e.path,sourceName:e.sourceName}])}).bindDestruct(this)}onFolderCreate(e){this.prompt("Enter Directory name","Create directory",t=>{const s=e.path||"/";this.dataProvider.createFolder(t,e.path||"/",e.sourceName).then(()=>{this.state.currentSource===e.sourceName&&this.state.currentPath===s?this.e.fire("update.filebrowser"):(this.state.currentSource=e.sourceName,this.state.currentPath=s),this.historyManager.updateCurrent()},this.status)},this.i18n("type name")).bindDestruct(this)}onFileRename(e){const t=e.file||e.name||"";this.state.activeElements.length===1&&t&&this.prompt("Enter new name","Rename",s=>{if(!F(s))return this.status(this.i18n("Enter new name")),!1;this.dataProvider.fileRename(this.state.currentPath,t,s,this.state.currentSource).then(i=>{this.state.activeElements=[],this.status(i,!0),this.loadingManager.loadItems()}).catch(this.status)},this.i18n("type name"),t).bindDestruct(this)}onChooseItems(){const e=this.stateManager.state.activeElements;if(e.length){if(e[0].type==="folder"){this.state.currentPath=this.state.currentPath+"/"+e[0].name,this.state.currentSource=e[0].sourceName,this.e.fire("afterOpenFolder.filebrowser");return}this.state.onSelectCallBack?this.stateManager.callSelectHandler():this.onOpenLightBox(e[0])}}onOpenLightBox(e){D.open(this,e,this.state.elements)}initUploader(){const e=this,t=y(e.o.uploader||{},g.defaultOptions.uploader),s=d(()=>this.loadingManager.loadItems(),"uploadHandler");e.uploader=e.getInstance("Uploader",t),e.uploader.bind(e.panel.container,s,e.errorHandler),e.e.on("bindUploader.filebrowser",i=>{e.uploader.bind(i,s,e.errorHandler)})}destruct(){this.removeGlobalListeners(),this.header.destruct(),this.panel.destruct(),super.destruct()}fullFillOptions(){["getLocalFileByUrl","crop","resize","create","fileMove","folderMove","fileCopy","folderCopy","fileRename","folderRename","fileRemove","folderRemove","folder","items","permissions"].forEach(t=>{this.options[t]!=null&&(this.options[t]=y(this.options[t],this.o.ajax))})}},d(c,"FileBrowserPro"),c);a([p],o.prototype,"status",null),a([p],o.prototype,"errorHandler",null),a([W],o.prototype,"progressbar",null),a([l(":resize",{context:window})],o.prototype,"onResizeWindow",null),a([l(["state.currentPath","state.currentSource"])],o.prototype,"onChangePath",null),a([l("state.theme")],o.prototype,"onChangeTheme",null),a([l(":toggleSettings.filebrowser")],o.prototype,"onToggleSettings",null),a([p],o.prototype,"onKeyPress",null),a([p],o.prototype,"removeGlobalListeners",null),a([l(":cut.filebrowser")],o.prototype,"onCut",null),a([l(":copy.filebrowser")],o.prototype,"onCopy",null),a([l(":paste.filebrowser")],o.prototype,"onPaste",null),a([l(":fileRemove.filebrowser")],o.prototype,"onFileRemove",null),a([l(":edit.filebrowser")],o.prototype,"onFileEdit",null),a([l(":folderRename.filebrowser")],o.prototype,"onFolderRename",null),a([l(":folderRemove.filebrowser")],o.prototype,"onFolderRemove",null),a([l(":folderCreate.filebrowser")],o.prototype,"onFolderCreate",null),a([l(":fileRename.filebrowser")],o.prototype,"onFileRename",null),a([l(":select.filebrowser")],o.prototype,"onChooseItems",null),a([l(":openLightBox.filebrowser")],o.prototype,"onOpenLightBox",null),o=a([j,A(Y)],o);Object.defineProperty(w.modules,"FileBrowserPro",{value:o,writable:!1,enumerable:!0,configurable:!0});export{o as FileBrowserPro};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var s=Object.defineProperty;var o=(e,
|
|
1
|
+
var s=Object.defineProperty;var o=(e,t)=>s(e,"name",{value:t,configurable:!0});import*as a from"./langs/index.js";import{Config as i}from"jodit/esm/config.js";import{extendLang as l}from"jodit/esm/core/global.js";const r=i.prototype.controls.filebrowser;r.settings={icon:"settings",tooltip:"Settings",exec:o(e=>{var t;((t=e.parent)!==null&&t!==void 0?t:e).e.fire("toggleSettings.filebrowser")},"exec")},r.home={icon:"home",tooltip:"Home",exec:o(e=>{e.e.fire("goHome.filebrowser")},"exec")},r.preview={icon:"eye",tooltip:"Preview",isDisabled(e){return e.state.activeElements.length===0},exec:o(e=>{e.e.fire("togglePreview.filebrowser")},"exec")},r.next={icon:"angle-right",tooltip:"History next",isDisabled:o(e=>!e.historyManager.canNext(),"isDisabled"),exec:o(e=>{e.historyManager.next()},"exec")},r.previous={icon:"angle-left",tooltip:"History previous",isDisabled:o(e=>!e.historyManager.canPrevious(),"isDisabled"),exec:o(e=>{e.historyManager.previous()},"exec")},r["new-folder"]={icon:"new-folder",exec:o(e=>{e.e.fire("folderCreate.filebrowser",{path:e.state.currentPath,sourceName:e.state.currentSource})},"exec"),tooltip:"New folder"},r.paste={icon:"paste",tooltip:"Paste",isDisabled(e){return!e.canPaste(e.getPasteTarget())},exec:o(e=>{e.e.fire("paste.filebrowser",e.getPasteTarget())},"exec")},Object.assign(i.prototype.filebrowser,{buttons:["filebrowser.home","filebrowser.previous","filebrowser.next","|","filebrowser.upload","filebrowser.new-folder","filebrowser.paste","filebrowser.remove","filebrowser.update","filebrowser.select","filebrowser.edit","|","filebrowser.preview","about"],sort:!1,pixelOffsetLoadNewChunk:300,width:900,height:400,previewOfficeURL:"https://view.officeapps.live.com/op/view.aspx?src=",fileCopy:{data:{action:"fileCopy"}},folderCopy:{data:{action:"folderCopy"}}}),l(a);
|
|
@@ -12,8 +12,14 @@ export declare class ContextMenuManager extends ViewComponent<IFileBrowserPro> {
|
|
|
12
12
|
protected onFolderContext(item: IFileBrowserTreeItemPro, e: MouseEvent): void | false;
|
|
13
13
|
protected onItemContext(item: IFileBrowserItemWrapper, _: unknown, e: MouseEvent): void | false;
|
|
14
14
|
protected onSourceContext(item: IFileBrowserTreeItemPro, e: MouseEvent): void | false;
|
|
15
|
+
protected onAreaContext(e: MouseEvent): void | false;
|
|
15
16
|
private buildContextItemMenu;
|
|
16
17
|
private getItemContextActions;
|
|
17
18
|
private getFolderContextActions;
|
|
18
19
|
private getSourceContextActions;
|
|
20
|
+
/**
|
|
21
|
+
* Context menu of an empty spot of the file list — actions apply to the
|
|
22
|
+
* currently opened folder
|
|
23
|
+
*/
|
|
24
|
+
private getAreaContextActions;
|
|
19
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var h=Object.defineProperty;var n=(a,e)=>h(a,"name",{value:e,configurable:!0});var s,c=function(a,e,t,o){var r=arguments.length,i=r<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,t):o,f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(a,e,t,o);else for(var u=a.length-1;u>=0;u--)(f=a[u])&&(i=(r<3?f(i):r>3?f(e,t,i):f(e,t))||i);return r>3&&i&&Object.defineProperty(e,t,i),i};import{folderFullPath as p}from"./helpers.js";import{ViewComponent as x}from"jodit/esm/core/component/view-component.js";import{component as b,watch as d}from"jodit/esm/core/decorators/index.js";import{makeContextMenu as C}from"jodit/esm/modules/file-browser/factories.js";let l=(s=class extends x{className(){return"ContextMenuManager"}onFolderContext(e,t){return this.buildContextItemMenu(this.getFolderContextActions(e),t),!1}onItemContext(e,t,o){return this.buildContextItemMenu(this.getItemContextActions(e),o),!1}onSourceContext(e,t){return this.buildContextItemMenu(this.getSourceContextActions(e),t),!1}onAreaContext(e){return this.buildContextItemMenu(this.getAreaContextActions(),e),!1}buildContextItemMenu(e,t){if(!this.j.o.contextMenu)return;const o=C(this.j).setMod("theme",this.j.state.theme);o.show(t.clientX,t.clientY,e.filter(r=>r&&r.enabled!==!1)),this.j.e.on(this.j,"afterClose",()=>{o.isOpened&&o.close()})}getItemContextActions(e){if(this.j.stateManager.isActive(e)||this.j.stateManager.addActive(e,this.j.state.activeElements.length>1),e.type==="folder")return this.getFolderContextActions({type:"directory",children:[],name:e.name||"",path:e.path,sourceName:e.sourceName});const t=this.j.options,o=this.j.dataProvider,r=this.j.state.activeElements.length===1;return[{icon:"pencil",title:"Edit",enabled:!!e.isImage&&t.editImage&&r&&(o.canI("ImageResize")||o.canI("ImageCrop")),exec:n(()=>{this.j.e.fire("edit.filebrowser")},"exec")},{icon:"italic",title:"Rename",enabled:o.canI("FileRename")&&r,exec:n(()=>this.j.e.fire("fileRename.filebrowser",e),"exec")},{icon:"cut",title:"Cut",enabled:o.canI("FileMove"),exec:n(()=>this.j.e.fire("cut.filebrowser"),"exec")},{icon:"copy",title:"Copy",enabled:o.canCopy(!0),exec:n(()=>this.j.e.fire("copy.filebrowser"),"exec")},{icon:"bin",title:"Delete",enabled:o.canI("FileRemove"),exec:n(()=>this.j.e.fire("fileRemove.filebrowser",e),"exec")},{icon:"eye",title:"Preview",enabled:!!(e.isImage||e.type==="file")&&t.preview&&r,exec:n(()=>this.j.e.fire("openLightBox.filebrowser",e),"exec")},{icon:"upload",title:"Download",exec:n(()=>{e.fileURL&&this.j.ow.open(e.fileURL)},"exec")}]}getFolderContextActions(e){const t=this.j.dataProvider,o={path:p(e),sourceName:e.sourceName};return[{icon:"pencil",title:"Rename",exec:n(()=>{this.j.e.fire("folderRename.filebrowser",e)},"exec"),enabled:t.canI("FolderRename")},{icon:"cut",title:"Cut",enabled:t.canI("FolderMove"),exec:n(()=>{this.j.e.fire("cut.filebrowser",e)},"exec")},{icon:"copy",title:"Copy",enabled:t.canCopy(!1),exec:n(()=>{this.j.e.fire("copy.filebrowser",e)},"exec")},{icon:"paste",title:"Paste",enabled:this.j.canPaste(o),exec:n(()=>{this.j.e.fire("paste.filebrowser",o)},"exec")},{icon:"bin",title:"Delete",exec:n(()=>{this.j.e.fire("folderRemove.filebrowser",e)},"exec"),enabled:t.canI("FolderRemove")},{icon:"plus",title:"Add folder",exec:n(()=>{this.j.e.fire("folderCreate.filebrowser",e)},"exec"),enabled:t.canI("FolderCreate")}]}getSourceContextActions(e){const t={path:"/",sourceName:e.sourceName};return[{icon:"plus",title:"Create folder",exec:n(()=>{this.j.e.fire("folderCreate.filebrowser",e)},"exec")},{icon:"paste",title:"Paste",enabled:this.j.canPaste(t),exec:n(()=>{this.j.e.fire("paste.filebrowser",t)},"exec")}]}getAreaContextActions(){const e=this.j.getPasteTarget();return[{icon:"paste",title:"Paste",enabled:this.j.canPaste(e),exec:n(()=>{this.j.e.fire("paste.filebrowser",e)},"exec")},{icon:"plus",title:"Add folder",enabled:this.j.dataProvider.canI("FolderCreate"),exec:n(()=>{this.j.e.fire("folderCreate.filebrowser",{path:e.path,sourceName:e.sourceName})},"exec")}]}},n(s,"ContextMenuManager"),s);c([d(":contextmenuFolder.filebrowser")],l.prototype,"onFolderContext",null),c([d(":contextmenuItem.filebrowser")],l.prototype,"onItemContext",null),c([d(":contextmenuSource.filebrowser")],l.prototype,"onSourceContext",null),c([d(":contextmenuArea.filebrowser")],l.prototype,"onAreaContext",null),l=c([b],l);export{l as ContextMenuManager};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import DataProvider from "jodit/esm/modules/file-browser/data-provider";
|
|
7
|
+
import type { IFileBrowserDataProviderPro } from "../interface";
|
|
8
|
+
/**
|
|
9
|
+
* Extends the core data provider with copy operations
|
|
10
|
+
* (`fileCopy`/`folderCopy` connector actions).
|
|
11
|
+
*/
|
|
12
|
+
export declare class DataProviderPro extends DataProvider implements IFileBrowserDataProviderPro {
|
|
13
|
+
/**
|
|
14
|
+
* Copy a file / directory on the server
|
|
15
|
+
*
|
|
16
|
+
* @param filepath - The relative path to the file / folder source
|
|
17
|
+
* @param path - Relative to the directory where you want to copy the file / folder
|
|
18
|
+
*/
|
|
19
|
+
copy(filepath: string, path: string, source: string, isFile: boolean): Promise<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* Whether the connector allows copying. The core `canI` throws on rules
|
|
22
|
+
* it does not know (`allowFileCopy`/`allowFolderCopy` are PRO-only), so
|
|
23
|
+
* the same permission logic is replicated here.
|
|
24
|
+
*/
|
|
25
|
+
canCopy(isFile: boolean): boolean;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var d=Object.defineProperty;var l=(u,o)=>d(u,"name",{value:o,configurable:!0});import{error as a}from"jodit/esm/core/helpers/index.js";import f from"jodit/esm/modules/file-browser/data-provider.js";const i=class i extends f{copy(o,e,s,t){const n=t?"fileCopy":"folderCopy",r=this.o[n];if(!r)throw a("Set Copy api options");return r.data.from=o,r.data.path=e,r.data.source=s,this.get(n).then(p=>{if(this.isSuccess(p))return!0;throw a(this.getMessage(p))})}canCopy(o){const e=o?"allowFileCopy":"allowFolderCopy",s=this.o.permissionsPresets[e];if(s!==void 0)return s;const{__currentPermissions:t}=this;return t==null||t[e]===void 0||!!t[e]}};l(i,"DataProviderPro");let c=i;export{c as DataProviderPro};
|
|
@@ -3,4 +3,31 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
+
import type { IFinderClipboardItem } from "../interface";
|
|
6
7
|
export declare const parentPath: (path: string) => string;
|
|
8
|
+
/**
|
|
9
|
+
* Removes duplicated/leading/trailing slashes: `'/test//a/' -> 'test/a'`,
|
|
10
|
+
* `'/' -> '/'`. Unlike the core `normalizeRelativePath` it never keeps a
|
|
11
|
+
* trailing slash, so paths are always comparable with `parentPath` output.
|
|
12
|
+
*/
|
|
13
|
+
export declare const normalizeItemPath: (path: string) => string;
|
|
14
|
+
/**
|
|
15
|
+
* Full path of a folder item. Tree items already keep the folder name inside
|
|
16
|
+
* `path`, items converted from a tile keep only the parent directory there
|
|
17
|
+
* (with a trailing slash) and the name separately.
|
|
18
|
+
*/
|
|
19
|
+
export declare const folderFullPath: (item: {
|
|
20
|
+
path: string;
|
|
21
|
+
name: string;
|
|
22
|
+
}) => string;
|
|
23
|
+
/**
|
|
24
|
+
* Whether the list item is cut and waits to be moved (such items are shown
|
|
25
|
+
* dimmed). Copied items are intentionally not matched — copying does not
|
|
26
|
+
* remove the original.
|
|
27
|
+
*/
|
|
28
|
+
export declare const isCutItem: (clipboard: IFinderClipboardItem[], item: {
|
|
29
|
+
path: string;
|
|
30
|
+
file?: string;
|
|
31
|
+
name?: string;
|
|
32
|
+
sourceName: string;
|
|
33
|
+
}) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var a=Object.defineProperty;var n=(t,e)=>a(t,"name",{value:e,configurable:!0});const h=n(t=>{const e=t.split("/").filter(r=>r.length);return e.pop(),e.join("/")||"/"},"parentPath"),s=n(t=>t.split("/").filter(r=>r.length).join("/")||"/","normalizeItemPath"),l=n(t=>t.path.endsWith("/")?s(t.path+t.name):t.path,"folderFullPath"),u=n((t,e)=>{if(!t.length)return!1;const r=s(e.path+(e.file||e.name||""));return t.some(o=>o.mode==="cut"&&o.from===r&&o.sourceName===e.sourceName)},"isCutItem");export{l as folderFullPath,u as isCutItem,s as normalizeItemPath,h as parentPath};
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
-
* See LICENSE.md in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
-
*/
|
|
6
1
|
import { ViewComponent } from "jodit/esm/core/component/index";
|
|
7
|
-
import type { IFileBrowserStatePro } from "../interface";
|
|
8
|
-
export declare class PersistentStore extends ViewComponent {
|
|
2
|
+
import type { IFileBrowserPro, IFileBrowserStatePro } from "../interface";
|
|
3
|
+
export declare class PersistentStore extends ViewComponent<IFileBrowserPro> {
|
|
9
4
|
readonly state: IFileBrowserStatePro;
|
|
10
5
|
/** @override */
|
|
11
6
|
className(): string;
|
|
12
|
-
constructor(jodit:
|
|
7
|
+
constructor(jodit: IFileBrowserPro, state: IFileBrowserStatePro);
|
|
13
8
|
theme: string;
|
|
14
9
|
protected sortBy: string;
|
|
15
10
|
protected view: IFileBrowserStatePro['view'];
|
|
@@ -29,4 +24,14 @@ export declare class PersistentStore extends ViewComponent {
|
|
|
29
24
|
protected onChangeShowFavorites(): void;
|
|
30
25
|
protected onChangeFoldersPosition(): void;
|
|
31
26
|
syncWithState(): void;
|
|
27
|
+
/**
|
|
28
|
+
* The `filebrowser.view` option is the default view. The view stored from
|
|
29
|
+
* the user's last choice wins over it only when view persistence is
|
|
30
|
+
* enabled (`saveStateInStorage.storeView !== false`) and the user has
|
|
31
|
+
* actually chosen a view before.
|
|
32
|
+
*/
|
|
33
|
+
private __resolveView;
|
|
34
|
+
private __configView;
|
|
35
|
+
private __viewPersistenceEnabled;
|
|
36
|
+
private __hasStoredView;
|
|
32
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var S=Object.defineProperty;var d=(
|
|
1
|
+
var S=Object.defineProperty;var d=(a,e)=>S(a,"name",{value:e,configurable:!0});var n,o=function(a,e,h,l){var w=arguments.length,r=w<3?e:l===null?l=Object.getOwnPropertyDescriptor(e,h):l,p;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(a,e,h,l);else for(var v=a.length-1;v>=0;v--)(p=a[v])&&(r=(w<3?p(r):w>3?p(e,h,r):p(e,h))||r);return w>3&&r&&Object.defineProperty(e,h,r),r};import{ViewComponent as c}from"jodit/esm/core/component/index.js";import{component as u,persistent as s,watch as i}from"jodit/esm/core/decorators/index.js";import{FileBrowserItem as f}from"jodit/esm/modules/file-browser/builders/item.js";let t=(n=class extends c{className(){return"PersistentStore"}constructor(e,h){super(e),this.state=h,this.sortBy="changed-desc",this.view="tiles",this.foldersPosition="top",this.tileSize="default",this.favorites=[],this.showSideBar=!0,this.showPreview=!1,this.showFavorites=!0}onChangeThemeSetField(){this.theme=this.state.theme}onChangeView(){this.__viewPersistenceEnabled()&&(this.view=this.state.view)}onChangeSortBy(){this.sortBy=this.state.sortBy}onChangeTileSize(){this.tileSize=this.state.tileSize}onChangeFavorites(){this.favorites=this.state.favorites}onChangeShowSideBar(){this.showSideBar=this.state.showSideBar}onChangeShowPreview(){this.showPreview=this.state.showPreview}onChangeShowFavorites(){this.showFavorites=this.state.showFavorites}onChangeFoldersPosition(){this.foldersPosition=this.state.foldersPosition}syncWithState(){this.state.tileSize=this.tileSize,this.state.favorites=this.favorites.map(e=>e instanceof f?e:f.create(e)),this.state.view=this.__resolveView(),this.state.theme=this.theme,this.state.showSideBar=this.showSideBar,this.state.showPreview=this.showPreview,this.state.showFavorites=this.showFavorites,this.state.sortBy=this.sortBy,this.state.foldersPosition=this.foldersPosition}__resolveView(){var e;return this.__viewPersistenceEnabled()&&this.__hasStoredView()?this.view:(e=this.__configView())!==null&&e!==void 0?e:"tiles"}__configView(){const{view:e}=this.j.o;return e==="tiles"||e==="list"||e==="compact"?e:null}__viewPersistenceEnabled(){const{saveStateInStorage:e}=this.j.o;return e===!1?!1:!e||e.storeView!==!1}__hasStoredView(){return this.j.storage.get(`${this.j.o.namespace}${this.componentName}_prop_view`)!=null}},d(n,"PersistentStore"),n);o([s],t.prototype,"theme",void 0),o([s],t.prototype,"sortBy",void 0),o([s],t.prototype,"view",void 0),o([s],t.prototype,"foldersPosition",void 0),o([s],t.prototype,"tileSize",void 0),o([s],t.prototype,"favorites",void 0),o([s],t.prototype,"showSideBar",void 0),o([s],t.prototype,"showPreview",void 0),o([s],t.prototype,"showFavorites",void 0),o([i("state.theme")],t.prototype,"onChangeThemeSetField",null),o([i("state.view")],t.prototype,"onChangeView",null),o([i("state.sortBy")],t.prototype,"onChangeSortBy",null),o([i("state.tileSize")],t.prototype,"onChangeTileSize",null),o([i("state.favorites")],t.prototype,"onChangeFavorites",null),o([i("state.showSideBar")],t.prototype,"onChangeShowSideBar",null),o([i("state.showPreview")],t.prototype,"onChangeShowPreview",null),o([i("state.showFavorites")],t.prototype,"onChangeShowFavorites",null),o([i("state.foldersPosition")],t.prototype,"onChangeFoldersPosition",null),t=o([u],t);export{t as PersistentStore};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
import type { IDialogOptions, IDictionary, IFileBrowser, IFileBrowserCallBackData, IFileBrowserOptions, IFileBrowserState, IObservable, Nullable } from "jodit/esm/types/index";
|
|
6
|
+
import type { IDialogOptions, IDictionary, IFileBrowser, IFileBrowserAjaxOptions, IFileBrowserCallBackData, IFileBrowserDataProvider, IFileBrowserOptions, IFileBrowserState, IObservable, Nullable } from "jodit/esm/types/index";
|
|
7
7
|
import type { ContextMenuManager } from "./helpers/context-menu";
|
|
8
8
|
import type { LoadingManager } from "./helpers/loading-manager";
|
|
9
9
|
import type { PersistentStore } from "./helpers/persistent-store";
|
|
@@ -26,6 +26,8 @@ export interface IFileBrowserStatePro extends IFileBrowserState {
|
|
|
26
26
|
tileSize: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge';
|
|
27
27
|
favorites: IFileBrowserState['activeElements'];
|
|
28
28
|
tree: IFileBrowserTreeItemPro[];
|
|
29
|
+
/** Items cut/copied in the context menu and waiting for Paste */
|
|
30
|
+
clipboard: IFinderClipboardItem[];
|
|
29
31
|
}
|
|
30
32
|
// @ts-ignore
|
|
31
33
|
export interface IFileBrowserOptionsPro extends IFileBrowserOptions, IDialogOptions, IViewOptionsPro {
|
|
@@ -33,6 +35,8 @@ export interface IFileBrowserOptionsPro extends IFileBrowserOptions, IDialogOpti
|
|
|
33
35
|
maxWidth: number;
|
|
34
36
|
previewOfficeURL: string;
|
|
35
37
|
license: string;
|
|
38
|
+
fileCopy?: IFileBrowserAjaxOptions;
|
|
39
|
+
folderCopy?: IFileBrowserAjaxOptions;
|
|
36
40
|
}
|
|
37
41
|
export interface IFileBrowserTreeItemPro {
|
|
38
42
|
type: 'file' | 'directory' | 'source';
|
|
@@ -44,14 +48,33 @@ export interface IFileBrowserTreeItemPro {
|
|
|
44
48
|
sourceName: string;
|
|
45
49
|
children: IFileBrowserTreeItemPro[];
|
|
46
50
|
}
|
|
51
|
+
export interface IFinderClipboardItem {
|
|
52
|
+
mode: 'cut' | 'copy';
|
|
53
|
+
type: 'file' | 'folder';
|
|
54
|
+
/** Full relative path (including the item name) inside the source */
|
|
55
|
+
from: string;
|
|
56
|
+
name: string;
|
|
57
|
+
sourceName: string;
|
|
58
|
+
}
|
|
59
|
+
export interface IFinderPasteTarget {
|
|
60
|
+
path: string;
|
|
61
|
+
sourceName: string;
|
|
62
|
+
}
|
|
63
|
+
export interface IFileBrowserDataProviderPro extends IFileBrowserDataProvider {
|
|
64
|
+
copy(filepath: string, path: string, source: string, isFile: boolean): Promise<boolean>;
|
|
65
|
+
canCopy(isFile: boolean): boolean;
|
|
66
|
+
}
|
|
47
67
|
export interface IFileBrowserPro extends IFileBrowser<IFileBrowserOptionsPro> {
|
|
48
68
|
readonly state: IFileBrowserStatePro & IObservable;
|
|
69
|
+
readonly dataProvider: IFileBrowserDataProviderPro;
|
|
49
70
|
readonly persistent: PersistentStore;
|
|
50
71
|
readonly loadingManager: LoadingManager;
|
|
51
72
|
readonly stateManager: StateManager;
|
|
52
73
|
readonly historyManager: IHistoryManager;
|
|
53
74
|
readonly contextMenuManager: ContextMenuManager;
|
|
54
75
|
readonly panel: UIBrowserPanel;
|
|
76
|
+
canPaste(target: IFinderPasteTarget): boolean;
|
|
77
|
+
getPasteTarget(): IFinderPasteTarget;
|
|
55
78
|
}
|
|
56
79
|
export interface IHistoryManager {
|
|
57
80
|
canNext(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var r=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var t=r((o,i)=>{i.exports={Favorites:"Favoriten",Settings:"Einstellungen",Light:"Hell",Dark:"Dunkel",Theme:"Design",Show:"Anzeigen",Hide:"Ausblenden","Show favorites":"Favoriten anzeigen",Tiles:"Kacheln",List:"Liste",Compact:"Kompakt",View:"Ansicht","Folders position":"Ordnerposition","Sort by":"Sortieren nach","Extra small":"Sehr klein",Small:"Klein",Large:"Gro\xDF","Extra large":"Sehr gro\xDF","Tile size":"Kachelgr\xF6\xDFe"}});export default t();
|
|
1
|
+
var r=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var t=r((o,i)=>{i.exports={Favorites:"Favoriten",Settings:"Einstellungen",Light:"Hell",Dark:"Dunkel",Theme:"Design",Show:"Anzeigen",Hide:"Ausblenden","Show favorites":"Favoriten anzeigen",Tiles:"Kacheln",List:"Liste",Compact:"Kompakt",View:"Ansicht","Folders position":"Ordnerposition","Sort by":"Sortieren nach","Extra small":"Sehr klein",Small:"Klein",Large:"Gro\xDF","Extra large":"Sehr gro\xDF","Tile size":"Kachelgr\xF6\xDFe",Cut:"Ausschneiden",Copy:"Kopieren","%s item(s) were moved":"%s Element(e) wurden verschoben","%s item(s) were copied":"%s Element(e) wurden kopiert"}});export default t();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var i=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var o=i((a,s)=>{s.exports={Favorites:"\u0418\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",Settings:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",Light:"\u0421\u0432\u0435\u0442\u043B\u0430\u044F",Dark:"\u0422\u0435\u043C\u043D\u0430\u044F",Theme:"\u0422\u0435\u043C\u0430",Show:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C",Hide:"\u0421\u043A\u0440\u044B\u0442\u044C","Show favorites":"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435",Tiles:"\u041F\u043B\u0438\u0442\u043A\u0430",List:"\u0421\u043F\u0438\u0441\u043E\u043A",Compact:"\u041A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u044B\u0439",View:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435","Folders position":"\u041F\u043E\u0437\u0438\u0446\u0438\u044F \u043F\u0430\u043F\u043E\u043A","Sort by":"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E","Extra small":"\u041E\u0447\u0435\u043D\u044C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0438\u0435",Small:"\u041C\u0430\u043B\u0435\u043D\u044C\u043A\u0438\u0435",Large:"\u0411\u043E\u043B\u044C\u0448\u0438\u0435","Extra large":"\u041E\u0447\u0435\u043D\u044C \u0431\u043E\u043B\u044C\u0448\u0438\u0435","Tile size":"\u0420\u0430\u0437\u043C\u0435\u0440 \u043F\u043B\u0438\u0442\u043A\u0438",Cut:"\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C",Copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C","%s item(s) were moved":"\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432: %s","%s item(s) were copied":"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432: %s"}});export default o();
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { UIGroup } from "jodit/esm/core/ui/index";
|
|
7
7
|
import type { StateManager } from "../../helpers/state-manager";
|
|
8
|
-
import type { IFileBrowserOptionsPro, IFileBrowserPro } from "../../interface";
|
|
8
|
+
import type { IFileBrowserOptionsPro, IFileBrowserPro, IFileBrowserStatePro } from "../../interface";
|
|
9
9
|
export declare class UIBrowserHeader extends UIGroup<IFileBrowserPro> {
|
|
10
10
|
readonly options: IFileBrowserOptionsPro;
|
|
11
11
|
readonly stateManager: StateManager;
|
|
@@ -15,6 +15,12 @@ export declare class UIBrowserHeader extends UIGroup<IFileBrowserPro> {
|
|
|
15
15
|
private filter;
|
|
16
16
|
/** @override */
|
|
17
17
|
className(): string;
|
|
18
|
+
readonly state: IFileBrowserStatePro;
|
|
18
19
|
constructor(jodit: IFileBrowserPro, options: IFileBrowserOptionsPro, stateManager: StateManager);
|
|
20
|
+
/**
|
|
21
|
+
* The Paste button appears in the toolbar only when the clipboard is not
|
|
22
|
+
* empty — rebuild the toolbar when it changes
|
|
23
|
+
*/
|
|
24
|
+
protected onChangeClipboard(): void;
|
|
19
25
|
private __getButtons;
|
|
20
26
|
}
|