jodit-pro 4.6.10 → 4.6.13
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/.nvmrc +1 -1
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +2 -2
- package/es2015/jodit.js +1278 -1328
- package/es2015/jodit.min.js +2 -2
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +2 -2
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +65 -65
- package/es2015/plugins/backup/backup.min.js +2 -2
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +110 -110
- package/es2015/plugins/button-generator/button-generator.min.js +2 -2
- package/es2015/plugins/change-case/change-case.js +7 -7
- package/es2015/plugins/change-case/change-case.min.js +2 -2
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +37 -37
- package/es2015/plugins/color-picker/color-picker.min.js +2 -2
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +47 -47
- package/es2015/plugins/emoji/emoji.min.js +2 -2
- package/es2015/plugins/export-docs/export-docs.js +18 -18
- package/es2015/plugins/export-docs/export-docs.min.js +2 -2
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +452 -452
- package/es2015/plugins/finder/finder.min.js +2 -2
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +265 -265
- package/es2015/plugins/google-maps/google-maps.min.js +2 -2
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +2 -2
- package/es2015/plugins/highlight-signature/highlight-signature.js +23 -23
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +2 -2
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +40 -40
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +2 -2
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +60 -60
- package/es2015/plugins/keyboard/keyboard.min.js +2 -2
- package/es2015/plugins/mobile-view/mobile-view.js +26 -26
- package/es2015/plugins/mobile-view/mobile-view.min.js +2 -2
- package/es2015/plugins/page-break/page-break.js +27 -27
- package/es2015/plugins/page-break/page-break.min.js +2 -2
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +51 -51
- package/es2015/plugins/paste-code/paste-code.min.js +2 -2
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +2 -2
- package/es2015/plugins/show-blocks/show-blocks.js +27 -27
- package/es2015/plugins/show-blocks/show-blocks.min.js +2 -2
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +62 -62
- package/es2015/plugins/todo-list/todo-list.min.js +2 -2
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +62 -62
- package/es2015/plugins/translate/translate.min.js +2 -2
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +50 -50
- package/es2015/plugins/tune-block/tune-block.min.js +2 -2
- package/es2018/jodit.css +1 -1
- package/es2018/jodit.fat.min.js +2 -2
- package/es2018/jodit.js +1123 -1118
- package/es2018/jodit.min.js +2 -2
- package/es2018/plugins/autocomplete/autocomplete.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +2 -2
- package/es2018/plugins/backup/backup.css +1 -1
- package/es2018/plugins/backup/backup.js +64 -64
- package/es2018/plugins/backup/backup.min.js +2 -2
- package/es2018/plugins/button-generator/button-generator.css +1 -1
- package/es2018/plugins/button-generator/button-generator.js +110 -110
- package/es2018/plugins/button-generator/button-generator.min.js +2 -2
- package/es2018/plugins/change-case/change-case.js +7 -7
- package/es2018/plugins/change-case/change-case.min.js +2 -2
- package/es2018/plugins/color-picker/color-picker.css +1 -1
- package/es2018/plugins/color-picker/color-picker.js +37 -37
- package/es2018/plugins/color-picker/color-picker.min.js +2 -2
- package/es2018/plugins/emoji/emoji.css +1 -1
- package/es2018/plugins/emoji/emoji.js +45 -45
- package/es2018/plugins/emoji/emoji.min.js +2 -2
- package/es2018/plugins/export-docs/export-docs.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +2 -2
- package/es2018/plugins/finder/finder.css +1 -1
- package/es2018/plugins/finder/finder.js +446 -446
- package/es2018/plugins/finder/finder.min.js +2 -2
- package/es2018/plugins/google-maps/google-maps.css +1 -1
- package/es2018/plugins/google-maps/google-maps.js +262 -262
- package/es2018/plugins/google-maps/google-maps.min.js +2 -2
- package/es2018/plugins/google-search/google-search.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +2 -2
- package/es2018/plugins/highlight-signature/highlight-signature.js +23 -23
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +2 -2
- package/es2018/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.js +40 -40
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +2 -2
- package/es2018/plugins/keyboard/keyboard.css +1 -1
- package/es2018/plugins/keyboard/keyboard.js +60 -60
- package/es2018/plugins/keyboard/keyboard.min.js +2 -2
- package/es2018/plugins/mobile-view/mobile-view.js +26 -26
- package/es2018/plugins/mobile-view/mobile-view.min.js +2 -2
- package/es2018/plugins/page-break/page-break.js +27 -27
- package/es2018/plugins/page-break/page-break.min.js +2 -2
- package/es2018/plugins/paste-code/paste-code.css +1 -1
- package/es2018/plugins/paste-code/paste-code.js +49 -49
- package/es2018/plugins/paste-code/paste-code.min.js +2 -2
- package/es2018/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +2 -2
- package/es2018/plugins/show-blocks/show-blocks.js +27 -27
- package/es2018/plugins/show-blocks/show-blocks.min.js +2 -2
- package/es2018/plugins/todo-list/todo-list.css +1 -1
- package/es2018/plugins/todo-list/todo-list.js +62 -62
- package/es2018/plugins/todo-list/todo-list.min.js +2 -2
- package/es2018/plugins/translate/translate.css +1 -1
- package/es2018/plugins/translate/translate.js +61 -61
- package/es2018/plugins/translate/translate.min.js +2 -2
- package/es2018/plugins/tune-block/tune-block.css +1 -1
- package/es2018/plugins/tune-block/tune-block.js +50 -50
- package/es2018/plugins/tune-block/tune-block.min.js +2 -2
- package/es2021/jodit.css +1 -1
- package/es2021/jodit.fat.min.js +2 -2
- package/es2021/jodit.js +1123 -1118
- package/es2021/jodit.min.js +2 -2
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +2 -2
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +64 -64
- package/es2021/plugins/backup/backup.min.js +2 -2
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +110 -110
- package/es2021/plugins/button-generator/button-generator.min.js +2 -2
- package/es2021/plugins/change-case/change-case.js +7 -7
- package/es2021/plugins/change-case/change-case.min.js +2 -2
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +37 -37
- package/es2021/plugins/color-picker/color-picker.min.js +2 -2
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +45 -45
- package/es2021/plugins/emoji/emoji.min.js +2 -2
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +2 -2
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +446 -446
- package/es2021/plugins/finder/finder.min.js +2 -2
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +262 -262
- package/es2021/plugins/google-maps/google-maps.min.js +2 -2
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +2 -2
- package/es2021/plugins/highlight-signature/highlight-signature.js +23 -23
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +2 -2
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +40 -40
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +2 -2
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +60 -60
- package/es2021/plugins/keyboard/keyboard.min.js +2 -2
- package/es2021/plugins/mobile-view/mobile-view.js +26 -26
- package/es2021/plugins/mobile-view/mobile-view.min.js +2 -2
- package/es2021/plugins/page-break/page-break.js +27 -27
- package/es2021/plugins/page-break/page-break.min.js +2 -2
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +49 -49
- package/es2021/plugins/paste-code/paste-code.min.js +2 -2
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +2 -2
- package/es2021/plugins/show-blocks/show-blocks.js +27 -27
- package/es2021/plugins/show-blocks/show-blocks.min.js +2 -2
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +62 -62
- package/es2021/plugins/todo-list/todo-list.min.js +2 -2
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +61 -61
- package/es2021/plugins/translate/translate.min.js +2 -2
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +50 -50
- package/es2021/plugins/tune-block/tune-block.min.js +2 -2
- package/es2021.en/jodit.css +1 -1
- package/es2021.en/jodit.fat.min.js +2 -2
- package/es2021.en/jodit.js +1123 -1118
- package/es2021.en/jodit.min.js +2 -2
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +2 -2
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +64 -64
- package/es2021.en/plugins/backup/backup.min.js +2 -2
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +110 -110
- package/es2021.en/plugins/button-generator/button-generator.min.js +2 -2
- package/es2021.en/plugins/change-case/change-case.js +7 -7
- package/es2021.en/plugins/change-case/change-case.min.js +2 -2
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +37 -37
- package/es2021.en/plugins/color-picker/color-picker.min.js +2 -2
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +45 -45
- package/es2021.en/plugins/emoji/emoji.min.js +2 -2
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +2 -2
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +446 -446
- package/es2021.en/plugins/finder/finder.min.js +2 -2
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +262 -262
- package/es2021.en/plugins/google-maps/google-maps.min.js +2 -2
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +2 -2
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +23 -23
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +2 -2
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +40 -40
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +2 -2
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +60 -60
- package/es2021.en/plugins/keyboard/keyboard.min.js +2 -2
- package/es2021.en/plugins/mobile-view/mobile-view.js +26 -26
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +2 -2
- package/es2021.en/plugins/page-break/page-break.js +27 -27
- package/es2021.en/plugins/page-break/page-break.min.js +2 -2
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +49 -49
- package/es2021.en/plugins/paste-code/paste-code.min.js +2 -2
- 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 +2 -2
- package/es2021.en/plugins/show-blocks/show-blocks.js +27 -27
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +2 -2
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +62 -62
- package/es2021.en/plugins/todo-list/todo-list.min.js +2 -2
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +61 -61
- package/es2021.en/plugins/translate/translate.min.js +2 -2
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +50 -50
- package/es2021.en/plugins/tune-block/tune-block.min.js +2 -2
- package/es5/jodit.css +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +1461 -1568
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +2 -2
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +80 -80
- package/es5/plugins/backup/backup.min.js +2 -2
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +137 -137
- package/es5/plugins/button-generator/button-generator.min.js +2 -2
- package/es5/plugins/change-case/change-case.js +17 -17
- package/es5/plugins/change-case/change-case.min.js +2 -2
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +40 -40
- package/es5/plugins/color-picker/color-picker.min.js +2 -2
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +54 -54
- package/es5/plugins/emoji/emoji.min.js +2 -2
- package/es5/plugins/export-docs/export-docs.js +21 -21
- package/es5/plugins/export-docs/export-docs.min.js +2 -2
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +495 -495
- 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 +299 -299
- package/es5/plugins/google-maps/google-maps.min.js +2 -2
- package/es5/plugins/google-search/google-search.js +17 -17
- package/es5/plugins/google-search/google-search.min.js +2 -2
- package/es5/plugins/highlight-signature/highlight-signature.js +26 -26
- package/es5/plugins/highlight-signature/highlight-signature.min.js +2 -2
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +43 -43
- package/es5/plugins/iframe-editor/iframe-editor.min.js +2 -2
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +62 -62
- package/es5/plugins/keyboard/keyboard.min.js +2 -2
- package/es5/plugins/mobile-view/mobile-view.js +28 -28
- package/es5/plugins/mobile-view/mobile-view.min.js +2 -2
- package/es5/plugins/page-break/page-break.js +29 -29
- package/es5/plugins/page-break/page-break.min.js +2 -2
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +55 -55
- package/es5/plugins/paste-code/paste-code.min.js +2 -2
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +2 -2
- package/es5/plugins/show-blocks/show-blocks.js +28 -28
- package/es5/plugins/show-blocks/show-blocks.min.js +2 -2
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +64 -64
- package/es5/plugins/todo-list/todo-list.min.js +2 -2
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +77 -77
- package/es5/plugins/translate/translate.min.js +2 -2
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +65 -65
- package/es5/plugins/tune-block/tune-block.min.js +2 -2
- package/esm/index.js +1 -1
- package/esm/jodit-pro.js +1 -1
- package/esm/plugins/autocomplete/autocomplete.js +1 -1
- package/esm/plugins/autocomplete/ui/autocomplete.js +1 -1
- package/esm/plugins/backup/backup.js +1 -1
- package/esm/plugins/backup/modules/store.js +1 -1
- package/esm/plugins/backup/ui/list.js +1 -1
- package/esm/plugins/button-generator/button-generator.js +1 -1
- package/esm/plugins/button-generator/ui/button/button.js +1 -1
- package/esm/plugins/button-generator/ui/form/form.js +1 -1
- package/esm/plugins/button-generator/ui/generator/button-generator.js +1 -1
- package/esm/plugins/button-generator/ui/preview/preview.js +1 -1
- package/esm/plugins/change-case/change-case.js +1 -1
- package/esm/plugins/color-picker/ui/input/color-input.js +1 -1
- package/esm/plugins/emoji/config.js +1 -1
- package/esm/plugins/emoji/emoji.js +1 -1
- package/esm/plugins/emoji/ui/emoji.js +1 -1
- package/esm/plugins/export-docs/export-docs.js +1 -1
- package/esm/plugins/finder/browser.js +1 -1
- package/esm/plugins/finder/finder.js +1 -1
- package/esm/plugins/finder/helpers/context-menu.js +1 -1
- package/esm/plugins/finder/helpers/helpers.js +1 -1
- package/esm/plugins/finder/helpers/loading-manager.js +1 -1
- package/esm/plugins/finder/helpers/persistent-store.js +1 -1
- package/esm/plugins/finder/helpers/state-manager.js +1 -1
- package/esm/plugins/finder/ui/folder/folder.js +1 -1
- package/esm/plugins/finder/ui/header/header.js +1 -1
- package/esm/plugins/finder/ui/item/item.js +1 -1
- package/esm/plugins/finder/ui/lightboox/lightbox.js +1 -1
- package/esm/plugins/finder/ui/panel/panel.js +1 -1
- package/esm/plugins/finder/ui/preview/preview.js +1 -1
- package/esm/plugins/finder/ui/progress/progress.js +1 -1
- package/esm/plugins/finder/ui/settings/settings.js +1 -1
- package/esm/plugins/finder/ui/source/source.js +1 -1
- package/esm/plugins/finder/ui/sources/sources.js +1 -1
- package/esm/plugins/finder/ui/tree/tree.js +1 -1
- package/esm/plugins/finder/ui/virtual-scroll/virtual-scroll.js +1 -1
- package/esm/plugins/google-maps/google-maps.js +1 -1
- package/esm/plugins/google-maps/helpers/generate-static-elements.js +1 -1
- package/esm/plugins/google-maps/helpers/helpers.js +1 -1
- package/esm/plugins/google-maps/ui/combo-box/combo-box.js +1 -1
- package/esm/plugins/google-maps/ui/editors/base.js +1 -1
- package/esm/plugins/google-maps/ui/editors/marker/marker.js +1 -1
- package/esm/plugins/google-maps/ui/map/map.js +1 -1
- package/esm/plugins/google-maps/ui/map/modules/init-or-update-element-from-state.js +1 -1
- package/esm/plugins/google-maps/ui/map/modules/open-props-dialog.js +1 -1
- package/esm/plugins/google-maps/ui/maps-controls/maps-controls.js +1 -1
- package/esm/plugins/google-maps/ui/wysiwyg/wysiwyg.js +1 -1
- package/esm/plugins/highlight-signature/highlight-signature.js +1 -1
- package/esm/plugins/iframe-editor/iframe-editor.js +1 -1
- package/esm/plugins/keyboard/keyboard.js +1 -1
- package/esm/plugins/keyboard/ui/keyboard/keyboard.js +1 -1
- package/esm/plugins/license/helpers/helpers.js +1 -1
- package/esm/plugins/license/license.js +1 -1
- package/esm/plugins/mobile-view/mobile-view.js +1 -1
- package/esm/plugins/page-break/page-break.js +1 -1
- package/esm/plugins/paste-code/paste-code.js +1 -1
- package/esm/plugins/paste-from-word/cases/clean-styles.js +1 -1
- package/esm/plugins/paste-from-word/cases/convert-style-unit-to-pixels.js +1 -1
- package/esm/plugins/paste-from-word/cases/convert-to-list.js +1 -1
- package/esm/plugins/paste-from-word/cases/process-image.js +1 -1
- package/esm/plugins/paste-from-word/element/checkers.js +1 -1
- package/esm/plugins/paste-from-word/element/element.js +1 -1
- package/esm/plugins/paste-from-word/element/render.js +1 -1
- package/esm/plugins/paste-from-word/element/style.js +1 -1
- package/esm/plugins/paste-from-word/helpers/apply-styles-pro.js +1 -1
- package/esm/plugins/paste-from-word/helpers/calc-list-levels.js +1 -1
- package/esm/plugins/paste-from-word/helpers/helpers.js +1 -1
- package/esm/plugins/paste-from-word/helpers/transform-word-to-html.js +1 -1
- package/esm/plugins/show-blocks/show-blocks.js +1 -1
- package/esm/plugins/todo-list/config.js +1 -1
- package/esm/plugins/todo-list/todo-list.js +1 -1
- package/esm/plugins/translate/providers/google/google.js +1 -1
- package/esm/plugins/translate/translate.js +1 -1
- package/esm/plugins/translate/ui/list/list.js +1 -1
- package/esm/plugins/tune-block/ui/tuner/tuner.js +1 -1
- package/package.json +1 -1
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,o,i){var r,s=arguments.length,n=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,i);else for(var m=e.length-1;m>=0;m--)(r=e[m])&&(n=(s<3?r(n):s>3?r(t,o,n):r(t,o))||n);return s>3&&n&&Object.defineProperty(t,o,n),n};import"./config.js";import{Emoji as t}from"./ui/emoji.js";import{autobind as o}from"jodit/esm/core/decorators/index.js";import{trim as i}from"jodit/esm/core/helpers/string/trim.js";import{Plugin as r}from"jodit/esm/core/plugin/plugin.js";import{JoditPro as s}from"../../jodit-pro.js";export class emoji extends r{constructor(){super(...arguments),this.hasStyle=!s.fatMode,this.buttons=[{name:"emoji",group:"insert"}]}async afterInit(e){const o=await e.o.emoji.data();e.isInDestruct||(this.data={...o,emoji:o.emoji.map(t.normalizeEmoji)},e.o.emoji.enableAutoComplete&&e.e.fire("registerAutocompleteSource",this.onAutoComplete),e.async.requestIdleCallback((
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,o,i){var r,s=arguments.length,n=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,i);else for(var m=e.length-1;m>=0;m--)(r=e[m])&&(n=(s<3?r(n):s>3?r(t,o,n):r(t,o))||n);return s>3&&n&&Object.defineProperty(t,o,n),n};import"./config.js";import{Emoji as t}from"./ui/emoji.js";import{autobind as o}from"jodit/esm/core/decorators/index.js";import{trim as i}from"jodit/esm/core/helpers/string/trim.js";import{Plugin as r}from"jodit/esm/core/plugin/plugin.js";import{JoditPro as s}from"../../jodit-pro.js";export class emoji extends r{constructor(){super(...arguments),this.hasStyle=!s.fatMode,this.buttons=[{name:"emoji",group:"insert"}]}async afterInit(e){const o=await e.o.emoji.data();e.isInDestruct||(this.data={...o,emoji:o.emoji.map(t.normalizeEmoji)},e.o.emoji.enableAutoComplete&&e.e.fire("registerAutocompleteSource",this.onAutoComplete),e.async.requestIdleCallback(()=>{t.getInstance(e,()=>{})}))}onAutoComplete(e){return e.length>2&&":"===e[0]&&(e=e.substr(1).toLowerCase(),i(e).length)?this.data.emoji.filter(t=>{var o;return 0===(null===(o=t.description)||void 0===o?void 0:o.indexOf(e))}).sort((t,o)=>t.description.indexOf(e)-o.description.indexOf(e)).map(e=>({title:`${e.emoji} ${e.description}`,value:e.emoji})):[]}beforeDestruct(e){}}emoji.requires=["autocomplete","license"],e([o],emoji.prototype,"onAutoComplete",null),s.plugins.add("emoji",emoji);
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var t,e=this&&this.__decorate||function(t,e,i,s){var o,n=arguments.length,a=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,s);else for(var r=t.length-1;r>=0;r--)(o=t[r])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};import{autobind as i,component as s,debounce as o,hook as n,persistent as a,throttle as r}from"jodit/esm/core/decorators/index.js";import{Dom as c}from"jodit/esm/core/dom/dom.js";import{attr as l,isString as h}from"jodit/esm/core/helpers/index.js";import{UIElement as d,UIInput as u}from"jodit/esm/core/ui/index.js";let m=t=class Emoji extends d{className(){return"Emoji"}get defaultList(){return this.recent.concat(this.data.emoji)}reset(){this.input.nativeInput.value="",this.setItems(this.defaultList),this.setActiveCategory(0)}setItems(t){this.list.scrollTo(0,0),c.detach(this.list),c.append(this.list,this.generateEmojiList(t,this.data.categories))}createContainer(t){const e=this.j.c.div("jodit-emoji");this.input=new u(this.j,{name:"search",icon:"search",autocomplete:!1,clearButton:!0,placeholder:"Search emoji"}),this.input.container.classList.add(this.getFullElName("input")),this.categories=this.j.c.div(this.getFullElName("categories")),this.list=this.j.c.div(this.getFullElName("emojis"));const i=this.j.c.div(this.getFullElName("navigate"));return c.append(i,[this.categories,this.input.container]),c.append(e,[i,this.list]),e}constructor(e,i){super(e),this.onInsert=i,this.recent=[],this.map={},this.activeIndex=0,this.cache={},this.setMod("loading",!0),(async()=>{this.data=await e.o.emoji.data(),this.setMod("loading",!1),this.data.emoji.forEach(
|
|
6
|
+
var t,e=this&&this.__decorate||function(t,e,i,s){var o,n=arguments.length,a=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,s);else for(var r=t.length-1;r>=0;r--)(o=t[r])&&(a=(n<3?o(a):n>3?o(e,i,a):o(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};import{autobind as i,component as s,debounce as o,hook as n,persistent as a,throttle as r}from"jodit/esm/core/decorators/index.js";import{Dom as c}from"jodit/esm/core/dom/dom.js";import{attr as l,isString as h}from"jodit/esm/core/helpers/index.js";import{UIElement as d,UIInput as u}from"jodit/esm/core/ui/index.js";let m=t=class Emoji extends d{className(){return"Emoji"}get defaultList(){return this.recent.concat(this.data.emoji)}reset(){this.input.nativeInput.value="",this.setItems(this.defaultList),this.setActiveCategory(0)}setItems(t){this.list.scrollTo(0,0),c.detach(this.list),c.append(this.list,this.generateEmojiList(t,this.data.categories))}createContainer(t){const e=this.j.c.div("jodit-emoji");this.input=new u(this.j,{name:"search",icon:"search",autocomplete:!1,clearButton:!0,placeholder:"Search emoji"}),this.input.container.classList.add(this.getFullElName("input")),this.categories=this.j.c.div(this.getFullElName("categories")),this.list=this.j.c.div(this.getFullElName("emojis"));const i=this.j.c.div(this.getFullElName("navigate"));return c.append(i,[this.categories,this.input.container]),c.append(e,[i,this.list]),e}constructor(e,i){super(e),this.onInsert=i,this.recent=[],this.map={},this.activeIndex=0,this.cache={},this.setMod("loading",!0),(async()=>{this.data=await e.o.emoji.data(),this.setMod("loading",!1),this.data.emoji.forEach(e=>{const i=t.normalizeEmoji(e);this.map[i.emoji]=i}),this.setItems(this.defaultList),c.append(this.categories,this.generateCategoriesList(this.data.categories)),this.setActiveCategory(0)})()}static getInstance(e,i){return this.__instance||(this.__instance=new t(e,i)),this.__instance.onInsert=i,this.__instance.data&&this.__instance.reset(),this.__instance}setActiveCategory(t,e=!1){const i=this.getElms("category"),s=i[this.activeIndex];i[t]||(t=i.length-1);const o=i[t],n=this.getFullElName("category","active",!0);s&&s.classList.remove(n),o&&o.classList.add(n),e&&this.getElms("category-title")[t].scrollIntoView(),this.activeIndex=t}generateCategoriesList(t){return t.map((e,i)=>this.j.c.div(this.getFullElName("category"),{"data-index":i,title:e,style:{width:100/t.length+"%"}}))}generateEmojiList(e,i){let s="";return e.reduce((e,o,n)=>{var a,r;if(o=t.normalizeEmoji(o),i[o.category]!==s){s=i[o.category];const t=null!==(a=this.cache[s])&&void 0!==a?a:this.j.c.div(this.getFullElName("category-title"),s?this.j.i18n(s):"");this.cache[s]=t,e.push(t)}const c=null!==(r=this.cache[o.emoji+o.category])&&void 0!==r?r:this.j.c.div(this.getFullElName("emoji"),{"data-id":n,"data-value":o.emoji},o.emoji);return this.cache[o.emoji+o.category]=c,e.push(c),e},[])}static isShortCat(t){return t&&h(t.e)}static normalizeEmoji(e){return t.isShortCat(e)?{emoji:e.e,description:e.d,category:e.c,aliases:e.a,tags:e.t}:e}onInsertCode(t){this.onInsert(t);const e=this.map[t];if(e){const i=[...this.recent],s=i.findIndex(e=>e.emoji===t);-1!==s&&i.splice(s,1),i.unshift({...e,category:-1}),this.recent=i}}onScrollList(){const t=this.list.scrollTop,e=this.getElms("category-title");let i=0;e.forEach((e,s)=>{const o=e.offsetTop-this.list.offsetTop-20;t>o&&(i=s)}),this.setActiveCategory(i)}onClickCategory(t){this.clearFilter();const e=t.target;e.classList.contains(this.getFullElName("category"))&&this.setActiveCategory(parseInt(l(e,"-index")||"0",10)||0,!0)}onClickItem(t){const e=t.target;if(e.classList.contains(this.getFullElName("emoji"))){const t=l(e,"-value")||"";t&&this.onInsertCode(t)}t.preventDefault()}onInputFilter(){const e=this.input.value.toLowerCase();if(!e.length)return this.setItems(this.defaultList);this.setItems(this.defaultList.filter(i=>{var s,o,n;const a=t.normalizeEmoji(i);return(null===(s=a.description)||void 0===s?void 0:s.toLowerCase().includes(e))||(null===(o=a.tags)||void 0===o?void 0:o.join(" ").toLowerCase().includes(e))||(null===(n=a.aliases)||void 0===n?void 0:n.join(" ").toLowerCase().includes(e))}))}clearFilter(){this.input.nativeInput.value.length&&this.reset()}onReady(){this.j.e.on(this.input.nativeInput,"input",this.onInputFilter).on(this.categories,"click",this.onClickCategory).on(this.list,"scroll",this.onScrollList).on(this.list,"mousedown touchstart",this.onClickItem)}destruct(){return t.__instance=null,this.input.destruct(),super.destruct()}};e([a],m.prototype,"recent",void 0),e([r()],m.prototype,"onScrollList",null),e([i],m.prototype,"onClickCategory",null),e([i],m.prototype,"onClickItem",null),e([o()],m.prototype,"onInputFilter",null),e([n("ready")],m.prototype,"onReady",null),m=t=e([s],m);export{m as Emoji};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
import"./config.js";import{Dom as e}from"jodit/esm/core/dom/index.js";import{ConfigDeepFlatten as o}from"jodit/esm/core/helpers/utils/config-proto.js";import{previewBox as s}from"jodit/esm/core/helpers/utils/print.js";import{Plugin as r}from"jodit/esm/core/plugin/index.js";import{Ajax as t}from"jodit/esm/core/request/ajax.js";import{generateCriticalCSS as i}from"jodit/esm/plugins/print/lib/generate-critical-css.js";import{JoditPro as p}from"../../jodit-pro.js";export class ExportDocs extends r{constructor(){super(...arguments),this.buttons=[{name:"exportDocs",group:"media"}]}afterInit(s){s.registerCommand("exportToPDF",
|
|
6
|
+
import"./config.js";import{Dom as e}from"jodit/esm/core/dom/index.js";import{ConfigDeepFlatten as o}from"jodit/esm/core/helpers/utils/config-proto.js";import{previewBox as s}from"jodit/esm/core/helpers/utils/print.js";import{Plugin as r}from"jodit/esm/core/plugin/index.js";import{Ajax as t}from"jodit/esm/core/request/ajax.js";import{generateCriticalCSS as i}from"jodit/esm/plugins/print/lib/generate-critical-css.js";import{JoditPro as p}from"../../jodit-pro.js";export class ExportDocs extends r{constructor(){super(...arguments),this.buttons=[{name:"exportDocs",group:"media"}]}afterInit(s){s.registerCommand("exportToPDF",async()=>{var r;const i=new t({...null!==(r=s.o.exportDocs.ajax)&&void 0!==r?r:s.o.filebrowser.ajax,method:"POST",responseType:"blob",onProgress(e){s.progressbar.show().progress(e)},data:{action:"generatePdf",html:ExportDocs.getValue(s),options:o(s.o.exportDocs.pdf).options}});s.e.on("beforeDestruct",i.destruct);try{const o=await i.send(),s=await o.blob(),r=this.j.create.a(),t="document.pdf";r.href=URL.createObjectURL(s),r.download=t,r.click(),e.safeRemove(r),URL.revokeObjectURL(r.href)}catch(e){e.message&&s.alert(e.message)}finally{s.progressbar.progress(100),await s.async.delay(200),s.progressbar.hide()}})}static getValue(e){const[o]=s(e),r=[];return e.o.exportDocs.pdf.externalFonts.forEach(e=>{/^</.test(e)?r.push(e):r.push(`<link rel="stylesheet" href="${e}">`)}),r.push(`<style>${i(e)}</style>`),r.push(`<style>${e.o.exportDocs.css}</style>`),r.push(o.innerHTML),r.join("\n")}beforeDestruct(){}}ExportDocs.requires=["license"],p.plugins.add("exportDocs",ExportDocs);
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,s,i){var o,r=arguments.length,a=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,i);else for(var n=e.length-1;n>=0;n--)(o=e[n])&&(a=(r<3?o(a):r>3?o(t,s,a):o(t,s))||a);return r>3&&a&&Object.defineProperty(t,s,a),a};import"./ui/assets/icons/index.js";import{ContextMenuManager as t}from"./helpers/context-menu.js";import{parentPath as s}from"./helpers/helpers.js";import{HistoryManager as i}from"./helpers/history-manager.js";import{LoadingManager as o}from"./helpers/loading-manager.js";import{PersistentStore as r}from"./helpers/persistent-store.js";import{StateManager as a}from"./helpers/state-manager.js";import{UIBrowserHeader as n}from"./ui/header/header.js";import{UILightBox as h}from"./ui/lightboox/lightbox.js";import{UIBrowserPanel as l}from"./ui/panel/panel.js";import{UIProgress as m}from"./ui/progress/progress.js";import{Config as d}from"jodit/esm/config.js";import{IS_PROD as c,KEY_DELETE as p,KEY_DOWN as u,KEY_ENTER as f,KEY_LEFT as g,KEY_RIGHT as w,KEY_UP as v}from"jodit/esm/core/constants.js";import{autobind as b,cache as y,component as j,derive as P,watch as R}from"jodit/esm/core/decorators/index.js";import{ConfigProto as M,css as F,isAbort as S,isString as E,isValidName as C}from"jodit/esm/core/helpers/index.js";import{Dlgs as x}from"jodit/esm/core/traits/dlgs.js";import{Dom as _,observable as B}from"jodit/esm/modules/index.js";import{Dialog as O}from"jodit/esm/modules/dialog/index.js";import{makeDataProvider as k}from"jodit/esm/modules/file-browser/factories.js";import{openImageEditor as I}from"jodit/esm/modules/image-editor/image-editor.js";import{JoditPro as L}from"../../jodit-pro.js";import{license as N}from"../license/license.js";let D=class FileBrowserPro extends O{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)){S(e)||(c||E(e)||console.error(e),this.message.message(E(e)?e:e.message,t?"success":"error",this.options.howLongShowMsg))}get progressbar(){return new m(this,this.stateManager.state)}constructor(e){super(M(Object.assign(e||{},{resizable:!0,draggable:!0,toolbarButtons:(null==e?void 0:e.toolbarButtons)||d.defaultOptions.filebrowser.buttons,buttons:L.atom(["filebrowser.settings","fullsize","dialog.close"])}),d.defaultOptions.filebrowser)),this.dataProvider=k(this,this.options),this.state=B({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 r(this,this.state),this.loadingManager=new o(this,this.state),this.stateManager=new a(this.state),this.historyManager=new i(this,this.state),this.contextMenuManager=new t(this),this.header=new n(this,this.options,this.stateManager),this.panel=new l(this,this.stateManager),this.files=this.panel,this.tree=this.panel,N.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((e=>{0===e&&(e=30),this.state.progress=e})),this.e.on("beforeClose",this.removeGlobalListeners),this.e.fire("afterInit"),L.prototype.afterInitHook.call(this)}addDisclaimer(e){this.dialog.appendChild(e)}async open(e=this.o.defaultCallback,t){return this.state.onlyImages=Boolean(t),this.prepareOpening(e),super.open(this.panel.container),this.e.fire("update.filebrowser")}onResizeWindow(){F(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||!_.isOrContains(this.panel.items.container,t))return;const s=this.state.elements;switch(e.key){case f:return this.onChooseItems();case p:return this.onFileRemove();case w:case g:case u:case v:{const t=e.key===w||e.key===u,i=this.state.lastSelectedIndex;let o;if([w,g].includes(e.key))o=t?s[i+1]?i+1:0:s[i-1]?i-1:s.length-1;else{const{countInRow:e}=this.panel;o=Math.round(((i+1)/e+(t?1:-1))*e-1)}return s[o]&&this.stateManager.addActive(s[o],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((e=>{var i;t.push("folder"===e.type?this.__folderRemove(s(e.path),null!==(i=e.name)&&void 0!==i?i:"",e.sourceName):this.__removeFile(e.file||e.name||"",e.sourceName))})),this.state.activeElements.forEach((e=>{this.stateManager.isFavorite(e)&&this.stateManager.toggleFavorite(e)})),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((t=>{this.status(t||this.i18n('File "%s" was deleted',e),!0)})).catch(this.status)}__folderRemove(e,t,i){return this.dataProvider.folderRemove(e,t,i).then((o=>{this.status(o||this.i18n('Folder "%s" was deleted',t),!0),this.state.currentPath===e&&(this.state.currentPath=s(e),this.state.currentSource=i)})).catch(this.status)}onFileEdit(){if(1===this.state.activeElements.length){const[e]=this.state.activeElements;I.call(this,e.fileURL,e.file||"",e.path,e.sourceName,void 0,this.status)}}onFolderRename(e){this.prompt("Enter new name","Rename",(t=>{if(!C(t)||t===e.name)return this.status(this.i18n("Enter new name")),!1;this.dataProvider.folderRename(s(e.path),e.name,t,e.sourceName).then((i=>{this.state.activeElements=[],this.status(i,!0),this.state.currentPath=s(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||"";1===this.state.activeElements.length&&t&&this.prompt("Enter new name","Rename",(e=>{if(!C(e))return this.status(this.i18n("Enter new name")),!1;this.dataProvider.fileRename(this.state.currentPath,t,e,this.state.currentSource).then((e=>{this.state.activeElements=[],this.status(e,!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("folder"===e[0].type)return this.state.currentPath=this.state.currentPath+"/"+e[0].name,this.state.currentSource=e[0].sourceName,void this.e.fire("afterOpenFolder.filebrowser");this.state.onSelectCallBack?this.stateManager.callSelectHandler():this.onOpenLightBox(e[0])}}onOpenLightBox(e){h.open(this,e,this.state.elements)}initUploader(){const e=this,t=M(e.o.uploader||{},d.defaultOptions.uploader),uploadHandler=()=>this.loadingManager.loadItems();e.uploader=e.getInstance("Uploader",t),e.uploader.bind(e.panel.container,uploadHandler,e.status),e.e.on("bindUploader.filebrowser",(t=>{e.uploader.bind(t,uploadHandler,e.status)}))}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((e=>{null!=this.options[e]&&(this.options[e]=M(this.options[e],this.o.ajax))}))}};e([b],D.prototype,"status",null),e([y],D.prototype,"progressbar",null),e([R(":resize",{context:window})],D.prototype,"onResizeWindow",null),e([R(["state.currentPath","state.currentSource"])],D.prototype,"onChangePath",null),e([R("state.theme")],D.prototype,"onChangeTheme",null),e([R(":toggleSettings.filebrowser")],D.prototype,"onToggleSettings",null),e([b],D.prototype,"onKeyPress",null),e([b],D.prototype,"removeGlobalListeners",null),e([R(":fileRemove.filebrowser")],D.prototype,"onFileRemove",null),e([R(":edit.filebrowser")],D.prototype,"onFileEdit",null),e([R(":folderRename.filebrowser")],D.prototype,"onFolderRename",null),e([R(":folderRemove.filebrowser")],D.prototype,"onFolderRemove",null),e([R(":folderCreate.filebrowser")],D.prototype,"onFolderCreate",null),e([R(":fileRename.filebrowser")],D.prototype,"onFileRename",null),e([R(":select.filebrowser")],D.prototype,"onChooseItems",null),e([R(":openLightBox.filebrowser")],D.prototype,"onOpenLightBox",null),D=e([j,P(x)],D);export{D as FileBrowserPro};Object.defineProperty(L.modules,"FileBrowserPro",{value:D,writable:!1,enumerable:!0,configurable:!0});
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,s,i){var o,r=arguments.length,a=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,i);else for(var n=e.length-1;n>=0;n--)(o=e[n])&&(a=(r<3?o(a):r>3?o(t,s,a):o(t,s))||a);return r>3&&a&&Object.defineProperty(t,s,a),a};import"./ui/assets/icons/index.js";import{ContextMenuManager as t}from"./helpers/context-menu.js";import{parentPath as s}from"./helpers/helpers.js";import{HistoryManager as i}from"./helpers/history-manager.js";import{LoadingManager as o}from"./helpers/loading-manager.js";import{PersistentStore as r}from"./helpers/persistent-store.js";import{StateManager as a}from"./helpers/state-manager.js";import{UIBrowserHeader as n}from"./ui/header/header.js";import{UILightBox as h}from"./ui/lightboox/lightbox.js";import{UIBrowserPanel as l}from"./ui/panel/panel.js";import{UIProgress as m}from"./ui/progress/progress.js";import{Config as d}from"jodit/esm/config.js";import{IS_PROD as c,KEY_DELETE as p,KEY_DOWN as u,KEY_ENTER as f,KEY_LEFT as g,KEY_RIGHT as w,KEY_UP as v}from"jodit/esm/core/constants.js";import{autobind as b,cache as y,component as j,derive as P,watch as R}from"jodit/esm/core/decorators/index.js";import{ConfigProto as M,css as F,isAbort as S,isString as E,isValidName as C}from"jodit/esm/core/helpers/index.js";import{Dlgs as x}from"jodit/esm/core/traits/dlgs.js";import{Dom as _,observable as B}from"jodit/esm/modules/index.js";import{Dialog as O}from"jodit/esm/modules/dialog/index.js";import{makeDataProvider as k}from"jodit/esm/modules/file-browser/factories.js";import{openImageEditor as I}from"jodit/esm/modules/image-editor/image-editor.js";import{JoditPro as L}from"../../jodit-pro.js";import{license as N}from"../license/license.js";let D=class FileBrowserPro extends O{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)){S(e)||(c||E(e)||console.error(e),this.message.message(E(e)?e:e.message,t?"success":"error",this.options.howLongShowMsg))}get progressbar(){return new m(this,this.stateManager.state)}constructor(e){super(M(Object.assign(e||{},{resizable:!0,draggable:!0,toolbarButtons:(null==e?void 0:e.toolbarButtons)||d.defaultOptions.filebrowser.buttons,buttons:L.atom(["filebrowser.settings","fullsize","dialog.close"])}),d.defaultOptions.filebrowser)),this.dataProvider=k(this,this.options),this.state=B({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 r(this,this.state),this.loadingManager=new o(this,this.state),this.stateManager=new a(this.state),this.historyManager=new i(this,this.state),this.contextMenuManager=new t(this),this.header=new n(this,this.options,this.stateManager),this.panel=new l(this,this.stateManager),this.files=this.panel,this.tree=this.panel,N.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(e=>{0===e&&(e=30),this.state.progress=e}),this.e.on("beforeClose",this.removeGlobalListeners),this.e.fire("afterInit"),L.prototype.afterInitHook.call(this)}addDisclaimer(e){this.dialog.appendChild(e)}async open(e=this.o.defaultCallback,t){return this.state.onlyImages=Boolean(t),this.prepareOpening(e),super.open(this.panel.container),this.e.fire("update.filebrowser")}onResizeWindow(){F(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||!_.isOrContains(this.panel.items.container,t))return;const s=this.state.elements;switch(e.key){case f:return this.onChooseItems();case p:return this.onFileRemove();case w:case g:case u:case v:{const t=e.key===w||e.key===u,i=this.state.lastSelectedIndex;let o;if([w,g].includes(e.key))o=t?s[i+1]?i+1:0:s[i-1]?i-1:s.length-1;else{const{countInRow:e}=this.panel;o=Math.round(((i+1)/e+(t?1:-1))*e-1)}return s[o]&&this.stateManager.addActive(s[o],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(e=>{var i;t.push("folder"===e.type?this.__folderRemove(s(e.path),null!==(i=e.name)&&void 0!==i?i:"",e.sourceName):this.__removeFile(e.file||e.name||"",e.sourceName))}),this.state.activeElements.forEach(e=>{this.stateManager.isFavorite(e)&&this.stateManager.toggleFavorite(e)}),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(t=>{this.status(t||this.i18n('File "%s" was deleted',e),!0)}).catch(this.status)}__folderRemove(e,t,i){return this.dataProvider.folderRemove(e,t,i).then(o=>{this.status(o||this.i18n('Folder "%s" was deleted',t),!0),this.state.currentPath===e&&(this.state.currentPath=s(e),this.state.currentSource=i)}).catch(this.status)}onFileEdit(){if(1===this.state.activeElements.length){const[e]=this.state.activeElements;I.call(this,e.fileURL,e.file||"",e.path,e.sourceName,void 0,this.status)}}onFolderRename(e){this.prompt("Enter new name","Rename",t=>{if(!C(t)||t===e.name)return this.status(this.i18n("Enter new name")),!1;this.dataProvider.folderRename(s(e.path),e.name,t,e.sourceName).then(i=>{this.state.activeElements=[],this.status(i,!0),this.state.currentPath=s(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||"";1===this.state.activeElements.length&&t&&this.prompt("Enter new name","Rename",e=>{if(!C(e))return this.status(this.i18n("Enter new name")),!1;this.dataProvider.fileRename(this.state.currentPath,t,e,this.state.currentSource).then(e=>{this.state.activeElements=[],this.status(e,!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("folder"===e[0].type)return this.state.currentPath=this.state.currentPath+"/"+e[0].name,this.state.currentSource=e[0].sourceName,void this.e.fire("afterOpenFolder.filebrowser");this.state.onSelectCallBack?this.stateManager.callSelectHandler():this.onOpenLightBox(e[0])}}onOpenLightBox(e){h.open(this,e,this.state.elements)}initUploader(){const e=this,t=M(e.o.uploader||{},d.defaultOptions.uploader),uploadHandler=()=>this.loadingManager.loadItems();e.uploader=e.getInstance("Uploader",t),e.uploader.bind(e.panel.container,uploadHandler,e.status),e.e.on("bindUploader.filebrowser",t=>{e.uploader.bind(t,uploadHandler,e.status)})}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(e=>{null!=this.options[e]&&(this.options[e]=M(this.options[e],this.o.ajax))})}};e([b],D.prototype,"status",null),e([y],D.prototype,"progressbar",null),e([R(":resize",{context:window})],D.prototype,"onResizeWindow",null),e([R(["state.currentPath","state.currentSource"])],D.prototype,"onChangePath",null),e([R("state.theme")],D.prototype,"onChangeTheme",null),e([R(":toggleSettings.filebrowser")],D.prototype,"onToggleSettings",null),e([b],D.prototype,"onKeyPress",null),e([b],D.prototype,"removeGlobalListeners",null),e([R(":fileRemove.filebrowser")],D.prototype,"onFileRemove",null),e([R(":edit.filebrowser")],D.prototype,"onFileEdit",null),e([R(":folderRename.filebrowser")],D.prototype,"onFolderRename",null),e([R(":folderRemove.filebrowser")],D.prototype,"onFolderRemove",null),e([R(":folderCreate.filebrowser")],D.prototype,"onFolderCreate",null),e([R(":fileRename.filebrowser")],D.prototype,"onFileRename",null),e([R(":select.filebrowser")],D.prototype,"onChooseItems",null),e([R(":openLightBox.filebrowser")],D.prototype,"onOpenLightBox",null),D=e([j,P(x)],D);export{D as FileBrowserPro};Object.defineProperty(L.modules,"FileBrowserPro",{value:D,writable:!1,enumerable:!0,configurable:!0});
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
import"./config.js";import{FileBrowserPro as e}from"./browser.js";import{Plugin as t}from"jodit/esm/core/plugin/index.js";import{JoditPro as r}from"../../jodit-pro.js";export class finder extends t{constructor(){super(...arguments),this.hasStyle=!r.fatMode}afterInit(t){t.e.on("getInstanceFileBrowser",
|
|
6
|
+
import"./config.js";import{FileBrowserPro as e}from"./browser.js";import{Plugin as t}from"jodit/esm/core/plugin/index.js";import{JoditPro as r}from"../../jodit-pro.js";export class finder extends t{constructor(){super(...arguments),this.hasStyle=!r.fatMode}afterInit(t){t.e.on("getInstanceFileBrowser",t=>(this.__instance||(this.__instance=new e(t)),this.__instance))}beforeDestruct(e){var t;e.e.off("getInstanceFileBrowser"),null===(t=this.__instance)||void 0===t||t.destruct()}}finder.requires=["license"],r.plugins.add("finder",finder);
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,o,n){var i,r=arguments.length,l=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(l=(r<3?i(l):r>3?i(t,o,l):i(t,o))||l);return r>3&&l&&Object.defineProperty(t,o,l),l};import{ViewComponent as t}from"jodit/esm/core/component/view-component.js";import{component as o,watch as n}from"jodit/esm/core/decorators/index.js";import{makeContextMenu as i}from"jodit/esm/modules/file-browser/factories.js";let r=class ContextMenuManager extends t{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}buildContextItemMenu(e,t){if(!this.j.o.contextMenu)return;const o=i(this.j).setMod("theme",this.j.state.theme);o.show(t.clientX,t.clientY,e.filter(
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,o,n){var i,r=arguments.length,l=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(l=(r<3?i(l):r>3?i(t,o,l):i(t,o))||l);return r>3&&l&&Object.defineProperty(t,o,l),l};import{ViewComponent as t}from"jodit/esm/core/component/view-component.js";import{component as o,watch as n}from"jodit/esm/core/decorators/index.js";import{makeContextMenu as i}from"jodit/esm/modules/file-browser/factories.js";let r=class ContextMenuManager extends t{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}buildContextItemMenu(e,t){if(!this.j.o.contextMenu)return;const o=i(this.j).setMod("theme",this.j.state.theme);o.show(t.clientX,t.clientY,e.filter(e=>e&&!1!==e.enabled)),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),"folder"===e.type)return this.getFolderContextActions({type:"directory",children:[],name:e.name||"",path:e.path,sourceName:e.sourceName});const t=this.j.options,o=this.j.dataProvider,n=1===this.j.state.activeElements.length;return[{icon:"pencil",title:"Edit",enabled:Boolean(e.isImage)&&t.editImage&&n&&(o.canI("ImageResize")||o.canI("ImageCrop")),exec:()=>{this.j.e.fire("edit.filebrowser")}},{icon:"italic",title:"Rename",enabled:o.canI("FileRename")&&n,exec:()=>this.j.e.fire("fileRename.filebrowser",e)},{icon:"bin",title:"Delete",enabled:o.canI("FileRemove"),exec:()=>this.j.e.fire("fileRemove.filebrowser",e)},{icon:"eye",title:"Preview",enabled:Boolean(e.isImage||"file"===e.type)&&t.preview&&n,exec:()=>this.j.e.fire("openLightBox.filebrowser",e)},{icon:"upload",title:"Download",exec:()=>{e.fileURL&&this.j.ow.open(e.fileURL)}}]}getFolderContextActions(e){const t=this.j.dataProvider;return[{icon:"pencil",title:"Rename",exec:()=>{this.j.e.fire("folderRename.filebrowser",e)},enabled:t.canI("FolderRename")},{icon:"bin",title:"Delete",exec:()=>{this.j.e.fire("folderRemove.filebrowser",e)},enabled:t.canI("FolderRemove")},{icon:"plus",title:"Add folder",exec:()=>{this.j.e.fire("folderCreate.filebrowser",e)},enabled:t.canI("FolderCreate")}]}getSourceContextActions(e){return[{icon:"plus",title:"Create folder",exec:()=>{this.j.e.fire("folderCreate.filebrowser",e)}}]}};e([n(":contextmenuFolder.filebrowser")],r.prototype,"onFolderContext",null),e([n(":contextmenuItem.filebrowser")],r.prototype,"onItemContext",null),e([n(":contextmenuSource.filebrowser")],r.prototype,"onSourceContext",null),r=e([o],r);export{r as ContextMenuManager};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
export const parentPath=t=>{const n=t.split("/").filter(
|
|
6
|
+
export const parentPath=t=>{const n=t.split("/").filter(t=>t.length);return n.pop(),n.join("/")||"/"};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var t=this&&this.__decorate||function(t,e,s,i){var o,a=arguments.length,n=a<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,s,i);else for(var r=t.length-1;r>=0;r--)(o=t[r])&&(n=(a<3?o(n):a>3?o(e,s,n):o(e,s))||n);return a>3&&n&&Object.defineProperty(e,s,n),n};import{ViewComponent as e}from"jodit/esm/core/component/index.js";import{component as s,debounce as i,watch as o}from"jodit/esm/core/decorators/index.js";let a=class LoadingManager extends e{className(){return"LoadingManager"}constructor(t,e){super(t),this.state=e,this.__tick=0,this.offset=0,this.countInOneChunk=20,this.stopLoadingParts=!1,this.__isLoadingPart=!1,this.__callQueueCount=0}async onUpdateFileBrowser(){this.state.activeElements=[],this.j.panel.setMod("loading",!0),await Promise.all([this.loadFolders(),this.loadItems()]),this.j.panel.setMod("loading",!1)}async loadFolders(){if(!this.j.isOpened)return;const{currentPath:t,currentSource:e}=this.state;try{const s=await this.j.dataProvider.tree(t,e);this.j.stateManager.fillTreeForPath(s,t),this.state.sources=s}catch(t){this.j.status(t)}}async loadItems(){if(this.j.isOpened)try{this.__tick+=1;const{__tick:t}=this;this.offset=0,this.stopLoadingParts=!1,this.__callQueueCount=0;const{items:e,loadedTotal:s}=await loadPartItems(this.state,this.j.dataProvider,this.offset,this.countInOneChunk);if(this.state.elements=e,this.stopLoadingParts=s<this.countInOneChunk,await this.loadItemsChunk(t),await this.async.requestIdlePromise(),this.__tick!==t)return;for(;!this.stopLoadingParts&&this.j.panel.countInColumn*this.j.panel.countInRow>=this.state.elements.length;)if(await this.loadItemsChunk(t),this.__tick!==t)return}catch(t){this.j.status(t)}}async __loadItemsChunk(t){if(this.__isLoadingPart)this.__callQueueCount+=1;else{if(!this.stopLoadingParts){this.__isLoadingPart=!0,this.j.panel.items.setMod("chunk-loading",!0);try{this.offset+=this.countInOneChunk;const{items:e,loadedTotal:s}=await loadPartItems(this.state,this.j.dataProvider,this.offset,this.countInOneChunk);if(this.__tick!==t)return;this.stopLoadingParts=s<this.countInOneChunk,e.length&&(this.state.elements=this.state.elements.concat(e))}catch(t){this.j.status(t)}return this.j.panel.items.setMod("chunk-loading",!1),this.__isLoadingPart=!1,this.__callQueueCount>0?(this.__callQueueCount-=1,this.__loadItemsChunk(t)):void 0}this.__callQueueCount=0}}loadItemsChunk(t=this.__tick){return t!==this.__tick?Promise.resolve():this.__loadItemsChunk(t)}};t([o(":update.filebrowser")],a.prototype,"onUpdateFileBrowser",null),t([o(["state.currentPath","state.currentSource"]),i(
|
|
6
|
+
var t=this&&this.__decorate||function(t,e,s,i){var o,a=arguments.length,n=a<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,s,i);else for(var r=t.length-1;r>=0;r--)(o=t[r])&&(n=(a<3?o(n):a>3?o(e,s,n):o(e,s))||n);return a>3&&n&&Object.defineProperty(e,s,n),n};import{ViewComponent as e}from"jodit/esm/core/component/index.js";import{component as s,debounce as i,watch as o}from"jodit/esm/core/decorators/index.js";let a=class LoadingManager extends e{className(){return"LoadingManager"}constructor(t,e){super(t),this.state=e,this.__tick=0,this.offset=0,this.countInOneChunk=20,this.stopLoadingParts=!1,this.__isLoadingPart=!1,this.__callQueueCount=0}async onUpdateFileBrowser(){this.state.activeElements=[],this.j.panel.setMod("loading",!0),await Promise.all([this.loadFolders(),this.loadItems()]),this.j.panel.setMod("loading",!1)}async loadFolders(){if(!this.j.isOpened)return;const{currentPath:t,currentSource:e}=this.state;try{const s=await this.j.dataProvider.tree(t,e);this.j.stateManager.fillTreeForPath(s,t),this.state.sources=s}catch(t){this.j.status(t)}}async loadItems(){if(this.j.isOpened)try{this.__tick+=1;const{__tick:t}=this;this.offset=0,this.stopLoadingParts=!1,this.__callQueueCount=0;const{items:e,loadedTotal:s}=await loadPartItems(this.state,this.j.dataProvider,this.offset,this.countInOneChunk);if(this.state.elements=e,this.stopLoadingParts=s<this.countInOneChunk,await this.loadItemsChunk(t),await this.async.requestIdlePromise(),this.__tick!==t)return;for(;!this.stopLoadingParts&&this.j.panel.countInColumn*this.j.panel.countInRow>=this.state.elements.length;)if(await this.loadItemsChunk(t),this.__tick!==t)return}catch(t){this.j.status(t)}}async __loadItemsChunk(t){if(this.__isLoadingPart)this.__callQueueCount+=1;else{if(!this.stopLoadingParts){this.__isLoadingPart=!0,this.j.panel.items.setMod("chunk-loading",!0);try{this.offset+=this.countInOneChunk;const{items:e,loadedTotal:s}=await loadPartItems(this.state,this.j.dataProvider,this.offset,this.countInOneChunk);if(this.__tick!==t)return;this.stopLoadingParts=s<this.countInOneChunk,e.length&&(this.state.elements=this.state.elements.concat(e))}catch(t){this.j.status(t)}return this.j.panel.items.setMod("chunk-loading",!1),this.__isLoadingPart=!1,this.__callQueueCount>0?(this.__callQueueCount-=1,this.__loadItemsChunk(t)):void 0}this.__callQueueCount=0}}loadItemsChunk(t=this.__tick){return t!==this.__tick?Promise.resolve():this.__loadItemsChunk(t)}};t([o(":update.filebrowser")],a.prototype,"onUpdateFileBrowser",null),t([o(["state.currentPath","state.currentSource"]),i(t=>({timeout:t.defaultTimeout,promisify:!0}))],a.prototype,"loadFolders",null),t([o(["state.currentPath","state.currentSource","state.sortBy","state.onlyImages","state.foldersPosition","state.filterWord"]),i(t=>({timeout:t.defaultTimeout,promisify:!0}))],a.prototype,"loadItems",null),t([i(t=>({timeout:t.defaultTimeout,promisify:!0}))],a.prototype,"loadItemsChunk",null),a=t([s],a);export{a as LoadingManager};function loadPartItems(t,e,s,i){const{currentPath:o,currentSource:a,sortBy:n,withFolders:r,foldersPosition:h,onlyImages:l,filterWord:u}=t;return e.itemsEx(o,a,{offset:s,limit:i,sortBy:n,withFolders:r,foldersPosition:h,onlyImages:l,filterWord:u})}
|
|
@@ -3,4 +3,4 @@ var t=this&&this.__decorate||function(t,e,o,s){var i,r=arguments.length,h=r<3?e:
|
|
|
3
3
|
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
4
4
|
* See LICENSE.md in the project root for license information.
|
|
5
5
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
6
|
-
*/import{ViewComponent as e}from"jodit/esm/core/component/index.js";import{component as o,persistent as s,watch as i}from"jodit/esm/core/decorators/index.js";import{FileBrowserItem as r}from"jodit/esm/modules/file-browser/builders/item.js";let h=class PersistentStore extends e{className(){return"PersistentStore"}constructor(t,e){super(t),this.state=e,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.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(
|
|
6
|
+
*/import{ViewComponent as e}from"jodit/esm/core/component/index.js";import{component as o,persistent as s,watch as i}from"jodit/esm/core/decorators/index.js";import{FileBrowserItem as r}from"jodit/esm/modules/file-browser/builders/item.js";let h=class PersistentStore extends e{className(){return"PersistentStore"}constructor(t,e){super(t),this.state=e,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.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(t=>t instanceof r?t:r.create(t)),this.state.view=this.view,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}};t([s],h.prototype,"theme",void 0),t([s],h.prototype,"sortBy",void 0),t([s],h.prototype,"view",void 0),t([s],h.prototype,"foldersPosition",void 0),t([s],h.prototype,"tileSize",void 0),t([s],h.prototype,"favorites",void 0),t([s],h.prototype,"showSideBar",void 0),t([s],h.prototype,"showPreview",void 0),t([s],h.prototype,"showFavorites",void 0),t([i("state.theme")],h.prototype,"onChangeThemeSetField",null),t([i("state.view")],h.prototype,"onChangeView",null),t([i("state.sortBy")],h.prototype,"onChangeSortBy",null),t([i("state.tileSize")],h.prototype,"onChangeTileSize",null),t([i("state.favorites")],h.prototype,"onChangeFavorites",null),t([i("state.showSideBar")],h.prototype,"onChangeShowSideBar",null),t([i("state.showPreview")],h.prototype,"onChangeShowPreview",null),t([i("state.showFavorites")],h.prototype,"onChangeShowFavorites",null),t([i("state.foldersPosition")],h.prototype,"onChangeFoldersPosition",null),h=t([o],h);export{h as PersistentStore};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,i,s){var r,a=arguments.length,n=a<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(n=(a<3?r(n):a>3?r(t,i,n):r(t,i))||n);return a>3&&n&&Object.defineProperty(t,i,n),n};import{autobind as t}from"jodit/esm/core/decorators/index.js";export class StateManager{constructor(e){this.state=e}getIndex(e,t=this.state.elements){return t.findIndex(
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,i,s){var r,a=arguments.length,n=a<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(n=(a<3?r(n):a>3?r(t,i,n):r(t,i))||n);return a>3&&n&&Object.defineProperty(t,i,n),n};import{autobind as t}from"jodit/esm/core/decorators/index.js";export class StateManager{constructor(e){this.state=e}getIndex(e,t=this.state.elements){return t.findIndex(t=>t.uniqueHashKey===e.uniqueHashKey)}isActive(e){return Boolean(this.state.activeElements.find(t=>t.uniqueHashKey===e.uniqueHashKey))}isFavorite(e){return Boolean(this.state.favorites.find(t=>t.uniqueHashKey===e.uniqueHashKey))}addActive(e,t){var i;this.state.metaInfo=e,this.state.info=null!==(i=e.file)&&void 0!==i?i:"",this.state.lastSelectedIndex=this.getIndex(e),this.state.activeElements=t?[...this.state.activeElements,e]:[e]}callSelectHandler(){var e;const t=this.state.activeElements;null===(e=this.state.onSelectCallBack)||void 0===e||e.call(this,{baseurl:"",files:t.map(e=>e.fileURL),isImages:t.map(e=>Boolean(e.isImage))})}setFilter(e){this.state.filterWord=e}toggleFavorite(e){const t=this.getIndex(e,this.state.favorites),i=[...this.state.favorites];-1===t?i.push(e):i.splice(t,1),this.state.favorites=i}fillTreeForPath(e,t){this.state.tree.length&&t&&"/"!==t?(this.removeActive(this.state.tree),e.forEach(e=>{let i=findItem(this.state.tree,e.name);i||(i=sourceToTreeItem(e),this.state.tree.push(i)),i.isActive=!0;const s=function findTreeItem(e,t){return e.split("/").reduce((e,t)=>e&&findItem(e.children,t),t)}(t,i);s&&(s.isActive=!0,s.children=filterFolders(e.folders).map(i=>folderToTreeItem(i,t+"/"+i,e.name)))}),this.state.tree=[...this.state.tree]):this.state.tree=e.map(sourceToTreeItem)}removeActive(e){e.forEach(e=>{e.isActive=!1,this.removeActive(e.children)})}get isFavoriteItems(){return this.state.favorites===this.state.elements}}function findItem(e,t){var i;return null!==(i=e.find(e=>e.name===t))&&void 0!==i?i:null}function filterFolders(e){return e.filter(e=>"."!==e&&".."!==e)}function sourceToTreeItem(e){return{type:"source",name:e.name,title:e.title,sourceName:e.name,path:"/",children:filterFolders(e.folders).map(t=>folderToTreeItem(t,t,e.name))}}function folderToTreeItem(e,t,i){return{type:"directory",name:e,path:t,sourceName:i,children:[]}}e([t],StateManager.prototype,"getIndex",null),e([t],StateManager.prototype,"isActive",null),e([t],StateManager.prototype,"isFavorite",null);
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var t=this&&this.__decorate||function(t,e,r,o){var n,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(s=(i<3?n(s):i>3?n(e,r,s):n(e,r))||s);return i>3&&s&&Object.defineProperty(e,r,s),s};import{component as e}from"jodit/esm/core/decorators/component/component.js";import{assert as r}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as o}from"jodit/esm/core/ui/index.js";let n=class UIBrowserFolder extends o{className(){return"UIBrowserFolder"}render(){return'<div>\n\t\t\t<div class="&__icon">\n\t\t\t\t<div class=\'&__loader\'></div>\n\t\t\t\t<div class="&__icon-wrapper">\n\t\t\t\t\t*folder*\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="&__name"></div>\n\t\t\t<div class="&__arrow">*angle-right*</div>\n\t\t</div>'}constructor(t,e){super(t),this.item=e,this.syncMod=!0;const o=this.getElm("name");r(null!=o,"name element does not exists"),o.innerText=e.name,t.e.on(this.container,"click",(
|
|
6
|
+
var t=this&&this.__decorate||function(t,e,r,o){var n,i=arguments.length,s=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(s=(i<3?n(s):i>3?n(e,r,s):n(e,r))||s);return i>3&&s&&Object.defineProperty(e,r,s),s};import{component as e}from"jodit/esm/core/decorators/component/component.js";import{assert as r}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as o}from"jodit/esm/core/ui/index.js";let n=class UIBrowserFolder extends o{className(){return"UIBrowserFolder"}render(){return'<div>\n\t\t\t<div class="&__icon">\n\t\t\t\t<div class=\'&__loader\'></div>\n\t\t\t\t<div class="&__icon-wrapper">\n\t\t\t\t\t*folder*\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="&__name"></div>\n\t\t\t<div class="&__arrow">*angle-right*</div>\n\t\t</div>'}constructor(t,e){super(t),this.item=e,this.syncMod=!0;const o=this.getElm("name");r(null!=o,"name element does not exists"),o.innerText=e.name,t.e.on(this.container,"click",()=>(this.getMod("active")||this.setMod("loading",!0),t.e.fire("openFolder",e))).on(this.container,"contextmenu",r=>t.e.fire("contextmenuFolder.filebrowser",e,r))}};n=t([e],n);export{n as UIBrowserFolder};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,r,o){var s,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(a=(i<3?s(a):i>3?s(t,r,a):s(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};import{component as t}from"jodit/esm/core/decorators/index.js";import{isString as r}from"jodit/esm/core/helpers/checker/is-string.js";import{UIGroup as o,UIInput as s}from"jodit/esm/core/ui/index.js";import{makeCollection as i}from"jodit/esm/modules/toolbar/factory.js";let a=class UIBrowserHeader extends o{className(){return"UIBrowserHeader"}constructor(e,t,r){super(e),this.options=t,this.stateManager=r,this.syncMod=!0,this.toolbar=i(this.j),this.filter=new s(this.j,{icon:"search",placeholder:"Filter",clearButton:!0,onChange:e=>{this.stateManager.setFilter(e)}}),this.append(this.toolbar).append(this.filter),this.filter.container.classList.add(this.getFullElName("filter")),this.toolbar.setMod("mode","header").build(this.__getButtons())}__getButtons(){var e;return(null!==(e=this.options.toolbarButtons)&&void 0!==e?e:[]).filter(
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,r,o){var s,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(a=(i<3?s(a):i>3?s(t,r,a):s(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};import{component as t}from"jodit/esm/core/decorators/index.js";import{isString as r}from"jodit/esm/core/helpers/checker/is-string.js";import{UIGroup as o,UIInput as s}from"jodit/esm/core/ui/index.js";import{makeCollection as i}from"jodit/esm/modules/toolbar/factory.js";let a=class UIBrowserHeader extends o{className(){return"UIBrowserHeader"}constructor(e,t,r){super(e),this.options=t,this.stateManager=r,this.syncMod=!0,this.toolbar=i(this.j),this.filter=new s(this.j,{icon:"search",placeholder:"Filter",clearButton:!0,onChange:e=>{this.stateManager.setFilter(e)}}),this.append(this.toolbar).append(this.filter),this.filter.container.classList.add(this.getFullElName("filter")),this.toolbar.setMod("mode","header").build(this.__getButtons())}__getButtons(){var e;return(null!==(e=this.options.toolbarButtons)&&void 0!==e?e:[]).filter(e=>{if(!r(e))return!0;switch(e){case"filebrowser.edit":return this.j.dataProvider.canI("ImageResize")||this.j.dataProvider.canI("ImageCrop");case"filebrowser.new-folder":return this.j.dataProvider.canI("FolderCreate");case"filebrowser.upload":return this.j.dataProvider.canI("FileUpload");case"filebrowser.remove":return this.j.dataProvider.canI("FileRemove")}return!0})}};a=e([t],a);export{a as UIBrowserHeader};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,i,r){var s,o=arguments.length,n=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(s=e[l])&&(n=(o<3?s(n):o>3?s(t,i,n):s(t,i))||n);return o>3&&n&&Object.defineProperty(t,i,n),n};import{component as t,watch as i}from"jodit/esm/core/decorators/index.js";import{attr as r,css as s,ctrlKey as o}from"jodit/esm/core/helpers/index.js";import{assert as n}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as l}from"jodit/esm/core/ui/index.js";import{Dom as m}from"jodit/esm/modules/index.js";import{FileBrowserItem as c}from"jodit/esm/modules/file-browser/builders/item.js";let a=class UIBrowserItem extends l{className(){return"UIBrowserItem"}constructor(e,t){super(e),this.item=c.create(t),e.e.on(this.container,"click contextmenu dblclick",
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,i,r){var s,o=arguments.length,n=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var l=e.length-1;l>=0;l--)(s=e[l])&&(n=(o<3?s(n):o>3?s(t,i,n):s(t,i))||n);return o>3&&n&&Object.defineProperty(t,i,n),n};import{component as t,watch as i}from"jodit/esm/core/decorators/index.js";import{attr as r,css as s,ctrlKey as o}from"jodit/esm/core/helpers/index.js";import{assert as n}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as l}from"jodit/esm/core/ui/index.js";import{Dom as m}from"jodit/esm/modules/index.js";import{FileBrowserItem as c}from"jodit/esm/modules/file-browser/builders/item.js";let a=class UIBrowserItem extends l{className(){return"UIBrowserItem"}constructor(e,t){super(e),this.item=c.create(t),e.e.on(this.container,"click contextmenu dblclick",t=>(e.e.fire(t.type+"Item.filebrowser",this.item,o(t)||t.shiftKey,t),!1)),this.update()}render(){return"<div tabindex='-1'>\n\t\t\t<div class='&__image'></div>\n\t\t\t<div class='&__info'></div>\n\t\t\t<div class='&__heart'>*heart*</div>\n\t\t</div>"}onClickFavorite(){return this.bubble(e=>{this.jodit.e.fire(e,"toggleFavoriteItem",this.item)}),!1}onAction(e){return this.jodit.e.fire(e.type+"Item.filebrowser",this.item,o(e)||e.shiftKey,e),!1}update(){const e=this.getElm("image");n(null!=e,"image element does not exists"),s(e,"backgroundImage",`url(${encodeURI(this.item.imageURL)})`);const{type:t,file:i,time:o,size:l}=this.item;this.setMod("is-file",!1===this.item.isImage).setMod("type",null!=t?t:"file").setElementValue("name",i).setElementValue("time",o).setElementValue("filesize",l),r(this.container,"title","folder"!==t?`${i} ${o} ${l}`:i),super.update()}setElementValue(e,t){const i=this.getFullElName(e);let r=this.getElm(e);if(!t)return r&&m.safeRemove(r),this;if(!r){const e=this.getElm("info");n(null!=e,"wrapper element does not exist"),r=this.j.create.div(i),e.appendChild(r)}return r.innerText=t,this}};e([i("heart:click")],a.prototype,"onClickFavorite",null),e([i(["container:click","container:contextmenu","container:dblclick"])],a.prototype,"onAction",null),a=e([t],a);export{a as UIBrowserItem};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e,t=this&&this.__decorate||function(e,t,s,i){var o,r=arguments.length,n=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(n=(r<3?o(n):r>3?o(t,s,n):o(t,s))||n);return r>3&&n&&Object.defineProperty(t,s,n),n};import{KEY_LEFT as s,KEY_RIGHT as i,KEY_SPACE as o}from"jodit/esm/core/constants.js";import{autobind as r,component as n,watch as l}from"jodit/esm/core/decorators/index.js";import{css as a,loadImage as c}from"jodit/esm/core/helpers/index.js";import{assert as h}from"jodit/esm/core/helpers/utils/assert.js";import{Dialog as d,Dom as m,UIElement as u}from"jodit/esm/modules/index.js";let g=e=class UILightBox extends u{className(){return"UILightBox"}render(){return"<div>\n\t\t\t<div class='&__previous'>*angle-left*</div>\n\t\t\t<div class='&__preview'></div>\n\t\t\t<div class='&__loader'></div>\n\t\t\t<div class='&__next'>*angle-right*</div>\n\t\t</div>"}constructor(e,t,s){super(e),this.current=t,this.elements=s,this.dialog=new d;const{dialog:i}=this;i.setMod("theme",e.state.theme).toolbar.setMod("mode","header"),i.open(this),this.elements=this.elements.filter(
|
|
6
|
+
var e,t=this&&this.__decorate||function(e,t,s,i){var o,r=arguments.length,n=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,i);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(n=(r<3?o(n):r>3?o(t,s,n):o(t,s))||n);return r>3&&n&&Object.defineProperty(t,s,n),n};import{KEY_LEFT as s,KEY_RIGHT as i,KEY_SPACE as o}from"jodit/esm/core/constants.js";import{autobind as r,component as n,watch as l}from"jodit/esm/core/decorators/index.js";import{css as a,loadImage as c}from"jodit/esm/core/helpers/index.js";import{assert as h}from"jodit/esm/core/helpers/utils/assert.js";import{Dialog as d,Dom as m,UIElement as u}from"jodit/esm/modules/index.js";let g=e=class UILightBox extends u{className(){return"UILightBox"}render(){return"<div>\n\t\t\t<div class='&__previous'>*angle-left*</div>\n\t\t\t<div class='&__preview'></div>\n\t\t\t<div class='&__loader'></div>\n\t\t\t<div class='&__next'>*angle-right*</div>\n\t\t</div>"}constructor(e,t,s){super(e),this.current=t,this.elements=s,this.dialog=new d;const{dialog:i}=this;i.setMod("theme",e.state.theme).toolbar.setMod("mode","header"),i.open(this),this.elements=this.elements.filter(e=>e.isImage),i.e.on(i,"afterClose",()=>{this.destruct()}),this.addGlobalListeners(),this.onChangeCurrent(),i.toolbar.build([{icon:"check",exec:()=>{e.stateManager.addActive(this.current,!1),e.e.fire("select.filebrowser"),i.close()}},"dialog.close"])}async onChangeCurrent(){const{current:e}=this;this.setMod("loading",!0);const t=this.getElm("preview");if(h(null!=t,"preview element does not exist"),m.detach(t),a(t,{backgroundImage:null}),e.isImage){const s=await c(e.fileURL,this.j);this.dialog.setPosition(),a(t,{width:Math.min(this.jodit.ow.innerWidth,s.naturalWidth),height:Math.min(this.jodit.ow.innerHeight-100,s.naturalHeight),backgroundImage:`url(${s.src})`})}else{const s=await this.makeIframe(e.fileURL);t.appendChild(s)}this.dialog.setSize(),this.dialog.setPosition(),this.setMod("loading",!1)}makeIframe(e){const t=this.j.c.element("iframe");return t.classList.add(this.getFullElName("office-iframe")),t.src=/\.pdf/.test(e)?e:this.j.o.previewOfficeURL+encodeURIComponent(e),t}onPreviousClick(){const{current:e}=this;let t=this.j.stateManager.getIndex(e,this.elements);t<=0?t=this.elements.length-1:t-=1,this.current=this.elements[t]}onNextClick(){const{current:e}=this;let t=this.j.stateManager.getIndex(e,this.elements);t>=this.elements.length-1?t=0:t+=1,this.current=this.elements[t]}static open(t,s,i){return new e(t,s,i)}addGlobalListeners(){this.j.e.on(this.j.od,"keydown",this.onKeyPress)}onKeyPress(e){if(e.key===s||e.key===i||e.key===o)return e.key===s?this.onPreviousClick():this.onNextClick(),!1}removeGlobalListeners(){this.j.e.off(this.j.od,"keydown",this.onKeyPress)}destruct(){return this.removeGlobalListeners(),this.dialog.destruct(),super.destruct()}};t([l("current")],g.prototype,"onChangeCurrent",null),t([l("previous:click")],g.prototype,"onPreviousClick",null),t([l("next:click")],g.prototype,"onNextClick",null),t([r],g.prototype,"onKeyPress",null),g=e=t([n],g);export{g as UILightBox};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,s,i){var o,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,i);else for(var r=e.length-1;r>=0;r--)(o=e[r])&&(a=(n<3?o(a):n>3?o(t,s,a):o(t,s))||a);return n>3&&a&&Object.defineProperty(t,s,a),a};import{component as t,watch as s}from"jodit/esm/core/decorators/index.js";import{css as i,isNumber as o,scrollIntoViewIfNeeded as n}from"jodit/esm/core/helpers/index.js";import{UIGroup as a}from"jodit/esm/core/ui/index.js";import{UIPreview as r}from"../preview/preview.js";import{UIBrowserSettings as h}from"../settings/settings.js";import{UISidebar as l}from"../sidebar/sidebar.js";import{UIBrowserSources as g}from"../sources/sources.js";import{UIBrowserStatusBar as c}from"../statusbar/statusbar.js";import{UIVirtualScroll as m}from"../virtual-scroll/virtual-scroll.js";let d=class UIBrowserPanel extends a{className(){return"UIBrowserPanel"}get countInRow(){if("list"===this.state.view)return 1;if(!this.items.elements.length)return 1;const{container:e}=this.items.elements[0],t=i(e,"marginLeft");return Math.floor(this.items.container.offsetWidth/(e.offsetWidth+(o(t)?t:0)))}get countInColumn(){if(!this.items.elements.length)return 1;const{container:e}=this.items.elements[0],t=i(e,"marginTop");return Math.floor(this.items.container.offsetHeight/(e.offsetHeight+(o(t)?t:0)))}render(){return"<div>\n\t\t\t<div class='&__content'></div>\n\t\t\t<div class='&__footer'></div>\n\t\t</div>"}constructor(e,t){super(e),this.stateManager=t,this.syncMod=!0,this.sources=new g(this.j),this.sidebar=new l(this.jodit,[this.sources],this.stateManager.state),this.preview=new r(this.jodit,this.stateManager.state),this.statusbar=new c(this.j),this.items=new m(this.j,this.stateManager),this.settings=new h(this.jodit,this.stateManager.state),this.state=t.state,this.append(this.sidebar,"content"),this.append(this.items,"content"),this.append(this.settings,"content"),this.append(this.preview,"content"),this.append(this.statusbar,"footer"),this.onChangeElements(),this.onChangeSources(),this.onChangeView(),this.onChangeTileSize(),this.onChangeShowFavorites(),this.onChangeActiveElements(),this.onChangeFavorites(),this.onChangeShowSideBar(),this.onChangeShowSettings(),this.onChangeShowPreview(),this.onChangeTheme()}onChangeTheme(){this.setMod("theme",this.stateManager.state.theme)}onChangeElements(){this.items.build(this.stateManager.state.elements)}onChangeActiveElements(){this.state.activeElements.length||(this.state.info="",this.state.metaInfo=null),this.items.elements.forEach(
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,s,i){var o,n=arguments.length,a=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,s,i);else for(var r=e.length-1;r>=0;r--)(o=e[r])&&(a=(n<3?o(a):n>3?o(t,s,a):o(t,s))||a);return n>3&&a&&Object.defineProperty(t,s,a),a};import{component as t,watch as s}from"jodit/esm/core/decorators/index.js";import{css as i,isNumber as o,scrollIntoViewIfNeeded as n}from"jodit/esm/core/helpers/index.js";import{UIGroup as a}from"jodit/esm/core/ui/index.js";import{UIPreview as r}from"../preview/preview.js";import{UIBrowserSettings as h}from"../settings/settings.js";import{UISidebar as l}from"../sidebar/sidebar.js";import{UIBrowserSources as g}from"../sources/sources.js";import{UIBrowserStatusBar as c}from"../statusbar/statusbar.js";import{UIVirtualScroll as m}from"../virtual-scroll/virtual-scroll.js";let d=class UIBrowserPanel extends a{className(){return"UIBrowserPanel"}get countInRow(){if("list"===this.state.view)return 1;if(!this.items.elements.length)return 1;const{container:e}=this.items.elements[0],t=i(e,"marginLeft");return Math.floor(this.items.container.offsetWidth/(e.offsetWidth+(o(t)?t:0)))}get countInColumn(){if(!this.items.elements.length)return 1;const{container:e}=this.items.elements[0],t=i(e,"marginTop");return Math.floor(this.items.container.offsetHeight/(e.offsetHeight+(o(t)?t:0)))}render(){return"<div>\n\t\t\t<div class='&__content'></div>\n\t\t\t<div class='&__footer'></div>\n\t\t</div>"}constructor(e,t){super(e),this.stateManager=t,this.syncMod=!0,this.sources=new g(this.j),this.sidebar=new l(this.jodit,[this.sources],this.stateManager.state),this.preview=new r(this.jodit,this.stateManager.state),this.statusbar=new c(this.j),this.items=new m(this.j,this.stateManager),this.settings=new h(this.jodit,this.stateManager.state),this.state=t.state,this.append(this.sidebar,"content"),this.append(this.items,"content"),this.append(this.settings,"content"),this.append(this.preview,"content"),this.append(this.statusbar,"footer"),this.onChangeElements(),this.onChangeSources(),this.onChangeView(),this.onChangeTileSize(),this.onChangeShowFavorites(),this.onChangeActiveElements(),this.onChangeFavorites(),this.onChangeShowSideBar(),this.onChangeShowSettings(),this.onChangeShowPreview(),this.onChangeTheme()}onChangeTheme(){this.setMod("theme",this.stateManager.state.theme)}onChangeElements(){this.items.build(this.stateManager.state.elements)}onChangeActiveElements(){this.state.activeElements.length||(this.state.info="",this.state.metaInfo=null),this.items.elements.forEach(e=>{e.setMod("active",Boolean(this.stateManager.isActive(e.item)))}),this.j.e.fire("changeSelection")}onChangeFavorites(){this.items.elements.forEach(e=>{e.setMod("favorite",Boolean(this.stateManager.isFavorite(e.item)))})}onChangeSources(){this.sources.build(this.stateManager.state.tree)}onChangeLastSelectedIndex(){var e;const t=null===(e=this.items.elements[this.stateManager.state.lastSelectedIndex])||void 0===e?void 0:e.container;t&&(n(t,this.items.container,this.j.od),t.focus())}onChangeInfo(){this.statusbar.value(this.state.info,"center")}onChangePathOrSource(){this.statusbar.value(this.state.currentPath?`${this.state.currentPath} (${this.state.currentSource})`:this.i18n("Home"),"left")}onChangeShowSettings(){this.settings.setMod("hidden",!this.stateManager.state.showSettings)}onChangeShowPreview(){this.preview.setMod("hidden",!this.stateManager.state.showPreview)}onChangeShowSideBar(){this.sidebar.setMod("hidden",!this.stateManager.state.showSideBar)}onChangeView(){this.items.setMod("view",this.stateManager.state.view)}onChangeTileSize(){this.items.setMod("size",this.stateManager.state.tileSize)}onChangeShowFavorites(){this.sidebar.setMod("show-favorites",this.stateManager.state.showFavorites),this.items.setMod("show-favorites",this.stateManager.state.showFavorites)}onItemDblClick(){return this.j.e.fire("select.filebrowser"),!1}onItemClick(e,t){this.stateManager.addActive(e,t)}onTogglePreview(){return this.state.showPreview=!this.state.showPreview,!1}onToggleFavoriteItem(e){this.stateManager.toggleFavorite(e)}onFolderClick(e){this.stateManager.state.currentSource=e.sourceName,this.stateManager.state.currentPath=e.path||"/",this.j.e.fire("afterOpenFolder.filebrowser")}};e([s("state.theme")],d.prototype,"onChangeTheme",null),e([s("state.elements")],d.prototype,"onChangeElements",null),e([s("state.activeElements")],d.prototype,"onChangeActiveElements",null),e([s(["state.favorites","state.elements"])],d.prototype,"onChangeFavorites",null),e([s("state.sources")],d.prototype,"onChangeSources",null),e([s("state.lastSelectedIndex")],d.prototype,"onChangeLastSelectedIndex",null),e([s("state.info")],d.prototype,"onChangeInfo",null),e([s(["state.currentPath","state.currentSource"])],d.prototype,"onChangePathOrSource",null),e([s("state.showSettings")],d.prototype,"onChangeShowSettings",null),e([s("state.showPreview")],d.prototype,"onChangeShowPreview",null),e([s("state.showSideBar")],d.prototype,"onChangeShowSideBar",null),e([s("state.view")],d.prototype,"onChangeView",null),e([s("state.tileSize")],d.prototype,"onChangeTileSize",null),e([s("state.showFavorites")],d.prototype,"onChangeShowFavorites",null),e([s(":dblclickItem.filebrowser")],d.prototype,"onItemDblClick",null),e([s(":clickItem.filebrowser")],d.prototype,"onItemClick",null),e([s(":togglePreview.filebrowser")],d.prototype,"onTogglePreview",null),e([s(":toggleFavoriteItem")],d.prototype,"onToggleFavoriteItem",null),e([s(":openFolder")],d.prototype,"onFolderClick",null),d=e([t],d);export{d as UIBrowserPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=this&&this.__decorate||function(e,t,s,i){var o,r=arguments.length,l=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,i);else for(var n=e.length-1;n>=0;n--)(o=e[n])&&(l=(r<3?o(l):r>3?o(t,s,l):o(t,s))||l);return r>3&&l&&Object.defineProperty(t,s,l),l};import{component as t,debounce as s,hook as i,watch as o}from"jodit/esm/core/decorators/index.js";import{Dom as r}from"jodit/esm/core/dom/dom.js";import{css as l,loadImage as n}from"jodit/esm/core/helpers/utils/index.js";import{assert as a}from"jodit/esm/core/helpers/utils/assert.js";import{UIGroup as d}from"jodit/esm/core/ui/group/group.js";import{UIBrowserItem as m}from"../item/item.js";import{UIResize as c}from"../../../../traits/resize/resize.js";let h=class UIPreview extends d{className(){return"UIPreview"}addResize(){c.remove(this),c.install(this,screen.width>450?"left":"top")}render(){return'<div>\n\t\t\t\t<div class="&__image"></div>\n\t\t\t\t<div class="&__info"></div>\n\t\t\t\t<div class="&__loader"></div>\n\t\t\t\t<div class="&__empty-message">~Select image~</div>\n\t\t\t</div>'}constructor(e,t){super(e),this.state=t,this.lastLoadPromise=null,this.onChangeMetaInfo()}afterSetMod(e,t){"hidden"===e&&!1===t&&this.onChangeMetaInfo(),super.afterSetMod(e,t)}onChangeMetaInfo(){var e,t;if(this.getMod("hidden"))return;const{metaInfo:s}=this.state;this.setMod("empty",!s);const i=this.getElm("info");a(null!=i,"info element does not exists"),r.detach(i);const o=this.getElm("image");a(null!=o,"image element does not exists"),l(o,{backgroundImage:null}),s&&(this.setMod("is-file",!1===s.isImage).setMod("type",null!==(e=s.type)&&void 0!==e?e:"file"),m.prototype.setElementValue.call(this,"name",s.file),m.prototype.setElementValue.call(this,"time",s.time),m.prototype.setElementValue.call(this,"filesize",s.size),this.setMod("loading",!0),null===(t=this.lastLoadPromise)||void 0===t||t.rejectCallback(),this.lastLoadPromise=n(s.isImage?s.fileURL:s.imageURL,this.j),this.lastLoadPromise.then(
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,s,i){var o,r=arguments.length,l=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,i);else for(var n=e.length-1;n>=0;n--)(o=e[n])&&(l=(r<3?o(l):r>3?o(t,s,l):o(t,s))||l);return r>3&&l&&Object.defineProperty(t,s,l),l};import{component as t,debounce as s,hook as i,watch as o}from"jodit/esm/core/decorators/index.js";import{Dom as r}from"jodit/esm/core/dom/dom.js";import{css as l,loadImage as n}from"jodit/esm/core/helpers/utils/index.js";import{assert as a}from"jodit/esm/core/helpers/utils/assert.js";import{UIGroup as d}from"jodit/esm/core/ui/group/group.js";import{UIBrowserItem as m}from"../item/item.js";import{UIResize as c}from"../../../../traits/resize/resize.js";let h=class UIPreview extends d{className(){return"UIPreview"}addResize(){c.remove(this),c.install(this,screen.width>450?"left":"top")}render(){return'<div>\n\t\t\t\t<div class="&__image"></div>\n\t\t\t\t<div class="&__info"></div>\n\t\t\t\t<div class="&__loader"></div>\n\t\t\t\t<div class="&__empty-message">~Select image~</div>\n\t\t\t</div>'}constructor(e,t){super(e),this.state=t,this.lastLoadPromise=null,this.onChangeMetaInfo()}afterSetMod(e,t){"hidden"===e&&!1===t&&this.onChangeMetaInfo(),super.afterSetMod(e,t)}onChangeMetaInfo(){var e,t;if(this.getMod("hidden"))return;const{metaInfo:s}=this.state;this.setMod("empty",!s);const i=this.getElm("info");a(null!=i,"info element does not exists"),r.detach(i);const o=this.getElm("image");a(null!=o,"image element does not exists"),l(o,{backgroundImage:null}),s&&(this.setMod("is-file",!1===s.isImage).setMod("type",null!==(e=s.type)&&void 0!==e?e:"file"),m.prototype.setElementValue.call(this,"name",s.file),m.prototype.setElementValue.call(this,"time",s.time),m.prototype.setElementValue.call(this,"filesize",s.size),this.setMod("loading",!0),null===(t=this.lastLoadPromise)||void 0===t||t.rejectCallback(),this.lastLoadPromise=n(s.isImage?s.fileURL:s.imageURL,this.j),this.lastLoadPromise.then(e=>{const t=this.getElm("image");a(null!=t,"image element does not exist"),e&&l(t,{backgroundImage:`url(${e.src})`})}).finally(()=>{this.setMod("loading",!1)}).catch(()=>{}))}};e([i("ready"),o(":resize",{context:window}),s()],h.prototype,"addResize",null),e([o("state.metaInfo")],h.prototype,"onChangeMetaInfo",null),h=e([t],h);export{h as UIPreview};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=this&&this.__decorate||function(e,t,s,r){var o,i=arguments.length,h=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)h=Reflect.decorate(e,t,s,r);else for(var n=e.length-1;n>=0;n--)(o=e[n])&&(h=(i<3?o(h):i>3?o(t,s,h):o(t,s))||h);return i>3&&h&&Object.defineProperty(t,s,h),h};import{component as t,watch as s}from"jodit/esm/core/decorators/index.js";import{ProgressBar as r}from"jodit/esm/core/ui/progress-bar/progress-bar.js";let o=class UIProgress extends r{className(){return"UIProgress"}constructor(e,t){super(e),this.state=t,this.onProgress()}onProgress(){this.state.progress?this.show():this.hide(),this.progress(this.state.progress)}hide(){return this.setMod("hidden",!0),this}progress(e){return this.container.style.width=e.toFixed(2)+"%",e>=98&&this.j.async.setTimeout((
|
|
1
|
+
var e=this&&this.__decorate||function(e,t,s,r){var o,i=arguments.length,h=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)h=Reflect.decorate(e,t,s,r);else for(var n=e.length-1;n>=0;n--)(o=e[n])&&(h=(i<3?o(h):i>3?o(t,s,h):o(t,s))||h);return i>3&&h&&Object.defineProperty(t,s,h),h};import{component as t,watch as s}from"jodit/esm/core/decorators/index.js";import{ProgressBar as r}from"jodit/esm/core/ui/progress-bar/progress-bar.js";let o=class UIProgress extends r{className(){return"UIProgress"}constructor(e,t){super(e),this.state=t,this.onProgress()}onProgress(){this.state.progress?this.show():this.hide(),this.progress(this.state.progress)}hide(){return this.setMod("hidden",!0),this}progress(e){return this.container.style.width=e.toFixed(2)+"%",e>=98&&this.j.async.setTimeout(()=>{this.hide()},{label:"progress",timeout:300}),this}show(){return this.setMod("hidden",!1),this}};e([s("state.progress")],o.prototype,"onProgress",null),o=e([t],o);export{o as UIProgress};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,s,a){var i,l=arguments.length,o=l<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,s):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,s,a);else for(var n=e.length-1;n>=0;n--)(i=e[n])&&(o=(l<3?i(o):l>3?i(t,s,o):i(t,s))||o);return l>3&&o&&Object.defineProperty(t,s,o),o};import{component as t,watch as s}from"jodit/esm/core/decorators/index.js";import{assert as a}from"jodit/esm/core/helpers/utils/assert.js";import{Icon as i,UIButtonGroup as l,UIGroup as o,UISelect as n}from"jodit/esm/core/ui/index.js";let r=class UIBrowserSettings extends o{className(){return"UIBrowserSettings"}render(){return`<div>\n\t\t\t<div class="${this.getFullElName("close")}">${i.get("cancel")}</div>\n\t\t\t<div class="${this.getFullElName("title")}">${this.j.i18n("Settings")}</div>\n\t\t\t<div class="${this.getFullElName("options")}"></div>\n\t\t</div>`}appendChildToContainer(e){const t=this.getElm("options");a(null!=t,"options element does not exists"),t.appendChild(e)}afterSetMod(e,t){"hidden"===e&&!1===t&&this.generateSettings(),super.afterSetMod(e,t)}constructor(e,t){super(e),this.state=t;const s=this.getElm("close");a(null!=s,"close element does not exists"),e.e.on(s,"click",(
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,s,a){var i,l=arguments.length,o=l<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,s):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,s,a);else for(var n=e.length-1;n>=0;n--)(i=e[n])&&(o=(l<3?i(o):l>3?i(t,s,o):i(t,s))||o);return l>3&&o&&Object.defineProperty(t,s,o),o};import{component as t,watch as s}from"jodit/esm/core/decorators/index.js";import{assert as a}from"jodit/esm/core/helpers/utils/assert.js";import{Icon as i,UIButtonGroup as l,UIGroup as o,UISelect as n}from"jodit/esm/core/ui/index.js";let r=class UIBrowserSettings extends o{className(){return"UIBrowserSettings"}render(){return`<div>\n\t\t\t<div class="${this.getFullElName("close")}">${i.get("cancel")}</div>\n\t\t\t<div class="${this.getFullElName("title")}">${this.j.i18n("Settings")}</div>\n\t\t\t<div class="${this.getFullElName("options")}"></div>\n\t\t</div>`}appendChildToContainer(e){const t=this.getElm("options");a(null!=t,"options element does not exists"),t.appendChild(e)}afterSetMod(e,t){"hidden"===e&&!1===t&&this.generateSettings(),super.afterSetMod(e,t)}constructor(e,t){super(e),this.state=t;const s=this.getElm("close");a(null!=s,"close element does not exists"),e.e.on(s,"click",()=>{this.state.showSettings=!1})}onChangeView(){const e=this.getElm("tile-size");e&&(e.style.display="tiles"===this.state.view?"block":"none")}generateSettings(){this.clear();const{j:e}=this;this.append([new l(e,{label:"Theme",name:"theme",value:this.state.theme,radio:!0,options:[{value:"default",text:"Light"},{value:"dark",text:"Dark"}],onChange:e=>{"default"===this.state.theme||"dark"===this.state.theme?this.state.theme=e[0].value:this.state.theme="default"}}),new l(e,{label:"Show favorites",name:"showFavorites",value:this.state.showFavorites,radio:!0,options:[{value:!0,text:"Show"},{value:!1,text:"Hide"}],onChange:e=>{this.state.showFavorites=e[0].value}}),new l(e,{label:"View",name:"view",value:this.state.view,radio:!0,options:[{value:"tiles",text:"Tiles"},{value:"list",text:"List"},{value:"compact",text:"Compact"}],onChange:e=>{this.state.view=e[0].value}}),new l(e,{label:"Folders position",name:"foldersPosition",value:this.state.foldersPosition,radio:!0,options:[{value:"top",text:"Top"},{value:"bottom",text:"Bottom"},{value:"default",text:"Default"}],onChange:e=>{this.state.foldersPosition=e[0].value}}),new n(e,{label:"Sort by",name:"sort-by",value:this.state.sortBy,options:[{value:"changed-asc",text:e.i18n("Sort by changed")+"(⬆)"},{value:"changed-desc",text:e.i18n("Sort by changed")+"(⬇)"},{value:"name-asc",text:e.i18n("Sort by name")+"(⬆)"},{value:"name-desc",text:e.i18n("Sort by name")+"(⬇)"},{value:"size-asc",text:e.i18n("Sort by size")+"(⬆)"},{value:"size-desc",text:e.i18n("Sort by size")+"(⬇)"}],onChange:e=>{this.state.sortBy=e}}),new n(e,{label:"Tile size",name:"tile-size",value:this.state.tileSize,options:[{value:"xsmall",text:"Extra small"},{value:"small",text:"Small"},{value:"default",text:"Default"},{value:"large",text:"Large"},{value:"xlarge",text:"Extra large"}],onChange:e=>{this.state.tileSize=e}})]),this.onChangeView()}};e([s("state.view")],r.prototype,"onChangeView",null),r=e([t],r);export{r as UIBrowserSettings};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};import{component as t}from"jodit/esm/core/decorators/component/component.js";import{assert as r}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as o}from"jodit/esm/core/ui/element.js";import{UITree as n}from"../tree/tree.js";let s=class UIBrowserSource extends o{className(){return"UIBrowserSource"}render(){return'<div>\n\t\t\t<div class="&__name"></div>\n\t\t\t<div class="&__tree"></div>\n\t\t</div>'}constructor(e,t){super(e,t),this.data=t,this.tree=new n(this.j,this.data.children),this.syncMod=!0;const o=this.getElm("name");r(null!=o,"name element does not exists"),o.innerText=t.title||t.name;const s=this.getElm("tree");r(null!=s,"tree element does not exists"),s.appendChild(this.tree.container),e.e.on(this.container,"contextmenu",
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,r,o){var n,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(s<3?n(i):s>3?n(t,r,i):n(t,r))||i);return s>3&&i&&Object.defineProperty(t,r,i),i};import{component as t}from"jodit/esm/core/decorators/component/component.js";import{assert as r}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as o}from"jodit/esm/core/ui/element.js";import{UITree as n}from"../tree/tree.js";let s=class UIBrowserSource extends o{className(){return"UIBrowserSource"}render(){return'<div>\n\t\t\t<div class="&__name"></div>\n\t\t\t<div class="&__tree"></div>\n\t\t</div>'}constructor(e,t){super(e,t),this.data=t,this.tree=new n(this.j,this.data.children),this.syncMod=!0;const o=this.getElm("name");r(null!=o,"name element does not exists"),o.innerText=t.title||t.name;const s=this.getElm("tree");r(null!=s,"tree element does not exists"),s.appendChild(this.tree.container),e.e.on(this.container,"contextmenu",r=>e.e.fire("contextmenuSource.filebrowser",t,r))}};s=e([t],s);export{s as UIBrowserSource};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,r,t,o){var s,c=arguments.length,i=c<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,r,t,o);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(i=(c<3?s(i):c>3?s(r,t,i):s(r,t))||i);return c>3&&i&&Object.defineProperty(r,t,i),i};import{component as r}from"jodit/esm/core/decorators/index.js";import{UIGroup as t}from"jodit/esm/core/ui/index.js";import{UIBrowserSource as o}from"../source/source.js";let s=class UIBrowserSources extends t{constructor(){super(...arguments),this.syncMod=!0}className(){return"UIBrowserSources"}build(e){this.clear(),e.forEach(
|
|
6
|
+
var e=this&&this.__decorate||function(e,r,t,o){var s,c=arguments.length,i=c<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,r,t,o);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(i=(c<3?s(i):c>3?s(r,t,i):s(r,t))||i);return c>3&&i&&Object.defineProperty(r,t,i),i};import{component as r}from"jodit/esm/core/decorators/index.js";import{UIGroup as t}from"jodit/esm/core/ui/index.js";import{UIBrowserSource as o}from"../source/source.js";let s=class UIBrowserSources extends t{constructor(){super(...arguments),this.syncMod=!0}className(){return"UIBrowserSources"}build(e){this.clear(),e.forEach(e=>{this.append(new o(this.jodit,e))})}};s=e([r],s);export{s as UIBrowserSources};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e,t=this&&this.__decorate||function(e,t,o,r){var c,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var n=e.length-1;n>=0;n--)(c=e[n])&&(s=(i<3?c(s):i>3?c(t,o,s):c(t,o))||s);return i>3&&s&&Object.defineProperty(t,o,s),s};import{component as o}from"jodit/esm/core/decorators/component/component.js";import{UIGroup as r}from"jodit/esm/core/ui/group/group.js";import{UIBrowserFolder as c}from"../folder/folder.js";let i=e=class UITree extends r{className(){return"UITree"}constructor(e,t){super(e),this.syncMod=!0,this.build(t)}build(t){this.clear(),t.forEach(
|
|
6
|
+
var e,t=this&&this.__decorate||function(e,t,o,r){var c,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var n=e.length-1;n>=0;n--)(c=e[n])&&(s=(i<3?c(s):i>3?c(t,o,s):c(t,o))||s);return i>3&&s&&Object.defineProperty(t,o,s),s};import{component as o}from"jodit/esm/core/decorators/component/component.js";import{UIGroup as r}from"jodit/esm/core/ui/group/group.js";import{UIBrowserFolder as c}from"../folder/folder.js";let i=e=class UITree extends r{className(){return"UITree"}constructor(e,t){super(e),this.syncMod=!0,this.build(t)}build(t){this.clear(),t.forEach(t=>{const o=new c(this.jodit,t);this.append(o),t.isActive&&o.setMod("active",!0),t.children.length&&this.append(new e(this.jodit,t.children))})}};i=e=t([o],i);export{i as UITree};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e,t=this&&this.__decorate||function(e,t,s,r){var o,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(n=(i<3?o(n):i>3?o(t,s,n):o(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};import{component as s,throttle as r,watch as o}from"jodit/esm/core/decorators/index.js";import{position as i}from"jodit/esm/core/helpers/size/position.js";import{UIGroup as n}from"jodit/esm/core/ui/group/group.js";import{FileBrowserItem as l}from"jodit/esm/modules/file-browser/builders/item.js";import{UIBrowserItem as a}from"../item/item.js";import{UISelectItems as c}from"../../../../traits/select-items/select-items.js";let h=e=class UIVirtualScroll extends n{className(){return"UIVirtualScroll"}render(){return"<div>\n\t\t\t\t<div class=\"&__empty-message\">~There are no files~</div>\n\t\t\t\t<div class='&__loader'></div>\n\t\t\t\t<div class='&__drag-area'>~Drop image~</div>\n\t\t\t</div>"}constructor(e,t){super(e),this.stateManager=t,this.syncMod=!0,this.addItemsSelector()}reconcile(e){const t=this.elements.findIndex((
|
|
6
|
+
var e,t=this&&this.__decorate||function(e,t,s,r){var o,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(n=(i<3?o(n):i>3?o(t,s,n):o(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};import{component as s,throttle as r,watch as o}from"jodit/esm/core/decorators/index.js";import{position as i}from"jodit/esm/core/helpers/size/position.js";import{UIGroup as n}from"jodit/esm/core/ui/group/group.js";import{FileBrowserItem as l}from"jodit/esm/modules/file-browser/builders/item.js";import{UIBrowserItem as a}from"../item/item.js";import{UISelectItems as c}from"../../../../traits/select-items/select-items.js";let h=e=class UIVirtualScroll extends n{className(){return"UIVirtualScroll"}render(){return"<div>\n\t\t\t\t<div class=\"&__empty-message\">~There are no files~</div>\n\t\t\t\t<div class='&__loader'></div>\n\t\t\t\t<div class='&__drag-area'>~Drop image~</div>\n\t\t\t</div>"}constructor(e,t){super(e),this.stateManager=t,this.syncMod=!0,this.addItemsSelector()}reconcile(e){const t=this.elements.findIndex((t,s)=>!e[s]||t.item.uniqueHashKey!==l.create(e[s]).uniqueHashKey);if(t>-1){for(let e=t;e<this.elements.length;e+=1)this.elements[e].destruct();this.elements.length=t}return t}build(e){const t=this.reconcile(e);e.slice(t>-1?t:this.elements.length).forEach(e=>{const t=new a(this.jodit,e);Object.keys(this.mods).forEach(e=>{t.setMod(e,this.mods[e])}),this.append(t)}),this.setMod("empty",!this.elements.length)}onScrollLoadChunk(){!this.stateManager.isFavoriteItems&&this.container.scrollHeight-(this.container.scrollTop+this.container.offsetHeight)<this.j.o.pixelOffsetLoadNewChunk&&this.j.loadingManager.loadItemsChunk()}onDragOver(e){e.preventDefault(),this.setMod("dragover",!0)}onDragLeave(e){e.preventDefault(),this.setMod("dragover",!1)}addItemsSelector(){c.install(this)}static intersectRect(e,t){return!(t.left>e.left+e.width||t.left+t.width<e.left||t.top>e.top+e.height||t.top+t.height<e.top)}onSelectItems(t){const s=[];this.elements.forEach(r=>{const o=i(r.container);e.intersectRect(o,t)&&s.push(r.item)}),this.stateManager.state.activeElements=s}};t([o(":afterResize"),o(":resize"),o("container:scroll"),r()],h.prototype,"onScrollLoadChunk",null),t([o("container:dragover")],h.prototype,"onDragOver",null),t([o(["container:dragleave","container:drop"])],h.prototype,"onDragLeave",null),h=e=t([s],h);export{h as UIVirtualScroll};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,o,s){var r,i=arguments.length,a=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,o,s);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(a=(i<3?r(a):i>3?r(t,o,a):r(t,o))||a);return i>3&&a&&Object.defineProperty(t,o,a),a};import"./config.js";import"./assets/index.js";import{COMMAND_OPEN_DIALOG as t,STORAGE_KEY as o}from"./helpers/const.js";import{generateJSScript as s}from"./helpers/generate-js-script.js";import{googleReady as r,GoogleReadyHandler as i,isApiAvailable as a}from"./helpers/helpers.js";import{staticUrl as n}from"./helpers/static-url.js";import{UIComboBox as l}from"./ui/combo-box/combo-box.js";import{UIMap as p,UIMapsControlsForm as c,UIMapsPropsForm as g}from"./ui/index.js";import{IS_TEST as d,SOURCE_CONSUMER as m}from"jodit/esm/core/constants.js";import{watch as u}from"jodit/esm/core/decorators/index.js";import{appendScriptAsync as h}from"jodit/esm/core/helpers/index.js";import{Plugin as j}from"jodit/esm/core/plugin/index.js";import{Button as f}from"jodit/esm/core/ui/button/index.js";import{Dialog as M}from"jodit/esm/modules/dialog/dialog.js";import{TabsWidget as y}from"jodit/esm/modules/widget/index.js";import{JoditPro as b}from"../../jodit-pro.js";window.JoditGoogleReadyHandler=i;export class googleMaps extends j{constructor(){super(...arguments),this.buttons=[{group:"media",name:"googleMaps"}],this.dialog=null}className(){return"google-maps"}afterInit(e){e.registerCommand(t,(
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,o,s){var r,i=arguments.length,a=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,o,s);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(a=(i<3?r(a):i>3?r(t,o,a):r(t,o))||a);return i>3&&a&&Object.defineProperty(t,o,a),a};import"./config.js";import"./assets/index.js";import{COMMAND_OPEN_DIALOG as t,STORAGE_KEY as o}from"./helpers/const.js";import{generateJSScript as s}from"./helpers/generate-js-script.js";import{googleReady as r,GoogleReadyHandler as i,isApiAvailable as a}from"./helpers/helpers.js";import{staticUrl as n}from"./helpers/static-url.js";import{UIComboBox as l}from"./ui/combo-box/combo-box.js";import{UIMap as p,UIMapsControlsForm as c,UIMapsPropsForm as g}from"./ui/index.js";import{IS_TEST as d,SOURCE_CONSUMER as m}from"jodit/esm/core/constants.js";import{watch as u}from"jodit/esm/core/decorators/index.js";import{appendScriptAsync as h}from"jodit/esm/core/helpers/index.js";import{Plugin as j}from"jodit/esm/core/plugin/index.js";import{Button as f}from"jodit/esm/core/ui/button/index.js";import{Dialog as M}from"jodit/esm/modules/dialog/dialog.js";import{TabsWidget as y}from"jodit/esm/modules/widget/index.js";import{JoditPro as b}from"../../jodit-pro.js";window.JoditGoogleReadyHandler=i;export class googleMaps extends j{constructor(){super(...arguments),this.buttons=[{group:"media",name:"googleMaps"}],this.dialog=null}className(){return"google-maps"}afterInit(e){e.registerCommand(t,()=>{this.openMapEditor(null,{})})}beforeDestruct(e){}onOpenOnDblClick(e){if(e.dataset.googleMaps){let t;try{t=JSON.parse(this.j.ow.atob(e.dataset.googleMaps))}catch(e){}return this.openMapEditor(e,t),!1}}async openMapEditor(e,t){const s=this.j,i=this.getDialog(),m=this.j.o.googleMaps.saveStateInStorage?i.storage.get(o):void 0,{apiUrl:u}=this.jodit.o.googleMaps;a()||h(this.jodit,u.replace(/\${([^}]+)}/g,(e,t)=>{var o;return null!==(o=this.get(t))&&void 0!==o?o:""}));const j={type:this.j.o.googleMaps.map.type,layer:this.j.o.googleMaps.map.layer,size:this.j.o.googleMaps.map.size,...m,...t},M=new p(i,j,this.j.options);M.container.classList.add(i.getFullElName("map"));const b=new l(s,{icon:"search",placeholder:"Search",clearButton:!0}).setMod("in-header",!0);b.container.classList.add(i.getFullElName("search")),this.j.async.promise(e=>{if(a())return void e(0);const intervalChecker=()=>{a()?e(0):this.j.async.setTimeout(intervalChecker,100)};intervalChecker(),r(e)}).then(()=>{M.setStatus("ready"),b.setStatus("ready")}),this.j.e.on(b,"select",(e,t)=>{t?M.map.fitBounds(t):e&&(M.state.center=[e.lat(),e.lng()])}),m||("auto"===this.j.o.googleMaps.map.center?navigator.geolocation.getCurrentPosition(e=>{M.state.center=[e.coords.latitude,e.coords.longitude]},()=>{M.state.center=this.j.o.googleMaps.map.defaultCenter}):M.state.center=this.j.o.googleMaps.map.center),i.setSize(...s.o.googleMaps.dialog.size).setHeader([b," ",f(s,"eye").onAction(()=>{const e=this.jodit.createInside.element("img");e.src=n(M),e.dataset.googleMaps=btoa(M.json());const t={value:e.outerHTML};this.onAfterGetValueFromEditor(t),s.execCommand("preview",null,t.value)})]).setContent(y(s,[{name:"Map",icon:"map",content:M},{name:"Settings",content:new g(s,M.state)},{name:"Controls",icon:"menu",content:new c(s,M.state)}])).setFooter([f(s,"cancel","Cancel","default").onAction(()=>i.close()),f(s,"ok",e?"Save":"Insert","primary").onAction(()=>{M.destruct(),b.destruct(),i.e.off("beforeClose",onCLose),i.close(),this.insertMap(e,M)})]).open();const onCLose=()=>{if(M.state.elements.length&&JSON.stringify(M.state.elements)!==JSON.stringify(j.elements)&&!d&&!confirm(this.i18n("Are you sure?")))return!1;M.destruct(),b.destruct(),i.e.off("beforeClose",onCLose)};i.e.on("beforeClose",onCLose)}getDialog(){if(!this.dialog){const e=new M({language:this.j.o.language});e.container.classList.add(this.getFullElName("")),this.dialog=e}return this.dialog}insertMap(e,t){const o=null!=e?e:this.jodit.createInside.element("img");o.src=n(t),o.dataset.googleMaps=btoa(t.json()),e||this.jodit.s.insertImage(o)}onBeforeSetNativeEditorValue(e){e.value=e.value.replace(/<script[^>]+jodit-google-maps-init[^>]+>.*?<\/script>/gs,"")}onAfterGetValueFromEditor(e,t){this.j.o.googleMaps.useStaticImage||t===m||(e.value=e.value.replace(/(<img[^>]+)(["']?)data-google-maps\2\s*=(["'])([^"']+)\3([^>]*>)/gs,(e,t,o,r,i,a)=>{let n={};try{n=JSON.parse(this.j.ow.atob(i))}catch(e){}return`${t} id="${n.uid}" ${o}data-google-maps${o}=${r}${i}${r}${a}${s(this.j,n)}`}))}}googleMaps.requires=["license","color-picker"],e([u("?:openOnDblClick")],googleMaps.prototype,"onOpenOnDblClick",null),e([u(":beforeSetNativeEditorValue")],googleMaps.prototype,"onBeforeSetNativeEditorValue",null),e([u(":afterGetValueFromEditor")],googleMaps.prototype,"onAfterGetValueFromEditor",null),b.plugins.add("google-maps",googleMaps);
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
import{arrayToPath as e,specialColor as o}from"./helpers.js";import{stripTags as t}from"jodit/esm/core/helpers/html/strip-tags.js";export function generateStaticElements(r){return r.state.elements.map(
|
|
6
|
+
import{arrayToPath as e,specialColor as o}from"./helpers.js";import{stripTags as t}from"jodit/esm/core/helpers/html/strip-tags.js";export function generateStaticElements(r){return r.state.elements.map(r=>{var l,n,i,s,a,c;switch(r.type){case"polygon":return`&path=fillcolor:${o(null!==(l=r.fillColor)&&void 0!==l?l:"#fff")}%7Cweight:${null!==(n=r.strokeWeight)&&void 0!==n?n:1}%7Ccolor:${o(null!==(i=r.strokeColor)&&void 0!==i?i:"#fff")}%7Cenc:${google.maps.geometry.encoding.encodePath(e(r.coordinates))}`;case"polyline":return`&path=weight:${null!==(s=r.strokeWeight)&&void 0!==s?s:1}%7Ccolor:${o(null!==(a=r.strokeColor)&&void 0!==a?a:"#fff")}%7Cenc:${google.maps.geometry.encoding.encodePath(e(r.coordinates))}`;case"marker":return`&markers=color:blue%7Clabel:${encodeURIComponent(t(null!==(c=r.text)&&void 0!==c?c:"").charAt(0).toUpperCase())}%7C${r.coordinates}`}return""}).join("")}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
export let jdGoogleMapsAlreadyLoaded=!1;export const jdGoogleMapsOnloadHandlers=[];export function googleReady(o){jdGoogleMapsAlreadyLoaded?o():jdGoogleMapsOnloadHandlers.push(o)}export function GoogleReadyHandler(){jdGoogleMapsAlreadyLoaded=!0,jdGoogleMapsOnloadHandlers&&jdGoogleMapsOnloadHandlers.forEach(
|
|
6
|
+
export let jdGoogleMapsAlreadyLoaded=!1;export const jdGoogleMapsOnloadHandlers=[];export function googleReady(o){jdGoogleMapsAlreadyLoaded?o():jdGoogleMapsOnloadHandlers.push(o)}export function GoogleReadyHandler(){jdGoogleMapsAlreadyLoaded=!0,jdGoogleMapsOnloadHandlers&&jdGoogleMapsOnloadHandlers.forEach(o=>o())}export function arrayToPath(o,a=!1){const e=[];if(Array.isArray(o)){if(!Array.isArray(o[0])&&!Array.isArray(o[1]))return a?{lat:o[0],lng:o[1]}:new google.maps.LatLng(o[0],o[1]);o.forEach(o=>{e.push(arrayToPath(o,a))})}return e}export function pathToArray(o){return o.getArray().map(o=>[o.lat(),o.lng()])}export function specialColor(o){return o.toUpperCase().replace("#","0x").padEnd(10,"F")}export function isApiAvailable(){return"undefined"!=typeof google&&void 0!==google.maps&&void 0!==google.maps.Map}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,o,t,n){var r,c=arguments.length,i=c<3?o:null===n?n=Object.getOwnPropertyDescriptor(o,t):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,o,t,n);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(i=(c<3?r(i):c>3?r(o,t,i):r(o,t))||i);return c>3&&i&&Object.defineProperty(o,t,i),i};import{debounce as o,hook as t,watch as n}from"jodit/esm/core/decorators/index.js";import{UIInput as r}from"jodit/esm/core/ui/index.js";export class UIComboBox extends r{className(){return"UIComboBox"}onReady(){const e=new google.maps.places.Autocomplete(this.nativeInput,{fields:["address_components","geometry","name"],types:["geocode"]});e.addListener("place_changed",(
|
|
6
|
+
var e=this&&this.__decorate||function(e,o,t,n){var r,c=arguments.length,i=c<3?o:null===n?n=Object.getOwnPropertyDescriptor(o,t):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,o,t,n);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(i=(c<3?r(i):c>3?r(o,t,i):r(o,t))||i);return c>3&&i&&Object.defineProperty(o,t,i),i};import{debounce as o,hook as t,watch as n}from"jodit/esm/core/decorators/index.js";import{UIInput as r}from"jodit/esm/core/ui/index.js";export class UIComboBox extends r{className(){return"UIComboBox"}onReady(){const e=new google.maps.places.Autocomplete(this.nativeInput,{fields:["address_components","geometry","name"],types:["geocode"]});e.addListener("place_changed",()=>{var o,t;const n=e.getPlace();this.j.e.fire(this,"select",null===(o=n.geometry)||void 0===o?void 0:o.location,null===(t=n.geometry)||void 0===t?void 0:t.viewport)})}async onInput(){}}e([t("ready")],UIComboBox.prototype,"onReady",null),e([n("nativeInput:input"),o()],UIComboBox.prototype,"onInput",null);
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
import{Button as t,UIGroup as s}from"jodit/esm/core/ui/index.js";export class UIBaseEditor extends s{className(){return"UIBaseEditor"}render(){return"<div>\n\t\t\t<div class='&__header'></div>\n\t\t\t<div class='&__form'></div>\n\t\t\t<div class='&__buttons'></div>\n\t\t</div>"}onReady(){const s=t(this.j,"bin").onAction((
|
|
6
|
+
import{Button as t,UIGroup as s}from"jodit/esm/core/ui/index.js";export class UIBaseEditor extends s{className(){return"UIBaseEditor"}render(){return"<div>\n\t\t\t<div class='&__header'></div>\n\t\t\t<div class='&__form'></div>\n\t\t\t<div class='&__buttons'></div>\n\t\t</div>"}onReady(){const s=t(this.j,"bin").onAction(()=>this.j.e.fire(this,"bin"));this.append(s,"buttons")}constructor(t,s,i){super(t),this.state=s,this.options=i}}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,o,r){var i,s=arguments.length,n=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(n=(s<3?i(n):s>3?i(t,o,n):i(t,o))||n);return s>3&&n&&Object.defineProperty(t,o,n),n};import{component as t,hook as o}from"jodit/esm/core/decorators/index.js";import{UIBaseEditor as r}from"../base.js";import{UIWysiwyg as i}from"../../wysiwyg/wysiwyg.js";let s=class UIMarkerEditor extends r{onReady(){var e;super.onReady();const t=new i(this.j,this.options.googleMaps.inlineEditorOptions,null!==(e=this.state.text)&&void 0!==e?e:"",
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,o,r){var i,s=arguments.length,n=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(n=(s<3?i(n):s>3?i(t,o,n):i(t,o))||n);return s>3&&n&&Object.defineProperty(t,o,n),n};import{component as t,hook as o}from"jodit/esm/core/decorators/index.js";import{UIBaseEditor as r}from"../base.js";import{UIWysiwyg as i}from"../../wysiwyg/wysiwyg.js";let s=class UIMarkerEditor extends r{onReady(){var e;super.onReady();const t=new i(this.j,this.options.googleMaps.inlineEditorOptions,null!==(e=this.state.text)&&void 0!==e?e:"",e=>this.j.e.fire(this,"change","text",e));this.append(t,"form")}};e([o("ready")],s.prototype,"onReady",null),s=e([t],s);export{s as UIMarkerEditor};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var t=this&&this.__decorate||function(t,e,o,s){var a,n=arguments.length,i=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,o,s);else for(var l=t.length-1;l>=0;l--)(a=t[l])&&(i=(n<3?a(i):n>3?a(e,o,i):a(e,o))||i);return n>3&&i&&Object.defineProperty(e,o,i),i};import"../../config.js";import{initOrUpdateElementFromState as e}from"./modules/init-or-update-element-from-state.js";import{addNewInState as o}from"./modules/index.js";import{debounce as s,hook as a,wait as n,watch as i}from"jodit/esm/core/decorators/index.js";import{uniqueUid as l}from"jodit/esm/core/global.js";import{assert as r}from"jodit/esm/core/helpers/utils/assert.js";import{css as p}from"jodit/esm/core/helpers/utils/css.js";import{UIElement as h,UIGroup as m}from"jodit/esm/core/ui/index.js";import{ToolbarCollection as d}from"jodit/esm/modules/toolbar/collection/collection.js";import{STORAGE_KEY as g}from"../../helpers/const.js";export class UIMap extends m{className(){return"UIMap"}json(){return JSON.stringify({...this.state,mode:"hand"})}async onReady(){await this.apiLoaded;const t=this.getElm("map-root");r(null!=t,"map-root element does not exists"),this.map=new google.maps.Map(t,{center:{lat:this.state.center[0],lng:this.state.center[1]},zoom:this.state.zoom,mapTypeId:this.state.type}),this.map.addListener("zoom_changed",(
|
|
6
|
+
var t=this&&this.__decorate||function(t,e,o,s){var a,n=arguments.length,i=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,o,s);else for(var l=t.length-1;l>=0;l--)(a=t[l])&&(i=(n<3?a(i):n>3?a(e,o,i):a(e,o))||i);return n>3&&i&&Object.defineProperty(e,o,i),i};import"../../config.js";import{initOrUpdateElementFromState as e}from"./modules/init-or-update-element-from-state.js";import{addNewInState as o}from"./modules/index.js";import{debounce as s,hook as a,wait as n,watch as i}from"jodit/esm/core/decorators/index.js";import{uniqueUid as l}from"jodit/esm/core/global.js";import{assert as r}from"jodit/esm/core/helpers/utils/assert.js";import{css as p}from"jodit/esm/core/helpers/utils/css.js";import{UIElement as h,UIGroup as m}from"jodit/esm/core/ui/index.js";import{ToolbarCollection as d}from"jodit/esm/modules/toolbar/collection/collection.js";import{STORAGE_KEY as g}from"../../helpers/const.js";export class UIMap extends m{className(){return"UIMap"}json(){return JSON.stringify({...this.state,mode:"hand"})}async onReady(){await this.apiLoaded;const t=this.getElm("map-root");r(null!=t,"map-root element does not exists"),this.map=new google.maps.Map(t,{center:{lat:this.state.center[0],lng:this.state.center[1]},zoom:this.state.zoom,mapTypeId:this.state.type}),this.map.addListener("zoom_changed",()=>{var t;this.state.zoom=null!==(t=this.map.getZoom())&&void 0!==t?t:10}),this.map.addListener("center_changed",()=>{var t,e,o,s,a,n;this.state.center=[null!==(o=null===(e=null===(t=this.map)||void 0===t?void 0:t.getCenter())||void 0===e?void 0:e.lat())&&void 0!==o?o:55,null!==(n=null===(a=null===(s=this.map)||void 0===s?void 0:s.getCenter())||void 0===a?void 0:a.lng())&&void 0!==n?n:34]}),this.map.addListener("maptypeid_changed",()=>{const t=this.map.getMapTypeId();t&&(this.state.type=t)}),this.initDrawManager(),this.onChangeElementsList(),this.onChangeSize(),this.onChangeControls(),this.onChangeLayer(),this.onChangeMapType(),this.onChangeMode(),this.mapInitialized=!0,this.j.async.requestIdleCallback(()=>{this.j.e.fire(this,"GoogleMapsIsReady")})}initDrawManager(){try{const t=new google.maps.drawing.DrawingManager;t.setMap(this.map),t.setOptions({drawingControl:!1,polygonOptions:{...this.options.googleMaps.map.defaultStates.polygon,clickable:!0,editable:!0},polylineOptions:{...this.options.googleMaps.map.defaultStates.polyline,clickable:!0,editable:!0},markerOptions:{...this.options.googleMaps.map.defaultStates.marker,clickable:!0},circleOptions:{...this.options.googleMaps.map.defaultStates.circle,clickable:!0,editable:!0}}),this.drawingManager=t,google.maps.event.addListener(t,"overlaycomplete",t=>{t.overlay&&(o.call(this,t.overlay),t.overlay.setMap(null))})}catch(t){}}changeCreateMode(t){this.state.mode=this.state.mode===t?"hand":t}onChangeMode(){var t;this.j.buffer.set("createMode.gm",this.state.mode),null===(t=this.drawingManager)||void 0===t||t.setDrawingMode("hand"===this.state.mode?null:this.state.mode),this.j.e.fire("updateToolbar")}onChangeElementsList(){const{state:{elements:t},mapElements:o}=this;t.length<o.length&&o.slice(t.length).forEach(t=>{t.gme.setMap(null)}),o.length=t.length,t.forEach((t,o)=>e.call(this,t,o))}onChangeCenter(){const t=this.map.getCenter();(null==t?void 0:t.lat())===this.state.center[0]&&(null==t?void 0:t.lng())===this.state.center[1]||this.map.setCenter({lat:this.state.center[0],lng:this.state.center[1]})}onChangeZoom(){var t;null===(t=this.map)||void 0===t||t.setZoom(this.state.zoom)}onChangeControls(){var t;let e;for(e in this.state.controls)null===(t=this.map)||void 0===t||t.set(e,this.state.controls[e])}onChangeBound(){this.options.googleMaps.saveStateInStorage&&this.j.storage.set(g,{center:this.state.center,size:this.state.size,zoom:this.state.zoom,type:this.state.type,layer:this.state.layer,controls:this.state.controls})}onChangeSize(){const t=this.getElm("map-size");r(null!=t,"map-size element does not exists"),p(t,{width:this.state.size[0],height:this.state.size[1]})}onChangeMapType(){this.map.setMapTypeId(this.state.type)}onChangeLayer(){switch(this.layers.forEach(t=>t.setMap(null)),this.layers.length=0,this.state.layer){case"traffic":this.layers.push(new google.maps.TrafficLayer);break;case"transit":this.layers.push(new google.maps.TransitLayer);break;case"bicycling":this.layers.push(new google.maps.BicyclingLayer)}this.layers.forEach(t=>t.setMap(this.map))}render(){return"<div>\n\t\t\t<div class='&__map-root'></div>\n\t\t\t<div class='&__map-size'></div>\n\t\t\t<div class='&__map-palette'></div>\n\t\t</div>"}appendChildToContainer(){}constructor(t,e,o){super(t),this.options=o,this.toolbar=new d(this.jodit),this.state={uid:"jd"+l()+(new Date).toString().replace(/[^0-9]/g,""),layer:this.options.googleMaps.map.layer,center:this.options.googleMaps.map.defaultCenter,zoom:this.options.googleMaps.map.defaultZoom,size:this.options.googleMaps.map.size,type:this.options.googleMaps.map.type,controls:{zoomControl:!0,mapTypeControl:!0,scaleControl:!0,streetViewControl:!0,rotateControl:!0,fullscreenControl:!0},mode:"hand",elements:[]},this.mapElements=[],this.apiLoaded=null,this.mapInitialized=!1,this.layers=[],Object.assign(this.state,e),this.toolbar.build(["gm.hand","gm.marker","gm.polyline","gm.polygon","gm.circle"]);const s=this.getElm("map-palette");r(null!=s,"palette element does not exists"),s.appendChild(this.toolbar.container)}}t([a("ready")],UIMap.prototype,"onReady",null),t([i("?:changeCreateMode.gm")],UIMap.prototype,"changeCreateMode",null),t([i("state.mode")],UIMap.prototype,"onChangeMode",null),t([i("state.elements")],UIMap.prototype,"onChangeElementsList",null),t([i("state.center"),n(t=>t.mapInitialized),s()],UIMap.prototype,"onChangeCenter",null),t([i("state.zoom"),s()],UIMap.prototype,"onChangeZoom",null),t([i("state.controls")],UIMap.prototype,"onChangeControls",null),t([i(["state.center","state.zoom","state.controls","state.size","state.type","state.layer"]),n(t=>t.mapInitialized),s()],UIMap.prototype,"onChangeBound",null),t([i("state.size"),s()],UIMap.prototype,"onChangeSize",null),t([i("state.type")],UIMap.prototype,"onChangeMapType",null),t([i("state.layer")],UIMap.prototype,"onChangeLayer",null);
|